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;
 }
예제 #3
0
 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;
 }