/** * Formats setting * * @uses InputFilter::filters * @uses Assets::tabledrag * @uses Config::load * @uses Message::error * @uses Filter::all */ public function action_configure() { $id = $this->request->param('id', NULL); // Get required format $format = $this->_format->get($id); $config = Config::load('inputfilter'); if (is_null($format)) { Log::error('Attempt to access non-existent format id :id', array(':id' => $id)); Message::error(__('Text Format doesn\'t exists!')); $this->request->redirect(Route::get('admin/format')->uri(), 404); } $fallback_format = (int) $config->default_format; $formats = $this->_format->get_all(); $formats[$id]['id'] = $id; $all_roles = ORM::factory('role')->find_all()->as_array('id', 'name'); $filters = Filter::all(); $enabled_filters = $formats[$id]['filters']; // Form attributes $params = array('id' => $id, 'action' => 'configure'); $this->title = __('Configure %name format', array('%name' => $format['name'])); $view = View::factory('admin/format/form')->set('roles', $all_roles)->set('filters', $filters)->set('enabled_filters', $enabled_filters)->set('format', $format)->set('params', $params); if ($this->valid_post('filter')) { unset($_POST['filter'], $_POST['_token'], $_POST['_action']); Message::info(__('Not implemented yet!')); } $this->response->body($view); Assets::tabledrag(); }
/** * Listing Widgets */ public function action_index() { $this->title = __('Widgets'); $view = View::factory('admin/widget/list')->bind('widget_regions', $widget_regions)->bind('weight_delta', $weight_delta)->bind('widgets', $widget_listing); $widget_regions = array(); $adminTheme = Theme::getTheme(); $frontTheme = Theme::getTheme(Config::get('site.theme', $adminTheme->name)); if (isset($adminTheme->regions) and !empty($adminTheme->regions)) { $widget_regions = Arr::merge($widget_regions, $adminTheme->regions); } if (isset($frontTheme->regions) and !empty($frontTheme->regions)) { $widget_regions = Arr::merge($widget_regions, $frontTheme->regions); } // Add a last region for disabled blocks. $widget_regions = Arr::merge($widget_regions, array(self::$WIDGET_REGION_NONE => self::$WIDGET_REGION_NONE)); $widgets = ORM::factory('widget')->order_by('region')->order_by('weight')->find_all(); // Weights range from -delta to +delta, so delta should be at least half // of the amount of blocks present. This makes sure all blocks in the same // region get an unique weight. $weight_delta = round(count($widgets) / 2); if (isset($widget_regions[self::$WIDGET_REGION_NONE])) { $widget_regions[self::$WIDGET_REGION_NONE] = __('Disabled'); } foreach ($widget_regions as $key => $value) { // Initialize an empty array for the region. $widget_listing[$key] = array(); } // Initialize disabled widgets array. $widget_listing[self::$WIDGET_REGION_NONE] = array(); // Add each block in the form to the appropriate place in the widget listing. foreach ($widgets as $widget) { // Fetch the region for the current widget. $region = isset($widget->region) ? $widget->region : self::$WIDGET_REGION_NONE; $widget_listing[$region][] = $widget; } if ($this->valid_post('widget-list')) { foreach ($_POST['widgets'] as $widget) { $widget['status'] = (int) ($widget['region'] != self::$WIDGET_REGION_NONE); $widget['region'] = $widget['status'] ? $widget['region'] : self::$WIDGET_REGION_NONE; DB::update('widgets')->set(array('status' => $widget['status'], 'weight' => $widget['weight'], 'region' => $widget['region']))->where('id', '=', $widget['id'])->execute(); } Message::success(__('The Widget settings have been updated.')); Cache::instance('widgets')->delete_all(); $this->request->redirect(Route::get('admin/widget')->uri()); } $this->response->body($view); Assets::tabledrag(); Assets::js('widgets', 'media/js/widgets.js', array('jquery'), FALSE, array('weight' => 5)); }
/** * Lists all menu items */ public function action_list() { $id = (int) $this->request->param('id'); $menu = ORM::factory('menu', array('id' => $id, 'lft' => 1)); if (!$menu->loaded()) { Log::error('Attempt to access non-existent menu id: :id', array(':id' => $id)); Message::error(__('Menu: doesn\'t exists!')); $this->request->redirect(Route::get('admin/menu')->uri()); } $this->title = __('Items for %vocab', array('%vocab' => $menu->title)); $view = View::factory('admin/menu/item/list')->bind('items', $items)->bind('id', $id); $items = DB::select()->from('menus')->where('lft', '>', $menu->lft)->where('rgt', '<', $menu->rgt)->where('scp', '=', $menu->scp)->order_by('lft', 'ASC')->execute()->as_array(); if (count($items) == 0) { Message::info(__("Menu Items doesn't exists!")); $this->response->body(View::factory('admin/menu/item/none')->set('id', $id)); } $this->response->body($view); Assets::tabledrag(); }
/** * List of terms for vocabulary * * @uses Message::error * @uses Message::info * @uses Request::redirect * @uses Route::get * @uses Route::uri * @uses DB::select */ public function action_list() { $id = (int) $this->request->param('id', 0); $vocab = ORM::factory('term', array('id' => $id, 'lft' => 1)); if (!$vocab->loaded()) { Log::error('Attempt to access non-existent category group.'); Message::error(__("Category Group doesn't exists!")); $this->request->redirect(Route::get('admin/taxonomy')->uri(), 404); } $this->title = __('Categories of Group %vocab', array('%vocab' => $vocab->name)); $params = array('action' => 'add', 'id' => $id); $view = View::factory('admin/term/list')->bind('terms', $terms)->bind('id', $id)->bind('params', $params); $terms = DB::select()->from('terms')->where('lft', '>', $vocab->lft)->where('rgt', '<', $vocab->rgt)->where('scp', '=', $vocab->scp)->order_by('lft', 'ASC')->execute()->as_array(); if (count($terms) == 0) { Message::info(__('There are no Categories that have been created for %vocab.', array('%vocab' => $vocab->name))); $view = View::factory('admin/term/none')->bind('params', $params); } $this->response->body($view); Assets::tabledrag(); }