CategoryPriv.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // |
  4. // +----------------------------------------------------------------------
  5. // |
  6. // +----------------------------------------------------------------------
  7. // |
  8. // +----------------------------------------------------------------------
  9. // |
  10. // +----------------------------------------------------------------------
  11. // +----------------------------------------------------------------------
  12. // | 栏目权限模型
  13. // +----------------------------------------------------------------------
  14. namespace app\admin\model\cms;
  15. use think\Model;
  16. class CategoryPriv extends Model
  17. {
  18. protected $name = 'cms_category_priv';
  19. /**
  20. * 更新权限
  21. * @param $catid 栏目ID
  22. * @param $priv_datas
  23. * @param $is_admin 1为管理员
  24. */
  25. public static function update_priv($catid, $priv_datas, $is_admin = 1)
  26. {
  27. //删除旧的
  28. self::where(['catid' => $catid, 'is_admin' => $is_admin])->delete();
  29. if (is_array($priv_datas) && !empty($priv_datas)) {
  30. foreach ($priv_datas as $r) {
  31. if ($r) {
  32. list($action, $roleid) = explode(',', $r);
  33. self::create(['catid' => $catid, 'roleid' => $roleid, 'is_admin' => $is_admin, 'action' => $action]);
  34. }
  35. }
  36. }
  37. }
  38. /**
  39. * 检查栏目权限
  40. * @param $privs 权限数据
  41. * @param $action 动作
  42. * @param $roleid 角色
  43. * @param $is_admin 是否为管理组
  44. */
  45. public function check_category_priv($privs, $action, $roleid, $is_admin = 1)
  46. {
  47. $checked = '';
  48. foreach ($privs as $priv) {
  49. if ($priv['is_admin'] == $is_admin && $priv['roleid'] == $roleid && $priv['action'] == $action) {
  50. $checked = 'checked';
  51. }
  52. }
  53. return $checked;
  54. }
  55. }