Plugin Directory

Changeset 3798741


Ignore:
Timestamp:
11/12/2026 04:08:02 PM (15 hours ago)
Author:
drowranger
Message:

update 2.0.8

Location:
ez-login
Files:
98 added
6 edited

Legend:

Unmodified
Added
Removed
  • ez-login/trunk/assets/css/admin-panel.css

    r3777651 r3798741  
    849849.wrap.ez-admin .ez-admin-sidebar .ez-admin-nav__item[hidden],
    850850.wrap.ez-admin .ez-admin-sidebar .ez-admin-nav__section-title[hidden] { display:none !important; }
     851
     852/* 2.0.8: the main Shahkar menu stays visible with a subtle experimental label. */
     853.ez-admin-nav__item[data-ez-admin-nav-item="shahkar"] .ez-admin-nav__badge{background:#fff4e6;color:#9a5b0d;white-space:nowrap;font-size:10px;padding:2px 6px}
     854.wrap.ez-admin .ez-admin-sidebar [data-ez-admin-nav-item="shahkar"][data-ez-shahkar-enabled="0"] > a:after{display:none}
  • ez-login/trunk/assets/js/admin-settings.js

    r3777651 r3798741  
    133133        });
    134134        var $shahkar = $('.ez-admin-nav__item[data-ez-admin-nav-item="shahkar"]');
    135         $shahkar.toggleClass('is-expanded', inShahkar);
    136         $shahkar.children('a[data-ez-admin-tab="shahkar"]').attr('aria-expanded', inShahkar ? 'true' : 'false');
     135        var showShahkarChildren = inShahkar && $shahkar.attr('data-ez-shahkar-enabled') === '1';
     136        $shahkar.toggleClass('is-expanded', showShahkarChildren);
     137        $shahkar.children('a[data-ez-admin-tab="shahkar"]').attr('aria-expanded', showShahkarChildren ? 'true' : 'false');
    137138    }
    138139
    … …  
    11271128            if (tab === 'shahkar') {
    11281129                var $shahkar = $('.ez-admin-nav__item[data-ez-admin-nav-item="shahkar"]');
     1130                // Disabled Shahkar remains navigable for activation, but its children stay hidden.
     1131                if ($shahkar.attr('data-ez-shahkar-enabled') !== '1') {
     1132                    $shahkar.removeClass('is-expanded').children('a[data-ez-admin-tab="shahkar"]').attr('aria-expanded', 'false');
     1133                    if (tab === state.tab && !state.loading) { scrollPanelTop(false); return; }
     1134                    loadTab(tab, true);
     1135                    return;
     1136                }
    11291137                if (tab === state.tab && !state.loading) {
    11301138                    var expanded = !$shahkar.hasClass('is-expanded');
  • ez-login/trunk/ez-login.php

    r3777651 r3798741  
    33 * Plugin Name: CS-Login
    44 * Description: ورود/ثبت‌نام با پیامک و گوگل، اعلان‌های ووکامرس، اطلاع تخفیف و موجودی، خبرنامه پیامکی، سبد رهاشده، Elementor، کپچا و کنترل امنیتی.
    5  * Version: 2.0.7
     5 * Version: 2.0.8
    66 * Requires at least: 5.8
    77 * Requires PHP: 7.4
    … …  
    8686define('EZ_LOGIN_DIR', plugin_dir_path(__FILE__));
    8787define('EZ_LOGIN_URL', plugin_dir_url(__FILE__));
    88 define('EZ_LOGIN_VERSION', '2.0.7');
     88define('EZ_LOGIN_VERSION', '2.0.8');
    8989
    9090require_once EZ_LOGIN_DIR . 'includes/helpers.php';
  • ez-login/trunk/includes/admin-settings.php

    r3777651 r3798741  
    10761076        }
    10771077    }
     1078    // The Shahkar settings page must remain reachable even before activation.
     1079    // Only its child pages are conditional; keeping the parent visible also works
     1080    // on installations without WooCommerce (administrative inquiries are independent).
    10781081    $shahkar_opts = (array) get_option('cs_shahkar_options', array());
    1079     $shahkar_visible = $woo_active && !empty($shahkar_opts['enabled']);
     1082    $shahkar_enabled = !empty($shahkar_opts['enabled']);
    10801083    $items = array(
    10811084        array('group'=>'ورود و حساب کاربری','tab'=>'sms','label'=>'ورود با پیامک','icon'=>'dashicons-smartphone'),
    … …  
    11101113    if ($woo_available) {
    11111114        $items[] = array('group'=>'فروشگاه و اعلان‌ها','tab'=>'commerce','label'=>'ووکامرس و اعلان‌ها','icon'=>'dashicons-cart','hidden'=>!$any_woo_feature);
    1112         $items[] = array('group'=>'فروشگاه و اعلان‌ها','tab'=>'shahkar','label'=>'سامانه شاهکار (آزمایشی)','icon'=>'dashicons-shield-alt','hidden'=>!$shahkar_visible);
     1115    }
     1116    // Visible regardless of enabled state or WooCommerce; children appear only
     1117    // after the admin enables Shahkar and the settings page reloads.
     1118    $items[] = array('group'=>'فروشگاه و اعلان‌ها','tab'=>'shahkar','label'=>'سامانه شاهکار','badge'=>'آزمایشی','icon'=>'dashicons-shield-alt','subnav_enabled'=>$shahkar_enabled);
     1119    if ($shahkar_enabled) {
    11131120        $items[] = array('group'=>'فروشگاه و اعلان‌ها','tab'=>'shahkar_mapping','label'=>'نگاشت فیلدها','icon'=>'dashicons-admin-settings','parent'=>'shahkar');
    11141121        $items[] = array('group'=>'فروشگاه و اعلان‌ها','tab'=>'shahkar_inquiry','label'=>'استعلام کاربران','icon'=>'dashicons-search','parent'=>'shahkar');
    … …  
    11451152          <?php endif; ?>
    11461153          <?php if (!empty($item['parent'])) continue; ?>
    1147           <div class="ez-admin-nav__item<?php echo in_array($item['tab'],array('commerce','shahkar'),true) ? ' has-subnav' : ''; ?><?php echo ($active_tab === $item['tab'] || ($item['tab']==='shahkar' && in_array($active_tab,array('shahkar_mapping','shahkar_inquiry','shahkar_audit'),true))) ? ' is-current' : ''; ?><?php echo ($item['tab']==='shahkar' && in_array($active_tab,array('shahkar','shahkar_mapping','shahkar_inquiry','shahkar_audit'),true)) ? ' is-expanded' : ''; ?>" data-ez-admin-nav-item="<?php echo esc_attr($item['tab']); ?>"<?php echo !empty($item['hidden']) ? ' hidden' : ''; ?>>
     1154          <div class="ez-admin-nav__item<?php echo ($item['tab']==='commerce' || ($item['tab']==='shahkar' && !empty($item['subnav_enabled']))) ? ' has-subnav' : ''; ?><?php echo ($active_tab === $item['tab'] || ($item['tab']==='shahkar' && in_array($active_tab,array('shahkar_mapping','shahkar_inquiry','shahkar_audit'),true))) ? ' is-current' : ''; ?><?php echo ($item['tab']==='shahkar' && !empty($item['subnav_enabled']) && in_array($active_tab,array('shahkar','shahkar_mapping','shahkar_inquiry','shahkar_audit'),true)) ? ' is-expanded' : ''; ?>" data-ez-admin-nav-item="<?php echo esc_attr($item['tab']); ?>"<?php if ($item['tab'] === 'shahkar'): ?> data-ez-shahkar-enabled="<?php echo !empty($item['subnav_enabled']) ? '1' : '0'; ?>"<?php endif; ?><?php echo !empty($item['hidden']) ? ' hidden' : ''; ?>>
    11481155            <a href="<?php echo esc_url(ez_login_admin_tab_url($item['tab'])); ?>"
    11491156               data-ez-admin-tab="<?php echo esc_attr($item['tab']); ?>"
    1150                class="<?php echo $active_tab === $item['tab'] ? 'is-active' : ''; ?>"<?php if ($item['tab'] === 'shahkar'): ?> aria-expanded="<?php echo in_array($active_tab,array('shahkar','shahkar_mapping','shahkar_inquiry','shahkar_audit'),true) ? 'true' : 'false'; ?>" aria-controls="cs-shahkar-submenu"<?php endif; ?>>
     1157               class="<?php echo $active_tab === $item['tab'] ? 'is-active' : ''; ?>"<?php if ($item['tab'] === 'shahkar'): ?> aria-expanded="<?php echo !empty($item['subnav_enabled']) && in_array($active_tab,array('shahkar','shahkar_mapping','shahkar_inquiry','shahkar_audit'),true) ? 'true' : 'false'; ?>"<?php if (!empty($item['subnav_enabled'])): ?> aria-controls="cs-shahkar-submenu"<?php endif; ?><?php endif; ?>>
    11511158              <span class="dashicons <?php echo esc_attr($item['icon']); ?>"></span>
    11521159              <span><?php echo esc_html($item['label']); ?></span>
    … …  
    11631170              </div>
    11641171            <?php endif; ?>
    1165             <?php if ($item['tab'] === 'shahkar'): ?>
    1166               <?php // زیرمنوها با کلیک عنوان شاهکار باز می‌شوند و در صفحات زیرمجموعه باز می‌مانند. ?>
     1172            <?php if ($item['tab'] === 'shahkar' && !empty($item['subnav_enabled'])): ?>
     1173              <?php // زیرمنوها فقط پس از فعال‌سازی و بارگذاری مجدد صفحه ساخته می‌شوند. ?>
    11671174              <nav id="cs-shahkar-submenu" class="ez-admin-subnav ez-admin-subnav--shahkar" aria-label="زیرمنوهای سامانه شاهکار">
    11681175                <?php foreach (array(
    … …  
    30083015        </div>
    30093016
    3010         <?php if ($has_woo): ?>
    3011           <?php $shopts = (array)get_option('cs_shahkar_options', array()); ?>
    3012           <div class="ez-alert ez-alert--info" style="margin-bottom:16px">
    3013             <strong>سامانه شاهکار:</strong> <?php echo !empty($shopts['enabled']) ? 'فعال است.' : 'غیرفعال است و منوی آن مخفی شده.'; ?>
    3014             <a class="button button-small" href="<?php echo esc_url(ez_login_admin_tab_url('shahkar')); ?>">تنظیمات / فعال‌سازی سامانه شاهکار</a>
    3015           </div>
    3016         <?php endif; ?>
     3017        <?php $shopts = (array)get_option('cs_shahkar_options', array()); ?>
     3018        <div class="ez-alert ez-alert--info" style="margin-bottom:16px">
     3019          <strong>سامانه شاهکار (آزمایشی):</strong> <?php echo !empty($shopts['enabled']) ? 'فعال است و زیرمنوهای آن قابل مشاهده‌اند.' : 'غیرفعال است؛ منوی اصلی برای فعال‌سازی نمایش داده می‌شود.'; ?>
     3020          <a class="button button-small" href="<?php echo esc_url(ez_login_admin_tab_url('shahkar')); ?>">تنظیمات / فعال‌سازی سامانه شاهکار</a>
     3021        </div>
    30173022        <div class="ez-feature-tabs" role="tablist" aria-label="دسته‌بندی قابلیت‌ها">
    30183023          <button type="button" class="ez-feature-tab is-active" role="tab" aria-selected="true" data-ez-feature-tab="main">قابلیت‌های اصلی</button>
    … …  
    32953300function ez_login_render_changelog_page() {
    32963301    $features = array(
     3302        'نسخه 2.0.8: منوی سامانه شاهکار (آزمایشی) همیشه نمایش داده می‌شود؛ زیرمنوها فقط پس از فعال‌سازی و بارگذاری مجدد صفحه ظاهر می‌شوند، حتی اگر ووکامرس نصب نباشد.',
    32973303        'نسخه 2.0.3: فهرست شورت‌کدها به کارت‌های مستقل با وضعیت، کپی و لینک تنظیمات تبدیل شد؛ زیرمنوی شاهکار با کلیک باز و بسته می‌شود؛ بازطراحی دکمه‌های اتصال و وضعیت رنگی تست API.',
    32983304        'نسخه 2.0.2: منوهای فرعی شاهکار همیشه به‌صورت تودرتو و قابل‌مشاهده زیر عنوان سامانه شاهکار قرار دارند؛ اصلاح عرض ۱۰۰٪ صفحات شاهکار و حذف محدودیت عرض قبلی.',
  • ez-login/trunk/includes/shahkar.php

    r3777651 r3798741  
    238238    }else wp_die('فرم نامعتبر است.');
    239239    update_option('cs_shahkar_options',$new,false);
     240    // admin-post redirect is a full reload: newly enabled child menus are rendered immediately.
    240241    $tab=$form==='mapping'?'shahkar_mapping':'shahkar';
    241242    wp_safe_redirect(add_query_arg('cs_sh_saved','1',admin_url('admin.php?page=ez-login&tab='.$tab)));exit;
  • ez-login/trunk/readme.txt

    r3777651 r3798741  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 2.0.7
     7Stable tag: 2.0.8
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    291291
    292292== Changelog ==
     293
     294= 2.0.8 =
     295* منوی «سامانه شاهکار» با نشان «آزمایشی» همیشه در سایدبار افزونه دیده می‌شود، حتی اگر سامانه خاموش یا ووکامرس غیرفعال باشد.
     296* زیرمنوهای نگاشت فیلدها، استعلام کاربران و گزارش مصرف تنها پس از فعال‌سازی سامانه نمایش داده می‌شوند.
     297* پس از ذخیره فعال‌سازی، صفحه مدیریت به‌طور کامل بارگذاری مجدد می‌شود و زیرمنوها همان لحظه ظاهر می‌شوند؛ با غیرفعال‌سازی دوباره پنهان می‌شوند.
     298* اسلاگ ez-login و تنظیمات قبلی کاربران حفظ شده‌اند.
    293299
    294300= 2.0.7 =
Note: See TracChangeset for help on using the changeset viewer.