| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <?php
- /**
- * Manage the reading modes in FreshRSS.
- */
- class FreshRSS_ReadingMode {
- /**
- * @var string
- */
- protected $id;
- /**
- * @var string
- */
- protected $name;
- /**
- * @var string
- */
- protected $title;
- /**
- * @var string[]
- */
- protected $urlParams;
- /**
- * @var bool
- */
- protected $isActive = false;
- /**
- * ReadingMode constructor.
- * @param string $id
- * @param string $title
- * @param string[] $urlParams
- * @param bool $active
- */
- public function __construct($id, $title, $urlParams, $active) {
- $this->id = $id;
- $this->name = _i($id);
- $this->title = $title;
- $this->urlParams = $urlParams;
- $this->isActive = $active;
- }
- /**
- * @return string
- */
- public function getId() {
- return $this->id;
- }
- /**
- * @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 array<string>
- */
- public function getUrlParams() {
- return $this->urlParams;
- }
- /**
- * @param array<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(
- "view-normal",
- _t('index.menu.normal_view'),
- array_merge($urlOutput, array('c' => $defaultCtrl, 'a' => 'normal')),
- ($isDefaultCtrl && $actualView === 'normal')
- ),
- new FreshRSS_ReadingMode(
- "view-global",
- _t('index.menu.global_view'),
- array_merge($urlOutput, array('c' => $defaultCtrl, 'a' => 'global')),
- ($isDefaultCtrl && $actualView === 'global')
- ),
- new FreshRSS_ReadingMode(
- "view-reader",
- _t('index.menu.reader_view'),
- array_merge($urlOutput, array('c' => $defaultCtrl, 'a' => 'reader')),
- ($isDefaultCtrl && $actualView === 'reader')
- ),
- );
- return $readingModes;
- }
- }
|