]> _ Git - cubeextranet.git/commitdiff
wait #4101 @0.9
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 30 Nov 2020 11:56:42 +0000 (11:56 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 30 Nov 2020 11:56:42 +0000 (11:56 +0000)
inc/commons/class.common.tools.php

index 5aec2d6bc5fea94e33a02ca73df6aa6dad7cfbb6..cf8542de49fac60c103bf7be8780ffd5620dd028 100644 (file)
@@ -1389,12 +1389,17 @@ class commonTools
         $res = commonPage::barre();
         $res .= commonPage::tMain();
         $res .= commonPage::bh();
-        $res .= '<form action="' . SITE_PATH . 'tools/convertXlsxToColumnKeysJson" method="post" class="notajax" enctype="multipart/form-data">';
+        $res .= '<form action="' . SITE_PATH . 'tools/convertXlsxToJson" method="post" class="notajax" enctype="multipart/form-data">';
         $res .= '<table class="liste">';
         $res .= '<tr><th><strong>' . __('Convertir un xlsx en json') . '</strong></th></tr>';
-        $res .= '<tr><td>' . __('Charger un fichier excel') . '</td></tr>';
-        $res .= '<tr class="odd"><td><input type="file" name="file" /></td></tr>';
-        $res .= '<tr><td class="right"><a href="#" class="submit">' . $core->typo->BoutonOK(__('Convertion')) . '</a></td></td>';
+        $res .= '<tr><td>' . __('Charger un fichier excel') . '</td><td><input type="file" name="file" /></td></tr>';
+        $res .= '<tr class="odd"><td>Organisation des données</td><td><select name="dataorg">
+            <option value="excelToArray">Conforme à la source</option>
+            <option value="excelToArrayKeyVal">Couples Clé/Valeur</option>
+            <option value="excelToArrayKeyVars">Liste nommée par le titre de colonne</option>
+            </select></td></tr>';
+        $res .= '<tr class=""><td>Format de sortie</td><td><select name="format"><option value="json">JSON</option><option value="js">JS</option></select></td></tr>';
+        $res .= '<tr class="odd"><td class="right" colspan="2"><a href="#" class="submit">' . $core->typo->BoutonOK(__('Convertion')) . '</a></td></td>';
         $res .= '</table>';
         $res .= '</form>';
         $res .= '</div>';
@@ -1403,32 +1408,23 @@ class commonTools
         return $res;
     }
 
-    public static function convertXlsxToJson($args)
-    {
-        new PHPExcel();
-
-        $reader = new PHPExcel_Reader_Excel2007();
-        $xls = $reader->load($_FILES['file']['tmp_name']);
-
-        $res = [];
-        foreach ($xls->getAllSheets() as $sheet) {
-            $res[$sheet->getTitle()] = $sheet->toArray();
-        }
-
-        ob_end_clean();
-
-        header('Content-Type: application/json');
-        die(json_encode($res));
-    }
 
-    public static function convertXlsxToColumnKeysJson($args)
+    public static function convertXlsxToJson($args)
     {
         require_once ROOT . '/inc/ws/Util/class.ws.util.php';
-        $res = wsUtil::excelToArrayKeyVars($_FILES['file']['tmp_name']);
-
+        $f = $_POST['dataorg'];
+        $res = wsUtil::$f($_FILES['file']['tmp_name']);
+        $json = json_encode($res);
         ob_end_clean();
-        header('Content-Type: application/json');
-        die(json_encode($res));
+
+        if ($_POST['format'] === 'json') {
+            header('Content-Type: application/json');
+            die($json);
+        } else if ($_POST['format'] === 'js') {
+            header('Content-Type: application/javascript');
+            header('Content-Disposition: attachment; filename="data.js"');
+            die('var DATA=' . $json . ';');
+        }
     }
 
     public static function convertXlsxToKeyValueJson($args)