| 1 |
<?php |
| 2 |
|
| 3 |
namespace SyncBasalam\Admin\Onboarding; |
| 4 |
|
| 5 |
class PointerTour |
| 6 |
{ |
| 7 |
public static function markPointerOnboardingCompleted(): void |
| 8 |
{ |
| 9 |
check_ajax_referer('sync_basalam_mark_pointer_onboarding_completed', 'nonce', true); |
| 10 |
|
| 11 |
if (!current_user_can('manage_options')) { |
| 12 |
wp_send_json_error(['message' => 'دسترسی � |
| 13 |
جاز نیست.'], 403); |
| 14 |
} |
| 15 |
|
| 16 |
update_option('sync_basalam_pointer_onboarding_completed', true, false); |
| 17 |
|
| 18 |
wp_send_json_success(['message' => 'راهن� |
| 19 |
ای اولیه تک� |
| 20 |
یل شد.']); |
| 21 |
} |
| 22 |
|
| 23 |
public static function shouldLoadPointerTour(string $hook): bool |
| 24 |
{ |
| 25 |
if ($hook !== 'toplevel_page_sync_basalam') { |
| 26 |
return false; |
| 27 |
} |
| 28 |
|
| 29 |
if (!syncBasalamSettings()->hasToken()) { |
| 30 |
return false; |
| 31 |
} |
| 32 |
|
| 33 |
$pointerOnboardingStatus = get_option('sync_basalam_pointer_onboarding_completed', null); |
| 34 |
|
| 35 |
if ($pointerOnboardingStatus === null) { |
| 36 |
return true; |
| 37 |
} |
| 38 |
|
| 39 |
return false; |
| 40 |
} |
| 41 |
|
| 42 |
public static function getPointerTourConfig(): array |
| 43 |
{ |
| 44 |
return [ |
| 45 |
'nonce' => wp_create_nonce('sync_basalam_mark_pointer_onboarding_completed'), |
| 46 |
'completeAction' => 'sync_basalam_mark_pointer_onboarding_completed', |
| 47 |
'steps' => self::getPointerSteps(), |
| 48 |
]; |
| 49 |
} |
| 50 |
|
| 51 |
private static function getPointerSteps(): array |
| 52 |
{ |
| 53 |
return [ |
| 54 |
[ |
| 55 |
'selector' => '#toplevel_page_sync_basalam > ul > li:nth-child(4) > a', |
| 56 |
'content' => ' |
| 57 |
<div class="sync-basalam-pointer-step"> |
| 58 |
<h3 class="sync-basalam-pointer-title">� |
| 59 |
نو افزونه</h3> |
| 60 |
<p class="sync-basalam-pointer-text">اینها � |
| 61 |
نوهای اصلی افزونه ووسلا� |
| 62 |
هستند؛ از تب «خانه» � |
| 63 |
یتوانید وارد داشبورد شوید و ع� |
| 64 |
لیات اتصال، � |
| 65 |
حصولات و سفارشات را � |
| 66 |
دیریت کنید، و از تب «پشتیبانی» تیکت جدید ثبت کنید. ه� |
| 67 |
چنین تبهای «لاگها»، «اطلاعات»، «راهن� |
| 68 |
ا» و «اتصال دستهبندیها» برای پیگیری وضعیت، آ� |
| 69 |
وزش و تنظی� |
| 70 |
ات تک� |
| 71 |
یلی در دسترس ش� |
| 72 |
ا هستند.</p> |
| 73 |
</div>', |
| 74 |
'position' => ['edge' => 'right', 'align' => 'middle'], |
| 75 |
'nextLabel' => '� |
| 76 |
رحله بعد', |
| 77 |
], |
| 78 |
[ |
| 79 |
'selector' => '#sync-basalam-onboarding-status', |
| 80 |
'content' => ' |
| 81 |
<div class="sync-basalam-pointer-step"> |
| 82 |
<h3 class="sync-basalam-pointer-title">وضعیت اتصال</h3> |
| 83 |
<p class="sync-basalam-pointer-text">این بخش ن� |
| 84 |
ای کلی اتصال فروشگاه ش� |
| 85 |
ا با باسلا� |
| 86 |
است و تعداد � |
| 87 |
حصولات � |
| 88 |
نتشرشده ووکا� |
| 89 |
رس و � |
| 90 |
حصولات سینکشده باسلا� |
| 91 |
را ن� |
| 92 |
ایش � |
| 93 |
یدهد.</p> |
| 94 |
<p class="sync-basalam-pointer-text">از ه� |
| 95 |
ین بخش � |
| 96 |
یتوانید ه� |
| 97 |
گا� |
| 98 |
سازی خودکار � |
| 99 |
حصولات را فعال یا غیرفعال کنید تا تغییرات � |
| 100 |
حصولها بهصورت خودکار در باسلا� |
| 101 |
اع� |
| 102 |
ال شوند.</p> |
| 103 |
</div>', |
| 104 |
'position' => ['edge' => 'left', 'align' => 'middle'], |
| 105 |
'nextLabel' => '� |
| 106 |
رحله بعد', |
| 107 |
], |
| 108 |
[ |
| 109 |
'selector' => '#sync-basalam-onboarding-products', |
| 110 |
'content' => ' |
| 111 |
<div class="sync-basalam-pointer-step"> |
| 112 |
<h3 class="sync-basalam-pointer-title">� |
| 113 |
دیریت � |
| 114 |
حصولات</h3> |
| 115 |
<p class="sync-basalam-pointer-text">در این قس� |
| 116 |
ت سه ع� |
| 117 |
لیات اصلی � |
| 118 |
حصول را دارید: ایجاد ه� |
| 119 |
ه � |
| 120 |
حصولات در باسلا� |
| 121 |
، بروزرسانی گروهی � |
| 122 |
حصولات باسلا� |
| 123 |
ی، و اتصال � |
| 124 |
حصولات � |
| 125 |
وجود غرفه به � |
| 126 |
حصولات ووکا� |
| 127 |
رس.</p> |
| 128 |
<p class="sync-basalam-pointer-text">اگر بخشی از � |
| 129 |
حصولات قبلاً سینک نشدهاند، از لینکهای «� |
| 130 |
حصولات سینک نشده ووکا� |
| 131 |
رس» و «� |
| 132 |
حصولات سینک نشده باسلا� |
| 133 |
» برای بررسی سریع استفاده کنید.</p> |
| 134 |
</div>', |
| 135 |
'position' => ['edge' => 'right', 'align' => 'middle'], |
| 136 |
'nextLabel' => '� |
| 137 |
رحله بعد', |
| 138 |
], |
| 139 |
[ |
| 140 |
'selector' => '#sync-basalam-onboarding-orders', |
| 141 |
'content' => ' |
| 142 |
<div class="sync-basalam-pointer-step"> |
| 143 |
<h3 class="sync-basalam-pointer-title">� |
| 144 |
دیریت سفارشات</h3> |
| 145 |
<p class="sync-basalam-pointer-text">از این بخش، دریافت سفارشهای باسلا� |
| 146 |
در ووکا� |
| 147 |
رس را کنترل � |
| 148 |
یکنید و � |
| 149 |
یتوانید ه� |
| 150 |
گا� |
| 151 |
سازی سفارشات را روشن یا � |
| 152 |
توقف کنید.</p> |
| 153 |
<p class="sync-basalam-pointer-text">ه� |
| 154 |
چنین ا� |
| 155 |
کان فعالسازی تایید خودکار سفارشات باسلا� |
| 156 |
وجود دارد تا فرایند پردازش سفارشها سریعتر و یکپارچهتر انجا� |
| 157 |
شود.</p> |
| 158 |
</div>', |
| 159 |
'position' => ['edge' => 'right', 'align' => 'middle'], |
| 160 |
'nextLabel' => '� |
| 161 |
رحله بعد', |
| 162 |
], |
| 163 |
[ |
| 164 |
'selector' => '#sync-basalam-onboarding-settings', |
| 165 |
'content' => ' |
| 166 |
<div class="sync-basalam-pointer-step"> |
| 167 |
<h3 class="sync-basalam-pointer-title">تنظی� |
| 168 |
ات اصلی</h3> |
| 169 |
<p class="sync-basalam-pointer-text">اینجا � |
| 170 |
ه� |
| 171 |
ترین تنظی� |
| 172 |
ات اولیه را انجا� |
| 173 |
� |
| 174 |
یدهید؛ � |
| 175 |
ثل افزایش قی� |
| 176 |
ت، � |
| 177 |
وجودی پیشفرض، و انتخاب نوع قی� |
| 178 |
ت ارسالی (قی� |
| 179 |
ت اصلی یا حراجی).</p> |
| 180 |
<p class="sync-basalam-pointer-text">پیشنهاد � |
| 181 |
یشود حت� |
| 182 |
ا بر اساس اولویت های کسب و کارتان ت� |
| 183 |
ا� |
| 184 |
ی تنظی� |
| 185 |
ات را بررسی کنید.</p> |
| 186 |
</div>', |
| 187 |
'position' => ['edge' => 'left', 'align' => 'middle'], |
| 188 |
'nextLabel' => '� |
| 189 |
رحله بعد', |
| 190 |
], |
| 191 |
[ |
| 192 |
'selector' => '#sync-basalam-onboarding-advanced-settings', |
| 193 |
'content' => ' |
| 194 |
<div class="sync-basalam-pointer-step"> |
| 195 |
<h3 class="sync-basalam-pointer-title">تنظی� |
| 196 |
ات بیشتر</h3> |
| 197 |
<p class="sync-basalam-pointer-text">با این دک� |
| 198 |
ه تنظی� |
| 199 |
ات پیشرفته باز � |
| 200 |
یشود: تنظی� |
| 201 |
ات � |
| 202 |
حصول، تنظی� |
| 203 |
ات سفارش، و تنظی� |
| 204 |
ات اجرای ع� |
| 205 |
لیات (سرعت پردازش و � |
| 206 |
دیریت تسکها).</p> |
| 207 |
<p class="sync-basalam-pointer-text">اگر نیاز به کنترل دقیقتری روی فیلدهای ارسالی، وزنها، وضعیت سفارشها و ع� |
| 208 |
لکرد سیست� |
| 209 |
دارید، این بخش نقطه اصلی تنظی� |
| 210 |
ات حرفهای ش� |
| 211 |
است.</p> |
| 212 |
</div>', |
| 213 |
'position' => ['edge' => 'bottom', 'align' => 'middle'], |
| 214 |
'doneLabel' => 'پایان راهن� |
| 215 |
ا', |
| 216 |
], |
| 217 |
]; |
| 218 |
} |
| 219 |
} |
| 220 |
|