'site_name', 'value' => 'Citrus Platform', 'type' => 'string', 'group' => 'general', 'label' => 'Site Adı', 'description' => 'Web sitesinin başlığı', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'site_description', 'value' => 'Modern ve güvenilir web platformu', 'type' => 'text', 'group' => 'general', 'label' => 'Site Açıklaması', 'description' => 'Web sitesinin kısa açıklaması', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'site_keywords', 'value' => json_encode(['citrus', 'platform', 'web', 'modern']), 'type' => 'tags_input', 'group' => 'general', 'label' => 'Site Anahtar Kelimeleri', 'description' => 'SEO için anahtar kelimeler (virgülle ayrılmış)', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'site_logo', 'value' => '', 'type' => 'file', 'group' => 'general', 'label' => 'Site Logosu', 'description' => 'Üst kısımda görünecek logo dosyası', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'site_favicon', 'value' => '', 'type' => 'file', 'group' => 'general', 'label' => 'Site Favicon', 'description' => 'Tarayıcı sekmesinde görünecek favicon', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'site_version', 'value' => '1.0.0', 'type' => 'string', 'group' => 'general', 'label' => 'Site Versiyonu', 'description' => 'Uygulama versiyon numarası', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'site_url', 'value' => 'https://citrus.truncgil.com', 'type' => 'string', 'group' => 'general', 'label' => 'Site URL', 'description' => 'Web sitesinin tam adresi', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'default_language', 'value' => 'tr', 'type' => 'toggle_buttons', 'group' => 'general', 'label' => 'Varsayılan Dil', 'description' => 'Site varsayılan dili', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'available_languages', 'value' => json_encode(['tr', 'en']), 'type' => 'checkbox_list', 'group' => 'general', 'label' => 'Aktif Diller', 'description' => 'Sitede kullanılacak diller', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'maintenance_mode', 'value' => '0', 'type' => 'boolean', 'group' => 'general', 'label' => 'Bakım Modu', 'description' => 'Site bakım modunda mı?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'maintenance_message', 'value' => '
Yakında döneceğiz...
', 'type' => 'rich_editor', 'group' => 'general', 'label' => 'Bakım Modu Mesajı', 'description' => 'Bakım modundayken gösterilecek mesaj', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'copyright_text', 'value' => '© 2024 Citrus Platform. Tüm hakları saklıdır.', 'type' => 'text', 'group' => 'general', 'label' => 'Telif Hakkı Metni', 'description' => 'Alt kısımda görünecek telif hakkı metni', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'contact_phone', 'value' => '+90 555 555 55 55', 'type' => 'string', 'group' => 'general', 'label' => 'İletişim Telefonu', 'description' => 'İletişim telefon numarası', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'contact_email', 'value' => 'info@citrus.truncgil.com', 'type' => 'string', 'group' => 'general', 'label' => 'İletişim E-posta', 'description' => 'İletişim e-posta adresi', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'contact_address', 'value' => 'İstanbul, Türkiye', 'type' => 'text', 'group' => 'general', 'label' => 'İletişim Adresi', 'description' => 'İletişim fiziksel adresi', 'is_public' => true, 'is_active' => true, ], // ========================================== // TEMA VE RENK AYARLARI (theme) // ========================================== [ 'key' => 'theme_primary_color', 'value' => '#3b82f6', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Primary Color', 'description' => 'Ana tema rengi (Tailwind/Bootstrap primary)', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_secondary_color', 'value' => '#6b7280', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Secondary Color', 'description' => 'İkincil tema rengi', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_success_color', 'value' => '#10b981', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Success Color', 'description' => 'Başarı mesajları için renk', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_danger_color', 'value' => '#ef4444', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Danger Color', 'description' => 'Hata ve uyarı mesajları için renk', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_warning_color', 'value' => '#f59e0b', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Warning Color', 'description' => 'Uyarı mesajları için renk', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_info_color', 'value' => '#06b6d4', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Info Color', 'description' => 'Bilgi mesajları için renk', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_light_color', 'value' => '#f9fafb', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Light Color', 'description' => 'Açık renk', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_dark_color', 'value' => '#1f2937', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Dark Color', 'description' => 'Koyu renk', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_body_background', 'value' => '#ffffff', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Body Background Color', 'description' => 'Sayfa arka plan rengi', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_text_color', 'value' => '#111827', 'type' => 'color_picker', 'group' => 'theme', 'label' => 'Text Color', 'description' => 'Varsayılan metin rengi', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_mode', 'value' => 'light', 'type' => 'toggle_buttons', 'group' => 'theme', 'label' => 'Tema Modu', 'description' => 'Açık, koyu veya otomatik tema', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'theme_border_radius', 'value' => '8', 'type' => 'slider', 'group' => 'theme', 'label' => 'Border Radius (px)', 'description' => 'Öğelerin köşe yuvarlaklığı (0-20 arası)', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'custom_css', 'value' => '/* Özel CSS kodlarınızı buraya ekleyin */', 'type' => 'code_editor', 'group' => 'theme', 'label' => 'Özel CSS', 'description' => 'Site genelinde uygulanacak özel CSS kodları', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'custom_js', 'value' => '// Özel JavaScript kodlarınızı buraya ekleyin', 'type' => 'code_editor', 'group' => 'theme', 'label' => 'Özel JavaScript', 'description' => 'Site genelinde uygulanacak özel JavaScript kodları', 'is_public' => false, 'is_active' => true, ], // ========================================== // LOKALİZASYON AYARLARI (localization) // ========================================== [ 'key' => 'timezone', 'value' => 'Europe/Istanbul', 'type' => 'string', 'group' => 'localization', 'label' => 'Zaman Dilimi', 'description' => 'Sunucu zaman dilimi (Europe/Istanbul, UTC, vb.)', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'date_format', 'value' => 'd/m/Y', 'type' => 'radio', 'group' => 'localization', 'label' => 'Tarih Formatı', 'description' => 'Tarih gösterim formatı', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'time_format', 'value' => '24', 'type' => 'toggle_buttons', 'group' => 'localization', 'label' => 'Saat Formatı', 'description' => '12 veya 24 saatlik format', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'currency', 'value' => 'TRY', 'type' => 'string', 'group' => 'localization', 'label' => 'Para Birimi', 'description' => 'Varsayılan para birimi kodu (TRY, USD, EUR)', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'currency_symbol', 'value' => '₺', 'type' => 'string', 'group' => 'localization', 'label' => 'Para Birimi Sembolü', 'description' => 'Para birimi sembolü', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'currency_position', 'value' => 'after', 'type' => 'radio', 'group' => 'localization', 'label' => 'Para Birimi Konumu', 'description' => 'Sembolün fiyatın önünde mi arkasında mı olacağı', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'thousands_separator', 'value' => '.', 'type' => 'string', 'group' => 'localization', 'label' => 'Binlik Ayırıcı', 'description' => 'Sayılarda binlik ayırıcı karakter', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'decimal_separator', 'value' => ',', 'type' => 'string', 'group' => 'localization', 'label' => 'Ondalık Ayırıcı', 'description' => 'Sayılarda ondalık ayırıcı karakter', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'decimal_places', 'value' => '2', 'type' => 'integer', 'group' => 'localization', 'label' => 'Ondalık Basamak Sayısı', 'description' => 'Para birimi için ondalık basamak sayısı', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'week_start_day', 'value' => 'Monday', 'type' => 'radio', 'group' => 'localization', 'label' => 'Haftanın İlk Günü', 'description' => 'Haftanın başlangıç günü', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'calendar_type', 'value' => 'Gregorian', 'type' => 'toggle_buttons', 'group' => 'localization', 'label' => 'Takvim Tipi', 'description' => 'Gregorian veya Miladi takvim', 'is_public' => true, 'is_active' => true, ], // ========================================== // E-POSTA AYARLARI (email) // ========================================== [ 'key' => 'mail_driver', 'value' => 'smtp', 'type' => 'radio', 'group' => 'email', 'label' => 'Mail Driver', 'description' => 'E-posta gönderim yöntemi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'mail_host', 'value' => 'smtp.gmail.com', 'type' => 'string', 'group' => 'email', 'label' => 'SMTP Host', 'description' => 'SMTP sunucu adresi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'mail_port', 'value' => '587', 'type' => 'integer', 'group' => 'email', 'label' => 'SMTP Port', 'description' => 'SMTP port numarası', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'mail_username', 'value' => '', 'type' => 'string', 'group' => 'email', 'label' => 'SMTP Kullanıcı Adı', 'description' => 'SMTP kullanıcı adı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'mail_password', 'value' => '', 'type' => 'string', 'group' => 'email', 'label' => 'SMTP Şifre', 'description' => 'SMTP şifresi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'mail_encryption', 'value' => 'tls', 'type' => 'toggle_buttons', 'group' => 'email', 'label' => 'SMTP Şifreleme', 'description' => 'TLS veya SSL şifreleme', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'mail_from_address', 'value' => 'noreply@citrus.truncgil.com', 'type' => 'string', 'group' => 'email', 'label' => 'Gönderen E-posta Adresi', 'description' => 'Sistem e-postalarının gönderileceği adres', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'mail_from_name', 'value' => 'Citrus Platform', 'type' => 'string', 'group' => 'email', 'label' => 'Gönderen İsim', 'description' => 'Sistem e-postalarının gönderen adı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'mail_notifications_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'email', 'label' => 'E-posta Bildirimleri Aktif', 'description' => 'E-posta bildirimleri gönderilsin mi?', 'is_public' => false, 'is_active' => true, ], // ========================================== // SOSYAL MEDYA AYARLARI (social) // ========================================== [ 'key' => 'social_links', 'value' => json_encode([ 'facebook' => 'https://facebook.com/', 'twitter' => 'https://twitter.com/', 'instagram' => 'https://instagram.com/', 'linkedin' => 'https://linkedin.com/', 'youtube' => '', 'tiktok' => '', 'github' => '', 'discord' => '', ]), 'type' => 'key_value', 'group' => 'social', 'label' => 'Sosyal Medya Linkleri', 'description' => 'Sosyal medya platformlarının URL\'leri', 'is_public' => true, 'is_active' => true, ], // ========================================== // FRONTEND theme AYARLARI (theme) // ========================================== [ 'key' => 'default_meta_title', 'value' => 'Truncgil Citrus - Modern Web Çözümleri', 'type' => 'string', 'group' => 'theme', 'label' => 'Varsayılan Meta Başlık', 'description' => 'Sayfalarda özel meta başlık yoksa kullanılacak', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'default_meta_description', 'value' => 'Yenilikçi teknoloji çözümleri ile geleceği şekillendiriyoruz', 'type' => 'text', 'group' => 'theme', 'label' => 'Varsayılan Meta Açıklama', 'description' => 'Sayfalarda özel meta açıklama yoksa kullanılacak', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'default_meta_image', 'value' => 'assets/img/demos/f1.png', 'type' => 'string', 'group' => 'theme', 'label' => 'Varsayılan Meta Görsel', 'description' => 'Open Graph için varsayılan görsel', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'logo_path', 'value' => 'assets/img/truncgil-yatay.svg', 'type' => 'string', 'group' => 'theme', 'label' => 'Logo Yolu', 'description' => 'Header\'da görünecek logo', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'logo_light', 'value' => '', 'type' => 'file', 'group' => 'theme', 'label' => 'Light Logo', 'description' => 'Koyu zeminler için açık renkli logo', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'logo_dark', 'value' => '', 'type' => 'file', 'group' => 'theme', 'label' => 'Dark Logo', 'description' => 'Açık zeminler için koyu renkli logo', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'favicon_path', 'value' => 'assets/img/favicon.ico', 'type' => 'string', 'group' => 'theme', 'label' => 'Favicon Yolu', 'description' => 'Tarayıcı favicon', 'is_public' => true, 'is_active' => true, ], // ========================================== // SEO AYARLARI (seo) // ========================================== [ 'key' => 'seo_meta_title', 'value' => 'Citrus Platform - Modern Web Platformu', 'type' => 'string', 'group' => 'seo', 'label' => 'SEO Meta Başlık', 'description' => 'Varsayılan SEO meta başlığı', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'seo_meta_description', 'value' => 'Modern ve güvenilir web platformu', 'type' => 'text', 'group' => 'seo', 'label' => 'SEO Meta Açıklama', 'description' => 'Varsayılan SEO meta açıklaması', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'seo_meta_keywords', 'value' => json_encode(['citrus', 'platform', 'web', 'modern', 'laravel']), 'type' => 'tags_input', 'group' => 'seo', 'label' => 'SEO Meta Anahtar Kelimeler', 'description' => 'Varsayılan SEO meta anahtar kelimeler', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'seo_google_analytics_id', 'value' => '', 'type' => 'string', 'group' => 'seo', 'label' => 'Google Analytics ID', 'description' => 'Google Analytics takip kodu', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'seo_google_tag_manager_id', 'value' => '', 'type' => 'string', 'group' => 'seo', 'label' => 'Google Tag Manager ID', 'description' => 'Google Tag Manager takip kodu', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'seo_bing_webmaster', 'value' => '', 'type' => 'string', 'group' => 'seo', 'label' => 'Bing Webmaster Tools', 'description' => 'Bing Webmaster doğrulama kodu', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'seo_robots_txt', 'value' => "User-agent: *\nAllow: /", 'type' => 'code_editor', 'group' => 'seo', 'label' => 'Robots.txt İçeriği', 'description' => 'Robots.txt dosyası içeriği', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'seo_sitemap_url', 'value' => '/sitemap.xml', 'type' => 'string', 'group' => 'seo', 'label' => 'Sitemap URL', 'description' => 'XML sitemap dosyasının adresi', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'seo_canonical_url', 'value' => 'https://citrus.truncgil.com', 'type' => 'string', 'group' => 'seo', 'label' => 'Canonical URL', 'description' => 'Varsayılan canonical URL', 'is_public' => true, 'is_active' => true, ], [ 'key' => 'seo_opengraph_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'seo', 'label' => 'Open Graph Etiketleri', 'description' => 'Open Graph meta etiketleri aktif mi?', 'is_public' => false, 'is_active' => true, ], // ========================================== // GÜVENLİK AYARLARI (security) // ========================================== [ 'key' => 'security_max_login_attempts', 'value' => '5', 'type' => 'slider', 'group' => 'security', 'label' => 'Maksimum Giriş Denemesi', 'description' => 'Kullanıcı hesabının kilitlenmesi için maksimum giriş denemesi (3-10 arası)', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_session_timeout', 'value' => '120', 'type' => 'integer', 'group' => 'security', 'label' => 'Oturum Zaman Aşımı (dakika)', 'description' => 'Kullanıcı oturumunun zaman aşımına uğrayacağı süre', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_2fa_enabled', 'value' => '0', 'type' => 'boolean', 'group' => 'security', 'label' => 'İki Faktörlü Doğrulama', 'description' => 'İki faktörlü doğrulama aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_password_min_length', 'value' => '8', 'type' => 'slider', 'group' => 'security', 'label' => 'Şifre Minimum Uzunluk', 'description' => 'Şifre için minimum karakter sayısı (6-20 arası)', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_password_require_uppercase', 'value' => '1', 'type' => 'boolean', 'group' => 'security', 'label' => 'Şifrede Büyük Harf Zorunlu', 'description' => 'Şifrede en az bir büyük harf olmalı mı?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_password_require_lowercase', 'value' => '1', 'type' => 'boolean', 'group' => 'security', 'label' => 'Şifrede Küçük Harf Zorunlu', 'description' => 'Şifrede en az bir küçük harf olmalı mı?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_password_require_numbers', 'value' => '1', 'type' => 'boolean', 'group' => 'security', 'label' => 'Şifrede Rakam Zorunlu', 'description' => 'Şifrede en az bir rakam olmalı mı?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_password_require_symbols', 'value' => '0', 'type' => 'boolean', 'group' => 'security', 'label' => 'Şifrede Özel Karakter Zorunlu', 'description' => 'Şifrede en az bir özel karakter olmalı mı?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_api_rate_limit', 'value' => '60', 'type' => 'integer', 'group' => 'security', 'label' => 'API Rate Limit', 'description' => 'Dakikada maksimum API isteği sayısı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_ip_whitelist', 'value' => json_encode([]), 'type' => 'tags_input', 'group' => 'security', 'label' => 'IP Whitelist', 'description' => 'Yönetim paneline erişebilecek IP adresleri (boş = tüm IP\'ler)', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'security_csrf_protection', 'value' => '1', 'type' => 'boolean', 'group' => 'security', 'label' => 'CSRF Koruması', 'description' => 'CSRF koruması aktif mi?', 'is_public' => false, 'is_active' => true, ], // ========================================== // DOSYA YÜKLEME AYARLARI (upload) // ========================================== [ 'key' => 'upload_max_size', 'value' => '10', 'type' => 'slider', 'group' => 'upload', 'label' => 'Maksimum Yükleme Boyutu (MB)', 'description' => 'Dosya yükleme için maksimum boyut (1-100 MB arası)', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'upload_allowed_image_types', 'value' => json_encode(['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg']), 'type' => 'tags_input', 'group' => 'upload', 'label' => 'İzin Verilen Resim Formatları', 'description' => 'Yüklenebilecek resim dosya türleri', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'upload_allowed_document_types', 'value' => json_encode(['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt']), 'type' => 'tags_input', 'group' => 'upload', 'label' => 'İzin Verilen Belge Formatları', 'description' => 'Yüklenebilecek belge dosya türleri', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'upload_allowed_video_types', 'value' => json_encode(['mp4', 'avi', 'mov', 'wmv', 'flv', 'webm']), 'type' => 'tags_input', 'group' => 'upload', 'label' => 'İzin Verilen Video Formatları', 'description' => 'Yüklenebilecek video dosya türleri', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'upload_image_quality', 'value' => '85', 'type' => 'slider', 'group' => 'upload', 'label' => 'Resim Kalitesi (%)', 'description' => 'Yüklenen resimlerin sıkıştırma kalitesi (1-100 arası)', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'upload_storage_driver', 'value' => 'local', 'type' => 'radio', 'group' => 'upload', 'label' => 'Storage Driver', 'description' => 'Dosya saklama yöntemi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'upload_cdn_url', 'value' => '', 'type' => 'string', 'group' => 'upload', 'label' => 'CDN URL', 'description' => 'CDN sunucusu adresi (boş bırakılabilir)', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'upload_folder_structure', 'value' => 'date', 'type' => 'radio', 'group' => 'upload', 'label' => 'Klasör Yapısı', 'description' => 'Dosyaların saklanma klasör yapısı', 'is_public' => false, 'is_active' => true, ], // ========================================== // BİLDİRİM AYARLARI (notification) // ========================================== [ 'key' => 'notification_email_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'notification', 'label' => 'E-posta Bildirimleri', 'description' => 'E-posta bildirimleri aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'notification_sms_enabled', 'value' => '0', 'type' => 'boolean', 'group' => 'notification', 'label' => 'SMS Bildirimleri', 'description' => 'SMS bildirimleri aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'notification_push_enabled', 'value' => '0', 'type' => 'boolean', 'group' => 'notification', 'label' => 'Push Bildirimleri', 'description' => 'Push bildirimleri aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'notification_in_app_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'notification', 'label' => 'İn-App Bildirimleri', 'description' => 'Uygulama içi bildirimler aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'notification_channels', 'value' => json_encode(['email', 'in_app']), 'type' => 'checkbox_list', 'group' => 'notification', 'label' => 'Aktif Bildirim Kanalları', 'description' => 'Aktif olacak bildirim kanalları', 'is_public' => false, 'is_active' => true, ], // ========================================== // CACHE AYARLARI (cache) // ========================================== [ 'key' => 'cache_driver', 'value' => 'file', 'type' => 'radio', 'group' => 'cache', 'label' => 'Cache Driver', 'description' => 'Cache saklama yöntemi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'cache_duration', 'value' => '60', 'type' => 'integer', 'group' => 'cache', 'label' => 'Cache Süresi (dakika)', 'description' => 'Cache\'in geçerlilik süresi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'cache_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'cache', 'label' => 'Cache Aktif', 'description' => 'Cache sistemi aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'cache_prefix', 'value' => 'citrus_', 'type' => 'string', 'group' => 'cache', 'label' => 'Cache Prefix', 'description' => 'Cache anahtarları için önek', 'is_public' => false, 'is_active' => true, ], // ========================================== // ÖDEME AYARLARI (payment) // ========================================== [ 'key' => 'payment_default_gateway', 'value' => 'stripe', 'type' => 'radio', 'group' => 'payment', 'label' => 'Varsayılan Ödeme Gateway\'i', 'description' => 'Varsayılan ödeme servisi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'payment_test_mode', 'value' => '1', 'type' => 'boolean', 'group' => 'payment', 'label' => 'Test Modu', 'description' => 'Ödeme test modunda mı?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'payment_currency', 'value' => 'TRY', 'type' => 'string', 'group' => 'payment', 'label' => 'Ödeme Para Birimi', 'description' => 'Ödemeler için para birimi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'payment_tax_rate', 'value' => '20', 'type' => 'float', 'group' => 'payment', 'label' => 'Vergi Oranı (%)', 'description' => 'Varsayılan vergi oranı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'payment_methods', 'value' => json_encode(['credit_card', 'bank_transfer']), 'type' => 'checkbox_list', 'group' => 'payment', 'label' => 'Ödeme Yöntemleri', 'description' => 'Aktif ödeme yöntemleri', 'is_public' => false, 'is_active' => true, ], // ========================================== // API AYARLARI (api) // ========================================== [ 'key' => 'api_rate_limit', 'value' => '60', 'type' => 'integer', 'group' => 'api', 'label' => 'API Rate Limit', 'description' => 'Dakikada maksimum API isteği sayısı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'api_auth_method', 'value' => 'jwt', 'type' => 'radio', 'group' => 'api', 'label' => 'API Kimlik Doğrulama Yöntemi', 'description' => 'API için kimlik doğrulama yöntemi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'api_key_expiration', 'value' => '30', 'type' => 'integer', 'group' => 'api', 'label' => 'API Key Geçerlilik Süresi (gün)', 'description' => 'API anahtarının geçerlilik süresi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'api_versioning_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'api', 'label' => 'API Versiyonlama', 'description' => 'API versiyonlama aktif mi?', 'is_public' => false, 'is_active' => true, ], // ========================================== // LOGGING AYARLARI (logging) // ========================================== [ 'key' => 'log_level', 'value' => 'info', 'type' => 'radio', 'group' => 'logging', 'label' => 'Log Seviyesi', 'description' => 'Kaydedilecek log seviyesi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'log_driver', 'value' => 'daily', 'type' => 'radio', 'group' => 'logging', 'label' => 'Log Driver', 'description' => 'Log saklama yöntemi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'log_retention_days', 'value' => '30', 'type' => 'integer', 'group' => 'logging', 'label' => 'Log Saklama Süresi (gün)', 'description' => 'Log dosyalarının saklanma süresi', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'log_error_reporting', 'value' => '1', 'type' => 'boolean', 'group' => 'logging', 'label' => 'Hata Raporlama', 'description' => 'Hata raporlama aktif mi?', 'is_public' => false, 'is_active' => true, ], // ========================================== // PERFORMANS AYARLARI (performance) // ========================================== [ 'key' => 'performance_query_cache_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'performance', 'label' => 'Query Cache Aktif', 'description' => 'Veritabanı sorgu cache\'i aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'performance_asset_minification', 'value' => '1', 'type' => 'boolean', 'group' => 'performance', 'label' => 'Asset Minification', 'description' => 'CSS/JS dosyalarının küçültülmesi aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'performance_cdn_enabled', 'value' => '0', 'type' => 'boolean', 'group' => 'performance', 'label' => 'CDN Aktif', 'description' => 'CDN kullanımı aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'performance_lazy_loading_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'performance', 'label' => 'Lazy Loading Aktif', 'description' => 'Resimler için lazy loading aktif mi?', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'performance_image_optimization', 'value' => '1', 'type' => 'boolean', 'group' => 'performance', 'label' => 'Resim Optimizasyonu', 'description' => 'Otomatik resim optimizasyonu aktif mi?', 'is_public' => false, 'is_active' => true, ], // ========================================== // ENTEGRASYON AYARLARI (integration) // ========================================== [ 'key' => 'integration_recaptcha_site_key', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'reCAPTCHA Site Key', 'description' => 'Google reCAPTCHA site anahtarı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_recaptcha_secret_key', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'reCAPTCHA Secret Key', 'description' => 'Google reCAPTCHA gizli anahtarı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_google_maps_api_key', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'Google Maps API Key', 'description' => 'Google Maps API anahtarı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_stripe_public_key', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'Stripe Public Key', 'description' => 'Stripe public anahtarı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_stripe_secret_key', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'Stripe Secret Key', 'description' => 'Stripe gizli anahtarı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_paypal_client_id', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'PayPal Client ID', 'description' => 'PayPal client ID', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_paypal_secret', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'PayPal Secret', 'description' => 'PayPal secret anahtarı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_aws_access_key', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'AWS Access Key', 'description' => 'Amazon Web Services erişim anahtarı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_aws_secret_key', 'value' => '', 'type' => 'string', 'group' => 'integration', 'label' => 'AWS Secret Key', 'description' => 'Amazon Web Services gizli anahtarı', 'is_public' => false, 'is_active' => true, ], [ 'key' => 'integration_aws_region', 'value' => 'us-east-1', 'type' => 'string', 'group' => 'integration', 'label' => 'AWS Region', 'description' => 'Amazon Web Services bölgesi', 'is_public' => false, 'is_active' => true, ], ]; foreach ($settings as $setting) { $existing = Setting::where('key', $setting['key'])->first(); if ($existing) { $updated = false; // Sadece değişmişse güncelle foreach ($setting as $field => $value) { if ($existing->$field != $value) { $updated = true; break; } } if ($updated) { $existing->update($setting); $this->command->info("Setting updated: " . $setting['key']); } else { $this->command->info("Setting unchanged: " . $setting['key']); } } else { Setting::create($setting); $this->command->info("Setting created: " . $setting['key']); } } } }