Changeset 3254461
- Timestamp:
- 03/12/2025 06:10:57 AM (11 months ago)
- Location:
- ultra-elementor-addons
- Files:
-
- 12 added
- 4 deleted
- 26 edited
- 1 copied
-
tags/2.0.1 (copied) (copied from ultra-elementor-addons/trunk)
-
tags/2.0.1/.github (added)
-
tags/2.0.1/.github/workflows (added)
-
tags/2.0.1/.github/workflows/main.yml (added)
-
tags/2.0.1/.gitignore (added)
-
tags/2.0.1/README.txt (modified) (2 diffs)
-
tags/2.0.1/includes/class-dashboard.php (modified) (1 diff)
-
tags/2.0.1/includes/class-widgets-base.php (modified) (1 diff)
-
tags/2.0.1/includes/widgets/class-accordion.php (modified) (4 diffs)
-
tags/2.0.1/includes/widgets/class-animated-headlines.php (modified) (3 diffs)
-
tags/2.0.1/includes/widgets/class-box.php (modified) (3 diffs)
-
tags/2.0.1/includes/widgets/class-image-comparison.php (modified) (1 diff)
-
tags/2.0.1/includes/widgets/class-team-member.php (modified) (3 diffs)
-
tags/2.0.1/includes/widgets/class-team-members-carousel.php (deleted)
-
tags/2.0.1/includes/widgets/class-testimonial-carousel.php (deleted)
-
tags/2.0.1/includes/widgets/class-testimonial.php (modified) (1 diff)
-
tags/2.0.1/languages (added)
-
tags/2.0.1/languages/ultra-elementor-addons.pot (added)
-
tags/2.0.1/templates/admin/dashboard-home.php (modified) (1 diff)
-
tags/2.0.1/templates/admin/dashboard-main.php (modified) (1 diff)
-
tags/2.0.1/templates/admin/dashboard-widgets.php (modified) (1 diff)
-
tags/2.0.1/ultra-elementor-addons.php (modified) (6 diffs)
-
trunk/.github (added)
-
trunk/.github/workflows (added)
-
trunk/.github/workflows/main.yml (added)
-
trunk/.gitignore (added)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/includes/class-dashboard.php (modified) (1 diff)
-
trunk/includes/class-widgets-base.php (modified) (1 diff)
-
trunk/includes/widgets/class-accordion.php (modified) (4 diffs)
-
trunk/includes/widgets/class-animated-headlines.php (modified) (3 diffs)
-
trunk/includes/widgets/class-box.php (modified) (3 diffs)
-
trunk/includes/widgets/class-image-comparison.php (modified) (1 diff)
-
trunk/includes/widgets/class-team-member.php (modified) (3 diffs)
-
trunk/includes/widgets/class-team-members-carousel.php (deleted)
-
trunk/includes/widgets/class-testimonial-carousel.php (deleted)
-
trunk/includes/widgets/class-testimonial.php (modified) (1 diff)
-
trunk/languages (added)
-
trunk/languages/ultra-elementor-addons.pot (added)
-
trunk/templates/admin/dashboard-home.php (modified) (1 diff)
-
trunk/templates/admin/dashboard-main.php (modified) (1 diff)
-
trunk/templates/admin/dashboard-widgets.php (modified) (1 diff)
-
trunk/ultra-elementor-addons.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ultra-elementor-addons/tags/2.0.1/README.txt
r3252875 r3254461 4 4 Tags: elementor, elementor addons, elementor widgets 5 5 Requires at least: 4.4 6 Tested up to: 6.7 .27 Stable tag: 2.0. 08 Requires PHP: 5.66 Tested up to: 6.7 7 Stable tag: 2.0.1 8 Requires PHP: 7.0 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 60 60 == Changelog == 61 61 62 = 2.0.1 - 12 March 2025 = 63 * Fixed WP Coding Standard Issues. 64 62 65 = 2.0.0 - 09 March 2025 = 63 66 * Refactor the code -
ultra-elementor-addons/tags/2.0.1/includes/class-dashboard.php
r3252875 r3254461 85 85 } 86 86 87 add_submenu_page( self::PAGE_SLUG, sprintf( __( '%s - Ultra Elementor Addons', 'ultra-elementor-addons' ), $value['title'] ), $value['title'], 'manage_options', self::PAGE_SLUG . '#' . $key, [ __CLASS__, 'view_main' ] ); 87 add_submenu_page( 88 self::PAGE_SLUG, 89 sprintf( 90 /* translators: %s: Page Title */ 91 __( '%s - Ultra Elementor Addons', 'ultra-elementor-addons' ), 92 $value['title'] 93 ), 94 $value['title'], 95 'manage_options', 96 self::PAGE_SLUG . '#' . $key, 97 [ __CLASS__, 'view_main' ] 98 ); 88 99 } 89 100 } -
ultra-elementor-addons/tags/2.0.1/includes/class-widgets-base.php
r3252875 r3254461 37 37 [ 38 38 'type' => Controls_Manager::RAW_HTML, 39 'raw' => __( sprintf( 'Upgrade to <a href="%s" target="_blank">Pro Version</a> for more features, customization options & widgets!', ultra_addons_fs()->get_upgrade_url() ), 'ultra-elementor-addons' ), 39 'raw' => sprintf( 40 /* translators: 1: Upgrade URL */ 41 __( 'Upgrade to <a href="%s" target="_blank">Pro Version</a> for more features, customization options & widgets!', 'ultra-elementor-addons' ), 42 ultra_addons_fs()->get_upgrade_url() 43 ), 40 44 ] 41 45 ); -
ultra-elementor-addons/tags/2.0.1/includes/widgets/class-accordion.php
r3252875 r3254461 463 463 464 464 ?> 465 <div class="ua-accordion accordion-<?php echo esc_attr( $this->get_id() ); ?>" <?php echo 'data-accordion-id="' . esc_attr( $this->get_id() ) . '"'; ?> data-speed="<?php echo $settings[ self::W_NAME . 'speed' ]; ?>" <?php echo $this->get_render_attribute_string( 'ua_accordion'); ?>>465 <div class="ua-accordion accordion-<?php echo esc_attr( $this->get_id() ); ?>" <?php echo 'data-accordion-id="' . esc_attr( $this->get_id() ) . '"'; ?> data-speed="<?php echo esc_attr( $settings[ self::W_NAME . 'speed' ] ); ?>" <?php echo esc_attr( $this->get_render_attribute_string( 'ua_accordion' ) ); ?>> 466 466 <?php 467 467 foreach ( $settings[ self::W_NAME . 'accordions' ] as $key => $accordion ) { … … 469 469 470 470 ?> 471 <div class="ua-accordion__item" <?php echo $this->get_render_attribute_string( self::W_NAME . 'item' ); ?>>471 <div class="ua-accordion__item" <?php $this->print_render_attribute_string( self::W_NAME . 'item' ); ?>> 472 472 <div class="ua-accordion-header 473 473 <?php … … 475 475 echo 'ua-a-active';} 476 476 ?> 477 " <?php echo $this->get_render_attribute_string( self::W_NAME . 'title' ); ?>>478 <?php echo $accordion[ self::W_NAME . 'title' ]; ?>477 " <?php $this->print_render_attribute_string( self::W_NAME . 'title' ); ?>> 478 <?php echo esc_html( $accordion[ self::W_NAME . 'title' ] ); ?> 479 479 <div class="ua-accordion-icon"><i class="eicon-plus-circle-o"></i></div> 480 480 </div> … … 484 484 echo 'style="display:block;"';} 485 485 ?> 486 <?php echo $this->get_render_attribute_string( self::W_NAME . 'contents' ); ?>>487 <?php echo $accordion[ self::W_NAME . 'contents' ]; ?>486 <?php $this->print_render_attribute_string( self::W_NAME . 'contents' ); ?>> 487 <?php echo esc_html( $accordion[ self::W_NAME . 'contents' ] ); ?> 488 488 </div> 489 489 </div> -
ultra-elementor-addons/tags/2.0.1/includes/widgets/class-animated-headlines.php
r3252875 r3254461 319 319 <div class="ua-animated-heading" id="ua-animated-heading-<?php echo esc_attr( $this->get_id() ); ?>"> 320 320 <div class="ua-a-h-wrapper"> 321 <<?php echo $settings['ua_a_h_title_tag']; ?> class="ua-a-h-title <?php echo $settings[ self::W_NAME . 'a_style' ]; ?>">321 <<?php echo esc_attr( $settings['ua_a_h_title_tag'] ); ?> class="ua-a-h-title <?php echo esc_attr( $settings[ self::W_NAME . 'a_style' ] ); ?>"> 322 322 <span class="ua-a-t-first"> 323 <?php echo $settings['ua_a_h_first_heading']; ?>323 <?php echo esc_html( $settings['ua_a_h_first_heading'] ); ?> 324 324 </span> 325 325 <span class="ua-a-t-second"> … … 328 328 ?> 329 329 <b class="ua-a-h-s-h <?php echo ( $key == 0 ) ? 'is-visible' : ''; ?>"> 330 <?php echo $tab['ua_a_h_second_heading']; ?>330 <?php echo esc_html( $tab['ua_a_h_second_heading'] ); ?> 331 331 </b> 332 332 <?php … … 334 334 ?> 335 335 </span> 336 </<?php echo $settings['ua_a_h_title_tag']; ?>>336 </<?php echo esc_attr( $settings['ua_a_h_title_tag'] ); ?>> 337 337 </div> 338 338 </div> -
ultra-elementor-addons/tags/2.0.1/includes/widgets/class-box.php
r3252875 r3254461 85 85 self::W_NAME . 'box_content_sections', 86 86 [ 87 'label' => __( 'Content' ),87 'label' => __( 'Content', 'ultra-elementor-addons' ), 88 88 ] 89 89 ); … … 539 539 } else { 540 540 ?> 541 <i class="<?php echo $settings['icon']; ?>" aria-hidden="true"></i>541 <i class="<?php echo esc_html( $settings['icon'] ); ?>" aria-hidden="true"></i> 542 542 <?php 543 543 } … … 545 545 </div> 546 546 <h4 class="ua-box__title" <?php $this->get_render_attribute_string( self::W_NAME . 'b_title' ); ?>> 547 <?php echo $settings[ self::W_NAME . 'b_title' ]; ?>547 <?php echo esc_html( $settings[ self::W_NAME . 'b_title' ] ); ?> 548 548 </h4> 549 549 <div class="ua-box__content"> 550 <?php echo $settings[ self::W_NAME . 'contents' ]; ?>550 <?php echo esc_html( $settings[ self::W_NAME . 'contents' ] ); ?> 551 551 </div> 552 </div> 552 </div> 553 553 <?php 554 554 } -
ultra-elementor-addons/tags/2.0.1/includes/widgets/class-image-comparison.php
r3252875 r3254461 554 554 ?> 555 555 <div class="ua-image-comparison" id="ua-image-comparison" class="twentytwenty-container" data-config='<?php echo wp_json_encode( $data ); ?>'> 556 <?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'image_size', 'before_image'); ?>557 <?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'image_size', 'after_image'); ?>556 <?php echo wp_kses_post( Group_Control_Image_Size::get_attachment_image_html( $settings, 'image_size', 'before_image' ) ); ?> 557 <?php echo wp_kses_post( Group_Control_Image_Size::get_attachment_image_html( $settings, 'image_size', 'after_image' ) ); ?> 558 558 </div> 559 559 <?php -
ultra-elementor-addons/tags/2.0.1/includes/widgets/class-team-member.php
r3252875 r3254461 272 272 'tm__s1' => 'Default', 273 273 ], 274 'description' => __( sprintf( 'Upgrade to <a href="%s" target="_blank">Pro Version</a>', ultra_addons_fs()->get_upgrade_url() ), 'ultra-elementor-addons' ), 274 'description' => sprintf( 275 /* translators: 1: Upgrade URL */ 276 __( 'Upgrade to <a href="%s" target="_blank">Pro Version</a> for more features, customization options & widgets!', 'ultra-elementor-addons' ), 277 ultra_addons_fs()->get_upgrade_url() 278 ), 275 279 ] 276 280 ); … … 760 764 ?> 761 765 <div class="ua-team-members" id="ua-tm-<?php echo esc_attr( $this->get_id() ); ?>"> 762 <div class="ua-t-m <?php echo $settings['tm_style']; ?>">766 <div class="ua-t-m <?php echo esc_attr( $settings['tm_style'] ); ?>"> 763 767 <div class="ua-tm__avatar"> 764 <?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'tm_m_avatar_size', 'tm_m_avatar'); ?>768 <?php echo wp_kses_post( Group_Control_Image_Size::get_attachment_image_html( $settings, 'tm_m_avatar_size', 'tm_m_avatar' ) ); ?> 765 769 </div> 766 770 <div class="ua-tm__info"> 767 <h3 <?php $this->print_render_attribute_string( 'tm_name' ); ?>><?php echo $settings['tm_name']; ?></h3>768 <h4 <?php $this->print_render_attribute_string( 'tm_designation' ); ?>><?php echo $settings['tm_designation']; ?></h4>769 <p <?php $this->print_render_attribute_string( 'tm_content' ); ?>><?php echo $settings['tm_content']; ?></p>771 <h3 <?php $this->print_render_attribute_string( 'tm_name' ); ?>><?php echo esc_html( $settings['tm_name'] ); ?></h3> 772 <h4 <?php $this->print_render_attribute_string( 'tm_designation' ); ?>><?php echo esc_html( $settings['tm_designation'] ); ?></h4> 773 <p <?php $this->print_render_attribute_string( 'tm_content' ); ?>><?php echo esc_html( $settings['tm_content'] ); ?></p> 770 774 </div> 771 775 <?php … … 793 797 } else { 794 798 ?> 795 <i class="<?php echo $social_link['icon']; ?>" aria-hidden="true"></i>799 <i class="<?php echo esc_html( $social_link['icon'] ); ?>" aria-hidden="true"></i> 796 800 <?php 797 801 } -
ultra-elementor-addons/tags/2.0.1/includes/widgets/class-testimonial.php
r3252875 r3254461 405 405 <div class="t_item"> 406 406 <div class="t_txt" <?php $this->print_render_attribute_string( 't_content' ); ?>> 407 <?php echo $settings['t_content']; ?>407 <?php echo esc_html( $settings['t_content'] ); ?> 408 408 </div> 409 409 <div class="client_info text-center"> 410 410 <div class="c_img"> 411 <?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'medium', 't_author_avatar' ); ?> 412 411 <?php echo wp_kses_post( Group_Control_Image_Size::get_attachment_image_html( $settings, 'medium', 't_author_avatar' ) ); ?> 413 412 </div> 414 413 <div class="c_o_info"> 415 <h2 <?php $this->print_render_attribute_string( 't_author' ); ?>><?php echo $settings['t_author']; ?></h2>416 <h3 <?php $this->print_render_attribute_string( 't_a_title' ); ?>><?php echo $settings['t_a_title']; ?></h3>414 <h2 <?php $this->print_render_attribute_string( 't_author' ); ?>><?php echo esc_html( $settings['t_author'] ); ?></h2> 415 <h3 <?php $this->print_render_attribute_string( 't_a_title' ); ?>><?php echo esc_html( $settings['t_a_title'] ); ?></h3> 417 416 </div> 418 417 </div> -
ultra-elementor-addons/tags/2.0.1/templates/admin/dashboard-home.php
r2342983 r3254461 1 <?php 2 defined( 'ABSPATH' ) || die(); 3 ?> 4 1 5 <h1>Welcome ❤️</h1> 2 6 -
ultra-elementor-addons/tags/2.0.1/templates/admin/dashboard-main.php
r3252875 r3254461 1 1 <?php 2 3 defined('ABSPATH') || die(); 2 defined( 'ABSPATH' ) || die(); 4 3 ?> 5 4 <div class="wrap"> 6 <h1 class="screen-reader-text"> <?php _e('Ultra Elementor Addons', 'ultra-elementor-addons'); ?></h1> 7 <form action="" class="ua-dashboard-form" method="POST"> 8 <div class="ua-db-tabs"> 9 <ul class="ua-tabs__nav"> 10 <?php 11 $tabs = self::tabs(); 12 foreach ($tabs as $key => $value) { 13 ?> 14 <li><a href="#<?php echo $key; ?>"><?php echo $value['title']; ?></a></li> 15 <?php 16 } 17 ?> 18 </ul> 19 </div> 20 <div class="ua-w-s__btn"> 21 <?php echo submit_button( "Save Changes", 'submit', 'save-w', '', ''); ?> 22 </div> 23 <div class="ua-tabs__content"> 24 <?php 25 $tabs = self::tabs(); 26 foreach ( $tabs as $key => $value) { 27 if (empty($value['view']) || !is_callable($value['view'])) { 28 continue; 29 } 30 ?> 31 <div class="ua-tabs__item" id="<?php echo $key; ?>"> 32 <?php call_user_func($value['view'], $key, $value); ?> 33 </div> 34 <?php 35 } 36 ?> 37 </div> 38 </form> 5 <h1 class="screen-reader-text"><?php esc_html_e( 'Ultra Elementor Addons', 'ultra-elementor-addons' ); ?></h1> 6 <form action="" class="ua-dashboard-form" method="POST"> 7 <?php wp_nonce_field( 'ua-dashboard' ); ?> 8 <div class="ua-db-tabs"> 9 <ul class="ua-tabs__nav"> 10 <?php 11 $tabs = self::tabs(); 12 foreach ($tabs as $key => $value) { 13 ?> 14 <li><a href="#<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $value['title'] ); ?></a></li> 15 <?php 16 } 17 ?> 18 </ul> 19 </div> 20 <div class="ua-w-s__btn"> 21 <?php submit_button( esc_html__( 'Save', 'ultra-elementor-addons' ), 'submit', 'save-w', '', '' ); ?> 22 </div> 23 <div class="ua-tabs__content"> 24 <?php 25 $tabs = self::tabs(); 26 foreach ( $tabs as $key => $value) { 27 if (empty($value['view']) || !is_callable($value['view'])) { 28 continue; 29 } 30 ?> 31 <div class="ua-tabs__item" id="<?php echo esc_attr( $key ); ?>"> 32 <?php call_user_func($value['view'], $key, $value); ?> 33 </div> 34 <?php 35 } 36 ?> 37 </div> 38 </form> 39 39 </div> -
ultra-elementor-addons/tags/2.0.1/templates/admin/dashboard-widgets.php
r2342983 r3254461 1 1 <?php 2 2 3 defined( 'ABSPATH') || die();3 defined( 'ABSPATH' ) || die(); 4 4 5 5 $all_widgets = self::all_widgets(); 6 6 $inactive_widgets = self::inactive_widgets(); 7 7 if ( isset( $_POST['save-w']) ) { 8 9 $widgets = ! empty( $_POST['widgets']) ? $_POST['widgets'] : []; 10 $i_widgets = array_diff(array_keys($all_widgets), $widgets ); 11 self::save_inactive_widgets( $i_widgets ); 12 wp_safe_redirect( admin_url( 'admin.php?page=ultra-addons#widgets' ) ); 13 exit(); 8 9 // Validate nonce. 10 if ( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ), 'ua-dashboard' ) ) { 11 wp_die( esc_html__( 'Nonce validation failed!', 'ultra-elementor-addons' ) ); 12 } 13 14 $widgets = ! empty( $_POST['widgets'] ) ? $_POST['widgets'] : []; // @phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized 15 $i_widgets = array_diff( array_keys( $all_widgets ), $widgets ); 16 self::save_inactive_widgets( $i_widgets ); 17 wp_safe_redirect( admin_url( 'admin.php?page=ultra-addons#widgets' ) ); 18 exit(); 14 19 } 15 20 ?> 16 21 <div class="wrap"> 17 <div class="ua-widgets-list">18 <?php19 uksort( $all_widgets, 'ua_custom_sort' );20 function ua_custom_sort( $a, $b) {21 return strcasecmp( $a, $b);22 }23 foreach ( $all_widgets as $key => $value) {24 25 if ( ! in_array( $key, $inactive_widgets)) {26 $checked = 'checked="checked"';27 }28 29 else {30 $checked = '';31 }22 <div class="ua-widgets-list"> 23 <?php 24 uksort( $all_widgets, 'ua_custom_sort' ); 25 function ua_custom_sort( $a, $b) { 26 return strcasecmp( $a, $b); 27 } 28 foreach ( $all_widgets as $key => $value) { 29 30 if ( ! in_array( $key, $inactive_widgets)) { 31 $checked = 'checked="checked"'; 32 } 33 34 else { 35 $checked = ''; 36 } 32 37 33 if ( ultra_addons_fs()->is_not_paying() ) {34 if ( $value['is_pro'] == true ) {35 $checked = 'disabled="disabled"';36 }37 }38 ?>38 if ( ultra_addons_fs()->is_not_paying() ) { 39 if ( $value['is_pro'] == true ) { 40 $checked = 'disabled="disabled"'; 41 } 42 } 43 ?> 39 44 40 <div class="ua-w__item"> 41 <span class="ua-w-i__icon"> 42 <i class="<?php echo $value['icon']; ?>"></i> 43 </span> 44 <h3 class="ua-w-i__name"><?php echo $value['title']; ?> <a href="<?php echo $value['demo']; ?>"><i class="eicon-eye"></i></a></h3> 45 <div class="ua-w-i__toggle switch_box"> 46 <input class="ua-toggle" <?php echo $checked;?> id="ua-widget-<?php echo $key;?>" type="checkbox" name="widgets[]" value="<?php echo $key;?>"> 47 </div> 48 </div> 49 50 <?php 51 } 52 ?> 53 </div> 45 <div class="ua-w__item"> 46 <span class="ua-w-i__icon"> 47 <i class="<?php echo esc_html( $value['icon'] ); ?>"></i> 48 </span> 49 <h3 class="ua-w-i__name"><?php echo esc_html( $value['title'] ); ?> <a href="<?php echo esc_url( $value['demo'] ); ?>"><i class="eicon-eye"></i></a></h3> 50 <div class="ua-w-i__toggle switch_box"> 51 <input class="ua-toggle" <?php echo esc_attr( $checked );?> id="ua-widget-<?php echo esc_attr( $key );?>" type="checkbox" name="widgets[]" value="<?php echo esc_attr( $key );?>"> 52 </div> 53 </div> 54 <?php 55 } 56 ?> 57 </div> 54 58 </div> -
ultra-elementor-addons/tags/2.0.1/ultra-elementor-addons.php
r3252875 r3254461 10 10 * Plugin URI: https://ultradevs.com/ultra-elementor-addons 11 11 * Description: <a href="https://ultradevs.com/ultra-elementor-addons">Ultra Elementor Addons</a> is a collection of helpful widget for Elementor. 12 * Version: 2.0. 012 * Version: 2.0.1 13 13 * Author: ultraDevs 14 14 * Author URI: https://ultradevs.com … … 27 27 28 28 define( 'ULTRA_ADDONS_TD', 'ultra-elementor-addons' ); 29 define( 'ULTRA_ADDONS_VERSION', '2.0. 0' );29 define( 'ULTRA_ADDONS_VERSION', '2.0.1' ); 30 30 define( 'ULTRA_ADDONS_PATH', plugin_dir_path( __FILE__ ) ); 31 31 define( 'ULTRA_ADDONS_URL', plugin_dir_url( __FILE__ ) ); … … 184 184 */ 185 185 public function admin_notice_missing_main_plugin() { 186 if ( isset( $_GET['activate'] ) ) unset( $_GET['activate'] ); 186 if ( isset( $_GET['activate'] ) ) { 187 unset( $_GET['activate'] ); 188 } 187 189 if ( ! is_plugin_active( 'elementor/elementor.php' ) ) { 188 190 $message = sprintf( 191 /* translators: 1: Plugin name 2: Elementor */ 189 192 esc_html__( '%1$s requires %2$s to be installed and activated. Please activate %2$s to continue.', 'ultra-elementor-addons' ), 190 193 '<strong>' . esc_html__( 'Ultra Addons', 'ultra-elementor-addons' ) . '</strong>', … … 204 207 205 208 $message = sprintf( 209 /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */ 206 210 esc_html__( ' %1$s requires %2$s version %3$s or greater.', 'ultra-elementor-addons' ), 207 211 '<strong>' . esc_html__( 'Ultra Elementor Addons', 'ultra-elementor-addons' ) . '</strong>', … … 221 225 222 226 $message = sprintf( 227 /* translators: 1: Plugin name 2: PHP 3: Required PHP version */ 223 228 esc_html__( ' %1$s requires %2$s version %3$s or greater.', 'ultra-elementor-addons' ), 224 229 '<strong>' . esc_html__( 'Ultra Elementor Addons', 'ultra-elementor-addons') . '</strong>', … … 253 258 } 254 259 255 256 // if ( class_exists( 'UltraAddons_Inc\\Init' ) ) {257 // UltraAddons_Inc\Init::register_services();258 // }259 260 260 Ultra_Elementor_Addons::instance(); -
ultra-elementor-addons/trunk/README.txt
r3252875 r3254461 4 4 Tags: elementor, elementor addons, elementor widgets 5 5 Requires at least: 4.4 6 Tested up to: 6.7 .27 Stable tag: 2.0. 08 Requires PHP: 5.66 Tested up to: 6.7 7 Stable tag: 2.0.1 8 Requires PHP: 7.0 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 60 60 == Changelog == 61 61 62 = 2.0.1 - 12 March 2025 = 63 * Fixed WP Coding Standard Issues. 64 62 65 = 2.0.0 - 09 March 2025 = 63 66 * Refactor the code -
ultra-elementor-addons/trunk/includes/class-dashboard.php
r3252875 r3254461 85 85 } 86 86 87 add_submenu_page( self::PAGE_SLUG, sprintf( __( '%s - Ultra Elementor Addons', 'ultra-elementor-addons' ), $value['title'] ), $value['title'], 'manage_options', self::PAGE_SLUG . '#' . $key, [ __CLASS__, 'view_main' ] ); 87 add_submenu_page( 88 self::PAGE_SLUG, 89 sprintf( 90 /* translators: %s: Page Title */ 91 __( '%s - Ultra Elementor Addons', 'ultra-elementor-addons' ), 92 $value['title'] 93 ), 94 $value['title'], 95 'manage_options', 96 self::PAGE_SLUG . '#' . $key, 97 [ __CLASS__, 'view_main' ] 98 ); 88 99 } 89 100 } -
ultra-elementor-addons/trunk/includes/class-widgets-base.php
r3252875 r3254461 37 37 [ 38 38 'type' => Controls_Manager::RAW_HTML, 39 'raw' => __( sprintf( 'Upgrade to <a href="%s" target="_blank">Pro Version</a> for more features, customization options & widgets!', ultra_addons_fs()->get_upgrade_url() ), 'ultra-elementor-addons' ), 39 'raw' => sprintf( 40 /* translators: 1: Upgrade URL */ 41 __( 'Upgrade to <a href="%s" target="_blank">Pro Version</a> for more features, customization options & widgets!', 'ultra-elementor-addons' ), 42 ultra_addons_fs()->get_upgrade_url() 43 ), 40 44 ] 41 45 ); -
ultra-elementor-addons/trunk/includes/widgets/class-accordion.php
r3252875 r3254461 463 463 464 464 ?> 465 <div class="ua-accordion accordion-<?php echo esc_attr( $this->get_id() ); ?>" <?php echo 'data-accordion-id="' . esc_attr( $this->get_id() ) . '"'; ?> data-speed="<?php echo $settings[ self::W_NAME . 'speed' ]; ?>" <?php echo $this->get_render_attribute_string( 'ua_accordion'); ?>>465 <div class="ua-accordion accordion-<?php echo esc_attr( $this->get_id() ); ?>" <?php echo 'data-accordion-id="' . esc_attr( $this->get_id() ) . '"'; ?> data-speed="<?php echo esc_attr( $settings[ self::W_NAME . 'speed' ] ); ?>" <?php echo esc_attr( $this->get_render_attribute_string( 'ua_accordion' ) ); ?>> 466 466 <?php 467 467 foreach ( $settings[ self::W_NAME . 'accordions' ] as $key => $accordion ) { … … 469 469 470 470 ?> 471 <div class="ua-accordion__item" <?php echo $this->get_render_attribute_string( self::W_NAME . 'item' ); ?>>471 <div class="ua-accordion__item" <?php $this->print_render_attribute_string( self::W_NAME . 'item' ); ?>> 472 472 <div class="ua-accordion-header 473 473 <?php … … 475 475 echo 'ua-a-active';} 476 476 ?> 477 " <?php echo $this->get_render_attribute_string( self::W_NAME . 'title' ); ?>>478 <?php echo $accordion[ self::W_NAME . 'title' ]; ?>477 " <?php $this->print_render_attribute_string( self::W_NAME . 'title' ); ?>> 478 <?php echo esc_html( $accordion[ self::W_NAME . 'title' ] ); ?> 479 479 <div class="ua-accordion-icon"><i class="eicon-plus-circle-o"></i></div> 480 480 </div> … … 484 484 echo 'style="display:block;"';} 485 485 ?> 486 <?php echo $this->get_render_attribute_string( self::W_NAME . 'contents' ); ?>>487 <?php echo $accordion[ self::W_NAME . 'contents' ]; ?>486 <?php $this->print_render_attribute_string( self::W_NAME . 'contents' ); ?>> 487 <?php echo esc_html( $accordion[ self::W_NAME . 'contents' ] ); ?> 488 488 </div> 489 489 </div> -
ultra-elementor-addons/trunk/includes/widgets/class-animated-headlines.php
r3252875 r3254461 319 319 <div class="ua-animated-heading" id="ua-animated-heading-<?php echo esc_attr( $this->get_id() ); ?>"> 320 320 <div class="ua-a-h-wrapper"> 321 <<?php echo $settings['ua_a_h_title_tag']; ?> class="ua-a-h-title <?php echo $settings[ self::W_NAME . 'a_style' ]; ?>">321 <<?php echo esc_attr( $settings['ua_a_h_title_tag'] ); ?> class="ua-a-h-title <?php echo esc_attr( $settings[ self::W_NAME . 'a_style' ] ); ?>"> 322 322 <span class="ua-a-t-first"> 323 <?php echo $settings['ua_a_h_first_heading']; ?>323 <?php echo esc_html( $settings['ua_a_h_first_heading'] ); ?> 324 324 </span> 325 325 <span class="ua-a-t-second"> … … 328 328 ?> 329 329 <b class="ua-a-h-s-h <?php echo ( $key == 0 ) ? 'is-visible' : ''; ?>"> 330 <?php echo $tab['ua_a_h_second_heading']; ?>330 <?php echo esc_html( $tab['ua_a_h_second_heading'] ); ?> 331 331 </b> 332 332 <?php … … 334 334 ?> 335 335 </span> 336 </<?php echo $settings['ua_a_h_title_tag']; ?>>336 </<?php echo esc_attr( $settings['ua_a_h_title_tag'] ); ?>> 337 337 </div> 338 338 </div> -
ultra-elementor-addons/trunk/includes/widgets/class-box.php
r3252875 r3254461 85 85 self::W_NAME . 'box_content_sections', 86 86 [ 87 'label' => __( 'Content' ),87 'label' => __( 'Content', 'ultra-elementor-addons' ), 88 88 ] 89 89 ); … … 539 539 } else { 540 540 ?> 541 <i class="<?php echo $settings['icon']; ?>" aria-hidden="true"></i>541 <i class="<?php echo esc_html( $settings['icon'] ); ?>" aria-hidden="true"></i> 542 542 <?php 543 543 } … … 545 545 </div> 546 546 <h4 class="ua-box__title" <?php $this->get_render_attribute_string( self::W_NAME . 'b_title' ); ?>> 547 <?php echo $settings[ self::W_NAME . 'b_title' ]; ?>547 <?php echo esc_html( $settings[ self::W_NAME . 'b_title' ] ); ?> 548 548 </h4> 549 549 <div class="ua-box__content"> 550 <?php echo $settings[ self::W_NAME . 'contents' ]; ?>550 <?php echo esc_html( $settings[ self::W_NAME . 'contents' ] ); ?> 551 551 </div> 552 </div> 552 </div> 553 553 <?php 554 554 } -
ultra-elementor-addons/trunk/includes/widgets/class-image-comparison.php
r3252875 r3254461 554 554 ?> 555 555 <div class="ua-image-comparison" id="ua-image-comparison" class="twentytwenty-container" data-config='<?php echo wp_json_encode( $data ); ?>'> 556 <?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'image_size', 'before_image'); ?>557 <?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'image_size', 'after_image'); ?>556 <?php echo wp_kses_post( Group_Control_Image_Size::get_attachment_image_html( $settings, 'image_size', 'before_image' ) ); ?> 557 <?php echo wp_kses_post( Group_Control_Image_Size::get_attachment_image_html( $settings, 'image_size', 'after_image' ) ); ?> 558 558 </div> 559 559 <?php -
ultra-elementor-addons/trunk/includes/widgets/class-team-member.php
r3252875 r3254461 272 272 'tm__s1' => 'Default', 273 273 ], 274 'description' => __( sprintf( 'Upgrade to <a href="%s" target="_blank">Pro Version</a>', ultra_addons_fs()->get_upgrade_url() ), 'ultra-elementor-addons' ), 274 'description' => sprintf( 275 /* translators: 1: Upgrade URL */ 276 __( 'Upgrade to <a href="%s" target="_blank">Pro Version</a> for more features, customization options & widgets!', 'ultra-elementor-addons' ), 277 ultra_addons_fs()->get_upgrade_url() 278 ), 275 279 ] 276 280 ); … … 760 764 ?> 761 765 <div class="ua-team-members" id="ua-tm-<?php echo esc_attr( $this->get_id() ); ?>"> 762 <div class="ua-t-m <?php echo $settings['tm_style']; ?>">766 <div class="ua-t-m <?php echo esc_attr( $settings['tm_style'] ); ?>"> 763 767 <div class="ua-tm__avatar"> 764 <?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'tm_m_avatar_size', 'tm_m_avatar'); ?>768 <?php echo wp_kses_post( Group_Control_Image_Size::get_attachment_image_html( $settings, 'tm_m_avatar_size', 'tm_m_avatar' ) ); ?> 765 769 </div> 766 770 <div class="ua-tm__info"> 767 <h3 <?php $this->print_render_attribute_string( 'tm_name' ); ?>><?php echo $settings['tm_name']; ?></h3>768 <h4 <?php $this->print_render_attribute_string( 'tm_designation' ); ?>><?php echo $settings['tm_designation']; ?></h4>769 <p <?php $this->print_render_attribute_string( 'tm_content' ); ?>><?php echo $settings['tm_content']; ?></p>771 <h3 <?php $this->print_render_attribute_string( 'tm_name' ); ?>><?php echo esc_html( $settings['tm_name'] ); ?></h3> 772 <h4 <?php $this->print_render_attribute_string( 'tm_designation' ); ?>><?php echo esc_html( $settings['tm_designation'] ); ?></h4> 773 <p <?php $this->print_render_attribute_string( 'tm_content' ); ?>><?php echo esc_html( $settings['tm_content'] ); ?></p> 770 774 </div> 771 775 <?php … … 793 797 } else { 794 798 ?> 795 <i class="<?php echo $social_link['icon']; ?>" aria-hidden="true"></i>799 <i class="<?php echo esc_html( $social_link['icon'] ); ?>" aria-hidden="true"></i> 796 800 <?php 797 801 } -
ultra-elementor-addons/trunk/includes/widgets/class-testimonial.php
r3252875 r3254461 405 405 <div class="t_item"> 406 406 <div class="t_txt" <?php $this->print_render_attribute_string( 't_content' ); ?>> 407 <?php echo $settings['t_content']; ?>407 <?php echo esc_html( $settings['t_content'] ); ?> 408 408 </div> 409 409 <div class="client_info text-center"> 410 410 <div class="c_img"> 411 <?php echo Group_Control_Image_Size::get_attachment_image_html( $settings, 'medium', 't_author_avatar' ); ?> 412 411 <?php echo wp_kses_post( Group_Control_Image_Size::get_attachment_image_html( $settings, 'medium', 't_author_avatar' ) ); ?> 413 412 </div> 414 413 <div class="c_o_info"> 415 <h2 <?php $this->print_render_attribute_string( 't_author' ); ?>><?php echo $settings['t_author']; ?></h2>416 <h3 <?php $this->print_render_attribute_string( 't_a_title' ); ?>><?php echo $settings['t_a_title']; ?></h3>414 <h2 <?php $this->print_render_attribute_string( 't_author' ); ?>><?php echo esc_html( $settings['t_author'] ); ?></h2> 415 <h3 <?php $this->print_render_attribute_string( 't_a_title' ); ?>><?php echo esc_html( $settings['t_a_title'] ); ?></h3> 417 416 </div> 418 417 </div> -
ultra-elementor-addons/trunk/templates/admin/dashboard-home.php
r2342983 r3254461 1 <?php 2 defined( 'ABSPATH' ) || die(); 3 ?> 4 1 5 <h1>Welcome ❤️</h1> 2 6 -
ultra-elementor-addons/trunk/templates/admin/dashboard-main.php
r3252875 r3254461 1 1 <?php 2 3 defined('ABSPATH') || die(); 2 defined( 'ABSPATH' ) || die(); 4 3 ?> 5 4 <div class="wrap"> 6 <h1 class="screen-reader-text"> <?php _e('Ultra Elementor Addons', 'ultra-elementor-addons'); ?></h1> 7 <form action="" class="ua-dashboard-form" method="POST"> 8 <div class="ua-db-tabs"> 9 <ul class="ua-tabs__nav"> 10 <?php 11 $tabs = self::tabs(); 12 foreach ($tabs as $key => $value) { 13 ?> 14 <li><a href="#<?php echo $key; ?>"><?php echo $value['title']; ?></a></li> 15 <?php 16 } 17 ?> 18 </ul> 19 </div> 20 <div class="ua-w-s__btn"> 21 <?php echo submit_button( "Save Changes", 'submit', 'save-w', '', ''); ?> 22 </div> 23 <div class="ua-tabs__content"> 24 <?php 25 $tabs = self::tabs(); 26 foreach ( $tabs as $key => $value) { 27 if (empty($value['view']) || !is_callable($value['view'])) { 28 continue; 29 } 30 ?> 31 <div class="ua-tabs__item" id="<?php echo $key; ?>"> 32 <?php call_user_func($value['view'], $key, $value); ?> 33 </div> 34 <?php 35 } 36 ?> 37 </div> 38 </form> 5 <h1 class="screen-reader-text"><?php esc_html_e( 'Ultra Elementor Addons', 'ultra-elementor-addons' ); ?></h1> 6 <form action="" class="ua-dashboard-form" method="POST"> 7 <?php wp_nonce_field( 'ua-dashboard' ); ?> 8 <div class="ua-db-tabs"> 9 <ul class="ua-tabs__nav"> 10 <?php 11 $tabs = self::tabs(); 12 foreach ($tabs as $key => $value) { 13 ?> 14 <li><a href="#<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $value['title'] ); ?></a></li> 15 <?php 16 } 17 ?> 18 </ul> 19 </div> 20 <div class="ua-w-s__btn"> 21 <?php submit_button( esc_html__( 'Save', 'ultra-elementor-addons' ), 'submit', 'save-w', '', '' ); ?> 22 </div> 23 <div class="ua-tabs__content"> 24 <?php 25 $tabs = self::tabs(); 26 foreach ( $tabs as $key => $value) { 27 if (empty($value['view']) || !is_callable($value['view'])) { 28 continue; 29 } 30 ?> 31 <div class="ua-tabs__item" id="<?php echo esc_attr( $key ); ?>"> 32 <?php call_user_func($value['view'], $key, $value); ?> 33 </div> 34 <?php 35 } 36 ?> 37 </div> 38 </form> 39 39 </div> -
ultra-elementor-addons/trunk/templates/admin/dashboard-widgets.php
r2342983 r3254461 1 1 <?php 2 2 3 defined( 'ABSPATH') || die();3 defined( 'ABSPATH' ) || die(); 4 4 5 5 $all_widgets = self::all_widgets(); 6 6 $inactive_widgets = self::inactive_widgets(); 7 7 if ( isset( $_POST['save-w']) ) { 8 9 $widgets = ! empty( $_POST['widgets']) ? $_POST['widgets'] : []; 10 $i_widgets = array_diff(array_keys($all_widgets), $widgets ); 11 self::save_inactive_widgets( $i_widgets ); 12 wp_safe_redirect( admin_url( 'admin.php?page=ultra-addons#widgets' ) ); 13 exit(); 8 9 // Validate nonce. 10 if ( ! isset( $_POST['_wpnonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['_wpnonce'] ) ), 'ua-dashboard' ) ) { 11 wp_die( esc_html__( 'Nonce validation failed!', 'ultra-elementor-addons' ) ); 12 } 13 14 $widgets = ! empty( $_POST['widgets'] ) ? $_POST['widgets'] : []; // @phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized 15 $i_widgets = array_diff( array_keys( $all_widgets ), $widgets ); 16 self::save_inactive_widgets( $i_widgets ); 17 wp_safe_redirect( admin_url( 'admin.php?page=ultra-addons#widgets' ) ); 18 exit(); 14 19 } 15 20 ?> 16 21 <div class="wrap"> 17 <div class="ua-widgets-list">18 <?php19 uksort( $all_widgets, 'ua_custom_sort' );20 function ua_custom_sort( $a, $b) {21 return strcasecmp( $a, $b);22 }23 foreach ( $all_widgets as $key => $value) {24 25 if ( ! in_array( $key, $inactive_widgets)) {26 $checked = 'checked="checked"';27 }28 29 else {30 $checked = '';31 }22 <div class="ua-widgets-list"> 23 <?php 24 uksort( $all_widgets, 'ua_custom_sort' ); 25 function ua_custom_sort( $a, $b) { 26 return strcasecmp( $a, $b); 27 } 28 foreach ( $all_widgets as $key => $value) { 29 30 if ( ! in_array( $key, $inactive_widgets)) { 31 $checked = 'checked="checked"'; 32 } 33 34 else { 35 $checked = ''; 36 } 32 37 33 if ( ultra_addons_fs()->is_not_paying() ) {34 if ( $value['is_pro'] == true ) {35 $checked = 'disabled="disabled"';36 }37 }38 ?>38 if ( ultra_addons_fs()->is_not_paying() ) { 39 if ( $value['is_pro'] == true ) { 40 $checked = 'disabled="disabled"'; 41 } 42 } 43 ?> 39 44 40 <div class="ua-w__item"> 41 <span class="ua-w-i__icon"> 42 <i class="<?php echo $value['icon']; ?>"></i> 43 </span> 44 <h3 class="ua-w-i__name"><?php echo $value['title']; ?> <a href="<?php echo $value['demo']; ?>"><i class="eicon-eye"></i></a></h3> 45 <div class="ua-w-i__toggle switch_box"> 46 <input class="ua-toggle" <?php echo $checked;?> id="ua-widget-<?php echo $key;?>" type="checkbox" name="widgets[]" value="<?php echo $key;?>"> 47 </div> 48 </div> 49 50 <?php 51 } 52 ?> 53 </div> 45 <div class="ua-w__item"> 46 <span class="ua-w-i__icon"> 47 <i class="<?php echo esc_html( $value['icon'] ); ?>"></i> 48 </span> 49 <h3 class="ua-w-i__name"><?php echo esc_html( $value['title'] ); ?> <a href="<?php echo esc_url( $value['demo'] ); ?>"><i class="eicon-eye"></i></a></h3> 50 <div class="ua-w-i__toggle switch_box"> 51 <input class="ua-toggle" <?php echo esc_attr( $checked );?> id="ua-widget-<?php echo esc_attr( $key );?>" type="checkbox" name="widgets[]" value="<?php echo esc_attr( $key );?>"> 52 </div> 53 </div> 54 <?php 55 } 56 ?> 57 </div> 54 58 </div> -
ultra-elementor-addons/trunk/ultra-elementor-addons.php
r3252875 r3254461 10 10 * Plugin URI: https://ultradevs.com/ultra-elementor-addons 11 11 * Description: <a href="https://ultradevs.com/ultra-elementor-addons">Ultra Elementor Addons</a> is a collection of helpful widget for Elementor. 12 * Version: 2.0. 012 * Version: 2.0.1 13 13 * Author: ultraDevs 14 14 * Author URI: https://ultradevs.com … … 27 27 28 28 define( 'ULTRA_ADDONS_TD', 'ultra-elementor-addons' ); 29 define( 'ULTRA_ADDONS_VERSION', '2.0. 0' );29 define( 'ULTRA_ADDONS_VERSION', '2.0.1' ); 30 30 define( 'ULTRA_ADDONS_PATH', plugin_dir_path( __FILE__ ) ); 31 31 define( 'ULTRA_ADDONS_URL', plugin_dir_url( __FILE__ ) ); … … 184 184 */ 185 185 public function admin_notice_missing_main_plugin() { 186 if ( isset( $_GET['activate'] ) ) unset( $_GET['activate'] ); 186 if ( isset( $_GET['activate'] ) ) { 187 unset( $_GET['activate'] ); 188 } 187 189 if ( ! is_plugin_active( 'elementor/elementor.php' ) ) { 188 190 $message = sprintf( 191 /* translators: 1: Plugin name 2: Elementor */ 189 192 esc_html__( '%1$s requires %2$s to be installed and activated. Please activate %2$s to continue.', 'ultra-elementor-addons' ), 190 193 '<strong>' . esc_html__( 'Ultra Addons', 'ultra-elementor-addons' ) . '</strong>', … … 204 207 205 208 $message = sprintf( 209 /* translators: 1: Plugin name 2: Elementor 3: Required Elementor version */ 206 210 esc_html__( ' %1$s requires %2$s version %3$s or greater.', 'ultra-elementor-addons' ), 207 211 '<strong>' . esc_html__( 'Ultra Elementor Addons', 'ultra-elementor-addons' ) . '</strong>', … … 221 225 222 226 $message = sprintf( 227 /* translators: 1: Plugin name 2: PHP 3: Required PHP version */ 223 228 esc_html__( ' %1$s requires %2$s version %3$s or greater.', 'ultra-elementor-addons' ), 224 229 '<strong>' . esc_html__( 'Ultra Elementor Addons', 'ultra-elementor-addons') . '</strong>', … … 253 258 } 254 259 255 256 // if ( class_exists( 'UltraAddons_Inc\\Init' ) ) {257 // UltraAddons_Inc\Init::register_services();258 // }259 260 260 Ultra_Elementor_Addons::instance();
Note: See TracChangeset
for help on using the changeset viewer.