You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuticatePermissionsGroupsBusiness.php 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace Luticate\Auth\Business;
  3. use Luticate\Utils\LuBusiness;
  4. use Luticate\Auth\DataAccess\LuticatePermissionsGroupsDataAccess;
  5. use Luticate\Auth\DBO\LuticatePermissionsGroupsDbo;
  6. class LuticatePermissionsGroupsBusiness extends LuBusiness {
  7. protected static function getDataAccess()
  8. {
  9. return new LuticatePermissionsGroupsDataAccess();
  10. }
  11. public static function checkPermissionGroupName($group_id, $permission_name)
  12. {
  13. LuticateGroupsBusiness::checkGroupId($group_id);
  14. LuticatePermissionsBusiness::checkPermissionName($permission_name);
  15. return LuticatePermissionsGroupsDataAccess::getByName($group_id, $permission_name);
  16. }
  17. public static function get($group_id, $permission_name)
  18. {
  19. $perm = self::checkPermissionGroupName($group_id, $permission_name);
  20. if (is_null($perm)) {
  21. $perm = new LuticatePermissionsGroupsDbo();
  22. $perm->setName($permission_name);
  23. $perm->setValue(null);
  24. $perm->setGroupId($group_id);
  25. }
  26. return $perm;
  27. }
  28. public static function add($group_id, $permission_name, $permission_value)
  29. {
  30. $perm = self::checkPermissionGroupName($group_id, $permission_name);
  31. if (!is_null($perm)) {
  32. self::badInput("Group permission already exists");
  33. }
  34. $perm = new LuticatePermissionsGroupsDbo();
  35. $perm->setName($permission_name);
  36. $perm->setValue($permission_value);
  37. $perm->setGroupId($group_id);
  38. LuticatePermissionsGroupsDataAccess::add($perm);
  39. return true;
  40. }
  41. public static function del($group_id, $permission_name)
  42. {
  43. self::checkPermissionGroupName($group_id, $permission_name);
  44. LuticatePermissionsGroupsDataAccess::delete($group_id, $permission_name);
  45. return true;
  46. }
  47. public static function edit($group_id, $permission_name, $permission_value)
  48. {
  49. $perm = self::checkPermissionGroupName($group_id, $permission_name);
  50. if (is_null($perm)) {
  51. self::badInput("Permission not found");
  52. }
  53. LuticatePermissionsGroupsDataAccess::edit($group_id, $permission_name, $permission_value);
  54. return true;
  55. }
  56. }