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&gtid=$k\">".lang('setting')."</a></td>\n".
					"<td class=\"item1\" align=\"center\" width=\"40\"><a href=\"?entry=usergroups&action=usergroupsedit&gtid=$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&gtid=$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);
	}
}
?>