return $res;\r
}\r
\r
+ public static function excelToArrayIndexKeyVars($excelFile, $reader = 'Excel2007', $skipEmptyId = false)\r
+ {\r
+ global $core;\r
+\r
+ $e = explode('#', $excelFile);\r
+ $excelFile = $e[0];\r
+\r
+ $worksheets = self::excelToArray($excelFile, false, $reader);\r
+\r
+ if (isset($e[1])) {\r
+ $sheetName = trim($e[1]);\r
+ }\r
+\r
+ if (isset($sheetName, $worksheets[$sheetName])) {\r
+ $worksheet = $worksheets[$sheetName];\r
+ } else {\r
+ $worksheet = array_shift($worksheets);\r
+ }\r
+\r
+ $res = [];\r
+ foreach ($worksheet as $i => $line) {\r
+ if ($i === 0) {\r
+ $vars = [];\r
+ foreach ($line as $j => $varname) {\r
+ $vars[$j] = $varname;\r
+ }\r
+ } else {\r
+ if (trim(implode('', $line)) == '') {\r
+ continue;\r
+ }\r
+ $r = [];\r
+ foreach ($vars as $j => $varname) {\r
+ $r[$varname] = trim($line[$j]);\r
+ }\r
+ $res[] = $r;\r
+ }\r
+ }\r
+\r
+ return $res;\r
+ }\r
+\r
public static function excelToArrayKeyVars($excelFile, $reader = 'Excel2007', $skipEmptyId = false)\r
{\r
global $core;\r
if (isset($sheetName, $worksheets[$sheetName])) {\r
$worksheet = $worksheets[$sheetName];\r
} else {\r
- $worksheet = array_unshift($worksheets);\r
+ $worksheet = array_shift($worksheets);\r
}\r
\r
+\r
+\r
$res = [];\r
foreach ($worksheet as $i => $line) {\r
if ($i === 0) {\r
$this->addVideoJs();
$this->config->basketReferences = wsUtil::excelToArrayKeyVars($this->wdir . 'commerce/' . $this->book->parametres->basketReferences);
- $this->config->eanReferences = wsUtil::excelToArrayKeyVars($this->wdir . 'commerce/ean.xlsx');
+ $eanFile = $this->wdir . 'commerce/ean.xlsx';
+ if (file_exists($eanFile)) {
+ $this->config->eanReferences = wsUtil::excelToArrayIndexKeyVars($eanFile);
+ }
wsLinks::getLinksAndRulersFromFile($this->book_id, $links, $rulers);
foreach ($links as $link) {