setValue($val); $perm->setName($permission_name); return $perm; } public static function getAllEffectivePermission($user_id) { return LuticatePermissionsDataAccess::getAllEffectivePermission($user_id); } public static function getEffectivePermissionMe($user, $permission_name) { return self::getEffectivePermission($user->getId(), $permission_name); } public static function getAllEffectivePermissionMe($user) { return self::getAllEffectivePermission($user->getId()); } public static function getEffectiveDynamicPermission($user_id, $permission_name, $resource_id) { $dynamic_permission_name = "LU_DYN_" . $permission_name . "_" . $resource_id; $val = self::getEffectivePermission($user_id, $dynamic_permission_name); if (is_null($val->getValue())) { return self::getEffectivePermission($user_id, $permission_name); } return $val; } public static function get($permission_name) { $perm = LuticatePermissionsDataAccess::getByName($permission_name); if (is_null($perm)) { self::notFound("Permission not found"); } return $perm; } public static function add($permission_name, $permission_value) { $perm = LuticatePermissionsDataAccess::getByName($permission_name); if (is_null($perm)) { $perm = new LuticatePermissionsDbo(); $perm->setName($permission_name); $perm->setValue($permission_value); LuticatePermissionsDataAccess::add($perm); return true; } self::badInput("Permission name already exists"); return false; } public static function del($permission_name) { LuticatePermissionsDataAccess::delete($permission_name); return true; } public static function edit($permission_name, $permission_value) { self::checkPermissionName($permission_name); LuticatePermissionsDataAccess::edit($permission_name, $permission_value); return true; } }