www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/utrans.inc.php

    <?
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
aheader();
load_cache('mchannels,uprojects,grouptypes,currencys');
!checkapermission(169) && amessage(lang('no_apermission'));
if($sid && $sid_self) amessage(lang('msite admin item !'));

if($action == 'utransedit'){
	$page = !empty($page) ? max(1, intval($page)) : 1;
	submitcheck('bfilter') && $page = 1;
	$viewdetail = empty($viewdetail) ? '' : $viewdetail;
	$checked = isset($checked) ? $checked : '-1';
	$mname = empty($mname) ? '' : $mname;
	$indays = empty($indays) ? 0 : max(0,intval($indays));
	$outdays = empty($outdays) ? 0 : max(0,intval($outdays));

	$wheresql = '';
	$checked != '-1' && $wheresql .= ($wheresql ? " AND " : "")."checked='$checked'";
	$mname && $wheresql .= ($wheresql ? " AND " : "")."mname LIKE '%".str_replace(array(' ','*'),'%',addcslashes($mname,'%_'))."%'";
	$indays && $wheresql .= ($wheresql ? " AND " : "")."createdate>'".($timestamp - 86400 * $indays)."'";
	$outdays && $wheresql .= ($wheresql ? " AND " : "")."createdate<'".($timestamp - 86400 * $outdays)."'";

	$filterstr = '';
	foreach(array('viewdetail','checked','mname','indays','outdays') as $k){
		$filterstr .= "&$k=".urlencode($$k);
	}
	$wheresql = $wheresql ? "WHERE ".$wheresql : "";

	if(!submitcheck('butransedit')){
		$checkedarr = array('-1' => lang('nolimit'),'0' => lang('nocheck alter'),'1' => lang('checked alter'));
		tabheader(lang('filter0 alter record')."&nbsp; &nbsp; <input class=\"checkbox\" type=\"checkbox\" name=\"viewdetail\" value=\"1\" onclick=\"alterview('tbodyfilter')\"".(empty($viewdetail) ? '' : ' checked').">".lang('viewdetail')
		."&nbsp; &nbsp; <input class=\"button\" type=\"submit\" name=\"bfilter\" value=\"".lang('filter0')."\">",'utransedit',"?entry=utrans&action=utransedit&page=$page");
		echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">";
		trbasic(lang('alter check state'),'',makeradio('checked',$checkedarr,$checked),'');
		trbasic(lang('search member'),'mname',$mname,'text',lang('agsearchkey'));
		trrange(lang('alter add date'),array('outdays',empty($outdays) ? '' : $outdays,'','&nbsp; '.lang('day before').'&nbsp; -&nbsp; ',5),array('indays',empty($indays) ? '' : $indays,'','&nbsp; '.lang('day in'),5));
		echo "</tbody>";
		tabfooter();

		$pagetmp = $page;
		do{
			$query = $db->query("SELECT * FROM {$tblprefix}utrans $wheresql ORDER BY trid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp");
			$pagetmp--;
		} while(!$db->num_rows($query) && $pagetmp);
		$itemstr = '';
		while($row = $db->fetch_array($query)){
			$usergroups = read_cache('usergroups',$row['gtid']);
			$createdatestr = date("$dateformat", $row['createdate']);
			$checkstr = $row['checked'] ? 'Y' : "<input class=\"checkbox\" type=\"checkbox\" name=\"checkid[$row[trid]]\" value=\"$row[trid]\">";
			$detailstr = $row['checked'] ? '-' : "<a href=\"?entry=utrans&action=utrandetail&trid=$row[trid]\">".lang('detail')."</a>";
			$itemstr .= "<tr>\n".
			"<td align=\"center\" class=\"item1\" width=\"50\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$row[trid]]\" value=\"$row[trid]\"></td>\n".
			"<td class=\"item2\">$row[mname]</td>\n".
			"<td align=\"center\" class=\"item1\">".($row['fromid'] ? $usergroups[$row['fromid']]['cname'] : lang('user0'))."</td>\n".
			"<td align=\"center\" class=\"item2\">".($row['toid'] ? $usergroups[$row['toid']]['cname'] : lang('user0'))."</td>\n".
			"<td align=\"center\" class=\"item1\" width=\"50\">$checkstr</td>\n".
			"<td align=\"center\" class=\"item2\" width=\"70\">$createdatestr</td>\n".
			"<td align=\"center\" class=\"item1\" width=\"30\">$detailstr</td>\n".
			"</tr>\n";
		}
		$counts = $db->result_one("SELECT count(*) FROM {$tblprefix}utrans $wheresql");
		$multi = multi($counts,$atpp,$page,"?entry=utrans&action=utransedit$filterstr");

		tabheader(lang('usergroup alter list'),'','',8);
		trcategory(array("<input class=\"checkbox\" type=\"checkbox\" name=\"chkdel\" onclick=\"checkall(this.form,'delete','chkdel')\">".lang('del'),
		lang('member cname'),lang('source usergroup'),lang('target usergroup'),"<input class=\"checkbox\" type=\"checkbox\" name=\"chkcheck\" onclick=\"checkall(this.form,'checkid','chkcheck')\">".lang('check'),lang('add date'),lang('detail')));
		echo $itemstr;
		tabfooter();
		echo $multi;
		echo "<input class=\"button\" type=\"submit\" name=\"butransedit\" value=\"".lang('submit')."\">";
	}else{
		if(empty($delete) && empty($checkid)) amessage(lang('confirmselect alter record'),"?entry=utrans&action=utransedit&page=$page$filterstr");
		if(!empty($delete)){
			$db->query("DELETE FROM {$tblprefix}utrans WHERE trid IN (".mimplode($delete).")");
		}
		if(!empty($checkid)){
			$actuser = new cls_userinfo;
			foreach($checkid as $trid){
				if(empty($delete) || !in_array($trid,$delete)){
					if($minfos = $db->fetch_one("SELECT * FROM {$tblprefix}utrans WHERE trid='$trid' AND checked='0'")){
						$actuser->activeuser($minfos['mid']);
						$gtid = $minfos['gtid'];
						$tugid = $minfos['toid'];
						$mchid = $actuser->infos['mchid'];
						if(in_array($mchid,explode(',',$grouptypes[$gtid]['mchids']))) continue;
						if($tugid && (!($usergroup = read_cache('usergroup',$gtid,$tugid)) || !in_array($mchid,explode(',',$usergroup['mchids'])))) continue;
						$actuser->updatefield("grouptype$gtid",$tugid,'main');
						$actuser->updatedb();
						$db->query("UPDATE {$tblprefix}utrans SET remark='',reply='',checked='1' WHERE trid='$trid'");
						$actuser->init();
					}
				}
			}
			unset($actuser);
		}
		adminlog(lang('usergroup alter admin'),lang('usergroup alter list admin operate'));
		amessage(lang('usergroup alter operate finish'),"?entry=utrans&action=utransedit&page=$page$filterstr");
	
	}
}elseif($action == 'utrandetail' && $trid){
	if(!($minfos = $db->fetch_one("SELECT * FROM {$tblprefix}utrans WHERE trid='$trid'"))) amessage(lang('confirmchoose alter record'),M_REFERER);
	$gtid = $minfos['gtid'];
	$sugid = $minfos['fromid'];
	$tugid = $minfos['toid'];
	$forward = empty($forward) ? M_REFERER : $forward;
	$forwardstr = '&forward='.rawurlencode($forward);
	if(!submitcheck('butrandetail')){
		a_guide('utrandetail');
		$submitstr = '';
		$usergroups = read_cache('usergroups',$gtid);
		tabheader(lang('usergroup need option'),'utrans',"?entry=utrans&action=utrandetail&trid=$trid$forwardstr",2,1,1);
		trbasic(lang('member cname'),'',$minfos['mname'],'');
		trbasic(lang('alter grouptype'),'',$grouptypes[$gtid]['cname'],'');
		trbasic(lang('usergroup alter mode1'),'',(!$sugid ? lang('user0') : $usergroups[$sugid]['cname']).'&nbsp; ->&nbsp; '.(!$tugid ? lang('user0') : $usergroups[$tugid]['cname']),'');
		trbasic(lang('alter need time'),'',date("Y-m-d H:m",$minfos['createdate']),'');
		trbasic(lang('alter remark'),'utran[remark]',$minfos['remark'],'textarea');
		trbasic(lang('administrator reply'),'utran[reply]',$minfos['reply'],'textarea');
		tabfooter('butrandetail');
		check_submit_func($submitstr);
	}else{
		$utran['remark'] = trim($utran['remark']);
		$utran['reply'] = trim($utran['reply']);
		$db->query("UPDATE {$tblprefix}utrans SET remark='$utran[remark]',reply='$utran[reply]' WHERE trid='$trid'");
		adminlog(lang('modify usergroup alter'),lang('usergroup alter detail modify operate'));
		amessage(lang('usergroup alter record modify finish'),$forward);
	}
}
?>