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

    <?
(!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission');
aheader();
load_cache('permissions,grouptypes');
$priorarr = array('1' => lang('low'),'2' => lang('center'),'3' =>lang('high'),'4' => lang('highest'));
if($action == 'permissionsedit'){
	if(!submitcheck('bpermissionsedit') && !submitcheck('bpermissionsadd')) {
		a_guide('permissionsedit');
		tabheader(lang('permission project manager'),'permissionsedit','?entry=permissions&action=permissionsedit','6');
		trcategory(array(lang('delete'),lang('project cname'),lang('project type'),lang('prior'),lang('admin_self'),lang('edit')));
		$permissions = array_reverse($permissions,true);
		foreach($permissions as $permission){
			$priorstr = !$permission['issystem'] ? "<select style=\"vertical-align: middle;\" name=\"permissionsnew[$permission[pmid]][prior]\">".makeoption($priorarr,$permission['prior'])."</select>" : lang('lowest');
			$isadminstr ="<input class=\"checkbox\" type=\"checkbox\" name=\"permissionsnew[$permission[pmid]][isadmin]\" value=\"1\"".($permission['isadmin'] ? " checked" : "").($permission['issystem'] ? ' disabled' : '').">";
			$cnamestr = !$permission['issystem'] ? "<input type=\"text\" size=\"40\" maxlength=\"30\" name=\"permissionsnew[$permission[pmid]][cname]\" value=\"$permission[cname]\">" : lang('default project')."(".lang('please setting detail').")";
			echo "<tr>".
				"<td class=\"item1\" width=\"60\" align=\"center\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$permission[pmid]]\" value=\"$permission[pmid]\"".($permission['issystem'] ? ' disabled' : '')."></td>\n".
				"<td class=\"item2\">$cnamestr</td>\n".
				"<td class=\"item1\" width=\"100\" align=\"center\">".($permission['issystem'] ? lang('system') : lang('iscustom'))."</td>\n".
				"<td class=\"item2\" width=\"100\" align=\"center\">$priorstr</td>\n".
				"<td class=\"item1\" width=\"100\" align=\"center\">$isadminstr</td>\n".
				"<td class=\"item2\" width=\"100\" align=\"center\"><a href=\"?entry=permissions&action=permissionsdetail&pmid=$permission[pmid]\">".lang('detail')."</a></td></tr>\n";
		}
		tabfooter('bpermissionsedit',lang('modify'));

		tabheader(lang('add permission project'),'permissionsadd','?entry=permissions&action=permissionsedit');
		trbasic(lang('project cname'),'permissionadd[cname]');
		trbasic(lang('prior'),'permissionadd[prior]',makeoption($priorarr),'select');
		trbasic(lang('admin_self'),'permissionadd[isadmin]',0,'radio');
		tabfooter('bpermissionsadd',lang('add'));
	}
	elseif(submitcheck('bpermissionsadd')){
		!checkapermission('permissionsedit') && amessage(lang('no_apermission'));
		if(!$permissionadd['cname']) {
			amessage(lang('data missing'), '?entry=permissions&action=permissionsedit');
		}
		$permissionadd['isadmin'] = empty($permissionadd['isadmin']) ? 0 : 1;
		$db->query("INSERT INTO {$tblprefix}permissions SET 
					cname='$permissionadd[cname]',
					isadmin='$permissionadd[isadmin]',
					prior='$permissionadd[prior]'
					");
		adminlog(lang('add permission project'));
		updatecache('permissions');
		amessage(lang('project add finish'), '?entry=permissions&action=permissionsedit');
	}
	elseif(submitcheck('bpermissionsedit')){
		!checkapermission('permissionsedit') && amessage(lang('no_apermission'));
		if(isset($delete)){
			foreach($delete as $k){
				$db->query("DELETE FROM {$tblprefix}permissions WHERE pmid=$k");
				unset($permissionsnew[$k]);
				unset($permissions[$k]);
			}
		}
		foreach($permissions as $pmid => $permission){
			if(!$permission['issystem']){
				$permission['cname'] = $permissionsnew[$pmid]['cname'] ? $permissionsnew[$pmid]['cname'] : $permission['cname'];
				$permission['isadmin'] = empty($permissionsnew[$pmid]['isadmin']) ? 0 : 1;
				$permission['prior'] = $permissionsnew[$pmid]['prior'];
				$db->query("UPDATE {$tblprefix}permissions SET 
							cname='$permission[cname]',
							isadmin='$permission[isadmin]',
							prior='$permission[prior]'
							WHERE pmid='$pmid'");
			}
		}
		adminlog(lang('edit permission project manager list'));
		updatecache('permissions');
		amessage(lang('project modify finish'), '?entry=permissions&action=permissionsedit');
	}
}
if($action == 'permissionsdetail' && $pmid){
	$permission = $permissions[$pmid];
	$pmstrs = array(
				'aread' => lang('archive browse'),
				'cread' => lang('catas browse'),
				'issue' => lang('issue archive'),
				'download' => lang('download'),
				'play' => lang('play')
				);
	if(!submitcheck('bpermissionsdetail')) {
		a_guide('permissionsdetail');
		tabheader(lang('content permission project'),'permissionsdetail','?entry=permissions&action=permissionsdetail&pmid='.$pmid);
		if(!$permission['issystem']){
			trbasic(lang('project cname'),'permissionnew[cname]',$permission['cname']);
			trbasic(lang('prior'),'permissionnew[prior]',makeoption($priorarr,$permission['prior']),'select');
			trbasic(lang('admin_self'),'permissionnew[isadmin]',$permission['isadmin'],'radio');
		}else{
			trbasic(lang('project cname'),'',$permission['cname'],'');
			trbasic(lang('prior'),'',lang('lowest'),'');
			trbasic(lang('admin_self'),'',lang('no'),'');
		}

		$catearr = array(lang('detail permission'));
		$i = 0;
		foreach($pmstrs as $pmstr => $pmcstr){
			$i ++;
			$catearr[] = "$pmcstr<input class=\"checkbox\" type=\"checkbox\" name=\"chkall$i\" onclick=\"checkall(this.form, 'pm_".$pmstr."', 'chkall".$i."')\">";
		}

		$items = array();
		foreach($grouptypes as $gtid => $grouptype){
			if(!$grouptype['forbidden']){
				foreach(ugidsarr($gtid) as $ugid => $ugcname){
					$items[$ugid] = $ugcname;
				}
			}
		}
		$items['0'] = lang('user0');
		$items['-1'] = lang('nouser');
		$itemstr = '';
		foreach($items as $ugid => $ugcname){
			$itemstr .= "<tr>\n".
				"<td class=\"item1\"><input class=\"checkbox\" type=\"checkbox\" name=\"chkallv$ugid\" onclick=\"checkallvalue(this.form,'$ugid','chkallv$ugid')\">&nbsp;&nbsp;$ugcname</td>\n";
			$i = 0;
			foreach($pmstrs as $pmstr => $v){
				$i ++;
				$strclass = !($i % 2) ? 'item1' : 'item2';
				$itemstr .= "<td class=\"$strclass\" align=\"center\"><input class=\"checkbox\" type=\"checkbox\" name=\"pm_".$pmstr."[]\" value=\"$ugid\"".(in_array($ugid,$permission[$pmstr]) ? " checked" : "")."></td>\n";
			}
			$itemstr .= "</tr>\n";
		}

		tabheader(lang('detail setting'),'','',8);
		trcategory($catearr);
		echo $itemstr;
		tabfooter('bpermissionsdetail',lang('modify'));
	}
	else{
		!checkapermission('permissionsedit') && amessage(lang('no_apermission'));
		$sqlstr = '';
		if(!$permissions[$pmid]['issystem']){
			$permissionnew['isadmin'] = empty($permissionnew['isadmin']) ? 0 : 1;
			$permissionnew['cname'] = !$permissionnew['cname'] ? $permission['cname'] : $permissionnew['cname'];
			$sqlstr = "cname='$permissionnew[cname]',prior='$permissionnew[prior]',isadmin='$permissionnew[isadmin]'";
		}
		foreach($pmstrs as $pmstr => $v){
			$permissionnew[$pmstr] = isset(${'pm_'.$pmstr}) ? ${'pm_'.$pmstr} : array();
			$pmvalue = implode(',',$permissionnew[$pmstr]);
			$sqlstr .= ($sqlstr ? "," : "")."$pmstr='$pmvalue'";
		}
		$db->query("UPDATE {$tblprefix}permissions SET $sqlstr WHERE pmid='$pmid'");
		adminlog(lang('detail0 modify permission project'));
		updatecache('permissions');
		amessage(lang('project modify finish'), '?entry=permissions&action=permissionsedit');
	}
}
?>