95 lines
3.8 KiB
PHP
Executable File
95 lines
3.8 KiB
PHP
Executable File
<?php
|
|
class ProductController extends ProductControllerCore {
|
|
public function preProcess() {
|
|
parent::preProcess();
|
|
global $cookie;
|
|
|
|
if(Module::isInstalled('privatesales')) {
|
|
$id_category = $this->product->id_category_default;
|
|
$sale = Sale::getSaleFromCategory($id_category);
|
|
|
|
/* Finding out the right Category for thumb - 4 levels of category */
|
|
$product_category = $id_category;
|
|
$available_cat = $this->product->getCategories();
|
|
$first_step_cats = Category::getChildren($sale->id_category,$cookie->id_lang);
|
|
foreach ($first_step_cats as $key => $first_step_cat) {
|
|
if(in_array($first_step_cat['id_category'], $available_cat)){
|
|
$product_category = $first_step_cat = $first_step_cat['id_category'];
|
|
break;
|
|
}
|
|
}
|
|
$second_step_cats = (isset($first_step_cat))?Category::getChildren((int)$first_step_cat,$cookie->id_lang):array();
|
|
foreach ($second_step_cats as $key => $second_step_cat) {
|
|
if(in_array($second_step_cat['id_category'], $available_cat)){
|
|
$product_category = $second_step_cat = $second_step_cat['id_category'];
|
|
break;
|
|
}
|
|
}
|
|
$third_step_cats = (isset($second_step_cat))?Category::getChildren((int)$second_step_cat,$cookie->id_lang):array();
|
|
foreach ($third_step_cats as $key => $third_step_cat) {
|
|
if(in_array($third_step_cat['id_category'], $available_cat)){
|
|
$product_category = $third_step_cat = $third_step_cat['id_category'];
|
|
break;
|
|
}
|
|
}
|
|
if (isset($third_step_cat) && file_exists(_PS_ROOT_DIR_.'/img/c/'.(int)$third_step_cat.'_thumb_vp.jpg')) {
|
|
$id_category_thumb = (int)$third_step_cat;
|
|
} elseif (isset($second_step_cat) && file_exists(_PS_ROOT_DIR_.'/img/c/'.(int)$second_step_cat.'_thumb_vp.jpg')) {
|
|
$id_category_thumb = (int)$second_step_cat;
|
|
} elseif (isset($first_step_cat) && file_exists(_PS_ROOT_DIR_.'/img/c/'.(int)$first_step_cat.'_thumb_vp.jpg')) {
|
|
$id_category_thumb = (int)$first_step_cat;
|
|
} else {
|
|
// sale cat thumb
|
|
$id_category_thumb = $sale->id_category;
|
|
}
|
|
|
|
self::$smarty->assign(array(
|
|
'sale' => $sale,
|
|
'HOOK_SIMILAR_PRODUCT' => Module::hookExec('similarProduct', array('product' => $this->product, 'sale' => $sale, 'category' => $product_category)),
|
|
'HOOK_SIMILAR_PRODUCT_TABLABEL' => Module::hookExec('simlarProductTabLabel', array('product' => $this->product, 'sale' => $sale, 'category' => $product_category)),
|
|
'HOOK_PRIVATESALES_PRODUCT' => Module::hookExec('privatesales_product', array('sale' => $sale)),
|
|
'is_sale_home' => ($sale? $sale->id_category == $id_category: FALSE),
|
|
'is_thumb_vp' => (file_exists(_PS_ROOT_DIR_.'/img/c/'.$id_category_thumb.'_thumb_vp.jpg')),
|
|
'id_category_thumb' => $id_category_thumb,
|
|
));
|
|
|
|
// assign date estimation from sale delay
|
|
if (Module::isInstalled('privatesales_delay')) {
|
|
if (!class_exists('SaleDelay')) {
|
|
require_once _PS_ROOT_DIR_.'/modules/privatesales_delay/saledelay.php';
|
|
}
|
|
$date = new DateTime();
|
|
$delivery_date = SaleDelay::getDeliveryDate(array($sale->delivery_delay), null, $date, true);
|
|
}
|
|
}
|
|
|
|
$is_random = Db::getInstance()->getValue('
|
|
SELECT `random`
|
|
FROM `'._DB_PREFIX_.'product_customs`
|
|
WHERE id_product = '.(int)$this->product->id
|
|
);
|
|
$bestSaleCart = Module::hookExec('bestSaleCart');
|
|
self::$smarty->assign(array(
|
|
'bestSaleCart' => $bestSaleCart,
|
|
'product' => $this->product,
|
|
'is_random' => $is_random,
|
|
'coverImage' => Product::getCover($this->product->id),
|
|
'delivery_date' => (!empty($delivery_date)?$delivery_date:null),
|
|
));
|
|
}
|
|
|
|
public function setMedia() {
|
|
parent::setMedia();
|
|
|
|
global $css_files;
|
|
$css_files = array_slice($css_files, 0, 1);
|
|
|
|
if(!_PS_MOBILE_) {
|
|
Tools::addJS(array(
|
|
_THEME_JS_DIR_.'jquery.mousewheel.js',
|
|
_THEME_JS_DIR_.'jquery.jscrollpane.min.js'
|
|
));
|
|
}
|
|
}
|
|
}
|