From 02036d94c3ede85fdfd8fa238b95188636943ada Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 30 Aug 2024 16:44:47 +0200 Subject: [PATCH] wip #7049 @5 --- app/Fluidbook/Compiler/Cart.php | 58 ++++++++++++++++ .../Link/Cart/Joueclub2024CartLink.php | 68 +++++++++++++++++++ app/Fluidbook/Link/Link.php | 3 + app/Models/Traits/PublicationSettings.php | 1 + 4 files changed, 130 insertions(+) create mode 100644 app/Fluidbook/Link/Cart/Joueclub2024CartLink.php diff --git a/app/Fluidbook/Compiler/Cart.php b/app/Fluidbook/Compiler/Cart.php index c6346ac0b..b65ad7554 100644 --- a/app/Fluidbook/Compiler/Cart.php +++ b/app/Fluidbook/Compiler/Cart.php @@ -241,6 +241,61 @@ trait Cart $this->getLinksAndRulers($links, $rulers); } + public function writeJoueClub2024Cart() + { + $this->lessVariables['import-cart-styles'] = 'joueclub2024'; + $extra = Link::parseExtras($this->fluidbookSettings->cartExtraSettings, true); + + /** + * buttonColor=#d7b646 + * buttonTextColor=#ffffff + * headerBackgroundColor=#0e1a3c + * headerTextColor=#ffffff + */ + $this->lessVariables['cart-button-color'] = $extra['buttoncolor'] ?? '#e30613'; + $this->lessVariables['cart-button-text-color'] = $extra['buttontextcolor'] ?? '#ffffff'; + $this->lessVariables['cart-button-radius'] = $extra['buttonradius'] ?? '50%'; + $this->lessVariables['cart-header-background-color'] = $extra['headerbackgroundcolor'] ?? '#26348b'; + $this->lessVariables['cart-header-text-color'] = $extra['headertextcolor'] ?? '#ffffff'; + $this->lessVariables['cart-close-color'] = $extra['closecolor'] ?? '#ffffff'; + $this->lessVariables['cart-close-background-color'] = $extra['closebackgroundcolor'] ?? '#e30613'; + $this->lessVariables['cart-close-radius'] = $extra['closeradius'] ?? '50%'; + $this->lessVariables['cart-actions-radius'] = $extra['actionsradius'] ?? '8px'; + $this->lessVariables['cart-actions-background-color'] = $extra['actionsbackgroundcolor'] ?? '#26348b'; + $this->lessVariables['cart-actions-text-color'] = $extra['actionstextcolor'] ?? '#ffffff'; + $this->lessVariables['cart-scrollbar-color'] = $extra['scrollbarcolor'] ?? '#26348b'; + + $this->addJsLib('cookie', 'js/libs/jquery/jquery.cookie.js'); + $this->addJsLib('joueclub2024', 'js/libs/fluidbook/cart/fluidbook.cart.joueclub2024.js'); + $this->addJsLib('html2pdf', 'js/libs/html2pdf/html2pdf.min.js'); + $this->addJsLib('lottie', 'js/libs/lottie.min.js'); + + $cdir = $this->wdir . '/commerce/'; + + $file = $cdir . $this->fluidbookSettings->basketReferences; + $this->config->basketReferences = ExcelToArray::excelToArrayKeyVars($file); + + foreach ($this->config->basketReferences as $ref => $data) { + $dest = $cdir . $ref . '.jpg'; + if (!file_exists($dest)) { + if (!@copy($data['img'], $dest)) { + $dest = $this->wdir . '/default.jpg'; + } + } + $this->vdir->copy($dest, 'data/commerce/' . $ref . '.jpg'); + } + $addFiles = [$this->config->cartHeaderImage, $this->config->cartHeaderMobileImage]; + foreach ($addFiles as $f) { + if (!$f) { + return; + } + + $this->vdir->copy($cdir . $f, 'data/commerce/' . $f); + } + + $this->getLinksAndRulers($links, $rulers); + } + public function writeGrandPavoisCart() { $this->lessVariables['import-cart-styles'] = 'grandpavois'; @@ -682,6 +737,9 @@ trait Cart case 'JoueclubWishlist2021': $this->writeJoueClub2021Cart(); return; + case 'JoueclubWishlist2024': + $this->writeJoueClub2024Cart(); + return; case 'Remarkable': $this->addJsLib('parsley', 'js/libs/parsley.min.js'); $this->addJsLib('cookie', 'js/libs/jquery/jquery.cookie.js'); diff --git a/app/Fluidbook/Link/Cart/Joueclub2024CartLink.php b/app/Fluidbook/Link/Cart/Joueclub2024CartLink.php new file mode 100644 index 000000000..0a972d078 --- /dev/null +++ b/app/Fluidbook/Link/Cart/Joueclub2024CartLink.php @@ -0,0 +1,68 @@ +compiler->working_path('commerce/bouton-wishlist.svg'))) { + return file_get_contents($this->compiler->working_path('commerce/bouton-wishlist.svg')); + } + + return ' + + + + + + + + + + + + + + + + + + + + + + + + + + +'; + } + + public function getAdditionnalContent() + { + $res = parent::getAdditionnalContent(); + $res .= ' data-tooltip-conditional="' . htmlspecialchars(json_encode(['.active' => 'Retirer de ma liste de cadeaux'])) . '" '; + return $res; + } +} diff --git a/app/Fluidbook/Link/Link.php b/app/Fluidbook/Link/Link.php index 97f62f20d..af8420800 100644 --- a/app/Fluidbook/Link/Link.php +++ b/app/Fluidbook/Link/Link.php @@ -7,6 +7,7 @@ use App\Fluidbook\Link\Cart\CFOCCartLink; use App\Fluidbook\Link\Cart\GrandPavoisCartLink; use App\Fluidbook\Link\Cart\GrandVisionCartLink; use App\Fluidbook\Link\Cart\Joueclub2021CartLink; +use App\Fluidbook\Link\Cart\Joueclub2024CartLink; use App\Fluidbook\Link\Cart\JoueclubWishlistLink; use App\Fluidbook\Link\Cart\PumaCartLink; use App\Fluidbook\Link\Custom\AtlanticDownloadLink; @@ -85,6 +86,8 @@ class Link extends \Fluidbook\Tools\Links\Link return new GrandPavoisCartLink($id, $init, $compiler); case 'JoueclubWishlist2021': return new Joueclub2021CartLink($id, $init, $compiler); + case 'JoueclubWishlist2024': + return new Joueclub2024CartLink($id, $init, $compiler); case 'JoueclubWishlist': return new JoueclubWishlistLink($id, $init, $compiler); case 'ZoomProductLink': diff --git a/app/Models/Traits/PublicationSettings.php b/app/Models/Traits/PublicationSettings.php index 6b7bd0760..8d69e7cbb 100644 --- a/app/Models/Traits/PublicationSettings.php +++ b/app/Models/Traits/PublicationSettings.php @@ -1693,6 +1693,7 @@ trait PublicationSettings 'GrandVision' => 'GrandVision', 'GrandPavois' => 'Grand Pavois', 'JoueclubWishlist2021' => 'Wishlist Jouéclub Noël 2021', + 'JoueclubWishlist2024' => 'Wishlist Jouéclub Noël 2024', 'Thiriet' => 'Thiriet', 'CFOC' => 'CFOC', 'Bastide' => 'Bastide', -- 2.39.5