diff --git a/modules/gm_omniprice/gm_omniprice.php b/modules/gm_omniprice/gm_omniprice.php index fa813335..d523ccd2 100644 --- a/modules/gm_omniprice/gm_omniprice.php +++ b/modules/gm_omniprice/gm_omniprice.php @@ -1376,7 +1376,10 @@ class Gm_OmniPrice extends Module ]; } } - if ($lowestCachedPrice) + + $checkIfProductIsDiscounted = self::checkIfProductIsDiscounted($this->getDiscountedProductIds($params['id_shop'], $params['id_currency'], $params['id_country'], $params['id_group']), $productId, $params['id_product_attribute']); + + if ( $lowestCachedPrice and $checkIfProductIsDiscounted ) { $this->context->smarty->assign( [ @@ -1478,8 +1481,8 @@ class Gm_OmniPrice extends Module protected function getLatestHistoricalPrice($params) { - $price_1 = Product::getPriceStatic( $params['id_product'], true, $params['id_product_attribute'], 2, null, false, false ); - $price_2 = Product::getPriceStatic( $params['id_product'], true, $params['id_product_attribute'], 2, null, false, true ); + $price_1 = Product::getPriceStatic($params['id_product'], true, $params['id_product_attribute'], 2, null, false, false); + $price_2 = Product::getPriceStatic($params['id_product'], true, $params['id_product_attribute'], 2, null, false, true); $displayMethod = Group::getPriceDisplayMethod($params['id_group']); if ($displayMethod) @@ -1493,7 +1496,7 @@ class Gm_OmniPrice extends Module $arrayField = 'price_tin'; } - $date_history = date( 'Y-m-d', strtotime( '-30 days', time() ) ); + $date_history = date('Y-m-d', strtotime('-30 days', time())); $prices = Db::getInstance()->executeS( 'SELECT ' . $field . ', `is_specific_price`' @@ -1509,39 +1512,39 @@ class Gm_OmniPrice extends Module $price_find = null; - if ( is_array( $prices ) and count( $prices ) ) + if (is_array($prices) and count($prices)) { - foreach ( $prices as $price_tmp ) + foreach ($prices as $price_tmp) { - if ( $price_tmp['is_specific_price'] ) + if ($price_tmp['is_specific_price']) { - if ( round( $price_2 ) != round( $price_tmp['price_tin'] ) ) + if (round($price_2) != round($price_tmp['price_tin'])) { - if ( $price_find == null or $price_find > round( $price_tmp['price_tin'] ) ) - $price_find = round( $price_tmp['price_tin'] ); + if ($price_find == null or $price_find > round($price_tmp['price_tin'])) + $price_find = round($price_tmp['price_tin']); } } } } - if ( $price_find ) + if ($price_find) { return [ - 'formatted' => $this->getFormattedPrice( $price_find ), + 'formatted' => $this->getFormattedPrice($price_find), 'raw' => $price_find ]; } -// echo 'SELECT ' . $field . ', `is_specific_price`' -// . ' FROM `' . _DB_PREFIX_ . 'gm_omniprice_history`' -// . ' WHERE `id_shop` = ' . $params['id_shop'] -// . ' AND `id_product` = ' . $params['id_product'] -// . ' AND `id_currency` = ' . $params['id_currency'] -// . ' AND `id_country` = ' . $params['id_country'] -// . ' AND `id_group` = ' . $params['id_group'] -// . ' AND `id_product_attribute` = ' . $params['id_product_attribute'] -// . ' AND date >= \'' . $date_history . '\''; -// echo '
'; print_r($prices); echo '
'; + // echo 'SELECT ' . $field . ', `is_specific_price`' + // . ' FROM `' . _DB_PREFIX_ . 'gm_omniprice_history`' + // . ' WHERE `id_shop` = ' . $params['id_shop'] + // . ' AND `id_product` = ' . $params['id_product'] + // . ' AND `id_currency` = ' . $params['id_currency'] + // . ' AND `id_country` = ' . $params['id_country'] + // . ' AND `id_group` = ' . $params['id_group'] + // . ' AND `id_product_attribute` = ' . $params['id_product_attribute'] + // . ' AND date >= \'' . $date_history . '\''; + // echo '
'; print_r($prices); echo '
'; // if ((count($prices) == 1) && ($prices[0]['is_specific_price'])) // { // return @@ -1574,13 +1577,13 @@ class Gm_OmniPrice extends Module // } // } - $price_1 = Product::getPriceStatic( $params['id_product'], true, $params['id_product_attribute'], 2, null, false, false ); - $price_2 = Product::getPriceStatic( $params['id_product'], true, $params['id_product_attribute'], 2, null, false, true ); - if ( $price_1 != $price_2 ) + $price_1 = Product::getPriceStatic($params['id_product'], true, $params['id_product_attribute'], 2, null, false, false); + $price_2 = Product::getPriceStatic($params['id_product'], true, $params['id_product_attribute'], 2, null, false, true); + if ($price_1 != $price_2) return - [ - 'formatted' => $this->getFormattedPrice( round( $price_1 ) ) - ]; + [ + 'formatted' => $this->getFormattedPrice(round($price_1)) + ]; return false; }