$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';
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');
--- /dev/null
+<?php
+
+namespace App\Fluidbook\Link\Cart;
+
+use Fluidbook\Tools\Links\CartLink;
+
+class Joueclub2024CartLink extends CartLink
+{
+ public function getDefaultTooltip()
+ {
+ return 'Ajouter à ma liste de cadeaux';
+ }
+
+ public function getInnerContent()
+ {
+ if (file_exists($this->compiler->working_path('commerce/bouton-wishlist.svg'))) {
+ return file_get_contents($this->compiler->working_path('commerce/bouton-wishlist.svg'));
+ }
+
+ return '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:url(#SVGID_1_);stroke:#F0EEEA;stroke-width:3.3;stroke-miterlimit:10;}
+ .st1{fill:#FFFFFF;}
+ .st2{opacity:0.4;enable-background:new ;}
+
+ .st3{fill:url(#SVGID_00000091725099145697549030000002656161899138345614_);stroke:#F0EEEA;stroke-width:3.3;stroke-miterlimit:10;}
+</style>
+<g id="on">
+ <g id="on_00000067198718027100822470000000858312170120319118_">
+
+ <radialGradient id="SVGID_1_" cx="12.5" cy="43" r="21.783" gradientTransform="matrix(1 0 0 -1 0 52)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#F9152B"/>
+ <stop offset="1" style="stop-color:#CC0014"/>
+ </radialGradient>
+ <circle class="st0" cx="24.8" cy="24.8" r="22"/>
+ <path id="_x3C_Tracé_x3E_" class="st1" d="M33.2,24.5c-4,0-7.2,3.2-7.2,7.2s3.2,7.2,7.2,7.2s7.2-3.2,7.2-7.2
+ C40.3,27.7,37.1,24.5,33.2,24.5z M37.8,30.2l-4.4,4.6c-0.2,0.2-0.5,0.3-0.8,0.3l0,0c-0.3,0-0.6-0.1-0.8-0.3L29,31.9
+ c-0.4-0.4-0.4-1.2,0-1.6s1.2-0.4,1.6,0l2,2.1l3.6-3.8c0.4-0.4,1.1-0.5,1.6,0C38.2,29,38.2,29.7,37.8,30.2z"/>
+ <path class="st1" d="M23.7,31.8c0-5.3,4.3-9.5,9.5-9.5c0.8,0,1.6,0.1,2.4,0.3c0.1-1-0.1-2-0.6-2.9c-1.4-3-5-4-8-2.6
+ c-0.4,0.2-1,0.6-1.4,1l-0.8,0.8L24,18.1c-1.4-1.4-3.2-2-5.2-1.6c-1.8,0.4-3.4,1.6-4.2,3.2c-1.2,2.2-0.8,5,1,6.8l8.4,8.6
+ c0.1,0.1,0.2,0.2,0.4,0.2C23.9,34.2,23.7,33,23.7,31.8z"/>
+ </g>
+</g>
+<g id="off">
+ <g id="off_00000158745150850562103200000013702113717099787924_">
+ <circle class="st2" cx="26.5" cy="26.5" r="23.3"/>
+
+ <radialGradient id="SVGID_00000173873247631391758930000004458483244722507439_" cx="12.5" cy="43" r="21.783" gradientTransform="matrix(1 0 0 -1 0 52)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#F9152B"/>
+ <stop offset="1" style="stop-color:#CC0014"/>
+ </radialGradient>
+
+ <circle style="fill:url(#SVGID_00000173873247631391758930000004458483244722507439_);stroke:#F0EEEA;stroke-width:3.3;stroke-miterlimit:10;" cx="24.8" cy="24.8" r="22"/>
+ <path class="st1" d="M35,19.6c-1.4-3-5-4-8-2.6c-0.4,0.2-1,0.6-1.4,1l-0.8,0.8L24,18c-1.4-1.4-3.2-2-5.2-1.6
+ c-1.8,0.4-3.4,1.6-4.2,3.2c-1.2,2.2-0.8,5,1,6.8L24,35c0.4,0.4,1,0.4,1.2,0l0,0l8.4-8.6C35.6,24.6,36.2,21.8,35,19.6z"/>
+ </g>
+</g>
+</svg>';
+ }
+
+ public function getAdditionnalContent()
+ {
+ $res = parent::getAdditionnalContent();
+ $res .= ' data-tooltip-conditional="' . htmlspecialchars(json_encode(['.active' => 'Retirer de ma liste de cadeaux'])) . '" ';
+ return $res;
+ }
+}
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;
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':