$26 GRAYBYTE WORDPRESS FILE MANAGER $48

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/cepurhuye.rw/wp-content/plugins/bopea-function/block/

HOME
Current File : /home/bravrvjk/cepurhuye.rw/wp-content/plugins/bopea-function/block//gallery.php
<?php
namespace bopeaElementor\Widgets;
use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\Group_Control_Image_Size;
use Elementor\Group_Control_Typography;
use Elementor\Schemes\Color;
use Elementor\Schemes\Typography;
use Elementor\Utils;
use Elementor\Control_Media;
use Elementor\Group_Control_Border;
use Elementor\Group_Control_Box_Shadow;
use Elementor\Group_Control_Text_Shadow;
use Elementor\Group_Control_Background;
use Elementor\Repeater;
use Elementor\Icons_Manager;
defined('ABSPATH') || die();

class bopea_section_gallery extends Widget_Base {

    public function get_name() {
        return 'bopea-gallery';
    }

    public function get_title() {
        return esc_html__( 'Gallery', 'bopea-function' );
    }

    public function get_icon() {
        return 'eicon-elementor-circle jl-icons';
    }    

    public function get_categories() {
       return [ 'bopea-elements' ];
    }

    protected function register_controls() {
        $this->start_controls_section(
            '_section_gallery',
            [
                'label' => esc_html__( 'Gallery', 'bopea-function' ),
                'tab' => Controls_Manager::TAB_CONTENT,
            ]
        );        

        $this->add_control(
            'gallery',
            [
                'type' => Controls_Manager::GALLERY,
                'dynamic' => [
                    'active' => true,
                ]
            ]
        );
        $this->add_control(
            'jl_btn_url',
            [
                'label' =>esc_html__( 'Custom URL', 'bopea-function' ),
                'type' => Controls_Manager::URL,                
            ]
        );
        $this->add_control(
      'overlay_txt', [
        'label'       => esc_html__( 'Title Overlay', 'bopea-function' ),
        'type'        => Controls_Manager::TEXT,
        'label_block' => true,
        'default'     => 'Instagram',        
      ]
      );
        $this->add_control(
                    'info_image',
                    [
                        'type' => Controls_Manager::RAW_HTML,
                        'separator'    => 'before',
                        'raw' => '<b>Thumbnail Image Size</b>',
                    ]
                );
        
        $this->add_group_control(
            Group_Control_Image_Size::get_type(),
            [
                'name' => 'thumbnail',
                'default' => 'medium_large',                
                'exclude' => [
                    'custom'
                ]
            ]
        );    

        $this->add_responsive_control(
                'item_space',
                [
                    'label' => esc_html__( 'Columns', 'bopea-function' ),
                    'type' => Controls_Manager::SLIDER,
                    'size_units' => [ 'px' ],
                    'separator'    => 'before',
                    'range' => [
                        'px' => [
                            'min' => 1,
                            'max' => 12,
                            'step' => 1,
                        ]                        
                    ],                    
                    'default' => [
                        'size' => 6,
                        'unit' => 'px',
                    ],
                    'tablet_default' => [
                        'size' => 6,
                        'unit' => 'px',
                    ],
                    'mobile_default' => [
                        'size' => 2,
                        'unit' => 'px',
                    ],                    
                    'selectors' => [
                        '{{WRAPPER}} .jl_gal_wrapper' => 'grid-template-columns: repeat({{SIZE}},minmax(0,1fr))',
                    ],
                ]
            );

            $this->add_responsive_control(
                'item_column_gap',
                [
                    'label' => esc_html__( 'Column Gap', 'bopea-function' ),
                    'type' => Controls_Manager::SLIDER,
                    'size_units' => [ 'px' ],
                    'range' => [
                        'px' => [
                            'min' => 1,
                            'max' => 200,
                            'step' => 1,
                        ]                        
                    ],
                    'default' => [
                        'unit' => 'px',
                        'size' => 5,
                    ],                    
                    'selectors' => [
                        '{{WRAPPER}} .jl_gal_wrapper' => 'grid-column-gap: {{SIZE}}{{UNIT}}',
                    ],
                ]
            );

            $this->add_responsive_control(
                'item_row_gap',
                [
                    'label' => esc_html__( 'Row Gap', 'bopea-function' ),
                    'type' => Controls_Manager::SLIDER,
                    'size_units' => [ 'px' ],
                    'range' => [
                        'px' => [
                            'min' => 1,
                            'max' => 200,
                            'step' => 1,
                        ]                        
                    ],
                    'default' => [
                        'unit' => 'px',
                        'size' => 5,
                    ],                    
                    'selectors' => [
                        '{{WRAPPER}} .jl_gal_wrapper' => 'grid-row-gap: {{SIZE}}{{UNIT}}',
                    ],
                ]
            );

            $this->add_responsive_control(
                'jl_border_radius',
                [
                    'label' => esc_html__( 'Image Border Radius', 'bopea-function' ),
                    'type' => Controls_Manager::SLIDER,
                    'size_units' => [ 'px' ],
                    'range' => [
                        'px' => [
                            'min' => 1,
                            'max' => 200,
                            'step' => 1,
                        ]                        
                    ],                    
                    'selectors' => [
                        '{{WRAPPER}} .jl_gal_wrapper .jl_gal_item a' => 'border-radius: {{SIZE}}{{UNIT}}',
                    ],
                ]
            );    
            $this->add_control(
                'jl_hide_txt',
                [
                    'label' => esc_html__( 'Hide text overlay', 'bopea-function' ),
                    'type' => Controls_Manager::SWITCHER,                                        
                    'selectors' => [
                        '{{WRAPPER}} .jl_gal_link_wrap .jlc_gal_txt' => 'display:none;',
                    ],
                ]
    );        

        $this->end_controls_section();        
    }
    protected function render( ) {
        $settings = $this->get_settings_for_display();

        if ( empty( $settings['gallery'] ) ) {
            return;
        }
        if ( ! empty( $settings['jl_btn_url']['url'] ) ) {
            $this->add_link_attributes( 'button', $settings['jl_btn_url'] );
        }
        echo '<div class="jl_gal_link_wrap">';
        if ( ! empty( $settings['jl_btn_url']['url'] ) ) {?>
            <a <?php echo $this->get_render_attribute_string( 'button' ); ?> class="jlc_gal_txt">
            <i class="jli-instagram"></i>
            <?php echo $settings['overlay_txt'];?>
            </a>
        <?php }
        echo '<div class="jl_gal_wrapper">';        
        foreach ( $settings['gallery'] as $image ) {            
            ?>            
            <div class="jl_gal_item">
                <a <?php echo $this->get_render_attribute_string( 'button' ); ?> class="jl_gal_img">
                <?php echo wp_get_attachment_image( $image['id'], $settings['thumbnail_size'], false, [ 'class' => 'jl_img_gal' ] ); ?>
                </a>            
            </div>
            <?php
        }        
        echo '</div>';        
        echo '</div>';
    }
}


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0755
ads-img.php
6.463 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
cart.php
17.675 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
category-list.php
28.115 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
contact-form.php
25.032 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
current-date.php
7.465 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
custom-banner.php
20.019 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
custom-sg-cat.php
1.421 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
custom-sg-meta.php
1.507 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
dark-mode-switcher.php
3.141 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
element-button.php
27.455 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
elementor.php
50.17 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
feature-box.php
11.205 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
feature-carousel.php
39.477 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
feature-center-slider.php
32.664 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
feature-hover.php
17.747 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
feature-product.php
13.024 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
feature-slider-tab.php
34.146 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
feature-slider.php
43.884 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
feature-video.php
22.095 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-1.php
28.733 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-10.php
25.319 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-11.php
25.213 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-12.php
28.478 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-13.php
37.482 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-18.php
32.596 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-19.php
31.406 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-2.php
28.093 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-20.php
27.293 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-3.php
27.961 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-4.php
28.507 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-5.php
32.721 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-6.php
35.081 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-7.php
39.264 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-8.php
32.762 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
featured-layout-9.php
30.399 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
gallery.php
7.856 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
grid-circle.php
35.744 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
grid-overlay.php
38.916 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
grid-post.php
50.369 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
large-post.php
46.632 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
layouts.php
1.821 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
list-number.php
43.876 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
list-post.php
42.161 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
logo.php
7.302 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
main-menu-setting.php
0.878 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
main-menu.php
23.354 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
marquee-text.php
19.204 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
mobile-menu.php
9.148 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
newsticker.php
22.594 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
search-button.php
9.592 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
section-title.php
42.684 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
simple-menu.php
24.479 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
simple-text.php
6.621 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
small-2main-below-list.php
49.41 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
small-list-post.php
48.257 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
small-main-below-2list.php
51.024 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
small-main-below-list.php
49.909 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
small-main-right-list.php
50.874 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
small-overlay-main-below-list.php
47.359 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
social.php
113.031 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
tpl-product.php
5.371 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644
xsmall-list-post.php
43.337 KB
25 Nov 2025 10.53 AM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF