From 1b7cc49d2253caf6f2ea9e3bbc5d380aeaff4ea1 Mon Sep 17 00:00:00 2001 From: Kevin Papst Date: Sun, 10 Dec 2017 15:04:01 +0100 Subject: refactored ReadingModes to Model --- app/Models/ReadingMode.php | 136 +++++++++++++++++++++++++++++++++++++++++++++ app/layout/nav_menu.phtml | 37 +++--------- 2 files changed, 145 insertions(+), 28 deletions(-) create mode 100644 app/Models/ReadingMode.php diff --git a/app/Models/ReadingMode.php b/app/Models/ReadingMode.php new file mode 100644 index 000000000..06170a468 --- /dev/null +++ b/app/Models/ReadingMode.php @@ -0,0 +1,136 @@ +name = $name; + $this->title = $title; + $this->urlParams = $urlParams; + $this->isActive = $active; + } + + /** + * @return string + */ + public function getName() { + return $this->name; + } + + /** + * @param string $name + * @return FreshRSS_ReadingMode + */ + public function setName($name) { + $this->name = $name; + return $this; + } + + /** + * @return string + */ + public function getTitle() { + return $this->title; + } + + /** + * @param string $title + * @return FreshRSS_ReadingMode + */ + public function setTitle($title) { + $this->title = $title; + return $this; + } + + /** + * @return string + */ + public function getUrlParams() { + return $this->urlParams; + } + + /** + * @param string $urlParams + * @return FreshRSS_ReadingMode + */ + public function setUrlParams($urlParams) { + $this->urlParams = $urlParams; + return $this; + } + + /** + * @return bool + */ + public function isActive() { + return $this->isActive; + } + + /** + * @param bool $isActive + * @return FreshRSS_ReadingMode + */ + public function setIsActive($isActive) { + $this->isActive = $isActive; + return $this; + } + + /** + * Returns the built-in reading modes. + * return ReadingMode[] + */ + public static function getReadingModes() { + $actualView = Minz_Request::actionName(); + $defaultCtrl = Minz_Request::defaultControllerName(); + $isDefaultCtrl = Minz_Request::controllerName() == $defaultCtrl; + $urlOutput = Minz_Request::currentRequest(); + + $readingModes = array( + new FreshRSS_ReadingMode( + _i("view-normal"), + _t('index.menu.normal_view'), + array_merge($urlOutput, array('c' => $defaultCtrl, 'a' => 'normal')), + ($isDefaultCtrl && $actualView === 'normal') + ), + new FreshRSS_ReadingMode( + _i("view-global"), + _t('index.menu.global_view'), + array_merge($urlOutput, array('c' => $defaultCtrl, 'a' => 'global')), + ($isDefaultCtrl && $actualView === 'global') + ), + new FreshRSS_ReadingMode( + _i("view-reader"), + _t('index.menu.reader_view'), + array_merge($urlOutput, array('c' => $defaultCtrl, 'a' => 'reader')), + ($isDefaultCtrl && $actualView === 'reader') + ), + ); + + return $readingModes; + } +} diff --git a/app/layout/nav_menu.phtml b/app/layout/nav_menu.phtml index c0141e8a4..403ac5cd6 100644 --- a/app/layout/nav_menu.phtml +++ b/app/layout/nav_menu.phtml @@ -132,36 +132,17 @@