Merge branch 'develop' of gitlab.antadis.fr:dev-antadis/bebeboutik into develop
This commit is contained in:
commit
15e0509230
199
config/config.inc.php
Normal file
199
config/config.inc.php
Normal file
@ -0,0 +1,199 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 8937 $
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
/* Debug only */
|
||||
@ini_set('display_errors', 'off');
|
||||
define('_PS_DEBUG_SQL_', false);
|
||||
|
||||
$start_time = microtime(true);
|
||||
|
||||
/* Compatibility warning */
|
||||
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);
|
||||
|
||||
/* SSL configuration */
|
||||
define('_PS_SSL_PORT_', 443);
|
||||
|
||||
/* Improve PHP configuration to prevent issues */
|
||||
ini_set('upload_max_filesize', '100M');
|
||||
ini_set('default_charset', 'utf-8');
|
||||
ini_set('magic_quotes_runtime', 0);
|
||||
|
||||
// correct Apache charset (except if it's too late
|
||||
if (!headers_sent())
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
|
||||
/* No settings file? goto installer...*/
|
||||
if (!file_exists(dirname(__FILE__).'/settings.inc.php'))
|
||||
{
|
||||
$dir = ((is_dir($_SERVER['REQUEST_URI']) OR substr($_SERVER['REQUEST_URI'], -1) == '/') ? $_SERVER['REQUEST_URI'] : dirname($_SERVER['REQUEST_URI']).'/');
|
||||
if (!file_exists(dirname(__FILE__).'/../install'))
|
||||
die('Error: \'install\' directory is missing');
|
||||
header('Location: install/');
|
||||
exit;
|
||||
}
|
||||
require_once(dirname(__FILE__).'/settings.inc.php');
|
||||
define('_PS_OPEN_SHOP_', 0);
|
||||
|
||||
/* Include all defines */
|
||||
require_once(dirname(__FILE__).'/defines.inc.php');
|
||||
if (!defined('_PS_MAGIC_QUOTES_GPC_'))
|
||||
define('_PS_MAGIC_QUOTES_GPC_', get_magic_quotes_gpc());
|
||||
if (!defined('_PS_MODULE_DIR_'))
|
||||
define('_PS_MODULE_DIR_', _PS_ROOT_DIR_.'/modules/');
|
||||
if (!defined('_PS_MYSQL_REAL_ESCAPE_STRING_'))
|
||||
define('_PS_MYSQL_REAL_ESCAPE_STRING_', function_exists('mysql_real_escape_string'));
|
||||
|
||||
/* Autoload */
|
||||
require_once(dirname(__FILE__).'/autoload.php');
|
||||
|
||||
/* Redefine REQUEST_URI if empty (on some webservers...) */
|
||||
if (!isset($_SERVER['REQUEST_URI']) OR empty($_SERVER['REQUEST_URI']))
|
||||
{
|
||||
if (substr($_SERVER['SCRIPT_NAME'], -9) == 'index.php' && empty($_SERVER['QUERY_STRING']))
|
||||
$_SERVER['REQUEST_URI'] = dirname($_SERVER['SCRIPT_NAME']).'/';
|
||||
else
|
||||
{
|
||||
$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'];
|
||||
if (isset($_SERVER['QUERY_STRING']) AND !empty($_SERVER['QUERY_STRING']))
|
||||
$_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING'];
|
||||
}
|
||||
}
|
||||
|
||||
/* Trying to redefine HTTP_HOST if empty (on some webservers...) */
|
||||
if (!isset($_SERVER['HTTP_HOST']) OR empty($_SERVER['HTTP_HOST']))
|
||||
$_SERVER['HTTP_HOST'] = @getenv('HTTP_HOST');
|
||||
|
||||
/* aliases */
|
||||
function p($var) {
|
||||
return (Tools::p($var));
|
||||
}
|
||||
function d($var) {
|
||||
Tools::d($var);
|
||||
}
|
||||
|
||||
function ppp($var) {
|
||||
return (Tools::p($var));
|
||||
}
|
||||
function ddd($var) {
|
||||
Tools::d($var);
|
||||
}
|
||||
|
||||
global $_MODULES;
|
||||
$_MODULES = array();
|
||||
|
||||
/* Load all configuration keys */
|
||||
Configuration::loadConfiguration();
|
||||
|
||||
/* Load all language definitions */
|
||||
Language::loadLanguages();
|
||||
|
||||
/* Define order state */
|
||||
// DEPRECATED : these defines are going to be deleted on 1.6 version of Prestashop
|
||||
// USE : Configuration::get() method in order to getting the id of order state
|
||||
define('_PS_OS_CHEQUE_', Configuration::get('PS_OS_CHEQUE'));
|
||||
define('_PS_OS_PAYMENT_', Configuration::get('PS_OS_PAYMENT'));
|
||||
define('_PS_OS_PREPARATION_', Configuration::get('PS_OS_PREPARATION'));
|
||||
define('_PS_OS_SHIPPING_', Configuration::get('PS_OS_SHIPPING'));
|
||||
define('_PS_OS_DELIVERED_', Configuration::get('PS_OS_DELIVERED'));
|
||||
define('_PS_OS_CANCELED_', Configuration::get('PS_OS_CANCELED'));
|
||||
define('_PS_OS_REFUND_', Configuration::get('PS_OS_REFUND'));
|
||||
define('_PS_OS_ERROR_', Configuration::get('PS_OS_ERROR'));
|
||||
define('_PS_OS_OUTOFSTOCK_', Configuration::get('PS_OS_OUTOFSTOCK'));
|
||||
define('_PS_OS_BANKWIRE_', Configuration::get('PS_OS_BANKWIRE'));
|
||||
define('_PS_OS_PAYPAL_', Configuration::get('PS_OS_PAYPAL'));
|
||||
define('_PS_OS_WS_PAYMENT_', Configuration::get('PS_OS_WS_PAYMENT'));
|
||||
|
||||
/* It is not safe to rely on the system's timezone settings, and this would generate a PHP Strict Standards notice. */
|
||||
if (function_exists('date_default_timezone_set'))
|
||||
@date_default_timezone_set(Configuration::get('PS_TIMEZONE'));
|
||||
|
||||
/* Smarty */
|
||||
require_once(dirname(__FILE__).'/smarty.config.inc.php');
|
||||
/* Possible value are true, false, 'URL'
|
||||
(for 'URL' append SMARTY_DEBUG as a parameter to the url)
|
||||
default is false for production environment */
|
||||
define('SMARTY_DEBUG_CONSOLE', false);
|
||||
|
||||
|
||||
// INTERNATIONALISATION
|
||||
global $site_versions, $site_version;
|
||||
$site_versions = array('com', 'es','local'/*'it'*/);
|
||||
//$domain_chunks = explode('.bebeboutik.', strtolower($_SERVER['HTTP_HOST']));
|
||||
$domain_chunks = explode('bebeboutik.', strtolower($_SERVER['HTTP_HOST']));
|
||||
|
||||
if(count($domain_chunks) !== 2) {
|
||||
/*$extensions = explode('.', $domain_chunks[0]);
|
||||
if(in_array($extensions[1], $site_versions)) {
|
||||
header('Location: http://www.bebeboutik.'.$extensions[1]);
|
||||
exit;
|
||||
} else {*/
|
||||
header('Location: http://www.bebeboutik.com');
|
||||
exit;
|
||||
/*}*/
|
||||
}
|
||||
|
||||
$cookie_version = (
|
||||
isset($_COOKIE['site_version']) && in_array(strtolower($_COOKIE['site_version']), $site_versions)
|
||||
? strtolower($_COOKIE['site_version'])
|
||||
: FALSE
|
||||
);
|
||||
|
||||
if(!in_array($domain_chunks[0], array('www', 'm',''/*'dev'*/))
|
||||
|| ($domain_chunks[1] !== 'com' && !in_array($domain_chunks[1], $site_versions))
|
||||
|| ($domain_chunks[1] === 'com' && $domain_chunks[0] !== 'bo' && $cookie_version !== FALSE)) {
|
||||
/*
|
||||
* Security check in case of a misconfigured web server
|
||||
* If the selected domain is not allowed, redirect to default site
|
||||
*/
|
||||
header('Location: http://'
|
||||
.(in_array($domain_chunks[0], array('www', 'm', 'bo'))? $domain_chunks[0]: 'www')
|
||||
.'.bebeboutik.'
|
||||
.($cookie_version
|
||||
? $cookie_version
|
||||
: (in_array($domain_chunks[1], $site_versions)
|
||||
? $domain_chunks[1]
|
||||
: 'com'
|
||||
)
|
||||
)
|
||||
.$_SERVER['REQUEST_URI']
|
||||
);
|
||||
exit;
|
||||
}
|
||||
|
||||
$_COOKIE['site_version'] = $domain_chunks[1];
|
||||
$_GET['isolang'] = $domain_chunks[1];
|
||||
$site_version = $domain_chunks[1];
|
||||
|
||||
if ($site_version == 'com' || $site_version == 'local') {
|
||||
$site_version_front = 'fr';
|
||||
} else {
|
||||
$site_version_front = $site_version;
|
||||
}
|
||||
if(isset($site_version)) {
|
||||
global $smarty;
|
||||
$smarty->assign('site_version', $site_version);
|
||||
}
|
@ -10,7 +10,7 @@ class Contactform extends Module {
|
||||
private $assets_module_dir;
|
||||
|
||||
public function __construct() {
|
||||
$this->name = 'Contactform';
|
||||
$this->name = 'contactform';
|
||||
$this->tab = 'advertising_marketing';
|
||||
$this->version = '1.0';
|
||||
$this->author = 'Antadis';
|
||||
@ -43,11 +43,21 @@ class Contactform extends Module {
|
||||
`type` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`id_contactform`)
|
||||
) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8;
|
||||
');
|
||||
')
|
||||
// && Db::getInstance()->Execute('
|
||||
// CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'contactform_email` (
|
||||
// `id_contactform_email` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
// `email` VARCHAR(255) NULL,
|
||||
// PRIMARY KEY (`id_contactform_email`)
|
||||
// ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8;
|
||||
// ')
|
||||
;
|
||||
}
|
||||
|
||||
public function uninstallDB() {
|
||||
return Db::getInstance()->Execute('DROP TABLE `'._DB_PREFIX_.'contactform`;');
|
||||
return Db::getInstance()->Execute('DROP TABLE `'._DB_PREFIX_.'contactform`;')
|
||||
//&& Db::getInstance()->Execute('DROP TABLE `'._DB_PREFIX_.'contactform_email`;')
|
||||
;
|
||||
}
|
||||
|
||||
public function install() {
|
||||
@ -64,4 +74,39 @@ class Contactform extends Module {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// public function getContent() {
|
||||
//
|
||||
// $content = "
|
||||
// {{ error }}
|
||||
// <form method='post'>
|
||||
// <textarea name='emails'></textarea>
|
||||
// <input type='submit' value='Modifier'>
|
||||
// <form>
|
||||
// ";
|
||||
//
|
||||
// if ($_POST) {
|
||||
// if (empty($_POST['emails'])) {
|
||||
// $content = str_replace('{{ error }}', "Aucune adresse email n'a été renseignée", $content);
|
||||
// return $content;
|
||||
// }
|
||||
// $emails = explode("\n", $_POST['emails']);
|
||||
// foreach ($emails as $k => $email) {
|
||||
// $email[$k] = trim($email);
|
||||
// }
|
||||
// $emails = array_unique($emails);
|
||||
// foreach ($emails as $k => $email) {
|
||||
// if (!$this->emailExistInDb($email)) {
|
||||
// $content = str_replace('{{ error }}', "Existe pas", $content);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $content = str_replace('{{ error }}', "", $content);
|
||||
// return $content;
|
||||
// }
|
||||
//
|
||||
// private function emailExistInDb($email) {
|
||||
// return (Db::getInstance()->executeS("SELECT COUNT(*) as count FROM `"._DB_PREFIX_."contactform_email` WHERE email = \"".pSQL($email)."\" ")[0]['count'] != 0);
|
||||
// }
|
||||
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ class AdminLabelGenerate extends AdminTab {
|
||||
}
|
||||
if ($quantity>0) {
|
||||
$ean_generate = $barcode->generateBarcode($combination['id_product'], $combination['id_product_attribute'],$product->reference);
|
||||
$barcode->assocProduct($combination['id_product'], $combination['id_product_attribute'], $quantity);
|
||||
$barcode->_assocProduct($combination['id_product'], $combination['id_product_attribute'], $quantity);
|
||||
Db::getInstance()->execute('
|
||||
UPDATE
|
||||
`'._DB_PREFIX_.'product_attribute`
|
||||
@ -71,7 +71,7 @@ class AdminLabelGenerate extends AdminTab {
|
||||
}
|
||||
if ($quantity>0) {
|
||||
$ean_generate = $barcode->generateBarcode($product->id, NULL, $product->reference);
|
||||
$barcode->assocProduct($product->id, NULL, $quantity);
|
||||
$barcode->_assocProduct($product->id, NULL, $quantity);
|
||||
Db::getInstance()->execute('
|
||||
UPDATE
|
||||
`'._DB_PREFIX_.'product`
|
||||
@ -84,13 +84,15 @@ class AdminLabelGenerate extends AdminTab {
|
||||
}
|
||||
|
||||
if (!empty($ean_generate)) {
|
||||
$barcode->printPDF();
|
||||
$barcode->_printPDF();
|
||||
$this->_html .= '<p class="conf">Génération terminée : <a target="_blank" href="/modules/labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf">Télécharger le PDF</a></p>';
|
||||
} else {
|
||||
$this->_html .= '<p class="conf">Tous les produits de la vente ont déjà des EANS</p>';
|
||||
$barcode->_printPDF();
|
||||
$this->_html .= '<p class="conf">Génération terminée : <a target="_blank" href="/modules/labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf">Télécharger le PDF</a></p>';
|
||||
/*$this->_html .= '<p class="conf">Tous les produits de la vente ont déjà des EANS</p>';
|
||||
if (glob(_PS_MODULE_DIR_.'labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf')) {
|
||||
$this->_html .= '<p class="conf">Dernières étiquettes générées : <a target="_blank" href="/modules/labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf">Télécharger le PDF</a></p>';
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@ -63,9 +63,17 @@ class GenerateBarcode {
|
||||
}
|
||||
|
||||
public function _assocProduct($id_product, $id_product_attribute = NULL, $quantity) {
|
||||
$p = new Product((int)$id_product, FALSE, $cookie->id_lang);
|
||||
global $cookie;
|
||||
|
||||
/*$p = new Product((int)$id_product, FALSE, $cookie->id_lang);*/
|
||||
$p = Db::getInstance()->getRow('
|
||||
SELECT pl.name
|
||||
FROM `'._DB_PREFIX_.'product` p
|
||||
LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON pl.`id_product` = p.`id_product`
|
||||
WHERE p.`id_product` = '.(int)$id_product.'
|
||||
AND pl.`id_lang`='.(int)$cookie->id_lang);
|
||||
if ($id_product_attribute) {
|
||||
$details = Product::getDetailsCombination((int)$id_product_attribute, $cookie->id_lang);
|
||||
$details = Product::getDetailsCombination($id_product_attribute, $cookie->id_lang);
|
||||
$name_combination = '';
|
||||
foreach ($details as $key_attr => $detail) {
|
||||
$name_combination .= $detail['attribute_name'].'-';
|
||||
@ -73,13 +81,13 @@ class GenerateBarcode {
|
||||
$this->products[] = array(
|
||||
'quantity' => $quantity,
|
||||
'key' => ($id_product.'-'.$id_product_attribute),
|
||||
'label' => ($name_combination . ' ' . $p->name)
|
||||
'label' => ($name_combination . ' ' . $p['name'])
|
||||
);
|
||||
} else {
|
||||
$this->products[] = array(
|
||||
'quantity' => $quantity,
|
||||
'key' => $id_product.'-0',
|
||||
'label' => $p->name
|
||||
'label' => $p['name']
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -159,6 +167,17 @@ class GenerateBarcode {
|
||||
public function _printPDF() {
|
||||
global $cookie;
|
||||
|
||||
$this->products[0] = array(
|
||||
'quantity' => 30,
|
||||
'key' => "125415-322",
|
||||
'label' => "03 mois (62 cm)- Lot de 2 bodies Ri"
|
||||
) ;
|
||||
$this->products[1] = array(
|
||||
'quantity' => 150,
|
||||
'key' => "125416-332",
|
||||
'label' => "03 mois (62 cm)- Ensemble grenouill"
|
||||
) ;
|
||||
|
||||
if (empty($this->products)) {
|
||||
die('Tous les produits ont déjà un EAN');
|
||||
}
|
||||
@ -180,53 +199,54 @@ class GenerateBarcode {
|
||||
*/
|
||||
foreach ($this->products as $k => $p) {
|
||||
$quantity_already_print = 0;
|
||||
|
||||
// printed line
|
||||
$nb_line = ceil(($p['quantity']/self::_NB_PER_LINE_));
|
||||
for ($i=1; $i <= $nb_line; $i++) {
|
||||
|
||||
if($nb_per_page == self::_TOTAL_PER_PAGE_) {
|
||||
$pdf->addPage();
|
||||
$nb_per_page = 0;
|
||||
if ($this->products[$k]['quantity']>0){
|
||||
// printed line
|
||||
$nb_line = ceil(($this->products[$k]['quantity']/self::_NB_PER_LINE_));
|
||||
for ($i=1; $i <= $nb_line; $i++) {
|
||||
|
||||
if($nb_per_page == self::_TOTAL_PER_PAGE_) {
|
||||
$pdf->addPage();
|
||||
$nb_per_page = 0;
|
||||
}
|
||||
|
||||
$quantity_to_print = self::_NB_PER_LINE_;
|
||||
if ( ($quantity_already_print + self::_NB_PER_LINE_) > $this->products[$k]['quantity'] ) {
|
||||
$quantity_to_print = $this->products[$k]['quantity'] - $quantity_already_print;
|
||||
}
|
||||
|
||||
// label
|
||||
$this->_printLabel($pdf, $p['label'], $quantity_to_print);
|
||||
|
||||
if ((self::_NB_PER_LINE_ - $quantity_to_print)>1 && isset($this->products[$k+1])) {
|
||||
// cellule vierge
|
||||
$pdf->Cell(48, 4, '', 0,0, 'C');
|
||||
|
||||
// ajout d'1 à 2 cellule du produit suivant (label)
|
||||
$quantity_remaining = self::_NB_PER_LINE_ - ($quantity_to_print+1);
|
||||
$this->_printLabel($pdf, $this->products[$k+1]['label'], $quantity_remaining);
|
||||
|
||||
// Decrementation de la quantité dejà print sur le produit suivant
|
||||
$this->products[$k+1]['quantity'] = $this->products[$k+1]['quantity'] - $quantity_remaining;
|
||||
}
|
||||
$pdf->Ln(4);
|
||||
|
||||
// Barcode
|
||||
$ean_image = $this->directory.'/ean-'.$p['key'].'.gif';
|
||||
$this->_printEAN($pdf, $ean_image, $quantity_to_print);
|
||||
|
||||
if ((self::_NB_PER_LINE_ - $quantity_to_print)>1 && isset($this->products[$k+1])) {
|
||||
// cellule vierge
|
||||
$pdf->Cell(48, 10, '', 0,0, 'C');
|
||||
|
||||
// ajout d'1 à 2 cellule du produit suivant (codebarre)
|
||||
$ean_image = $this->directory.'/ean-'.$this->products[$k+1]['key'].'.gif';
|
||||
$this->_printEAN($pdf, $ean_image, $quantity_remaining);
|
||||
}
|
||||
$pdf->Ln(13);
|
||||
|
||||
$quantity_already_print += self::_NB_PER_LINE_;
|
||||
$nb_per_page += 1;
|
||||
}
|
||||
|
||||
$quantity_to_print = self::_NB_PER_LINE_;
|
||||
if ( ($quantity_already_print + self::_NB_PER_LINE_) > $p['quantity'] ) {
|
||||
$quantity_to_print = $p['quantity'] - $quantity_already_print;
|
||||
}
|
||||
|
||||
// label
|
||||
$this->_printLabel($pdf, $p['label'], $quantity_to_print);
|
||||
|
||||
if ((self::_NB_PER_LINE_ - $quantity_to_print)>1 && isset($this->products[$k+1])) {
|
||||
// cellule vierge
|
||||
$pdf->Cell(48, 4, '', 0,0, 'C');
|
||||
|
||||
// ajout d'1 à 2 cellule du produit suivant (label)
|
||||
$quantity_remaining = self::_NB_PER_LINE_ - ($quantity_to_print+1);
|
||||
$this->_printLabel($pdf, $this->products[$k+1]['label'], $quantity_remaining);
|
||||
|
||||
// Decrementation de la quantité dejà print sur le produit suivant
|
||||
$this->products[$k+1]['quantity'] -= $quantity_remaining;
|
||||
}
|
||||
$pdf->Ln(4);
|
||||
|
||||
// Barcode
|
||||
$ean_image = $this->directory.'/ean-'.$p['key'].'.gif';
|
||||
$this->_printEAN($pdf, $ean_image, $quantity_to_print);
|
||||
|
||||
if ((self::_NB_PER_LINE_ - $quantity_to_print)>1 && isset($this->products[$k+1])) {
|
||||
// cellule vierge
|
||||
$pdf->Cell(48, 10, '', 0,0, 'C');
|
||||
|
||||
// ajout d'1 à 2 cellule du produit suivant (codebarre)
|
||||
$ean_image = $this->directory.'/ean-'.$this->products[$k+1]['key'].'.gif';
|
||||
$this->_printEAN($pdf, $ean_image, $quantity_remaining);
|
||||
}
|
||||
$pdf->Ln(13);
|
||||
|
||||
$quantity_already_print += self::_NB_PER_LINE_;
|
||||
$nb_per_page += 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,7 @@ class Product extends ProductCore
|
||||
|
||||
if ($cached) {
|
||||
self::$producPropertiesCache[$cacheKey] = $row;
|
||||
return self::$producPropertiesCache[$cacheKey];
|
||||
return self::$producPropertiesCache[$cacheKey];
|
||||
} else {
|
||||
return $row;
|
||||
}
|
||||
@ -90,4 +90,17 @@ class Product extends ProductCore
|
||||
}
|
||||
}
|
||||
|
||||
public static function getDetailsCombination($id_product_attribute, $id_lang) {
|
||||
return Db::getInstance()->ExecuteS('
|
||||
SELECT pa.*, ag.`id_attribute_group`, ag.`is_color_group`, agl.`name` AS group_name, al.`name` AS attribute_name, a.`id_attribute`, pa.`unit_price_impact`
|
||||
FROM `'._DB_PREFIX_.'product_attribute` pa
|
||||
LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute`
|
||||
LEFT JOIN `'._DB_PREFIX_.'attribute` a ON a.`id_attribute` = pac.`id_attribute`
|
||||
LEFT JOIN `'._DB_PREFIX_.'attribute_group` ag ON ag.`id_attribute_group` = a.`id_attribute_group`
|
||||
LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.(int)($id_lang).')
|
||||
LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = '.(int)($id_lang).')
|
||||
WHERE pa.`id_product_attribute` = '.(int)($id_product_attribute).'
|
||||
ORDER BY pa.`id_product_attribute`');
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4364,6 +4364,7 @@ body#index .jqibuttons span.gradient{
|
||||
|
||||
.module-contactform-input-group {
|
||||
margin: 12px 0;
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
.module-contactform-input-group input, .module-contactform-input-group textarea {
|
||||
margin-top: 3px;
|
||||
|
Loading…
Reference in New Issue
Block a user