$this->log('Puma product zoom done');
-
- $aliases = [];
- if (file_exists($this->wdir . 'commerce/aliases.txt')) {
- $lines = explode("\n", file_get_contents($this->wdir . 'commerce/aliases.txt'));
- foreach ($lines as $line) {
- $bases = [];
- $refs = explode('/', trim($line));
- foreach ($cartReferences as $ref => $d) {
- if (str_starts_with($ref, $refs[0])) {
- $bases[] = $ref;
- }
- }
- if (!count($bases)) {
- continue;
- }
-
- for ($i = 1; $i < count($refs); $i++) {
- foreach ($cartReferences as $ref => $d) {
- if (!str_starts_with($ref, $refs[$i])) {
- continue;
- }
- $foundColor = false;
- foreach ($bases as $base) {
- if (substr($ref, -2) === substr($base, -2)) {
- $aliases[$ref] = $base;
- $foundColor = true;
- break;
- }
- }
- if (!$foundColor) {
- $aliases[$ref] = $bases[0];
- }
- }
- }
- }
- }
-
- foreach ($aliases as $alias => $base) {
- $cartReferences[$alias]['zoom_image'] = $cartReferences[$base]['zoom_image'];
- $cartReferences[$alias]['zoom_image_ratio'] = $cartReferences[$base]['zoom_image_ratio'];
- }
-
- $this->log('Puma aliases handled');
+// $aliases = [];
+// if (file_exists($this->wdir . 'commerce/aliases.txt')) {
+// $lines = explode("\n", file_get_contents($this->wdir . 'commerce/aliases.txt'));
+// foreach ($lines as $line) {
+// $bases = [];
+// $refs = explode('/', trim($line));
+// foreach ($cartReferences as $ref => $d) {
+// if (str_starts_with($ref, $refs[0])) {
+// $bases[] = $ref;
+// }
+// }
+// if (!count($bases)) {
+// continue;
+// }
+//
+// for ($i = 1; $i < count($refs); $i++) {
+// foreach ($cartReferences as $ref => $d) {
+// if (!str_starts_with($ref, $refs[$i])) {
+// continue;
+// }
+// $foundColor = false;
+// foreach ($bases as $base) {
+// if (substr($ref, -2) === substr($base, -2)) {
+// $aliases[$ref] = $base;
+// $foundColor = true;
+// break;
+// }
+// }
+// if (!$foundColor) {
+// $aliases[$ref] = $bases[0];
+// }
+// }
+// }
+// }
+// foreach ($aliases as $alias => $base) {
+// $cartReferences[$alias]['zoom_image'] = $cartReferences[$base]['zoom_image'];
+// $cartReferences[$alias]['zoom_image_ratio'] = $cartReferences[$base]['zoom_image_ratio'];
+// }
+// }
+//
+// $this->log('Puma aliases handled');
$this->config->setRaw('product_zoom_references', $productZoomReferences);
$this->config->setRaw('basketReferences', $cartReferences);
+ file_put_contents($this->wdir . 'commerce/references.json', json_encode($cartReferences));
+
$this->log('Puma cart written');
}
use App\Http\Middleware\Authenticate;
use App\Http\Middleware\CheckIfAdmin;
use App\Http\Middleware\VerifyCsrfToken;
+use App\Models\FluidbookPublication;
use Cubist\Backpack\Middleware\CORSMiddleware;
+use Cubist\Excel\ExcelToArray;
use Illuminate\Support\Facades\Route;
trait PumaOperation
protected function setupPumaRoutes($segment, $routeName, $controller)
{
foreach (['services', 's'] as $s) {
- Route::get($s . '/puma/planogramme/{references}/{format?}', $controller . '@pumaPlanogramme')->middleware([CORSMiddleware::class])->withoutMiddleware([CheckIfAdmin::class, Authenticate::class, VerifyCsrfToken::class]);
+ Route::get($s . '/puma/planogramme/{id}_{cid}/{references}/{format?}', $controller . '@pumaPlanogramme')->middleware([CORSMiddleware::class])->withoutMiddleware([CheckIfAdmin::class, Authenticate::class, VerifyCsrfToken::class]);
}
}
- protected function pumaPlanogramme($references, $format = 'html')
+ protected function pumaPlanogramme($id, $cid, $references, $format = 'html')
{
if ($format === 'pdf') {
- $htmlURL = 'https://' . $_SERVER['HTTP_HOST'] . '/s/puma/planogramme/' . rawurlencode($references);
+ $htmlURL = 'https://' . $_SERVER['HTTP_HOST'] . '/s/puma/planogramme/' . $id . '_' . $cid . '/' . rawurlencode($references);
return;
}
+ $references=explode(',',$references);
+ /** @var FluidbookPublication $book */
+ $book = FluidbookPublication::withoutGlobalScopes()->where('id', $id)->where('cid', $cid)->firstOrFail();
+ $db = json_decode(file_get_contents($book->getAssetDir() . 'commerce/references.json'), true);
+ $r=[];
+ foreach ($references as $reference) {
+ $r[$reference] = $db[$reference];
+ }
+
}