* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision$ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ class AdminCmsContentControllerCore extends AdminController { /** @var object adminCMSCategories() instance */ private $adminCMSCategories; /** @var object adminCMS() instance */ private $adminCMS; /** @var object Category() instance for navigation*/ private static $_category = null; public function __construct() { /* Get current category */ $id_cms_category = (int)(Tools::getValue('id_cms_category', Tools::getValue('id_cms_category_parent', 1))); self::$_category = new CMSCategory($id_cms_category); if (!Validate::isLoadedObject(self::$_category)) die('Category cannot be loaded'); $this->table = array('cms_category', 'cms'); $this->adminCMSCategories = new AdminCmsCategoriesController(); $this->adminCMS = new AdminCmsController(); parent::__construct(); } /** * Return current category * * @return object */ public static function getCurrentCMSCategory() { return self::$_category; } public function viewAccess($disable = false) { $result = parent::viewAccess($disable); $this->adminCMSCategories->tabAccess = $this->tabAccess; $this->adminCMS->tabAccess = $this->tabAccess; return $result; } public function initContent() { $this->adminCMSCategories->token = $this->token; $this->adminCMS->token = $this->token; if ($this->display == 'edit_category') $this->content .= $this->adminCMSCategories->renderForm(); elseif ($this->display == 'edit_page') $this->content .= $this->adminCMS->renderForm(); elseif ($this->display == 'view_page'){} else { $id_cms_category = (int)(Tools::getValue('id_cms_category')); if (!$id_cms_category) $id_cms_category = 1; // CMS categories breadcrumb $cms_tabs = array('cms_category', 'cms'); // Cleaning links $catBarIndex = self::$currentIndex; foreach ($cms_tabs as $tab) if (Tools::getValue($tab.'Orderby') && Tools::getValue($tab.'Orderway')) $catBarIndex = preg_replace('/&'.$tab.'Orderby=([a-z _]*)&'.$tab.'Orderway=([a-z]*)/i', '', self::$currentIndex); $this->content .= $this->adminCMSCategories->renderList(); $this->adminCMS->id_cms_category = $id_cms_category; $this->content .= $this->adminCMS->renderList(); $this->context->smarty->assign(array( 'cms_breadcrumb' => getPath($catBarIndex, $id_cms_category, '', '', 'cms'), )); } $this->context->smarty->assign(array( 'content' => $this->content )); } public function postProcess() { if (((Tools::isSubmit('submitAddcms_category') || Tools::isSubmit('submitAddcms_categoryAndStay')) && count($this->adminCMSCategories->errors)) || isset($_GET['updatecms_category']) || isset($_GET['addcms_category'])) $this->display = 'edit_category'; elseif (((Tools::isSubmit('submitAddcms') || Tools::isSubmit('submitAddcmsAndStay')) && count($this->adminCMS->errors)) || isset($_GET['updatecms']) || isset($_GET['addcms'])) $this->display = 'edit_page'; else { $this->display = 'list'; $this->id_cms_category = (int)(Tools::getValue('id_cms_category')); } if (Tools::isSubmit('submitDelcms') || Tools::isSubmit('previewSubmitAddcmsAndPreview') || Tools::isSubmit('submitAddcms') || isset($_GET['deletecms']) || Tools::isSubmit('viewcms') || (Tools::isSubmit('statuscms') && Tools::isSubmit('id_cms')) && (Tools::isSubmit('position') && !Tools::isSubmit('id_cms_category_to_move'))) $this->adminCMS->postProcess(); elseif (Tools::isSubmit('submitDelcms_category') || Tools::isSubmit('submitAddcms_categoryAndBackToParent') || Tools::isSubmit('submitAddcms_category') || isset($_GET['deletecms_category']) || (Tools::isSubmit('statuscms_category') && Tools::isSubmit('id_cms_category')) || (Tools::isSubmit('position') && Tools::isSubmit('id_cms_category_to_move'))) $this->adminCMSCategories->postProcess(); } }