www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/usergroups.inc.php

    <?
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
aheader();
!checkapermission('usergroupsedit') && amessage(lang('no_apermission'));
load_cache('grouptypes,currencys,mchannels');
if(empty($gtid) || empty($grouptypes[$gtid])) amessage(lang('confirmchoose grouptype'));
$grouptype = $grouptypes[$gtid];
$usergroups = read_cache('usergroups',$gtid);
$gtcname = $grouptypes[$gtid]['cname'];
if($action == 'usergroupsedit'){
	if(!submitcheck('busergroupsadd') && !submitcheck('busergroupsedit')){
		$items = '';
		foreach($usergroups as $k => $usergroup){
			$items .= "<tr align=\"center\"><td class=\"item1\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$k]\" value=\"$k\"></td>\n".
					"<td class=\"item2\"><input type=\"text\" size=\"12\" name=\"usergroupsnew[$k][cname]\" value=\"$usergroup[cname]\"></td>\n".
					"<td class=\"item1\">$gtcname</td>\n".
					"<td class=\"item2\"><input type=\"text\" size=\"3\" maxlength=\"3\" name=\"usergroupsnew[$k][prior]\" value=\"$usergroup[prior]\"></td>\n".
					"<td class=\"item1\">".($grouptype['mode'] < 2 ? '-' : "<input type=\"text\" size=\"12\" name=\"usergroupsnew[$k][currency]\" value=\"$usergroup[currency]\">")."</td>\n".
					"<td class=\"item2\"><a href=\"?entry=usergroups&action=usergroupcopy&gtid=$gtid&ugid=$k\">".lang('copy')."</a></td>\n".
					"<td class=\"item1\"><a href=\"?entry=usergroups&action=usergroupdetail&gtid=$gtid&ugid=$k\">".lang('setting')."</a></td></tr>\n";
		}
		a_guide('usergroupsedit');
		tabheader(lang('edit usergroup').'-'.$grouptype['cname'],'usergroupsedit','?entry=usergroups&action=usergroupsedit&gtid='.$gtid,'6');
		trcategory(array('<input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form)">'.lang('del'),lang('usergroup'),lang('belong grouptype1'),lang('order'),lang(($grouptype['mode'] == 2 ? 'base' : ($grouptype['mode'] == 3 ? 'exchange' : 'related')).' currency').($grouptype['mode'] < 2 ? '' : '('.$currencys[$grouptype['crid']]['cname'].')'),lang('copy'),lang('edit')));
		echo $items;
		tabfooter('busergroupsedit',lang('modify'));

		tabheader(lang('add usergroup').'-'.$grouptype['cname'],'usergroupsadd','?entry=usergroups&action=usergroupsedit&gtid='.$gtid);
		trbasic(lang('usergroup cname'),'usergroupadd[cname]');
		($grouptype['mode'] > 1) && trbasic(lang(($grouptype['mode'] == 2 ? 'base' : 'exchange').' currency amount').'('.$currencys[$grouptype['crid']]['cname'].')','usergroupadd[currency]');
		tabfooter('busergroupsadd',lang('add'));
	}elseif(submitcheck('busergroupsadd')){
		!checkapermission('grouptype_'.$gtid) && amessage(lang('no_apermission'));
		if(!$usergroupadd['cname']){
			amessage(lang('usergroup data missing'),'?entry=usergroups&action=usergroupsedit&gtid='.$gtid);
		}
		$usergroupadd['currency'] = $grouptype['mode'] < 2 ? 0 : max(0,intval($usergroupadd['currency']));
		$db->query("INSERT INTO {$tblprefix}usergroups SET 
					cname='$usergroupadd[cname]', 
					currency='$usergroupadd[currency]', 
					gtid='$gtid'");

		adminlog(lang('add usergroup'));
		updatecache('usergroups',$gtid);
		amessage(lang('usergroup add finish'), '?entry=usergroups&action=usergroupsedit&gtid='.$gtid);
	}elseif(submitcheck('busergroupsedit')){
		!checkapermission('grouptype_'.$gtid) && amessage(lang('no_apermission'));
		if(!empty($delete)){
			foreach($delete as $ugid) {
				$db->query("DELETE FROM {$tblprefix}usergroups WHERE ugid='$ugid'");
				$db->query("UPDATE {$tblprefix}members SET grouptype$gtid=0 WHERE grouptype$gtid='$ugid'",'SILENT');
				del_cache('usergroup',$gtid,$ugid);
				unset($usergroupsnew[$ugid]);
			}
		}

		if(!empty($usergroupsnew)){
			foreach($usergroupsnew as $ugid => $usergroup){
				$usergroup['currency'] = $grouptype['mode'] < 2 ? 0 : max(0,intval($usergroup['currency']));
				$usergroup['prior'] = max(0,intval($usergroup['prior']));
				$usergroup['cname'] = empty($usergroup['cname']) ? $usergroups[$ugid]['cname'] : $usergroup['cname'];
				if(($usergroup['cname'] != $usergroups[$ugid]['cname']) || ($usergroup['prior'] != $usergroups[$ugid]['prior'] || ($usergroup['currency'] != $usergroups[$ugid]['currency']))){
					$db->query("UPDATE {$tblprefix}usergroups SET
								cname='$usergroup[cname]',
								currency='$usergroup[currency]',
								prior='$usergroup[prior]'
								WHERE ugid='$ugid'");
				}
			}
		}
		adminlog(lang('edit usergroup'));
		updatecache('usergroups',$gtid);
		amessage(lang('usergroup modify finish'), '?entry=usergroups&action=usergroupsedit&gtid='.$gtid);
	}
}elseif($action == 'usergroupcopy' && $gtid && $ugid){
	$forward = empty($forward) ? M_REFERER : $forward;
	$usergroup = read_cache('usergroup',$gtid,$ugid);
	if(!submitcheck('busergroupcopy')){
		a_guide('usergroupcopy');
		tabheader(lang('usergroup copy').'-'.$grouptype['cname'],'usergroupcopy',"?entry=usergroups&action=usergroupcopy&gtid=$gtid&ugid=$ugid&forward=".rawurlencode($forward),2,0,1);
		trbasic(lang('soc usergroup cname'),'',$usergroup['cname'],'');
		trbasic(lang('new usergroup cname'),'usergroupnew[cname]');
		tabfooter('busergroupcopy');
		$submitstr = '';
		$submitstr .= makesubmitstr('usergroupnew[cname]',1,0,0,30);
		check_submit_func($submitstr);
	}else{
		!checkapermission('grouptype_'.$gtid) && amessage(lang('no_apermission'));
		$usergroupnew['cname'] = trim(strip_tags($usergroupnew['cname']));
		if(empty($usergroupnew['cname'])){
			amessage(lang('data missing'),M_REFERER);
		}

		$sqlstr = '';
		foreach(array('mchids','currency','limitday','prior','amcid','discount','issuepermit','commentpermit','purchasepermit','answerpermit',
		'uploadpermit','searchpermit','downloadpermit','freeupdatecheck','freeupdatecopy','denyarc','denyatm','maxuptotal','maxdowntotal','maxpms',) as $k){
			$sqlstr .= ",$k='".addslashes($usergroup[$k])."'";
		}
		$db->query("INSERT INTO {$tblprefix}usergroups SET 
					cname='$usergroupnew[cname]', 
					gtid='$gtid' 
					$sqlstr
					");

		adminlog(lang('copy usergroup'));
		updatecache('usergroups',$gtid);
		amessage(lang('usergroup copy finish'),$forward);
	}
}elseif(($action == 'usergroupdetail') && $gtid && $ugid){
	$forward = empty($forward) ? M_REFERER : $forward;
	$usergroup = read_cache('usergroup',$gtid,$ugid);
	if(!submitcheck('busergroupdetail')){
		a_guide('usergroupdetail');
		tabheader(lang('edit usergroup').'-'.$grouptype['cname'],'usergroupdetail',"?entry=usergroups&action=usergroupdetail&gtid=$gtid&ugid=$ugid&forward=".rawurlencode($forward));
		trbasic(lang('usergroup cname'),'usergroupnew[cname]',$usergroup['cname']);
		trbasic(lang('inchids allow use'),'',makecheckbox('usergroupnew[mchids][]',mchidsarr(),!empty($usergroup['mchids']) ? explode(',',$usergroup['mchids']) : array(),5),'');
		trbasic(lang('usergroup validperiod').'('.lang('day').')','usergroupnew[limitday]',$usergroup['limitday']);
		if($grouptype['forbidden']){
			trbasic(lang('allow issue archive'),'usergroupnew[issuepermit]',$usergroup['issuepermit'],'radio');
			trbasic(lang('allow issue comment'),'usergroupnew[commentpermit]',$usergroup['commentpermit'],'radio');
			trbasic(lang('allow purchase goods'),'usergroupnew[purchasepermit]',$usergroup['purchasepermit'],'radio');
			trbasic(lang('allow issue answer0'),'usergroupnew[answerpermit]',$usergroup['answerpermit'],'radio');
			trbasic(lang('allow upload attachment'),'usergroupnew[uploadpermit]',$usergroup['uploadpermit'],'radio');
			trbasic(lang('allow download attachment'),'usergroupnew[downloadpermit]',$usergroup['downloadpermit'],'radio');
		}elseif($grouptype['afunction']){
			$amcidarr = array('0' => lang('nosetting'));
			$amconfigs = reload_cache('amconfigs');
			foreach($amconfigs as $amcid => $amconfig){
				$amcidarr[$amcid] = $amconfig['cname'];
			}
			trbasic(lang('admin backarea project'),'usergroupnew[amcid]',makeoption($amcidarr,$usergroup['amcid']),'select');
			trbasic(lang('allow upload attachment'),'usergroupnew[uploadpermit]',$usergroup['uploadpermit'],'radio');
			trbasic(lang('allow insite search'),'usergroupnew[searchpermit]',$usergroup['searchpermit'],'radio');
			trbasic(lang('freeupdatecheck'),'usergroupnew[freeupdatecheck]',$usergroup['freeupdatecheck'],'radio');
			trbasic(lang('freeupdatecopy'),'usergroupnew[freeupdatecopy]',$usergroup['freeupdatecopy'],'radio');
			trbasic(lang('freesale look tax content'),'usergroupnew[denyarc]',$usergroup['denyarc'],'radio');
			trbasic(lang('freesale look tax attachment'),'usergroupnew[denyatm]',$usergroup['denyatm'],'radio');
			trbasic(lang('pm amount limited'),'usergroupnew[maxpms]',$usergroup['maxpms']);
			trbasic(lang('upload limited').'(M)','usergroupnew[maxuptotal]',$usergroup['maxuptotal']);
			trbasic(lang('download limited').'(M)','usergroupnew[maxdowntotal]',$usergroup['maxdowntotal']);
			trbasic(lang('purchase goods discount (%)'),'usergroupnew[discount]',$usergroup['discount'],'text');
		}else{
			($grouptype['mode'] > 1) && trbasic(lang('related currency amount'),'usergroupnew[currency]',$usergroup['currency']);
			trbasic(lang('allow upload attachment'),'usergroupnew[uploadpermit]',$usergroup['uploadpermit'],'radio');
			trbasic(lang('allow insite search'),'usergroupnew[searchpermit]',$usergroup['searchpermit'],'radio');
			trbasic(lang('freeupdatecheck'),'usergroupnew[freeupdatecheck]',$usergroup['freeupdatecheck'],'radio');
			trbasic(lang('freeupdatecopy'),'usergroupnew[freeupdatecopy]',$usergroup['freeupdatecopy'],'radio');
			trbasic(lang('freesale subscribe archive'),'usergroupnew[denyarc]',$usergroup['denyarc'],'radio');
			trbasic(lang('freesale subscribe attachment'),'usergroupnew[denyatm]',$usergroup['denyatm'],'radio');
			trbasic(lang('pm amount limited'),'usergroupnew[maxpms]',$usergroup['maxpms']);
			trbasic(lang('upload limited').'(M)','usergroupnew[maxuptotal]',$usergroup['maxuptotal']);
			trbasic(lang('download limited').'(M)','usergroupnew[maxdowntotal]',$usergroup['maxdowntotal']);
			trbasic(lang('purchase goods discount (%)'),'usergroupnew[discount]',$usergroup['discount'],'text');
		}
		tabfooter('busergroupdetail',lang('modify'));
	}else{
		!checkapermission('grouptype_'.$gtid) && amessage(lang('no_apermission'));
		$sqlstr = '';
		if($grouptype['forbidden']){
			$sqlstr .= "issuepermit='$usergroupnew[issuepermit]',".
						"commentpermit='$usergroupnew[commentpermit]',".
						"purchasepermit='$usergroupnew[purchasepermit]',".
						"answerpermit='$usergroupnew[answerpermit]',".
						"uploadpermit='$usergroupnew[uploadpermit]',".
						"downloadpermit='$usergroupnew[downloadpermit]',";
			
		}elseif($grouptype['afunction']){
			$usergroupnew['discount'] = round(min(100,max(0,floatval($usergroupnew['discount']))),2);
			$usergroupnew['maxuptotal'] = !max(0,intval($usergroupnew['maxuptotal'])) ? 0 : max(0,intval($usergroupnew['maxuptotal']));
			$usergroupnew['maxdowntotal'] = !max(0,intval($usergroupnew['maxdowntotal'])) ? 0 : max(0,intval($usergroupnew['maxdowntotal']));
			$sqlstr .= "denyarc='$usergroupnew[denyarc]',".
						"uploadpermit='$usergroupnew[uploadpermit]',".
						"searchpermit='$usergroupnew[searchpermit]',".
						"freeupdatecheck='$usergroupnew[freeupdatecheck]',".
						"freeupdatecopy='$usergroupnew[freeupdatecopy]',".
						"denyatm='$usergroupnew[denyatm]',".
						"maxpms='$usergroupnew[maxpms]',".
						"discount='$usergroupnew[discount]',".
						"maxuptotal='$usergroupnew[maxuptotal]',".
						"maxdowntotal='$usergroupnew[maxdowntotal]',".
						"amcid='$usergroupnew[amcid]',";
		}else{
			$usergroupnew['currency'] = ($grouptype['mode'] < 1) || empty($usergroupnew['currency']) ? 0 : max(0,intval($usergroupnew['currency']));
			$usergroupnew['discount'] = round(min(100,max(0,floatval($usergroupnew['discount']))),2);
			$usergroupnew['maxuptotal'] = !max(0,intval($usergroupnew['maxuptotal'])) ? 0 : max(0,intval($usergroupnew['maxuptotal']));
			$usergroupnew['maxdowntotal'] = !max(0,intval($usergroupnew['maxdowntotal'])) ? 0 : max(0,intval($usergroupnew['maxdowntotal']));
			$sqlstr .=  "currency='$usergroupnew[currency]',".
						"uploadpermit='$usergroupnew[uploadpermit]',".
						"searchpermit='$usergroupnew[searchpermit]',".
						"freeupdatecheck='$usergroupnew[freeupdatecheck]',".
						"freeupdatecopy='$usergroupnew[freeupdatecopy]',".
						"denyarc='$usergroupnew[denyarc]',".
						"denyatm='$usergroupnew[denyatm]',".
						"maxpms='$usergroupnew[maxpms]',".
						"discount='$usergroupnew[discount]',".
						"maxuptotal='$usergroupnew[maxuptotal]',".
						"maxdowntotal='$usergroupnew[maxdowntotal]',";
			
		}
		$usergroupnew['cname'] = !$usergroupnew['cname'] ? $usergroup['cname'] : $usergroupnew['cname'];
		$usergroupnew['mchids'] = !empty($usergroupnew['mchids']) ? implode(',',$usergroupnew['mchids']) : '';
		$usergroupnew['limitday'] = !intval($usergroupnew['limitday']) ? 0 : intval($usergroupnew['limitday']);
		$sqlstr .= "cname='$usergroupnew[cname]',
				mchids='$usergroupnew[mchids]',
				limitday='$usergroupnew[limitday]'
				";
		$db->query("UPDATE {$tblprefix}usergroups SET $sqlstr WHERE ugid='$ugid'");
		adminlog(lang('detail modify usergroup'));
		updatecache('usergroups',$gtid);
		amessage(lang('usergroup edit finish'),$forward);
	}
}
?>