phpcms不能删除栏目怎么办-PHPCMS

资源魔 36 0

phpcms不克不及删除了栏目是由于站点治理员不删除了栏目的权限,其处理方法:起首找到并关上“admin.class.php”文件;而后增加站点治理员的删除了栏目权限;最初修正“category.php”文件便可。

phpcms不克不及删除了栏目?PHPCMS站点治理员不删除了栏目的权限

phpcms V9除了超等治理员外,其余治理员都不删除了以及修正栏目的权限,这多是零碎的一个bug。

剖析:

PHPCMS v9 正在判别权限的时分只判别admin_role_priv表中所记载的权限。也就是咱们正在设置脚色的时分所进行的“权限设置”,而没有思考咱们所设置的“栏目 权限”。由admin:check_priv()正在能够看出,该办法不对栏目权限作任何思考。以是当咱们应用非超管登录时,修正栏目或删除了栏目就会提醒 “您不权限操作该项”。

地位:phpcms/modules/admin/classes/admin.class.php

保举:《phpcms教程》

处理方法:

1.找到/phpcms/modules/admin/classes/admin.class.php ,正在外面找到

$r =$privdb->get_one(array('m'=>ROUTE_M,'c'=>ROUTE_C,'a'=>$action,'roleid'=>$_SESSION['roleid'],'siteid'=>$siteid));

大略正在177行上,而后正在该句上面加之:

//增加站点治理员的删除了栏目权限 by:醒木
if(ROUTE_C == 'category'){
$catid = $_GET['catid'] ? $_GET['catid'] : $_POST['catid'];
//猎取脚色以后权限设置
pc_base::load_app_class('role_cat', '', 0);
$priv = role_cat::get_roleid($_SESSION['roleid'], $siteid);
if($priv[$catid][$action]) $r = true;
}

2.正在 /phpcms/modules/admin/category.php中找到

foreach ($arrchildid_arr as $arr_v) {
$this->update_priv($arr_v, $_POST['priv_groupid'], 0);
}

改成:

foreach ($arrchildid_arr as $arr_v) {
$this->update_priv($arr_v, $_POST['priv_roleid']); //增加站点治理员的删除了栏目权限 by:醒木
$this->update_priv($arr_v, $_POST['priv_groupid'], 0);
}

提醒:

记取正在增加货修正栏目时分勾选相应的删除了货修正权限。

以上就是phpcms不克不及删除了栏目怎样办的具体内容,更多请存眷资源魔其它相干文章!

标签: phpcms phpcms教程 phpcms技巧 php问题解决

抱歉,评论功能暂时关闭!