473 lines
43 KiB
PHP
473 lines
43 KiB
PHP
<?php
|
|
include dirname(__FILE__).'/../../config/config.inc.php';
|
|
include dirname(__FILE__).'/../../init.php';
|
|
require_once _PS_PHPEXCEL_DIR_.'Classes/PHPExcel.php';
|
|
require_once _PS_PHPEXCEL_DIR_.'Classes/PHPExcel/IOFactory.php';
|
|
|
|
class GenerateWp
|
|
{
|
|
public $objPHPExcel;
|
|
public $objWriter;
|
|
public $columns;
|
|
public $columns_es;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->objPHPExcel = new PHPExcel();
|
|
$this->columns_es = array(
|
|
'B' => 'EAN',
|
|
'C' => 'Ref fournisseur',
|
|
'D' => 'Id produit',
|
|
'E' => 'Nom du produit',
|
|
'F' => 'Catégorie',
|
|
'G' => 'Sous-catégorie',
|
|
'H' => 'Sous-sous-catégorie',
|
|
'I' => 'Description courte',
|
|
'J' => 'Bon à savoir',
|
|
'K' => 'Les plus',
|
|
'L' => 'Vidéos',
|
|
'M' => 'Livraison',
|
|
);
|
|
$this->columns = array(
|
|
'B' => 'EAN',
|
|
'C' => 'Ref fournisseur',
|
|
'D' => 'Nom du produit',
|
|
'E' => 'Type de produit',
|
|
'F' => 'Nom / Collection',
|
|
'G' => 'Coloris / Déclinaison',
|
|
'H' => 'Nom du produit HA',
|
|
'I' => 'Nom du produit (old)',
|
|
'J' => 'Nb de caract. Titre',
|
|
'K' => 'Order',
|
|
'L' => 'Catégorie',
|
|
'M' => 'Sous-catégorie',
|
|
'N' => 'Sous-sous-catégorie',
|
|
'O' => 'Nb de photos',
|
|
'P' => 'Ordre Logistique',
|
|
'Q' => 'Ref Bébé Boutik',
|
|
'R' => 'Nb de caract. Ref',
|
|
'S' => 'Description courte',
|
|
'T' => 'Bon à savoir',
|
|
'U' => 'Les plus',
|
|
'V' => 'Vidéo',
|
|
'W' => 'Livraison',
|
|
'X' => 'Poids',
|
|
'Y' => 'Vente old',
|
|
'Z' => 'BDC old',
|
|
'AA' => 'Quantité réservée',
|
|
'AB' => 'Taille',
|
|
'AC' => 'TVA appliquée',
|
|
'AD' => 'PPC TTC',
|
|
'AE' => 'PPC old',
|
|
'AF' => 'Prix achat HT',
|
|
'AG' => 'Prix HA old',
|
|
'AH' => 'Différence',
|
|
'AI' => 'PV 3BTK appliqué',
|
|
'AJ' => 'Prix vente',
|
|
'AK' => 'Remise membre',
|
|
'AL' => 'Marge',
|
|
'AM' => 'Photos',
|
|
'AN' => 'Photos old',
|
|
'AO' => 'BDC Potentiel',
|
|
'AP' => 'Custom code',
|
|
'AQ' => 'Pays de fabrication',
|
|
'AR' => 'Date de la vente');
|
|
}
|
|
|
|
|
|
public function generate($params)
|
|
{
|
|
$sheets = array(0,1);
|
|
$lastLine = count($params['lines'])+4;
|
|
|
|
foreach ($sheets as $key => $sheet) {
|
|
if($key>0){
|
|
$this->objPHPExcel->createSheet(1);
|
|
}
|
|
$this->objPHPExcel->setActiveSheetIndex($key);
|
|
$this->objPHPExcel->setActiveSheetIndex($key)->setCellValue('A1','Vente - '.$params['marque']);
|
|
$activeSheet = $this->objPHPExcel->getActiveSheet();
|
|
if($key == 0){
|
|
$activeSheet->setTitle('Vente FR');
|
|
}else{
|
|
$activeSheet->setTitle('Vente ES');
|
|
}
|
|
$activeSheet->mergeCells('A1:B1');
|
|
if($key == 0){
|
|
$activeSheet->setCellValue('AM1',$params['marque']);
|
|
$activeSheet->getStyle('AM1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
|
|
$activeSheet->getStyle('AM1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$activeSheet->getStyle('AM1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
$activeSheet->getStyle('AM1')->getFill()->applyFromArray(
|
|
array(
|
|
'type' => PHPExcel_Style_Fill::FILL_SOLID,
|
|
'rotation' => 0,
|
|
'startcolor' => array(
|
|
'rgb' => '000000'
|
|
),
|
|
'endcolor' => array(
|
|
'rgb' => '000000'
|
|
)
|
|
)
|
|
);
|
|
}
|
|
|
|
$activeSheet->getStyle('A1:AR'.$lastLine)->getFont()->setSize(10);
|
|
$activeSheet->getStyle('A1:AR'.$lastLine)->getFont()->setName('calibri');
|
|
}
|
|
|
|
$borders_style = array(
|
|
'borders' => array(
|
|
'allborders' => array(
|
|
'style' => PHPExcel_Style_Border::BORDER_THIN
|
|
)
|
|
)
|
|
);
|
|
|
|
|
|
$i=4;
|
|
foreach ($this->columns as $key => $value) {
|
|
$this->objPHPExcel->setActiveSheetIndex(0);
|
|
$activeSheet = $this->objPHPExcel->getActiveSheet();
|
|
$activeSheet->getRowDimension($i)->setRowHeight(25);
|
|
if(in_array($key,array('C','D'))) {
|
|
$activeSheet->getColumnDimension($key)->setWidth(30);
|
|
} elseif(in_array($key,array('S','AM','AN'))) {
|
|
$activeSheet->getColumnDimension($key)->setWidth(40);
|
|
} elseif(in_array($key,array('J','K','O','P','R'))){
|
|
$activeSheet->getColumnDimension($key)->setWidth(10);
|
|
} elseif(in_array($key,array('X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AO','AP','AK','AR'))) {
|
|
$activeSheet->getColumnDimension($key)->setWidth(11);
|
|
} else {
|
|
$activeSheet->getColumnDimension($key)->setWidth(16);
|
|
}
|
|
|
|
$activeSheet->setCellValue($key.$i,$value);
|
|
$activeSheet->getStyle($key.$i)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
|
|
$activeSheet->getStyle($key.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$activeSheet->getStyle($key.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
$activeSheet->getStyle($key.$i)->applyFromArray($borders_style);
|
|
$activeSheet->getStyle($key.$i)->getFill()->applyFromArray(
|
|
array(
|
|
'type' => PHPExcel_Style_Fill::FILL_SOLID,
|
|
'rotation' => 0,
|
|
'startcolor' => array(
|
|
'rgb' => '6C8DCD'
|
|
),
|
|
'endcolor' => array(
|
|
'rgb' => '6C8DCD'
|
|
)
|
|
)
|
|
);
|
|
}
|
|
foreach ($this->columns_es as $key => $value) {
|
|
$this->objPHPExcel->setActiveSheetIndex(1);
|
|
$activeSheet = $this->objPHPExcel->getActiveSheet();
|
|
$activeSheet->getRowDimension($i)->setRowHeight(25);
|
|
if(in_array($key,array('B','C','D','E','F','G','H','J'))) {
|
|
$activeSheet->getColumnDimension($key)->setWidth(16);
|
|
} elseif(in_array($key,array('I'))) {
|
|
$activeSheet->getColumnDimension($key)->setWidth(40);
|
|
} else {
|
|
$activeSheet->getColumnDimension($key)->setWidth(11);
|
|
}
|
|
|
|
$activeSheet->setCellValue($key.$i,$value);
|
|
$activeSheet->getStyle($key.$i)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
|
|
$activeSheet->getStyle($key.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
$activeSheet->getStyle($key.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
|
|
$activeSheet->getStyle($key.$i)->applyFromArray($borders_style);
|
|
$activeSheet->getStyle($key.$i)->getFill()->applyFromArray(
|
|
array(
|
|
'type' => PHPExcel_Style_Fill::FILL_SOLID,
|
|
'rotation' => 0,
|
|
'startcolor' => array(
|
|
'rgb' => '6C8DCD'
|
|
),
|
|
'endcolor' => array(
|
|
'rgb' => '6C8DCD'
|
|
)
|
|
)
|
|
);
|
|
}
|
|
$i++;
|
|
foreach ($params['lines'] as $key => $row) {
|
|
if(isset($row['id_product'])){
|
|
$id_categories = array();
|
|
foreach(Db::getInstance()->ExecuteS('
|
|
SELECT `id_category`
|
|
FROM `'._DB_PREFIX_.'category_product`
|
|
WHERE `id_product` = '.(int) $row['id_product'].'
|
|
') as $cat) {
|
|
$id_categories[] = (int) $cat['id_category'];
|
|
}
|
|
sort($id_categories);
|
|
|
|
$categories_title = array(2 => array(0 => '', 1 => '', 2 => ''), 3 => array(0 => '', 1 => '', 2 => ''));
|
|
foreach ($id_categories as $key => $id_category) {
|
|
foreach (Db::getInstance()->executeS('
|
|
SELECT `name`,`id_lang`
|
|
FROM `'._DB_PREFIX_.'category_lang`
|
|
WHERE `id_category` = '.(int) $id_category.'
|
|
AND (`id_lang` = 2 OR `id_lang` = 3)
|
|
') as $title) {
|
|
$categories_title[$title['id_lang']][$key] = $title['name'];
|
|
}
|
|
}
|
|
|
|
$images = array();
|
|
foreach(Db::getInstance()->ExecuteS('
|
|
SELECT i.`id_image`, l.`legend`
|
|
FROM `'._DB_PREFIX_.'image` i
|
|
LEFT JOIN `'._DB_PREFIX_.'image_lang` l ON l.`id_image` = i.`id_image`
|
|
WHERE l.`id_lang` = 2
|
|
AND i.`id_product` = '.(int) $row['id_product'].'
|
|
ORDER BY i.`position`
|
|
') as $img) {
|
|
$link_image = str_split($img['id_image']);
|
|
$images[] = 'https://static.bebeboutik.com/img/p/'.implode('/', $link_image) .'/'. $img['id_image'].'.jpg';
|
|
}
|
|
$price = Product::getPriceStatic($row['id_product'],TRUE, NULL, 2, NULL, FALSE, FALSE);
|
|
$price2 = Product::getPriceStatic($row['id_product'],TRUE, NULL, 2);
|
|
|
|
$this->objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, (String)$row['ean'])
|
|
->setCellValue('C'.$i, $row['supplier_reference'])
|
|
->setCellValue('D'.$i, '=IF(AND(E'.$i.'="";F'.$i.'="";G'.$i.'="");"";E'.$i.'&" "&F'.$i.'&" - "&G'.$i.')')
|
|
->setCellValue('E'.$i, '')
|
|
->setCellValue('F'.$i, '')
|
|
->setCellValue('G'.$i, '')
|
|
->setCellValue('H'.$i, $row['name_ha'])
|
|
->setCellValue('I'.$i, $row['lang'][2]['name'])
|
|
->setCellValue('J'.$i, '=LEN(D'.$i.')')
|
|
->setCellValue('K'.$i, (int)$row['position'])
|
|
->setCellValue('L'.$i, $categories_title[2][0])
|
|
->setCellValue('M'.$i, $categories_title[2][1])
|
|
->setCellValue('N'.$i, $categories_title[2][2])
|
|
->setCellValue('O'.$i, count($images))
|
|
->setCellValue('P'.$i, '')
|
|
->setCellValue('Q'.$i, '=AM1 & "-" & P'.$i.' & "-" & LEFT(C'.$i.';9)')
|
|
->setCellValue('R'.$i, '=IF(Q'.$i.'="";"";LEN(Q'.$i.'))')
|
|
->setCellValue('S'.$i, $row['lang'][2]['description_short'])
|
|
->setCellValue('T'.$i, $row['lang'][2]['description'])
|
|
->setCellValue('U'.$i, $row['lang'][2]['description_more'])
|
|
->setCellValue('V'.$i, $row['lang'][2]['videos'])
|
|
->setCellValue('W'.$i, $row['lang'][2]['description_delivery'])
|
|
->setCellValue('X'.$i, $row['weight'])
|
|
->setCellValue('Y'.$i, '')
|
|
->setCellValue('Z'.$i, '')
|
|
->setCellValue('AA'.$i, $row['quantity'])
|
|
->setCellValue('AB'.$i, $row['height'])
|
|
->setCellValue('AC'.$i, $row['id_tax_rules_group'])
|
|
->setCellValue('AD'.$i, $row['ppc'])
|
|
->setCellValue('AE'.$i, '')
|
|
->setCellValue('AF'.$i, $row['prix_ha'])
|
|
->setCellValue('AG'.$i, Tools::ps_round($row['wholesale_price'], 2))
|
|
->setCellValue('AH'.$i, '=IF(AG'.$i.'="";"";IF((AF'.$i.'-AG'.$i.')>0;"ATTENTION";IF((AF'.$i.'-AG'.$i.')<0;"COOL";IF((AF'.$i.'-AG'.$i.')=0;"OK";""))))')
|
|
->setCellValue('AI'.$i, '=IF(AF'.$i.'="";"";(AF'.$i.'*1,85))')
|
|
->setCellValue('AJ'.$i, $price2)
|
|
->setCellValue('AK'.$i, '=IF(AND(AD'.$i.'="";AI'.$i.'="");"";ROUND((1-AI'.$i.'/AD'.$i.')*100;4))')
|
|
->setCellValue('AL'.$i, '=IF(AND(AF'.$i.'="";AI'.$i.'="");"";1-AF'.$i.'/(AI'.$i.'/1,2))')
|
|
->setCellValue('AM'.$i, '=IF(O'.$i.'="";"";IF(O'.$i.'=1;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg";IF(O'.$i.'=2;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg";IF(O'.$i.'=3;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg";IF(O'.$i.'=4;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg";IF(O'.$i.'='.$i.';"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg";IF(O'.$i.'=6;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg";IF(O'.$i.'=7;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg";IF(O'.$i.'=8;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg";IF(O'.$i.'=9;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg";IF(O'.$i.'=10;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg";IF(O'.$i.'=11;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg";IF(O'.$i.'=12;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-11.jpg";IF(O'.$i.'=13;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-11.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-12.jpg";IF(O'.$i.'=14;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-11.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-12.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-13.jpg";IF(O'.$i.'=1'.$i.';"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-11.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-12.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-13.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-14.jpg"))))))))))))))))')
|
|
->setCellValue('AN'.$i, implode(', ', $images))
|
|
->setCellValue('AO'.$i, '=AA'.$i.'*AF'.$i)
|
|
->setCellValue('AP'.$i, isset($row['nc8'])?$row['nc8']:"")
|
|
->setCellValue('AQ'.$i, isset($row['id_country'])?$row['id_country']:"")
|
|
->setCellValue('AR'.$i, '');
|
|
$this->objPHPExcel->setActiveSheetIndex(0)->getStyle('B'.$i.':AR'.$i.'')->applyFromArray($borders_style);
|
|
|
|
$this->objPHPExcel->setActiveSheetIndex(1)->setCellValue('B'.$i, (String)$row['ean'])
|
|
->setCellValue('C'.$i, $row['supplier_reference'])
|
|
->setCellValue('D'.$i, $row['id_product'])
|
|
->setCellValue('E'.$i, $row['lang'][3]['name'])
|
|
->setCellValue('F'.$i, $categories_title[3][0])
|
|
->setCellValue('G'.$i, $categories_title[3][1])
|
|
->setCellValue('H'.$i, $categories_title[3][2])
|
|
->setCellValue('I'.$i, $row['lang'][3]['description_short'])
|
|
->setCellValue('J'.$i, $row['lang'][3]['description'])
|
|
->setCellValue('K'.$i, $row['lang'][3]['description_more'])
|
|
->setCellValue('L'.$i, $row['lang'][3]['videos'])
|
|
->setCellValue('M'.$i, $row['lang'][3]['description_delivery']);
|
|
$this->objPHPExcel->setActiveSheetIndex(1)->getStyle('B'.$i.':M'.$i.'')->applyFromArray($borders_style);
|
|
} else {
|
|
$this->objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, (String)$row['ean'])
|
|
->setCellValue('C'.$i, $row['supplier_ref'])
|
|
->setCellValue('D'.$i, '=IF(AND(E'.$i.'="";F'.$i.'="";G'.$i.'="");"";E'.$i.'&" "&F'.$i.'&" - "&G'.$i.')')
|
|
->setCellValue('E'.$i, '')
|
|
->setCellValue('F'.$i, '')
|
|
->setCellValue('G'.$i, '')
|
|
->setCellValue('H'.$i, '')
|
|
->setCellValue('I'.$i, $row['name_ha'])
|
|
->setCellValue('J'.$i, '=LEN(D'.$i.')')
|
|
->setCellValue('K'.$i, '')
|
|
->setCellValue('L'.$i, '')
|
|
->setCellValue('M'.$i, '')
|
|
->setCellValue('N'.$i, '')
|
|
->setCellValue('O'.$i, '')
|
|
->setCellValue('P'.$i, '')
|
|
->setCellValue('Q'.$i, '=AM1 & "-" & P'.$i.' & "-" & LEFT(C'.$i.';9)')
|
|
->setCellValue('R'.$i, '=IF(Q'.$i.'="";"";LEN(Q'.$i.'))')
|
|
->setCellValue('S'.$i, '')
|
|
->setCellValue('T'.$i, '')
|
|
->setCellValue('U'.$i, '')
|
|
->setCellValue('V'.$i, '')
|
|
->setCellValue('W'.$i, '')
|
|
->setCellValue('X'.$i, '')
|
|
->setCellValue('Y'.$i, '')
|
|
->setCellValue('Z'.$i, '')
|
|
->setCellValue('AA'.$i, $row['quantity'])
|
|
->setCellValue('AB'.$i, '')
|
|
->setCellValue('AC'.$i, '')
|
|
->setCellValue('AD'.$i, $row['ppc'])
|
|
->setCellValue('AE'.$i, '')
|
|
->setCellValue('AF'.$i, $row['prix_ha'])
|
|
->setCellValue('AG'.$i, '')
|
|
->setCellValue('AH'.$i, '=IF(AG'.$i.'="";"";IF((AF'.$i.'-AG'.$i.')>0;"ATTENTION";IF((AF'.$i.'-AG'.$i.')<0;"COOL";IF((AF'.$i.'-AG'.$i.')=0;"OK";""))))')
|
|
->setCellValue('AI'.$i, '=IF(AF'.$i.'="";"";(AF'.$i.'*1,85))')
|
|
->setCellValue('AJ'.$i, '')
|
|
->setCellValue('AK'.$i, '=IF(AND(AD'.$i.'="";AI'.$i.'="");"";ROUND((1-AI'.$i.'/AD'.$i.')*100;4))')
|
|
->setCellValue('AL'.$i, '=IF(AND(AF'.$i.'="";AI'.$i.'="");"";1-AF'.$i.'/(AI'.$i.'/1,2))')
|
|
->setCellValue('AM'.$i, '=IF(O'.$i.'="";"";IF(O'.$i.'=1;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg";IF(O'.$i.'=2;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg";IF(O'.$i.'=3;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg";IF(O'.$i.'=4;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg";IF(O'.$i.'='.$i.';"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg";IF(O'.$i.'=6;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg";IF(O'.$i.'=7;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg";IF(O'.$i.'=8;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg";IF(O'.$i.'=9;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg";IF(O'.$i.'=10;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg";IF(O'.$i.'=11;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg";IF(O'.$i.'=12;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-11.jpg";IF(O'.$i.'=13;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-11.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-12.jpg";IF(O'.$i.'=14;"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-11.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-12.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-13.jpg";IF(O'.$i.'=1'.$i.';"https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&".jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-1.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-2.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-3.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-4.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-5.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-6.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-7.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-8.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-9.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-10.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-11.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-12.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-13.jpg,https://static.bebeboutik.com/img_import/"&$AM$1&"/"&C'.$i.'&"-14.jpg"))))))))))))))))')
|
|
->setCellValue('AN'.$i, '')
|
|
->setCellValue('AO'.$i, '=AA'.$i.'*AF'.$i)
|
|
->setCellValue('AP'.$i, '')
|
|
->setCellValue('AQ'.$i, '')
|
|
->setCellValue('AR'.$i, '');
|
|
$this->objPHPExcel->setActiveSheetIndex(0)->getStyle('B'.$i.':AR'.$i.'')->applyFromArray($borders_style);
|
|
|
|
$this->objPHPExcel->setActiveSheetIndex(1)->setCellValue('B'.$i, (String)$row['ean'])
|
|
->setCellValue('C'.$i, $row['supplier_ref'])
|
|
->setCellValue('D'.$i, '')
|
|
->setCellValue('E'.$i, '')
|
|
->setCellValue('F'.$i, '')
|
|
->setCellValue('G'.$i, '')
|
|
->setCellValue('H'.$i, '')
|
|
->setCellValue('I'.$i, '')
|
|
->setCellValue('J'.$i, '')
|
|
->setCellValue('K'.$i, '')
|
|
->setCellValue('L'.$i, '')
|
|
->setCellValue('M'.$i, '');
|
|
$this->objPHPExcel->setActiveSheetIndex(1)->getStyle('B'.$i.':M'.$i.'')->applyFromArray($borders_style);
|
|
}
|
|
$i++;
|
|
}
|
|
$this->objPHPExcel->setActiveSheetIndex(0);
|
|
$this->objWriter = PHPExcel_IOFactory::createWriter($this->objPHPExcel, 'Excel2007');
|
|
}
|
|
}
|
|
|
|
if(isset($_FILES['csvfile']) && $_FILES['csvfile']['name'] != '') {
|
|
$filename = Tools::getValue('filename')?'WP-Vente '.Tools::getValue('filename'):'WP-Vente';
|
|
$marque = Tools::getValue('filename')?Tools::getValue('filename'):'Marque';
|
|
$params = array('marque' => $marque, 'filename' => $filename, 'lines' => array());
|
|
|
|
$f = fopen($_FILES['csvfile']['tmp_name'], 'r');
|
|
fgetcsv($f, 0, ';');
|
|
$products = array();
|
|
$product_info = array();
|
|
$refs = array();
|
|
$eans = array();
|
|
while($line = fgetcsv($f, 0, ';')) {
|
|
if($line[0] == '' && $line[1] == '') {
|
|
continue;
|
|
}
|
|
if($line[0] != '') {
|
|
$ean = trim($line[0]);
|
|
$products[$ean] = array(
|
|
'ean' => $ean,
|
|
'supplier_ref' => trim($line[1]),
|
|
'name_ha' => trim($line[2]),
|
|
'quantity' => trim($line[3]),
|
|
'ppc' => trim($line[4]),
|
|
'prix_ha' => trim($line[5])
|
|
);
|
|
$eans[] = $ean;
|
|
} else {
|
|
$ref = trim($line[1]);
|
|
$products[$ref] = array(
|
|
'ean' => trim($line[0]),
|
|
'supplier_ref' => $ref,
|
|
'name_ha' => trim($line[2]),
|
|
'quantity' => trim($line[3]),
|
|
'ppc' => trim($line[4]),
|
|
'prix_ha' => trim($line[5])
|
|
);
|
|
$refs[] = $ref;
|
|
}
|
|
}
|
|
|
|
$product_info = array();
|
|
$product_found = 0;
|
|
$ids = array();
|
|
foreach (Db::getInstance()->executeS('
|
|
SELECT p.`id_product`, p.`id_tax_rules_group`, p.`id_category_default`, p.`ean13`, p.`price`, p.`wholesale_price`,
|
|
p.`reference`, p.`supplier_reference`, p.`weight`, p.`height`, p.`width`, p.`depth`, c.`position`, cu.*
|
|
FROM
|
|
`'._DB_PREFIX_.'product` p
|
|
INNER JOIN (SELECT date_add, max(id_product) as maxid FROM `'._DB_PREFIX_.'product` GROUP BY ean13) as b
|
|
ON p.`id_product` = b.maxid
|
|
LEFT JOIN `'._DB_PREFIX_.'category_product` c
|
|
ON (b.maxid = c.`id_product` AND p.`id_category_default` = c.`id_category`)
|
|
LEFT JOIN `'._DB_PREFIX_.'product_customs` cu
|
|
ON (cu.`id_product` = p.`id_product`)
|
|
WHERE p.`ean13` IN ("'.implode('","',$eans).'")
|
|
'.(!empty($refs)?' OR p.`supplier_reference` IN ("'.implode('","',$refs).'")':'').'
|
|
ORDER BY c.`position`
|
|
') as $row) {
|
|
if($row['ean13']!='' && isset($products[$row['ean13']])){
|
|
$products[$row['ean13']] = array_merge($products[$row['ean13']], $row);
|
|
$product_found++;
|
|
} elseif($row['supplier_reference']!='' && isset($products[$row['supplier_reference']])){
|
|
$products[$row['supplier_reference']] = array_merge($products[$row['supplier_reference']], $row);
|
|
$product_found++;
|
|
}
|
|
$ids[] = (int)$row['id_product'];
|
|
}
|
|
$new_products = count($ids) - $product_found;
|
|
if(!empty($ids)){
|
|
foreach (Db::getInstance()->executeS('
|
|
SELECT p.`ean13`, p.`supplier_reference`, pl.*
|
|
FROM ps_product_lang pl
|
|
LEFT ps_product p ON (pl.`id_product` = p.`id_product`)
|
|
WHERE pl.`id_product` IN ('.implode(',',$ids).')
|
|
AND (pl.id_lang = 2 OR pl.id_lang = 3)
|
|
ORDER BY pl.`id_product`
|
|
') as $row) {
|
|
if($row['ean13']!='' && isset($products[$row['ean13']])){
|
|
if(!isset($products[$row['ean13']]['lang'])){
|
|
$products[$row['ean13']]['lang'] = array();
|
|
}
|
|
if(!isset($products[$row['ean13']]['lang'][(int)$row['id_lang']])){
|
|
$products[$row['ean13']]['lang'][(int)$row['id_lang']] = $row;
|
|
}
|
|
} elseif($row['supplier_reference']!='' && isset($products[$row['supplier_reference']])){
|
|
if(!isset($products[$row['supplier_reference']]['lang'])){
|
|
$products[$row['supplier_reference']]['lang'] = array();
|
|
}
|
|
if(!isset($products[$row['supplier_reference']]['lang'][(int)$row['id_lang']])){
|
|
$products[$row['supplier_reference']]['lang'][(int)$row['id_lang']] = $row;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$params['lines'] = $products;
|
|
|
|
if(!empty($params['lines'])){
|
|
$wp = new GenerateWp();
|
|
$wp->generate($params);
|
|
header('Content-Type: application/vnd.oasis.opendocument.spreadsheet');
|
|
header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');
|
|
header('Cache-Control: max-age=0');
|
|
// If you're serving to IE 9, then the following may be needed
|
|
header('Cache-Control: max-age=1');
|
|
|
|
// If you're serving to IE over SSL, then the following may be needed
|
|
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
|
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
|
|
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
|
|
header ('Pragma: public'); // HTTP/1.0
|
|
|
|
$wp->objWriter->save('php://output');
|
|
}
|
|
}
|