亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > PhpCMS > 正文

PHPCMS v9修改欄目或者單頁沒有權限

2024-09-10 07:15:14
字體:
來源:轉載
供稿:網友

問題:普通管理員沒有權限修改欄目,只有超級管理員才有權限修改,凡是非超級管理員,設置欄目權限后只能添加欄目,不能對欄目進行修改和刪除操作,提示您沒有權限操作該項這使系統的一個BUG.

一、對于普通欄目的權限:

PHPCMS v9在判斷權限的時候只判斷admin_role_priv表中所記錄的權限,也就是我們在設置角色的時候所進行的“權限設置”,而不考慮我們所設置的“欄目權限”,由admin:check_priv()在可以看出,該方法沒有對欄目權限作任何考慮,所以當我們使用非超管登錄時,修改欄目或刪除欄目就會提示“您沒有權限操作該項”.

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

解決辦法:

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));

大概在171行上,然后在該句下面加上:

  1. //修改2012-08-06 
  2. if(ROUTE_C == 'category'){ 
  3. $catid = $_GET['catid'] ? $_GET['catid'] : $_POST['catid']; 
  4. //獲取角色當前權限設置 
  5. pc_base::load_app_class('role_cat''', 0); 
  6. $priv = role_cat::get_roleid($_SESSION['roleid'], $siteid); 
  7. if($priv[$catid][$action]) $r = true; 
  8. //修改完畢 

2.在 /phpcms/modules/admin/category.php中找到如下代碼:

  1. foreach ($arrchildid_arr as $arr_v) { 
  2.        $this->update_priv($arr_v$_POST['priv_groupid'], 0); 
  3.  
  4. //改為: 
  5.  
  6. foreach ($arrchildid_arr as $arr_v) { 
  7.        $this->update_priv($arr_v$_POST['priv_roleid']); 
  8.        $this->update_priv($arr_v$_POST['priv_groupid'], 0); 
  9. }  //Vevb.com 

二、對于單頁的權限:

上面的方法可能只能解決欄目權限問題,并不能解決單頁權限問題,這是因為后臺并沒有保存到我們的設置的單頁權限.

解決辦法:我們找到后臺的:【設置】-【管理員設置】-【角色管理】-【欄目權限】,選擇我們要修改的站點,然后右邊出現如下:

這是因為在后臺的代碼中(phpcms/modules/admin/role.php 175行)設置欄目權限setting_cat_priv()這個方法里面定義了如果是類型為 1 即單頁,禁用除了查看之外所有權限,其他權限呈現灰色不可選,事實上欄目和單頁在系統看來都是作為欄目來處理的.

所以我們把if這個判斷去除,把foreach循環里面的內容修改為以下即可:

  1. $v['disabled'] = ''
  2. $v['add_check'] = isset($priv[$v['catid']]['add']) ? 'checked' : ''
  3. $v['delete_check'] = isset($priv[$v['catid']]['delete']) ? 'checked' : ''
  4. $v['listorder_check'] = isset($priv[$v['catid']]['listorder']) ? 'checked' : ''
  5. $v['push_check'] = isset($priv[$v['catid']]['push']) ? 'checked' : ''
  6. $v['move_check'] = isset($priv[$v['catid']]['remove']) ? 'checked' : ''
  7. $v['edit_check'] = isset($priv[$v['catid']]['edit']) ? 'checked' : ''
  8. $v['init_check'] = isset($priv[$v['catid']]['init']) ? 'checked' : ''
  9. $category[$k] = $v

這個時候你去后臺即可看到所有的單頁和欄目都可以選擇所有權限了.

4.但是我們用普通帳號去管理欄目的時候,修改單頁保存之后,再點擊編輯的時候提示沒有權限了。

修改欄目方法地址:phpcms/modules/admin/category.php 找到edit()方法,發現默認方法中會根據欄目類型調用不同管理模版,單頁模版的是:phpcms/modules/admin/templates/category_page_edit.tpl.php,打開文件

ctrl+F 查找id="div_setting_5" ,定位到第五個TAB標簽,看表頭中寫的是[role_name]和[edit],正確應該是[view]的,兩項.

原因:到這里我們應該清楚為什么修改一次就沒權限了,因為每次修改之前會把默認值放到頁面,然后提交的時候只提交了查看權限,其他的權限沒有表單來提交過去,而更新權限是把所有先清空一遍,然后保存表單提交的數據,所以其他權限都沒了。

我們把欄目模版:phpcms/modules/admin/templates/category_edit.tpl.php (ctrl+F id="div_setting_5")對應的表格內容復制替換這里即可,復制完之后把move改成remove 就是最后一項[移動]的權限的值.

保存之后,我們再點開發現后臺現在已經可以選擇權限了,選中保存并測試,完成.

說明:1.在上面修改的操作中,請習慣寫上注釋,這是我們自己修改的,等到官方升級之后看看是否需要修改覆蓋.

2.操作做完之后,默認新增的欄目只能是當前管理員才有效,這個時候我們可以在新增欄目的時候選擇,在 權限設置 一欄選擇哪些管理員有權限.

3.對于新增欄目權限,大家可以自己按上面的方法去檢查并修復.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文欧美日本在线资源| 亚洲精品电影网| 97在线视频免费观看| 亚洲精品美女免费| 国产一区私人高清影院| 亚洲丝袜在线视频| 另类美女黄大片| 欧美www视频在线观看| 91高清免费视频| 久久久久久国产精品| 欧美电影在线观看网站| 欧美精品www在线观看| 国产成人精品视频在线| 国产日韩在线播放| 欧美日韩国产123| 国产精品色午夜在线观看| 成人信息集中地欧美| 亚洲一二三在线| 久久夜色精品国产亚洲aⅴ| 亚洲欧美色婷婷| 欧美乱大交xxxxx| 黄色一区二区在线| 一本大道香蕉久在线播放29| 欧美日韩福利在线观看| 欧美巨大黑人极品精男| 国产精品视频播放| 久久国产精彩视频| 成人免费网站在线看| 在线播放日韩av| 国产一区二区三区18| 成人国内精品久久久久一区| 91免费在线视频网站| 国产精品亚洲第一区| 精品久久久久人成| 亚洲精品在线91| 国产精品丝袜久久久久久高清| 亚洲国产欧美久久| 日韩a**站在线观看| 日韩激情在线视频| 欧美一区二区三区四区在线| 欧美在线亚洲一区| 欧美精品在线免费播放| 日韩一级裸体免费视频| 欧美日韩国产一中文字不卡| 亚洲美女久久久| 欧美放荡办公室videos4k| 国产日韩欧美黄色| 国产成人精品亚洲精品| 欧美疯狂做受xxxx高潮| 456国产精品| 国产一区欧美二区三区| 亚洲国产精品va在线看黑人| 久久视频这里只有精品| 亚洲男人天堂视频| 国产女精品视频网站免费| 精品露脸国产偷人在视频| 欧美一级电影在线| 91久久国产精品| 日本免费一区二区三区视频观看| 亚洲欧美日韩一区二区三区在线| 精品视频—区二区三区免费| 国产成人一区二区三区| 日韩理论片久久| 日韩视频在线观看免费| 国产精品678| 91精品国产91久久久久久久久| 亚洲精品720p| 亚洲自拍偷拍第一页| 国产精品影片在线观看| 午夜精品美女自拍福到在线| 97超碰国产精品女人人人爽| 91午夜在线播放| 国产精品成人观看视频国产奇米| 欧美午夜无遮挡| 国产精品久久久久国产a级| 日韩国产在线播放| 成人免费视频xnxx.com| 国产精品香蕉国产| 久久中文精品视频| 日韩电影免费观看在线| 国产精品揄拍一区二区| 日韩av网站在线| 亚洲剧情一区二区| 亚洲一区二区三| 国产精品三级在线| 国产精品视频999| 96精品久久久久中文字幕| 久久视频中文字幕| 亚洲国产精品va在线看黑人| 人人做人人澡人人爽欧美| 日韩精品免费在线视频观看| 欧美精品少妇videofree| 欧洲亚洲妇女av| 亚洲无线码在线一区观看| 久久精品亚洲国产| 亚洲欧美中文在线视频| 国产丝袜一区二区三区| 欧美在线一级va免费观看| 成人精品一区二区三区电影免费| 欧美激情a∨在线视频播放| 欧美疯狂xxxx大交乱88av| 欧美午夜激情小视频| 国产视频自拍一区| 2018中文字幕一区二区三区| 国产91久久婷婷一区二区| 亚洲午夜av久久乱码| 97在线视频免费看| 欧美日韩国产成人在线| 亚洲欧美在线免费| 国产精品欧美一区二区三区奶水| 欧洲成人免费aa| 欧美裸体xxxx极品少妇软件| 亚洲欧美一区二区三区四区| 91在线视频导航| 欧美激情亚洲精品| 不卡伊人av在线播放| 国产精品免费一区| 色yeye香蕉凹凸一区二区av| 九九九热精品免费视频观看网站| 国产精品视频公开费视频| 福利视频导航一区| 在线观看亚洲区| 91香蕉嫩草影院入口| 97国产成人精品视频| 亚洲视频自拍偷拍| 久久久国产精品x99av| 91国内精品久久| 久久精品这里热有精品| 国产成人高潮免费观看精品| 国产精品黄页免费高清在线观看| 国产亚洲一区二区在线| 亚州国产精品久久久| 91久久精品久久国产性色也91| 日韩av男人的天堂| 97视频在线观看免费高清完整版在线观看| 69久久夜色精品国产69| 国产精品18久久久久久首页狼| 深夜福利91大全| 国内精品小视频| 一区三区二区视频| 国产一区二区三区丝袜| 正在播放欧美一区| 欧美激情一区二区三级高清视频| 日韩视频免费观看| 黄色成人在线播放| 亚洲男人的天堂在线播放| 欧美午夜女人视频在线| 久久久久久久久久国产| 亚洲美女在线看| 日韩精品在线视频| 国产亚洲免费的视频看| 在线视频欧美日韩| 国产成人精品国内自产拍免费看| 日本一区二区在线播放| 亚洲jizzjizz日本少妇| 91精品国产91久久久久| 国产成人精品免高潮费视频| 97超级碰碰碰| 91精品久久久久久久久| 欧美性猛交99久久久久99按摩| 尤物精品国产第一福利三区| 一区二区三欧美| 精品少妇v888av| 亚洲精品网址在线观看|