destoon 后台某些系统权限除了网站创始人之外其他超管事没有权限的,现需要给其他超级管理员添加普通管理员的权限。
1、首先 admin/global.func.php admin_check函数 ,去掉admin 这样超管才能访问 ?file=admin
} else if($_admin == 1) {
//if(in_array($file, array('admin', 'setting', 'module', 'area', 'database', 'template', 'skin', 'log', 'update', 'group', 'fields', 'loginlog'))) return false; //Founder || Common Admin Only
if(in_array($file, array('setting', 'module', 'area', 'database', 'template', 'skin', 'log', 'update', 'group', 'fields', 'loginlog'))) return false;
}
2、在管理员面板权限增加管理员管理
3、admin/admin.inc.php
default: 分支 $condition = 'groupid=1 AND admin>0'; 改成
if($_founder){
$condition = 'groupid=1 AND admin>0';}else{
$condition = 'groupid=1 AND admin>0 and userid<>'.$CFG['founderid'].' ';
}
让其他管理员看不到网站创始人账户。
4、不让超管管理自己 admin/templates/admin.tpl.php 增加判断,8是超管id,只有一个超管。
<?php if(!$_founder&&$v['userid']!=8 || $_founder){?>
<a href="?file=<?php echo $file;?>&action=edit&userid=<?php echo $v['userid'];?>" title="修改管理级别、角色、分站">修改</a> |
<a href="javascript:Dwidget('?file=<?php echo $file;?>&action=right&userid=<?php echo $v['userid'];?>', '[<?php echo $v['username'];?>]分配权限和管理面板');" title="分配权限 / 管理面板">权限/面板</a> |
<a href="?file=<?php echo $file;?>&action=delete&username=<?php echo $v['username'];?>" onclick="return _delete();" title="撤销管理员">撤销</a>
<?php }?>
5、不允许超管添加其他超管,超管就一个 admin/templates/admin_add.tpl.php admin_edit.tpl.php 加上是否是创始人的判断即可
<?php if($_founder){ ?>
<div class="b10"> </div>
<input type="radio" name="admin" value="1" id="admin_1" onclick="Dh('ro');" checked/><label for="admin_1"> 超级管理员</label> <span class="f_gray">拥有除创始人特权外的所有权限</span>
<?php }?>
6、非创始人去除权限设置动作权限全有。admin_right.tpl.php 行109 <?php if($user['admin'] != 1) { ?> 改成
<?php if($_founder && $user['admin'] != 1) { ?>
7、面板权限设置 的 常用操作去除没用的选项。