Plugin Directory

Changeset 3401266


Ignore:
Timestamp:
11/23/2025 12:26:29 PM (2 months ago)
Author:
themewant
Message:

Flipbox Widget and Some Issues fixed

Location:
easy-elements
Files:
552 added
24 edited

Legend:

Unmodified
Added
Removed
  • easy-elements/trunk/admin/icons/css/easy-icons.css

    r3392394 r3401266  
    11@font-face {
    22  font-family: 'easy-icons';
    3   src: url('../font/easy-icons.eot?51302911');
    4   src: url('../font/easy-icons.eot?51302911#iefix') format('embedded-opentype'),
    5        url('../font/easy-icons.woff2?51302911') format('woff2'),
    6        url('../font/easy-icons.woff?51302911') format('woff'),
    7        url('../font/easy-icons.ttf?51302911') format('truetype'),
    8        url('../font/easy-icons.svg?51302911#easy-icons') format('svg');
     3  src: url('../font/easy-icons.eot?41300004');
     4  src: url('../font/easy-icons.eot?41300004#iefix') format('embedded-opentype'),
     5       url('../font/easy-icons.woff2?41300004') format('woff2'),
     6       url('../font/easy-icons.woff?41300004') format('woff'),
     7       url('../font/easy-icons.ttf?41300004') format('truetype'),
     8       url('../font/easy-icons.svg?41300004#easy-icons') format('svg');
    99  font-weight: normal;
    1010  font-style: normal;
     
    1616  @font-face {
    1717    font-family: 'easy-icons';
    18     src: url('../font/easy-icons.svg?51302911#easy-icons') format('svg');
     18    src: url('../font/easy-icons.svg?41300004#easy-icons') format('svg');
    1919  }
    2020}
     
    121121.easyelIcon-faq-1:before { content: '\e840'; } /* '' */
    122122.easyelIcon-animated-title:before { content: '\e841'; } /* '' */
     123.easyelIcon-badge:before { content: '\e842'; } /* '' */
     124.easyelIcon-countdown:before { content: '\e843'; } /* '' */
     125.easyelIcon-counter:before { content: '\e844'; } /* '' */
     126.easyelIcon-flip-box:before { content: '\e845'; } /* '' */
     127.easyelIcon-facebook-feed:before { content: '\e846'; } /* '' */
     128.easyelIcon-instagram-feed:before { content: '\e847'; } /* '' */
     129.easyelIcon-login:before { content: '\e848'; } /* '' */
     130.easyelIcon-progress-bar:before { content: '\e849'; } /* '' */
     131.easyelIcon-title-scrolltrigger:before { content: '\e84a'; } /* '' */
     132.easyelIcon-twitter:before { content: '\e84b'; } /* '' */
     133.easyelIcon-setting:before { content: '\e84d'; } /* '' */
     134.easyelIcon-license-pro:before { content: '\e84e'; } /* '' */
  • easy-elements/trunk/admin/icons/font/easy-icons.svg

    r3392394 r3401266  
    138138
    139139<glyph glyph-name="animated-title" unicode="&#xe841;" d="M792 485c-87 0-157 70-157 157 0 86 70 156 157 156 86 0 156-70 156-156 0-87-70-157-156-157z m0 250c-52 0-94-42-94-93 0-52 42-94 94-94 51 0 93 42 93 94 0 51-42 93-93 93z m-167-833h-250c-226 0-323 97-323 323v250c0 226 97 323 323 323h208c17 0 32-14 32-31 0-17-15-32-32-32h-208c-192 0-260-68-260-260v-250c0-192 68-260 260-260h250c192 0 260 68 260 260v208c0 17 15 32 32 32 17 0 31-15 31-32v-208c0-226-97-323-323-323z m-20 432v25c0 2-2 4-4 4h-202c-2 0-4-2-4-4v-25c0-14-11-25-25-25-13 0-25 11-25 25v25c0 30 25 54 54 54h202c30 0 54-24 54-54v-25c0-14-12-25-25-25-14 0-25 11-25 25z m-130-188v230c0 14 11 25 25 25 14 0 25-11 25-25v-230c0-14-11-25-25-25-14 0-25 11-25 25z m80 25c14 0 25-12 25-25 0-14-11-25-25-25h-110c-13 0-25 11-25 25 0 13 12 25 25 25h110z" horiz-adv-x="1000" />
     140
     141<glyph glyph-name="badge" unicode="&#xe842;" d="M500-98c-45 0-90 13-126 39l-179 134c-47 35-85 110-85 168v310c0 65 48 133 108 155l208 78c41 16 106 16 147 0l208-78c61-22 108-90 108-155v-309c0-59-37-133-85-169l-179-133c-35-27-80-40-125-40z m-52 826l-208-78c-35-14-67-59-67-97v-310c0-39 28-95 60-118l179-134c48-36 128-36 177 0l179 134c32 24 59 79 59 118v310c0 38-31 83-67 97l-207 78c-29 10-77 10-105 0z m-4-471c-8 0-16 3-22 9l-67 67c-12 12-12 32 0 45 12 12 32 12 44 0l45-45 157 157c12 12 32 12 44 0 13-12 13-32 0-45l-179-179c-6-6-14-9-22-9z" horiz-adv-x="1000" />
     142
     143<glyph glyph-name="countdown" unicode="&#xe843;" d="M500-98c-247 0-448 201-448 448 0 247 201 448 448 448 247 0 448-201 448-448 0-247-201-448-448-448z m0 833c-212 0-385-172-385-385 0-212 173-385 385-385 213 0 385 173 385 385 0 213-172 385-385 385z m155-549c-6 0-11 2-16 5l-129 77c-32 19-56 61-56 98v171c0 17 14 31 31 31 17 0 31-14 31-31v-171c0-15 13-37 26-44l129-77c15-9 19-28 11-43-7-10-17-16-27-16z" horiz-adv-x="1000" />
     144
     145<glyph glyph-name="counter" unicode="&#xe844;" d="M500-98c-218 0-396 178-396 396 0 218 178 396 396 396 218 0 396-178 396-396 0-17-14-31-31-31-17 0-32 14-32 31 0 184-149 333-333 333-184 0-333-149-333-333 0-184 149-333 333-333 17 0 31-15 31-32 0-17-14-31-31-31z m0 375c-17 0-31 14-31 31v209c0 17 14 31 31 31 17 0 31-14 31-31v-209c0-17-14-31-31-31z m125 458h-250c-17 0-31 15-31 32 0 17 14 31 31 31h250c17 0 31-14 31-31 0-17-14-32-31-32z m167-791c-17 0-32 14-32 31v167c0 17 15 31 32 31 17 0 31-14 31-31v-167c0-17-14-31-31-31z m-125 0c-17 0-32 14-32 31v167c0 17 15 31 32 31 17 0 31-14 31-31v-167c0-17-14-31-31-31z" horiz-adv-x="1000" />
     146
     147<glyph glyph-name="flip-box" unicode="&#xe845;" d="M659 9c-11 0-22 1-34 2-22 2-47 6-72 12l-70 17c-192 45-255 147-210 338l41 175c9 40 20 72 33 98 72 148 209 135 306 112l70-16c97-23 159-59 194-115 34-55 39-127 16-224l-40-174c-36-153-111-225-234-225z m-112 706c-70 0-114-29-144-91-10-22-20-50-28-85l-41-175c-37-157 6-226 163-264l70-16c23-6 44-9 63-11 113-11 170 39 201 175l41 174c19 81 16 137-9 177-25 41-74 68-155 87l-69 16c-35 8-66 13-92 13z m-200-792c-107 0-175 64-219 200l-53 164c-60 183-7 287 176 346l66 21c21 7 38 11 52 14 12 2 24-2 31-12 7-9 8-22 3-33-10-22-20-50-28-85l-41-174c-37-158 6-226 164-264l70-17c22-5 43-8 62-10 14-1 25-10 28-23 4-13-1-27-12-34-28-19-62-35-106-49l-66-22c-48-15-89-22-127-22z m-23 668l-54-18c-148-48-184-118-136-267l54-164c48-149 118-185 267-137l65 22c3 1 5 1 8 2l-45 11c-192 45-255 147-210 338l41 175c3 13 6 26 10 38z" horiz-adv-x="1000" />
     148
     149<glyph glyph-name="facebook-feed" unicode="&#xe846;" d="M405 299c-3 0-67 0-97 0-16 0-21 6-21 21 0 39 0 80 0 119 0 16 6 21 21 21h97c0 3 0 60 0 86 0 40 7 77 27 111 21 36 50 59 87 73 25 9 50 13 76 13h97c13 0 19-6 19-20v-112c0-14-6-20-19-20-27 0-54 0-80-1-27 0-40-12-40-40-1-29 0-58 0-88h114c15 0 21-6 21-22v-119c0-16-5-21-21-21-36 0-111 0-114 0v-320c0-17-5-23-23-23-41 0-82 0-123 0-15 0-21 6-21 21 0 103 0 318 0 321z" horiz-adv-x="1000" />
     150
     151<glyph glyph-name="instagram-feed" unicode="&#xe847;" d="M696 743h-392c-108 0-197-88-197-197v-392c0-108 89-197 197-197h392c109 0 197 89 197 197v392c0 109-88 197-197 197z m131-589c0-73-58-131-131-131h-392c-73 0-131 58-131 131v392c0 73 58 131 131 131h392c73 0 131-58 131-131v-392z m-114 360c27 0 49 22 49 49 0 27-22 49-49 49-27 0-49-22-49-49 0-27 22-49 49-49z m-213 32c-108 0-196-87-196-196 0-108 88-196 196-196 109 0 196 88 196 196 0 109-87 196-196 196z m0-327c-72 0-131 59-131 131 0 72 59 131 131 131 72 0 131-59 131-131 0-72-59-131-131-131z" horiz-adv-x="1000" />
     152
     153<glyph glyph-name="login" unicode="&#xe848;" d="M507 366c-2 0-2 0-4 0-2 0-5 0-7 0-121 4-212 99-212 216 0 119 97 216 216 216 119 0 216-97 216-216 0-117-92-212-208-216 0 0-1 0-1 0z m-7 369c-85 0-154-69-154-153 0-84 65-151 148-154 2 1 8 1 14 0 81 4 145 71 146 154 0 84-69 153-154 153z m7-825c-82 0-164 21-226 63-58 38-89 91-89 148 0 57 31 110 89 149 125 83 328 83 452 0 57-39 90-91 90-148 0-57-32-110-90-149-63-42-144-63-226-63z m-191 307c-40-27-62-61-62-97 0-35 22-69 62-95 104-70 279-70 382 0 40 26 62 60 62 96 0 36-22 70-62 96-103 69-278 69-382 0z" horiz-adv-x="1000" />
     154
     155<glyph glyph-name="progress-bar" unicode="&#xe849;" d="M459 6h-146c-32 0-55 2-74 4-139 16-166 98-166 236v208c0 138 27 221 167 236 18 3 41 4 73 4h144c17 0 31-14 31-31 0-18-14-32-31-32h-144c-29 0-49-1-65-3-85-9-113-36-113-174v-208c0-138 28-164 112-174 17-2 37-3 66-3h146c17 0 31-14 31-31 0-18-14-32-31-32z m229 0h-62c-17 0-31 14-31 32 0 17 14 31 31 31h62c28 0 48 1 64 3 85 9 113 36 113 174v208c0 138-28 164-112 174-17 2-37 3-65 3h-62c-17 0-31 14-31 32 0 17 14 31 31 31h62c31 0 54-1 73-4 139-16 166-98 166-236v-208c0-138-27-221-167-236-18-2-41-4-72-4z m-63-104c-17 0-31 14-31 31v834c0 17 14 31 31 31 17 0 31-14 31-31v-834c0-17-14-31-31-31z m-346 406c-5 0-11 2-16 4-5 2-9 5-13 8-4 5-7 9-10 14-2 5-2 11-2 16 0 11 4 22 12 30 15 15 43 15 59 0 7-8 12-19 12-30 0-5-1-11-3-16-3-5-5-9-9-14-4-3-9-6-14-8-5-2-10-4-16-4z m167 0c-6 0-11 2-16 4-5 2-10 5-14 8-3 5-6 9-9 14-2 5-3 11-3 16 0 11 5 22 12 30 16 15 44 15 59 0 8-8 13-19 13-30 0-5-2-11-4-16-2-5-5-9-9-14-4-3-8-6-13-8-5-2-11-4-16-4z" horiz-adv-x="1000" />
     156
     157<glyph glyph-name="title-scrolltrigger" unicode="&#xe84a;" d="M917 273c-6 0-11 1-16 5l-104 62c-54 33-122 33-177 0-74-45-166-45-240 0-54 33-122 33-176 0l-104-62c-15-9-35-5-43 10-9 15-4 35 11 43l104 63c74 44 166 44 240 0 54-33 122-33 176 0 75 44 167 44 241 0l104-63c15-8 20-28 11-43-6-10-17-15-27-15z m-625 292c-42 0-84 11-121 33l-104 62c-15 9-19 28-11 43 9 15 28 20 43 11l104-62c55-33 122-33 177 0 74 44 166 44 240 0 54-33 122-33 176 0l104 62c15 9 35 4 43-11 9-14 5-34-10-43l-105-62c-74-45-166-45-240 0-54 32-122 32-176 0-37-22-79-33-120-33z m625-584c-6 0-11 1-16 5l-104 62c-54 33-122 33-177 0-74-44-166-44-240 0-54 33-122 33-176 0l-104-62c-15-9-35-4-43 11-9 15-4 34 11 43l104 62c74 45 166 45 240 0 54-32 122-32 176 0 75 45 167 45 241 0l104-62c15-9 20-28 11-43-6-10-17-16-27-16z" horiz-adv-x="1000" />
     158
     159<glyph glyph-name="twitter" unicode="&#xe84b;" d="M575 410l292 333h-69l-254-289-203 289h-234l307-437-307-349h70l268 305 214-305h234l-318 453h0z m-95-108l-31 44-248 346h107l200-279 31-44 259-363h-106l-212 296v0z" horiz-adv-x="1000" />
     160
     161<glyph glyph-name="setting" unicode="&#xe84d;" d="M500-93c-28 0-56 6-78 19l-229 132c-94 63-100 73-100 172v240c0 99 6 109 97 171l231 133c44 26 113 26 157 0l230-132c93-63 99-73 99-172v-240c0-99-6-108-97-170l-231-134c-23-13-51-19-79-19z m0 823c-17 0-35-3-47-10l-229-132c-68-46-68-46-68-118v-240c0-71 0-71 70-118l227-132c25-14 70-14 94 0l229 133c68 46 68 46 68 117v240c0 72 0 72-70 119l-227 131c-12 7-29 10-47 10z m0-536c-86 0-156 70-156 156 0 86 70 156 156 156 86 0 156-70 156-156 0-86-70-156-156-156z m0 250c-52 0-94-42-94-94 0-52 42-94 94-94 52 0 94 42 94 94 0 52-42 94-94 94z" horiz-adv-x="1000" />
     162
     163<glyph glyph-name="license-pro" unicode="&#xe84e;" d="M319 704c-105 0-173-72-173-184v-340c0-112 68-184 173-184h362c105 0 173 72 173 184v340c0 112-68 184-173 184h-362z m362-771h-362c-141 0-236 99-236 247v340c0 148 95 247 236 247h362c141 0 236-99 236-247v-340c0-148-95-247-236-247v0z m-313 463c-25 0-46-21-46-46 0-25 21-46 46-46 26 0 46 21 46 46 0 25-20 46-46 46m0-154c-60 0-108 48-108 108 0 60 48 108 108 108 60 0 109-48 109-108 0-60-49-108-109-108m341 0c-17 0-31 14-31 31v46h-232c-18 0-32 14-32 31 0 17 14 31 32 31h263c17 0 31-14 31-31v-77c0-17-14-31-31-31m-118 0c-17 0-31 14-31 31v77c0 17 14 31 31 31 17 0 31-14 31-31v-77c0-17-14-31-31-31" horiz-adv-x="1000" />
    140164</font>
    141165</defs>
  • easy-elements/trunk/admin/settings.php

    r3398938 r3401266  
    3030        add_action('wp_ajax_easy_elements_save_global_extensions', array( $this, 'easy_elements_save_global_extensions') ) ;
    3131        add_action('wp_ajax_easy_elements_save_global_extensions_bulk', array( $this, 'easy_elements_save_global_extensions_bulk') ) ;
    32        
     32
     33        add_action('wp_ajax_easy_elements_bulk_group_action', [$this, 'easy_elements_bulk_group_action']);
     34
    3335        add_action('admin_enqueue_scripts', array( $this, 'easyel_elements_enqueue_admin_assets') );
    3436        add_action( 'admin_head', array( $this, 'easyel_hide_admin_notices' ) );
     37
     38        add_action('wp_ajax_easyel_save_user_data', array( $this, 'easyel_save_user_data_callback') );
    3539    }
    3640
     
    4145        }
    4246        return self::$instance;
     47    }
     48
     49    public function easyel_save_user_data_callback() {
     50
     51        check_ajax_referer('easy_elements_nonce', 'security');
     52
     53        // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
     54        $posted = $_POST['settings'] ?? [];
     55        $settings = map_deep( wp_unslash( $posted ), 'sanitize_text_field' );
     56
     57        update_option( 'easy_element_user_data', $settings );
     58
     59        wp_send_json_success(['message' => 'Saved successfully!']);
    4360    }
    4461
     
    107124    }
    108125
     126    public function easy_elements_bulk_group_action() {
     127
     128        if (!current_user_can('manage_options')) {
     129            wp_send_json_error(__('Unauthorized', 'easy-elements'));
     130        }
     131
     132        check_ajax_referer('easy_elements_bulk_action_nonce', 'nonce');
     133
     134        $group = isset($_POST['group']) ? sanitize_text_field(wp_unslash($_POST['group'])) : '';
     135        $tab   = isset($_POST['tab']) ? sanitize_text_field(wp_unslash($_POST['tab'])) : 'widget';
     136        $status = isset($_POST['status']) && $_POST['status'] == 1 ? '1' : '0';
     137     
     138        $available_elements = $this->easyel_elements_get_available_widgets();
     139        $updated_count = 0;
     140
     141        $is_pro_active = class_exists('Easy_Elements_Pro');
     142
     143        foreach ($available_elements as $key => $widget) {
     144
     145            if (!isset($widget['tab']) || $widget['tab'] !== $tab) {
     146                continue;
     147            }
     148
     149            $group_slug = strtolower(trim($group));
     150
     151            $widget_group = isset( $widget['group'] ) ? $widget['group'] : 'General Widgets';
     152
     153            $widget_group_slug = strtolower(trim(str_replace(' ', '-', $widget_group ) ) );
     154
     155            if ($widget_group_slug !== $group_slug) {
     156                continue;
     157            }
     158
     159            $option_name = 'easy_element_' . $tab . '_' . $key;
     160
     161            if (!$is_pro_active && isset($widget['is_pro']) && $widget['is_pro']) {
     162                update_option($option_name, '0');
     163            } else {
     164                update_option($option_name, $status);
     165            }
     166
     167            $updated_count++;
     168        }
     169
     170        wp_send_json_success([
     171            'message'       => sprintf('%d widgets %s successfully', $updated_count, $status ? 'activated' : 'deactivated'),
     172            'count'         => $updated_count,
     173            'is_pro_active' => $is_pro_active,
     174            'status'        => $status
     175        ]);
     176    }
     177
    109178    public function easy_elements_save_global_extensions_bulk() {
    110179        if ( ! current_user_can( 'manage_options' ) ) {
     
    234303            'extensions' => __('All Extensions', 'easy-elements'),
    235304            'advsettings' => __('Advanced Settings', 'easy-elements'),
     305            'userData' => __('API Settings', 'easy-elements'),
    236306        ];
    237307
     
    249319                    <a href="#widget" class="easyel-nav-tab" data-tab="widget"><i class="easyelIcon-widgets"></i><?php esc_html_e('All Widgets','easy-elements'); ?></a>
    250320                    <a href="#extensions" class="easyel-nav-tab" data-tab="extensions"><i class="easyelIcon-extension"></i><?php esc_html_e('All Extensions','easy-elements'); ?></a>
    251                      
     321                    <a href="#userData" class="easyel-nav-tab" data-tab="userData"><i class="easyelIcon-setting"></i><?php esc_html_e('API Settings','easy-elements'); ?></a>
    252322                    <a href="<?php echo esc_url( admin_url( 'admin.php?page=easy-elements-license' ) ); ?>"
    253323                        class="easyel-nav-tab"
    254324                        data-tab="activate_license">
    255                         <i class="easyelIcon-extension"></i>
     325                        <i class="easyelIcon-license-pro"></i>
    256326                        <?php esc_html_e('Activate License','easy-elements'); ?>
    257327                    </a>
     
    376446                'docx_url'    => 'https://wpeasyelements.com/docs/clients-logo-slider/',
    377447                'is_pro'      => true,
    378                 'tab' => 'widget',
    379             ],
    380             'tab' => [
     448                'group'       => 'Creative Widgets',
     449                'tab' => 'widget',
     450            ],
     451            'simple_tab' => [
    381452                'icon'        => 'easyelIcon-tab',
    382453                'title'       => 'Tab',
     
    511582                'docx_url'    => 'https://wpeasyelements.com/docs/timeline-slider',
    512583                'is_pro'      => true,
     584                'group'       => 'Creative Widgets',
    513585                'tab' => 'widget',
    514586            ],     
     
    565637                'docx_url'    => 'https://wpeasyelements.com/docs/pricing-table',
    566638                'is_pro'      => false,
     639                'group'       => 'Marketing Widgets',
    567640                'tab' => 'widget',
    568641            ],                               
     
    574647                'docx_url'    => 'https://wpeasyelements.com/docs/pricing-list/',
    575648                'is_pro'      => true,
     649                'group'       => 'Marketing Widgets',
    576650                'tab' => 'widget',
    577651            ],
     
    583657                'docx_url'    => 'https://wpeasyelements.com/docs/pricing-tab/',
    584658                'is_pro'      => true,
     659                'group'       => 'Marketing Widgets',
    585660                'tab' => 'widget',
    586661            ],         
     
    703778            ],
    704779            'scrolltrigger_title' => [
    705                 'icon'        => 'easyelIcon-image-horizontal-scroll',   
    706                 'title'       => 'Title ScrollTrigger',
    707                 'description' => 'Title ScrollTrigger.',
     780                'icon'        => 'easyelIcon-title-scrolltrigger',   
     781                'title'       => 'Content ScrollTrigger',
     782                'description' => 'Content ScrollTrigger.',
    708783                'demo_url'    => 'https://wpeasyelements.com/title-scrolltrigger/',
    709784                'docx_url'    => 'https://wpeasyelements.com/docs/title-scrolltrigger/',
     
    712787            ],           
    713788            'Flip_Box' => [
    714                 'icon'        => 'easyelIcon-image-horizontal-scroll',   
     789                'icon'        => 'easyelIcon-flip-box',   
    715790                'title'       => 'Flip Box',
    716791                'description' => 'Flip Box.',
     
    718793                'docx_url'    => 'https://wpeasyelements.com/docs/flip-box',
    719794                'is_pro'      => true,
     795                'group'       => 'Creative Widgets',
    720796                'tab' => 'widget',
    721797            ],         
     
    9511027                'title'       => 'Filterable Gallery',
    9521028                'description' => 'filterable Gallery',
    953                 'demo_url'    => 'https://wpeasyelements.com/simple-gallery/',
    954                 'docx_url'    => 'https://wpeasyelements.com/docs/simple-gallery/',
    955                 'is_pro'      => true,
     1029                'demo_url'    => 'https://wpeasyelements.com/gallery-filter/',
     1030                'docx_url'    => 'https://wpeasyelements.com/gallery-filter/',
     1031                'is_pro'      => true,
     1032                'group'       => 'Creative Widgets',
    9561033                'tab' => 'widget',
    9571034            ],
     
    9721049                'docx_url'    => 'https://wpeasyelements.com/docs/protected-contents/',
    9731050                'is_pro'      => true,
     1051                'group'       => 'Creative Widgets',
    9741052                'tab' => 'widget',
    9751053            ],
     
    9901068                'docx_url'    => 'https://wpeasyelements.com/docs/image-hover-effect/',
    9911069                'is_pro'      => true,
     1070                'group'       => 'Creative Widgets',
    9921071                'tab' => 'widget',
    9931072            ],
     
    9961075                'title'       => 'ScrollTrigger',
    9971076                'description' => 'This Widget is image hover effect',
    998                 'demo_url'    => 'https://wpeasyelements.com/image-hover-effect/',
    999                 'docx_url'    => 'https://wpeasyelements.com/docs/image-hover-effect/',
     1077                'demo_url'    => 'https://wpeasyelements.com/horizontal-scroll/',
     1078                'docx_url'    => 'https://wpeasyelements.com/docs/horizontal-scroll/',
    10001079                'is_pro'      => true,
    10011080                'group'       => 'Animations',
     
    10061085                'title'       => 'Archive Post',
    10071086                'description' => 'This Widget is archive post widget',
    1008                 'demo_url'    => 'https://wpeasyelements.com/image-hover-effect/',
    1009                 'docx_url'    => 'https://wpeasyelements.com/docs/image-hover-effect/',
     1087                'demo_url'    => 'https://wpeasyelements.com/post-grid/',
     1088                'docx_url'    => 'https://wpeasyelements.com/docs/post-grid/',
    10101089                'is_pro'      => false,
    10111090                'tab' => 'widget',
    10121091             ],   
    10131092            'counter' => [
    1014                 'icon'        => 'eicon-counter',
     1093                'icon'        => 'easyelIcon-counter',
    10151094                'title'       => 'Counter',
    10161095                'description' => 'This is a widget that counts up.',
     
    10181097                'docx_url'    => 'https://wpeasyelements.com/docs/counter/',
    10191098                'is_pro'      => false,
     1099                'group'       => 'Creative Widgets',
    10201100                'tab'         => 'widget',
    10211101            ],   
    10221102            'countdown' => [
    1023                 'icon'        => 'eicon-countdown',
     1103                'icon'        => 'easyelIcon-countdown',
    10241104                'title'       => 'Countdown',
    10251105                'description' => 'This is a countdown widget.',
     
    10271107                'docx_url'    => 'https://wpeasyelements.com/docs/countdown/',
    10281108                'is_pro'      => false,
     1109                'group'       => 'Creative Widgets',
    10291110                'tab'         => 'widget',
    1030             ]       
     1111            ],
     1112            'easy_progress' => [
     1113                'icon'        => 'easyelIcon-progress-bar',
     1114                'title'       => 'Progress Bar',
     1115                'description' => 'This is a Progress bar widget.',
     1116                'demo_url'    => 'https://wpeasyelements.com/progressbar/',
     1117                'docx_url'    => 'https://wpeasyelements.com/docs/progressbar/',
     1118                'is_pro'      => false,
     1119                'group'       => 'Creative Widgets',
     1120                'tab'         => 'widget',
     1121            ],           
     1122            'facebook_feed' => [
     1123                'icon'        => 'easyelIcon-facebook-feed',
     1124                'title'       => 'Facebook Feed',
     1125                'description' => 'This Widget is facebook feeds',
     1126                'demo_url'    => 'https://wpeasyelements.comprotected-content/',
     1127                'docx_url'    => 'https://wpeasyelements.comdocs/protected-content/',
     1128                'is_pro'      => true,
     1129                'group'       => 'Social Media Feeds',
     1130                'tab' => 'widget',
     1131            ],
     1132            'instagram_feed' => [
     1133                'icon'        => 'easyelIcon-instagram-feed',
     1134                'title'       => 'Instagram Feed',
     1135                'description' => 'This Widget is instagram feeds',
     1136                'demo_url'    => 'https://wpeasyelements.com/instagram-feed/',
     1137                'docx_url'    => 'https://wpeasyelements.comdocs/instagram-feed/',
     1138                'is_pro'      => true,
     1139                'group'       => 'Social Media Feeds',
     1140                'tab' => 'widget',
     1141            ],
     1142            'login_register' => [
     1143                'icon'        => 'easyelIcon-login',
     1144                'title'       => 'Login / Register',
     1145                'description' => 'This Widget is login and register form',
     1146                'demo_url'    => 'https://wpeasyelements.com/register/',
     1147                'docx_url'    => 'https://wpeasyelements.com/register/',
     1148                'is_pro'      => false,
     1149                'group'       => 'Form Widgets',
     1150                'tab' => 'widget',
     1151            ],
    10311152        ];
    1032 
    10331153        return apply_filters( 'easyel_available_widgets', $widgets );
    10341154    }
  • easy-elements/trunk/admin/settingstab/tab-extensions.php

    r3398938 r3401266  
    2828            <div class="easyel-extension-heading-group easyel-dflex easyel-justify-between easyel-align-center">
    2929                <h2 class="easyel-extension-group-title"><?php echo esc_html( $group_name ); ?></h2>
     30               
    3031                <label class="easyel-toggle-switch-extension">
    3132                    <input type="checkbox"
  • easy-elements/trunk/admin/settingstab/tab-widget.php

    r3398938 r3401266  
    1616
    1717        $group_slug = str_replace(' ', '-', strtolower($group_name));
     18        $group_enabled = get_option('easy_element_group_' . $group_slug, 0);
    1819        ?>
    19         <h2 class="easyel-widget-group-title"><?php echo esc_html($group_name); ?></h2>
    20         <div class="easyel-widgets-grid <?php echo esc_attr( $group_slug ); ?>">
     20        <div class="easyel-widget-heading-group easyel-dflex easyel-justify-between easyel-align-center">
     21            <h2 class="easyel-widget-group-title"><?php echo esc_html($group_name); ?></h2>
     22            <label class="easyel-toggle-switch-widget">
     23                <input type="checkbox"
     24                        class="easyel-group-toggle-widget"
     25                        name ="easyel-toggle-switch-widget"
     26                        data-group="<?php echo esc_attr($group_slug); ?>"
     27                        <?php checked(1, $group_enabled); ?> />
     28                <span class="easyel-enable-all-widget">Enable All</span>
     29                <span class="slider"></span>
     30            </label>
     31            <input type="hidden" name="easy_element_group_<?php echo esc_attr($group_slug); ?>"
     32                class="easyel-group-hidden"
     33                value="<?php echo esc_attr($group_enabled); ?>" />
     34        </div>
     35
     36        <div class="easyel-widgets-grid <?php echo esc_attr( $group_slug ); ?>" data-group="<?php echo esc_attr($group_slug); ?>">
    2137            <?php foreach ( $widgets as $key => $widget ) :
    2238                $option_name = 'easy_element_' . $tab_slug . '_' . $key;
     
    4561                            <div class="widget-header">
    4662                                <strong><?php echo esc_html($widget['title']); ?></strong>
     63                               
    4764                            </div>
    4865                            <div class="easyel-demo-link easyel-dflex easyel-align-center">
  • easy-elements/trunk/assets/css/admin/admin.css

    r3397239 r3401266  
    848848}
    849849.easy-toggle-switch input,
    850 .easyel-toggle-switch-extension input{
     850.easyel-toggle-switch-extension input,
     851.easyel-toggle-switch-widget input{
    851852    opacity: 0;
    852853    width: 0;
     
    865866}
    866867.easy-toggle-switch .slider:before,
    867 .easyel-toggle-switch-extension .slider:before {
     868.easyel-toggle-switch-widget .slider:before,
     869.easyel-toggle-switch-extension .slider:before,
     870.easyel-toggle-switch-widget .slider:before {
    868871    position: absolute;
    869872    content: "";
     
    877880}
    878881.easy-toggle-switch input:checked + .slider,
    879 .easyel-toggle-switch-extension input:checked ~ .slider {
     882.easyel-toggle-switch-extension input:checked ~ .slider,
     883.easyel-toggle-switch-widget input:checked ~ .slider {
    880884    background-color: #22C55E;
    881885}
     886
    882887.easy-toggle-switch input:checked + .slider:before {
    883888    transform: translateX(16px);
     
    892897/****************************/
    893898
    894 .easyel-toggle-switch-extension {
     899.easyel-toggle-switch-extension,
     900.easyel-toggle-switch-widget {
    895901    display: inline-flex;
    896902    align-items: center;
     
    900906    gap: 10px;
    901907}
    902 .easyel-toggle-switch-extension .easyel-enable-all {
     908.easyel-toggle-switch-extension .easyel-enable-all,
     909.easyel-toggle-switch-widget .easyel-enable-all-widget {
    903910    font-size: 14px;
    904911    font-weight: 500;
     
    907914    white-space: nowrap;
    908915}
    909 .easyel-toggle-switch-extension input {
     916.easyel-toggle-switch-extension input,
     917.easyel-toggle-switch-widget input
     918 {
    910919    position: absolute;
    911920}
    912 .easyel-toggle-switch-extension .slider {
     921.easyel-toggle-switch-extension .slider,
     922.easyel-toggle-switch-widget .slider
     923 {
    913924    position: relative;
    914925    width: 44px;
     
    918929    transition: all 0.3s ease;
    919930}
    920 .easyel-toggle-switch-extension .slider:before {
     931.easyel-toggle-switch-extension .slider:before,
     932.easyel-toggle-switch-widget .slider:before
     933 {
    921934    background-color: #fff;
    922935    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    923936}
    924937
    925 .easyel-toggle-switch-extension input:checked ~ .slider:before {
     938.easyel-toggle-switch-extension input:checked ~ .slider:before,
     939.easyel-toggle-switch-widget input:checked ~ .slider:before
     940 {
    926941    transform: translateX(20px);
    927942}
     
    10181033
    10191034/****************************/
     1035   /* Start Settings Area  */
     1036/****************************/
     1037.easyel-settings-topbar {
     1038    display: flex;
     1039    justify-content: space-between;
     1040}
     1041.easyel-settings-topbar button {
     1042    background: var(--easy-primary-color);
     1043    color: var(--easy-white-color);
     1044    font-weight: 500;
     1045    padding: 12px 24px;
     1046    font-size: 16px;
     1047    line-height: 150%;
     1048    border: none;
     1049    box-shadow: none;
     1050    border-radius: 8px;
     1051    cursor: pointer;
     1052    transition: all 0.3s ease;
     1053}
     1054.easyel-settings-wrapper .w-100 {
     1055    width: 100% !important;
     1056}
     1057.easyel-settings-wrapper .easyel-settings-field {
     1058    display: flex;
     1059    margin-bottom: 20px;
     1060}
     1061.easyel-settings-field-label {
     1062    min-width: 200px;
     1063}
     1064.easyel-settings-field-inputs {
     1065    display: flex;
     1066    gap: 10px;
     1067    flex-direction: column;
     1068    width: 100%;
     1069}
     1070.easyel-settings-field .easyel-settings-field-input {
     1071    padding: 10px 20px;
     1072    border-radius: 4px;
     1073    border: 1px solid #ededed;
     1074    width: min-content;
     1075}
     1076.easyel-settings-field-group {
     1077    display: flex;
     1078    gap: 10px;
     1079    flex-direction: column;
     1080}
     1081.easyel-toast {
     1082    position: fixed;
     1083    top: 100px;
     1084    right: 20px;
     1085    background: #2271b1;
     1086    color: #fff;
     1087    padding: 10px 20px;
     1088    border-radius: 5px;
     1089    font-size: 14px;
     1090    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
     1091    z-index: 99999;
     1092    opacity: 0;
     1093    transform: translateY(-20px);
     1094    transition: all 0.3s ease;
     1095}
     1096.easyel-toast.show {
     1097    opacity: 1;
     1098    transform: translateY(0);
     1099}
     1100.easyel-toast.success { background: #46b450; }
     1101.easyel-toast.error { background: #d63638; }
     1102.easyel-toast.info { background: #1e73be; }
     1103
     1104.easyel-export-settings .button-primary,
     1105.easyel-import-settings .button-primary
     1106{
     1107    background: var(--easy-primary-color);
     1108    color: var(--easy-white-color);
     1109    font-weight: 500;
     1110    padding: 4px 15px;
     1111    outline: none;
     1112    border-radius: 6px;
     1113    border: none;
     1114}
     1115
     1116.easyel-export-settings .button-primary:focus,
     1117.easyel-import-settings .button-primary:focus,
     1118.easyel-export-settings .button-primary:hover,
     1119.easyel-import-settings .button-primary:hover
     1120{
     1121    background: var(--easy-primary-color);
     1122    color: var(--easy-white-color);
     1123    border: none;
     1124}
     1125
     1126
     1127/****************************/
     1128   /* End Settings Area  */
     1129/****************************/
     1130
     1131/****************************/
    10201132   /* Start Responsive Area  */
    10211133/****************************/
  • easy-elements/trunk/assets/js/admin.js

    r3398938 r3401266  
    1313            this.easyelVideoPopuo();
    1414            this.easyelFaq();
     15            this.initSettings();
     16            this.EasyelWidgetGroupEnable();
    1517        },
    1618
    1719       initWidgetToggles: function() {
    1820           
    19             // $('.easy-widget-item.easyel-pro-enable .widget-toggle-checkbox').each(function() {
    20             //     $(this).prop('checked', false).prop('disabled', true);
    21             // });
     21            $('.easy-widget-item.easyel-pro-enable .widget-toggle-checkbox').each(function() {
     22                $(this).prop('checked', false).prop('disabled', true);
     23            });
    2224
    2325            $('.widget-toggle-checkbox').on('change', function() {
     
    5456
    5557        initSearchFunctionality: function() {
     58
     59            function hideEmptyGroups() {
     60                $('.easyel-widgets-grid').each(function () {
     61                    var wrapper = $(this);
     62                    var items = wrapper.find('.easy-widget-item');
     63
     64                    var visibleItems = items.filter(function () {
     65                        return $(this).css('display') !== 'none';
     66                    }).length;
     67
     68                    var headingGroup = wrapper.prev('.easyel-widget-heading-group');
     69
     70                    if (visibleItems === 0) {
     71                        headingGroup.hide();
     72                        wrapper.hide();
     73                    } else {
     74                        headingGroup.show();
     75                        wrapper.show();
     76                    }
     77                });
     78            }
     79
    5680            $('#element-search').on('input', function() {
    5781                var searchTerm = $(this).val().toLowerCase();
     82
    5883                $('.easy-widget-item').each(function() {
    5984                    var widgetTitle = $(this).find('.widget-header strong').text().toLowerCase();
    60                     var widgetDesc = $(this).find('.widget-description').text().toLowerCase();
    61                    
     85                    var widgetDesc  = $(this).find('.widget-description').text().toLowerCase();
     86
    6287                    if (widgetTitle.includes(searchTerm) || widgetDesc.includes(searchTerm)) {
    6388                        $(this).show();
     
    6691                    }
    6792                });
    68             });
    69         },
     93
     94                hideEmptyGroups();
     95            });
     96
     97            hideEmptyGroups();
     98        },
     99
    70100
    71101        initBulkActions: function() {
     
    81111
    82112        performBulkAction: function(action) {
     113
    83114            var currentTab = $('.easyel-nav-tab-active').data('tab');
     115            var currentFilter = $('.easyel-action-btn.active').data('filter');
    84116            var btn = action === 'activate_all' ? $('#activate-all-btn') : $('#deactivate-all-btn');
    85117            var originalText = btn.text();
     
    91123                bulk_action: action,
    92124                tab: currentTab,
     125                filter: currentFilter,
    93126                nonce: easyElementsData.bulk_action_nonce
    94127            })
    95128            .done(function(response) {
     129
    96130                if (response.success) {
     131
    97132                    $('.widget-toggle-checkbox').each(function() {
    98133                        var $checkbox = $(this);
    99 
    100                         if ($checkbox.data('tab') === currentTab) {
    101                             var isPro = $checkbox.closest('.easy-widget-item').hasClass('easyel-pro-enable');
    102                              if (isPro && !response.data.is_pro_active) {
    103                                  $checkbox.prop('checked', false).prop('disabled', true);
    104                              } else {
    105                                 $checkbox.prop('checked', action === 'activate_all');
    106                                 $checkbox.prop('disabled', false);
     134                        let item = $checkbox.closest('.easy-widget-item');
     135
     136                        if ($checkbox.data('tab') !== currentTab) {
     137                            return;
     138                        }
     139
     140                        let isProWidget = item.hasClass('easyel-pro-widget');
     141
     142                        if (currentFilter === 'easyel_free' && isProWidget) {
     143                            return;
     144                        }
     145
     146                        if (currentFilter === 'easyel_pro' && !isProWidget) {
     147                            return;
     148                        }
     149
     150                        if (isProWidget && !response.data.is_pro_active) {
     151                            $checkbox.prop('checked', false).prop('disabled', true);
     152                        } else {
     153                            $checkbox.prop('checked', action === 'activate_all');
     154                            $checkbox.prop('disabled', false);
     155                        }
     156
     157                    });
     158
     159                    $('.easyel-group-toggle-widget').each(function() {
     160                        let groupCheckbox = $(this);
     161                        let groupSlug = groupCheckbox.data('group');
     162                        let groupWrapper = $('.easyel-widgets-grid[data-group="' + groupSlug + '"]');
     163
     164                        let allChecked = true;
     165                        groupWrapper.find('.widget-toggle-checkbox').each(function() {
     166                            if (!$(this).prop('checked') && !$(this).closest('.easyel-widget-item').hasClass('easyel-pro-enable')) {
     167                                allChecked = false;
     168                                return false;
    107169                            }
    108                         }
     170                        });
     171
     172                        groupCheckbox.prop('checked', allChecked);
     173                        groupCheckbox.closest('.easyel-toggle-switch-widget').find('.easyel-enable-all-widget').text(allChecked ? 'Disable All' : 'Enable All');
    109174                    });
    110175                }
     
    113178                btn.prop('disabled', false).text(originalText);
    114179            });
     180        },
     181
     182        EasyelWidgetGroupEnable: function() {
     183
     184            function EasyupdateEnableAllText2(groupCheckbox, groupWrapper) {
     185                let allChecked = true;
     186                groupWrapper.find('.widget-toggle-checkbox').each(function() {
     187                    if (!$(this).prop('checked') && !$(this).closest('.easyel-widget-item').hasClass('easyel-pro-enable')) {
     188                        allChecked = false;
     189                        return false;
     190                    }
     191                });
     192
     193                let textSpan = groupCheckbox.closest('.easyel-toggle-switch-widget').find('.easyel-enable-all-widget');
     194
     195                textSpan.text(allChecked ? 'Disable All' : 'Enable All');
     196                groupCheckbox.prop('checked', allChecked);
     197            }
     198
     199            let groupTabEnable = $(".easyel-tab-panel.widget");
     200
     201            groupTabEnable.find('.easyel-group-toggle-widget').each(function() {
     202                let groupCheckbox = $(this);
     203                let groupSlug = groupCheckbox.data('group');
     204                let groupWrapper = $('.easyel-widgets-grid[data-group="' + groupSlug + '"]');
     205
     206                EasyupdateEnableAllText2(groupCheckbox, groupWrapper);
     207            });
     208
     209            groupTabEnable.on('change', '.easyel-group-toggle-widget', function () {
     210
     211                let groupCheckbox = $(this);
     212                let groupSlug = groupCheckbox.data('group');
     213                let groupWrapper = $('.easyel-widgets-grid[data-group="' + groupSlug + '"]');
     214                let hiddenField = $('input.easyel-group-hidden[name="easy_element_group_' + groupSlug + '"]');
     215
     216                let status = groupCheckbox.is(':checked') ? 1 : 0;
     217
     218                groupWrapper.find('.widget-toggle-checkbox').each(function () {
     219                    let checkbox = $(this);
     220                    if (checkbox.closest('.easyel-widget-item').hasClass('easyel-pro-enable')) return;
     221                    checkbox.prop('checked', status === 1);
     222                });
     223
     224                hiddenField.val(status);
     225
     226                EasyupdateEnableAllText2( groupCheckbox, groupWrapper );
     227
     228                let keys = [];
     229                groupWrapper.find('.widget-toggle-checkbox').each(function() { keys.push($(this).data('key')); });
     230                if (keys.length) {
     231                    $.post(ajaxurl, {
     232                        action: 'easy_elements_bulk_group_action',
     233                        group: groupSlug,
     234                        status: status,
     235                        nonce: easyElementsData.bulk_action_nonce
     236                    });
     237                }
     238            });
     239
    115240        },
    116241
     
    136261            });
    137262
     263            function EasyupdateEnableAllText(groupCheckbox) {
     264                let status = groupCheckbox.is(':checked') ? 1 : 0;
     265                let label = groupCheckbox.closest('.easyel-toggle-switch-extension');
     266                let textSpan = label.find('.easyel-enable-all');
     267
     268                if (status === 1) {
     269                    textSpan.text('Disable All');
     270                } else {
     271                    textSpan.text('Enable All');
     272                }
     273            }
     274
     275            $extensionsTab.find('.easyel-group-toggle').each(function() {
     276                EasyupdateEnableAllText($(this));
     277            });
     278
    138279            $extensionsTab.on('change', '.easyel-group-toggle', function () {
    139280                let groupCheckbox = $(this);
     
    143284
    144285                let status = groupCheckbox.is(':checked') ? 1 : 0;
     286
     287                EasyupdateEnableAllText(groupCheckbox);
     288
     289
    145290                groupWrapper.find('.easyel-extension-toggle').each(function () {
    146291                    let checkbox = $(this);
     
    276421            };
    277422        },
     423
     424        easyel_notify: function(message, type = 'success', duration = 3000) {
     425            const toast = document.createElement('div');
     426            toast.className = `easyel-toast ${type}`;
     427            toast.innerText = message;
     428
     429            document.body.appendChild(toast);
     430
     431            // Show animation
     432            setTimeout(() => toast.classList.add('show'), 50);
     433
     434            // Auto remove after duration
     435            setTimeout(() => {
     436                toast.classList.remove('show');
     437                setTimeout(() => toast.remove(), 300);
     438            }, duration);
     439        },
     440
     441        initSettings: function() {
     442            $('#easyel-settings-save').click(function (e) {
     443                e.preventDefault();
     444
     445                let dataArr = $('#easyel-settings-form').serializeArray();
     446                let settings = {};
     447
     448                dataArr.forEach(field => {
     449                    let name = field.name;
     450                    let value = field.value;
     451
     452                    // Detect nested name e.g. fb_config[page_id]
     453                    if (name.includes('[')) {
     454                        let mainKey = name.split('[')[0];                     // fb_config
     455                        let subKey = name.match(/\[(.*?)\]/)[1];              // page_id
     456
     457                        if (!settings[mainKey]) settings[mainKey] = {};       // init object
     458                        settings[mainKey][subKey] = value;                    // assign value
     459                    } else {
     460                        // simple field (no nested)
     461                        settings[name] = value;
     462                    }
     463                });
     464                       
     465                $.ajax({
     466                    url: ajaxurl,
     467                    type: "POST",
     468                    data: {
     469                        action: "easyel_save_user_data",
     470                        security: easyElementsData.nonce,
     471                        settings: settings
     472                    },
     473                    beforeSend: function () {
     474                        $('#easyel-settings-save')
     475                            .text("Saving...")
     476                            .prop("disabled", true);
     477                    },
     478                    success: function(res){
     479                        $('#easyel-settings-save')
     480                            .text('Save Settings')
     481                            .prop('disabled', false);
     482
     483                        if(res.success){
     484                            EasyElementsAdmin.easyel_notify(res.data.message, 'success');
     485                        } else {
     486                            EasyElementsAdmin.easyel_notify('Error saving settings.', 'error');
     487                        }
     488                    },
     489                    error: function(){
     490                        EasyElementsAdmin.easyel_notify('AJAX error!', 'error');
     491                        $('#easyel-settings-save').text('Save Settings').prop('disabled', false);
     492                    }
     493                });
     494
     495            });
     496        },
    278497    };
    279498
     
    284503    window.EasyElementsAdmin = EasyElementsAdmin;
    285504
     505    jQuery(document).ready(function ($) {
     506
     507        function hideEmptyGroups() {
     508
     509            $('.easyel-widgets-grid').each(function () {
     510                var wrapper = $(this);
     511
     512                var items = wrapper.find('.easy-widget-item');
     513
     514                var visibleItems = items.filter(function () {
     515                    return $(this).css('display') !== 'none';
     516                }).length;
     517
     518                var headingGroup = wrapper.prev('.easyel-widget-heading-group');
     519
     520                if (visibleItems === 0) {
     521                    headingGroup.hide();
     522                } else {
     523                    headingGroup.show();
     524                }
     525            });
     526        }
     527
     528        hideEmptyGroups();
     529
     530        $(document).on('click', '.easyel-action-btn', function () {
     531            setTimeout(hideEmptyGroups, 50);
     532        });
     533
     534    });
     535
     536
     537
    286538})(jQuery);
  • easy-elements/trunk/base.php

    r3398938 r3401266  
    239239                'tab'   => 'widget'
    240240            ],
    241             'tab' => [
     241            'simple_tab' => [
    242242                'class' => '\Easyel_Tab_Widget',
    243243                'file'  => EASYELEMENTS_DIR_PATH . '/widgets/tab/tab.php',
     
    424424                'tab'   => 'widget',
    425425            ],
     426            'login_register' => [
     427                'class' => '\Easyel_Login_Register_Widget',
     428                'file'  => __DIR__ . '/widgets/login-register/login-register.php',
     429                'tab'   => 'widget',
     430            ],
    426431        ];
    427432
  • easy-elements/trunk/easy-elements.php

    r3398938 r3401266  
    44 * Plugin URI:  https://wpeasyelements.com/
    55 * Description: Provides a set of custom Elementor widgets, shortcodes, and enhancements.
    6  * Version:     1.0.9
     6 * Version:     1.1.0
    77 * Author:      Themewant
    88 * Author URI:  https://themewant.com/
     
    1717}
    1818
    19 define( 'EASYELEMENTS_VER', '1.0.9' );
     19define( 'EASYELEMENTS_VER', '1.1.0' );
    2020
    2121// Define constants
     
    6868        update_option( $option_key_extension, $settings );
    6969
    70 
    7170        $include_widget = array(
    7271            "easy_table",
     
    9392            }
    9493        }
    95 
    9694    }
    97 
    9895
    9996    flush_rewrite_rules();
  • easy-elements/trunk/header-footer-builder/classes/easy-header-footer.php

    r3398072 r3401266  
    145145    /**
    146146     * Force enqueue Elementor CSS for a given post ID.
    147      */
     147    */
     148
    148149    public static function force_enqueue_css( $post_id ) {
    149150        if ( ! $post_id ) return;
     
    159160        $upload_dir = wp_upload_dir();
    160161        $path = $upload_dir['baseurl'] . '/elementor/css/post-' . $post_id . '.css';
     162        $path = set_url_scheme( $path );
     163
    161164        wp_enqueue_style( 'elementor-post-' . $post_id, $path, [], get_post_field( 'post_modified_gmt', $post_id ), 'all' );
    162 
    163165
    164166        $css_file->enqueue();
  • easy-elements/trunk/readme.txt

    r3398938 r3401266  
    55Tested up to: 6.8
    66Requires PHP: 7.4
    7 Stable tag: 1.0.9
     7Stable tag: 1.1.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    175175== Changelog ==
    176176
     177= 1.1.0 =
     178* Added: Login/Register Widget
     179* Fixed: Settings Page Free & Pro filter Activate / deactivate all filter fix
     180* Added: Settings enable /disable added
     181
    177182= 1.0.9 =
    178183* Added: Content ScrollTrigger
  • easy-elements/trunk/widgets/blog-grid/blog-grid.php

    r3398938 r3401266  
    1111    public function get_style_depends() {
    1212        $handle = 'eel-blog-grid-style';
    13         $css_path = plugin_dir_path( __FILE__ ) . 'css/blog-grid.min.css';     
     13        $css_path = plugin_dir_path( __FILE__ ) . 'css/blog-grid.css';     
    1414        if ( ! wp_style_is( $handle, 'registered' ) && file_exists( $css_path ) ) {
    15             wp_register_style( $handle, plugins_url( 'css/blog-grid.min.css', __FILE__ ), [], defined( 'WP_DEBUG' ) && WP_DEBUG ? filemtime( $css_path ) : EASYELEMENTS_VER );
     15            wp_register_style( $handle, plugins_url( 'css/blog-grid.css', __FILE__ ), [], defined( 'WP_DEBUG' ) && WP_DEBUG ? filemtime( $css_path ) : EASYELEMENTS_VER );
    1616        }
    1717        return [ $handle ];
    1818    }   
    19 
    2019    protected function get_all_posts() {
    2120       $posts = get_posts( [ 'numberposts' => -1 ] );
     
    17591758            ]
    17601759        );
     1760
     1761        $this->add_control(
     1762            'eel_enable_blur_switcher',
     1763            [
     1764                'label' => __( 'Enable Blur', 'easy-elements' ),
     1765                'type' => \Elementor\Controls_Manager::SWITCHER,
     1766                'label_on' => __( 'Yes', 'easy-elements' ),
     1767                'label_off' => __( 'No', 'easy-elements' ),
     1768                'return_value' => 'yes',
     1769                'default' => 'no',
     1770            ]
     1771        );
     1772
     1773        $this->add_control(
     1774            'eel_blur_badge',
     1775            [
     1776                'label' => __( 'Blur', 'easy-elements' ),
     1777                'type' => \Elementor\Controls_Manager::SLIDER,
     1778                'size_units' => [ 'px', '%' ],
     1779                'range' => [
     1780                    'px' => [ 'min' => 0, 'max' => 100, 'step' => 1 ],
     1781                    '%' => [ 'min' => 0, 'max' => 100 ],
     1782                ],
     1783                'condition' => [
     1784                    'eel_enable_blur_switcher' => 'yes', 
     1785                ],
     1786                'selectors' => [
     1787                    '{{WRAPPER}} .eel--blog-date-top' => 'backdrop-filter: blur({{SIZE}}{{UNIT}});',
     1788                ],
     1789            ]
     1790        );
     1791
    17611792        $this->end_controls_section();
    17621793    }
     
    19341965                            </div>
    19351966                        <?php } ?>
     1967                       
    19361968                        <div class="ee--blog-content-wrap">
    19371969                            <div class="ee--blog-content eel-content--<?php echo esc_attr( $style_transparent ); ?>">
     
    19391971                                    <?php $this->render_blog_meta( $settings ); ?>
    19401972                                <?php endif; ?>
    1941 
    1942                                 <?php if(!empty($date_options) && !empty($settings['show_date_on_top'])): ?>
    1943                                     <div class="eel--blog-date-top">
    1944                                         <h4><?php echo esc_html(get_the_time('d')); ?></h4>
    1945                                         <span><?php echo esc_html(get_the_time('M')); ?></span>
    1946                                     </div>
    1947                                 <?php endif; ?>
    1948 
    19491973                                <<?php echo esc_attr( $title_tag ); ?> class="ee--blog-title">
    19501974                                    <a href="<?php the_permalink(); ?>"><?php echo esc_html( $trimmed_title ); ?></a>
     
    19932017                                </div>
    19942018                            <?php endif;
    1995                                 if ( 'yes' === $settings['only_icon_show'] ) { ?>
    1996                                     <div class="eel--button-icon">
     2019                                if ( 'yes' === $settings['only_icon_show'] ) { ?>                                   
     2020                                    <a href="<?php the_permalink(); ?>" class="eel--button-icon">
    19972021                                        <?php
    19982022                                        if ( empty( $settings['only_icon']['value'] ) ) {
     
    20012025                                            \Elementor\Icons_Manager::render_icon( $settings['only_icon'], [ 'aria-hidden' => 'true' ] );
    20022026                                        } ?>
    2003                                     </div>
     2027                                    </a>                                   
    20042028                                <?php
    20052029                                }
    20062030                            ?>
    20072031                        </div>
     2032                       
     2033                        <?php if(!empty($date_options) && !empty($settings['show_date_on_top'])): ?>
     2034                            <div class="eel--blog-date-top">
     2035                                <h4><?php echo esc_html(get_the_time('d')); ?></h4>
     2036                                <span><?php echo esc_html(get_the_time('M')); ?></span>
     2037                            </div>
     2038                        <?php endif; ?>
    20082039                    </div>
    20092040                </div>
  • easy-elements/trunk/widgets/blog-grid/css/blog-grid.css

    r3398938 r3401266  
    5858.eel-post-grid-wrap .grid-item .eel--blog-img {
    5959  overflow: hidden;
     60  width: 100%;
    6061}
    6162
     
    240241}
    241242.grid-item-inner.eel--transparent-post {
     243  width: 100%;
    242244  position: relative;
    243245}
  • easy-elements/trunk/widgets/blog-grid/css/blog-grid.css.map

    r3398938 r3401266  
    1 {"version":3,"sources":["blog-grid.scss","blog-grid.css"],"names":[],"mappings":"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","file":"blog-grid.css"}
     1{"version":3,"sources":["blog-grid.scss","blog-grid.css"],"names":[],"mappings":"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","file":"blog-grid.css"}
  • easy-elements/trunk/widgets/blog-grid/css/blog-grid.scss

    r3398938 r3401266  
    2525   
    2626}
    27 
    28 
    2927
    3028.eel--blog-img{
     
    6462.eel-post-grid-wrap .grid-item .eel--blog-img{
    6563    overflow: hidden;
     64    width: 100%;
    6665}
    6766
     
    249248    position: relative;
    250249    &.eel--transparent-post{
     250        width: 100%;
    251251        position: relative;
    252252        .ee--blog-content-wrap{
  • easy-elements/trunk/widgets/countdown/countdown.php

    r3398072 r3401266  
    3535
    3636    public function get_icon() {
    37         return 'easyicon eicon-countdown';
     37        return 'easyicon easyelIcon-countdown';
    3838    }
    3939
     
    4343
    4444    public function get_keywords() {
    45       return [ 'counter', 'Countdown' ];
     45      return [ 'Countdown', 'timer', 'schedule', 'time', 'day', 'hour', 'minute', 'second' ];
    4646    }
    4747
  • easy-elements/trunk/widgets/counter/counter.php

    r3398072 r3401266  
    4343
    4444    public function get_icon() {
    45         return 'easyicon eicon-counter';
     45        return 'easyicon easyelIcon-counter';
    4646    }
    4747
     
    5151
    5252    public function get_keywords() {
    53       return [ 'counter', 'funfact', 'Countdown' ];
     53      return [ 'counter', 'funfact', 'counterup', 'count', 'text' ];
    5454    }
    5555
  • easy-elements/trunk/widgets/gallery/gallery.php

    r3398072 r3401266  
    358358            ]
    359359        );
    360         $this->add_control(
     360        $this->add_responsive_control(
    361361            'hover_icon_size',
    362362            [
  • easy-elements/trunk/widgets/heading/heading.php

    r3398072 r3401266  
    4141
    4242    protected function register_controls() {
    43 
    4443        $this->start_controls_section(
    4544            'content_section',
  • easy-elements/trunk/widgets/progress/progress.php

    r3398072 r3401266  
    1818
    1919    public function get_name() {
    20         return 'rt-progress-bar';
     20        return 'easyel-progress-bar';
    2121    }
    2222
    2323    public function get_title() {
    24         return esc_html__( 'RT Progress Bar', 'easy-elements' );
     24        return esc_html__( 'Progress Bar', 'easy-elements' );
    2525    }
    2626
    2727    public function get_icon() {
    28         return 'easyicon rt-e-icon';
     28        return 'easyicon easyelIcon-progress-bar';
    2929    }
    3030
    3131    public function get_categories() {
    32         return [ 'pielements_category' ];
     32        return [ 'easyelements_category' ];
    3333    }
    3434
     
    7272
    7373        $this->add_control(
    74             'percent',
    75             [
    76                  'label' => __( 'Percent', 'easy-elements' ),
     74            'easy_percent',
     75            [
     76                 'label' => __( 'easy_Percent', 'easy-elements' ),
    7777                 'type' => \Elementor\Controls_Manager::NUMBER,
    7878                 'min' => 0,
     
    9797                'type' => \Elementor\Controls_Manager::COLOR,
    9898                'selectors' => [
    99                     '{{WRAPPER}} .rt-progress-bar .progress' => 'background: {{VALUE}}',
     99                    '{{WRAPPER}} .easyel-progress-bar .progress' => 'background: {{VALUE}}',
    100100                ],
    101101                'condition' => [
     
    111111                'type' => \Elementor\Controls_Manager::COLOR,
    112112                'selectors' => [
    113                     '{{WRAPPER}} .rt-progress-bar .progress-bar' => 'background: {{VALUE}}',
     113                    '{{WRAPPER}} .easyel-progress-bar .progress-bar' => 'background: {{VALUE}}',
    114114                ],
    115115                'condition' => [
     
    125125                'name' => 'progress_color',
    126126                'types' => [ 'classic', 'gradient', 'video' ],
    127                 'selector' => '{{WRAPPER}} .rt-progress-bar .progress',
     127                'selector' => '{{WRAPPER}} .easyel-progress-bar .progress',
    128128                'condition' => [
    129129                    'select_style' => 'style2'
     
    139139                'type' => Controls_Manager::SLIDER,
    140140                'selectors' => [
    141                     '{{WRAPPER}} .rt-progress-bar .progress' => 'height: {{SIZE}}{{UNIT}};',
     141                    '{{WRAPPER}} .easyel-progress-bar .progress' => 'height: {{SIZE}}{{UNIT}};',
    142142                ],
    143143            ]
     
    149149                'type' => Controls_Manager::SLIDER,
    150150                'selectors' => [
    151                     '{{WRAPPER}} .rt-progress-bar .progress' => 'border-radius: {{SIZE}}{{UNIT}};',
     151                    '{{WRAPPER}} .easyel-progress-bar .progress' => 'border-radius: {{SIZE}}{{UNIT}};',
    152152                ]
    153153            ]
     
    170170                'type' => Controls_Manager::COLOR,
    171171                'selectors' => [
    172                     '{{WRAPPER}} .rt-progress-bar .title' => 'color: {{VALUE}};',
     172                    '{{WRAPPER}} .easyel-progress-bar .title' => 'color: {{VALUE}};',
    173173                ],
    174174            ]
     
    179179            [
    180180                'name' => 'title_typography',
    181                 'selector' => '{{WRAPPER}} .rt-progress-bar .title',
     181                'selector' => '{{WRAPPER}} .easyel-progress-bar .title',
    182182            ]
    183183        ); 
     
    185185
    186186        $this->start_controls_section(
    187             'percent_styles',
    188             [
    189                 'label' => esc_html__( 'Percent', 'easy-elements' ),
     187            'easy_percent_styles',
     188            [
     189                'label' => esc_html__( 'easy_Percent', 'easy-elements' ),
    190190                'tab' => Controls_Manager::TAB_STYLE,
    191191            ]
    192192        );
    193193        $this->add_control(
    194             'percent_color',
     194            'easy_percent_color',
    195195            [
    196196                'label' => esc_html__( 'Color', 'easy-elements' ),
    197197                'type' => Controls_Manager::COLOR,
    198198                'selectors' => [
    199                     '{{WRAPPER}} .rt-progress-bar .percent' => 'color: {{VALUE}};',
     199                    '{{WRAPPER}} .easyel-progress-bar .easy_percent' => 'color: {{VALUE}};',
    200200                ],
    201201            ]
     
    205205            Group_Control_Typography::get_type(),
    206206            [
    207                 'name' => 'percent_typography',
    208                 'selector' => '{{WRAPPER}} .rt-progress-bar .percent',
     207                'name' => 'easy_percent_typography',
     208                'selector' => '{{WRAPPER}} .easyel-progress-bar .easy_percent',
    209209            ]
    210210        ); 
     
    214214    protected function render() {
    215215    $settings = $this->get_settings_for_display();
    216     $percent = !empty($settings['percent']) ? rtrim($settings['percent']) : 0;
     216    $easy_percent = !empty($settings['easy_percent']) ? rtrim($settings['easy_percent']) : 0;
    217217    $title = !empty($settings['title']) ? $settings['title'] : '';
    218218    ?>     
    219     <div class="rt-progress-bar">
     219    <div class="easyel-progress-bar">
    220220        <?php
    221221        if( $settings['select_style'] == 'style2' ) : ?>
     
    225225                <?php endif; ?>
    226226                <div class="progress">
    227                     <div class="progress-bar wow fadeInLeft" data-wow-duration="0.5s" data-wow-delay=".3s" role="progressbar" style="width: <?php echo esc_html( $percent ); ?>%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100">
     227                    <div class="progress-bar wow fadeInLeft" data-wow-duration="0.5s" data-wow-delay=".3s" role="progressbar" style="width: <?php echo esc_html( $easy_percent ); ?>%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100">
    228228                    </div>
    229                     <span class="percent"><?php echo esc_html( $percent ); ?>%</span>
     229                    <span class="easy_percent"><?php echo esc_html( $easy_percent ); ?>%</span>
    230230                </div>
    231231            </div>
     
    236236                    <p class="title"><?php echo wp_kses_post( $title ); ?></p>
    237237                <?php endif; ?>
    238                 <?php if ( $percent ) : ?>
    239                     <span class="percent"><?php echo esc_html( $percent ); ?>%</span>
     238                <?php if ( $easy_percent ) : ?>
     239                    <span class="easy_percent"><?php echo esc_html( $easy_percent ); ?>%</span>
    240240                <?php endif; ?>
    241241            </div>
    242242            <div class="progress">
    243243                <div class="progress-bar"
    244                     style="width: <?php echo esc_html( $percent ); ?>%;"
    245                     aria-valuenow="<?php echo esc_attr( $percent ); ?>"
     244                    style="width: <?php echo esc_html( $easy_percent ); ?>%;"
     245                    aria-valuenow="<?php echo esc_attr( $easy_percent ); ?>"
    246246                    aria-valuemin="0"
    247247                    aria-valuemax="100">
Note: See TracChangeset for help on using the changeset viewer.