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.

LuticateSettingsUsersController.php 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace Luticate\Auth\Controller;
  3. use Luticate\Auth\DBO\LuticateUsersDbo;
  4. use Luticate\Utils\LuController;
  5. use Luticate\Auth\Business\LuticateSettingsUsersBusiness;
  6. use Luticate\Auth\DBO\LuticateSettingsUsersDbo;
  7. class LuticateSettingsUsersController extends LuController {
  8. protected function getBusiness()
  9. {
  10. return new LuticateSettingsUsersBusiness();
  11. }
  12. /**
  13. * Get all settings for a user
  14. * @param $user_id int The user id
  15. * @param int $page The page number, 0 based
  16. * @param int $perPage The number of items per page
  17. * @return \Luticate\Utils\LuMultipleDbo
  18. */
  19. public function getAllByUser($user_id, $page = 0, $perPage = 2000000000)
  20. {
  21. return LuticateSettingsUsersBusiness::getAllByUser($user_id, $page, $perPage);
  22. }
  23. /**
  24. * Get a setting for a user
  25. * @param $user_id int The user id
  26. * @param $setting_name string The setting name
  27. * @return \Luticate\Utils\LuDbo
  28. */
  29. public function get($user_id, $setting_name)
  30. {
  31. return LuticateSettingsUsersBusiness::checkSettingUserName($user_id, $setting_name);
  32. }
  33. /**
  34. * Edit a setting for a user
  35. * @param $user_id int The user id
  36. * @param $setting_name string The setting name
  37. * @param $setting LuticateSettingsUsersDbo The setting
  38. * @return bool
  39. */
  40. public function edit($user_id, $setting_name, LuticateSettingsUsersDbo $setting)
  41. {
  42. $setting->setUserId($user_id);
  43. $setting->setName($setting_name);
  44. return LuticateSettingsUsersBusiness::edit($setting, true);
  45. }
  46. /**
  47. * Edit a setting for the logged user
  48. * @param $_user LuticateUsersDbo The logged user
  49. * @param $setting_name string The setting name
  50. * @param $setting_value string The setting value
  51. * @return bool
  52. */
  53. public function editMe($_user, $setting_name, $setting_value)
  54. {
  55. $setting = new LuticateSettingsUsersDbo();
  56. $setting->setUserId($_user->getId());
  57. $setting->setName($setting_name);
  58. $setting->setIsBlocked(null);
  59. $setting->setValue(json_decode($setting_value));
  60. return LuticateSettingsUsersBusiness::edit($setting, false);
  61. }
  62. }