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.

LuticateSettingsDataAccess.php 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace Luticate\Auth\DataAccess;
  3. use Luticate\Auth\DataAccess\SP\SpLuGetAllUserSettings;
  4. use Luticate\Auth\DataAccess\SP\SpLuGetUserSetting;
  5. use Luticate\Utils\LuDataAccess;
  6. use Luticate\Auth\DataAccess\Models\LuticateSettings;
  7. use Luticate\Auth\DBO\LuticateSettingsDbo;
  8. class LuticateSettingsDataAccess extends LuDataAccess {
  9. protected static function getModel()
  10. {
  11. return new LuticateSettings();
  12. }
  13. protected static function getOrderBy()
  14. {
  15. return array(array("name", "ASC"));
  16. }
  17. protected static function getQueryPredicate($query)
  18. {
  19. return array(array("name", "ilike", "%" . $query . "%", "or"));
  20. }
  21. public static function getEffectiveSetting($user_id, $setting_name)
  22. {
  23. return SpLuGetUserSetting::execute($user_id, $setting_name);
  24. }
  25. public static function getAllEffectiveSetting($user_id)
  26. {
  27. return SpLuGetAllUserSettings::getMultipleJson($user_id, 0, 2000000);
  28. }
  29. public static function getModelByName($setting_name)
  30. {
  31. return LuticateSettings::where("name", "=", $setting_name)->first();
  32. }
  33. public static function getByName($setting_name)
  34. {
  35. $perm = self::getModelByName($setting_name);
  36. if (is_null($perm)) {
  37. return null;
  38. }
  39. return $perm->toDbo();
  40. }
  41. public static function delete($setting_name)
  42. {
  43. $perm = self::getModelByName($setting_name);
  44. if (is_null($perm))
  45. return;
  46. $perm->delete();
  47. }
  48. /**
  49. * @param $setting_name string
  50. * @param $setting LuticateSettingsDbo
  51. */
  52. public static function edit($setting_name, $setting)
  53. {
  54. $perm = self::getModelByName($setting_name);
  55. if (is_null($perm))
  56. return;
  57. $perm->is_blocked = $setting->getIsBlocked();
  58. $perm->type = $setting->getType();
  59. $perm->value = $setting->getValue();
  60. $perm->save();
  61. }
  62. }