| @@ -1,9 +1,12 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | use SyncBasalam\Admin\Components\SettingPageComponents; |
| 4 | +use SyncBasalam\Admin\Settings\SettingsConfig; | |
| 5 | +use SyncBasalam\Services\VendorSyncPolicy; | |
| 4 | 6 | |
| 5 | 7 | defined('ABSPATH') || exit; |
| 8 | +$scheduledInterval = (int) ($settings[SettingsConfig::AUTO_FULL_UPDATE_INTERVAL] ?? 48); | |
| 6 | 9 | ?> |
| 7 | 10 | <div id="sync-basalam-onboarding-status" class="basalam-status-card"> |
| 8 | 11 | <div class="basalam-status-header"> |
| 9 | 12 | <h2 class="basalam-h">وضعیت اتصال</h2> |
| @@ -14,32 +17,81 @@ | ||
| 14 | 17 | <div class="basalam_status_data_item"> |
| 15 | 18 | <p class="basalam-p basalam-font-12 basalam-text-justify">مـحصولات سیـنک شــده با باســلام :</p> <?php echo '<p class="basalam_status_data_number basalam-p">' . esc_html($count_of_synced_basalam_products) . '</p>' ?> |
| 16 | 19 | </div> |
| 17 | 20 | </div> |
| 18 | - <span class="basalam-badge basalam-badge-success basalam-p">متصل</span> | |
| 21 | + <?php if ($vendorSyncMode === VendorSyncPolicy::MODE_INACTIVE_LIMITED): ?> | |
| 22 | + <span class="basalam-badge basalam-badge-warning basalam-p">غرفه غیرفعال — همگامسازی محدود</span> | |
| 23 | + <?php elseif ($vendorSyncMode === VendorSyncPolicy::MODE_INACTIVE_SUSPENDED): ?> | |
| 24 | + <span class="basalam-badge basalam-badge-danger basalam-p">غرفه غیرفعال — همگامسازی متوقف</span> | |
| 25 | + <?php else: ?> | |
| 26 | + <span class="basalam-badge basalam-badge-success basalam-p">متصل</span> | |
| 27 | + <?php endif; ?> | |
| 19 | 28 | </div> |
| 20 | 29 | <div class="basalam-sync-status"> |
| 21 | - <p class="basalam-p basalam-status-info">با فعال کردن همگامسازی خودکار، تغییرات محصولات شما به صورت خودکار در باسلام نیز اعمال میشود.</p> | |
| 22 | - <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post" class="Basalam-form basalam-form-margin-0"> | |
| 23 | - <input type="hidden" name="action" value="basalam_update_setting"> | |
| 24 | - <?php wp_nonce_field('basalam_update_setting_nonce', '_wpnonce'); ?> | |
| 25 | - <?php SettingPageComponents::syncStatusProduct(); ?> | |
| 26 | - <?php if ($syncStatusProduct == true): ?> | |
| 27 | - <button type="submit" class="basalam-danger-button basalam-p"> | |
| 28 | - <img class="basalam-img-20" src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . '/icons/unsync.svg'); ?>"> | |
| 29 | - توقف همگامسازی محصولات | |
| 30 | - </button> | |
| 31 | - <?php else: ?> | |
| 32 | - <button type="submit" class="basalam-primary-button basalam-p basalam-btn-small"> | |
| 33 | - <img class="basalam-img-20" src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . '/icons/sync.svg'); ?>"> | |
| 34 | - همگامسازی محصولات | |
| 35 | - </button> | |
| 36 | - <?php endif; ?> | |
| 37 | - </form> | |
| 38 | - <div class="basalam-info-icon basalam-info-icon-small"> | |
| 39 | - <a href="https://www.aparat.com/v/vja08ql" target="_blank"> | |
| 40 | - <img src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . "/icons/info-black.svg"); ?>" alt="اطلاعات" class="basalam-img-22 basalam-cursor-pointer"> | |
| 41 | - </a> | |
| 30 | + <div class="basalam-sync-intro"> | |
| 31 | + <p class="basalam-p basalam-status-info">با فعال کردن همگامسازی خودکار، تغییرات محصولات شما به صورت خودکار در باسلام نیز اعمال میشود.</p> | |
| 32 | + <div class="basalam-info-icon basalam-info-icon-small"> | |
| 33 | + <a href="https://www.aparat.com/v/vja08ql" target="_blank" rel="noopener noreferrer"> | |
| 34 | + <img src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . "/icons/info-black.svg"); ?>" alt="اطلاعات" class="basalam-img-22 basalam-cursor-pointer"> | |
| 35 | + </a> | |
| 36 | + </div> | |
| 42 | 37 | </div> |
| 38 | + <div class="basalam-sync-controls"> | |
| 39 | + <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post" class="Basalam-form basalam-form-margin-0"> | |
| 40 | + <input type="hidden" name="action" value="basalam_update_setting"> | |
| 41 | + <?php wp_nonce_field('basalam_update_setting_nonce', '_wpnonce'); ?> | |
| 42 | + <?php SettingPageComponents::syncStatusProduct(); ?> | |
| 43 | + <?php if ($syncStatusProduct == true): ?> | |
| 44 | + <button type="submit" class="basalam-danger-button basalam-p"> | |
| 45 | + <img class="basalam-img-20" src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . '/icons/unsync.svg'); ?>" alt=""> | |
| 46 | + توقف همگامسازی محصولات | |
| 47 | + </button> | |
| 48 | + <?php else: ?> | |
| 49 | + <button type="submit" class="basalam-primary-button basalam-p basalam-btn-small"> | |
| 50 | + <img class="basalam-img-20" src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . '/icons/sync.svg'); ?>" alt=""> | |
| 51 | + همگامسازی محصولات | |
| 52 | + </button> | |
| 53 | + <?php endif; ?> | |
| 54 | + </form> | |
| 43 | 55 | |
| 56 | + <details class="basalam-schedule-control"> | |
| 57 | + <summary class="basalam-schedule-trigger basalam-p" aria-label="تنظیم بهروزرسانی دورهای محصولات"> | |
| 58 | + <img src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . '/icons/update.svg'); ?>" alt="" width="18" height="18"> | |
| 59 | + <span>زمانبندی</span> | |
| 60 | + <?php if ($scheduledInterval): ?> | |
| 61 | + <span class="basalam-schedule-badge">هر <?php echo esc_html($scheduledInterval === 24 ? '۲۴' : '۴۸'); ?> ساعت</span> | |
| 62 | + <?php else: ?> | |
| 63 | + <span class="basalam-schedule-badge basalam-schedule-badge-off">خاموش</span> | |
| 64 | + <?php endif; ?> | |
| 65 | + </summary> | |
| 66 | + <div class="basalam-schedule-panel"> | |
| 67 | + <h3 class="basalam-p">بهروزرسانی دورهای همه محصولات</h3> | |
| 68 | + <p class="basalam-p">محصولات متصل به باسلام، در بازه انتخابی دوباره بهروزرسانی میشوند. اولین اجرا پس از گذشت این بازه است.</p> | |
| 69 | + <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post"> | |
| 70 | + <input type="hidden" name="action" value="basalam_update_setting"> | |
| 71 | + <input type="hidden" name="redirect_to" value="<?php echo esc_url(admin_url('admin.php?page=sync_basalam')); ?>"> | |
| 72 | + <?php wp_nonce_field('basalam_update_setting_nonce', '_wpnonce'); ?> | |
| 73 | + <label class="basalam-schedule-option"> | |
| 74 | + <input type="radio" name="sync_basalam_settings[<?php echo esc_attr(SettingsConfig::AUTO_FULL_UPDATE_INTERVAL); ?>]" value="24" <?php checked($scheduledInterval, 24); ?> required> | |
| 75 | + <span><strong>هر ۲۴ ساعت</strong><small>بهروزرسانی روزانه</small></span> | |
| 76 | + </label> | |
| 77 | + <label class="basalam-schedule-option"> | |
| 78 | + <input type="radio" name="sync_basalam_settings[<?php echo esc_attr(SettingsConfig::AUTO_FULL_UPDATE_INTERVAL); ?>]" value="48" <?php checked($scheduledInterval, 48); ?>> | |
| 79 | + <span><strong>هر ۴۸ ساعت</strong><small>یک روز در میان</small></span> | |
| 80 | + </label> | |
| 81 | + <button type="submit" class="basalam-schedule-save basalam-p">ذخیره زمانبندی</button> | |
| 82 | + </form> | |
| 83 | + <?php if ($scheduledInterval): ?> | |
| 84 | + <form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post" class="basalam-schedule-disable-form"> | |
| 85 | + <input type="hidden" name="action" value="basalam_update_setting"> | |
| 86 | + <input type="hidden" name="redirect_to" value="<?php echo esc_url(admin_url('admin.php?page=sync_basalam')); ?>"> | |
| 87 | + <input type="hidden" name="sync_basalam_settings[<?php echo esc_attr(SettingsConfig::AUTO_FULL_UPDATE_INTERVAL); ?>]" value="0"> | |
| 88 | + <?php wp_nonce_field('basalam_update_setting_nonce', '_wpnonce'); ?> | |
| 89 | + <button type="submit" class="basalam-schedule-disable basalam-p">خاموش کردن بهروزرسانی دورهای</button> | |
| 90 | + </form> | |
| 91 | + <?php endif; ?> | |
| 92 | + </div> | |
| 93 | + </details> | |
| 94 | + | |
| 95 | + </div> | |
| 44 | 96 | </div> |
| 45 | 97 | </div> |