www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/mtrans.inc.php
<? (!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission'); aheader(); load_cache('mchannels,mprojects,grouptypes,currencys,rprojects'); include_once M_ROOT."./include/upload.cls.php"; include_once M_ROOT."./include/fields.fun.php"; include_once M_ROOT."./include/fields.cls.php"; if($action == 'mtransedit'){ !checkapermission(165) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); $page = !empty($page) ? max(1, intval($page)) : 1; submitcheck('bfilter') && $page = 1; $viewdetail = empty($viewdetail) ? '' : $viewdetail; $checked = isset($checked) ? $checked : '-1'; $toid = empty($toid) ? 0 : max(0,intval($toid)); $fromid = empty($fromid) ? 0 : max(0,intval($fromid)); $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'"; $toid && $wheresql .= ($wheresql ? " AND " : "")."toid='$toid'"; $fromid && $wheresql .= ($wheresql ? " AND " : "")."fromid='$fromid'"; $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','toid','fromid','mname','indays','outdays') as $k){ $filterstr .= "&$k=".urlencode($$k); } $wheresql = $wheresql ? "WHERE ".$wheresql : ""; if(!submitcheck('bmtransedit')){ $checkedarr = array('-1' => lang('nolimit'),'0' => lang('nocheck alter'),'1' => lang('checked alter')); tabheader(lang('filter0 alter record')." <input class=\"checkbox\" type=\"checkbox\" name=\"viewdetail\" value=\"1\" onclick=\"alterview('tbodyfilter')\"".(empty($viewdetail) ? '' : ' checked').">".lang('viewdetail') ." <input class=\"button\" type=\"submit\" name=\"bfilter\" value=\"".lang('filter0')."\">",'mtransedit',"?entry=mtrans&action=mtransedit&page=$page"); echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">"; trbasic(lang('alter source channel'),'',makeradio('fromid',array(0 => lang('nolimit')) + mchidsarr(),$fromid),''); trbasic(lang('alter target channel'),'',makeradio('toid',array(0 => lang('nolimit')) + mchidsarr(),$toid),''); 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,'',' '.lang('day before').' - ',5),array('indays',empty($indays) ? '' : $indays,'',' '.lang('day in'),5)); echo "</tbody>"; tabfooter(); $pagetmp = $page; do{ $query = $db->query("SELECT * FROM {$tblprefix}mtrans $wheresql ORDER BY trid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp"); $pagetmp--; } while(!$db->num_rows($query) && $pagetmp); $itemstr = ''; while($row = $db->fetch_array($query)){ $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=mtrans&action=mtrandetail&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\">".$mchannels[$row['fromid']]['cname']."</td>\n". "<td align=\"center\" class=\"item2\">".$mchannels[$row['toid']]['cname']."</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}mtrans $wheresql"); $multi = multi($counts,$atpp,$page,"?entry=mtrans&action=mtransedit$filterstr"); tabheader(lang('member channel 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 channel'),lang('target channel'),"<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=\"bmtransedit\" value=\"".lang('submit')."\">"; }else{ if(empty($delete) && empty($checkid)) amessage(lang('confirmselect alter record'),"?entry=mtrans&action=mtransedit&page=$page$filterstr"); if(!empty($delete)){ $db->query("DELETE FROM {$tblprefix}mtrans 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}mtrans WHERE trid='$trid' AND checked='0'")){ $minfos = array_merge($minfos,$minfos['contentarr'] ? unserialize($minfos['contentarr']) : array()); unset($minfos['contentarr']); $actuser->activeuser($minfos['mid'],2); $omchid = $minfos['fromid']; $mchid = $minfos['toid']; $mfields = read_cache('mfields',$mchid); $mfields = fields_order($mfields); foreach($mfields as $k => $field){ if(!$field['issystem'] && !$field['isfunc']){ $actuser->updatefield($k,$minfos[$k],$field['tbl']); } } $actuser->updatefield('mchid',$mchid,'main'); //在更新会员资料之前一定要将原模型表中的记录删除,插入新模型表中的记录。 $db->query("DELETE FROM {$tblprefix}members_$omchid WHERE mid='$minfos[mid]'"); $db->query("INSERT INTO {$tblprefix}members_$mchid SET mid='$minfos[mid]'"); $actuser->gtidbymchid();//检查因模型改变是否有不生效会员组 $actuser->updatedb(); $db->query("UPDATE {$tblprefix}mtrans SET contentarr='',remark='',reply='',checked='1' WHERE trid='$trid'"); $actuser->init(); } } } unset($actuser); } adminlog(lang('member channel alter admin'),lang('member channel alter list admin operate')); amessage(lang('member channel alter operate finish'),"?entry=mtrans&action=mtransedit&page=$page$filterstr"); } }elseif($action == 'mtrandetail' && $trid){ if(!($minfos = $db->fetch_one("SELECT * FROM {$tblprefix}mtrans WHERE trid='$trid'"))) amessage(lang('confirmchoose alter record'),M_REFERER); $minfos = array_merge($minfos,$minfos['contentarr'] ? unserialize($minfos['contentarr']) : array()); unset($minfos['contentarr']); $omchid = $minfos['fromid']; $mchid = $minfos['toid']; $mfields = read_cache('mfields',$mchid); $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward='.rawurlencode($forward); if(!submitcheck('bmtrandetail')){ a_guide('mtrandetail'); $a_field = new cls_field; $submitstr = ''; tabheader(lang('member type need option'),'mtrans',"?entry=mtrans&action=mtrandetail&trid=$trid$forwardstr",2,1,1); trbasic(lang('member cname'),'',$minfos['mname'],''); trbasic(lang('member channel alter mode1'),'',$mchannels[$omchid]['cname'].' -> '.$mchannels[$mchid]['cname'],''); trbasic(lang('alter need time'),'',date("Y-m-d H:m",$minfos['createdate']),''); trbasic(lang('alter remark'),'mtran[remark]',$minfos['remark'],'textarea'); trbasic(lang('administrator reply'),'mtran[reply]',$minfos['reply'],'textarea'); tabfooter(); tabheader(lang('member alter message')); foreach($mfields as $k => $field){ if(!$field['issystem'] && !$field['isfunc']){ $a_field->init(); $a_field->field = read_cache('mfield',$mchid,$k); $a_field->oldvalue = !isset($minfos[$k]) ? '' : $minfos[$k]; $a_field->trfield('minfosnew'); $submitstr .= $a_field->submitstr; } } unset($a_field); tabfooter('bmtrandetail'); check_submit_func($submitstr); }else{ $c_upload = new cls_upload; $mfields = fields_order($mfields); $a_field = new cls_field; foreach($mfields as $k => $field){ if(!$field['issystem'] && !$field['isfunc']){ $a_field->init(); $a_field->field = read_cache('mfield',$mchid,$k); $a_field->oldvalue = !isset($minfos[$k]) ? '' : $minfos[$k]; $a_field->deal('minfosnew'); if(!empty($a_field->error)){ $c_upload->rollback(); amessage($a_field->error,M_REFERER); } $minfosnew[$k] = $a_field->newvalue;//收集资料。 } } unset($a_field); $mtran['remark'] = trim($mtran['remark']); $mtran['reply'] = trim($mtran['reply']); $mtran['contentarr'] = empty($minfosnew) ? '' : addslashes(serialize($minfosnew)); $db->query("UPDATE {$tblprefix}mtrans SET contentarr='$mtran[contentarr]',remark='$mtran[remark]',reply='$mtran[reply]' WHERE trid='$trid'"); $c_upload->saveuptotal(1); adminlog(lang('modify member channel alter'),lang('member channel alter detail modify operate')); amessage(lang('member channel alter record modify finish'),$forward); } } ?>