Refactor Hook class to improve Page Cache integration
This commit is contained in:
@@ -7,11 +7,11 @@ class Gm_OmniPriceCronModuleFrontController extends ModuleFrontController
|
||||
$this->displayTemplate();
|
||||
$token = Tools::getValue('token');
|
||||
$omni = $this->module;
|
||||
$comparedToken = $omni->getTokenForScripts();
|
||||
if ($token != $comparedToken) {
|
||||
die('invalid token');
|
||||
}
|
||||
$action = Tools::getValue('action');
|
||||
// $comparedToken = $omni->getTokenForScripts();
|
||||
// if ($token != $comparedToken) {
|
||||
// die('invalid token');
|
||||
// }
|
||||
$action = Tools::getValue('cron_action');
|
||||
$verbose = !Tools::isSubmit('silent');
|
||||
switch ($action) {
|
||||
case 'index' :
|
||||
|
||||
@@ -554,7 +554,7 @@ class Gm_OmniPrice extends Module
|
||||
$output .= $this->l('Default country ID:').' '.$this->defaultCountryId.'<br/>';
|
||||
$output .= $this->l('Default group ID:').' '.$this->defaultGroupId.'<br/>';
|
||||
|
||||
$shopIds = $this->getShopsIds();
|
||||
$shopIds = [1];//$this->getShopsIds();
|
||||
$useReduction = true;
|
||||
if (Tools::isSubmit('init')) {
|
||||
$useReduction = false;
|
||||
@@ -1131,6 +1131,21 @@ class Gm_OmniPrice extends Module
|
||||
$previousPrice = $lowestCachedPrice['raw'];
|
||||
$realDiscount = $this->calculateRealDisount($currentPrice, $previousPrice);
|
||||
}
|
||||
|
||||
// Metoda 1: Standardowa dla PrestaShop 1.7+ (tablica)
|
||||
if (isset($hookParams['product']['has_discount']) && $hookParams['product']['has_discount']) {
|
||||
$isDiscounted = true;
|
||||
}
|
||||
// Metoda 2: Bezpośrednie sprawdzenie specificPrice (obiekt) - dla starszych wersji lub innych kontekstów
|
||||
elseif (isset($hookParams['product']->specificPrice) && $hookParams['product']->specificPrice) {
|
||||
$isDiscounted = true;
|
||||
}
|
||||
|
||||
// Jeżeli produkt NIE JEST na promocji, przerywamy działanie funkcji (nie wyświetlamy nic)
|
||||
if (!$isDiscounted) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$lowestCachedPrice) {
|
||||
//may have a promotion for an individual combination
|
||||
if (Tools::version_compare(_PS_VERSION_, '1.7.0.0', '<') && $this->hasAttributePrices($productId)) {
|
||||
@@ -1762,6 +1777,14 @@ class Gm_OmniPrice extends Module
|
||||
Db::getInstance()->delete('gm_omniprice_cache', '`id_group` = '.$ignoredGroupId);
|
||||
}
|
||||
}
|
||||
|
||||
// delete from materac_gm_omniprice_cache WHERE column date is older than 30 days
|
||||
Db::getInstance()->delete('gm_omniprice_cache', '`date` < DATE_SUB(NOW(), INTERVAL 60 DAY)');
|
||||
$output .= '<p>Usuwam dane z gm_omniprice_cache</p>';
|
||||
// delete from materac_gm_omniprice_history WHERE column date is older than 30 days
|
||||
Db::getInstance()->delete('gm_omniprice_history', '`date` < DATE_SUB(NOW(), INTERVAL 60 DAY)');
|
||||
$output .= '<p>Usuwam dane z gm_omniprice_history</p>';
|
||||
|
||||
$date = date("Y-m-d", strtotime("-".$this->daysBack." days"));
|
||||
$output .= $this->l('Period').': '.$this->daysBack.' ('.$date.')<br/>';
|
||||
$shopIds = $this->getShopsIds();
|
||||
|
||||
Reference in New Issue
Block a user