diff --git a/database/migrations/2026_07_12_000004_add_tracking_systems_enabled_setting.php b/database/migrations/2026_07_12_000004_add_tracking_systems_enabled_setting.php new file mode 100644 index 0000000..f431894 --- /dev/null +++ b/database/migrations/2026_07_12_000004_add_tracking_systems_enabled_setting.php @@ -0,0 +1,29 @@ +where('key', 'tracking_systems_enabled')->exists()) { + DB::table('settings')->insert([ + 'key' => 'tracking_systems_enabled', + 'value' => 'false', + 'title_fa' => 'نمایش سامانه‌های ردیابی', + 'type' => 'switch', + 'can_edit' => 0, + 'is_active' => 1, + 'description' => 'روشن: اسکریپت‌های tracking_systems در اپ مشتری بارگذاری می‌شوند؛ خاموش: هیچ ردیابی فعال نیست', + 'created_at' => now(), + 'updated_at' => now(), + ]); + } + } + + public function down(): void + { + DB::table('settings')->where('key', 'tracking_systems_enabled')->delete(); + } +}; diff --git a/database/sql/add_tracking_systems_setting.sql b/database/sql/add_tracking_systems_setting.sql index 9b99cac..9633c5e 100644 --- a/database/sql/add_tracking_systems_setting.sql +++ b/database/sql/add_tracking_systems_setting.sql @@ -12,3 +12,16 @@ SELECT NOW(), NOW() WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tracking_systems' LIMIT 1); + +INSERT INTO `settings` (`key`, `value`, `title_fa`, `type`, `can_edit`, `is_active`, `description`, `created_at`, `updated_at`) +SELECT + 'tracking_systems_enabled', + 'false', + 'نمایش سامانه‌های ردیابی', + 'switch', + 0, + 1, + 'روشن: اسکریپت‌های tracking_systems در اپ مشتری بارگذاری می‌شوند؛ خاموش: هیچ ردیابی فعال نیست', + NOW(), + NOW() +WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tracking_systems_enabled' LIMIT 1); diff --git a/database/sql/deploy_settings_const.sql b/database/sql/deploy_settings_const.sql index 446c073..7eb6bfb 100644 --- a/database/sql/deploy_settings_const.sql +++ b/database/sql/deploy_settings_const.sql @@ -297,6 +297,11 @@ SELECT 'tracking_systems', '[]', 'سامانه‌های ردیابی', 0, 1, 'JSON لیست آنالیتیکس — type: gtag|gtm|clarity|custom؛ id شناسه/کد؛ enabled روشن/خاموش', 'longtext' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tracking_systems' LIMIT 1); +INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`) +SELECT 'tracking_systems_enabled', 'false', 'نمایش سامانه‌های ردیابی', 0, 1, + 'روشن: اسکریپت‌های tracking_systems در اپ مشتری بارگذاری می‌شوند؛ خاموش: هیچ ردیابی فعال نیست', 'switch' +WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tracking_systems_enabled' LIMIT 1); + INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`) SELECT 'montify_name', '', 'نام فروشگاه در درگاه', 0, 1, NULL, 'text' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montify_name' LIMIT 1); @@ -809,7 +814,7 @@ UPDATE `settings` SET `type` = 'switch' WHERE `key` IN ( 'profit_gold_api_enabled', 'payping_round_toman', 'payping_strict_failed_withdraw', 'has_page_earn_money', 'charge_notif', 'group_sms', 'sms_panel', 'montzar_closed', 'montzar_open_buy', 'montzar_open_sell', - 'payping_fin_sync_enabled', 'external_order_api_enabled', 'is_store', 'wss_enabled', + 'payping_fin_sync_enabled', 'external_order_api_enabled', 'is_store', 'wss_enabled', 'tracking_systems_enabled', 'register_referral_sms_to_referrer', 'register_referral_bonus_message', 'referral_gift_on_first_order', 'banner_enabled' @@ -1188,6 +1193,7 @@ UPDATE `settings` SET `description` = 'روشن: API دریافت کیف پول UPDATE `settings` SET `description` = 'روشن: اپ به SSE (sse_path) وصل می‌شود و last/list با payload می‌آید؛ خاموش: polling.' WHERE `key` = 'wss_enabled'; UPDATE `settings` SET `description` = 'مسیر GET لاراول برای استریم قیمت — پیش‌فرض /api/price/stream' WHERE `key` = 'sse_path'; UPDATE `settings` SET `description` = 'JSON لیست سامانه‌های آنالیتیکس — هر مورد: type (gtag|gtm|clarity|custom)، id، enabled. فقط دیپلوی.' WHERE `key` = 'tracking_systems'; +UPDATE `settings` SET `description` = 'روشن: اسکریپت‌های JSON در tracking_systems در اپ مشتری بارگذاری می‌شوند؛ خاموش: هیچ سامانه ردیابی فعال نیست.' WHERE `key` = 'tracking_systems_enabled'; UPDATE `settings` SET `description` = 'نام فروشگاه که در درگاه پرداخت و رسید بانکی به کاربر نمایش داده می‌شود.' WHERE `key` = 'montify_name'; UPDATE `settings` SET `description` = 'روشن: پس از واریز/برداشت، تراکنش به سامانه حسابداری fin همگام‌سازی می‌شود.' WHERE `key` = 'payping_fin_sync_enabled'; @@ -1401,6 +1407,7 @@ UPDATE `settings` SET `title_fa` = 'واحد وزن دارایی و معاملا UPDATE `settings` SET `title_fa` = 'بیشترین قیمت امروز' WHERE `key` = 'up_price'; UPDATE `settings` SET `title_fa` = 'قیمت لحظه‌ای (SSE)' WHERE `key` = 'wss_enabled'; UPDATE `settings` SET `title_fa` = 'سامانه‌های ردیابی' WHERE `key` = 'tracking_systems'; +UPDATE `settings` SET `title_fa` = 'نمایش سامانه‌های ردیابی' WHERE `key` = 'tracking_systems_enabled'; UPDATE `settings` SET `title_fa` = 'آدرس API تابلو Zaarbox' WHERE `key` = 'zaarbox_api_url'; UPDATE `settings` SET `title_fa` = 'شناسه ردیف تابلو (key یا UUID)' WHERE `key` = 'zaarbox_price_key'; @@ -1433,7 +1440,7 @@ UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN ( 'price_extreme_date', 'price_provider', 'profit_gold_api_enabled', 'send_to_tahesab', 'service_charge_percentage', 'sse_path', - 'tracking_systems', + 'tracking_systems', 'tracking_systems_enabled', 'tahesab_bank_account', 'tahesab_db', 'tahesab_host', 'tahesab_port', 'tahesab_token', 'telegram_bot_token', 'rubika_bot_token', 'price_channel_bale_to', 'price_channel_telegram_to', 'price_channel_rubika_to', diff --git a/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql b/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql index ca3ff12..b86e855 100644 --- a/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql +++ b/database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql @@ -250,6 +250,11 @@ SELECT 'tracking_systems', '[]', 'سامانه‌های ردیابی', 0, 1, 'JSON لیست آنالیتیکس — type: gtag|gtm|clarity|custom؛ id شناسه/کد؛ enabled روشن/خاموش', 'longtext' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tracking_systems' LIMIT 1); +INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`) +SELECT 'tracking_systems_enabled', 'false', 'نمایش سامانه‌های ردیابی', 0, 1, + 'روشن: اسکریپت‌های tracking_systems در اپ مشتری بارگذاری می‌شوند؛ خاموش: هیچ ردیابی فعال نیست', 'switch' +WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'tracking_systems_enabled' LIMIT 1); + INSERT INTO `settings` (`key`, `value`, `title_fa`, `can_edit`, `is_active`, `description`, `type`) SELECT 'montify_name', '', 'نام فروشگاه در درگاه', 1, 1, NULL, 'text' WHERE NOT EXISTS (SELECT 1 FROM `settings` WHERE `key` = 'montify_name' LIMIT 1); @@ -689,7 +694,7 @@ UPDATE `settings` SET `type` = 'switch' WHERE `key` IN ( 'send_to_tahesab', 'profit_gold_api_enabled', 'payping_round_toman', 'payping_strict_failed_withdraw', 'has_page_earn_money', 'charge_notif', 'group_sms', 'sms_panel', 'montzar_closed', 'montzar_open_buy', 'montzar_open_sell', - 'payping_fin_sync_enabled', 'external_order_api_enabled', 'is_store', 'wss_enabled', + 'payping_fin_sync_enabled', 'external_order_api_enabled', 'is_store', 'wss_enabled', 'tracking_systems_enabled', 'register_referral_sms_to_referrer', 'register_referral_bonus_message', 'referral_gift_on_first_order' ); @@ -1093,6 +1098,7 @@ UPDATE `settings` SET `description` = 'روشن: API دریافت کیف پول UPDATE `settings` SET `description` = 'روشن: اپ به SSE (sse_path) وصل می‌شود و last/list با payload می‌آید؛ خاموش: polling.' WHERE `key` = 'wss_enabled'; UPDATE `settings` SET `description` = 'مسیر GET لاراول برای استریم قیمت — پیش‌فرض /api/price/stream' WHERE `key` = 'sse_path'; UPDATE `settings` SET `description` = 'JSON لیست سامانه‌های آنالیتیکس — هر مورد: type (gtag|gtm|clarity|custom)، id، enabled. فقط دیپلوی.' WHERE `key` = 'tracking_systems'; +UPDATE `settings` SET `description` = 'روشن: اسکریپت‌های JSON در tracking_systems در اپ مشتری بارگذاری می‌شوند؛ خاموش: هیچ سامانه ردیابی فعال نیست.' WHERE `key` = 'tracking_systems_enabled'; UPDATE `settings` SET `description` = 'نام فروشگاه که در درگاه پرداخت و رسید بانکی به کاربر نمایش داده می‌شود.' WHERE `key` = 'montify_name'; UPDATE `settings` SET `description` = 'روشن: پس از واریز/برداشت، تراکنش به سامانه حسابداری fin همگام‌سازی می‌شود.' WHERE `key` = 'payping_fin_sync_enabled'; @@ -1190,7 +1196,7 @@ UPDATE `settings` SET `can_edit` = 0 WHERE `key` IN ( 'price_extreme_date', 'price_provider', 'profit_gold_api_enabled', 'send_to_tahesab', 'service_charge_percentage', 'sse_path', - 'tracking_systems', + 'tracking_systems', 'tracking_systems_enabled', 'tahesab_bank_account', 'tahesab_db', 'tahesab_host', 'tahesab_port', 'tahesab_token', 'telegram_bot_token', 'unit',