fix(sms): keep charge deposit defaults and unlock referral bonus

Empty SuperAdmin chargeInfo was wiping sms_charge_* on header refresh.
Seed those keys only when empty, and move referral_bonus_amount to can_edit=1.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-01 21:38:19 +03:30
co-authored by Cursor
parent cae41e72b8
commit 91a2dab440
8 changed files with 368 additions and 31 deletions
@@ -0,0 +1,58 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
/**
* مقدار پاداش معرف — can_edit=1 در تنظیمات عادی (معرف و پاداش).
* value ردیف موجود را تغییر نمی‌دهد.
*/
return new class extends Migration
{
public function up(): void
{
$key = 'referral_bonus_amount';
$meta = [
'title_fa' => 'مقدار پاداش معرف',
'description' => 'مبلغ یا مقدار پاداش معرف برای نمایش در پیامک‌ها و متن‌های دعوت.',
'type' => 'text',
];
$exists = DB::table('settings')->where('key', $key)->exists();
if (! $exists) {
$row = [
'key' => $key,
'value' => '',
'title_fa' => $meta['title_fa'],
'can_edit' => 1,
'is_active' => 1,
'description' => $meta['description'],
'type' => $meta['type'],
];
if (Schema::hasColumn('settings', 'menu')) {
$row['menu'] = 'referral';
}
DB::table('settings')->insert($row);
return;
}
$update = [
'title_fa' => $meta['title_fa'],
'description' => $meta['description'],
'type' => $meta['type'],
'can_edit' => 1,
'is_active' => 1,
];
if (Schema::hasColumn('settings', 'menu')) {
$update['menu'] = 'referral';
}
DB::table('settings')->where('key', $key)->update($update);
}
public function down(): void
{
// کلید را حذف نمی‌کنیم
}
};
@@ -0,0 +1,88 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
/**
* اطلاعات واریز شارژ سامانه پیامک — INSERT اگر نبود؛ value فقط اگر خالی باشد.
*/
return new class extends Migration
{
public function up(): void
{
$rows = [
'sms_charge_card_number' => [
'value' => '6219861961033817',
'title_fa' => 'شماره کارت شارژ پیامک',
'description' => 'شماره کارت برای واریز شارژ سامانه پیامکی (مودال اعتبار پیامک).',
'type' => 'text',
],
'sms_charge_sheba' => [
'value' => 'IR080560611828005603604201',
'title_fa' => 'شماره شبا شارژ پیامک',
'description' => 'شماره شبا برای واریز شارژ سامانه پیامکی.',
'type' => 'text',
],
'sms_charge_account_holder' => [
'value' => 'حسین منتظر',
'title_fa' => 'نام صاحب حساب شارژ پیامک',
'description' => 'نام صاحب حساب واریز شارژ سامانه پیامکی.',
'type' => 'text',
],
'sms_charge_note' => [
'value' => 'لطفا مبلغ مورد نظر خود جهت شارژ سامانه پیامکی را به شماره کارت یا حساب زیر واریز نمایید و تصویر فیش پرداختی را برای پشتیبانی بفرستید.',
'title_fa' => 'متن راهنمای شارژ پیامک',
'description' => 'متن راهنمای مودال شارژ اعتبار پیامک در پنل ادمین.',
'type' => 'longtext',
],
];
$hasMenu = Schema::hasColumn('settings', 'menu');
foreach ($rows as $key => $meta) {
$exists = DB::table('settings')->where('key', $key)->exists();
if (! $exists) {
$row = [
'key' => $key,
'value' => $meta['value'],
'title_fa' => $meta['title_fa'],
'can_edit' => 0,
'is_active' => 1,
'description' => $meta['description'],
'type' => $meta['type'],
];
if ($hasMenu) {
$row['menu'] = 'sms_charge';
}
DB::table('settings')->insert($row);
continue;
}
$update = [
'title_fa' => $meta['title_fa'],
'description' => $meta['description'],
'type' => $meta['type'],
'can_edit' => 0,
'is_active' => 1,
];
if ($hasMenu) {
$update['menu'] = 'sms_charge';
}
DB::table('settings')->where('key', $key)->update($update);
DB::table('settings')
->where('key', $key)
->where(function ($q) {
$q->whereNull('value')->orWhereRaw("TRIM(`value`) = ''");
})
->update(['value' => $meta['value']]);
}
}
public function down(): void
{
// کلید را حذف نمی‌کنیم
}
};
+82 -9
View File
@@ -64,6 +64,9 @@ SET @deposit_guide_desc = CONCAT(
'فاصله بعد از % اختیاری است.', CHAR(10),
'خالی = متن پیش‌فرض اپ.'
);
SET @sms_charge_note = 'لطفا مبلغ مورد نظر خود جهت شارژ سامانه پیامکی را به شماره کارت یا حساب زیر واریز نمایید و تصویر فیش پرداختی را برای پشتیبانی بفرستید.';
SET @sms_charge_note_desc = 'متن راهنمای مودال شارژ اعتبار پیامک در پنل ادمین.';
SET @deposit_support_msg_desc = CONCAT(
'متن پیام هنگام کلیک «پیام به پشتیبانی» در مودال واریز.', CHAR(10),
CHAR(10),
@@ -915,6 +918,37 @@ SELECT 'deposit_sheba', '', 'شبا واریز', 1, 1,
'شماره شبا واریز — در متن‌ها با ٪شبا یا %شبا جایگزین می‌شود.', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_sheba' LIMIT 1);
-- شارژ سامانه پیامکی (مودال اعتبار پیامک) — can_edit=0
-- value ردیف موجود فقط اگر خالی باشد پر می‌شود (ویجت هدر نباید مقدار خالی سوپرادمین را نگه دارد)
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'sms_charge_card_number', '6219861961033817', 'شماره کارت شارژ پیامک', 0, 1,
'شماره کارت برای واریز شارژ سامانه پیامکی (مودال اعتبار پیامک).', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_charge_card_number' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'sms_charge_sheba', 'IR080560611828005603604201', 'شماره شبا شارژ پیامک', 0, 1,
'شماره شبا برای واریز شارژ سامانه پیامکی.', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_charge_sheba' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'sms_charge_account_holder', 'حسین منتظر', 'نام صاحب حساب شارژ پیامک', 0, 1,
'نام صاحب حساب واریز شارژ سامانه پیامکی.', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_charge_account_holder' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'sms_charge_note', @sms_charge_note, 'متن راهنمای شارژ پیامک', 0, 1,
@sms_charge_note_desc, 'longtext'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_charge_note' LIMIT 1);
UPDATE `settings` SET `value` = '6219861961033817'
WHERE `key` = 'sms_charge_card_number' AND (`value` IS NULL OR TRIM(`value`) = '');
UPDATE `settings` SET `value` = 'IR080560611828005603604201'
WHERE `key` = 'sms_charge_sheba' AND (`value` IS NULL OR TRIM(`value`) = '');
UPDATE `settings` SET `value` = 'حسین منتظر'
WHERE `key` = 'sms_charge_account_holder' AND (`value` IS NULL OR TRIM(`value`) = '');
UPDATE `settings` SET `value` = @sms_charge_note
WHERE `key` = 'sms_charge_note' AND (`value` IS NULL OR TRIM(`value`) = '');
-- روش‌های واریز (قابل ویرایش؛ کارت به کارت پیش‌فرض روشن)
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'deposit_method_card_to_card', 'true', 'فعال‌سازی کارت به کارت', 1, 1,
@@ -1124,7 +1158,7 @@ WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'minimum_sell' LIMIT 1)
-- [super-admin can_edit=0]
-- INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
-- SELECT 'referral_bonus_amount', '', 'مقدار پاداش معرف', 0, 1, NULL, 'text'
-- SELECT 'referral_bonus_amount', '', 'مقدار پاداش معرف', 1, 1, NULL, 'text'
-- WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'referral_bonus_amount' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
@@ -1289,7 +1323,8 @@ WHERE `key` = 'main_product';
UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN (
'text_rule', 'text_about', 'about_software', 'support_messenger_text', 'invite_link_text',
'deposit_support_message_text', 'price_channel_message_text',
'montzar_order_response', 'montzar_last_product_log', 'tracking_systems'
'montzar_order_response', 'montzar_last_product_log', 'tracking_systems',
'sms_charge_note'
);
-- select (+ گزینه‌ها در description)
@@ -1364,7 +1399,8 @@ UPDATE `settings` SET `type` = 'text' WHERE `key` IN (
'tahesab_bank_account', 'telegram_bot_token', 'bale_bot_token', 'support_messenger_id',
'referral_bonus_amount', 'balance_report_exclude_customer_id', 'metal_type', 'main_metal', 'montify_name', 'price_extreme_date',
'liman_token',
'products_site_link_url', 'products_site_link_text'
'products_site_link_url', 'products_site_link_text',
'sms_charge_card_number', 'sms_charge_sheba', 'sms_charge_account_holder'
);
-- پیش‌فرض برای ردیف‌های بدون type
@@ -1602,6 +1638,34 @@ UPDATE `settings` SET
`description` = 'شماره شبا واریز — در متن‌ها با ٪شبا یا %شبا جایگزین می‌شود.'
WHERE `key` = 'deposit_sheba';
UPDATE `settings` SET
`title_fa` = 'شماره کارت شارژ پیامک',
`type` = 'text',
`can_edit` = 0,
`description` = 'شماره کارت برای واریز شارژ سامانه پیامکی (مودال اعتبار پیامک).'
WHERE `key` = 'sms_charge_card_number';
UPDATE `settings` SET
`title_fa` = 'شماره شبا شارژ پیامک',
`type` = 'text',
`can_edit` = 0,
`description` = 'شماره شبا برای واریز شارژ سامانه پیامکی.'
WHERE `key` = 'sms_charge_sheba';
UPDATE `settings` SET
`title_fa` = 'نام صاحب حساب شارژ پیامک',
`type` = 'text',
`can_edit` = 0,
`description` = 'نام صاحب حساب واریز شارژ سامانه پیامکی.'
WHERE `key` = 'sms_charge_account_holder';
UPDATE `settings` SET
`title_fa` = 'متن راهنمای شارژ پیامک',
`type` = 'longtext',
`can_edit` = 0,
`description` = @sms_charge_note_desc
WHERE `key` = 'sms_charge_note';
UPDATE `settings` SET
`title_fa` = 'متن دعوتنامه اشتراک‌گذاری',
`type` = 'longtext',
@@ -1768,8 +1832,12 @@ UPDATE `settings` SET
`description` = 'روشن: اگر منبع قیمت montzar باشد، قبل از واریز پاداش معرف/معرف‌شونده همان وزن از همکار خرید می‌شود؛ شکست خرید = واریز نمی‌شود. خاموش: مثل قبل فقط به کیف واریز می‌شود بدون خرید از همکار.'
WHERE `key` = 'referral_gift_buy_from_montzar';
UPDATE `settings` SET `description` = 'حداکثر تعداد دعوت‌های مجاز برای هر کاربر. خالی = بدون محدودیت.' WHERE `key` = 'referral_limit';
-- [super-admin can_edit=0]
-- UPDATE `settings` SET `description` = 'مبلغ یا مقدار پاداش معرف (متن آزاد — بسته به پیاده‌سازی پیامک/اعتبار). برای نمایش در پیام‌ها.' WHERE `key` = 'referral_bonus_amount';
UPDATE `settings` SET
`title_fa` = 'مقدار پاداش معرف',
`can_edit` = 1,
`type` = 'text',
`description` = 'مبلغ یا مقدار پاداش معرف برای نمایش در پیامک‌ها و متن‌های دعوت.'
WHERE `key` = 'referral_bonus_amount';
UPDATE `settings` SET `description` = 'روشن: تطبیق شماره کارت بانکی کاربر با سرویس احراز هویت جیبیت هنگام ثبت/ویرایش کارت.' WHERE `key` = 'jibit_verification';
UPDATE `settings` SET `description` = 'روشن: تطبیق کد ملی و موبایل در فرآیند ثبت‌نام از طریق سرویس جیبیت.' WHERE `key` = 'register_jibit_verify';
-- [super-admin can_edit=0]
@@ -2195,6 +2263,10 @@ UPDATE `settings` SET `title_fa` = 'نام صاحب حساب واریز' WHERE `
UPDATE `settings` SET `title_fa` = 'شماره کارت واریز' WHERE `key` = 'deposit_card_number';
UPDATE `settings` SET `title_fa` = 'شماره حساب واریز' WHERE `key` = 'deposit_account_number';
UPDATE `settings` SET `title_fa` = 'شبا واریز' WHERE `key` = 'deposit_sheba';
UPDATE `settings` SET `title_fa` = 'شماره کارت شارژ پیامک' WHERE `key` = 'sms_charge_card_number';
UPDATE `settings` SET `title_fa` = 'شماره شبا شارژ پیامک' WHERE `key` = 'sms_charge_sheba';
UPDATE `settings` SET `title_fa` = 'نام صاحب حساب شارژ پیامک' WHERE `key` = 'sms_charge_account_holder';
UPDATE `settings` SET `title_fa` = 'متن راهنمای شارژ پیامک' WHERE `key` = 'sms_charge_note';
UPDATE `settings` SET `title_fa` = 'فعال‌سازی کارت به کارت' WHERE `key` = 'deposit_method_card_to_card';
UPDATE `settings` SET `title_fa` = 'فعال‌سازی درگاه پرداخت' WHERE `key` = 'deposit_method_gateway';
UPDATE `settings` SET `title_fa` = 'فعال‌سازی شناسه واریز' WHERE `key` = 'deposit_method_identified';
@@ -2254,7 +2326,6 @@ UPDATE `settings` SET `title_fa` = 'شناسه ردیف تابلو (key یا UUI
-- 'external_payment_webhook_url',
-- 'wallet_payment_provider',
-- 'fee_deduct_from_gold',
-- 'referral_bonus_amount',
-- 'group_sms',
-- 'customer_special_pricing',
-- 'customer_direct_sms',
@@ -2317,7 +2388,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'montzar_password', 'montzar_product_id',
'montzar_account_zarin', 'montzar_account_tahesab', 'montzar_account_pargar',
'open_register',
'referral_id', 'referral_show', 'referral_limit', 'referral_gift_on_first_order', 'referral_gift_buy_from_montzar',
'referral_id', 'referral_show', 'referral_limit', 'referral_gift_on_first_order', 'referral_gift_buy_from_montzar', 'referral_bonus_amount',
'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer',
'sell_fee', 'show_last_price', 'show_home_price_when_closed', 'show_gold_ounce_price', 'show_product_details',
'show_product_trade_status', 'show_product_card_meta',
@@ -2348,7 +2419,8 @@ UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN (
'deposit_method_gateway', 'deposit_method_identified', 'deposit_method_shetab',
'payping_verify_url', 'payping_start_url', 'payping_strict_failed_withdraw',
'payping_fin_token', 'chart_id', 'payping_round_toman', 'payping_gateway_items',
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url'
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url',
'sms_charge_card_number', 'sms_charge_sheba', 'sms_charge_account_holder', 'sms_charge_note'
);
-- کلید runtime باقی‌مانده — can_edit=1
@@ -2529,7 +2601,8 @@ UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN (
'deposit_method_gateway', 'deposit_method_identified', 'deposit_method_shetab',
'payping_verify_url', 'payping_start_url', 'payping_strict_failed_withdraw',
'payping_fin_token', 'chart_id', 'payping_round_toman', 'payping_gateway_items',
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url'
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url',
'sms_charge_card_number', 'sms_charge_sheba', 'sms_charge_account_holder', 'sms_charge_note'
);
UPDATE `settings` SET `can_edit` = 1 WHERE `key` = 'chart_use_local_data';
@@ -42,6 +42,9 @@ SET @invite_link_desc = 'متن پیام اشتراک‌گذاری دعوت در
SET @deposit_guide_desc = 'متن راهنمای واریز در مودال شارژ حساب. متغیرها: ٪نام یا %نام = نام صاحب حساب؛ ٪کارت یا %کارت = شماره کارت؛ ٪شبا یا %شبا = شبا. فاصله بعد از ٪ اختیاری است. اگر خالی باشد از متن پیش‌فرض اپ استفاده می‌شود.';
SET @deposit_support_msg_desc = 'متن پیام هنگام کلیک روی «پیام به پشتیبانی» و «پیام به پشتیبانی (sms)» در مودال واریز. فقط متغیر ٪نام یا %نام = نام صاحب حساب (deposit_account_holder). پیش‌فرض: «شماره حساب».';
SET @sms_charge_note = 'لطفا مبلغ مورد نظر خود جهت شارژ سامانه پیامکی را به شماره کارت یا حساب زیر واریز نمایید و تصویر فیش پرداختی را برای پشتیبانی بفرستید.';
SET @sms_charge_note_desc = 'متن راهنمای مودال شارژ اعتبار پیامک در پنل ادمین.';
SET @price_channel_message_desc = CONCAT(
'متن پیامی که با تغییر قیمت به کانال فرستاده می‌شود. هر متغیر را دقیقاً همین‌طور بنویسید (با ٪ یا %).', CHAR(10),
CHAR(10),
@@ -663,6 +666,37 @@ SELECT 'deposit_sheba', '', 'شبا واریز', 1, 1,
'شماره شبا واریز — در متن‌ها با ٪شبا یا %شبا جایگزین می‌شود.', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_sheba' LIMIT 1);
-- شارژ سامانه پیامکی (مودال اعتبار پیامک) — can_edit=0
-- value ردیف موجود فقط اگر خالی باشد پر می‌شود
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'sms_charge_card_number', '6219861961033817', 'شماره کارت شارژ پیامک', 0, 1,
'شماره کارت برای واریز شارژ سامانه پیامکی (مودال اعتبار پیامک).', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_charge_card_number' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'sms_charge_sheba', 'IR080560611828005603604201', 'شماره شبا شارژ پیامک', 0, 1,
'شماره شبا برای واریز شارژ سامانه پیامکی.', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_charge_sheba' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'sms_charge_account_holder', 'حسین منتظر', 'نام صاحب حساب شارژ پیامک', 0, 1,
'نام صاحب حساب واریز شارژ سامانه پیامکی.', 'text'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_charge_account_holder' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'sms_charge_note', @sms_charge_note, 'متن راهنمای شارژ پیامک', 0, 1,
@sms_charge_note_desc, 'longtext'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'sms_charge_note' LIMIT 1);
UPDATE `settings` SET `value` = '6219861961033817'
WHERE `key` = 'sms_charge_card_number' AND (`value` IS NULL OR TRIM(`value`) = '');
UPDATE `settings` SET `value` = 'IR080560611828005603604201'
WHERE `key` = 'sms_charge_sheba' AND (`value` IS NULL OR TRIM(`value`) = '');
UPDATE `settings` SET `value` = 'حسین منتظر'
WHERE `key` = 'sms_charge_account_holder' AND (`value` IS NULL OR TRIM(`value`) = '');
UPDATE `settings` SET `value` = @sms_charge_note
WHERE `key` = 'sms_charge_note' AND (`value` IS NULL OR TRIM(`value`) = '');
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
SELECT 'deposit_support_message_text', 'شماره حساب', 'متن پیام به پشتیبانی (واریز)', 1, 1, @deposit_support_msg_desc, 'longtext'
WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'deposit_support_message_text' LIMIT 1);
@@ -790,7 +824,7 @@ WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'minimum_sell' LIMIT 1)
-- [super-admin can_edit=0]
-- INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
-- SELECT 'referral_bonus_amount', '', 'مقدار پاداش معرف', 0, 1, NULL, 'text'
-- SELECT 'referral_bonus_amount', '', 'مقدار پاداش معرف', 1, 1, NULL, 'text'
-- WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'referral_bonus_amount' LIMIT 1);
INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`)
@@ -955,7 +989,7 @@ WHERE `key` = 'main_product';
-- =============================================================================
-- longtext
UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN ('text_rule', 'text_about', 'support_messenger_text', 'invite_link_text', 'deposit_support_message_text', 'montzar_order_response', 'tracking_systems');
UPDATE `settings` SET `type` = 'longtext' WHERE `key` IN ('text_rule', 'text_about', 'support_messenger_text', 'invite_link_text', 'deposit_support_message_text', 'montzar_order_response', 'tracking_systems', 'sms_charge_note');
-- select (+ گزینه‌ها در description)
-- [super-admin can_edit=0]
@@ -1018,7 +1052,8 @@ UPDATE `settings` SET `type` = 'text' WHERE `key` IN (
'sse_path',
'tahesab_bank_account', 'telegram_bot_token', 'bale_bot_token', 'support_messenger_id',
'referral_bonus_amount', 'balance_report_exclude_customer_id', 'metal_type', 'main_metal', 'montify_name', 'price_extreme_date',
'liman_token'
'liman_token',
'sms_charge_card_number', 'sms_charge_sheba', 'sms_charge_account_holder'
);
-- پیش‌فرض برای ردیف‌های بدون type
@@ -1221,6 +1256,34 @@ UPDATE `settings` SET
`description` = 'شماره شبا واریز — در متن‌ها با ٪شبا یا %شبا جایگزین می‌شود.'
WHERE `key` = 'deposit_sheba';
UPDATE `settings` SET
`title_fa` = 'شماره کارت شارژ پیامک',
`type` = 'text',
`can_edit` = 0,
`description` = 'شماره کارت برای واریز شارژ سامانه پیامکی (مودال اعتبار پیامک).'
WHERE `key` = 'sms_charge_card_number';
UPDATE `settings` SET
`title_fa` = 'شماره شبا شارژ پیامک',
`type` = 'text',
`can_edit` = 0,
`description` = 'شماره شبا برای واریز شارژ سامانه پیامکی.'
WHERE `key` = 'sms_charge_sheba';
UPDATE `settings` SET
`title_fa` = 'نام صاحب حساب شارژ پیامک',
`type` = 'text',
`can_edit` = 0,
`description` = 'نام صاحب حساب واریز شارژ سامانه پیامکی.'
WHERE `key` = 'sms_charge_account_holder';
UPDATE `settings` SET
`title_fa` = 'متن راهنمای شارژ پیامک',
`type` = 'longtext',
`can_edit` = 0,
`description` = @sms_charge_note_desc
WHERE `key` = 'sms_charge_note';
UPDATE `settings` SET
`title_fa` = 'متن دعوتنامه اشتراک‌گذاری',
`type` = 'longtext',
@@ -1424,8 +1487,12 @@ UPDATE `settings` SET
`description` = 'روشن: اگر منبع قیمت montzar باشد، قبل از واریز پاداش معرف/معرف‌شونده همان وزن از همکار خرید می‌شود؛ شکست خرید = واریز نمی‌شود. خاموش: مثل قبل فقط به کیف واریز می‌شود بدون خرید از همکار.'
WHERE `key` = 'referral_gift_buy_from_montzar';
UPDATE `settings` SET `description` = 'حداکثر تعداد دعوت‌های مجاز برای هر کاربر. خالی = بدون محدودیت.' WHERE `key` = 'referral_limit';
-- [super-admin can_edit=0]
-- UPDATE `settings` SET `description` = 'مبلغ یا مقدار پاداش معرف (متن آزاد — بسته به پیاده‌سازی پیامک/اعتبار). برای نمایش در پیام‌ها.' WHERE `key` = 'referral_bonus_amount';
UPDATE `settings` SET
`title_fa` = 'مقدار پاداش معرف',
`can_edit` = 1,
`type` = 'text',
`description` = 'مبلغ یا مقدار پاداش معرف برای نمایش در پیامک‌ها و متن‌های دعوت.'
WHERE `key` = 'referral_bonus_amount';
UPDATE `settings` SET `description` = 'روشن: تطبیق شماره کارت بانکی کاربر با سرویس احراز هویت جیبیت هنگام ثبت/ویرایش کارت.' WHERE `key` = 'jibit_verification';
UPDATE `settings` SET `description` = 'روشن: تطبیق کد ملی و موبایل در فرآیند ثبت‌نام از طریق سرویس جیبیت.' WHERE `key` = 'register_jibit_verify';
-- [super-admin can_edit=0]
@@ -1613,7 +1680,6 @@ WHERE `key` IN ('text_rule', 'text_about', 'support_messenger_text', 'invite_lin
-- 'bale_bot_token',
-- 'chart_id', 'chart_use_local_data',
-- 'external_order_api_enabled',
-- 'referral_bonus_amount',
-- 'group_sms',
-- 'customer_special_pricing',
-- 'customer_direct_sms',
@@ -1671,7 +1737,7 @@ UPDATE `settings` SET `can_edit` = 1 WHERE `key` IN (
'montzar_mobile', 'montzar_open_buy', 'montzar_open_sell',
'montzar_password', 'montzar_product_id',
'open_register',
'referral_id', 'referral_show', 'referral_limit', 'referral_gift_on_first_order', 'referral_gift_buy_from_montzar',
'referral_id', 'referral_show', 'referral_limit', 'referral_gift_on_first_order', 'referral_gift_buy_from_montzar', 'referral_bonus_amount',
'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer',
'sell_fee', 'show_last_price', 'show_home_price_when_closed', 'show_product_details',
'show_product_trade_status', 'show_product_card_meta',
@@ -1697,7 +1763,8 @@ UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN (
'deposit_method_gateway', 'deposit_method_identified', 'deposit_method_shetab',
'payping_verify_url', 'payping_start_url', 'payping_strict_failed_withdraw',
'payping_fin_token', 'chart_id', 'payping_round_toman', 'payping_gateway_items',
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url'
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url',
'sms_charge_card_number', 'sms_charge_sheba', 'sms_charge_account_holder', 'sms_charge_note'
);
-- کلید runtime باقی‌مانده
@@ -1784,7 +1851,8 @@ UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN (
'deposit_method_gateway', 'deposit_method_identified', 'deposit_method_shetab',
'payping_verify_url', 'payping_start_url', 'payping_strict_failed_withdraw',
'payping_fin_token', 'chart_id', 'payping_round_toman', 'payping_gateway_items',
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url'
'payping_gateway_name', 'payping_fin_customer_id', 'payping_fin_url',
'sms_charge_card_number', 'sms_charge_sheba', 'sms_charge_account_holder', 'sms_charge_note'
);
UPDATE `settings` SET `can_edit` = 1 WHERE `key` = 'chart_use_local_data';
@@ -42,6 +42,7 @@ UPDATE `settings` SET `menu` = CASE
WHEN `key` LIKE 'montzar_%' OR `key` = 'display_montzar' THEN 'montzar'
WHEN `key` LIKE 'sms_notif_%'
OR `key` IN ('charge_notif', 'register_referral_sms_to_referrer') THEN 'notifications'
WHEN `key` LIKE 'sms_charge_%' THEN 'sms_charge'
WHEN `key` LIKE 'price_channel_%' OR `key` = 'change_mesghal' THEN 'price_channel'
WHEN `key` LIKE 'telegram_bot%' OR `key` LIKE 'bale_bot%' OR `key` LIKE 'rubika_bot%' THEN 'bots'
WHEN `key` LIKE 'referral_%'