diff --git a/app/controllers/BaseController.php b/app/controllers/BaseController.php index e053b52a..e29c2119 100644 --- a/app/controllers/BaseController.php +++ b/app/controllers/BaseController.php @@ -25,7 +25,7 @@ public function initialize() { $this->settings = $this->di->get('settings'); - if (in_array($this->dispatcher->getControllerName(), $this->controllersToLoadMenu)) + if ($this->di->has('db') && in_array($this->dispatcher->getControllerName(), $this->controllersToLoadMenu)) { if ($this->session->get('auth')) { diff --git a/app/forms/formfields/dashboard/CouchpotatoFormFields.php b/app/forms/formfields/dashboard/CouchpotatoFormFields.php index dd596c48..05e92b91 100644 --- a/app/forms/formfields/dashboard/CouchpotatoFormFields.php +++ b/app/forms/formfields/dashboard/CouchpotatoFormFields.php @@ -59,12 +59,18 @@ protected function initializeFields() ->setFilters(['striptags', 'string']) ->setAttributes(['class' => 'form-control', 'fieldset' => true]) ->setDefault($this->form->settings->couchpotato->tmdb_api_url) - ->addValidator(new UrlValidator(['message' => $this->form->translator->validation['url']])); + ->addValidators([ + new UrlValidator(['message' => $this->form->translator->validation['url'], 'allowEmpty' => true]), + new PresenceOfConfirmation(['message' => $this->form->translator->validation['required'], 'with' => 'couchpotato-enabled']) + ]); $this->fields[] = $tmdbAPIKey = new Password('couchpotato-tmdb_api_key'); $tmdbAPIKey->setLabel('TMDB API key') ->setFilters(['striptags', 'string']) ->setAttributes(['class' => 'form-control', 'fieldset' => 'end']) - ->setDefault($this->form->settings->couchpotato->tmdb_api_key); + ->setDefault($this->form->settings->couchpotato->tmdb_api_key) + ->addValidators([ + new PresenceOfConfirmation(['message' => $this->form->translator->validation['required'], 'with' => 'couchpotato-enabled']) + ]); } } \ No newline at end of file diff --git a/app/forms/formfields/dashboard/JellyfinFormFields.php b/app/forms/formfields/dashboard/JellyfinFormFields.php index 5caac0d2..a2a2ed22 100644 --- a/app/forms/formfields/dashboard/JellyfinFormFields.php +++ b/app/forms/formfields/dashboard/JellyfinFormFields.php @@ -69,7 +69,7 @@ protected function initializeFields() 'class' => 'form-control', 'multiple' => 'multiple', 'fieldset' => 'end', - 'data-selected' => $this->form->settings->jellyfin->views, + 'data-selected' => $this->form->settings->jellyfin->views ?? '', 'data-apiurl' => '../jellyfin/views' ]) ->setUserOptions(['buttons' => ['refresh_api_data']]); diff --git a/app/forms/formfields/dashboard/PulsewayFormFields.php b/app/forms/formfields/dashboard/PulsewayFormFields.php index 91b92fc8..ddfa6a5b 100644 --- a/app/forms/formfields/dashboard/PulsewayFormFields.php +++ b/app/forms/formfields/dashboard/PulsewayFormFields.php @@ -70,7 +70,7 @@ protected function initializeFields() 'multiple' => 'multiple', 'fieldset' => 'end', 'disabled' => true, - 'data-selected' => $this->form->settings->pulseway->systems, + 'data-selected' => $this->form->settings->pulseway->systems ?? '', 'data-apiurl' => '../pulseway/systems' ]) ->setUserOptions(['buttons' => ['refresh_api_data']]); diff --git a/app/forms/formfields/dashboard/SpeedtestFormFields.php b/app/forms/formfields/dashboard/SpeedtestFormFields.php index c8a9a3a2..c2c8f40d 100644 --- a/app/forms/formfields/dashboard/SpeedtestFormFields.php +++ b/app/forms/formfields/dashboard/SpeedtestFormFields.php @@ -58,6 +58,7 @@ protected function initializeFields() $this->fields[] = $speedtestGetIP = new Check('speedtest-get_isp_info'); $speedtestGetIP->setLabel('Get ISP IP'); $speedtestGetIP->setAttributes([ + 'value' => '1', 'checked' => $this->form->settings->speedtest->get_isp_info == '1' ? 'checked' : null, 'data-toggle' => 'toggle', 'data-onstyle' => 'success', diff --git a/js/dashboard-blocks/phpsysinfo.js b/js/dashboard-blocks/phpsysinfo.js index a0e90903..45bdc624 100644 --- a/js/dashboard-blocks/phpsysinfo.js +++ b/js/dashboard-blocks/phpsysinfo.js @@ -295,7 +295,7 @@ block.find(".update .packages .value").html(packages); block.find(".update .security .value").html(security); - if (count > 0) { + if (count > 0 && settings.setBadges) { //todo: handle the error with .catch((error) navigator.setAppBadge(count); return; @@ -303,7 +303,9 @@ } //todo: handle the error with .catch((error) - navigator.clearAppBadge(); + if (settings.setBadges) { + navigator.clearAppBadge(); + } }, /**