12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
-
- namespace Luticate\Auth\Business;
-
- use Luticate\Utils\LuBusiness;
- use Luticate\Auth\DataAccess\LuticatePermissionsDataAccess;
- use Luticate\Auth\DBO\LuticatePermissionsDbo;
-
- class LuticatePermissionsBusiness extends LuBusiness {
- protected static function getDataAccess()
- {
- return new LuticatePermissionsDataAccess();
- }
-
- public static function checkPermissionName($permission_name)
- {
- $perm = LuticatePermissionsDataAccess::getByName($permission_name);
- if (is_null($perm)) {
- self::notFound("Permission not found");
- }
- return $perm;
- }
-
- public static function getEffectivePermission($user_id, $permission_name)
- {
- self::checkPermissionName($permission_name);
- $val = LuticatePermissionsDataAccess::getEffectivePermission($user_id, $permission_name);
- $perm = new LuticatePermissionsDbo();
- $perm->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;
- }
- }
|