程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHPCMS2008欄目分權限子類繼承父類的解決辦法

PHPCMS2008欄目分權限子類繼承父類的解決辦法

編輯:關於PHP編程

在PHPCMS2008中,可對每個欄目分配給不同角色的不同權限,是以欄目為出發點,這一點與我們一般情況從角色為出發點不對,因此其沒有去實現欄目權限繼承的功能。但在實際中創建了很多欄目後再分權時你就會發現分權工作很麻煩的問題,原因是子欄目不能繼承父欄目,需要一個一個的分配。

針對這一點,我們也想到一個相對之策,即在判斷其是否有權限的同時,如果其本身沒有權限那就判斷他的所有上級,如果上級都沒有,那就沒有,如果有一個上級有那它就有。

具體修改如下:

admin目錄下的content.inc.php文件,大概在31行,找下這段代碼

$allow_manage = $priv_role->check('catid', $catid, 'manage');
$allow_add = $allow_manage ? true : $priv_role->check('catid', $catid, 'add');
$allow_check = $allow_manage ? true : $priv_role->check('catid', $catid, 'check');
$allow_view = $allow_manage ? true : $priv_role->check('catid', $catid, 'view');

---------以上是原代碼----------------------------------------------------------------
if(!$allow_manage){
$pcatid=get_brand_catid($catid);//此處為獲取父級ID的函數。可以自己寫一個遞歸。
$pcatid=$CATEGORY[$pcatid]['parentid'];
$allow_manage = $priv_role->check('catid', $pcatid, 'manage');
$allow_add = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'add');
$allow_check = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'check');
$allow_view = $allow_manage ? true : $priv_role->check('catid', $pcatid, 'view');

}

----------------以上是增加的代碼----------------------------------------------------
$attachment = new attachment($mod, $catid);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved