| 1 |
<?php |
| 2 |
|
| 3 |
use SyncBasalam\Admin\Components\SettingPageComponents; |
| 4 |
use SyncBasalam\Admin\Settings\SettingsConfig; |
| 5 |
use SyncBasalam\Services\VendorSyncPolicy; |
| 6 |
|
| 7 |
defined('ABSPATH') || exit; |
| 8 |
$scheduledInterval = (int) ($settings[SettingsConfig::AUTO_FULL_UPDATE_INTERVAL] ?? 48); |
| 9 |
$syncStatusProduct = !empty($settings[SettingsConfig::SYNC_STATUS_PRODUCT]); |
| 10 |
$productSyncButtonLabel = $syncStatusProduct ? 'توقف ه� |
| 11 |
گا� |
| 12 |
سازی � |
| 13 |
حصولات' : 'ه� |
| 14 |
گا� |
| 15 |
سازی � |
| 16 |
حصولات'; |
| 17 |
$productSyncButtonIcon = $syncStatusProduct ? 'unsync.svg' : 'sync.svg'; |
| 18 |
$productSyncButtonClass = $syncStatusProduct ? 'basalam-product-sync-is-active' : 'basalam-product-sync-is-inactive'; |
| 19 |
?> |
| 20 |
<div id="sync-basalam-onboarding-status" class="basalam-status-card"> |
| 21 |
<div class="basalam-status-header"> |
| 22 |
<h2 class="basalam-h">وضعیت اتصال</h2> |
| 23 |
<div class="basalam_status_data_container"> |
| 24 |
<div class="basalam_status_data_item"> |
| 25 |
<p class="basalam-p basalam-font-12 basalam-text-justify">� |
| 26 |
حصولات � |
| 27 |
نتشر شـده ووکا� |
| 28 |
رس :</p> <?php echo '<p class="basalam_status_data_number basalam-p">' . esc_html($count_of_published_woocommerce_products) . '</p>' ?> |
| 29 |
</div> |
| 30 |
<div class="basalam_status_data_item"> |
| 31 |
<p class="basalam-p basalam-font-12 basalam-text-justify">� |
| 32 |
ـحصولات سیـنک شــده با باســلا� |
| 33 |
:</p> <?php echo '<p class="basalam_status_data_number basalam-p">' . esc_html($count_of_synced_basalam_products) . '</p>' ?> |
| 34 |
</div> |
| 35 |
</div> |
| 36 |
<?php if ($vendorSyncMode === VendorSyncPolicy::MODE_INACTIVE_LIMITED): ?> |
| 37 |
<span class="basalam-badge basalam-badge-warning basalam-p">غرفه غیرفعال — ه� |
| 38 |
گا� |
| 39 |
سازی � |
| 40 |
حدود</span> |
| 41 |
<?php elseif ($vendorSyncMode === VendorSyncPolicy::MODE_INACTIVE_SUSPENDED): ?> |
| 42 |
<span class="basalam-badge basalam-badge-danger basalam-p">غرفه غیرفعال — ه� |
| 43 |
گا� |
| 44 |
سازی � |
| 45 |
توقف</span> |
| 46 |
<?php else: ?> |
| 47 |
<span class="basalam-badge basalam-badge-success basalam-p">� |
| 48 |
تصل</span> |
| 49 |
<?php endif; ?> |
| 50 |
</div> |
| 51 |
<div class="basalam-sync-status"> |
| 52 |
<div class="basalam-sync-intro"> |
| 53 |
<p class="basalam-p basalam-status-info">ع� |
| 54 |
لیات خودکار � |
| 55 |
ربوط به ایجاد و بروزرسانی � |
| 56 |
حصولات را � |
| 57 |
طابق نیاز انتخاب کنید.</p> |
| 58 |
<div class="basalam-info-icon basalam-info-icon-small"> |
| 59 |
<a href="https://www.aparat.com/v/vja08ql" target="_blank" rel="noopener noreferrer"> |
| 60 |
<img src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . "/icons/info-black.svg"); ?>" alt="اطلاعات" class="basalam-img-22 basalam-cursor-pointer"> |
| 61 |
</a> |
| 62 |
</div> |
| 63 |
</div> |
| 64 |
<div class="basalam-sync-controls"> |
| 65 |
<form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post" class="Basalam-form basalam-form-margin-0 basalam-product-sync-form"> |
| 66 |
<input type="hidden" name="action" value="basalam_update_setting"> |
| 67 |
<?php wp_nonce_field('basalam_update_setting_nonce', '_wpnonce'); ?> |
| 68 |
<div class="basalam-product-sync-wrapper"> |
| 69 |
<div class="basalam-product-sync-button-group <?php echo esc_attr($productSyncButtonClass); ?>"> |
| 70 |
<button type="submit" name="sync_basalam_toggle_product" value="1" class="basalam-primary-button basalam-p basalam-product-sync-submit" title="<?php echo esc_attr($productSyncButtonLabel); ?>"> |
| 71 |
<img class="basalam-img-20" src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . '/icons/' . $productSyncButtonIcon); ?>" alt=""> |
| 72 |
<span><?php echo esc_html($productSyncButtonLabel); ?></span> |
| 73 |
<span class="basalam-btn-separator" aria-hidden="true"></span> |
| 74 |
</button> |
| 75 |
<button type="button" class="basalam-primary-button basalam-p basalam-product-sync-arrow-btn" title="انتخاب نوع ه� |
| 76 |
گا� |
| 77 |
سازی" aria-label="انتخاب نوع ه� |
| 78 |
گا� |
| 79 |
سازی" aria-expanded="false" aria-controls="basalam-product-sync-dropdown"> |
| 80 |
<img src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . '/icons/arrow.svg'); ?>" alt="" class="basalam-dropdown-arrow-img"> |
| 81 |
</button> |
| 82 |
</div> |
| 83 |
<div id="basalam-product-sync-dropdown" class="basalam-product-sync-dropdown" style="display: none;"> |
| 84 |
<fieldset> |
| 85 |
<legend class="basalam-p">ه� |
| 86 |
گا� |
| 87 |
سازی خودکار � |
| 88 |
حصولات</legend> |
| 89 |
<?php SettingPageComponents::renderProductSyncOperations(); ?> |
| 90 |
<button type="submit" name="sync_basalam_save_product" value="1" class="basalam-product-sync-save basalam-p">ذخیره</button> |
| 91 |
</fieldset> |
| 92 |
</div> |
| 93 |
</div> |
| 94 |
</form> |
| 95 |
|
| 96 |
<details class="basalam-schedule-control"> |
| 97 |
<summary class="basalam-schedule-trigger basalam-p" aria-label="تنظی� |
| 98 |
بهروزرسانی دورهای � |
| 99 |
حصولات"> |
| 100 |
<img src="<?php echo esc_url(syncBasalamPlugin()->assetsUrl() . '/icons/update.svg'); ?>" alt="" width="18" height="18"> |
| 101 |
<span>ز� |
| 102 |
انبندی</span> |
| 103 |
<?php if ($scheduledInterval): ?> |
| 104 |
<span class="basalam-schedule-badge">هر <?php echo esc_html($scheduledInterval === 24 ? '۲۴' : '۴۸'); ?> ساعت</span> |
| 105 |
<?php else: ?> |
| 106 |
<span class="basalam-schedule-badge basalam-schedule-badge-off">خا� |
| 107 |
وش</span> |
| 108 |
<?php endif; ?> |
| 109 |
</summary> |
| 110 |
<div class="basalam-schedule-panel"> |
| 111 |
<h3 class="basalam-p">بهروزرسانی دورهای ه� |
| 112 |
ه � |
| 113 |
حصولات</h3> |
| 114 |
<p class="basalam-p">� |
| 115 |
حصولات � |
| 116 |
تصل به باسلا� |
| 117 |
، در بازه انتخابی دوباره بهروزرسانی � |
| 118 |
یشوند. اولین اجرا پس از گذشت این بازه است.</p> |
| 119 |
<form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post"> |
| 120 |
<input type="hidden" name="action" value="basalam_update_setting"> |
| 121 |
<input type="hidden" name="redirect_to" value="<?php echo esc_url(admin_url('admin.php?page=sync_basalam')); ?>"> |
| 122 |
<?php wp_nonce_field('basalam_update_setting_nonce', '_wpnonce'); ?> |
| 123 |
<label class="basalam-schedule-option"> |
| 124 |
<input type="radio" name="sync_basalam_settings[<?php echo esc_attr(SettingsConfig::AUTO_FULL_UPDATE_INTERVAL); ?>]" value="24" <?php checked($scheduledInterval, 24); ?> required> |
| 125 |
<span><strong>هر ۲۴ ساعت</strong><small>بهروزرسانی روزانه</small></span> |
| 126 |
</label> |
| 127 |
<label class="basalam-schedule-option"> |
| 128 |
<input type="radio" name="sync_basalam_settings[<?php echo esc_attr(SettingsConfig::AUTO_FULL_UPDATE_INTERVAL); ?>]" value="48" <?php checked($scheduledInterval, 48); ?>> |
| 129 |
<span><strong>هر ۴۸ ساعت</strong><small>یک روز در � |
| 130 |
یان</small></span> |
| 131 |
</label> |
| 132 |
<button type="submit" class="basalam-schedule-save basalam-p">ذخیره ز� |
| 133 |
انبندی</button> |
| 134 |
</form> |
| 135 |
<?php if ($scheduledInterval): ?> |
| 136 |
<form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post" class="basalam-schedule-disable-form"> |
| 137 |
<input type="hidden" name="action" value="basalam_update_setting"> |
| 138 |
<input type="hidden" name="redirect_to" value="<?php echo esc_url(admin_url('admin.php?page=sync_basalam')); ?>"> |
| 139 |
<input type="hidden" name="sync_basalam_settings[<?php echo esc_attr(SettingsConfig::AUTO_FULL_UPDATE_INTERVAL); ?>]" value="0"> |
| 140 |
<?php wp_nonce_field('basalam_update_setting_nonce', '_wpnonce'); ?> |
| 141 |
<button type="submit" class="basalam-schedule-disable basalam-p">خا� |
| 142 |
وش کردن بهروزرسانی دورهای</button> |
| 143 |
</form> |
| 144 |
<?php endif; ?> |
| 145 |
</div> |
| 146 |
</details> |
| 147 |
|
| 148 |
</div> |
| 149 |
</div> |
| 150 |
</div> |
| 151 |
|