123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- defined('IN_PHPCMS') or exit('No permission resources.');
- //定义在后台
- define('IN_ADMIN',true);
- class role_op {
- public function __construct() {
- $this->db = pc_base::load_model('admin_role_model');
- $this->priv_db = pc_base::load_model('admin_role_priv_model');
- }
- /**
- * 获取角色中文名称
- * @param int $roleid 角色ID
- */
- public function get_rolename($roleid) {
- $roleid = intval($roleid);
- $search_field = '`roleid`,`rolename`';
- $info = $this->db->get_one(array('roleid'=>$roleid),$search_field);
- return $info;
- }
-
- /**
- * 检查角色名称重复
- * @param $name 角色组名称
- */
- public function checkname($name) {
- $info = $this->db->get_one(array('rolename'=>$name),'roleid');
- if($info[roleid]){
- return true;
- }
- return false;
- }
-
- /**
- * 获取菜单表信息
- * @param int $menuid 菜单ID
- * @param int $menu_info 菜单数据
- */
- public function get_menuinfo($menuid,$menu_info) {
- $menuid = intval($menuid);
- unset($menu_info[$menuid][id]);
- return $menu_info[$menuid];
- }
-
- /**
- * 检查指定菜单是否有权限
- * @param array $data menu表中数组
- * @param int $roleid 需要检查的角色ID
- */
- public function is_checked($data,$roleid,$siteid,$priv_data) {
- $priv_arr = array('m','c','a','data');
- if($data['m'] == '') return false;
- foreach($data as $key=>$value){
- if(!in_array($key,$priv_arr)) unset($data[$key]);
- }
- $data['roleid'] = $roleid;
- $data['siteid'] = $siteid;
- $info = in_array($data, $priv_data);
- if($info){
- return true;
- } else {
- return false;
- }
-
- }
- /**
- * 是否为设置状态
- */
- public function is_setting($siteid,$roleid) {
- $siteid = intval($siteid);
- $roleid = intval($roleid);
- $sqls = "`siteid`='$siteid' AND `roleid` = '$roleid' AND `m` != ''";
- $result = $this->priv_db->get_one($sqls);
- return $result ? true : false;
- }
- /**
- * 获取菜单深度
- * @param $id
- * @param $array
- * @param $i
- */
- public function get_level($id,$array=array(),$i=0) {
- foreach($array as $n=>$value){
- if($value['id'] == $id)
- {
- if($value['parentid']== '0') return $i;
- $i++;
- return $this->get_level($value['parentid'],$array,$i);
- }
- }
- }
- }
- ?>
|