]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7423 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 10 Apr 2025 11:33:41 +0000 (13:33 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 10 Apr 2025 11:33:41 +0000 (13:33 +0200)
app/Fluidbook/Compiler/Cart.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/PumaOperation.php

index 1b8fbd613ac34ef5b96557e5350f0202bdec633d..071d774d04dd41a3fe610f69c85c6dbd35e2e390 100644 (file)
@@ -430,53 +430,53 @@ trait Cart
 
         $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');
     }
 
index 8dc7a6108e9df16b8ba493d1474485963b74d82c..ce70ae369d18e2f7ae0f60cad84c10cb06058e65 100644 (file)
@@ -5,7 +5,9 @@ namespace App\Http\Controllers\Admin\Operations\FluidbookPublication\Services;
 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
@@ -13,16 +15,25 @@ 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];
+        }
+
     }