]> _ Git - sycomore-fondation.git/commitdiff
wip #5812 @0:30 image large, sanitize url
authorsoufiane <soufiane@cubedesigners.com>
Wed, 31 May 2023 15:26:30 +0000 (17:26 +0200)
committersoufiane <soufiane@cubedesigners.com>
Wed, 31 May 2023 15:26:30 +0000 (17:26 +0200)
wp-content/mu-plugins/cube/Init.php
wp-content/mu-plugins/cube/Widgets/AssocationList.php [deleted file]
wp-content/mu-plugins/cube/Widgets/CarouselHome.php
wp-content/mu-plugins/cube/Widgets/CarouselSelection.php
wp-content/mu-plugins/cube/Widgets/StickyNav.php
wp-content/themes/sycomore-fondation/resources/styles/widgets/blockText.sass
wp-content/themes/sycomore-fondation/resources/styles/widgets/stickyNav.sass
wp-content/themes/sycomore-fondation/resources/views/widgets/carousel-home.blade.php
wp-content/themes/sycomore-fondation/resources/views/widgets/carousel-selection.blade.php
wp-content/themes/sycomore-fondation/resources/views/widgets/text-image-with-btn.blade.php
wp-content/themes/sycomore-fondation/resources/views/widgets/text-image.blade.php

index 4613904b92aface15e8353a08debd14620ca34f0..a0d9c66a235f09aa0a3e7649c86fe8a422f87608 100644 (file)
@@ -17,7 +17,6 @@ class Setup {
 
     public function register() {
         add_action('elementor/elements/categories_registered', [$this, 'register_widgets_category']);
-
         add_action( 'elementor/widgets/widgets_registered', [$this, 'register_widgets'] );
 
         $this->customise_sections();
@@ -29,7 +28,6 @@ class Setup {
         $widgets_manager->register(new Widgets\FormattedText());
         $widgets_manager->register(new Widgets\HighlightTitle());
         $widgets_manager->register(new Widgets\AssociationSectionImage());
-        $widgets_manager->register(new Widgets\AssocationList());
         $widgets_manager->register(new Widgets\BannerTitle());
         $widgets_manager->register(new Widgets\BlockOrganisation());
         $widgets_manager->register(new Widgets\CarouselHome());
@@ -195,18 +193,6 @@ class Setup {
             '4xl' => '4XL (112px — 140px)',
             '5xl' => '5XL (128px — 160px)',
 
-            // Not all of these are needed for now, so removing them to lighten the UI
-            // '3xs-2xs' => '3XS ↔ 2XS (4px — 10px)',
-            // '2xs-xs' => '2XS ↔ XS (8px — 15px)',
-            // 'xs-s' => 'XS ↔ S (12px — 20px)',
-            // 's-m' => 'S ↔ M (16px — 30px)',
-            // 'm-l' => 'M ↔ L (24px — 40px)',
-            // 'l-xl' => 'L ↔ XL (32px — 60px)',
-            // 'xl-2xl' => 'XL ↔ 2XL (48px — 80px)',
-            // '2xl-3xl' => '2XL ↔ 3XL (64px — 120px)',
-            // '3xl-4xl' => '3XL ↔ 4XL (96px — 140px)',
-            // '4xl-5xl' => '4XL ↔ 5XL (112px — 160px)',
-
             's-l' => 'S ↔ L (16px — 40px)',
             's-l-custom' => '(38px — 43px)',
             'm-xl' => 'M ↔ XL (24px — 60px)',
diff --git a/wp-content/mu-plugins/cube/Widgets/AssocationList.php b/wp-content/mu-plugins/cube/Widgets/AssocationList.php
deleted file mode 100644 (file)
index d7c2663..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-<?php
-
-namespace Cube\Widgets;
-
-use Elementor\Controls_Manager;
-
-class AssocationList extends _Base
-{
-
-    public function get_name() {
-        return 'cube-assoc-list';
-    }
-
-    public function get_title() {
-        return esc_html__( 'Liste des associations', 'cube' );
-    }
-
-    public function get_icon() {
-        return 'eicon-bullet-list';
-    }
-
-    protected function register_controls()
-    {
-
-        $this->start_controls_section(
-            'content_section',
-            [
-                'label' => esc_html__( 'Content', 'cube' ),
-                'tab' => Controls_Manager::TAB_CONTENT,
-            ]
-        );
-
-        /* Start repeater */
-
-        $repeater = new \Elementor\Repeater();
-
-        $repeater->add_control(
-            'text',
-            [
-                'label' => esc_html__( 'Text', 'cube' ),
-                'type' => Controls_Manager::TEXT,
-                'placeholder' => esc_html__( 'List Item', 'cube' ),
-                'default' => esc_html__( 'List Item', 'cube' ),
-                'label_block' => true,
-                'dynamic' => [
-                    'active' => true,
-                ],
-            ]
-        );
-
-        $repeater->add_control(
-            'link',
-            [
-                'label' => esc_html__( 'Link', 'cube' ),
-                'type' => Controls_Manager::URL,
-                'placeholder' => esc_html__( 'https://your-link.com', 'cube' ),
-                'dynamic' => [
-                    'active' => true,
-                ],
-            ]
-        );
-
-        /* End repeater */
-
-        $this->add_control(
-            'list_items',
-            [
-                'label' => esc_html__( 'List Items', 'cube' ),
-                'type' => Controls_Manager::REPEATER,
-                'fields' => $repeater->get_controls(),           /* Use our repeater */
-                'default' => [
-                    [
-                        'text' => esc_html__( 'List Item #1', 'cube' ),
-                        'link' => '',
-                    ],
-                    [
-                        'text' => esc_html__( 'List Item #2', 'cube' ),
-                        'link' => '',
-                    ],
-                    [
-                        'text' => esc_html__( 'List Item #3', 'cube' ),
-                        'link' => '',
-                    ],
-                ],
-                'title_field' => '{{{ text }}}',
-            ]
-        );
-
-        $this->end_controls_section();
-
-        $this->start_controls_section(
-            'marker_section',
-            [
-                'label' => esc_html__( 'List Marker', 'cube' ),
-                'tab' => Controls_Manager::TAB_CONTENT,
-            ]
-        );
-
-        $this->add_control(
-            'marker_type',
-            [
-                'label' => esc_html__( 'Marker Type', 'cube' ),
-                'type' => Controls_Manager::CHOOSE,
-                'options' => [
-                    'ordered' => [
-                        'title' => esc_html__( 'Ordered List', 'cube' ),
-                        'icon' => 'eicon-editor-list-ol',
-                    ],
-                    'unordered' => [
-                        'title' => esc_html__( 'Unordered List', 'cube' ),
-                        'icon' => 'eicon-editor-list-ul',
-                    ],
-                    'other' => [
-                        'title' => esc_html__( 'Custom List', 'cube' ),
-                        'icon' => 'eicon-edit',
-                    ],
-                ],
-                'default' => 'ordered',
-                'toggle' => false,
-            ]
-        );
-
-        $this->end_controls_section();
-    }
-
-    protected function render() {
-        $items = $this->get_settings("list_items");
-        $marker_type = $this->get_settings("marker_type");
-        $html_tag = [
-            'ordered' => 'ol',
-            'unordered' => 'ul',
-            'other' => 'ul',
-        ];
-
-        $this->add_render_attribute( 'list', 'class', 'assoc-list' );
-
-        echo "<div class='assoc-list-container'>";
-        echo "<{$html_tag[$marker_type]} {$this->get_render_attribute_string( 'list' )} >";
-        foreach ( $items as $index => $item ) {
-            $repeater_setting_key = $this->get_repeater_setting_key( 'text', 'list_items', $index );
-            $this->add_render_attribute( $repeater_setting_key, 'class', 'elementor-list-widget-text' );
-            $this->add_inline_editing_attributes( $repeater_setting_key );
-            ?>
-            <li <?php $this->get_render_attribute_string( $repeater_setting_key ); ?>>
-                <?php
-                $title = $item['text'];
-
-                if ( ! empty( $item['link']['url'] ) ) {
-                    $this->add_link_attributes( "link_{$index}", $item['link'] );
-                    $linked_title = sprintf( '<a %1$s>%2$s</a>', $this->get_render_attribute_string( "link_{$index}" ), $title );
-                    echo $linked_title;
-                } else {
-                    echo $title;
-                }
-                ?>
-            </li>
-            <?php
-        }
-        ?>
-        </{$html_tag[$marker_type]}>
-        <?php
-        echo "</div>";
-    }
-
-    /**
-     * Render list widget output in the editor.
-     *
-     * Written as a Backbone JavaScript template and used to generate the live preview.
-     *
-     * @since 1.0.0
-     * @access protected
-     */
-    protected function content_template() {
-        ?>
-        <#
-        html_tag = {
-            'ordered': 'ol',
-            'unordered': 'ul',
-            'other': 'ul',
-        };
-        view.addRenderAttribute( 'list', 'class', 'assoc-list' );
-        #>
-        <div class='assoc-list-container'>
-        <{{{ html_tag[ settings.marker_type ] }}} {{{ view.getRenderAttributeString( 'list' ) }}}>
-        <# _.each( settings.list_items, function( item, index ) {
-        var repeater_setting_key = view.getRepeaterSettingKey( 'text', 'list_items', index );
-        view.addRenderAttribute( repeater_setting_key, 'class', 'elementor-list-widget-text' );
-        view.addInlineEditingAttributes( repeater_setting_key );
-        #>
-        <li {{{ view.getRenderAttributeString( repeater_setting_key ) }}}>
-            <# var title = item.text; #>
-            <# if ( item.link ) { #>
-                <# view.addRenderAttribute( `link_${index}`, item.link ); #>
-                <a href="{{ item.link.url }}" {{{ view.getRenderAttributeString( `link_${index}` ) }}}>
-                    {{{title}}}
-                </a>
-            <# } else { #>
-            {{{title}}}
-            <# } #>
-        </li>
-        <# } ); #>
-        </{{{ html_tag[ settings.marker_type ] }}}>
-        </div>
-        <?php
-    }
-}
\ No newline at end of file
index 55ee81f1c424210b90d5bd24fbd5492b5e612fee..a2b09ce039380e6067eaa9574a581ec3dacabf38 100644 (file)
@@ -15,7 +15,7 @@ class CarouselHome extends _Base {
     }
 
     public function get_icon() {
-        return 'eicon-banner';
+        return 'eicon-carousel';
     }
 
     protected function register_controls() {
index 9e39b1d73ea348834d10a94c259b85a622d9d972..f13e18d87bbb3d753fbab1d9eac33e08efd3424d 100644 (file)
@@ -19,7 +19,7 @@ class CarouselSelection extends _Base
 
     public function get_icon()
     {
-        return 'eicon-post-title';
+        return 'eicon-carousel';
     }
 
     protected function register_controls()
index c302c86d33397699322b5f5fe6b91c6556cbcaa1..a83e3452baa4c04fb4524b46b4608fedc11b665f 100644 (file)
@@ -19,7 +19,7 @@ class StickyNav extends CarouselHome
 
     public function get_icon()
     {
-        return 'eicon-banner';
+        return 'eicon-navigation-vertical';
     }
 
     protected function render() {
@@ -35,7 +35,7 @@ class StickyNav extends CarouselHome
                     }
                     echo '
                     <div class="text '.$active.'">
-                        <img src="'.$item['background_image']['url'].'" />
+                        <img src="'.esc_url($item['background_image']['url']).'" />
                         <h3>'.$item['title'].'</h3>
                         <p>
                             '.$item['text'].'
@@ -46,7 +46,7 @@ class StickyNav extends CarouselHome
                 echo '</div>';
                 echo '<div class="rightside">';
                     foreach (  $settings['slides'] as $item ) {
-                        echo '<img src="'.$item['background_image']['url'].'" />';
+                        echo '<img src="'.esc_url($item['background_image']['url']).'" />';
                     }
                 echo '</div>';
             echo '</div>';
index 9175334c96ede4bb07255e0a802d856fa9369fe4..5ad37b37b555d30e5048790f98d77521b5ce653d 100644 (file)
       font-family: "Proxima Nova", Sans-serif
       +screen-size(small-desktop)
         font-size: map-get($fontSizes, 'lg')
+      &.active
+        &:after
+          width: 100%
+
       &:after
         content: ""
-        width: 100%
+        width: 0
         height: 38.8%
         background-color: map-get($colors, 'red','transparent')
         position: absolute
         left: 0
         bottom: 0
+        transition: width 0.9s ease-in-out
 
     a
       color: map-get($colors, 'grey', 'dark')
index 58090ca0768d333806d5c489937d4cb67cf94419..34c8f9eec217bcc5d08a987b752fa6fe5776b68c 100644 (file)
@@ -15,6 +15,7 @@
         +screen-size(small-desktop)
           *
             color: #DDDDDD
+
       h3
         margin-bottom: var(--space-m-l)
         font-size: var(--step-7)
index 549c7de5c995bfb27a57bcc217af722d8508fbe8..274b7915514deb485ad11ba54097baa8dc401ea3 100644 (file)
@@ -2,13 +2,14 @@
   @foreach($slides as $key => $slide)
     @php
       $key += 1;
+      $largeImg = wp_get_attachment_image_url($slide['image']['id'],'large');
     @endphp
     <div class="elementor-repeater-item-{{$slide['_id']}} carousel-slide container {{ $key === 2 ? 'next' : '' }} {{ $key === 1 ? 'active' : '' }}" data-index="{{ $key }}">
       <div class="leftside {{ $key === 1 ? 'active' : '' }}">
-        <div class="overlay overlayside" style="background-image: url({{$slide['background_image']['url']}})"></div>
+        <div class="overlay overlayside" style="background-image: url({{esc_url($slide['background_image']['url'])}})"></div>
         @if(array_key_exists('image',$slide))
           <div class="thumbnail">
-            <img src="{{ $slide['image']['url'] }})" />
+            <img src="{{ esc_url($largeImg) }})" />
           </div>
         @endif
       </div>
@@ -18,7 +19,7 @@
           <h1 class="text-3xl">{{ $slide['title'] }}</h1>
           <p>{{ $slide['text'] }}</p>
           @if(array_key_exists('link',$slide))
-            <a class="btn white" href="{{ $slide['link']['url'] }}">{{ $slide['link_text'] }}</a>
+            <a class="btn white" href="{{ esc_url($slide['link']['url']) }}">{{ $slide['link_text'] }}</a>
           @endif
         </div>
       </div>
 <div class="home-carousel-mobile">
   <div class="swiper-wrapper">
     @foreach($slides as $key => $slide)
+      @php
+        $largeImg = wp_get_attachment_image_url($slide['image']['id'],'large');
+      @endphp
       <div class="swiper-slide elementor-repeater-item-{{$slide['_id']}}">
         @if(array_key_exists('image',$slide))
           <div class="thumbnail">
-            <img src="{{ $slide['image']['url'] }})" />
-            <img class="bg" src="{{ $slide['background_image']['url'] }}" />
+            <img src="{{ esc_url($largeImg) }})" />
+            <img class="bg" src="{{ esc_url($slide['background_image']['url']) }}" />
           </div>
         @endif
         <div class="rightside">
@@ -53,7 +57,7 @@
               <h1 class="text-3xl">{{ $slide['title'] }}</h1>
               <p>{{ $slide['text'] }}</p>
               @if(array_key_exists('link',$slide))
-                <a class="btn white" href="{{ $slide['link']['url'] }}">{{ $slide['link_text'] }}</a>
+                <a class="btn white" href="{{ esc_url($slide['link']['url']) }}">{{ $slide['link_text'] }}</a>
               @endif
             </div>
           </div>
index 7a75f7904750e7a40cffb54b245dfed90563988e..84153d34ecc11c9e6063219c2dad9ffb6865eae0 100644 (file)
@@ -10,7 +10,7 @@
           <p class="number font-bold">{{ sprintf('%02d', $key) }}</p>
           <p class="content font-bold">{{ $slide['text'] }}</p>
           <div class="icon-container">
-            <img src="{{ $slide['icon']['url'] }}" />
+            <img src="{{ esc_url($slide['icon']['url']) }}" />
           </div>
         </div>
       @endforeach
index 6fbb0b73d081c2c3133e15934a8679a630c45ddd..b09dabeb800228a5f03ea82bd43f688e719c9028 100644 (file)
@@ -9,9 +9,12 @@
 
   <div class="text-blockbtn-gallery gallery-columns-{{ $settings['gallery_columns'] }}">
     @foreach($settings['wp_gallery'] as $image)
+      @php
+        $largeImg = wp_get_attachment_image_url($image['id'],'large');
+      @endphp
       <div class="gallery-item">
         <div class="gallery-icon">
-          <img class="attachment-{{ $settings['thumbnail_size'] }} size-{{ $settings['thumbnail_size'] }}" src="{{ $image['url'] }}" />
+          <img class="attachment-{{ $settings['thumbnail_size'] }} size-{{ $settings['thumbnail_size'] }}" src="{{ esc_url($largeImg) }}" />
         </div>
       </div>
     @endforeach
@@ -19,7 +22,7 @@
 
   <div class="{{implode(' ',$attributes['body']['class'])}}">{!! $settings['body'] !!}</div>
   <div class="text-blockbtn-btn">
-    <a href="{{$settings['cta_link']['url']}}" class="{{implode(' ',$attributes['cta_text']['class'])}}">
+    <a href="{{ esc_url($settings['cta_link']['url']) }}" class="{{implode(' ',$attributes['cta_text']['class'])}}">
       {!! $settings['cta_text'] !!}
     </a>
   </div>
index 16d611946831603e41b8fe61eecbc184148b879d..d06104c7751585dd6b87021d1b48ab29176dc5d3 100644 (file)
@@ -1,4 +1,8 @@
 <div class="text-block {{ $settings['gallery_position'] }} {{ $settings['title'] ? 'has-title' : '' }}">
+  @php
+    $largeImg = wp_get_attachment_image_url($settings['image']['id'],'large')
+  @endphp
+
   @if($settings['above_title'])
     <p class="text-block-above-title highlight text-lg relative font-bold">
       <span class='relative z-1'>{{ $settings['above_title'] }}</span>
@@ -8,7 +12,7 @@
 
   @if($settings['image']['url'])
     <div class="text-block-image">
-        <img class="" src="{{ $settings['image']['url'] }}" />
+        <img class="" src="{{ esc_url($largeImg) }}" />
     </div>
   @endif