ConfigurationSetter.php 783 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. class FreshRSS_ConfigurationSetter {
  3. private $setters = array(
  4. 'language' => '_language',
  5. 'posts_per_page' => '_posts_per_page',
  6. 'view_mode' => '_view_mode',
  7. );
  8. public function handle($key, $value) {
  9. if (isset($this->setters[$key])) {
  10. $value = call_user_func(array($this, $this->setters[$key]), $value);
  11. }
  12. return $value;
  13. }
  14. private function _language($value) {
  15. $languages = Minz_Translate::availableLanguages();
  16. if (!isset($languages[$value])) {
  17. $value = 'en';
  18. }
  19. return $value;
  20. }
  21. private function _posts_per_page($value) {
  22. $value = intval($value);
  23. return $value > 0 ? $value : 10;
  24. }
  25. private function _view_mode($value) {
  26. if (!in_array($value, array('global', 'normal', 'reader'))) {
  27. $value = 'normal';
  28. }
  29. return $value;
  30. }
  31. }