]> _ Git - cubeextranet.git/commitdiff
#wesco : handle xlsx file
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 26 Feb 2016 10:22:53 +0000 (10:22 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 26 Feb 2016 10:22:53 +0000 (10:22 +0000)
@5

inc/ws/Controlleur/class.ws.url.php
inc/ws/DAO/class.ws.dao.book.php
inc/ws/Metier/class.ws.book.parametres.php
inc/ws/Util/html5/app/class.ws.html5.app.compiler.php

index 80a684c420f3ace3cab4487eb1ba75296c75698a..11e049ab630abd5cccc69a3c549fc84fa240e459 100644 (file)
@@ -313,8 +313,8 @@ class wsUrl {
                $res .= '<tr><td class="min nowrap">' . __('Identifiant de l\'application') . '</td><td>' . form::field(array('settings[namespace]', 'namespace'), 64, 64, $collection->settings['namespace']) . '</td></tr>';
                $res .= '<tr><td class="min nowrap">' . __('Certificat APNS') . ' Dev (' . __('Fichier .pem') . ')</td><td><input type="file" name="apns_dev" /></td></tr>';
                $res .= '<tr><td class="min nowrap">' . __('Certificat APNS') . ' Prod (' . __('Fichier .pem') . ')</td><td><input type="file" name="apns_prod" /></td></tr>';
-               $res .= '<tr><td class="min nowrap">' . __('Versions iOS') . '</td><td>' . form::field(array('settings[v_ios]', 'namespace'), 64, 64, $collection->settings['v_ios']) . '</td></tr>';
-               $res .= '<tr><td class="min nowrap">' . __('Versions Android') . '</td><td>' . form::field(array('settings[v_android]', 'namespace'), 64, 64, $collection->settings['v_android']) . '</td></tr>';
+               $res .= '<tr><td class="min nowrap">' . __('Versions iOS') . '</td><td>' . form::field(array('settings[v_ios]', 'namespace'), 64, 256, $collection->settings['v_ios']) . '</td></tr>';
+               $res .= '<tr><td class="min nowrap">' . __('Versions Android') . '</td><td>' . form::field(array('settings[v_android]', 'namespace'), 64, 256, $collection->settings['v_android']) . '</td></tr>';
                $res .= '</table>';
 
                $res .= '<h3>' . __('Applications offline') . '</h3>';
index 08a3756b2d6075f2ca718aa5d59918dd19a669ca..9d9b74a5f650e9034c0fae6f2e4a7247400b3242 100644 (file)
@@ -1364,23 +1364,35 @@ class wsDAOBook extends commonDAO {
                        $referencesFile = $workingDir . 'commerce/' . $book->parametres->basketReferences;
 
                        if (file_exists($referencesFile)) {
-                               $xml = simplexml_load_file($referencesFile);
-                               $i = 0;
-                               $allref = array();
-                               foreach ($xml->item as $item) {
-                                       $ref = (string)$item['reference'];
-                                       if (isset($allref[$ref])) {
-                                               continue;
-                                       }
-                                       $allref[$ref] = true;
-                                       foreach ($formats as $f) {
-                                               $refimage = $workingDir . 'commerce/' . $ref . '.' . $f;
-                                               if (file_exists($refimage)) {
-                                                       $flex->addBitmap($refimage, "basket_image_" . $ref);
-                                                       break;
+                               $ext = CubeIT_Files::getExtension($referencesFile);
+                               if ($ext == 'xml') {
+                                       $xml = simplexml_load_file($referencesFile);
+                                       $i = 0;
+                                       $allref = array();
+                                       foreach ($xml->item as $item) {
+                                               $ref = (string)$item['reference'];
+                                               if (isset($allref[$ref])) {
+                                                       continue;
+                                               }
+                                               $allref[$ref] = true;
+                                               foreach ($formats as $f) {
+                                                       $refimage = $workingDir . 'commerce/' . $ref . '.' . $f;
+                                                       if (file_exists($refimage)) {
+                                                               $flex->addBitmap($refimage, "basket_image_" . $ref);
+                                                               break;
+                                                       }
                                                }
+                                               $i++;
+                                       }
+                               } elseif ($ext == 'xlsx') {
+                                       include_once ROOT.'/inc/ZendFramework/PHPExcel/PHPExcel.php';
+                                       $objReader = PHPExcel_IOFactory::createReader('Excel2007');
+                                       $objPHPExcel = $objReader->load($referencesFile);
+
+                                       foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
+                                               $worksheets[$worksheet->getTitle()] = $worksheet->toArray();
                                        }
-                                       $i++;
+                                       $flex->addVariable('basketReferences', $worksheets, false, true, "OrderedObject");
                                }
                        }
                        if (isset($xml)) {
index 4e4e2af3e1a425accd5deeecce7aab2a4d788952..113f453eb370a2cc4fe0bc53ebe24f82a9605f80 100644 (file)
@@ -27,8 +27,8 @@ class wsBookParametres extends wsParametres {
                $pdfFilter->extensions = '*.pdf';
 
                $basketFilter = new stdClass();
-               $basketFilter->name = __('Liste de produits') . ' (*.xml)';
-               $basketFilter->extensions = '*.xml';
+               $basketFilter->name = __('Liste de produits') . ' (*.xml, *.xlsx)';
+               $basketFilter->extensions = '*.xml;*.xlsx';
 
                $imageFilter = new stdClass();
                $imageFilter->name = __('Images') . ' (*.jpg, *.png)';
@@ -276,7 +276,8 @@ class wsBookParametres extends wsParametres {
                                                                        'Grdf 2013' => 'com.fluidbook.player.basket.custom.grdf.grdf2013.GrdfBasketManager2013',
                                                                        'Grdf 2015' => 'com.fluidbook.player.basket.custom.grdf.grdf2015.GrdfBasketManager2015',
                                                                        'Essilor' => 'com.fluidbook.player.basket.custom.essilor.EssilorBasketManager',
-                                                                       'Essilor Recap' => 'com.fluidbook.player.basket.cursor.essilorrecap.EssilorRecapBasketManager'), 'grade' => 5);
+                                                                       'Essilor Recap' => 'com.fluidbook.player.basket.custom.essilorrecap.EssilorRecapBasketManager',
+                                                                       'Wesco Ventes' => 'com.fluidbook.player.basket.custom.wesco.WescoBasketManager'), 'grade' => 5);
                $this->fields['basketReferences'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
                                                          'label' => __('Références produits'), 'grade' => 5, 'fileFilter' => $basketFilter, 'hint' => __('Fichier contenant les références produits'), 'dir' => 'commerce');
                $this->fields['basketImages'] = array('type' => 'freefile', 'default' => '', 'editable' => true,
index e39e9435a15dd1872499151f0db87f0e268e5292..5b06146c3c9efcfc6e45c4bc1730127d79ad8861 100644 (file)
@@ -21,7 +21,9 @@ class wsHTML5AppCompiler {
 
                foreach ($this->collection->datas as $group) {
                        foreach ($group['publications'] as $p) {
-                               $this->books[] = $p['id'];
+                               if($p['id']) {
+                                       $this->books[] = $p['id'];
+                               }
                        }
                }
 
@@ -67,7 +69,9 @@ class wsHTML5AppCompiler {
                                if ($onlyonline && (!isset($p['online']) || !$p['online'])) {
                                        continue;
                                }
-                               $books[] = $p['id'];
+                               if ($p['id']) {
+                                       $books[] = $p['id'];
+                               }
                        }
                }
                return $books;