public function process()
{
- PHP::neverStop(false);
+ //PHP::neverStop(false);
// Open feedbacks
$feedbackSheets = [];
foreach ($this->getFeedbacks() as $feedback) {
$reader = new Xlsx();
+ $reader->setReadDataOnly(true);
$xlsx = $reader->load($feedback);
foreach ($xlsx->getAllSheets() as $sheet) {
if ($sheet->getSheetState() !== Worksheet::SHEETSTATE_VISIBLE) {
}
$reader = new Xlsx();
- $template = $reader->load($this->getTemplate());
+ try {
+ $template = $reader->load($this->getTemplate());
+ } catch (\Exception $e) {
+ $reader->setReadDataOnly(true);
+ $template = $reader->load($this->getTemplate());
+ }
foreach ($template->getAllSheets() as $sheet) {
if ($sheet->getSheetState() !== Worksheet::SHEETSTATE_VISIBLE) {
continue;
return mb_strtolower(trim($sheet->getCellByColumnAndRow(1, 1)->getValue()));
}
+ /**
+ * @param $sheet Worksheet
+ * @return int
+ * @throws \Exception
+ */
protected function _getHeadersRow($sheet)
{
$highestRow = $sheet->getHighestRow();
break;
}
}
+ if (!isset($headersRow)) {
+ return null;
+ }
return $headersRow;
}
// Find header row
$highestRow = $templateSheet->getHighestRow();
$headersRow = $this->_getHeadersRow($templateSheet);
+ if (null === $headersRow) {
+ return;
+ }
$templateMaxCol = $this->_getMaxCol($templateSheet);
// Add ranking column
$maxrow = $feedback->getHighestRow();
for ($j = $hr + 1; $j <= $maxrow; $j++) {
$ean = trim($feedback->getCellByColumnAndRow($eanCol, $j)->getValue());
+ if (null === $ean || $ean === '') {
+ break;
+ }
+
if (!isset($merged[$ean])) {
$merged[$ean] = [];
}
$v = '';
}
$v = trim($v);
+ if ($v === '' && isset($merged[$ean][$i - $startCol])) {
+ continue;
+ }
$merged[$ean][$i - $startCol] = $v;
}
}
foreach ($templateSheet->getDrawingCollection() as $drawing) {
if ($drawing instanceof Drawing) {
$dim = getimagesize($drawing->getPath());
- $drawing->setResizeProportional(false);
- $drawing->setWidth($dim[0]);
- $drawing->setHeight($dim[1]);
- $drawing->setResizeProportional(true);
- $drawing->setWidth(300);
+ if (false === $dim) {
+ $e = explode('.', $drawing->getPath());
+ $ext = array_pop($e);
+ $hash = md5($drawing->getPath());
+ $tmp = '/tmp/' . $hash . '.' . $ext;
+ $converted = '/tmp/' . $hash . '.png';
+ copy($drawing->getPath(), $tmp);
+ $cmd = "inkscape -e $converted $tmp";
+ `$cmd`;
+ $drawing->setPath($converted);
+ // $dim = getimagesize($converted);
+ }
+// $drawing->setResizeProportional(false);
+// $drawing->setWidth($dim[0]);
+// $drawing->setHeight($dim[1]);
+// $drawing->setResizeProportional(true);
+// $drawing->setWidth(300);
+
} else {
- $drawing->setResizeProportional(false);
- $drawing->setWidth(300);
- $drawing->setHeight(80);
- $drawing->setResizeProportional(true);
+// $drawing->setResizeProportional(false);
+// $drawing->setWidth(300);
+// $drawing->setHeight(80);
+// $drawing->setResizeProportional(true);
}
- $drawing->setOffsetX(0);
- $drawing->setOffsetY(0);
+// $drawing->setOffsetX(0);
+// $drawing->setOffsetY(0);
}