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), 'organon_tweaks_month_filters' => (int) $this->configModel->get('organon_tweaks_month_filters', 1), 'organon_tweaks_recurring_filters' => (int) $this->configModel->get('organon_tweaks_recurring_filters', 1), 'organon_tweaks_shortcut_labels' => (int) $this->configModel->get('organon_tweaks_shortcut_labels', 1), 'organon_tweaks_title_click_edit' => (int) $this->configModel->get('organon_tweaks_title_click_edit', 1), 'organon_tweaks_persistent_sort' => (int) $this->configModel->get('organon_tweaks_persistent_sort', 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; $monthFilters = isset($values['organon_tweaks_month_filters']) ? 1 : 0; $recurringFilters = isset($values['organon_tweaks_recurring_filters']) ? 1 : 0; $shortcutLabels = isset($values['organon_tweaks_shortcut_labels']) ? 1 : 0; $titleClickEdit = isset($values['organon_tweaks_title_click_edit']) ? 1 : 0; $persistentSort = isset($values['organon_tweaks_persistent_sort']) ? 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, 'organon_tweaks_month_filters' => $monthFilters, 'organon_tweaks_recurring_filters' => $recurringFilters, 'organon_tweaks_shortcut_labels' => $shortcutLabels, 'organon_tweaks_title_click_edit' => $titleClickEdit, 'organon_tweaks_persistent_sort' => $persistentSort, ))) { $this->flash->success(t('Settings saved successfully.')); } else { $this->flash->failure(t('Unable to save your settings.')); } // Apply each filter-group toggle across all boards immediately: on -> (re)create the group's // reserved-name filters everywhere, off -> remove them (they are plugin-managed). $projectHelper = new \Kanboard\Plugin\OrganonTweaks\Helper\OrganonProjectHelper($this->container); if ($showAllFilter === 1) { $projectHelper->addGroupToAllProjects($projectHelper::GROUP_SHOW_ALL); } else { $projectHelper->removeGroup($projectHelper::GROUP_SHOW_ALL); } if ($monthFilters === 1) { $projectHelper->addGroupToAllProjects($projectHelper::GROUP_MONTH); } else { $projectHelper->removeGroup($projectHelper::GROUP_MONTH); } if ($recurringFilters === 1) { $projectHelper->addGroupToAllProjects($projectHelper::GROUP_RECURRING); } else { $projectHelper->removeGroup($projectHelper::GROUP_RECURRING); } $this->response->redirect($this->helper->url->to('ConfigController', 'show', array('plugin' => 'OrganonTweaks'))); } }