www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/members.inc.php
<? (!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission'); aheader(); load_cache('mchannels,catalogs,cotypes,mtconfigs,channels,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 == 'memberadd' && empty($mchid)){ !checkapermission(4) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); a_guide('memberadd0'); $num = 4; tabheader(lang('according channel add member'),'','',$num); $i = 0; foreach($mchannels as $k => $v){ if(!($i % $num)) echo "<tr>"; echo "<td class=\"item2\" width=\"25%\"> >> <a href=\"?entry=members&action=memberadd&mchid=$k\">$v[cname]</a></td>\n"; $i ++; if(!($i % $num)) echo "</tr>\n"; } if($i % $num){ while($i % $num){ echo "<td class=\"item2\" width=\"25%\"></td>\n"; $i ++; } echo "</tr>\n"; } tabfooter(); }elseif($action == 'memberadd' && $mchid){ !checkapermission(4) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); $mchid = empty($mchid) ? 1 : max(1,intval($mchid)); if(!($mchannel = $mchannels[$mchid])) amessage(lang('confirmchoose member channel')); $mfields = read_cache('mfields',$mchid); if(!submitcheck('bmemberadd')){ a_guide('memberadd'); $a_field = new cls_field; $submitstr = ''; tabheader(lang('based option').' - '.lang('add').$mchannels[$mchid]['cname'],'memberadd','?entry=members&action=memberadd&mchid='.$mchid,2,1,1); trbasic(lang('member cname').' *','minfosadd[mname]'); trbasic(lang('password').' *','minfosadd[password]','','password'); trbasic(lang('Email').' *','minfosadd[email]'); $submitstr .= makesubmitstr('minfosadd[mname]',1,0,0,15); $submitstr .= makesubmitstr('minfosadd[password]',1,0,0,15); $submitstr .= makesubmitstr('minfosadd[email]',1,'email',0,50); trbasic(lang('space template project'),'minfosadd[mtcid]',makeoption(mtcidsarr($mchid)),'select'); foreach($mfields as $k => $field){ if(!$field['issystem'] && !$field['isfunc']){ $a_field->init(); $a_field->field = read_cache('mfield',$mchid,$k); $a_field->isadd = 1; $a_field->trfield('minfosadd'); $submitstr .= $a_field->submitstr; } } tabfooter(); tabheader(lang('usergroup message'),'','',4); foreach($grouptypes as $gtid => $grouptype) { if(empty($grouptype['mode']) && !in_array($mchid,explode(',',$grouptype['mchids']))){ $ugidsarr = array('0' => lang('nosetting')) + ugidsarr($grouptype['gtid'],$mchid); echo "<tr>\n". "<td width=\"15%\" class=\"item1\">$grouptype[cname]</td>\n". "<td width=\"35%\" class=\"item2\"><select style=\"vertical-align: middle;\" name=\"minfosadd[grouptype".$gtid."]\">".makeoption($ugidsarr)."</select></td>\n". "<td width=\"15%\" class=\"item1\">".lang('end date')."</td>\n". "<td width=\"35%\" class=\"item2\"><input type=\"text\" size=\"20\" id=\"minfosadd[grouptype".$gtid."date]\" name=\"minfosadd[grouptype".$gtid."date]\" value=\"\" onclick=\"ShowCalendar(this.id);\"></td>\n". "</tr>"; } } tabfooter('bmemberadd'); check_submit_func($submitstr); }else{ $minfosadd['mname'] = trim(strip_tags($minfosadd['mname'])); $minfosadd['password'] = trim($minfosadd['password']); $minfosadd['email'] = trim(strip_tags($minfosadd['email'])); if(strlen($minfosadd['mname']) < 3 || strlen($minfosadd['mname']) > 15) amessage(lang('member cname length illegal'),M_REFERER); $guestexp = '\xA1\xA1|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8'; $censorexp = '/^('.str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote(($censoruser = trim($censoruser)), '/')).')$/i'; if(preg_match("/^\s*$|^c:\\con\\con$|[%,\*\"\s\t\<\>\&]|$guestexp/is",$minfosadd['mname']) || ($censoruser && @preg_match($censorexp,$minfosadd['mname']))) amessage(lang('member cname illegal'),M_REFERER); $query = $db->query("SELECT mid FROM {$tblprefix}members WHERE mname='$minfosadd[mname]'"); if($db->num_rows($query)) amessage(lang('member cname repeat'),M_REFERER); if(!$minfosadd['password'] || strlen($minfosadd['password']) > 15 || $minfosadd['password'] != addslashes($minfosadd['password'])) amessage(lang('member password illegal'),M_REFERER); $md5_password = md5($minfosadd['password']); if(!$minfosadd['email'] || !isemail($minfosadd['email'])) amessage(lang('member email illegal'),M_REFERER); if($enable_uc){ include_once M_ROOT.'./include/ucenter/config.inc.php'; include_once M_ROOT.'./uc_client/client.php'; $uid = uc_user_register($minfosadd['mname'],$minfosadd['password'],$minfosadd['email']); if($uid <= 0) { if($uid == -1) { amessage(lang('member cname illegal')); } elseif($uid == -2) { amessage(lang('member cname illegal')); } elseif($uid == -3) { amessage(lang('member cname repeat')); } elseif($uid == -4) { amessage(lang('member email illegal')); } elseif($uid == -5) { amessage(lang('member email illegal')); } elseif($uid == -6) { amessage(lang('member email illegal')); } else { amessage(lang('error operate')); } } } $autocheck = $mchannel['autocheck']; $mainarr = $subarr = $customarr = array(); $mainarr['mname'] = $minfosadd['mname']; $mainarr['password'] = $md5_password; $mainarr['email'] = $minfosadd['email']; $mainarr['mtcid'] = empty($minfosadd['mtcid']) ? 1 : $minfosadd['mtcid']; foreach($grouptypes as $gtid => $grouptype) { if(empty($grouptype['mode']) && !in_array($mchid,explode(',',$grouptype['mchids']))){ $usergroups = read_cache('usergroups',$gtid); if(!$minfosadd['grouptype'.$gtid] || in_array($mchid,explode(',',@$usergroups[$minfosadd['grouptype'.$gtid]]['mchids']))){ $mainarr["grouptype$gtid"] = $minfosadd['grouptype'.$gtid]; $mainarr['grouptype'.$gtid.'date'] = !$minfosadd['grouptype'.$gtid] || !isdate($minfosadd['grouptype'.$gtid.'date']) ? '0' : strtotime($minfosadd['grouptype'.$gtid.'date']); } } } foreach($currencys as $crid => $currency){ if($currency['available'] && $currency['initial']) $mainarr["currency$crid"] = $currency['initial']; } $mainarr['checked'] = $autocheck == 1 ? 1 : 0; $mainarr['regip'] = $onlineip; $mainarr['regdate'] = $timestamp; $c_upload = new cls_upload; $mfields = fields_order($mfields); $a_field = new cls_field; $substr = $customstr = ''; foreach($mfields as $k => $field){ if(!$field['issystem'] && !$field['isfunc']){ $a_field->init(); $a_field->field = read_cache('mfield',$mchid,$k); $a_field->deal('minfosadd'); if(!empty($a_field->error)){ $c_upload->rollback(); amessage($a_field->error,M_REFERER); } ${$field['tbl'].'arr'}[$k] = $a_field->newvalue; } } unset($a_field); $c_upload->saveuptotal(1); $newuser = new cls_userinfo; if(!$newuser->useradd($mainarr['mname'],$mainarr['password'],$mainarr['email'],$mchid)) amessage(lang('member add failed'),M_REFERER); $mid = $newuser->infos['mid']; if($autocheck == 2){ $confirmid = random(6); $confirmstr = "$timestamp\t2\t$confirmid"; $subarr['confirmstr'] = $confirmstr; } foreach(array('main','sub','custom') as $var){ foreach(${$var.'arr'} as $k => $v){ $newuser->updatefield($k,$v,$var); } } $newuser->updatedb(); unset($newuser); adminlog(lang('add member')); amessage(lang('member add finish'),M_REFERER); } }elseif($action == 'memberdetail' && $mid){ !checkapermission(empty($isadmin) ? 52 : 53) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); $actuser = new cls_userinfo; $actuser->activeuser($mid,2); empty($actuser->infos['mid']) && amessage(lang('confirmchoose member')); (!empty($actuser->infos['isfounder']) && $curuser->infos['mid'] != $actuser->infos['mid']) && amessage(lang('cannot modify founder data')); $mchid = $actuser->infos['mchid']; $mfields = read_cache('mfields',$mchid); if(!submitcheck('bmemberdetail')){ $a_field = new cls_field; $submitstr = ''; a_guide('memberdetail'); tabheader(lang('based option').' : '.$actuser->infos['mname'].' ['.lang('member channel').']'.$mchannels[$mchid]['cname'],'memberdetail',"?entry=members&action=memberdetail&mid=$mid".(empty($isadmin) ? '' : '&isadmin=1'),2,1,1); trbasic(lang('modify password'),'minfosnew[password]','','password'); trbasic(lang('Email').' *','minfosnew[email]',$actuser->infos['email']); $submitstr .= makesubmitstr('minfosnew[password]',0,0,0,15); $submitstr .= makesubmitstr('minfosnew[email]',1,'email',0,50); $mtcidsarr = array(); foreach($mtconfigs as $mtcid => $mtconfig){ $mtcidsarr[$mtcid] = $mtconfig['cname']; } trbasic(lang('space template project'),'minfosnew[mtcid]',makeoption(mtcidsarr($mchid),$actuser->infos['mtcid']),'select'); 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($actuser->infos[$k]) ? $actuser->infos[$k] : ''; $a_field->trfield('minfosnew'); $submitstr .= $a_field->submitstr; } } tabfooter(); tabheader(lang('usergroup message').' : '.$actuser->infos['mname'],'','',4); foreach($grouptypes as $gtid => $grouptype) { if($grouptype['mode'] < 2 && !in_array($mchid,explode(',',$grouptype['mchids']))){ $actuser->infos['grouptype'.$gtid.'date'] = !$actuser->infos['grouptype'.$gtid.'date'] ? '' : date('Y-m-d',$actuser->infos['grouptype'.$gtid.'date']); $ugidsarr = array('0' => lang('release usergroup')) + ugidsarr($grouptype['gtid'],$mchid); echo "<tr>\n". "<td width=\"15%\" class=\"item1\">$grouptype[cname]</td>\n". "<td width=\"35%\" class=\"item2\"><select style=\"vertical-align: middle;\" name=\"minfosnew[grouptype".$gtid."]\">".makeoption($ugidsarr,$actuser->infos['grouptype'.$gtid])."</select></td>\n". "<td width=\"15%\" class=\"item1\">".lang('end date')."</td>\n". "<td width=\"35%\" class=\"item2\"><input type=\"text\" size=\"20\" id=\"minfosnew[grouptype".$gtid."date]\" name=\"minfosnew[grouptype".$gtid."date]\" value=\"".$actuser->infos['grouptype'.$gtid.'date']."\" onclick=\"ShowCalendar(this.id);\"></td>\n". "</tr>"; }else{ $usergroups = read_cache('usergroups',$gtid); $actuser->infos['grouptype'.$gtid.'date'] = !$actuser->infos['grouptype'.$gtid.'date'] ? lang('noend') : date('Y-m-d',$actuser->infos['grouptype'.$gtid.'date']); echo "<tr>\n". "<td width=\"15%\" class=\"item1\">$grouptype[cname]</td>\n". "<td width=\"35%\" class=\"item2\">".(!$actuser->infos['grouptype'.$gtid] ? lang('notbelong usergroup') : $usergroups[$actuser->infos['grouptype'.$gtid]]['cname'])."</td>\n". "<td width=\"15%\" class=\"item1\">".lang('end date')."</td>\n". "<td width=\"35%\" class=\"item2\">".$actuser->infos['grouptype'.$gtid.'date']."</td>\n". "</tr>"; } } unset($actuser,$a_field); tabfooter('bmemberdetail'); check_submit_func($submitstr); }else{ $minfosnew['email'] = empty($minfosnew['email']) ? '' : trim($minfosnew['email']); if(empty($minfosnew['email']) || !isemail($minfosnew['email'])){ amessage(lang('member email illegal'), "?entry=members&action=memberdetail&mid=$mid".(empty($isadmin) ? '' : '&isadmin=1')); } if(!empty($minfosnew['password']) && (strlen($minfosnew['password']) > 15) || $minfosnew['password'] != addslashes($minfosnew['password'])){ amessage(lang('member password illegal'), "?entry=members&action=memberdetail&mid=$mid".(empty($isadmin) ? '' : '&isadmin=1')); } $actuser->updatefield('email',$minfosnew['email'],'main'); !empty($minfosnew['password']) && $actuser->updatefield('password',md5($minfosnew['password']),'main'); $actuser->updatefield('mtcid',empty($minfosnew['mtcid']) ? 0 : $minfosnew['mtcid'],'main'); foreach($grouptypes as $gtid => $grouptype){ if($grouptype['mode'] < 2 && !in_array($mchid,explode(',',$grouptype['mchids'])) && ($gtid != 2 || checkapermission('adminaedit'))){ $minfosnew['grouptype'.$gtid.'date'] = (!$minfosnew['grouptype'.$gtid] || !isdate($minfosnew['grouptype'.$gtid.'date'])) ? '0' : strtotime($minfosnew['grouptype'.$gtid.'date']); $actuser->handgrouptype($gtid,$minfosnew['grouptype'.$gtid],$minfosnew['grouptype'.$gtid.'date']); } } $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($actuser->infos[$k]) ? $actuser->infos[$k] : ''; $a_field->deal('minfosnew'); if(!empty($a_field->error)){ $c_upload->rollback(); amessage($a_field->error,"?entry=members&action=memberdetail&mid=$mid".(empty($isadmin) ? '' : '&isadmin=1')); } $actuser->updatefield($k,$a_field->newvalue,$field['tbl']); } } unset($a_field); $actuser->updatedb(); $c_upload->saveuptotal(1); adminlog(lang('detail0 edit member')); amessage(lang('member modify finish'), "?entry=members&action=memberdetail&mid=$mid".(empty($isadmin) ? '' : '&isadmin=1')); } }elseif($action == 'memberedit'){ !checkapermission(empty($isadmin) ? 52 : 53) && 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'; $mname = empty($mname) ? '' : $mname; $mchid = empty($mchid) ? 0 : max(0,intval($mchid)); $inregdate = empty($inregdate) ? 0 : max(0,intval($inregdate)); $outregdate = empty($outregdate) ? 0 : max(0,intval($outregdate)); $wheresql = ''; if($checked != '-1'){ $wheresql .= ($wheresql ? " AND " : "")."checked='$checked'"; } if(!empty($mchid)){ $wheresql .= ($wheresql ? " AND " : "")."mchid='$mchid'"; } $mname && $wheresql .= ($wheresql ? " AND " : "")."mname LIKE '%".str_replace(array(' ','*'),'%',addcslashes($mname,'%_'))."%'"; if(!empty($inregdate)){ $wheresql .= ($wheresql ? " AND " : "")."regdate>'".($timestamp - 86400 * $inregdate)."'"; } if(!empty($outregdate)){ $wheresql .= ($wheresql ? " AND " : "")."regdate<'".($timestamp - 86400 * $outregdate)."'"; } $filterstr = ''; foreach(array('viewdetail','checked','mchid','mname','inregdate','outregdate') as $k){ $filterstr .= "&$k=".urlencode($$k); } foreach($grouptypes as $gtid => $grouptype){ ${"ugid$gtid"} = isset(${"ugid$gtid"}) ? ${"ugid$gtid"} : 0; $filterstr .= "&ugid$gtid=".${"ugid$gtid"}; if(!empty(${"ugid$gtid"})){ $wheresql .= ($wheresql ? " AND " : "")."grouptype$gtid='".${"ugid$gtid"}."'"; } } !empty($fbd_mchids) && $wheresql .= " AND mchid NOT IN (".mimplode($fbd_mchids).")"; $wheresql .= ($wheresql ? " AND " : "")."grouptype2".(empty($isadmin) ? "=" : "!=")."0"; $wheresql = $wheresql ? "WHERE ".$wheresql : ""; if(!submitcheck('bmemberedit')){ $checkedarr = array('-1' => lang('nolimit'),'0' => lang('nocheck member'),'1' => lang('checked member')); tabheader(lang('filter0 '.(empty($isadmin) ? 'normal0' : 'admin').' member').viewcheck('viewdetail',$viewdetail,'tbodyfilter').' '.strbutton('bfilter','filter0'),'memberedit',"?entry=members&action=memberedit&page=$page".(empty($isadmin) ? '' : '&isadmin=1')); echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">"; trbasic(lang('member channel'),'',makeradio('mchid',array(0 => lang('nolimit')) + mchidsarr(),$mchid),''); trbasic(lang('check state'),'',makeradio('checked',$checkedarr,$checked),''); trbasic(lang('search member'),'mname',$mname,'text',lang('agsearchkey')); foreach($grouptypes as $gtid => $grouptype){ $ugidsarr = array('0' => lang('nolimit')); $ugidsarr = $ugidsarr + ugidsarr($gtid); trbasic("$grouptype[cname]","ugid$gtid",makeoption($ugidsarr,${"ugid$gtid"}),'select'); } trrange(lang('register date'),array('outregdate',empty($outregdate) ? '' : $outregdate,'',' '.lang('day before').' - ',5),array('inregdate',empty($inregdate) ? '' : $inregdate,'',' '.lang('day in'),5)); echo "</tbody>"; tabfooter(); $pagetmp = $page; do{ $query = $db->query("SELECT * FROM {$tblprefix}members $wheresql ORDER BY mid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp"); $pagetmp--; } while(!$db->num_rows($query) && $pagetmp); $itemuser = ''; $fusergroups = read_cache('usergroups',1); $ausergroups = read_cache('usergroups',2); while($user = $db->fetch_array($query)){ $user['lastvisit'] = date("$dateformat", $user['lastvisit']); $user['regdate'] = date("$dateformat", $user['regdate']); $user['checkstr'] = $user['checked'] ? 'Y' : '-'; $user['channel'] = $mchannels[$user['mchid']]['cname']; $user['ugforbidden'] = $user['grouptype1'] ? $fusergroups[$user['grouptype1']]['cname'] : '-'; $user['ugadmin'] = $user['grouptype2'] ? $ausergroups[$user['grouptype2']]['cname'] : '-'; $itemuser .= "<tr><td align=\"center\" class=\"item1\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid['$user[mid]']\" value=\"$user[mid]\">\n". "<td class=\"item2\">$user[mname]</td>\n". "<td align=\"center\" class=\"item1\">$user[channel]</td>\n". "<td align=\"center\" class=\"item2\">$user[ugadmin]</td>\n". "<td align=\"center\" class=\"item1\">$user[ugforbidden]</td>\n". "<td align=\"center\" class=\"item2\" width=\"30\">$user[checkstr]</td>\n". "<td align=\"center\" class=\"item1\" width=\"70\">$user[regdate]</td>\n". "<td align=\"center\" class=\"item2\" width=\"70\">$user[lastvisit]</td>\n". "<td align=\"center\" class=\"item1\" width=\"30\"><a href=\"?entry=members&action=memberdetail&mid=$user[mid]".(empty($isadmin) ? '' : '&isadmin=1')."\">".lang('detail')."</a></td></tr>\n"; } $usercount = $db->result_one("SELECT count(*) FROM {$tblprefix}members $wheresql"); $multi = multi($usercount, $atpp, $page, "?entry=members&action=memberedit$filterstr".(empty($isadmin) ? '' : '&isadmin=1')); tabheader(lang((empty($isadmin) ? 'normal0' : 'admin').' member list')." <input class=\"checkbox\" type=\"checkbox\" name=\"select_all\" value=\"1\"> ".lang('selectallpage'),'','',8); trcategory(array("<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" class=\"category\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">", lang('member cname'),lang('member channel'),$grouptypes[2]['cname'],$grouptypes[1]['cname'],lang('check'),lang('reg date'),lang('recentvisit'),lang('edit'))); echo $itemuser; tabfooter(); echo $multi; $checkedarr = array('0' => lang('release check'),'1' => lang('check member')); tabheader(lang('operate item')); trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"userdeal[delete]\" value=\"1\"> ".lang('delete member'),'','',''); trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"userdeal[checked]\" value=\"1\"> ".lang('check member'),'userchecked',makeoption($checkedarr,'1'),'select'); foreach($grouptypes as $gtid => $grouptype) { if(($grouptype['mode'] < 2) && (!empty($isadmin) || $gtid != 2)) { $ugidsarr = array('0' => lang('release usergroup')) + ugidsarr($gtid); trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"userdeal[grouptype$gtid]\" value=\"1\"> $grouptype[cname]",'userugid'.$gtid,makeoption($ugidsarr),'select'); } } tabfooter('bmemberedit'); }else{ if(empty($userdeal) && empty($dealstr)){ amessage(lang('confirmselect operate item'),"?entry=members&action=memberedit&page=$page$filterstr".(empty($isadmin) ? '' : '&isadmin=1')); } if(empty($selectid) && empty($select_all)){ amessage(lang('confirmselect member'),"?entry=members&action=memberedit&page=$page$filterstr".(empty($isadmin) ? '' : '&isadmin=1')); } $mnamearr = array(); if(!empty($select_all)){ if(empty($dealstr)){//第一页通过表单传送 $dealstr = implode(',',array_keys(array_filter($userdeal))); }else{//通过url传送的参数 $userdeal = array(); foreach(array_filter(explode(',',$dealstr)) as $k){ $userdeal[$k] = 1; } } $parastr = ""; foreach(array('userchecked') as $k){ $parastr .= "&$k=".$$k; } foreach($grouptypes as $gtid => $grouptype){ $parastr .= "&ugid$gtid=".${'ugid'.$gtid}; } $selectid = array(); $npage = empty($npage) ? 1 : $npage; if(empty($pages)){ $usercount = $db->result_one("SELECT count(*) FROM {$tblprefix}members $wheresql"); $pages = @ceil($usercount / $atpp); } if($npage <= $pages){ $fromstr = empty($fromid) ? "" : "mid<$fromid"; $nwheresql = !$wheresql ? ($fromstr ? "WHERE $fromstr" : "") : ($wheresql.($fromstr ? " AND " : "").$fromstr); $query = $db->query("SELECT mid,mname FROM {$tblprefix}members $nwheresql ORDER BY mid DESC LIMIT 0,$atpp"); while($item = $db->fetch_array($query)) $selectid[] = $item['mid']; } } $midarr = $mnamearr = array(); $query = $db->query("SELECT mid,mname FROM {$tblprefix}members WHERE mid IN (".mimplode($selectid).") AND isfounder != '1'"); while($item = $db->fetch_array($query)){ $midarr[] = $item['mid']; $mnamearr[] = $item['mname']; } $midstr = "mid IN (".mimplode($midarr).")"; if(!empty($userdeal['delete']) && $midarr){ if($enable_uc){ require_once M_ROOT.'./include/ucenter/config.inc.php'; require_once M_ROOT.'./uc_client/client.php'; $uids = array(); foreach($mnamearr as $k){ $ucresult = uc_get_user($k); is_array($ucresult) && $uids[] = $ucresult[0]; } $uids && uc_user_delete($uids); } $db->query("DELETE FROM {$tblprefix}members WHERE $midstr",'UNBUFFERED'); $db->query("DELETE FROM {$tblprefix}members_sub WHERE $midstr",'UNBUFFERED'); foreach($mchannels as $k => $v) $db->query("DELETE FROM {$tblprefix}members_$k WHERE $midstr",'UNBUFFERED'); amessage(lang('member delete finish'),"?entry=members&action=memberedit&page=$page$filterstr".(empty($isadmin) ? '' : '&isadmin=1')); } if(!empty($userdeal['checked']) && $midarr){ $db->query("UPDATE {$tblprefix}members SET checked='$userchecked' WHERE $midstr"); } $actuser = new cls_userinfo; foreach($selectid as $id){ $actuser->activeuser($id); foreach($grouptypes as $gtid => $grouptype){ if(($grouptype['mode'] < 2) && !empty($userdeal['grouptype'.$gtid]) && !(empty($isadmin) && $gtid == 2)){ $actuser->handgrouptype($gtid,${'userugid'.$gtid},-1); } } $actuser->updatedb(); $actuser->init(); } unset($actuser); if(!empty($select_all)){ $npage ++; if($npage <= $pages){ $fromid = min($selectid); $transtr = ''; $transtr .= "&select_all=1"; $transtr .= "&pages=$pages"; $transtr .= "&npage=$npage"; $transtr .= "&bmemberedit=1"; $transtr .= "&fromid=$fromid"; amessage(lang('operating')."<br> ".lang('all')." $pages ".lang('page0').",".lang('dealing')." $npage ".lang('page0')."<br><br> <a href=\"?entry=members&action=memberedit&page=$page$filterstr\">>>".lang('pause')."</a>", "?entry=members&action=memberedit&page=$page$filterstr$transtr$parastr&dealstr=$dealstr".(empty($isadmin) ? '' : '&isadmin=1'), 500); } } adminlog(lang('member admin'),lang('member list admin operate')); amessage(lang('member operate finish'),"?entry=members&action=memberedit&page=$page$filterstr".(empty($isadmin) ? '' : '&isadmin=1')); } } ?>