public function run($ctype_id) { $content_model = cmsCore::getModel('content'); $ctype = $content_model->getContentType($ctype_id); $categories = $content_model->getCategoriesTree($ctype['name'], false); $is_submitted = $this->request->has('submit'); if ($is_submitted) { $hash = $this->request->get('hash'); cmsUser::setCookiePublic('content_tree_path', "{$ctype_id}.1"); $this->reorderCategoriesTree($content_model, $ctype, $categories, $hash); $this->redirectBack(); } return cmsTemplate::getInstance()->render('content_cats_order', array('ctype' => $ctype, 'categories' => $categories)); }
public function run($id) { if (!$id) { cmsCore::error404(); } $menu_model = cmsCore::getModel('menu'); $menu = $menu_model->getMenu($id); if ($menu['is_fixed']) { cmsUser::addSessionMessage(LANG_CP_MENU_IS_FIXED); $this->redirectBack(); } $menu_model->deleteMenu($id); cmsUser::setCookiePublic('menu_tree_path', '1.0'); $this->redirectToAction('menu'); }
public function run($ctype_id, $category_id = false) { if (!$category_id) { cmsCore::error404(); } $content_model = cmsCore::getModel('content'); $ctype = $content_model->getContentType($ctype_id); $category = $content_model->getCategory($ctype['name'], $category_id); $back_url = $this->request->get('back'); if (!$back_url) { $back_url = href_to($this->name, 'content'); } $url = href_to($ctype['name'], 'delcat', $category_id) . '?back=' . $back_url; $tree_path = $category['parent_id'] == 1 ? "{$ctype_id}.1" : "/{$ctype_id}.1/{$ctype_id}.{$category['parent_id']}"; cmsUser::setCookiePublic('content_tree_path', $tree_path); $this->redirect($url); }
public function run() { $menu_model = cmsCore::getModel('menu'); $form = $this->getForm('menu', array('add')); $is_submitted = $this->request->has('submit'); $menu = $form->parse($this->request, $is_submitted); if ($is_submitted) { $errors = $form->validate($this, $menu); if (!$errors) { $menu_id = $menu_model->addMenu($menu); if ($menu_id) { cmsUser::addSessionMessage(sprintf(LANG_CP_MENU_CREATED, $menu['title']), 'success'); } cmsUser::setCookiePublic('menu_tree_path', "{$menu_id}.0"); $this->redirectToAction('menu'); } if ($errors) { cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error'); } } return cmsTemplate::getInstance()->render('menu_form', array('do' => 'add', 'item' => $menu, 'form' => $form, 'errors' => isset($errors) ? $errors : false)); }
public function run() { $form = $this->getForm('widgets_page'); $is_submitted = $this->request->has('submit'); $page = $form->parse($this->request, $is_submitted); if ($is_submitted) { $errors = $form->validate($this, $page); if (!$errors) { $widgets_model = cmsCore::getModel('widgets'); $page_id = $widgets_model->addPage($page); if ($page_id) { cmsUser::addSessionMessage(sprintf(LANG_CP_WIDGET_PAGE_CREATED, $page['title']), 'success'); cmsUser::setCookiePublic('widgets_tree_path', "/custom/custom.{$page_id}"); } $this->redirectToAction('widgets'); } if ($errors) { cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error'); } } return cmsTemplate::getInstance()->render('widgets_page', array('do' => 'add', 'page' => $page, 'form' => $form, 'errors' => isset($errors) ? $errors : false)); }
public function run($id) { $menu_model = cmsCore::getModel('menu'); $form = $this->getForm('menu', array('edit')); $menu = $menu_model->getMenu($id); if ($menu['is_fixed']) { $form->removeField('basic', 'name'); } if ($this->request->has('submit')) { $new_menu = $form->parse($this->request, true); $errors = $form->validate($this, $new_menu); if (!$errors) { $menu_model->updateMenu($id, $new_menu); cmsUser::setCookiePublic('menu_tree_path', "{$id}.0"); // обновление виджетов меню, в которых используется это меню if ($menu['name'] !== $new_menu['name']) { $widgets_model = cmsCore::getModel('widgets'); $w_binds = $widgets_model->join('widgets', 'w', 'w.id = i.widget_id')->filterEqual('w.name', 'menu')->get('widgets_bind', function ($item, $model) { $item['options'] = cmsModel::yamlToArray($item['options']); return $item; }); foreach ($w_binds as $w_bind) { if (isset($w_bind['options']['menu']) && $w_bind['options']['menu'] === $menu['name']) { $new = array('options' => $w_bind['options']); $new['options']['menu'] = $new_menu['name']; $widgets_model->updateWidgetBinding($w_bind['id'], $new); } } } $this->redirectToAction('menu'); } if ($errors) { cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error'); } $menu = $new_menu; } return $this->cms_template->render('menu_form', array('do' => 'edit', 'item' => $menu, 'form' => $form, 'errors' => isset($errors) ? $errors : false)); }
public function run($id) { $menu_model = cmsCore::getModel('menu'); $form = $this->getForm('menu', array('edit')); $is_submitted = $this->request->has('submit'); $menu = $menu_model->getMenu($id); if ($menu['is_fixed']) { $form->removeField('basic', 'name'); } if ($is_submitted) { $menu = $form->parse($this->request, $is_submitted); $errors = $form->validate($this, $menu); if (!$errors) { $menu_model->updateMenu($id, $menu); cmsUser::setCookiePublic('menu_tree_path', "{$id}.0"); $this->redirectToAction('menu'); } if ($errors) { cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error'); } } return cmsTemplate::getInstance()->render('menu_form', array('do' => 'edit', 'item' => $menu, 'form' => $form, 'errors' => isset($errors) ? $errors : false)); }