static function GetRolePrivilege($user, $obj_type, $obj_value) { FuegoLog::getLog()->LogInfo("Get role privilege..."); $privilegeResult = true; $companyCondition['company_id'] = $user['company_id']; $companyDao = MispDaoContext::Company(); $companyStatus = $companyDao->where($companyCondition)->getField('company_status'); if (CompanyEnum::STATUS_FREEZE == $companyStatus) { FuegoLog::getLog()->LogInfo("Get role privilege failed. The company is freezed, company id is " . $user['company_id']); return false; } $loginCondition['master_value'] = $user['role_id']; $loginCondition['master_type'] = PrivilegeEnum::MASTER_TYPE_ROLE; $loginCondition['access_obj_type'] = $obj_type; $loginCondition['access_obj_value'] = $obj_value; $privilegeDao = MispDaoContext::Privilege(); $Privilege = $privilegeDao->where($loginCondition)->count(); if ($Privilege < 1) { $privilegeResult = false; } return $privilegeResult; }
public function CreateBasicRole($companyID) { //创建公司基本角色 $roleDao = MispDaoContext::SystemRole(); //创建管理员角色 $role['role_name'] = "管理员"; $role['user_type_id'] = UserTypeEnum::ADMIN; $role['user_type_name'] = "ADMIN"; $role['company_id'] = $companyID; $adminRoleID = MispCommonService::Create($roleDao, $role); //创建管理员权限 $privilegeDao = MispDaoContext::Privilege(); $privilegeList = array(); for ($i = 1; $i < 5; $i++) { $privilege['master_type'] = PrivilegeEnum::MASTER_TYPE_ROLE; $privilege['master_value'] = $adminRoleID; $privilege['access_obj_type'] = PrivilegeEnum::ACCESS_TYPE_MENU; $privilege['access_obj_value'] = $i; array_push($privilegeList, $privilege); } $loginPrivilege['master_type'] = PrivilegeEnum::MASTER_TYPE_ROLE; $loginPrivilege['master_value'] = $adminRoleID; $loginPrivilege['access_obj_type'] = PrivilegeEnum::ACCESS_TYPE_LOGIN; $loginPrivilege['access_obj_value'] = PrivilegeEnum::ACCESS_VALUE_WEB_LOGIN; array_push($privilegeList, $loginPrivilege); $result = MispCommonService::CreateList($privilegeDao, $privilegeList); //创建消费者角色 $role['role_name'] = "消费者"; $role['user_type_id'] = UserTypeEnum::CUSTOMER; $role['user_type_name'] = "CUSTOMER"; $role['company_id'] = $companyID; $sellerRoleID = MispCommonService::Create($roleDao, $role); //创建消费者权限 $loginPrivilege['master_type'] = PrivilegeEnum::MASTER_TYPE_ROLE; $loginPrivilege['master_value'] = $sellerRoleID; $loginPrivilege['access_obj_type'] = PrivilegeEnum::ACCESS_TYPE_LOGIN; $loginPrivilege['access_obj_value'] = PrivilegeEnum::ACCESS_VALUE_APP_LOGIN; $result = MispCommonService::Create($privilegeDao, $loginPrivilege); return $adminRoleID; }
public function GetMenuTree() { $this->LogInfo("get menu tree"); //获取用户菜单权限 $privilegeDao = MispDaoContext::Privilege(); $condition['master_value'] = $_SESSION['user']['role_id']; $condition['master_type'] = PrivilegeEnum::MASTER_TYPE_ROLE; $condition['access_obj_type'] = PrivilegeEnum::ACCESS_TYPE_MENU; $menuIDList = $privilegeDao->where($condition)->getField('access_obj_value', true); //获取菜单列表 $menuDao = MispDaoContext::Menu(); $map['menu_id'] = array('in', $menuIDList); $menuList = $menuDao->where($map)->select(); //转换为tree $treeList = array(); foreach ($menuList as $menu) { $tree['id'] = $menu['menu_id']; $tree['text'] = $menu['value']; $tree['iconCls'] = $menu['icon']; $tree['attributes']['url'] = $menu['url']; array_push($treeList, $tree); } $this->LogInfo("menu tree is " . json_encode($treeList)); echo json_encode($treeList); exit; }