www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/grouptypes.inc.php
<? (!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission'); aheader(); load_cache('grouptypes,currencys,mchannels'); if($action == 'grouptypesedit'){ if(!submitcheck('bgrouptypesadd') && !submitcheck('bgrouptypesedit')){ $modearr = array('0' => lang('user handwork'),'1' => lang('admin handwork'),'2' => lang('crbase'),'3' => lang('crex'),); $cridsarr = array(0 => lang('nosetting')) + cridsarr(); $itemstr = ''; foreach($grouptypes as $k => $grouptype){ $modestr = $modearr[$grouptype['mode']]; $cridstr = empty($grouptype['crid']) || empty($cridsarr[$grouptype['crid']]) ? '-' : $cridsarr[$grouptype['crid']]; $itemstr .= "<tr><td class=\"item1\" align=\"center\" width=\"30\">$k</td>\n". "<td class=\"item2\" align=\"center\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$k]\" value=\"$k\"".($grouptype['issystem'] ? ' disabled' : '')."></td>\n". "<td class=\"item1\"><input type=\"text\" size=\"25\" maxlength=\"30\" name=\"grouptypesnew[$k][cname]\" value=\"$grouptype[cname]\"></td>\n". "<td class=\"item2\" align=\"center\" width=\"60\">$modestr</td>\n". "<td class=\"item1\" align=\"center\" width=\"60\">$cridstr</td>\n". "<td class=\"item2\" align=\"center\" width=\"40\"><a href=\"?entry=grouptypes&action=grouptypedetail>id=$k\">".lang('setting')."</a></td>\n". "<td class=\"item1\" align=\"center\" width=\"40\"><a href=\"?entry=usergroups&action=usergroupsedit>id=$k\">".lang('admin')."</a></td></tr>\n"; } a_guide('grouptypesedit'); tabheader(lang('edit grouptype'),'grouptypesedit','?entry=grouptypes&action=grouptypesedit','7'); trcategory(array(lang('id'),lang('delete'),lang('grouptype1 cname'),lang('deal mode'),lang('related currency'),lang('detail'),lang('usergroup'))); echo $itemstr; tabfooter('bgrouptypesedit',lang('modify')); tabheader(lang('add grouptype'),'grouptypesadd','?entry=grouptypes&action=grouptypesedit'); trbasic(lang('grouptype1 cname'),'grouptypeadd[cname]'); trbasic(lang('deal mode'),'grouptypeadd[mode]',makeoption($modearr),'select'); trbasic(lang('related currency type'),'grouptypeadd[crid]',makeoption($cridsarr),'select'); tabfooter('bgrouptypesadd',lang('add')); }elseif(submitcheck('bgrouptypesadd')){ !checkapermission('grouptypesedit') && amessage(lang('no_apermission')); if(empty($grouptypeadd['cname']) || (($grouptypeadd['mode'] > 1) && empty($grouptypeadd['crid']))){ amessage(lang('grouptype data missing'),'?entry=grouptypes&action=grouptypesedit'); } $grouptypeadd['crid'] = $grouptypeadd['mode'] < 2 ? 0 : $grouptypeadd['crid']; $db->query("INSERT INTO {$tblprefix}grouptypes SET cname='$grouptypeadd[cname]', mode='$grouptypeadd[mode]', crid='$grouptypeadd[crid]'"); if(!$gtid = $db->insert_id()){ amessage(lang('grouptype errorsave'),'?entry=grouptypes&action=grouptypesedit'); }else{ $addfieldid = 'grouptype'.$gtid; $addfielddate = 'grouptype'.$gtid.'date'; $db->query("ALTER TABLE {$tblprefix}members ADD $addfieldid smallint(6) unsigned NOT NULL default 0", 'SILENT'); $db->query("ALTER TABLE {$tblprefix}members ADD $addfielddate int(10) unsigned NOT NULL default 0", 'SILENT'); } adminlog(lang('add grouptype')); updatecache('grouptypes'); updatecache('btagnames'); amessage(lang('grouptype add finish'),"?entry=grouptypes&action=grouptypesedit"); }elseif(submitcheck('bgrouptypesedit')){ !checkapermission('grouptypesedit') && amessage(lang('no_apermission')); if(!empty($delete)){ foreach($delete as $gtid) { if(empty($grouptypes[$gtid]['issystem'])){ if($db->result_one("SELECT COUNT(*) FROM {$tblprefix}usergroups WHERE gtid='$gtid'")) continue;//包含相关会员组时不能删除 $db->query("DELETE FROM {$tblprefix}grouptypes WHERE gtid='$gtid'","SILENT"); $deletefield = 'grouptype'.$gtid; $deletefielddate = 'grouptype'.$gtid.'date'; $db->query("ALTER TABLE {$tblprefix}members DROP $deletefield,DROP $deletefielddate","SILENT"); @unlink(M_ROOT."./dynamic/cache/usergroups$gtid.cac.php"); unset($grouptypesnew[$gtid]); } } } if(!empty($grouptypesnew)){ foreach($grouptypesnew as $gtid => $grouptype){ if(empty($grouptypes[$gtid]['issystem'])){ $grouptype['cname'] = empty($grouptype['cname']) ? $grouptypes[$gtid]['cname'] : $grouptype['cname']; if($grouptype['cname'] != $grouptypes[$gtid]['cname']){ $db->query("UPDATE {$tblprefix}grouptypes SET cname='$grouptype[cname]' WHERE gtid='$gtid'"); } } } } adminlog(lang('edit grouptype manager list')); updatecache('grouptypes'); updatecache('btagnames'); amessage(lang('grouptype edit finish'),"?entry=grouptypes&action=grouptypesedit"); } }elseif($action == 'grouptypedetail' && $gtid){ $forward = empty($forward) ? M_REFERER : $forward; $grouptype = $grouptypes[$gtid]; if(!submitcheck('bgrouptypedetail')){ a_guide('grouptypedetail'); tabheader(lang('edit grouptype'),'grouptypedetail',"?entry=grouptypes&action=grouptypedetail>id=$gtid&forward=".rawurlencode($forward)); $modearr = array('0' => lang('user handwork'),'1' => lang('admin handwork'),'2' => lang('crbase'),'3' => lang('crex'),); $cridsarr = array(0 => lang('nosetting')) + cridsarr(); trbasic(lang('grouptype cname'),'grouptypenew[cname]',$grouptype['cname']); if($grouptype['issystem']){ trbasic(lang('deal mode'),'',$modearr[$grouptype['mode']],''); trbasic(lang('related currency type'),'',$cridsarr[$grouptype['crid']],''); }else{ trbasic(lang('deal mode'),'grouptypenew[mode]',makeoption($modearr,$grouptype['mode']),'select'); trbasic(lang('related currency type'),'grouptypenew[crid]',makeoption($cridsarr,$grouptype['crid']),'select'); } trbasic(lang('inchids forbid use'),'',makecheckbox('grouptypenew[mchids][]',mchidsarr(),!empty($grouptype['mchids']) ? explode(',',$grouptype['mchids']) : array(),5),''); tabfooter('bgrouptypedetail',lang('modify')); }else{ !checkapermission('grouptypesedit') && amessage(lang('no_apermission')); $grouptypenew['mode'] = empty($grouptypenew['mode']) ? 0 : $grouptypenew['mode']; $grouptypenew['crid'] = empty($grouptypenew['crid']) ? 0 : $grouptypenew['crid']; if(empty($grouptypenew['cname']) || (($grouptypenew['mode'] > 1) && empty($grouptypenew['crid']))){ amessage(lang('grouptype data missing'),M_REFERER); } $grouptypenew['crid'] = $grouptypenew['mode'] < 2 ? 0 : $grouptypenew['crid']; $grouptypenew['mchids'] = !empty($grouptypenew['mchids']) ? implode(',',$grouptypenew['mchids']) : ''; $sqlstr = $grouptype['issystem'] ? '' : "mode='$grouptypenew[mode]',crid='$grouptypenew[crid]',"; $db->query("UPDATE {$tblprefix}grouptypes SET cname='$grouptypenew[cname]', $sqlstr mchids='$grouptypenew[mchids]' WHERE gtid='$gtid'"); adminlog(lang('detail modify grouptype')); updatecache('grouptypes',$gtid); amessage(lang('grouptype edit finish'),$forward); } } ?>