public function run($id = false) { if (!$id) { cmsCore::error404(); } $widgets_model = cmsCore::getModel('widgets'); cmsCore::loadAllControllersLanguages(); $page = $widgets_model->getPage($id); if (!$page) { cmsCore::error404(); } $form = $this->getForm('widgets_page'); if (!$page['is_custom']) { $form->removeField('title', 'title'); } $is_submitted = $this->request->has('submit'); if ($is_submitted) { $page = $form->parse($this->request, $is_submitted); $errors = $form->validate($this, $page); if (!$errors) { $widgets_model->updatePage($id, $page); $this->redirectToAction('widgets'); } if ($errors) { cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error'); } } return cmsTemplate::getInstance()->render('widgets_page', array('do' => 'edit', 'page' => $page, 'form' => $form, 'errors' => isset($errors) ? $errors : false)); }
public function run($do = false) { // если нужно, передаем управление другому экшену if ($do) { $this->runAction('widgets_' . $do, array_slice($this->params, 1)); return; } cmsCore::loadAllControllersLanguages(); $widgets_model = cmsCore::getModel('widgets'); $controllers = $widgets_model->getPagesControllers(); $widgets_list = $widgets_model->getAvailableWidgets(); $template = cmsTemplate::getInstance(); $scheme_html = $this->getSchemeHTML(); return $template->render('widgets', array('controllers' => $controllers, 'widgets_list' => $widgets_list, 'scheme_html' => $scheme_html)); }
public function run() { if (!$this->request->isAjax()) { cmsCore::error404(); } cmsCore::loadAllControllersLanguages(); $grid = $this->loadDataGrid('controllers'); $this->model->setPerPage(admin::perpage); $filter = array(); $filter_str = $this->request->get('filter', ''); $filter_str = cmsUser::getUPSActual('admin.grid_filter.controllers', $filter_str); if ($filter_str) { parse_str($filter_str, $filter); $this->model->applyGridFilter($grid, $filter); } $total = $this->model->getInstalledControllersCount(); $pages = ceil($total / admin::perpage); $controllers = $this->model->getInstalledControllers(); cmsTemplate::getInstance()->renderGridRowsJSON($grid, $controllers, $total, $pages); $this->halt(); }
public function run($do = false) { // если нужно, передаем управление другому экшену if ($do) { $this->runAction('widgets_' . $do, array_slice($this->params, 1)); return; } cmsCore::loadAllControllersLanguages(); $widgets_model = cmsCore::getModel('widgets'); $controllers = $widgets_model->getPagesControllers(); $widgets_list = $widgets_model->getAvailableWidgets(); $tpls = cmsCore::getTemplates(); $template_name = $this->request->get('template_name', ''); if (!$template_name || !in_array($template_name, $tpls)) { $template_name = cmsConfig::get('template'); } foreach ($tpls as $tpl) { $templates[$tpl] = $tpl; } $scheme_html = $this->getSchemeHTML($template_name); return $this->cms_template->render('widgets', array('controllers' => $controllers, 'template_name' => $template_name, 'templates' => $templates, 'widgets_list' => $widgets_list, 'scheme_html' => $scheme_html)); }