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')\"> $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'); } } ?>