/** * getContent() method manages all data in Back Office * * @return string */ public function getContent() { require_once _FPC_PATH_CONF . 'admin.conf.php'; require_once _FPC_PATH_LIB_ADMIN . 'admin-ctrl_class.php'; // set $aUpdateModule = array(); try { // update new module keys BT_FPCModuleTools::updateConfiguration(); // get configuration options BT_FPCModuleTools::getConfiguration(); // set js msg translation BT_FPCModuleTools::translateJsMsg(); // instantiate admin controller object $oAdmin = new BT_AdminCtrl(); // defines type to execute // use case : no key sAction sent in POST mode (no form has been posted => first page is displayed with admin-display.class.php) // use case : key sAction sent in POST mode (form or ajax query posted ). $sAction = !Tools::getIsset('sAction') || Tools::getIsset('sAction') && 'display' == Tools::getValue('sAction') ? Tools::getIsset('sAction') ? Tools::getValue('sAction') : 'display' : Tools::getValue('sAction'); // make module update only in case of display general admin page if ($sAction == 'display' && !Tools::getIsset('sType')) { // update module if necessary $aUpdateModule = $this->_updateModule(); } //execute good action in admin // only displayed with key : tpl and assign in order to display good smarty template $aDisplay = $oAdmin->run($sAction, array_merge($_GET, $_POST)); // free memory unset($oAdmin); if (!empty($aDisplay)) { $aDisplay['assign'] = array_merge($aDisplay['assign'], array('aUpdateErrors' => $aUpdateModule, 'oJsTranslatedMsg' => BT_FPCModuleTools::jsonEncode($GLOBALS[_FPC_MODULE_NAME . '_JS_MSG']), 'bAddJsCss' => true)); // get content $sContent = $this->displayModule($aDisplay['tpl'], $aDisplay['assign']); if (!empty(self::$sQueryMode)) { echo $sContent; } else { return $sContent; } } else { throw new Exception('action returns empty content', 110); } } catch (Exception $e) { $this->aErrors[] = array('msg' => $e->getMessage(), 'code' => $e->getCode()); // get content $sContent = $this->displayErrorModule(); if (!empty(self::$sQueryMode)) { echo $sContent; } else { return $sContent; } } // exit clean with XHR mode if (!empty(self::$sQueryMode)) { exit(0); } }
/** * _displayHeader() method add to header JS and CSS * * @return array */ private function _displayHeader() { // set $aAssign = array(); // set js msg translation BT_FPCModuleTools::translateJsMsg(); $aAssign['oJsTranslatedMsg'] = BT_FPCModuleTools::jsonEncode($GLOBALS[_FPC_MODULE_NAME . '_JS_MSG']); // old version if (version_compare(_PS_VERSION_, '1.4.1', '<')) { $aAssign['bAddJsCss'] = true; } else { // use case - get context if (version_compare(_PS_VERSION_, '1.5', '>')) { // add in minify process by prestahsop Context::getContext()->controller->addCSS(_FPC_URL_CSS . 'hook.css'); Context::getContext()->controller->addJS(_FPC_URL_JS . 'module.js'); if (Tools::getValue('controller') == 'myaccount') { // get fancybox plugin $aJsCss = Media::getJqueryPluginPath('fancybox'); // add fancybox plugin if (!empty($aJsCss['js']) && !empty($aJsCss['css'])) { Context::getContext()->controller->addCSS($aJsCss['css']); Context::getContext()->controller->addJS($aJsCss['js']); } } } else { // add in minify process by prestahsop Tools::addCSS(_FPC_URL_CSS . 'hook.css'); Tools::addJS(_FPC_URL_JS . 'module.js'); // add fancybox plugin Tools::addCSS(_PS_CSS_DIR_ . 'jquery.fancybox-1.3.4.css'); Tools::addJS(_PS_JS_DIR_ . 'jquery/jquery.fancybox-1.3.4.js'); } $aAssign['bAddJsCss'] = false; } return array('tpl' => _FPC_TPL_HEADER, 'assign' => $aAssign); }