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.

LuticatePermissionsUsersBusiness.php 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace Luticate\Auth\Business;
  3. use Luticate\Auth\DBO\LuticatePermissionsDbo;
  4. use Luticate\Utils\LuBusiness;
  5. use Luticate\Auth\DataAccess\LuticatePermissionsUsersDataAccess;
  6. use Luticate\Auth\DBO\LuticatePermissionsUsersDbo;
  7. use Luticate\Utils\LuMultipleDbo;
  8. class LuticatePermissionsUsersBusiness extends LuBusiness {
  9. protected static function getDataAccess()
  10. {
  11. return new LuticatePermissionsUsersDataAccess();
  12. }
  13. public static function checkPermissionUserName($user_id, $permission_name)
  14. {
  15. LuticateUsersBusiness::checkUserId($user_id);
  16. LuticatePermissionsBusiness::checkPermissionName($permission_name);
  17. return LuticatePermissionsUsersDataAccess::getByName($user_id, $permission_name);
  18. }
  19. public static function getAllByUser($user_id, $page = 0, $perPage = 2000000000)
  20. {
  21. $values = LuticatePermissionsUsersDataAccess::getAllByUser($user_id, $page, $perPage);
  22. $dbos = [];
  23. foreach ($values->getData() as $value) {
  24. $dbo = new LuticatePermissionsDbo();
  25. $dbo->setValue($value->getValue());
  26. $dbo->setName($value->getName());
  27. $dbos[] = $dbo;
  28. }
  29. return new LuMultipleDbo($values->getCount(), $dbos);
  30. }
  31. public static function get($user_id, $permission_name)
  32. {
  33. return LuticatePermissionsUsersDataAccess::getByName($user_id, $permission_name);
  34. }
  35. public static function add($user_id, $permission_name, $permission_value)
  36. {
  37. $perm = self::checkPermissionUserName($user_id, $permission_name);
  38. if (!is_null($perm)) {
  39. self::badInput("User permission already exists");
  40. }
  41. $perm = new LuticatePermissionsUsersDbo();
  42. $perm->setName($permission_name);
  43. $perm->setValue($permission_value);
  44. $perm->setUserId($user_id);
  45. LuticatePermissionsUsersDataAccess::add($perm);
  46. return true;
  47. }
  48. public static function del($user_id, $permission_name)
  49. {
  50. self::checkPermissionUserName($user_id, $permission_name);
  51. LuticatePermissionsUsersDataAccess::delete($user_id, $permission_name);
  52. return true;
  53. }
  54. public static function edit($user_id, $permission_name, $permission_value)
  55. {
  56. self::del($user_id, $permission_name);
  57. return self::add($user_id, $permission_name, $permission_value);
  58. }
  59. }