response->html($this->helper->layout->config('organonTweaks:config/show', array( 'title' => t('Settings').' > '.t('Organon Tweaks'), 'values' => array( 'organon_tweaks_always_comment_icon' => (int) $this->configModel->get('organon_tweaks_always_comment_icon', 1), 'organon_tweaks_keep_scroll' => (int) $this->configModel->get('organon_tweaks_keep_scroll', 1), 'organon_tweaks_quick_click_only' => (int) $this->configModel->get('organon_tweaks_quick_click_only', 1), 'organon_tweaks_enhance_recurrence' => (int) $this->configModel->get('organon_tweaks_enhance_recurrence', 1), 'organon_tweaks_emphasize_duedate_default' => (int) $this->configModel->get('organon_tweaks_emphasize_duedate_default', 0), 'organon_tweaks_show_all_filter' => (int) $this->configModel->get('organon_tweaks_show_all_filter', 1), ), 'errors' => array(), ))); } public function save() { $values = $this->request->getValues(); $alwaysCommentIcon = isset($values['organon_tweaks_always_comment_icon']) ? 1 : 0; $keepScroll = isset($values['organon_tweaks_keep_scroll']) ? 1 : 0; $quickClickOnly = isset($values['organon_tweaks_quick_click_only']) ? 1 : 0; $enhanceRecurrence = isset($values['organon_tweaks_enhance_recurrence']) ? 1 : 0; $emphasizeDueDateDefault = isset($values['organon_tweaks_emphasize_duedate_default']) ? 1 : 0; $showAllFilter = isset($values['organon_tweaks_show_all_filter']) ? 1 : 0; if ($this->configModel->save(array( 'organon_tweaks_always_comment_icon' => $alwaysCommentIcon, 'organon_tweaks_keep_scroll' => $keepScroll, 'organon_tweaks_quick_click_only' => $quickClickOnly, 'organon_tweaks_enhance_recurrence' => $enhanceRecurrence, 'organon_tweaks_emphasize_duedate_default' => $emphasizeDueDateDefault, 'organon_tweaks_show_all_filter' => $showAllFilter, ))) { $this->flash->success(t('Settings saved successfully.')); } else { $this->flash->failure(t('Unable to save your settings.')); } // Apply the "Show all tasks" toggle across all boards immediately: on -> (re)create the // filter everywhere, off -> remove every one (it is a plugin-managed, reserved-name filter). $projectHelper = new \Kanboard\Plugin\OrganonTweaks\Helper\OrganonProjectHelper($this->container); if ($showAllFilter === 1) { $projectHelper->addShowAllFilterToAllProjects(); } else { $projectHelper->removeAllShowAllFilters(); } $this->response->redirect($this->helper->url->to('ConfigController', 'show', array('plugin' => 'OrganonTweaks'))); } }