bebeboutik/modules/ant_wp/GenerateWp.php
2017-10-30 15:45:23 +01:00

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');
}
}