Plugin Directory

Changeset 3220786


Ignore:
Timestamp:
01/11/2025 05:05:56 PM (2 months ago)
Author:
codepopular
Message:

Version Release 1.2.2

Location:
unlimited-theme-addons/trunk
Files:
35 edited

Legend:

Unmodified
Added
Removed
  • unlimited-theme-addons/trunk/inc/addons/uta-template-shortcode/uta-template-shortcode.php

    r2700168 r3220786  
    3636    /**
    3737     * Register Custom Post
    38      * 
     38     *
    3939     * Register custo post type for template shortcode which allow to get shortcode each created item.
    4040     *
     
    8282    /**
    8383     * Add elementor support.
    84      * 
     84     *
    8585     * Add elementor support for template post type.
    8686     *
     
    9292    }
    9393
    94    
     94
    9595    /**
    9696     * Custom post type column.
    97      * 
     97     *
    9898     * Add column in custom post type.
    9999     *
     
    108108    /**
    109109     * Custom column content
    110      * 
    111      * Add content for cusotm column in shortcode.
     110     *
     111     * Add content for custom column in shortcode.
    112112     *
    113113     * @param string $column_name
     
    116116     */
    117117    public function uta_template_shortcode_column_content( $column_name, $post_ID ) {
    118 
    119         if ( 'uta-template-shortcode' == $column_name ) {
    120             echo esc_html('[uta-template id="' . $post_ID . '"]');
     118        // Check user permissions
     119        if ( 'uta-template-shortcode' === $column_name ) {
     120            if ( current_user_can( 'edit_others_posts', $post_ID ) ) { // Allow only users who can edit this post
     121                echo esc_html( '[uta-template id="' . intval( $post_ID ) . '"]' );
     122            } else {
     123                // Optionally display a placeholder or message for unauthorized users
     124                echo esc_html__( 'Restricted', 'unlimited-theme-addons' );
     125            }
    121126        }
    122127    }
     
    125130    /**
    126131     * Custom post type column.
    127      * 
     132     *
    128133     * Add column in custom post type.
    129134     *
     
    138143    /**
    139144     * Custom column content
    140      * 
     145     *
    141146     * Add content for cusotm column in shortcode.
    142147     *
     
    147152    public function manage_elementor_library_posts_custom_column_content( $column_name, $post_ID ) {
    148153        if ( 'uta-template-shortcode' == $column_name ) {
    149 
     154            if ( ! current_user_can( 'edit_others_posts', $post_ID ) ) {
     155                echo esc_html__( 'Restricted', 'unlimited-theme-addons' );
     156                return;
     157            }
    150158            echo esc_html('[uta-template id="' . $post_ID . '"]');
    151159        }
     
    155163    /**
    156164     * Render shortcode content
    157      * 
     165     *
    158166     * Get page content by applying shortcode.
    159167     *
    160168     * @param [type] $atts
    161      * @return void
     169     * @return string
    162170     */
    163171    public function uta_template_render_shortcode( $atts ) {
     
    191199            if ( ! empty($the_content) ) {
    192200                $response = $the_content;
    193             }       
     201            }
    194202}
    195203
     
    201209    /**
    202210     * Add shortcode box inside the page.
    203      * 
     211     *
    204212     * Shortcode for inside the page so that user can get PHP or normal shortcode.
    205213     *
     
    207215     */
    208216    public function uta_template_add_meta_boxes(){
    209         add_meta_box('uta-shortcode-box','Unlimited Theme Addons Template Shortcode',[ $this, 'uta_template_add_meta_boxes_content' ],'uta_template','side','high'); 
     217        add_meta_box('uta-shortcode-box','Unlimited Theme Addons Template Shortcode',[ $this, 'uta_template_add_meta_boxes_content' ],'uta_template','side','high');
    210218    }
    211219
     
    214222    /**
    215223     * Shortcode box content
    216      * 
     224     *
    217225     * Add content for shortcode box inside the custom post type pages.
    218226     *
     
    221229     */
    222230    function uta_template_add_meta_boxes_content( $post ) {  ?>
    223         <h4 style="margin-bottom:5px;">Shortcode</h4>
     231        <h4 style="margin-bottom:5px;"><?php esc_html_e('Shortcode', 'unlimited-theme-addons');?></h4>
    224232        <input type='text' class='widefat' value='[uta-template id="<?php echo esc_attr($post->ID); ?>"]' readonly="">
    225    
    226         <h4 style="margin-bottom:5px;">PHP Code</h4>
     233
     234        <h4 style="margin-bottom:5px;"><?php esc_html_e('PHP Code', 'unlimited-theme-addons');?></h4>
    227235        <input type='text' class='widefat' value="&lt;?php echo do_shortcode('[uta-template id=&quot;<?php echo esc_attr($post->ID); ?>&quot;]'); ?&gt;" readonly="">
    228236        <?php
  • unlimited-theme-addons/trunk/inc/codepopular-promotion.php

    r3195449 r3220786  
    2828        $data = json_decode(wp_remote_retrieve_body($response), true);
    2929
    30         if (isset($data['active']) && $data['active'] === 'yes'){
    31             ?>
    32             <div class="codepopular-pro-widget">
    33                 <a href="<?php echo esc_url($data['link']);?>?utm_source=uta_dashboard_feed_banner" target="_blank">
    34                     <img src="<?php echo esc_url($data['square_banner'])?>" alt="CodePopular" style="width: 100%;"/>
    35                 </a>
    36             </div>
    37             <?php
    38         }
     30        if ( isset( $data['active'] ) && $data['active'] === 'yes' ) {
     31            // Get the attachment ID from the image URL
     32            $image_url = esc_url( $data['square_banner'] );
     33            $attachment_id = attachment_url_to_postid( $image_url );
     34       
     35            if ( $attachment_id ) {
     36                ?>
     37                <div class="codepopular-pro-widget">
     38                    <a href="<?php echo esc_url( $data['link'] ); ?>?utm_source=uta_dashboard_feed_banner" target="_blank">
     39                        <?php echo wp_get_attachment_image( $attachment_id, 'full', false, array( 'alt' => 'CodePopular', 'style' => 'width: 100%;' ) ); ?>
     40                    </a>
     41                </div>
     42                <?php
     43            }
     44        }
     45       
    3946
    4047        // Enter the name of your blog here followed by /wp-json/wp/v2/posts and add filters like this one that limits the result to 2 posts.
  • unlimited-theme-addons/trunk/inc/elementor/elementor.php

    r3027786 r3220786  
    2323            'uta-elements',
    2424            [
    25                 'title' => esc_html__('uta Elements', 'unlimited-theme-addons'),
     25                'title' => esc_html__('UTA Elements', 'unlimited-theme-addons'),
    2626                'icon'  => 'fa fa-plug',
    2727            ]
     
    104104        );
    105105
    106         // Accordion. 
     106        // Accordion.
    107107        wp_register_style(
    108108            'uta-accordion',
     
    129129
    130130
    131         // Counter Up. 
     131        // Counter Up.
    132132        wp_register_style(
    133133            'uta-odometer',
     
    138138
    139139
    140         // Counter Up. 
     140        // Counter Up.
    141141        wp_register_style(
    142142            'uta-counter-up',
     
    146146        );
    147147
    148        
    149 
    150         // Infobox. 
     148
     149
     150        // Infobox.
    151151        wp_register_style(
    152152            'uta-infobox',
     
    156156        );
    157157
    158         // Post. 
     158        // Post.
    159159        wp_register_style(
    160160            'uta-blog',
     
    164164        );
    165165
    166         // Pricing. 
     166        // Pricing.
    167167        wp_register_style(
    168168            'uta-pricing',
     
    172172        );
    173173
    174         // Product Grid. 
     174        // Product Grid.
    175175        wp_register_style(
    176176            'uta-product-grid',
     
    180180        );
    181181
    182         // Product List. 
     182        // Product List.
    183183        wp_register_style(
    184184            'uta-product-list',
     
    188188        );
    189189
    190         // Search. 
     190        // Search.
    191191        wp_register_style(
    192192            'uta-product-search',
     
    196196        );
    197197
    198         // Tab. 
     198        // Tab.
    199199        wp_register_style(
    200200            'uta-tab',
     
    204204        );
    205205
    206         // Team. 
     206        // Team.
    207207        wp_register_style(
    208208            'uta-team',
     
    212212        );
    213213
    214         // Testimonial. 
     214        // Testimonial.
    215215        wp_register_style(
    216216            'uta-testimonial',
     
    220220        );
    221221
    222         // Section Title. 
     222        // Section Title.
    223223        wp_register_style(
    224224            'uta-title',
     
    228228        );
    229229
    230         // Video. 
     230        // Video.
    231231        wp_register_style(
    232232            'uta-video',
     
    474474            if ( array_key_exists('blockquote', $widget_list) && 'off' !== $widget_list['blockquote'] || empty($widget_list['blockquote']) ) {
    475475                include_once(UTA_PLUGIN_PATH . 'inc/elementor/widgets/blockquote/Uta_Blockquote.php');
    476             }       
    477 }
     476            }
     477        }
    478478    }
    479479
  • unlimited-theme-addons/trunk/inc/elementor/widgets/accordion/Uta_Accordion.php

    r2715336 r3220786  
    2626  /**
    2727   * Widget CSS.
    28    * 
     28   *
    2929   * @return string
    3030   */
     
    3838  /**
    3939   * Widget script.
    40    * 
     40   *
    4141   * @return string
    4242   */
     
    728728                break;
    729729
    730             case 'image':
    731               //  $image_url = Group_Control_Image_Size::get_attachment_image_src( $acc_tab['image']['id'], null, $acc_tab );
    732 
    733               //  if ( ! $image_url ) {
    734                     $image_url = $acc_tab['image']['url'];
    735               //  }
    736 
    737                 $image_html = '<div class="uta-accordion-image">';
    738 
    739                 $image_html .= '<img src="' . esc_url( $image_url ) . '" alt="' . esc_attr( Control_Media::get_image_alt( $acc_tab['image'] ) ) . '">';
    740 
    741                 $image_html .= '</div>';
    742 
    743                 $output = $image_html;
    744                 break;
     730                case 'image':
     731                    // Get the attachment ID for the image URL
     732                    $attachment_id = attachment_url_to_postid($acc_tab['image']['url']);
     733
     734                    // Use wp_get_attachment_image() to output the image
     735                    $image_html = '<div class="uta-accordion-image">';
     736
     737                    // Use wp_get_attachment_image() to display the image
     738                    $image_html .= wp_get_attachment_image($attachment_id, 'full', false, array(
     739                        'alt' => esc_attr(Control_Media::get_image_alt($acc_tab['image'])),
     740                    ));
     741
     742                    $image_html .= '</div>';
     743
     744                    $output = $image_html;
     745                    break;
     746
    745747
    746748            case 'section':
     
    763765    }
    764766
    765    
     767
    766768
    767769
     
    770772     */
    771773   protected function render( $instance = [] ) {
    772  
     774
    773775      // get our input from the widget settings.
    774        
     776
    775777      $settings = $this->get_settings_for_display();
    776778
     
    785787
    786788   }
    787  
     789
    788790}
    789791
  • unlimited-theme-addons/trunk/inc/elementor/widgets/accordion/template/layout-1.php

    r2696843 r3220786  
     1<?php
     2
     3?>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/blockquote/Uta_Blockquote.php

    r2715336 r3220786  
    214214                'name' => 'blockquote_typography',
    215215                'label' => __('Typography', 'unlimited-theme-addons'),
    216                 'scheme' => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    217216                'selector' => '{{WRAPPER}} .uta-blockquote p',
    218217            ]
  • unlimited-theme-addons/trunk/inc/elementor/widgets/blockquote/template/style-1.php

    r2696843 r3220786  
    1 
     1<?php
     2?>
    23<div class="uta-blockquote uta-quote-default">
    34    Coming Soon
    45</div>
     6<?php
     7?>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/blockquote/template/style-2.php

    r2696843 r3220786  
    1 
     1<?php
     2?>
    23<div class="uta-blockquote uta-quote-default">
    34    Coming Soon
    45</div>
     6<?php
     7?>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/blog/Uta_Blog.php

    r2715336 r3220786  
    146146            <!-- blog -->
    147147            <div class="uta-blog-item">
    148                <div class="uta-blog-item-img">
    149                   <?php if ( has_post_thumbnail() ) : ?>
    150                      <a href="<?php the_permalink(); ?>">
    151                         <img src="<?php echo esc_url(get_the_post_thumbnail_url(get_the_ID(), 'uta-360-200')); ?>" alt="<?php the_title() ?>">
    152                      </a>
    153                      <span><?php the_category(',') ?></span>
    154                   <?php endif ?>
    155                </div>
     148            <div class="uta-blog-item-img">
     149    <?php if ( has_post_thumbnail() ) : ?>
     150        <a href="<?php the_permalink(); ?>">
     151            <?php
     152                // Get the attachment ID for the post thumbnail
     153                $attachment_id = get_post_thumbnail_id( get_the_ID() );
     154
     155                // Use wp_get_attachment_image() to output the image
     156                echo wp_get_attachment_image( $attachment_id, 'uta-360-200', false, array(
     157                    'alt' => get_the_title(),
     158                    'class' => 'post-thumbnail', // Optional: Add a class if needed
     159                ));
     160            ?>
     161        </a>
     162        <span><?php the_category(', ') ?></span>
     163    <?php endif ?>
     164</div>
     165
    156166
    157167               <div class="uta-blog-item-content">
  • unlimited-theme-addons/trunk/inc/elementor/widgets/button/Uta_Button.php

    r2715336 r3220786  
    2323  /**
    2424   * Widget CSS.
    25    * 
     25   *
    2626   * @return string
    2727   */
     
    3535  /**
    3636   * Widget script.
    37    * 
    38    * @return string
     37   *
     38   * @return array
    3939   */
    40   public function get_script_depends() {
    41     $scripts = [];
    42 
    43     return $scripts;
     40  public function get_script_depends(): array
     41  {
     42      return [];
    4443  }
    4544
    4645
    47   public function get_keywords() {
     46  public function get_keywords(): array
     47  {
    4848    return [
    4949        'button',
     
    5757  }
    5858
    59   public function get_categories() {
     59  public function get_categories(): array
     60  {
    6061    return [ 'uta-elements' ];
    6162  }
     
    6869   * @return string support URL.
    6970   */
    70   public function get_custom_help_url() {
     71  public function get_custom_help_url(): string
     72  {
    7173    return 'https://codepopular.com/contact/';
    7274  }
     
    8688      [
    8789          'label'   => esc_html__('Button Style', 'unlimited-theme-addons'),
    88           'type'    => \Elementor\Controls_Manager::SELECT,
     90          'type'    => Controls_Manager::SELECT,
    8991          'options' => [
    9092              'style-default' => esc_html__('Default', 'unlimited-theme-addons'),
     
    107109      [
    108110          'label'   => __('Button Text', 'unlimited-theme-addons'),
    109           'type'    => \Elementor\Controls_Manager::TEXT,
     111          'type'    => Controls_Manager::TEXT,
    110112          'default' => __('Raed More', 'unlimited-theme-addons'),
    111113      ]
     
    116118      [
    117119          'label'        => __('Icon', 'unlimited-theme-addons'),
    118           'type'         => \Elementor\Controls_Manager::SWITCHER,
     120          'type'         => Controls_Manager::SWITCHER,
    119121          'label_on'     => __('Yes', 'unlimited-theme-addons'),
    120122          'label_off'    => __('No', 'unlimited-theme-addons'),
     
    141143      [
    142144          'label'   => __('Button URL', 'unlimited-theme-addons'),
    143           'type'    => \Elementor\Controls_Manager::TEXT,
     145          'type'    => Controls_Manager::TEXT,
    144146          'default' => '#',
    145147      ]
     
    150152      [
    151153          'label'        => __('Popup Video', 'unlimited-theme-addons'),
    152           'type'         => \Elementor\Controls_Manager::SWITCHER,
     154          'type'         => Controls_Manager::SWITCHER,
    153155          'label_on'     => __('Yes', 'unlimited-theme-addons'),
    154156          'label_off'    => __('No', 'unlimited-theme-addons'),
     
    162164      [
    163165          'label'   => __('Alignment', 'unlimited-theme-addons'),
    164           'type'    => \Elementor\Controls_Manager::CHOOSE,
     166          'type'    => Controls_Manager::CHOOSE,
    165167          'options' => [
    166168              'left'   => [
     
    187189      [
    188190          'label'        => __('Drop Shadow', 'unlimited-theme-addons'),
    189           'type'         => \Elementor\Controls_Manager::SWITCHER,
     191          'type'         => Controls_Manager::SWITCHER,
    190192          'label_on'     => __('Show', 'unlimited-theme-addons'),
    191193          'label_off'    => __('Hide', 'unlimited-theme-addons'),
     
    205207      )
    206208    );
    207     /*
    208          * Padding
    209         */
     209
     210    // Button padding
    210211    $this->add_responsive_control(
    211212      'uta_button_padding',
    212213      [
    213214          'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    214           'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     215          'type'       => Controls_Manager::DIMENSIONS,
    215216          'size_units' => [ 'px', '%', 'em' ],
    216217          'selectors'  => [
     
    229230    );
    230231
    231     // Button Typography Default
    232     $this->add_group_control(
    233       Group_Control_Typography::get_type(),
    234       [
    235           'name'      => 'uta_button_typography',
    236           'label'     => __('Typography', 'unlimited-theme-addons'),
    237           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    238           'selector'  => '{{WRAPPER}} .uta-btn',
    239           'condition' => [
    240               'uta_button_style' => [ 'style-default' ],
    241           ],
    242       ]
    243     );
     232      // Button Typography Default
     233      $this->add_group_control(
     234          Group_Control_Typography::get_type(),
     235          [
     236              'name'      => 'uta_button_typography',
     237              'label'     => __('Typography', 'unlimited-theme-addons'),
     238              'selector'  => '{{WRAPPER}} .uta-btn',
     239              'condition' => [
     240                  'uta_button_style' => [ 'style-default' ],
     241              ],
     242          ]
     243      );
     244
    244245    // Button Typography 1
    245246    $this->add_group_control(
     
    248249          'name'      => 'uta_button_1_typography',
    249250          'label'     => __('Typography', 'unlimited-theme-addons'),
    250           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    251251          'selector'  => '{{WRAPPER}} .uta-button-1',
    252252          'condition' => [
     
    261261          'name'      => 'uta_button_2_typography',
    262262          'label'     => __('Typography', 'unlimited-theme-addons'),
    263           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    264263          'selector'  => '{{WRAPPER}} .uta-button-2',
    265264          'condition' => [
     
    274273          'name'      => 'uta_button_3_typography',
    275274          'label'     => __('Typography', 'unlimited-theme-addons'),
    276           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    277275          'selector'  => '{{WRAPPER}} .uta-button-3',
    278276          'condition' => [
     
    287285          'name'      => 'uta_button_4_typography',
    288286          'label'     => __('Typography', 'unlimited-theme-addons'),
    289           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    290           'selector'  => '{{WRAPPER}} .uta-button-4',
     287          'selector'  => '{{WRAPPER}} .uta-button-4',
    291288          'condition' => [
    292289              'uta_button_style' => [ 'style-4' ],
     
    300297          'name'      => 'uta_button_5_typography',
    301298          'label'     => __('Typography', 'unlimited-theme-addons'),
    302           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    303           'selector'  => '{{WRAPPER}} .uta-button-5',
     299          'selector'  => '{{WRAPPER}} .uta-button-5',
    304300          'condition' => [
    305301              'uta_button_style' => [ 'style-5' ],
     
    313309          'name'      => 'uta_button_6_typography',
    314310          'label'     => __('Typography', 'unlimited-theme-addons'),
    315           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    316311          'selector'  => '{{WRAPPER}} .uta-button-6',
    317312          'condition' => [
     
    326321          'name'      => 'uta_button_7_typography',
    327322          'label'     => __('Typography', 'unlimited-theme-addons'),
    328           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    329323          'selector'  => '{{WRAPPER}} .uta-button-7',
    330324          'condition' => [
     
    339333          'name'      => 'uta_button_8_typography',
    340334          'label'     => __('Typography', 'unlimited-theme-addons'),
    341           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    342335          'selector'  => '{{WRAPPER}} .uta-button-8',
    343336          'condition' => [
     
    352345          'name'      => 'uta_button_9_typography',
    353346          'label'     => __('Typography', 'unlimited-theme-addons'),
    354           'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    355347          'selector'  => '{{WRAPPER}} .uta-button-9',
    356348          'condition' => [
     
    361353
    362354    /*
    363          * Tab 
     355         * Tab
    364356        */
    365357    $this->start_controls_tabs(
     
    405397    );
    406398    /*
    407          * Border 
    408         */
    409     $this->add_group_control(
    410       \Elementor\Group_Control_Border::get_type(),
     399         * Border
     400        */
     401    $this->add_group_control(
     402      Group_Control_Border::get_type(),
    411403      [
    412404          'name'      => 'uta_button_item_border',
     
    450442    );
    451443    /*
    452          * Border 
    453         */
    454     $this->add_group_control(
    455       \Elementor\Group_Control_Border::get_type(),
     444         * Border
     445        */
     446    $this->add_group_control(
     447      Group_Control_Border::get_type(),
    456448      [
    457449          'name'      => 'uta_button_item1_border',
     
    495487    );
    496488    /*
    497          * Border 
    498         */
    499     $this->add_group_control(
    500       \Elementor\Group_Control_Border::get_type(),
     489         * Border
     490        */
     491    $this->add_group_control(
     492      Group_Control_Border::get_type(),
    501493      [
    502494          'name'      => 'uta_button_item2_border',
     
    541533    );
    542534    /*
    543          * Border 
    544         */
    545     $this->add_group_control(
    546       \Elementor\Group_Control_Border::get_type(),
     535         * Border
     536        */
     537    $this->add_group_control(
     538      Group_Control_Border::get_type(),
    547539      [
    548540          'name'      => 'uta_button_item3_border',
     
    586578    );
    587579    /*
    588          * Border 
    589         */
    590     $this->add_group_control(
    591       \Elementor\Group_Control_Border::get_type(),
     580         * Border
     581        */
     582    $this->add_group_control(
     583      Group_Control_Border::get_type(),
    592584      [
    593585          'name'      => 'uta_button_item4_border',
     
    630622    );
    631623    /*
    632          * Border 
    633         */
    634     $this->add_group_control(
    635       \Elementor\Group_Control_Border::get_type(),
     624         * Border
     625        */
     626    $this->add_group_control(
     627      Group_Control_Border::get_type(),
    636628      [
    637629          'name'      => 'uta_button_item5_border',
     
    675667    );
    676668    /*
    677          * Border 
    678         */
    679     $this->add_group_control(
    680       \Elementor\Group_Control_Border::get_type(),
     669         * Border
     670        */
     671    $this->add_group_control(
     672      Group_Control_Border::get_type(),
    681673      [
    682674          'name'      => 'uta_button_item6_border',
     
    719711    );
    720712    /*
    721          * Border 
    722         */
    723     $this->add_group_control(
    724       \Elementor\Group_Control_Border::get_type(),
     713         * Border
     714        */
     715    $this->add_group_control(
     716      Group_Control_Border::get_type(),
    725717      [
    726718          'name'      => 'uta_button_item7_border',
     
    763755    );
    764756    /*
    765          * Border 
    766         */
    767     $this->add_group_control(
    768       \Elementor\Group_Control_Border::get_type(),
     757         * Border
     758        */
     759    $this->add_group_control(
     760      Group_Control_Border::get_type(),
    769761      [
    770762          'name'      => 'uta_button_item8_border',
     
    807799    );
    808800    /*
    809          * Border 
    810         */
    811     $this->add_group_control(
    812       \Elementor\Group_Control_Border::get_type(),
     801         * Border
     802        */
     803    $this->add_group_control(
     804      Group_Control_Border::get_type(),
    813805      [
    814806          'name'      => 'uta_button_item9_border',
     
    861853    );
    862854    /*
    863          * Border 
    864         */
    865     $this->add_group_control(
    866       \Elementor\Group_Control_Border::get_type(),
     855         * Border
     856        */
     857    $this->add_group_control(
     858      Group_Control_Border::get_type(),
    867859      [
    868860          'name'      => 'uta_button__hover_item_border',
     
    906898    );
    907899    /*
    908          * Border 
    909         */
    910     $this->add_group_control(
    911       \Elementor\Group_Control_Border::get_type(),
     900         * Border
     901        */
     902    $this->add_group_control(
     903      Group_Control_Border::get_type(),
    912904      [
    913905          'name'      => 'uta_button_item1hover_border',
     
    951943    );
    952944    /*
    953          * Border 
    954         */
    955     $this->add_group_control(
    956       \Elementor\Group_Control_Border::get_type(),
     945         * Border
     946        */
     947    $this->add_group_control(
     948      Group_Control_Border::get_type(),
    957949      [
    958950          'name'      => 'uta_buttonhover_item2_border',
     
    997989    );
    998990    /*
    999          * Border 
    1000         */
    1001     $this->add_group_control(
    1002       \Elementor\Group_Control_Border::get_type(),
     991         * Border
     992        */
     993    $this->add_group_control(
     994      Group_Control_Border::get_type(),
    1003995      [
    1004996          'name'      => 'uta_button_item3_hover_border',
     
    10421034    );
    10431035    /*
    1044          * Border 
    1045         */
    1046     $this->add_group_control(
    1047       \Elementor\Group_Control_Border::get_type(),
     1036         * Border
     1037        */
     1038    $this->add_group_control(
     1039      Group_Control_Border::get_type(),
    10481040      [
    10491041          'name'      => 'uta_button_hover_item4_border',
     
    10861078    );
    10871079    /*
    1088          * Border 
    1089         */
    1090     $this->add_group_control(
    1091       \Elementor\Group_Control_Border::get_type(),
     1080         * Border
     1081        */
     1082    $this->add_group_control(
     1083      Group_Control_Border::get_type(),
    10921084      [
    10931085          'name'      => 'uta_button_hover_item5_border',
     
    11611153    );
    11621154    /*
    1163          * Border 
    1164         */
    1165     $this->add_group_control(
    1166       \Elementor\Group_Control_Border::get_type(),
     1155         * Border
     1156        */
     1157    $this->add_group_control(
     1158      Group_Control_Border::get_type(),
    11671159      [
    11681160          'name'      => 'uta_button_hover_item7_border',
     
    12051197    );
    12061198    /*
    1207          * Border 
    1208         */
    1209     $this->add_group_control(
    1210       \Elementor\Group_Control_Border::get_type(),
     1199         * Border
     1200        */
     1201    $this->add_group_control(
     1202      Group_Control_Border::get_type(),
    12111203      [
    12121204          'name'      => 'uta_button_hover_item8_border',
     
    12491241    );
    12501242    /*
    1251          * Border 
    1252         */
    1253     $this->add_group_control(
    1254       \Elementor\Group_Control_Border::get_type(),
     1243         * Border
     1244        */
     1245    $this->add_group_control(
     1246      Group_Control_Border::get_type(),
    12551247      [
    12561248          'name'      => 'uta_button_item9_hover_border',
     
    12711263
    12721264   protected function render( $instance = [] ) {
    1273  
     1265
    12741266      // get our input from the widget settings.
    1275        
     1267
    12761268      $settings = $this->get_settings_for_display();
    12771269
     
    13401332      ?>
    13411333      </div>
    1342        
     1334
    13431335
    13441336      <?php
    13451337   }
    1346  
     1338
    13471339}
    13481340
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/Uta_Client_Logo.php

    r2715336 r3220786  
    1515     * @return string
    1616     */
    17     public function get_name() {
     17    public function get_name(): string
     18    {
    1819        return 'uta-company-logo';
    1920    }
     
    2324     * @return string
    2425     */
    25     public function get_title() {
     26    public function get_title(): string
     27    {
    2628        return esc_html__( 'UTA Company Logo', 'unlimited-theme-addons' );
    2729    }
     
    3133     * @return string
    3234     */
    33     public function get_icon() {
     35    public function get_icon(): string
     36    {
    3437        return 'eicon-logo';
    3538    }
     
    3740    /**
    3841     * Widget CSS.
    39      * 
     42     *
    4043     * @return string
    4144     */
    4245    // public function get_style_depends() {
    4346    //     $styles = ['slick-theme', 'slick', 'uta-company-logo'];
    44      
     47
    4548    //     return $styles;
    4649    // }
    47      
     50
    4851    /**
    4952     * Widget script.
    50      * 
    51      * @return string
    52     */
    53     public function get_script_depends() {
    54         $scripts = [ 'uta-slick', 'uta-main' ];
    55         return $scripts;
     53     *
     54     * @return string[]
     55     */
     56    public function get_script_depends(): array
     57    {
     58        return [ 'uta-slick', 'uta-main' ];
    5659    }
    5760
     
    6063     * @return array|string[]
    6164     */
    62     public function get_keywords() {
     65    public function get_keywords(): array
     66    {
    6367        return [
    6468            'uta company logo',
     
    7781     * @return array|string[]
    7882     */
    79     public function get_categories() {
     83    public function get_categories(): array
     84    {
    8085        return [ 'uta-elements' ];
    8186    }
     
    331336        );
    332337        /*
    333          * Padding 
     338         * Padding
    334339        */
    335340        $this->add_control(
     
    345350        );
    346351        /*
    347          * Margin 
     352         * Margin
    348353        */
    349354        $this->add_control(
     
    359364        );
    360365        /*
    361          * Border 
     366         * Border
    362367        */
    363368        $this->add_group_control(
     
    498503             // Normal Image.
    499504            $uta_company_logo_url = ! empty($logo['uta_company_logo_website_link']['url']) ? $logo['uta_company_logo_website_link']['url'] : '';
    500             $uta_company_logo_alt = \Elementor\Control_Media::get_image_alt($logo['uta_company_logo_image_normal']);
     505            $uta_company_logo_alt = Control_Media::get_image_alt($logo['uta_company_logo_image_normal']);
    501506
    502507            // Hover Image.
    503508            $uta_company_logo_hover_img = ! empty($logo['uta_company_logo_image_hover']['url']) ? $logo['uta_company_logo_image_hover']['url'] : '';
    504             $uta_company_logo_hover_alt = \Elementor\Control_Media::get_image_alt($logo['uta_company_logo_image_hover']);
     509            $uta_company_logo_hover_alt = Control_Media::get_image_alt($logo['uta_company_logo_image_hover']);
    505510
    506511            $uta_company_logo_url_is_external = ! empty($logo['uta_company_logo_website_link']['is_external']) && 'on' === $logo['uta_company_logo_website_link']['is_external'] ? '_blank' : '';
    507512
    508              // Company logo style default.
    509             if ( 'style-default' === $settings['uta_company_logo_style'] ) {
    510                 require (__DIR__) . '/template/style-default.php';
    511             }
    512 
    513             // Company logo style 1.
    514             if ( 'style-1' === $settings['uta_company_logo_style'] ) {
    515                 require (__DIR__) . '/template/style-1.php';
    516             }
    517 
    518             // Company logo style 2.
    519             if ( 'style-2' === $settings['uta_company_logo_style'] ) {
    520                 require (__DIR__) . '/template/style-2.php';
    521             }
    522 
    523             // Company logo style 3.
    524             if ( 'style-3' === $settings['uta_company_logo_style'] ) {
    525                 require (__DIR__) . '/template/style-3.php';
    526             }
    527 
    528             // Company logo style 4.
    529             if ( 'style-4' === $settings['uta_company_logo_style'] ) {
    530                 require (__DIR__) . '/template/style-4.php';
    531             }
    532 
    533             // Company logo style 5.
    534             if ( 'style-5' === $settings['uta_company_logo_style'] ) {
    535                 require (__DIR__) . '/template/style-5.php';
    536             }
    537 
    538             // Company logo style 6.
    539             if ( 'style-6' === $settings['uta_company_logo_style'] ) {
    540                 require (__DIR__) . '/template/style-6.php';
    541             }
    542 
    543             // Company logo style 7.
    544             if ( 'style-7' === $settings['uta_company_logo_style'] ) {
    545                 require (__DIR__) . '/template/style-7.php';
    546             }
    547 
    548             // Company logo style 8.
    549             if ( 'style-8' === $settings['uta_company_logo_style'] ) {
    550                 require (__DIR__) . '/template/style-8.php';
    551             }
    552 
    553 
    554             // Company logo style 9.
    555             if ( 'style-9' === $settings['uta_company_logo_style'] ) {
    556                 require (__DIR__) . '/template/style-9.php';
    557             }
    558 
    559             // Company logo style 10.
    560             if ( 'style-10' === $settings['uta_company_logo_style'] ) {
    561                 require (__DIR__) . '/template/style-10.php';
    562             }
     513                // Check if the style setting exists and matches the expected format.
     514                $style = $settings['uta_company_logo_style'] ?? '';
     515                $file_path = __DIR__ . '/template/' . $style . '.php';
     516
     517                if (preg_match('/^style-(default|\d+)$/', $style) && file_exists($file_path)) {
     518                    require $file_path;
     519                } else {
     520                    // Optionally handle invalid or missing styles here.
     521                    // For example, load a default template or log an error.
     522                    require __DIR__ . '/template/style-default.php';
     523                }
    563524
    564525            endforeach;  ?>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-1.php

    r2696843 r3220786  
    11<div class="uta-company-logo-item-single">
    2     <a href="<?php echo esc_url_raw($uta_company_logo_url);?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
    3         <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt); ?>">
     2    <a href="<?php echo esc_url_raw($uta_company_logo_url); ?>" target="<?php echo esc_attr($uta_company_logo_url_is_external); ?>">
     3        <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     4            <?php
     5                // Display the logo using wp_get_attachment_image
     6                echo wp_get_attachment_image(
     7                    $logo['uta_company_logo_image_normal']['id'], // Image ID
     8                    'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     9                    false, // No need for the 'icon' argument
     10                    [
     11                        'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     12                    ]
     13                );
     14            ?>
     15        <?php endif; ?>
    416    </a>
    517</div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-10.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <a href="<?php echo esc_url_raw($uta_company_logo_url);?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
    4             <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
    5         </a>
     3        <a href="<?php echo esc_url_raw($uta_company_logo_url); ?>" target="<?php echo esc_attr($uta_company_logo_url_is_external); ?>">
     4            <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     5                <?php
     6                    // Use wp_get_attachment_image() to display the image
     7                    echo wp_get_attachment_image(
     8                        $logo['uta_company_logo_image_normal']['id'], // Image ID
     9                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     10                        false, // No need for the 'icon' argument
     11                        [
     12                            'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     13                        ]
     14                    );
     15                ?>
     16            <?php endif; ?>
     17        </a>
    618    </div>
    719</div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-2.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
     3        <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     4            <?php
     5                // Display the normal logo using wp_get_attachment_image
     6                echo wp_get_attachment_image(
     7                    $logo['uta_company_logo_image_normal']['id'], // Image ID
     8                    'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     9                    false, // No need for the 'icon' argument
     10                    [
     11                        'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     12                    ]
     13                );
     14            ?>
     15        <?php endif; ?>
     16
    417        <a class="uta-partner-overly" href="<?php echo esc_url_raw($uta_company_logo_url);?>">
    5             <img src="<?php echo esc_url($logo['uta_company_logo_image_hover']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_hover_alt);?>">
     18            <?php if ( ! empty( $logo['uta_company_logo_image_hover']['id'] ) ) : ?>
     19                <?php
     20                    // Display the hover logo using wp_get_attachment_image
     21                    echo wp_get_attachment_image(
     22                        $logo['uta_company_logo_image_hover']['id'], // Image ID
     23                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     24                        false, // No need for the 'icon' argument
     25                        [
     26                            'alt' => esc_attr($uta_company_logo_hover_alt), // Alt text for the hover image
     27                        ]
     28                    );
     29                ?>
     30            <?php endif; ?>
    631        </a>
    732    </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-3.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <a href="<?php echo esc_url_raw($uta_company_logo_url);?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
    4         <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
    5     </a>
     3        <a href="<?php echo esc_url_raw($uta_company_logo_url); ?>" target="<?php echo esc_attr($uta_company_logo_url_is_external); ?>">
     4            <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     5                <?php
     6                    // Use wp_get_attachment_image() to properly enqueue the image
     7                    echo wp_get_attachment_image(
     8                        $logo['uta_company_logo_image_normal']['id'], // Image ID
     9                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     10                        false, // No need for the 'icon' argument
     11                        [
     12                            'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     13                        ]
     14                    );
     15                ?>
     16            <?php endif; ?>
     17        </a>
    618    </div>
    719</div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-4.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <a href="<?php echo esc_url_raw($uta_company_logo_url);?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
    4             <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
    5         </a>
     3        <a href="<?php echo esc_url_raw($uta_company_logo_url); ?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
     4            <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     5                <?php
     6                    // Use wp_get_attachment_image() to properly enqueue the image
     7                    echo wp_get_attachment_image(
     8                        $logo['uta_company_logo_image_normal']['id'], // Image ID
     9                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     10                        false, // No need for the 'icon' argument
     11                        [
     12                            'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     13                        ]
     14                    );
     15                ?>
     16            <?php endif; ?>
     17        </a>
    618    </div>
    719</div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-5.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <a href="<?php echo esc_url_raw($uta_company_logo_url);?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
    4             <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
    5         </a>
     3        <a href="<?php echo esc_url_raw($uta_company_logo_url); ?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
     4            <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     5                <?php
     6                    // Use wp_get_attachment_image() for the normal image
     7                    echo wp_get_attachment_image(
     8                        $logo['uta_company_logo_image_normal']['id'], // Image ID
     9                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     10                        false, // No need for the 'icon' argument
     11                        [
     12                            'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     13                        ]
     14                    );
     15                ?>
     16            <?php endif; ?>
     17        </a>
    618    </div>
    719</div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-6.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
     3        <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     4            <?php
     5                // Use wp_get_attachment_image() for the normal image
     6                echo wp_get_attachment_image(
     7                    $logo['uta_company_logo_image_normal']['id'], // Image ID
     8                    'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     9                    false, // No need for the 'icon' argument
     10                    [
     11                        'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     12                    ]
     13                );
     14            ?>
     15        <?php endif; ?>
     16
    417        <div class="overly">
    518            <div class="overly-full">
    6                 <h2><a href="<?php echo esc_url_raw($uta_company_logo_url);?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>"><?php echo esc_html($logo['uta_company_logo_list_title']);?></a></h2>
     19                <h2>
     20                    <a href="<?php echo esc_url_raw($uta_company_logo_url);?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
     21                        <?php echo esc_html($logo['uta_company_logo_list_title']);?>
     22                    </a>
     23                </h2>
    724            </div>
    825        </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-7.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
     3        <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     4            <?php
     5                // Use wp_get_attachment_image() for the normal image
     6                echo wp_get_attachment_image(
     7                    $logo['uta_company_logo_image_normal']['id'], // Image ID
     8                    'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     9                    false, // No need for the 'icon' argument
     10                    [
     11                        'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     12                    ]
     13                );
     14            ?>
     15        <?php endif; ?>
     16
    417        <a class="uta-partner-overly" href="<?php echo esc_url_raw($uta_company_logo_url);?>">
    5             <img src="<?php echo esc_url($logo['uta_company_logo_image_hover']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_hover_alt);?>">
     18            <?php if ( ! empty( $logo['uta_company_logo_image_hover']['id'] ) ) : ?>
     19                <?php
     20                    // Use wp_get_attachment_image() for the hover image
     21                    echo wp_get_attachment_image(
     22                        $logo['uta_company_logo_image_hover']['id'], // Image ID
     23                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     24                        false, // No need for the 'icon' argument
     25                        [
     26                            'alt' => esc_attr($uta_company_logo_hover_alt), // Alt text for the image
     27                        ]
     28                    );
     29                ?>
     30            <?php endif; ?>
    631        </a>
    732    </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-8.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
     3        <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     4            <?php
     5                // Use wp_get_attachment_image() for the normal image
     6                echo wp_get_attachment_image(
     7                    $logo['uta_company_logo_image_normal']['id'], // Image ID
     8                    'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     9                    false, // No need for the 'icon' argument
     10                    [
     11                        'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     12                    ]
     13                );
     14            ?>
     15        <?php endif; ?>
     16
    417        <a class="uta-partner-overly" href="<?php echo esc_url_raw($uta_company_logo_url);?>">
    5             <img src="<?php echo esc_url($logo['uta_company_logo_image_hover']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_hover_alt);?>">
     18            <?php if ( ! empty( $logo['uta_company_logo_image_hover']['id'] ) ) : ?>
     19                <?php
     20                    // Use wp_get_attachment_image() for the hover image
     21                    echo wp_get_attachment_image(
     22                        $logo['uta_company_logo_image_hover']['id'], // Image ID
     23                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     24                        false, // No need for the 'icon' argument
     25                        [
     26                            'alt' => esc_attr($uta_company_logo_hover_alt), // Alt text for the image
     27                        ]
     28                    );
     29                ?>
     30            <?php endif; ?>
    631        </a>
    732    </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-9.php

    r2696843 r3220786  
    11<div class="uta-company-logo-single">
    22    <div class="uta-company-logo-single-full">
    3         <a href="<?php echo esc_url_raw($uta_company_logo_url);?>" target="<?php esc_attr($uta_company_logo_url_is_external); ?>">
    4             <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt);?>">
     3        <a href="<?php echo esc_url_raw($uta_company_logo_url); ?>" target="<?php echo esc_attr($uta_company_logo_url_is_external); ?>">
     4            <?php if ( ! empty( $logo['uta_company_logo_image_normal']['id'] ) ) : ?>
     5                <?php
     6                    // Use wp_get_attachment_image() to display the image
     7                    echo wp_get_attachment_image(
     8                        $logo['uta_company_logo_image_normal']['id'], // Image ID
     9                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     10                        false, // No need for the 'icon' argument
     11                        [
     12                            'alt' => esc_attr($uta_company_logo_alt), // Alt text for the image
     13                        ]
     14                    );
     15                ?>
     16            <?php endif; ?>
    517        </a>
    618    </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/client-logo/template/style-default.php

    r2696843 r3220786  
    11<div class="uta-company-logo-item-single">
    2     <a href="<?php echo esc_url_raw($uta_company_logo_url); ?>" target="<?php echo esc_attr( $uta_company_logo_url_is_external );?>">
    3         <img src="<?php echo esc_url($logo['uta_company_logo_image_normal']['url']); ?>" alt="<?php echo esc_attr($uta_company_logo_alt); ?>">
     2    <a href="<?php echo esc_url_raw($uta_company_logo_url); ?>" target="<?php echo esc_attr($uta_company_logo_url_is_external); ?>">
     3        <?php
     4            // Get the attachment ID for the logo image
     5            $attachment_id = attachment_url_to_postid($logo['uta_company_logo_image_normal']['url']);
     6
     7            // Use wp_get_attachment_image() to output the image
     8            echo wp_get_attachment_image($attachment_id, 'full', false, array(
     9                'alt' => esc_attr($uta_company_logo_alt),
     10            ));
     11        ?>
    412    </a>
    513</div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/counterup/Uta_counterup.php

    r2715336 r3220786  
    22
    33namespace Elementor;
    4 
    5 use \Elementor\Core\Schemes\Typography;
    64
    75if ( ! defined('ABSPATH')) exit; // Exit if accessed directly
     
    1816     * @return string
    1917     */
    20     public function get_name() {
     18    public function get_name(): string
     19    {
    2120        return 'uta-counter-up';
    2221    }
     
    2625     * @return string
    2726     */
    28     public function get_title() {
     27    public function get_title(): string
     28    {
    2929        return esc_html__('UTA Counter Up', 'unlimited-theme-addons');
    3030    }
     
    3434     * @return string
    3535     */
    36     public function get_icon() {
     36    public function get_icon(): string
     37    {
    3738        return 'eicon-logo';
    3839    }
     
    4041    /**
    4142     * Widget CSS.
    42      * 
     43     *
    4344     * @return string
    4445     */
     
    5253    /**
    5354     * Widget script.
    54      * 
    55      * @return string
     55     *
     56     * @return string[]
    5657     */
    5758    public function get_script_depends() {
    58         $scripts = [ 'uta-jquery-appear', 'uta-odometer', 'uta-main' ];
    59 
    60         return $scripts;
     59        return [ 'uta-jquery-appear', 'uta-odometer', 'uta-main' ];
    6160    }
    6261
     
    6665     * @return array|string[]
    6766     */
    68     public function get_keywords() {
     67    public function get_keywords(): array
     68    {
    6969        return [
    7070            'uta counter up',
     
    8383     * @return array|string[]
    8484     */
    85     public function get_categories() {
     85    public function get_categories(): array
     86    {
    8687        return [ 'uta-elements' ];
    8788    }
     
    9495     * @return string support URL.
    9596     */
    96     public function get_custom_help_url() {
     97    public function get_custom_help_url(): string
     98    {
    9799        return 'https://codepopular.com/contact/';
    98100    }
     
    121123            [
    122124                'label'   => esc_html__('Countr Up Style', 'unlimited-theme-addons'),
    123                 'type'    => \Elementor\Controls_Manager::SELECT,
     125                'type'    => Controls_Manager::SELECT,
    124126                'options' => [
    125127                    'style-default' => esc_html__('Default', 'unlimited-theme-addons'),
     
    187189            [
    188190                'label'        => __('Icon', 'unlimited-theme-addons'),
    189                 'type'         => \Elementor\Controls_Manager::SWITCHER,
     191                'type'         => Controls_Manager::SWITCHER,
    190192                'label_on'     => __('Yes', 'unlimited-theme-addons'),
    191193                'label_off'    => __('No', 'unlimited-theme-addons'),
     
    220222
    221223        /*
    222          * Padding 
     224         * Padding
    223225        */
    224226        $this->add_responsive_control(
     
    226228            [
    227229                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    228                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     230                'type'       => Controls_Manager::DIMENSIONS,
    229231                'size_units' => [ 'px', '%', 'em' ],
    230232                'selectors'  => [
     
    234236        );
    235237        /*
    236          * Margin 
     238         * Margin
    237239        */
    238240        $this->add_responsive_control(
     
    240242            [
    241243                'label'      => esc_html__('Margin', 'unlimited-theme-addons'),
    242                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     244                'type'       => Controls_Manager::DIMENSIONS,
    243245                'size_units' => [ 'px', '%', 'em' ],
    244246                'selectors'  => [
     
    262264
    263265        /*
    264          * Border 
     266         * Border
    265267        */
    266268        $this->add_group_control(
     
    291293            [
    292294                'label'      => esc_html__('Border Radius', 'unlimited-theme-addons'),
    293                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     295                'type'       => Controls_Manager::DIMENSIONS,
    294296                'size_units' => [ 'px', '%', 'em' ],
    295297                'selectors'  => [
     
    365367        );
    366368        /*
    367          * Margin 
     369         * Margin
    368370        */
    369371        $this->add_responsive_control(
     
    371373            [
    372374                'label'      => esc_html__('Margin', 'unlimited-theme-addons'),
    373                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     375                'type'       => Controls_Manager::DIMENSIONS,
    374376                'size_units' => [ 'px', '%', 'em' ],
    375377                'selectors'  => [
     
    393395                'name'     => 'counterup_title_typography',
    394396                'label'    => __('Typography', 'unlimited-theme-addons'),
    395                 'scheme'   => Typography::TYPOGRAPHY_2,
    396397                'selector' => '{{WRAPPER}} .uta-counter-item h2',
    397398            ]
    398399        );
    399400        /*
    400          * Margin 
     401         * Margin
    401402        */
    402403        $this->add_responsive_control(
     
    404405            [
    405406                'label'      => esc_html__('Margin', 'unlimited-theme-addons'),
    406                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     407                'type'       => Controls_Manager::DIMENSIONS,
    407408                'size_units' => [ 'px', '%', 'em' ],
    408409                'selectors'  => [
     
    437438                'name'     => 'counterup_cont_typography',
    438439                'label'    => __('Typography', 'unlimited-theme-addons'),
    439                 'scheme'   => Typography::TYPOGRAPHY_2,
    440440                'selector' => '{{WRAPPER}} .uta-counter-item p',
    441441            ]
    442442        );
    443443        /*
    444          * Margin 
     444         * Margin
    445445        */
    446446        $this->add_responsive_control(
     
    448448            [
    449449                'label'      => esc_html__('Margin', 'unlimited-theme-addons'),
    450                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     450                'type'       => Controls_Manager::DIMENSIONS,
    451451                'size_units' => [ 'px', '%', 'em' ],
    452452                'selectors'  => [
  • unlimited-theme-addons/trunk/inc/elementor/widgets/infobox/Uta_Infobox.php

    r2715336 r3220786  
    2121    /**
    2222     * Widget CSS.
    23      * 
     23     *
    2424     * @return string
    2525     */
     
    3333    /**
    3434     * Widget script.
    35      * 
     35     *
    3636     * @return string
    3737     */
     
    146146        );
    147147        /*
    148          * Padding 
     148         * Padding
    149149        */
    150150        $this->add_responsive_control(
     
    162162        );
    163163        /*
    164          * Margin 
     164         * Margin
    165165        */
    166166        $this->add_responsive_control(
     
    178178        );
    179179        /*
    180          * Border 
     180         * Border
    181181        */
    182182        $this->add_group_control(
     
    185185                'name'     => 'uta_info_item_border',
    186186                'label'    => esc_html__('Border', 'unlimited-theme-addons'),
    187                 'selector' => 
     187                'selector' =>
    188188                    '{{WRAPPER}} .uta-infobox-item,
    189189                     {{WRAPPER}} .uta-infobox-item.style-04,
     
    215215                'name'     => 'uta_info_box_shadow',
    216216                'label'    => __('Box Shadow', 'unlimited-theme-addons'),
    217                 'selector' => 
     217                'selector' =>
    218218                    '{{WRAPPER}} .uta-infobox-item,
    219219                    {{WRAPPER}} .uta-infobox-item.style-04,
     
    260260        );
    261261        /*
    262          * Padding 
     262         * Padding
    263263        */
    264264        $this->add_responsive_control(
     
    410410        );
    411411        /*
    412          * Padding 
     412         * Padding
    413413        */
    414414        $this->add_responsive_control(
     
    440440                'name'     => 'info_title_typography',
    441441                'label'    => __('Typography', 'unlimited-theme-addons'),
    442                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    443                 'selector' =>
     442                'selector' =>
    444443                    '{{WRAPPER}} .uta-infobox-item h4,
    445444                    {{WRAPPER}} .uta-infobox-item.style-01 .content h4,
     
    513512        );
    514513        /*
    515          * Padding 
     514         * Padding
    516515        */
    517516        $this->add_responsive_control(
     
    543542                'name'     => 'info_content_typography',
    544543                'label'    => __('Typography', 'unlimited-theme-addons'),
    545                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    546                 'selector' =>
     544                'selector' =>
    547545                    '{{WRAPPER}} .uta-infobox-item p,
    548546                    {{WRAPPER}} .uta-infobox-item.style-01 .content p,
  • unlimited-theme-addons/trunk/inc/elementor/widgets/pricing/Uta_Pricing.php

    r2715336 r3220786  
    2323    /**
    2424     * Widget CSS.
    25      * 
     25     *
    2626     * @return string
    2727     */
     
    3535    /**
    3636     * Widget script.
    37      * 
     37     *
    3838     * @return string
    3939     */
     
    7676            [
    7777                'label'   => esc_html__('Pricing Style', 'unlimited-theme-addons'),
    78                 'type'    => \Elementor\Controls_Manager::SELECT,
     78                'type'    => Controls_Manager::SELECT,
    7979                'options' => [
    8080                    'style-default' => esc_html__('Default', 'unlimited-theme-addons'),
     
    9191            [
    9292                'label'   => __('Title', 'unlimited-theme-addons'),
    93                 'type'    => \Elementor\Controls_Manager::TEXT,
     93                'type'    => Controls_Manager::TEXT,
    9494                'default' => 'Standard Plan',
    9595            ]
     
    100100            [
    101101                'label'   => __('Price', 'unlimited-theme-addons'),
    102                 'type'    => \Elementor\Controls_Manager::TEXT,
     102                'type'    => Controls_Manager::TEXT,
    103103                'default' => '70',
    104104            ]
     
    109109            [
    110110                'label'   => __('Currency', 'unlimited-theme-addons'),
    111                 'type'    => \Elementor\Controls_Manager::TEXT,
     111                'type'    => Controls_Manager::TEXT,
    112112                'default' => __('$', 'unlimited-theme-addons'),
    113113            ]
     
    118118            [
    119119                'label'   => __('Package', 'unlimited-theme-addons'),
    120                 'type'    => \Elementor\Controls_Manager::SELECT,
     120                'type'    => Controls_Manager::SELECT,
    121121                'default' => 'Yealry',
    122122                'options' => [
     
    136136            [
    137137                'label'   => __('Feature', 'unlimited-theme-addons'),
    138                 'type'    => \Elementor\Controls_Manager::TEXTAREA,
     138                'type'    => Controls_Manager::TEXTAREA,
    139139                'default' => __('10 Free Domain Names', 'unlimited-theme-addons'),
    140140            ]
     
    145145            [
    146146                'label'       => __('Feature List', 'unlimited-theme-addons'),
    147                 'type'        => \Elementor\Controls_Manager::REPEATER,
     147                'type'        => Controls_Manager::REPEATER,
    148148                'fields'      => $feature->get_controls(),
    149149                'default'     => [
     
    172172            [
    173173                'label'   => __('button text', 'unlimited-theme-addons'),
    174                 'type'    => \Elementor\Controls_Manager::TEXT,
     174                'type'    => Controls_Manager::TEXT,
    175175                'default' => 'Select Plan',
    176176            ]
     
    181181            [
    182182                'label'   => __('button URL', 'unlimited-theme-addons'),
    183                 'type'    => \Elementor\Controls_Manager::TEXT,
     183                'type'    => Controls_Manager::TEXT,
    184184                'default' => '#',
    185185            ]
     
    190190            [
    191191                'label'        => __('Active Table', 'unlimited-theme-addons'),
    192                 'type'         => \Elementor\Controls_Manager::SWITCHER,
     192                'type'         => Controls_Manager::SWITCHER,
    193193                'label_on'     => __('On', 'unlimited-theme-addons'),
    194194                'label_off'    => __('Off', 'unlimited-theme-addons'),
     
    202202            [
    203203                'label'   => __('Active Title', 'unlimited-theme-addons'),
    204                 'type'    => \Elementor\Controls_Manager::TEXT,
     204                'type'    => Controls_Manager::TEXT,
    205205                'default' => 'Popular',
    206206            ]
     
    219219        );
    220220        /*
    221          * Padding 
     221         * Padding
    222222        */
    223223        $this->add_responsive_control(
     
    225225            [
    226226                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    227                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     227                'type'       => Controls_Manager::DIMENSIONS,
    228228                'size_units' => [ 'px', '%', 'em' ],
    229229                'selectors'  => [
     
    233233        );
    234234        /*
    235          * Margin 
     235         * Margin
    236236        */
    237237        $this->add_responsive_control(
     
    239239            [
    240240                'label'      => esc_html__('Margin', 'unlimited-theme-addons'),
    241                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     241                'type'       => Controls_Manager::DIMENSIONS,
    242242                'size_units' => [ 'px', '%', 'em' ],
    243243                'selectors'  => [
     
    247247        );
    248248        /*
    249          * Border 
     249         * Border
    250250        */
    251251        $this->add_group_control(
     
    264264            [
    265265                'label'      => esc_html__('Border Radius', 'unlimited-theme-addons'),
    266                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     266                'type'       => Controls_Manager::DIMENSIONS,
    267267                'size_units' => [ 'px', '%', 'em' ],
    268268                'selectors'  => [
     
    305305        );
    306306        /*
    307          * Padding 
     307         * Padding
    308308        */
    309309        $this->add_responsive_control(
     
    311311            [
    312312                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    313                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     313                'type'       => Controls_Manager::DIMENSIONS,
    314314                'size_units' => [ 'px', '%', 'em' ],
    315315                'selectors'  => [
     
    319319        );
    320320        /*
    321          * Margin 
     321         * Margin
    322322        */
    323323        $this->add_responsive_control(
     
    325325            [
    326326                'label'      => esc_html__('Margin', 'unlimited-theme-addons'),
    327                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     327                'type'       => Controls_Manager::DIMENSIONS,
    328328                'size_units' => [ 'px', '%', 'em' ],
    329329                'selectors'  => [
     
    337337                'name'     => 'title_typography',
    338338                'label'    => __('Typography', 'unlimited-theme-addons'),
    339                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    340339                'selector' => '{{WRAPPER}} .uta-pricing-table h6, .uta-pricing-item h4, .uta-pricing-item.pricing-item-4 h5, .uta-pricing-item.pricing-item-5 .pricing-single-head h4',
    341340            ]
     
    376375        );
    377376        /*
    378          * Padding 
     377         * Padding
    379378        */
    380379        $this->add_responsive_control(
     
    382381            [
    383382                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    384                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     383                'type'       => Controls_Manager::DIMENSIONS,
    385384                'size_units' => [ 'px', '%', 'em' ],
    386385                'selectors'  => [
     
    394393                'name'     => 'price_typography',
    395394                'label'    => __('Typography', 'unlimited-theme-addons'),
    396                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    397395                'selector' => '{{WRAPPER}} .uta-pricing-table .uta-price, .uta-pricing-item h2, .uta-pricing-item.pricing-item-4 h2, .uta-pricing-item.pricing-item-5 .pricing-single-head h2',
    398396            ]
     
    421419        );
    422420        /*
    423          * Padding 
     421         * Padding
    424422        */
    425423        $this->add_responsive_control(
     
    427425            [
    428426                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    429                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     427                'type'       => Controls_Manager::DIMENSIONS,
    430428                'size_units' => [ 'px', '%', 'em' ],
    431429                'selectors'  => [
     
    439437                'name'     => 'currency_typography',
    440438                'label'    => __('Typography', 'unlimited-theme-addons'),
    441                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    442439                'selector' => '{{WRAPPER}} .uta-pricing-table .uta-currency, .uta-pricing-item h2 sup',
    443440            ]
     
    466463        );
    467464        /*
    468          * Padding 
     465         * Padding
    469466        */
    470467        $this->add_responsive_control(
     
    472469            [
    473470                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    474                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     471                'type'       => Controls_Manager::DIMENSIONS,
    475472                'size_units' => [ 'px', '%', 'em' ],
    476473                'selectors'  => [
     
    484481                'name'     => 'package_typography',
    485482                'label'    => __('Typography', 'unlimited-theme-addons'),
    486                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    487483                'selector' => '{{WRAPPER}} .uta-pricing-table>span, .uta-pricing-item.pricing-item-1 small, .uta-pricing-item.pricing-item-2 small, .uta-pricing-item.pricing-item-3 small, .uta-pricing-item.pricing-item-4 h2 small, .uta-pricing-item.pricing-item-5 .pricing-single-head h2 span',
    488484            ]
     
    510506        );
    511507        /*
    512          * Padding 
     508         * Padding
    513509        */
    514510        $this->add_responsive_control(
     
    516512            [
    517513                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    518                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     514                'type'       => Controls_Manager::DIMENSIONS,
    519515                'size_units' => [ 'px', '%', 'em' ],
    520516                'selectors'  => [
     
    524520        );
    525521        /*
    526          * Margin 
     522         * Margin
    527523        */
    528524        $this->add_responsive_control(
     
    530526            [
    531527                'label'      => esc_html__('Margin', 'unlimited-theme-addons'),
    532                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     528                'type'       => Controls_Manager::DIMENSIONS,
    533529                'size_units' => [ 'px', '%', 'em' ],
    534530                'selectors'  => [
     
    542538                'name'     => 'uta_pricing_badge_typography',
    543539                'label'    => __('Typography', 'unlimited-theme-addons'),
    544                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    545540                'selector' => '{{WRAPPER}} .uta-pricing-badge',
    546541            ]
     
    567562        );
    568563        /*
    569          * Border 
     564         * Border
    570565        */
    571566        $this->add_group_control(
     
    584579            [
    585580                'label'      => esc_html__('Border Radius', 'unlimited-theme-addons'),
    586                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     581                'type'       => Controls_Manager::DIMENSIONS,
    587582                'size_units' => [ 'px', '%', 'em' ],
    588583                'selectors'  => [
     
    616611        );
    617612        /*
    618          * Padding 
     613         * Padding
    619614        */
    620615        $this->add_responsive_control(
     
    622617            [
    623618                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    624                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     619                'type'       => Controls_Manager::DIMENSIONS,
    625620                'size_units' => [ 'px', '%', 'em' ],
    626621                'selectors'  => [
     
    634629                'name'     => 'Feature_list_typography',
    635630                'label'    => __('Typography', 'unlimited-theme-addons'),
    636                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    637631                'selector' => '{{WRAPPER}} .uta-pricing-table ul li, .uta-pricing-item ul li, .uta-pricing-item.pricing-item-5 .pricing-single-content ul li, .uta-pricing-item.pricing-item-4 ul li',
    638632            ]
     
    685679
    686680        /*
    687          * Padding 
     681         * Padding
    688682        */
    689683        $this->add_responsive_control(
     
    691685            [
    692686                'label'      => esc_html__('Padding', 'unlimited-theme-addons'),
    693                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     687                'type'       => Controls_Manager::DIMENSIONS,
    694688                'size_units' => [ 'px', '%', 'em' ],
    695689                'selectors'  => [
     
    700694
    701695        /*
    702          * Margins 
     696         * Margins
    703697        */
    704698        $this->add_responsive_control(
     
    706700            [
    707701                'label'      => esc_html__('Margin', 'unlimited-theme-addons'),
    708                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     702                'type'       => Controls_Manager::DIMENSIONS,
    709703                'size_units' => [ 'px', '%', 'em' ],
    710704                'selectors'  => [
     
    722716                'name'     => 'button_typography',
    723717                'label'    => __('Typography', 'unlimited-theme-addons'),
    724                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    725718                'selector' => '{{WRAPPER}} .pricing-btn a',
    726719            ]
     
    758751
    759752        /*
    760          * Pricing button Border 
     753         * Pricing button Border
    761754        */
    762755
     
    778771            [
    779772                'label'      => esc_html__('Border Radius', 'unlimited-theme-addons'),
    780                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     773                'type'       => Controls_Manager::DIMENSIONS,
    781774                'size_units' => [ 'px', '%', 'em' ],
    782775                'selectors'  => [
     
    829822
    830823        /*
    831          * Pricing button hover Border 
     824         * Pricing button hover Border
    832825        */
    833826        $this->add_group_control(
     
    846839            [
    847840                'label'      => esc_html__('Border Radius', 'unlimited-theme-addons'),
    848                 'type'       => \Elementor\Controls_Manager::DIMENSIONS,
     841                'type'       => Controls_Manager::DIMENSIONS,
    849842                'size_units' => [ 'px', '%', 'em' ],
    850843                'selectors'  => [
  • unlimited-theme-addons/trunk/inc/elementor/widgets/team/Uta_Team.php

    r2924300 r3220786  
    1313    /**
    1414     * Widget Name.
    15      * 
     15     *
    1616     * @access public
    1717     *
    1818     * @return string
    1919     */
    20     public function get_name() {
     20    public function get_name(): string
     21    {
    2122        return 'uta-team';
    2223    }
     
    2425    /**
    2526     * Get Widget Title
    26      * 
     27     *
    2728     * @access public
    2829     *
    2930     * @return string
    3031     */
    31     public function get_title() {
     32    public function get_title(): string
     33    {
    3234        return esc_html__('UTA Team', 'unlimited-theme-addons');
    3335    }
     
    3537    /**
    3638     * Get Widget Icon
    37      * 
     39     *
    3840     * @access public
    3941     *
    40      * @return void
     42     * @return string
    4143     */
    42     public function get_icon() {
     44    public function get_icon(): string
     45    {
    4346        return 'eicon-person';
    4447    }
     
    4649    /**
    4750     * Widget script.
    48      * 
     51     *
    4952     * @access public
    50      * 
     53     *
    5154     * @return string
    5255     */
     
    6063    /**
    6164     * Get Widget Search Keyword.
    62      * 
     65     *
    6366     * @access public
    6467     *
    65      * @return void
     68     * @return string[]
    6669     */
    67     public function get_keywords() {
     70    public function get_keywords(): array
     71    {
    6872        return [
    6973            'team',
     
    8084    /**
    8185     * Widget Category.
    82      * 
     86     *
    8387     * @access public
    8488     *
    85      * @return void
     89     * @return string[]
    8690     */
    87     public function get_categories() {
     91    public function get_categories(): array
     92    {
    8893        return [ 'uta-elements' ];
    8994    }
     
    97102     * @return string support URL.
    98103     */
    99     public function get_custom_help_url() {
     104    public function get_custom_help_url(): string
     105    {
    100106        return 'https://codepopular.com/contact/';
    101107    }
     
    104110    /**
    105111     * Register Widget Controls.
    106      * 
     112     *
    107113     * @access protected
    108114     *
     
    129135    /**
    130136     * Register Team Controls.
    131      * 
     137     *
    132138     * @access protected
    133139     *
     
    365371    /**
    366372     * Widget Team Style
    367      * 
     373     *
    368374     * @access protected
    369375     *
     
    381387        );
    382388
    383         // Team Style Padding 
     389        // Team Style Padding
    384390
    385391        $this->add_responsive_control(
     
    406412        );
    407413
    408         // Team Style Margin 
     414        // Team Style Margin
    409415
    410416        $this->add_responsive_control(
     
    480486
    481487
    482         // Animate Border 
     488        // Animate Border
    483489
    484490        $this->add_control(
     
    497503
    498504
    499         // Animate Border Height 
     505        // Animate Border Height
    500506
    501507        $this->add_control(
     
    515521
    516522
    517         // Tab 
     523        // Tab
    518524
    519525        $this->start_controls_tabs(
     
    530536        );
    531537
    532         // Team Style Background 
     538        // Team Style Background
    533539
    534540        $this->add_control(
     
    593599        );
    594600
    595         // Team Hover Background 
     601        // Team Hover Background
    596602
    597603        $this->add_control(
     
    647653    /**
    648654     * Team Content Style
    649      * 
     655     *
    650656     * @access protected
    651657     *
     
    666672        );
    667673
    668         // Team Style Padding 
     674        // Team Style Padding
    669675
    670676        $this->add_responsive_control(
     
    681687        );
    682688
    683         // Team Style Margin 
     689        // Team Style Margin
    684690
    685691        $this->add_responsive_control(
     
    723729            ]
    724730        );
    725      
    726 
    727 
    728         // Tab 
     731
     732
     733
     734        // Tab
    729735
    730736        $this->start_controls_tabs(
     
    741747        );
    742748
    743         // Team Style Background 
     749        // Team Style Background
    744750
    745751        $this->add_control(
     
    755761        );
    756762
    757    
     763
    758764        $this->end_controls_tab();
    759765
     
    767773        );
    768774
    769         // Team Content Hover Background 
     775        // Team Content Hover Background
    770776
    771777        $this->add_control(
     
    780786            )
    781787        );
    782      
     788
    783789        $this->end_controls_tab();
    784790        $this->end_controls_tabs();
     
    789795    /**
    790796     * Widget Name Style.
    791      * 
     797     *
    792798     * @access protected
    793799     *
     
    796802    public function uta_team_name_style() {
    797803
    798         // Tab Name Style 
     804        // Tab Name Style
    799805
    800806        $this->start_controls_section(
     
    810816                'name'     => 'name_typography',
    811817                'label'    => __('Typography', 'unlimited-theme-addons'),
    812                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    813818                'selector' => '
    814819                    {{WRAPPER}} .team-style-default-content h3,
     
    828833        );
    829834
    830         // Team Name Margin 
     835        // Team Name Margin
    831836
    832837        $this->add_responsive_control(
     
    854859        );
    855860
    856         // Team Name Padding 
     861        // Team Name Padding
    857862
    858863        $this->add_responsive_control(
     
    880885        );
    881886
    882         // Team Name Color 
     887        // Team Name Color
    883888
    884889        $this->add_control(
     
    905910        );
    906911
    907         // Team Name Hover Color 
     912        // Team Name Hover Color
    908913
    909914        $this->add_control(
     
    935940    /**
    936941     * Team Position Style.
    937      * 
     942     *
    938943     * @access protected
    939944     *
     
    950955        );
    951956
    952         // Team Position Typography 
     957        // Team Position Typography
    953958
    954959        $this->add_group_control(
     
    957962                'name'     => 'team_position_typography',
    958963                'label'    => __('Typography', 'unlimited-theme-addons'),
    959                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    960964                'selector' => '
    961965                    {{WRAPPER}} .team-style-default-content h5,
     
    974978        );
    975979
    976         // Team Designation Margin 
     980        // Team Designation Margin
    977981
    978982        $this->add_responsive_control(
     
    9991003        );
    10001004
    1001         // Team Designation Padding 
     1005        // Team Designation Padding
    10021006
    10031007        $this->add_responsive_control(
     
    10241028        );
    10251029
    1026         // Team Designation Color 
     1030        // Team Designation Color
    10271031
    10281032        $this->add_control(
     
    10481052        );
    10491053
    1050         // Team Designation Hover Color 
     1054        // Team Designation Hover Color
    10511055
    10521056        $this->add_control(
     
    10961100        );
    10971101
    1098         // Team Description Typography 
     1102        // Team Description Typography
    10991103
    11001104        $this->add_group_control(
     
    11031107                'name'      => 'team_desc_typography',
    11041108                'label'     => __('Typography', 'unlimited-theme-addons'),
    1105                 'scheme'    => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    11061109                'selector'  => '
    11071110                    {{WRAPPER}} .team-style-3-content p,
     
    11141117        );
    11151118
    1116         // Team Description Margin 
     1119        // Team Description Margin
    11171120
    11181121        $this->add_responsive_control(
     
    11341137        );
    11351138
    1136         // Team Description Margin 
     1139        // Team Description Margin
    11371140
    11381141        $this->add_responsive_control(
     
    11531156        );
    11541157
    1155         // Team Description color 
     1158        // Team Description color
    11561159
    11571160        $this->add_control(
     
    11711174        );
    11721175
    1173         // Team Description Hover Color 
     1176        // Team Description Hover Color
    11741177
    11751178        $this->add_control(
     
    11951198    /**
    11961199     * Team Email Style.
    1197      * 
    1198      * @access protected 
     1200     *
     1201     * @access protected
    11991202     *
    12001203     * @return void
     
    12171220                'name'     => 'uta_team_email_typography',
    12181221                'label'    => __('Typography', 'unlimited-theme-addons'),
    1219                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    12201222                'selector' => '{{WRAPPER}} .team-style-10-content .team-email',
    12211223            ]
    12221224        );
    12231225
    1224         // Team Name Margin 
     1226        // Team Name Margin
    12251227
    12261228        $this->add_responsive_control(
     
    12361238        );
    12371239
    1238         // Team Name Padding 
     1240        // Team Name Padding
    12391241
    12401242        $this->add_responsive_control(
     
    12501252        );
    12511253
    1252         // Team Email Color 
     1254        // Team Email Color
    12531255
    12541256        $this->add_control(
     
    12631265        );
    12641266
    1265         // Team Name Hover Color 
     1267        // Team Name Hover Color
    12661268
    12671269        $this->add_control(
     
    12831285    /**
    12841286     * Team Phone.
    1285      * 
    1286      * @access protected 
     1287     *
     1288     * @access protected
    12871289     *
    12881290     * @return void
     
    13081310                'name'     => 'uta_team_phone_typography',
    13091311                'label'    => __('Typography', 'unlimited-theme-addons'),
    1310                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    13111312                'selector' => '{{WRAPPER}} .team-style-10-content .team-phone',
    13121313            ]
    13131314        );
    13141315
    1315         // Team Phone Margin 
     1316        // Team Phone Margin
    13161317
    13171318        $this->add_responsive_control(
     
    13271328        );
    13281329
    1329         // Team Phone Padding 
     1330        // Team Phone Padding
    13301331
    13311332        $this->add_responsive_control(
     
    13411342        );
    13421343
    1343         // Team Phone Color 
     1344        // Team Phone Color
    13441345
    13451346        $this->add_control(
     
    13541355        );
    13551356
    1356         // Team Phone Hover Color 
     1357        // Team Phone Hover Color
    13571358
    13581359        $this->add_control(
     
    13721373    /**
    13731374     * Team Social Style.
    1374      * 
     1375     *
    13751376     * @access protected
    13761377     *
     
    13891390        );
    13901391
    1391         // Team Social Icon Margin 
     1392        // Team Social Icon Margin
    13921393
    13931394        $this->add_responsive_control(
     
    14171418        );
    14181419
    1419         // Team Social Icon Padding 
     1420        // Team Social Icon Padding
    14201421
    14211422        $this->add_responsive_control(
     
    14431444        );
    14441445
    1445         // Team Social Icon Width 
     1446        // Team Social Icon Width
    14461447
    14471448        $this->add_control(
     
    14691470        );
    14701471
    1471         // Team Social Icon Height 
     1472        // Team Social Icon Height
    14721473
    14731474        $this->add_control(
     
    14941495        );
    14951496
    1496         // Team Social Icon Color 
     1497        // Team Social Icon Color
    14971498
    14981499        $this->start_controls_tabs(
     
    15321533
    15331534
    1534         // Social Icon Area Background 
     1535        // Social Icon Area Background
    15351536
    15361537        $this->add_control(
     
    15561557
    15571558
    1558         // Social Icon Background Color 
     1559        // Social Icon Background Color
    15591560
    15601561        $this->add_control(
     
    15831584
    15841585        /*
    1585          * Border 
     1586         * Border
    15861587        */
    15871588        $this->add_group_control(
     
    16351636        $this->end_controls_tab();
    16361637
    1637         // Social Hover Tab 
     1638        // Social Hover Tab
    16381639
    16391640        $this->start_controls_tab(
     
    16441645        );
    16451646
    1646         // Team Social Hover Color 
     1647        // Team Social Hover Color
    16471648
    16481649        $this->add_control(
     
    16941695        );
    16951696
    1696         // Team Hover Border 
     1697        // Team Hover Border
    16971698
    16981699        $this->add_group_control(
     
    17531754    /**
    17541755     * Team Overlay Style.
    1755      * 
     1756     *
    17561757     * @access protected
    17571758     *
     
    17601761    public function uta_team_overlay_style() {
    17611762
    1762         // Team Overlay Background 
     1763        // Team Overlay Background
    17631764
    17641765        $this->start_controls_section(
  • unlimited-theme-addons/trunk/inc/elementor/widgets/testimonials/Uta_Testimonials.php

    r2715336 r3220786  
    2727    /**
    2828     * Widget CSS.
    29      * 
     29     *
    3030     * @return string
    3131     */
     
    3939    /**
    4040     * Widget script.
    41      * 
     41     *
    4242     * @return string
    4343     */
     
    185185        );
    186186        /*
    187          * Padding 
     187         * Padding
    188188        */
    189189        $this->add_responsive_control(
     
    199199        );
    200200        /*
    201          * Margin 
     201         * Margin
    202202        */
    203203        $this->add_responsive_control(
     
    213213        );
    214214        /*
    215          * Border 
     215         * Border
    216216        */
    217217        $this->add_group_control(
     
    272272        );
    273273        /*
    274          * Padding 
     274         * Padding
    275275        */
    276276        $this->add_responsive_control(
     
    286286        );
    287287        /*
    288          * Margin 
     288         * Margin
    289289        */
    290290        $this->add_responsive_control(
     
    300300        );
    301301        /*
    302          * Border 
     302         * Border
    303303        */
    304304        $this->add_group_control(
     
    370370        );
    371371        /*
    372          * Margin 
     372         * Margin
    373373        */
    374374        $this->add_responsive_control(
     
    384384        );
    385385        /*
    386          * Border 
     386         * Border
    387387        */
    388388        $this->add_group_control(
     
    441441        );
    442442        /*
    443          * Padding 
     443         * Padding
    444444        */
    445445        $this->add_responsive_control(
     
    459459                'name'     => 'testimonial_content_typography',
    460460                'label'    => __('Typography', 'unlimited-theme-addons'),
    461                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    462461                'selector' => '{{WRAPPER}} .testimonial-style-default p, .testimonial-item1 .content p, .testimonial-item2 .content p, .testimonial-item3 .content p, .testimonial-item4 .content p, .testimonial-item5 .content p',
    463462            ]
     
    485484        );
    486485        /*
    487          * Padding 
     486         * Padding
    488487        */
    489488        $this->add_responsive_control(
     
    503502                'name'     => 'testimonial_name_typography',
    504503                'label'    => __('Typography', 'unlimited-theme-addons'),
    505                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    506504                'selector' => '{{WRAPPER}} .testimonial-style-default h5, .testimonial-item1 .content h2, .testimonial-item2 .thumbnail h2, .testimonial-item3 .thumbnail h2, .testimonial-item4 .content h2, .testimonial-item5 .thumbnail h2',
    507505            ]
     
    529527        );
    530528        /*
    531          * Padding 
     529         * Padding
    532530        */
    533531        $this->add_responsive_control(
     
    547545                'name'     => 'testimonial_designation_typography',
    548546                'label'    => __('Typography', 'unlimited-theme-addons'),
    549                 'scheme'   => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
    550547                'selector' => '{{WRAPPER}} .testimonial-style-default span, .testimonial-item5 .thumbnail h5, .testimonial-item4 .content h5, .testimonial-item3 .thumbnail h5, .testimonial-item2 .thumbnail h5, .testimonial-item1 .content h5',
    551548            ]
  • unlimited-theme-addons/trunk/inc/elementor/widgets/testimonials/template/style-1.php

    r2696843 r3220786  
    1 
    21<!-- Testimonial Style 1 -->
    32<div class="uta-testimonial-<?php echo esc_html($settings['uta_testimonial_style']);?>">
     
    54    <div class="uta-testimonial-item1">
    65        <div class="uta-thumbnail">
    7             <img src="<?php echo esc_url( $testimonial['image']['url'] ); ?>" alt="<?php echo esc_attr( $testimonial['name'] ); ?>">
     6            <?php if ( ! empty( $testimonial['image']['id'] ) ) : ?>
     7                <?php
     8                    // Use wp_get_attachment_image() to display the image
     9                    echo wp_get_attachment_image(
     10                        $testimonial['image']['id'], // Image ID
     11                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     12                        false, // No need for the 'icon' argument
     13                        [
     14                            'alt' => esc_attr( $testimonial['name'] ), // Alt text for the image
     15                        ]
     16                    );
     17                ?>
     18            <?php endif; ?>
    819            <h2 <?php echo esc_html(  $this->get_render_attribute_string( $name ) ); ?>><?php echo esc_html( $testimonial['name'] ); ?></h2>
    920            <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>><?php echo esc_html( $testimonial['designation'] ); ?></h5>
    1021        </div>
    1122        <div class="uta-content">
    12             <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) {?>
     23            <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) : ?>
    1324                <div class="ratting">
    1425                    <span><i class="fas fa-star"></i></span>
     
    1829                    <span><i class="fas fa-star"></i></span>
    1930                </div>
    20             <?php }?>
     31            <?php endif; ?>
    2132
    22             <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>><?php echo esc_html( $testimonial['feedback'] ); ?></p>
     33            <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>>
     34                <?php echo esc_html( $testimonial['feedback'] ); ?>
     35            </p>
    2336        </div>
    2437    </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/testimonials/template/style-2.php

    r2696843 r3220786  
    44    <div class="uta-testimonial-item2">
    55        <div class="uta-thumbnail">
    6             <img src="<?php echo esc_url( $testimonial['image']['url'] ); ?>" alt="<?php echo esc_attr( $testimonial['name'] ); ?>">
     6            <?php if ( ! empty( $testimonial['image']['id'] ) ) : ?>
     7                <?php
     8                    // Use wp_get_attachment_image() to display the image
     9                    echo wp_get_attachment_image(
     10                        $testimonial['image']['id'], // Image ID
     11                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     12                        false, // No need for the 'icon' argument
     13                        [
     14                            'alt' => esc_attr( $testimonial['name'] ), // Alt text for the image
     15                        ]
     16                    );
     17                ?>
     18            <?php endif; ?>
    719        </div>
    820        <div class="uta-content">
    9             <h2 <?php echo esc_html(  $this->get_render_attribute_string( $name ) ); ?>><?php echo esc_html( $testimonial['name'] ); ?></h2>
    10             <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>><?php echo esc_html( $testimonial['designation'] ); ?></h5>
    11             <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) {?>
     21            <h2 <?php echo esc_html(  $this->get_render_attribute_string( $name ) ); ?>>
     22                <?php echo esc_html( $testimonial['name'] ); ?>
     23            </h2>
     24            <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>>
     25                <?php echo esc_html( $testimonial['designation'] ); ?>
     26            </h5>
     27            <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) : ?>
    1228                <div class="ratting">
    1329                    <span><i class="fas fa-star"></i></span>
     
    1733                    <span><i class="fas fa-star"></i></span>
    1834                </div>
    19             <?php }?>
     35            <?php endif; ?>
    2036
    21             <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>><?php echo esc_html( $testimonial['feedback'] ); ?></p>
     37            <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>>
     38                <?php echo esc_html( $testimonial['feedback'] ); ?>
     39            </p>
    2240        </div>
    2341    </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/testimonials/template/style-3.php

    r2696843 r3220786  
    44    <div class="uta-testimonial-item3">
    55        <div class="uta-content">
    6             <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>><?php echo esc_html( $testimonial['feedback'] ); ?></p>
     6            <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>>
     7                <?php echo esc_html( $testimonial['feedback'] ); ?>
     8            </p>
    79        </div>
    810        <div class="uta-thumbnail">
    9             <img src="<?php echo esc_url( $testimonial['image']['url'] ); ?>" alt="<?php echo esc_attr( $testimonial['name'] ); ?>">
     11            <?php if ( ! empty( $testimonial['image']['id'] ) ) : ?>
     12                <?php
     13                    // Use wp_get_attachment_image() to display the image
     14                    echo wp_get_attachment_image(
     15                        $testimonial['image']['id'], // Image ID
     16                        'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     17                        false, // No need for the 'icon' argument
     18                        [
     19                            'alt' => esc_attr( $testimonial['name'] ), // Alt text for the image
     20                        ]
     21                    );
     22                ?>
     23            <?php endif; ?>
    1024            <div class="thumbnail-content">
    11                 <h2 <?php echo esc_html(  $this->get_render_attribute_string( $name ) ); ?>><?php echo esc_html( $testimonial['name'] ); ?></h2>
    12                 <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>><?php echo esc_html( $testimonial['designation'] ); ?></h5>
    13                 <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) {?>
     25                <h2 <?php echo esc_html(  $this->get_render_attribute_string( $name ) ); ?>>
     26                    <?php echo esc_html( $testimonial['name'] ); ?>
     27                </h2>
     28                <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>>
     29                    <?php echo esc_html( $testimonial['designation'] ); ?>
     30                </h5>
     31                <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) : ?>
    1432                    <div class="ratting">
    1533                        <span><i class="fas fa-star"></i></span>
     
    1937                        <span><i class="fas fa-star"></i></span>
    2038                    </div>
    21                 <?php }?>
     39                <?php endif; ?>
    2240            </div>
    2341        </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/testimonials/template/style-4.php

    r2696843 r3220786  
    1 
    21<!-- Testimonial Style 4 -->
    32<div class="uta-testimonial-<?php echo esc_html($settings['uta_testimonial_style']);?>">
     
    65        <div class="uta-content">
    76            <div class="uta-thumbnail">
    8                 <img src="<?php echo esc_url( $testimonial['image']['url'] ); ?>" alt="<?php echo esc_attr( $testimonial['name'] ); ?>">
     7                <?php if ( ! empty( $testimonial['image']['id'] ) ) : ?>
     8                    <?php
     9                        // Use wp_get_attachment_image() to display the image
     10                        echo wp_get_attachment_image(
     11                            $testimonial['image']['id'], // Image ID
     12                            'full', // Image size (can be changed to 'thumbnail', 'medium', etc.)
     13                            false, // No need for the 'icon' argument
     14                            [
     15                                'alt' => esc_attr( $testimonial['name'] ), // Alt text for the image
     16                            ]
     17                        );
     18                    ?>
     19                <?php endif; ?>
    920                <div class="icon">
    1021                    <i class="fas fa-quote-right"></i>
    1122                </div>
    1223            </div>
    13            
    14             <h2 <?php echo esc_html(  $this->get_render_attribute_string( $name ) ); ?>><?php echo esc_html( $testimonial['name'] ); ?></h2>
    15             <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>><?php echo esc_html( $testimonial['designation'] ); ?></h5>
    16             <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) {?>
     24
     25            <h2 <?php echo esc_html( $this->get_render_attribute_string( $name ) ); ?>>
     26                <?php echo esc_html( $testimonial['name'] ); ?>
     27            </h2>
     28            <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>>
     29                <?php echo esc_html( $testimonial['designation'] ); ?>
     30            </h5>
     31            <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) : ?>
    1732                <div class="ratting">
    1833                    <span><i class="fas fa-star"></i></span>
     
    2237                    <span><i class="fas fa-star"></i></span>
    2338                </div>
    24             <?php }?>
    25             <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>><?php echo esc_html( $testimonial['feedback'] ); ?></p>
     39            <?php endif; ?>
     40            <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>>
     41                <?php echo esc_html( $testimonial['feedback'] ); ?>
     42            </p>
    2643        </div>
    2744    </div>
    28 
    2945</div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/testimonials/template/style-5.php

    r2696843 r3220786  
    44    <div class="uta-testimonial-item5">
    55        <div class="uta-content">
    6             <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>><?php echo esc_html( $testimonial['feedback'] ); ?></p>
     6            <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>>
     7                <?php echo esc_html( $testimonial['feedback'] ); ?>
     8            </p>
    79        </div>
    810        <div class="uta-thumbnail">
    9             <img src="<?php echo esc_url( $testimonial['image']['url'] ); ?>" alt="<?php echo esc_attr( $testimonial['name'] ); ?>">
     11            <?php if ( ! empty( $testimonial['image']['id'] ) ) : ?>
     12                <?php
     13                    // Use wp_get_attachment_image() to retrieve and display the image with the attachment ID
     14                    echo wp_get_attachment_image(
     15                        $testimonial['image']['id'], // Image ID
     16                        'full', // Image size (can be changed to other sizes like 'thumbnail', 'medium', etc.)
     17                        false, // No need for the 'icon' argument in this case
     18                        [
     19                            'alt' => esc_attr( $testimonial['name'] ), // Alt text for the image
     20                        ]
     21                    );
     22                ?>
     23            <?php endif; ?>
    1024            <div class="uta-thumbnail-content-5">
    11                 <h2 <?php echo esc_html(  $this->get_render_attribute_string( $name ) ); ?>><?php echo esc_html( $testimonial['name'] ); ?></h2>
    12                 <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>><?php echo esc_html( $testimonial['designation'] ); ?></h5>
    13                 <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) {?>
     25                <h2 <?php echo esc_html( $this->get_render_attribute_string( $name ) ); ?>>
     26                    <?php echo esc_html( $testimonial['name'] ); ?>
     27                </h2>
     28                <h5 <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>>
     29                    <?php echo esc_html( $testimonial['designation'] ); ?>
     30                </h5>
     31                <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) : ?>
    1432                    <div class="ratting">
    1533                        <span><i class="fas fa-star"></i></span>
     
    1937                        <span><i class="fas fa-star"></i></span>
    2038                    </div>
    21                 <?php }?>
     39                <?php endif; ?>
    2240            </div>
    2341        </div>
  • unlimited-theme-addons/trunk/inc/elementor/widgets/testimonials/template/style-default.php

    r2696843 r3220786  
    1 <div class="testimonial-<?php echo esc_html($settings['uta_testimonial_style']);?>">
     1<div class="testimonial-<?php echo esc_attr( $settings['uta_testimonial_style'] ); ?>">
    22    <div class="row justify-content-center">
    33        <div class="col-sm-9 text-center">
    4             <img src="<?php echo esc_url( $testimonial['image']['url'] ); ?>" alt="<?php echo esc_attr( $testimonial['name'] ); ?>">
    5             <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>><?php echo esc_html( $testimonial['feedback'] ); ?></p>
    6             <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) {?>
     4            <!-- Check if image ID exists and use wp_get_attachment_image() -->
     5            <?php if ( ! empty( $testimonial['image']['id'] ) ) : ?>
     6                <?php
     7                    // Get the image ID from the testimonial array and display it using wp_get_attachment_image()
     8                    echo wp_get_attachment_image( $testimonial['image']['id'], 'full', false, [
     9                        'alt' => esc_attr( $testimonial['name'] ),
     10                    ]);
     11                ?>
     12            <?php endif; ?>
     13
     14            <!-- Testimonial text output with safe attributes -->
     15            <p <?php echo esc_html( $this->get_render_attribute_string( $testimonialText ) ); ?>>
     16                <?php echo esc_html( $testimonial['feedback'] ); ?>
     17            </p>
     18
     19            <!-- Ratings display if enabled -->
     20            <?php if ( 'on' == $settings['uta-testimonial-ratings'] ) : ?>
    721                <ul>
    822                    <li><i class="fa fa-star"></i></li>
     
    1226                    <li><i class="fa fa-star"></i></li>
    1327                </ul>
    14             <?php }?>
    15             <h5 <?php echo esc_html(  $this->get_render_attribute_string( $name ) ); ?>><?php echo esc_html( $testimonial['name'] ); ?></h5>
    16             <span <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>><?php echo esc_html( $testimonial['designation'] ); ?></span>
     28            <?php endif; ?>
     29
     30            <!-- Name and designation with safe attributes -->
     31            <h5 <?php echo esc_html( $this->get_render_attribute_string( $name ) ); ?>>
     32                <?php echo esc_html( $testimonial['name'] ); ?>
     33            </h5>
     34            <span <?php echo esc_html( $this->get_render_attribute_string( $designation ) ); ?>>
     35                <?php echo esc_html( $testimonial['designation'] ); ?>
     36            </span>
    1737        </div>
    1838    </div>
  • unlimited-theme-addons/trunk/readme.txt

    r3195449 r3220786  
    1 === Unlimited Theme Addon For Elementor and WooCommerce ===
     1=== Unlimited Theme Addon For Elementor ===
    22Contributors: codepopular, shamimtpi, rajubdpro
    33Donate link: https://ko-fi.com/codepopular
    4 Tags: elementor, elements, addons, elementor addon, elementor widget, elementor faq, woocommerce elementor, page builder, product grid, countdown timer, wordpress page builder
     4Tags: elementor, elementor addon, elementor widget, woocommerce elementor, addons
    55Requires at least: 4.0
    66Tested up to: 6.7
    7 Stable tag: 1.2.1
     7Stable tag: 1.2.2
    88Requires PHP: 5.6
    9 License: GPLv2 or later
     9License: GPL-2.0-or-later
     10License URI: https://www.gnu.org/licenses/gpl-2.0.html
     11
     12Short Description: Add essential Elementor addons to boost your website functionality with product grids, lists, and WooCommerce features.
    1013
    1114== Description ==
     
    112115
    113116
     117= 1.2.2 =
     118* Elementor template shortcode protected by permission.
     119* Elementor latest version compatible.
     120* Code optimized.
     121* Security improved.
     122
    114123= 1.2.1 =
    115124* Warning fixed.
  • unlimited-theme-addons/trunk/unlimited-theme-addons.php

    r3195449 r3220786  
    44* Plugin URI: https://codepopular.com/unlimited-theme-addons
    55* Description: Unlimited theme addons is very useful plugin to get amazing features for your website . if you are Looking to add extra functionality to the Elementor page builder then this plugin will be help for you.
    6 * Version: 1.2.1
     6* Version: 1.2.2
    77* Author: codepopular
    88* Author URI: https://www.codepopular.com
    99* Text Domain: unlimited-theme-addons
    10 * License: GPL/GNU.
     10* License: GPL-2.0-or-later
    1111* Domain Path: /languages
    1212* WP Requirement & Test
     
    2020define('UTA_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
    2121define('UTA_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
    22 define('UTA_PLUGIN_VERSION', '1.2.1');
     22define('UTA_PLUGIN_VERSION', '1.2.2');
    2323
    2424/**----------------------------------------------------------------*/
Note: See TracChangeset for help on using the changeset viewer.