[*] MO: Add smarty cache on some modules
This commit is contained in:
@@ -598,9 +598,12 @@ class CustomerCore extends ObjectModel
|
||||
|
||||
public static function getGroupsStatic($id_customer)
|
||||
{
|
||||
if (!Group::isFeatureActive() || $id_customer == 0)
|
||||
if (!Group::isFeatureActive())
|
||||
return array(Configuration::get('PS_CUSTOMER_GROUP'));
|
||||
|
||||
if ($id_customer == 0)
|
||||
self::$_customer_groups[$id_customer] = array((int)Configuration::get('PS_UNIDENTIFIED_GROUP'));
|
||||
|
||||
if (!isset(self::$_customer_groups[$id_customer]))
|
||||
{
|
||||
self::$_customer_groups[$id_customer] = array();
|
||||
|
||||
@@ -1830,6 +1830,7 @@ exit;
|
||||
self::$_caching = (int)$smarty->caching;
|
||||
$smarty->force_compile = 0;
|
||||
$smarty->caching = (int)$level;
|
||||
$smarty->cache_lifetime = 31536000; // 1 Year
|
||||
}
|
||||
|
||||
public static function restoreCacheSettings(Context $context = null)
|
||||
|
||||
@@ -1582,11 +1582,18 @@ abstract class ModuleCore
|
||||
{
|
||||
return Module::_isTemplateOverloadedStatic($this->name, $template);
|
||||
}
|
||||
|
||||
protected function getCacheId($name = null)
|
||||
{
|
||||
if ($name === null)
|
||||
$name = $this->name;
|
||||
return $name.'|'.(int)$this->context->shop->id.'_'.(int)Group::getCurrent()->id.'_'.(int)$this->context->language->id;
|
||||
}
|
||||
|
||||
public function display($file, $template, $cacheId = null, $compileId = null)
|
||||
{
|
||||
if (($overloaded = Module::_isTemplateOverloadedStatic(basename($file, '.php'), $template)) === null)
|
||||
$result = Tools::displayError('No template found for module').' '.basename($file, '.php');
|
||||
return Tools::displayError('No template found for module').' '.basename($file, '.php');
|
||||
else
|
||||
{
|
||||
$this->smarty->assign(array(
|
||||
@@ -1594,16 +1601,22 @@ abstract class ModuleCore
|
||||
'module_template_dir' => ($overloaded ? _THEME_DIR_ : __PS_BASE_URI__).'modules/'.basename($file, '.php').'/'
|
||||
));
|
||||
|
||||
if ($cacheId !== null)
|
||||
Tools::enableCache();
|
||||
|
||||
$smarty_subtemplate = $this->context->smarty->createTemplate(
|
||||
$this->getTemplatePath($template),
|
||||
$cacheId,
|
||||
$compileId,
|
||||
$this->smarty
|
||||
);
|
||||
|
||||
$result = $smarty_subtemplate->fetch();
|
||||
|
||||
if ($cacheId !== null)
|
||||
Tools::restoreCacheSettings();
|
||||
|
||||
return $result;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1635,7 +1648,11 @@ abstract class ModuleCore
|
||||
{
|
||||
$context = Context::getContext();
|
||||
|
||||
return $context->smarty->isCached($this->getTemplatePath($template), $cacheId, $compileId);
|
||||
Tools::enableCache();
|
||||
$is_cached = $context->smarty->isCached($this->getTemplatePath($template), $cacheId, $compileId);
|
||||
Tools::restoreCacheSettings();
|
||||
|
||||
return $is_cached;
|
||||
}
|
||||
|
||||
protected function _clearCache($template, $cache_id = null, $compile_id = null)
|
||||
|
||||
@@ -157,6 +157,7 @@ class BlockAdvertising extends Module
|
||||
|
||||
// Reset the module properties
|
||||
$this->initialize();
|
||||
$this->_clearCache('blockadvertising.tpl');
|
||||
}
|
||||
if ($errors)
|
||||
echo $this->displayError($errors);
|
||||
@@ -216,13 +217,14 @@ class BlockAdvertising extends Module
|
||||
|
||||
public function hookRightColumn($params)
|
||||
{
|
||||
$this->smarty->assign(array(
|
||||
'image' => $this->context->link->protocol_content.$this->adv_img,
|
||||
'adv_link' => $this->adv_link,
|
||||
'adv_title' => $this->adv_title,
|
||||
));
|
||||
if (!$this->isCached('blockadvertising.tpl', $this->getCacheId()))
|
||||
$this->smarty->assign(array(
|
||||
'image' => $this->context->link->protocol_content.$this->adv_img,
|
||||
'adv_link' => $this->adv_link,
|
||||
'adv_title' => $this->adv_title,
|
||||
));
|
||||
|
||||
return $this->display(__FILE__, 'blockadvertising.tpl');
|
||||
return $this->display(__FILE__, 'blockadvertising.tpl', $this->getCacheId());
|
||||
}
|
||||
|
||||
public function hookLeftColumn($params)
|
||||
|
||||
@@ -156,31 +156,23 @@ class BlockCategories extends Module
|
||||
}
|
||||
|
||||
public function hookLeftColumn($params)
|
||||
{
|
||||
$id_customer = (int)$params['cookie']->id_customer;
|
||||
// Get all groups for this customer and concatenate them as a string: "1,2,3..."
|
||||
// It is necessary to keep the group query separate from the main select query because it is used for the cache
|
||||
$groups = $id_customer ? implode(', ', Customer::getGroupsStatic($id_customer)) : Configuration::get('PS_UNIDENTIFIED_GROUP');
|
||||
$id_product = (int)Tools::getValue('id_product', 0);
|
||||
$id_category = (int)Tools::getValue('id_category', 0);
|
||||
$id_lang = (int)$params['cookie']->id_lang;
|
||||
$smartyCacheId = 'blockcategories|'.$this->context->shop->id.'_'.$groups.'_'.$id_lang.'_'.$id_product.'_'.$id_category;
|
||||
$this->context->smarty->cache_lifetime = 31536000; // 1 Year
|
||||
Tools::enableCache();
|
||||
if (!$this->isCached('blockcategories.tpl', $smartyCacheId))
|
||||
{
|
||||
if (!$this->isCached('blockcategories.tpl', $this->getCacheId()))
|
||||
{
|
||||
// Get all groups for this customer and concatenate them as a string: "1,2,3..."
|
||||
$groups = implode(', ', Customer::getGroupsStatic((int)$this->context->customer->id));
|
||||
$maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH');
|
||||
if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
|
||||
SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite
|
||||
FROM `'._DB_PREFIX_.'category` c
|
||||
INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.$id_lang.Shop::addSqlRestrictionOnLang('cl').')
|
||||
INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.(int)$this->context->language->id.Shop::addSqlRestrictionOnLang('cl').')
|
||||
INNER JOIN `'._DB_PREFIX_.'category_shop` cs ON (cs.`id_category` = c.`id_category` AND cs.`id_shop` = '.(int)$this->context->shop->id.')
|
||||
WHERE (c.`active` = 1 OR c.`id_category` = '.(int)Configuration::get('PS_HOME_CATEGORY').')
|
||||
AND c.`id_category` != '.(int)Configuration::get('PS_ROOT_CATEGORY').'
|
||||
'.((int)$maxdepth != 0 ? ' AND `level_depth` <= '.(int)$maxdepth : '').'
|
||||
AND c.id_category IN (SELECT id_category FROM `'._DB_PREFIX_.'category_group` WHERE `id_group` IN ('.pSQL($groups).'))
|
||||
ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'cs.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC')))
|
||||
return Tools::restoreCacheSettings();
|
||||
return;
|
||||
|
||||
$resultParents = array();
|
||||
$resultIds = array();
|
||||
@@ -203,7 +195,7 @@ class BlockCategories extends Module
|
||||
if (Tools::isSubmit('id_product'))
|
||||
{
|
||||
if (!isset($this->context->cookie->last_visited_category)
|
||||
|| !Product::idIsOnCategoryId($id_product, array('0' => array('id_category' => $this->context->cookie->last_visited_category)))
|
||||
|| !Product::idIsOnCategoryId((int)Tools::getValue('id_product'), array('0' => array('id_category' => $this->context->cookie->last_visited_category)))
|
||||
|| !Category::inShopStatic($this->context->cookie->last_visited_category, $this->context->shop))
|
||||
{
|
||||
$product = new Product($id_product);
|
||||
@@ -220,31 +212,33 @@ class BlockCategories extends Module
|
||||
$this->smarty->assign('branche_tpl_path', _PS_MODULE_DIR_.'blockcategories/category-tree-branch.tpl');
|
||||
$this->smarty->assign('isDhtml', $isDhtml);
|
||||
}
|
||||
$display = $this->display(__FILE__, 'blockcategories.tpl', $smartyCacheId);
|
||||
Tools::restoreCacheSettings();
|
||||
$display = $this->display(__FILE__, 'blockcategories.tpl', $this->getCacheId());
|
||||
return $display;
|
||||
}
|
||||
|
||||
protected function getCacheId($name = null)
|
||||
{
|
||||
parent::getCacheId($name);
|
||||
|
||||
$groups = implode(', ', Customer::getGroupsStatic((int)$this->context->customer->id));
|
||||
$id_product = (int)Tools::getValue('id_product', 0);
|
||||
$id_category = (int)Tools::getValue('id_category', 0);
|
||||
$id_lang = (int)$this->context->language->id;
|
||||
return 'blockcategories|'.$this->context->shop->id.'_'.$groups.'_'.$id_lang.'_'.$id_product.'_'.$id_category;
|
||||
}
|
||||
|
||||
public function hookFooter($params)
|
||||
{
|
||||
$id_customer = (int)($params['cookie']->id_customer);
|
||||
// Get all groups for this customer and concatenate them as a string: "1,2,3..."
|
||||
$groups = $id_customer ? implode(', ', Customer::getGroupsStatic($id_customer)) : _PS_DEFAULT_CUSTOMER_GROUP_;
|
||||
$id_product = (int)(Tools::getValue('id_product', 0));
|
||||
$id_category = (int)(Tools::getValue('id_category', 0));
|
||||
$id_lang = (int)($params['cookie']->id_lang);
|
||||
$smartyCacheId = 'blockcategories|'.$this->context->shop->id.'_'.$groups.'_'.$id_lang.'_'.$id_product.'_'.$id_category;
|
||||
$this->context->smarty->cache_lifetime = 31536000; // 1 Year
|
||||
Tools::enableCache();
|
||||
if (!$this->isCached('blockcategories_footer.tpl', $smartyCacheId))
|
||||
if (!$this->isCached('blockcategories_footer.tpl', $this->getCacheId()))
|
||||
{
|
||||
$maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH');
|
||||
|
||||
$groups = implode(', ', Customer::getGroupsStatic((int)$this->context->customer->id));
|
||||
if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
|
||||
SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite
|
||||
FROM `'._DB_PREFIX_.'category` c
|
||||
'.Shop::addSqlAssociation('category', 'c').'
|
||||
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.$id_lang.Shop::addSqlRestrictionOnLang('cl').')
|
||||
LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.(int)$this->context->language->id.Shop::addSqlRestrictionOnLang('cl').')
|
||||
LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`)
|
||||
WHERE (c.`active` = 1 OR c.`id_category` = 1)
|
||||
'.((int)($maxdepth) != 0 ? ' AND `level_depth` <= '.(int)($maxdepth) : '').'
|
||||
@@ -296,8 +290,8 @@ class BlockCategories extends Module
|
||||
$this->smarty->assign('branche_tpl_path', _PS_MODULE_DIR_.'blockcategories/category-tree-branch.tpl');
|
||||
$this->smarty->assign('isDhtml', $isDhtml);
|
||||
}
|
||||
$display = $this->display(__FILE__, 'blockcategories_footer.tpl', $smartyCacheId);
|
||||
Tools::restoreCacheSettings();
|
||||
$display = $this->display(__FILE__, 'blockcategories_footer.tpl', $this->getCacheId());
|
||||
|
||||
return $display;
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
@@ -64,6 +64,7 @@ class Blockcontact extends Module
|
||||
{
|
||||
Configuration::updateValue('blockcontact_telnumber', Tools::getValue('telnumber'));
|
||||
Configuration::updateValue('blockcontact_email', Tools::getValue('email'));
|
||||
$this->_clearCache('blockcontact.tpl');
|
||||
$html .= '<div class="conf confirm">'.$this->l('Configuration updated').'</div>';
|
||||
}
|
||||
|
||||
@@ -94,12 +95,12 @@ class Blockcontact extends Module
|
||||
public function hookDisplayRightColumn()
|
||||
{
|
||||
global $smarty;
|
||||
global $smarty;
|
||||
|
||||
$smarty->assign(array(
|
||||
'telnumber' => Configuration::get('blockcontact_telnumber'),
|
||||
'email' => Configuration::get('blockcontact_email')
|
||||
));
|
||||
if (!$this->isCached('blockcontact.tpl', $this->getCacheId()))
|
||||
$smarty->assign(array(
|
||||
'telnumber' => Configuration::get('blockcontact_telnumber'),
|
||||
'email' => Configuration::get('blockcontact_email')
|
||||
));
|
||||
return $this->display(__FILE__, 'blockcontact.tpl', $this->getCacheId());
|
||||
}
|
||||
|
||||
public function hookDisplayLeftColumn()
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
@@ -71,7 +72,7 @@ class Blockcontactinfos extends Module
|
||||
Configuration::updateValue('blockcontactinfos_address', ((isset($_POST['address']) && $_POST['address'] != '') ? $_POST['address'] : ''));
|
||||
Configuration::updateValue('blockcontactinfos_phone', ((isset($_POST['phone']) && $_POST['phone'] != '') ? $_POST['phone'] : ''));
|
||||
Configuration::updateValue('blockcontactinfos_email', ((isset($_POST['email']) && $_POST['email'] != '') ? $_POST['email'] : Configuration::get('PS_SHOP_EMAIL')));
|
||||
Configuration::updateValue('blockcontactinfos_email', ((isset($_POST['email']) && $_POST['email'] != '') ? $_POST['email'] : Configuration::get('PS_SHOP_EMAIL')));
|
||||
$this->_clearCache('blockcontactinfos.tpl');
|
||||
$html .= '<div class="conf confirm">'.$this->l('Configuration updated').'</div>';
|
||||
}
|
||||
|
||||
@@ -104,15 +105,14 @@ class Blockcontactinfos extends Module
|
||||
|
||||
public function hookFooter($params)
|
||||
{
|
||||
{
|
||||
global $smarty;
|
||||
|
||||
$smarty->assign(array(
|
||||
'blockcontactinfos_company' => Configuration::get('blockcontactinfos_company'),
|
||||
'blockcontactinfos_address' => Configuration::get('blockcontactinfos_address'),
|
||||
'blockcontactinfos_phone' => Configuration::get('blockcontactinfos_phone'),
|
||||
'blockcontactinfos_email' => Configuration::get('blockcontactinfos_email')
|
||||
));
|
||||
if (!$this->isCached('blockcontactinfos.tpl', $this->getCacheId()))
|
||||
$smarty->assign(array(
|
||||
'blockcontactinfos_company' => Configuration::get('blockcontactinfos_company'),
|
||||
'blockcontactinfos_address' => Configuration::get('blockcontactinfos_address'),
|
||||
'blockcontactinfos_phone' => Configuration::get('blockcontactinfos_phone'),
|
||||
'blockcontactinfos_email' => Configuration::get('blockcontactinfos_email')
|
||||
));
|
||||
return $this->display(__FILE__, 'blockcontactinfos.tpl', $this->getCacheId());
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -93,11 +93,12 @@ class Blockmyaccountfooter extends Module
|
||||
{
|
||||
global $smarty;
|
||||
|
||||
$smarty->assign(array(
|
||||
'voucherAllowed' => CartRule::isFeatureActive(),
|
||||
'returnAllowed' => (int)(Configuration::get('PS_ORDER_RETURN')),
|
||||
'HOOK_BLOCK_MY_ACCOUNT' => Hook::exec('displayMyAccountBlock')
|
||||
));
|
||||
return $this->display(__FILE__, $this->name.'.tpl');
|
||||
if (!$this->isCached('blockmyaccountfooter.tpl', $this->getCacheId()))
|
||||
$smarty->assign(array(
|
||||
'voucherAllowed' => CartRule::isFeatureActive(),
|
||||
'returnAllowed' => (int)(Configuration::get('PS_ORDER_RETURN')),
|
||||
'HOOK_BLOCK_MY_ACCOUNT' => Hook::exec('displayMyAccountBlock')
|
||||
));
|
||||
return $this->display(__FILE__, 'blockmyaccountfooter.tpl', $this->getCacheId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -509,13 +509,12 @@ class Blocknewsletter extends Module
|
||||
public function hookDisplayLeftColumn($params)
|
||||
{
|
||||
$this->_prepareHook($params);
|
||||
return $this->display(__FILE__, 'blocknewsletter.tpl');
|
||||
return $this->display(__FILE__, 'blocknewsletter.tpl', $this->getCacheId());
|
||||
}
|
||||
|
||||
public function hookFooter($params)
|
||||
{
|
||||
$this->_prepareHook($params);
|
||||
return $this->display(__FILE__, 'blocknewsletter.tpl');
|
||||
return $this->hookDisplayLeftColumn($params);
|
||||
}
|
||||
|
||||
public function hookDisplayHeader($params)
|
||||
|
||||
@@ -71,6 +71,7 @@ class BlockPaymentLogo extends Module
|
||||
if (Validate::isUnsignedInt(Tools::getValue('id_cms')))
|
||||
{
|
||||
Configuration::updateValue('PS_PAYMENT_LOGO_CMS_ID', (int)(Tools::getValue('id_cms')));
|
||||
$this->_clearCache('blockpaymentlogo.tpl');
|
||||
$html .= $this->displayConfirmation($this->l('Settings are updated'));
|
||||
}
|
||||
|
||||
@@ -110,14 +111,17 @@ class BlockPaymentLogo extends Module
|
||||
if (Configuration::get('PS_CATALOG_MODE'))
|
||||
return;
|
||||
|
||||
if (!$this->isCached('blockpaymentlogo.tpl', $this->getCacheId()))
|
||||
{
|
||||
if (!Configuration::get('PS_PAYMENT_LOGO_CMS_ID'))
|
||||
return;
|
||||
$cms = new CMS(Configuration::get('PS_PAYMENT_LOGO_CMS_ID'), $this->context->language->id);
|
||||
if (!Validate::isLoadedObject($cms))
|
||||
return;
|
||||
$this->smarty->assign('cms_payement_logo', $cms);
|
||||
}
|
||||
|
||||
if (!Configuration::get('PS_PAYMENT_LOGO_CMS_ID'))
|
||||
return;
|
||||
$cms = new CMS(Configuration::get('PS_PAYMENT_LOGO_CMS_ID'), $this->context->language->id);
|
||||
if (!Validate::isLoadedObject($cms))
|
||||
return;
|
||||
$this->smarty->assign('cms_payement_logo', $cms);
|
||||
return $this->display(__FILE__, 'blockpaymentlogo.tpl');
|
||||
return $this->display(__FILE__, 'blockpaymentlogo.tpl', $this->getCacheId());
|
||||
}
|
||||
|
||||
public function hookRightColumn($params)
|
||||
|
||||
@@ -56,7 +56,7 @@ class BlockPermanentLinks extends Module
|
||||
*/
|
||||
public function hookTop($params)
|
||||
{
|
||||
return $this->display(__FILE__, 'blockpermanentlinks-header.tpl');
|
||||
return $this->display(__FILE__, 'blockpermanentlinks-header.tpl', $this->getCacheId('blockpermanentlinks-header'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,7 +67,7 @@ class BlockPermanentLinks extends Module
|
||||
*/
|
||||
public function hookLeftColumn($params)
|
||||
{
|
||||
return $this->display(__FILE__, 'blockpermanentlinks.tpl');
|
||||
return $this->display(__FILE__, 'blockpermanentlinks.tpl', $this->getCacheId());
|
||||
}
|
||||
|
||||
public function hookRightColumn($params)
|
||||
@@ -77,7 +77,7 @@ class BlockPermanentLinks extends Module
|
||||
|
||||
public function hookFooter($params)
|
||||
{
|
||||
return $this->display(__FILE__, 'blockpermanentlinks-footer.tpl');
|
||||
return $this->display(__FILE__, 'blockpermanentlinks-footer.tpl', $this->getCacheId('blockpermanentlinks-footer'));
|
||||
}
|
||||
|
||||
public function hookHeader($params)
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
@@ -133,6 +134,7 @@ class Blockreinsurance extends Module
|
||||
{
|
||||
$html = '';
|
||||
$id_reinsurance = (int)Tools::getValue('id_reinsurance');
|
||||
|
||||
if (Tools::isSubmit('saveblockreinsurance'))
|
||||
{
|
||||
if ($id_reinsurance = Tools::getValue('id_reinsurance'))
|
||||
@@ -157,6 +159,7 @@ class Blockreinsurance extends Module
|
||||
$reinsurance->file_name = 'reinsurance-'.(int)$reinsurance->id.'-'.(int)$reinsurance->id_shop.'.jpg';
|
||||
$reinsurance->save();
|
||||
}
|
||||
$this->_clearCache('blockreinsurance.tpl');
|
||||
}
|
||||
else
|
||||
$html .= '<div class="conf error">'.$this->l('An error occurred during the save').'</div>';
|
||||
@@ -187,6 +190,7 @@ class Blockreinsurance extends Module
|
||||
if (file_exists(dirname(__FILE__).'/img/'.$reinsurance->file_name))
|
||||
unlink(dirname(__FILE__).'/img/'.$reinsurance->file_name);
|
||||
$reinsurance->delete();
|
||||
$this->_clearCache('blockreinsurance.tpl');
|
||||
Tools::redirectAdmin(AdminController::$currentIndex.'&configure='.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules'));
|
||||
}
|
||||
else
|
||||
@@ -199,7 +203,10 @@ class Blockreinsurance extends Module
|
||||
{
|
||||
Configuration::updateValue('blockreinsurance_nbblocks', ((isset($_POST['nbblocks']) && $_POST['nbblocks'] != '') ? (int)$_POST['nbblocks'] : ''));
|
||||
if ($this->removeFromDB() && $this->addToDB())
|
||||
{
|
||||
$this->_clearCache('blockreinsurance.tpl');
|
||||
$output = '<div class="conf confirm">'.$this->l('Configuration updated').'</div>';
|
||||
}
|
||||
else
|
||||
$output = '<div class="conf error"><img src="../img/admin/disabled.gif"/>'.$this->l('An error occurred during the save').'</div>';
|
||||
}
|
||||
@@ -323,9 +330,12 @@ class Blockreinsurance extends Module
|
||||
return false;
|
||||
|
||||
$this->context->controller->addCSS($this->_path.'style.css', 'all');
|
||||
$this->context->controller->addCSS($this->_path.'style.css', 'all');
|
||||
$infos = $this->getListContent($this->context->language->id);
|
||||
$this->context->smarty->assign(array('infos' => $infos, 'nbblocks' => count($infos)));
|
||||
if (!$this->isCached('blockreinsurance.tpl', $this->getCacheId()))
|
||||
{
|
||||
$infos = $this->getListContent($this->context->language->id);
|
||||
$this->context->smarty->assign(array('infos' => $infos, 'nbblocks' => count($infos)));
|
||||
}
|
||||
return $this->display(__FILE__, 'blockreinsurance.tpl', $this->getCacheId());
|
||||
}
|
||||
|
||||
public function installFixtures()
|
||||
|
||||
@@ -62,14 +62,19 @@ class BlockStore extends Module
|
||||
|
||||
public function hookRightColumn($params)
|
||||
{
|
||||
$this->smarty->assign('store_img', Configuration::get('BLOCKSTORE_IMG'));
|
||||
$sql = 'SELECT COUNT(*)
|
||||
FROM '._DB_PREFIX_.'store s'
|
||||
.Shop::addSqlAssociation('store', 's');
|
||||
$total = Db::getInstance()->getValue($sql);
|
||||
if (!$this->isCached('blockstore.tpl', $this->getCacheId()))
|
||||
{
|
||||
$this->smarty->assign('store_img', Configuration::get('BLOCKSTORE_IMG'));
|
||||
$sql = 'SELECT COUNT(*)
|
||||
FROM '._DB_PREFIX_.'store s'
|
||||
.Shop::addSqlAssociation('store', 's');
|
||||
$total = Db::getInstance()->getValue($sql);
|
||||
|
||||
if ($total <= 0)
|
||||
return;
|
||||
}
|
||||
return $this->display(__FILE__, 'blockstore.tpl', $this->getCacheId());
|
||||
|
||||
if ($total > 0)
|
||||
return $this->display(__FILE__, 'blockstore.tpl');
|
||||
}
|
||||
|
||||
public function hookHeader($params)
|
||||
@@ -94,6 +99,7 @@ class BlockStore extends Module
|
||||
if (Configuration::hasContext('BLOCKSTORE_IMG', null, Shop::getContext()) && Configuration::get('BLOCKSTORE_IMG') != $_FILES['store_img']['name'])
|
||||
@unlink(dirname(__FILE__).'/'.Configuration::get('BLOCKSTORE_IMG'));
|
||||
Configuration::updateValue('BLOCKSTORE_IMG', $_FILES['store_img']['name']);
|
||||
$this->_clearCache('blockstore.tpl');
|
||||
return $this->displayConfirmation($this->l('Settings are updated'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -712,15 +712,19 @@ class Blocktopmenu extends Module
|
||||
foreach ($pages as $page)
|
||||
$this->_html .= '<option value="CMS'.$page['id_cms'].'">'.$spacer.$page['meta_title'].'</option>';
|
||||
}
|
||||
|
||||
protected function getCacheId($name = null)
|
||||
{
|
||||
parent::getCacheId($name);
|
||||
$page_name = in_array($this->page_name, array('category', 'supplier', 'manufacturer', 'cms', 'product')) ? $this->page_name : 'index';
|
||||
return 'blocktopmenu|'.$page_name.'-'.(int)$this->context->shop->id.'-'.implode(', ',$this->user_groups).'-'.(int)$this->context->language->id.'-'.(int)Tools::getValue('id_category').'-'.(int)Tools::getValue('id_manufacturer').'-'.(int)Tools::getValue('id_supplier').'-'.(int)Tools::getValue('id_cms').'-'.(int)Tools::getValue('id_product');
|
||||
}
|
||||
|
||||
public function hookDisplayTop($param)
|
||||
{
|
||||
$this->user_groups = ($this->context->customer->isLogged() ? $this->context->customer->getGroups() : array(Configuration::get('PS_UNIDENTIFIED_GROUP')));
|
||||
$this->page_name = Dispatcher::getInstance()->getController();
|
||||
$smarty_cache_id = 'blocktopmenu-'.$this->page_name.'-'.(int)$this->context->shop->id.'-'.implode(', ',$this->user_groups).'-'.(int)$this->context->language->id.'-'.(int)Tools::getValue('id_category').'-'.(int)Tools::getValue('id_manufacturer').'-'.(int)Tools::getValue('id_supplier').'-'.(int)Tools::getValue('id_cms').'-'.(int)Tools::getValue('id_product');
|
||||
$this->context->smarty->cache_lifetime = 31536000;
|
||||
Tools::enableCache();
|
||||
if (!$this->isCached('blocktopmenu.tpl', $smarty_cache_id))
|
||||
if (!$this->isCached('blocktopmenu.tpl', $this->getCacheId()))
|
||||
{
|
||||
$this->makeMenu();
|
||||
$this->smarty->assign('MENU_SEARCH', Configuration::get('MOD_BLOCKTOPMENU_SEARCH'));
|
||||
@@ -732,8 +736,7 @@ class Blocktopmenu extends Module
|
||||
$this->context->controller->addJS($this->_path.'js/superfish-modified.js');
|
||||
$this->context->controller->addCSS($this->_path.'css/superfish-modified.css');
|
||||
|
||||
$html = $this->display(__FILE__, 'blocktopmenu.tpl', $smarty_cache_id);
|
||||
Tools::restoreCacheSettings();
|
||||
$html = $this->display(__FILE__, 'blocktopmenu.tpl', $this->getCacheId());
|
||||
return $html;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user