Ejemplo n.º 1
0
 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));
 }
Ejemplo n.º 2
0
 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');
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 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));
 }
Ejemplo n.º 5
0
 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));
 }
Ejemplo n.º 6
0
 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));
 }
Ejemplo n.º 7
0
 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));
 }