www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/adminm/mtrans.inc.php
<?php !defined('M_COM') && exit('No Permission'); load_cache('mchannels,mprojects,mtconfigs,grouptypes,fieldwords,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(empty($mtran['toid'])){ m_guide(30); $toidsarr = array(); foreach($mprojects as $k => $v){ if($v['smchid'] == $curuser->infos['mchid']) $toidsarr[$v['tmchid']] = $mchannels[$v['tmchid']]['cname']; } tabheader(lang('need member type alter'),'mtrans',"?action=mtrans"); trbasic(lang('member current type'),'',$mchannels[$curuser->infos['mchid']]['cname'],''); trbasic(lang('alter target type'),'mtran[toid]',makeoption($toidsarr),'select'); tabfooter('submit',lang('need')); }else{ foreach($mprojects as $k => $v){ if($v['ename'] == $curuser->infos['mchid'].'_'.$mtran['toid']) $mproject = $v; } if(empty($mproject)) mcmessage(lang('you cannot need pointed member type !')); //分析是已有更新申请还是新的申请 $isold = false; if($minfos = $db->fetch_one("SELECT * FROM {$tblprefix}mtrans WHERE mid='$memberid' AND checked='0'")){ $isold = true; $minfos = array_merge($minfos,$minfos['contentarr'] ? unserialize($minfos['contentarr']) : array()); unset($minfos['contentarr']); }else{ $curuser->detail_data(); $minfos = &$curuser->infos; } $mchid = $mtran['toid']; $mfields = read_cache('mfields',$mchid); if(!submitcheck('bmtran')){ m_guide(30); $a_field = new cls_field; $submitstr = ''; tabheader(lang('member type need option'),'mtrans',"?action=mtrans",2,1,1); trhidden('mtran[toid]',$mtran['toid']); trbasic(lang('need time'),'',date("Y-m-d H:m",$isold ? $minfos['createdate'] : $timestamp),''); trbasic(lang('alter state'),'',$isold ? lang('wait check') : lang('add alter'),''); trbasic(lang('remark'),'mtran[remark]',empty($minfos['remark']) ? '' : $minfos['remark'],'textarea'); $isold && trbasic(lang('administrator reply'),'',$minfos['reply'],'textarea'); tabfooter(); tabheader(lang('input member 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('bmtran'); check_submit_func($submitstr); }else{ //自动审核则将记录直接写入会员库,否则写入mtrans //记录最好保存下来,但是内容清空。 $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(); mcmessage($a_field->error,M_REFERER); } if($mproject['autocheck']){ $curuser->updatefield($k,$a_field->newvalue,$field['tbl']); }else{ $minfosnew[$k] = $a_field->newvalue;//收集资料。 } } } unset($a_field); $omchid = $curuser->infos['mchid'];//原模型 if($mproject['autocheck']){ $curuser->updatefield('mchid',$mchid,'main'); //在更新会员资料之前一定要将原模型表中的记录删除,插入新模型表中的记录。 $db->query("DELETE FROM {$tblprefix}members_$omchid WHERE mid='$memberid'"); $db->query("INSERT INTO {$tblprefix}members_$mchid SET mid='$memberid'"); $curuser->gtidbymchid();//检查因模型改变是否有不生效会员组 $curuser->updatedb(); if($isold){ $db->query("UPDATE {$tblprefix}mtrans SET toid='$mchid',fromid='$omchid',contentarr='',remark='',reply='',checked='1' WHERE mid='$memberid' AND checked='0'"); }else{ $db->query("INSERT INTO {$tblprefix}mtrans SET mid='$memberid',mname='".$curuser->infos['mname']."',toid='$mchid',fromid='$omchid',contentarr='',remark='',checked='1',createdate='$timestamp'"); } }else{ $mtran['remark'] = trim($mtran['remark']); $mtran['contentarr'] = empty($minfosnew) ? '' : addslashes(serialize($minfosnew)); if($isold){ $db->query("UPDATE {$tblprefix}mtrans SET fromid='$omchid',toid='$mchid',contentarr='$mtran[contentarr]',remark='$mtran[remark]' WHERE mid='$memberid' AND checked='0'"); }else{ $db->query("INSERT INTO {$tblprefix}mtrans SET mid='$memberid',mname='".$curuser->infos['mname']."',fromid='$omchid',toid='$mchid',contentarr='$mtran[contentarr]',remark='$mtran[remark]',checked='0',createdate='$timestamp'"); } } $c_upload->saveuptotal(1); mcmessage($mproject['autocheck'] ? lang('member type alter finish') : lang('please wait administrator check !'),"?action=mtrans"); } } ?>