$81 GRAYBYTE WORDPRESS FILE MANAGER $66

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//feature-box.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;
if ( ! defined( 'ABSPATH' ) ) exit;

class bopea_feature_box extends Widget_Base {

  public $base;

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

    public function get_title() {
        return esc_html__( 'Feature Box', '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_tab',
            [
                'label' => esc_html__('Feature Box Settings', 'bopea-function'),
            ]
        );

        $repeater = new Repeater();        
        $repeater->add_control(
        'box_image', [
            'label' => __( 'Image', 'bopea-function' ),
            'type' => Controls_Manager::MEDIA,
            'label_block' => true,
          ]
        );
        $repeater->add_control(
        'box_title', [
            'label' => __( 'Title', 'bopea-function' ),
            'type' => Controls_Manager::TEXT,
            'default' => __( 'Title' , 'bopea-function' ),
          ]
        );
        $repeater->add_control(
        'box_label', [
            'label' => __( 'Title', 'bopea-function' ),
            'type' => Controls_Manager::TEXT,
            'default' => __( 'label' , 'bopea-function' ),
          ]
        );
        $repeater->add_control(
        'box_link', [
            'label' => __( 'Link URL', 'bopea-function' ),
            'type' => Controls_Manager::URL,
            'default' => [
                  'url' => '#',
                  'is_external' => true,
               ],
            'show_external' => true,
          ]                   
        );

        $this->add_control(
      'box_info',
      [
        'label' => __( 'Box info', 'bopea-function' ),
        'type' => Controls_Manager::REPEATER,
        'fields' => $repeater->get_controls(),
        'default' => [
            [
              'box_title' => __( 'List Item 1', 'bopea-function' ),              
            ],
            [
              'box_title' => __( 'List Item 2', 'bopea-function' ),              
            ],
            [
              'box_title' => __( 'List Item 3', 'bopea-function' ),              
            ],
    ],

        'title_field' => '{{{ box_title }}}',
      ]
    );                  
      
    $this->end_controls_section();
    $this->start_controls_section(
      'section_tab_style', [
        'label'  => esc_html__( 'Feature Box Style', 'bopea-function' ),
        'tab'     => Controls_Manager::TAB_STYLE,
      ]
    );

        $this->add_control(
          'jl_line_sh',
          [
              'label' => esc_html__( 'Show line overlay', 'bopea-function' ),
              'type' => Controls_Manager::SWITCHER,              
              'selectors' => [
                '{{WRAPPER}} .jl_box_w .jl_box_link:before' => "border: 1px solid #fff; top: 20px; left: 20px; right: 20px; bottom: 20px; opacity: .35; content: ''; position: absolute;",
                ]
          ]
    );

      $this->add_responsive_control(
        'jl_box_cols',
        [
            'label' => __( 'Number of columns', 'bopea-function' ),
            'type' => Controls_Manager::SLIDER,                        
            'default' => [
            'size' => 3,
            ],
            'tablet_default' => [
              'size' => 3,
            ],
            'mobile_default' => [
              'size' => 1,
            ],
            'range' => [
                'px' => [
                    'min' => 1,
                    'max' => 12,
                    'step' => 1,
                ]
            ],
            'selectors' => [            
            '{{WRAPPER}} .jl_box_w' => '--jl-box-cols: {{SIZE}} !important;',            
            ],
        ]
      );

      $this->add_responsive_control(
        'box_height',
        [
            'label' => __( 'Box height', 'bopea-function' ),
            'type' => Controls_Manager::SLIDER,
            'range' => [
                'px' => [
                    'min' => 0,
                    'max' => 600,
                    'step' => 1,
                ]
            ],
            'selectors' => [
            '{{WRAPPER}} .jl_box_w' => '--jl-box-h: {{SIZE}}{{UNIT}} !important;',
            ],
        ]
    );  

      $this->add_responsive_control(
        'box_lbl_w',
        [
            'label' => __( 'Box label width', 'bopea-function' ),
            'type' => Controls_Manager::SLIDER,
            'range' => [
                'px' => [
                    'min' => 0,
                    'max' => 100,
                    'step' => 1,
                ]
            ],
            'selectors' => [
            '{{WRAPPER}} .jl_box_w .jl_box_txtw' => 'width: {{SIZE}}% !important;',
            ],
        ]
    );  

    $this->add_responsive_control(
      'box_lbl_h',
      [
          'label' => __( 'Box label height', 'bopea-function' ),
          'type' => Controls_Manager::SLIDER,
          'range' => [
              'px' => [
                  'min' => 0,
                  'max' => 600,
                  'step' => 1,
              ]
          ],
          'selectors' => [
          '{{WRAPPER}} .jl_box_w' => '--jl-lbl-h: {{SIZE}}{{UNIT}} !important;',
          ],
      ]
  );  

    $this->add_responsive_control(
        'box_spacing',
        [
            'label' => __( 'Box spacing between', 'bopea-function' ),
            'type' => Controls_Manager::SLIDER,
            'default' => [
            'size' => 20,
            ],
            'tablet_default' => [
              'size' => 20,
            ],
            'mobile_default' => [
              'size' => 20,
            ],
            'range' => [
                'px' => [
                    'min' => 0,
                    'max' => 300,
                    'step' => 1,
                ]
            ],
            'selectors' => [
            '{{WRAPPER}} .jl_box_w' => '--jl-box-gap: {{SIZE}}{{UNIT}} !important;',
            ],
        ]
    );    
    
    $this->add_responsive_control(
      'box_radius',
      [
          'label' => __( 'Box rounded corners', 'bopea-function' ),
          'type' => Controls_Manager::SLIDER,          
          'range' => [
              'px' => [
                  'min' => 0,
                  'max' => 300,
                  'step' => 1,
              ]
          ],
          'selectors' => [
          '{{WRAPPER}} .jl_box_w .jl_box_info' => 'border-radius: {{SIZE}}{{UNIT}} !important;',
          ],
      ]
  );  
  
  $this->add_responsive_control(
    'label_radius',
    [
        'label' => __( 'Label rounded corners', 'bopea-function' ),
        'type' => Controls_Manager::SLIDER,          
        'range' => [
            'px' => [
                'min' => 0,
                'max' => 300,
                'step' => 1,
            ]
        ],
        'selectors' => [
        '{{WRAPPER}} .jl_box_w .jl_box_txtw' => 'border-radius: {{SIZE}}{{UNIT}} !important;',
        ],
    ]
);  

    $this->add_group_control(
      Group_Control_Typography::get_type(),
      [
          'name' => 'box_font_size',
          'label' => __( 'Title Typography', 'bopea-function' ),
          'selector' => '{{WRAPPER}} .jl_box_w .jl_box_title',
      ]
  );

  $this->add_group_control(
    Group_Control_Typography::get_type(),
    [
        'name' => 'box_label_size',
        'label' => __( 'Label Typography', 'bopea-function' ),
        'selector' => '{{WRAPPER}} .jl_box_w .jl_box_label',
    ]
); 

    $this->add_control(
      'label_bg',
      [
        'label' => __( 'Label background', 'bopea-function' ),
        'type' => Controls_Manager::COLOR,        
        'default' => '#FFF',
        'selectors' => [
          '{{WRAPPER}} .jl_box_w' => '--jl-box-bg: {{VALUE}}',
        ]
      ]
    );

    $this->add_control(
      'label_bg_dark',
      [
        'label' => __( 'Label background dark mode', 'bopea-function' ),
        'type' => Controls_Manager::COLOR, 
        'default' => '#222',       
        'selectors' => [
          '.options_dark_skin {{WRAPPER}} .jl_box_w' => '--jl-box-bg: {{VALUE}}',
        ]
      ]
    );

    $this->add_control(
      'title_color',
      [
        'label' => __( 'Title color', 'bopea-function' ),
        'type' => Controls_Manager::COLOR,        
        'default' => '#000',
        'selectors' => [
          '{{WRAPPER}} .jl_box_w' => '--jl-title-color: {{VALUE}}',
        ]
      ]
    );

    $this->add_control(
      'title_color_dark',
      [
        'label' => __( 'Title color dark mode', 'bopea-function' ),
        'type' => Controls_Manager::COLOR,        
        'default' => '#FFF',
        'selectors' => [
          '.options_dark_skin {{WRAPPER}} .jl_box_w' => '--jl-title-color: {{VALUE}}',
        ]
      ]
    );

    $this->add_control(
      'label_color',
      [
        'label' => __( 'Label color', 'bopea-function' ),
        'type' => Controls_Manager::COLOR,        
        'default' => '#666666',
        'selectors' => [
          '{{WRAPPER}} .jl_box_w' => '--jl-lbl-color: {{VALUE}}',
        ]
      ]
    );

    $this->add_control(
      'label_color_dark',
      [
        'label' => __( 'Label color dark mode', 'bopea-function' ),
        'type' => Controls_Manager::COLOR,        
        'default' => '#ddd',
        'selectors' => [
          '.options_dark_skin {{WRAPPER}} .jl_box_w' => '--jl-lbl-color: {{VALUE}}',
        ]
      ]
    );

        $this->end_controls_section();
    }
    protected function render( ) {
    $settings = $this->get_settings_for_display();
    $box_info = $settings['box_info'];
    if(!empty($box_info)){
?>
<div class="jl_box_c jl_clear_at">
  <div class="jl_box_w">
    <?php
    $counter = 1;
    foreach ($box_info as $index => $slide){
    ?>
    <div class="jl_box_info jl_radus_e">
        <span class="jl_box_txtw jl_radus_e">
        <span class="jl_box_txtin">
        <?php if(!empty($slide['box_title'])){?>
        <span class="jl_box_title"><?php echo esc_html($slide['box_title']); ?></span>
        <?php }?>
        <?php if(!empty($slide['box_label'])){?>
        <span class="jl_box_label"><?php echo esc_html($slide['box_label']); ?></span>
        <?php }?>
        </span>
        </span>
        <?php
        if(!empty($slide['box_link']['url'])){
            $link_key = 'link_' . $index;
            $this->add_link_attributes( $link_key, $slide['box_link'] );
        ?>
        <a class="jl_box_link" <?php echo $this->get_render_attribute_string( $link_key ); ?>></a>
        <?php }?>
        <div class="jl_box_bg">
        <?php echo wp_get_attachment_image($slide['box_image']['id'], 'bopea_layouts', "", array( "class" => "jl_f_img_bg" ));?>
        </div>
    </div>          
    <?php $counter++; } ?>
  </div>
</div>
<?php }
    }
}


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