diff options
Diffstat (limited to 'app/Controllers')
| -rw-r--r-- | app/Controllers/configureController.php | 1 | ||||
| -rw-r--r-- | app/Controllers/indexController.php | 12 |
2 files changed, 11 insertions, 2 deletions
diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php index 4f448c5e0..59845d710 100644 --- a/app/Controllers/configureController.php +++ b/app/Controllers/configureController.php @@ -160,6 +160,7 @@ class FreshRSS_configure_Controller extends FreshRSS_ActionController { Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'reading' ]); } + $this->view->viewModes = FreshRSS_ViewMode::getAllModes(); FreshRSS_View::prependTitle(_t('conf.reading.title') . ' ยท '); } diff --git a/app/Controllers/indexController.php b/app/Controllers/indexController.php index 661e8300b..d5d9db778 100644 --- a/app/Controllers/indexController.php +++ b/app/Controllers/indexController.php @@ -16,9 +16,17 @@ class FreshRSS_index_Controller extends FreshRSS_ActionController { */ public function indexAction(): void { $preferred_output = FreshRSS_Context::userConf()->view_mode; + $viewMode = FreshRSS_ViewMode::getAllModes()[$preferred_output] ?? null; + + // Fallback to 'normal' if the preferred mode was not found + if ($viewMode === null) { + Minz_Request::setBadNotification(_t('feedback.extensions.invalid_view_mode', $preferred_output)); + $viewMode = FreshRSS_ViewMode::getAllModes()['normal']; + } + Minz_Request::forward([ - 'c' => 'index', - 'a' => $preferred_output, + 'c' => $viewMode->controller(), + 'a' => $viewMode->action(), ]); } |
