role_cat.class.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. defined('IN_PHPCMS') or exit('No permission resources.');
  3. class role_cat {
  4. //数据库连接
  5. static $db;
  6. private static function _connect() {
  7. self::$db = pc_base::load_model('category_priv_model');
  8. }
  9. /**
  10. * 获取角色配置权限
  11. * @param integer $roleid 角色ID
  12. * @param integer $siteid 站点ID
  13. */
  14. public static function get_roleid($roleid, $siteid) {
  15. if (empty(self::$db)) {
  16. self::_connect();
  17. }
  18. if ($data = self::$db->select("`roleid` = '$roleid' AND `is_admin` = '1' AND `siteid` IN ('$siteid') ")) {
  19. $priv = array();
  20. foreach ($data as $k=>$v) {
  21. $priv[$v['catid']][$v['action']] = true;
  22. }
  23. return $priv;
  24. } else {
  25. return false;
  26. }
  27. }
  28. /**
  29. * 获取站点栏目列表
  30. * @param integer $siteid 站点ID
  31. * @return array() 返回为数组
  32. */
  33. public static function get_category($siteid) {
  34. $category = getcache('category_content_'.$siteid, 'commons');
  35. foreach ($category as $k=>$v) {
  36. if (!in_array($v['type'], array(0,1))) unset($category[$k]);
  37. }
  38. return $category;
  39. }
  40. /**
  41. * 更新数据库信息
  42. * @param integer $roleid 角色ID
  43. * @param integer $siteid 站点ID
  44. * @param array $data 需要更新的数据
  45. */
  46. public static function updata_priv($roleid, $siteid, $data) {
  47. if (empty(self::$db)) {
  48. self::_connect();
  49. }
  50. //删除该角色当前的权限
  51. self::$db->delete(array('roleid'=>$roleid, 'siteid'=>$siteid, 'is_admin'=>1));
  52. foreach ($data as $k=>$v) {
  53. if (is_array($v) && !empty($v[0])) {
  54. foreach ($v as $key=>$val) {
  55. self::$db->insert(array('siteid'=>$siteid, 'catid'=>$k, 'is_admin'=>1, 'roleid'=>$roleid, 'action'=>$val));
  56. }
  57. }
  58. }
  59. }
  60. }