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.

LuticateSettingsUsersBusiness.php 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace Luticate\Auth\Business;
  3. use Luticate\Utils\LuBusiness;
  4. use Luticate\Auth\DataAccess\LuticateSettingsUsersDataAccess;
  5. use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
  6. use Luticate\Utils\LuMultipleDbo;
  7. class LuticateSettingsUsersBusiness extends LuBusiness {
  8. protected static function getDataAccess()
  9. {
  10. return new LuticateSettingsUsersDataAccess();
  11. }
  12. public static function checkSettingUserName($user_id, $setting_name)
  13. {
  14. LuticateUsersBusiness::checkUserId($user_id);
  15. LuticateSettingsBusiness::checkSettingName($setting_name);
  16. $setting = LuticateSettingsUsersDataAccess::getByName($user_id, $setting_name);
  17. if (is_null($setting)) {
  18. self::notFound("User setting not found");
  19. }
  20. return $setting;
  21. }
  22. public static function getAllByUser($user_id, $page = 0, $perPage = 2000000000)
  23. {
  24. return LuticateSettingsUsersDataAccess::getAllByUser($user_id, $page, $perPage);
  25. }
  26. public static function edit($user_id, $setting_name, $setting_value)
  27. {
  28. $setting_value = json_decode($setting_value);
  29. LuticateUsersBusiness::checkUserId($user_id);
  30. $setting = LuticateSettingsBusiness::checkSettingName($setting_name);
  31. if (is_null($setting_value)) {
  32. LuticateSettingsUsersDataAccess::delete($user_id, $setting_name);
  33. } else {
  34. $setting->setValue($setting_value);
  35. LuticateSettingsBusiness::checkSetting($setting);
  36. $setting_value = json_encode($setting_value);
  37. $user_setting = LuticateSettingsUsersDataAccess::getByName($user_id, $setting_name);
  38. if (is_null($user_setting)) {
  39. $user_setting = new LuticateSettingsUsersDbo();
  40. $user_setting->setName($setting_name);
  41. $user_setting->setValue($setting_value);
  42. $user_setting->setUserId($user_id);
  43. LuticateSettingsUsersDataAccess::add($user_setting);
  44. }
  45. else {
  46. $user_setting->setValue($setting_value);
  47. LuticateSettingsUsersDataAccess::edit($user_setting);
  48. }
  49. }
  50. return true;
  51. }
  52. }