From: Vincent Vanwaelscappel Date: Thu, 10 Apr 2025 11:33:41 +0000 (+0200) Subject: wip #7423 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=794869def2d1c02b3a5961a3a7b9a9ee52c30f5c;p=fluidbook-toolbox.git wip #7423 @1 --- diff --git a/app/Fluidbook/Compiler/Cart.php b/app/Fluidbook/Compiler/Cart.php index 1b8fbd613..071d774d0 100644 --- a/app/Fluidbook/Compiler/Cart.php +++ b/app/Fluidbook/Compiler/Cart.php @@ -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'); } diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/PumaOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/PumaOperation.php index 8dc7a6108..ce70ae369 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/PumaOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/Services/PumaOperation.php @@ -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]; + } + }