'radio_enabled', 'value' => '0', 'comment' => 'Radio enabled (0=no, 1=yes)'], ['key' => 'radio_stream_url', 'value' => '', 'comment' => 'Main stream URL'], ['key' => 'radio_stream_backup_url', 'value' => '', 'comment' => 'Backup stream URL'], ['key' => 'radio_azurecast_base_url', 'value' => '', 'comment' => 'AzureCast base URL'], ['key' => 'radio_azurecast_station_id', 'value' => '1', 'comment' => 'AzureCast station ID'], ['key' => 'radio_azurecast_api_key', 'value' => '', 'comment' => 'AzureCast API key'], ['key' => 'radio_azurecast_port', 'value' => '8443', 'comment' => 'AzureCast stream port'], ['key' => 'radio_azurecast_protocol', 'value' => 'https', 'comment' => 'AzureCast protocol (http/https)'], ['key' => 'radio_azurecast_use_proxy', 'value' => '0', 'comment' => 'Use AzureCast proxy (0=no, 1=yes)'], // Sambroadcaster & Virtual DJ ['key' => 'radio_sambroadcaster_api_url', 'value' => '', 'comment' => 'Sambroadcaster API URL'], ['key' => 'radio_sambroadcaster_password', 'value' => '', 'comment' => 'Sambroadcaster password'], ['key' => 'radio_virtual_dj_url', 'value' => '', 'comment' => 'Virtual DJ URL'], ['key' => 'radio_virtual_dj_password', 'value' => '', 'comment' => 'Virtual DJ password'], ['key' => 'radio_djs_api_url', 'value' => '', 'comment' => 'DJs API URL'], // Player Configuratie ['key' => 'radio_style', 'value' => 'dark', 'comment' => 'Player style (dark/light/blue/purple/pink/gold)'], ['key' => 'radio_player_type', 'value' => 'default', 'comment' => 'Player type (default/minimal/embedded)'], ['key' => 'radio_auto_play', 'value' => '0', 'comment' => 'Auto-play on page load (0=no, 1=yes)'], ['key' => 'radio_auto_play_delay', 'value' => '0', 'comment' => 'Auto-play delay in seconds'], ['key' => 'radio_mute_on_start', 'value' => '0', 'comment' => 'Muted on start (0=no, 1=yes)'], ['key' => 'radio_volume', 'value' => '80', 'comment' => 'Default volume (0-100)'], ['key' => 'radio_language', 'value' => 'nl', 'comment' => 'Default language (nl/en/de/fr/es/pt/it/br)'], ['key' => 'radio_multi_language_enabled', 'value' => '0', 'comment' => 'Multi-language support (0=no, 1=yes)'], // Player Kleuren ['key' => 'radio_player_color_primary', 'value' => '#eeb425', 'comment' => 'Player primary color'], ['key' => 'radio_player_color_secondary', 'value' => '#1a1a2e', 'comment' => 'Player secondary color'], ['key' => 'radio_player_color_text', 'value' => '#ffffff', 'comment' => 'Player text color'], ['key' => 'radio_player_color_accent', 'value' => '#eeb425', 'comment' => 'Player accent color'], // Nu Afspelen ['key' => 'radio_now_playing_enabled', 'value' => '1', 'comment' => 'Show now playing info (0=no, 1=yes)'], ['key' => 'radio_now_playing_api_url', 'value' => '', 'comment' => 'Now playing API URL'], ['key' => 'radio_now_playing_cache_duration', 'value' => '30', 'comment' => 'Now playing cache duration in seconds'], ['key' => 'radio_show_song_history', 'value' => '1', 'comment' => 'Show song history (0=no, 1=yes)'], ['key' => 'radio_song_history_count', 'value' => '10', 'comment' => 'Number of songs in history'], // Luisteraars Statistieken ['key' => 'radio_listeners_enabled', 'value' => '1', 'comment' => 'Show listeners count (0=no, 1=yes)'], ['key' => 'radio_listeners_api_url', 'value' => '', 'comment' => 'Listeners API URL'], ['key' => 'radio_listeners_update_interval', 'value' => '30', 'comment' => 'Listeners update interval in seconds'], ['key' => 'radio_show_listener_peak', 'value' => '1', 'comment' => 'Show listener peak (0=no, 1=yes)'], ['key' => 'radio_peak_reset_time', 'value' => '00:00', 'comment' => 'Peak reset time (HH:MM)'], ['key' => 'radio_store_listener_stats', 'value' => '1', 'comment' => 'Store listener statistics (0=no, 1=yes)'], ['key' => 'radio_stats_retention_days', 'value' => '30', 'comment' => 'Statistics retention in days'], ['key' => 'radio_show_listener_graph', 'value' => '0', 'comment' => 'Show listener graph (0=no, 1=yes)'], ['key' => 'radio_listener_graph_period', 'value' => '24h', 'comment' => 'Listener graph period (1h/6h/12h/24h/7d)'], ['key' => 'radio_show_average_listeners', 'value' => '1', 'comment' => 'Show average listeners (0=no, 1=yes)'], ['key' => 'radio_show_unique_listeners', 'value' => '0', 'comment' => 'Show unique listeners (0=no, 1=yes)'], // Luisteraars Meldingen ['key' => 'radio_listener_alerts_enabled', 'value' => '0', 'comment' => 'Enable listener alerts (0=no, 1=yes)'], ['key' => 'radio_min_listeners_threshold', 'value' => '0', 'comment' => 'Minimum listeners threshold'], ['key' => 'radio_listener_alert_threshold_high', 'value' => '100', 'comment' => 'High listener alert threshold'], ['key' => 'radio_listener_alert_threshold_low', 'value' => '5', 'comment' => 'Low listener alert threshold'], // DJ Instellingen ['key' => 'radio_show_current_dj', 'value' => '1', 'comment' => 'Show current DJ (0=no, 1=yes)'], ['key' => 'radio_current_dj_id', 'value' => '', 'comment' => 'Manual DJ user ID'], ['key' => 'radio_dj_avatar_size', 'value' => '64', 'comment' => 'DJ avatar size in pixels'], ['key' => 'radio_show_dj_schedule', 'value' => '1', 'comment' => 'Show DJ schedule (0=no, 1=yes)'], // Auto DJ Detectie ['key' => 'radio_auto_dj_detection', 'value' => '0', 'comment' => 'Enable auto DJ detection (0=no, 1=yes)'], ['key' => 'radio_dj_detection_interval', 'value' => '60', 'comment' => 'DJ detection interval in seconds'], ['key' => 'auto_dj_detected_action', 'value' => 'set_dj', 'comment' => 'Action on DJ detection (set_dj/notify/both)'], // Shouts ['key' => 'radio_shouts_enabled', 'value' => '1', 'comment' => 'Enable shouts (0=no, 1=yes)'], ['key' => 'radio_shouts_max_length', 'value' => '280', 'comment' => 'Maximum shout length in characters'], ['key' => 'radio_shouts_cooldown', 'value' => '30', 'comment' => 'Shout cooldown in seconds'], ['key' => 'radio_shouts_require_moderation', 'value' => '0', 'comment' => 'Require shout moderation (0=no, 1=yes)'], // Live Chat ['key' => 'radio_chat_enabled', 'value' => '0', 'comment' => 'Enable live chat (0=no, 1=yes)'], ['key' => 'radio_chat_position', 'value' => 'right', 'comment' => 'Chat position (left/right/bottom)'], ['key' => 'radio_chat_width', 'value' => '350', 'comment' => 'Chat width in pixels'], ['key' => 'radio_chat_height', 'value' => '500', 'comment' => 'Chat height in pixels'], ['key' => 'radio_chat_messages_count', 'value' => '50', 'comment' => 'Number of chat messages to show'], ['key' => 'radio_chat_show_timestamps', 'value' => '1', 'comment' => 'Show chat timestamps (0=no, 1=yes)'], ['key' => 'radio_chat_allow_links', 'value' => '0', 'comment' => 'Allow links in chat (0=no, 1=yes)'], ['key' => 'radio_chat_allow_emojis', 'value' => '1', 'comment' => 'Allow emojis in chat (0=no, 1=yes)'], // Song Verzoeken ['key' => 'radio_request_form_enabled', 'value' => '1', 'comment' => 'Enable song requests (0=no, 1=yes)'], ['key' => 'radio_request_max_per_user', 'value' => '3', 'comment' => 'Maximum requests per user'], ['key' => 'radio_request_cooldown', 'value' => '300', 'comment' => 'Request cooldown in seconds'], ['key' => 'radio_voting_enabled', 'value' => '1', 'comment' => 'Enable request voting (0=no, 1=yes)'], ['key' => 'radio_voting_show_song_requests', 'value' => '1', 'comment' => 'Show requests with votes (0=no, 1=yes)'], // Widget ['key' => 'radio_widget_enabled', 'value' => '1', 'comment' => 'Enable radio widget (0=no, 1=yes)'], ['key' => 'radio_widget_show_globally', 'value' => '0', 'comment' => 'Show widget globally (0=no, 1=yes)'], ['key' => 'radio_widget_position', 'value' => 'bottom-right', 'comment' => 'Widget position'], // Offline Pagina ['key' => 'radio_show_offline_message', 'value' => '1', 'comment' => 'Show offline message (0=no, 1=yes)'], ['key' => 'radio_offline_message', 'value' => 'We zijn momenteel offline. Check onze socials voor updates!', 'comment' => 'Offline message text'], ['key' => 'radio_offline_image', 'value' => '', 'comment' => 'Offline page image URL'], ['key' => 'radio_background_image', 'value' => '', 'comment' => 'Background image URL'], ['key' => 'radio_logo_url', 'value' => '', 'comment' => 'Radio logo URL'], // DJ Aanmeldingen ['key' => 'radio_applications_enabled', 'value' => '1', 'comment' => 'Enable DJ applications (0=no, 1=yes)'], ['key' => 'radio_applications_max_per_day', 'value' => '1', 'comment' => 'Maximum applications per day'], ['key' => 'radio_applications_require_approval', 'value' => '1', 'comment' => 'Require application approval (0=no, 1=yes)'], // Statistieken Weergave ['key' => 'radio_stats_show_daily', 'value' => '1', 'comment' => 'Show daily statistics (0=no, 1=yes)'], ['key' => 'radio_stats_show_weekly', 'value' => '1', 'comment' => 'Show weekly statistics (0=no, 1=yes)'], ['key' => 'radio_stats_show_monthly', 'value' => '1', 'comment' => 'Show monthly statistics (0=no, 1=yes)'], ['key' => 'radio_stats_show_top_djs', 'value' => '1', 'comment' => 'Show top DJs (0=no, 1=yes)'], ['key' => 'radio_stats_show_top_songs', 'value' => '1', 'comment' => 'Show top songs (0=no, 1=yes)'], // Social Media ['key' => 'radio_social_facebook', 'value' => '', 'comment' => 'Facebook URL'], ['key' => 'radio_social_twitter', 'value' => '', 'comment' => 'Twitter URL'], ['key' => 'radio_social_instagram', 'value' => '', 'comment' => 'Instagram URL'], ['key' => 'radio_social_discord', 'value' => '', 'comment' => 'Discord URL'], ['key' => 'radio_social_youtube', 'value' => '', 'comment' => 'YouTube URL'], ['key' => 'radio_social_twitch', 'value' => '', 'comment' => 'Twitch URL'], // Contact ['key' => 'radio_contact_email', 'value' => '', 'comment' => 'Contact email'], ['key' => 'radio_contact_phone', 'value' => '', 'comment' => 'Contact phone'], ['key' => 'radio_about_text', 'value' => '', 'comment' => 'About radio text'], // Discord Webhook ['key' => 'radio_discord_webhook_url', 'value' => '', 'comment' => 'Discord webhook URL'], ['key' => 'radio_discord_enabled', 'value' => '0', 'comment' => 'Enable Discord notifications (0=no, 1=yes)'], ['key' => 'radio_discord_dj_live', 'value' => '1', 'comment' => 'Discord DJ live notification (0=no, 1=yes)'], ['key' => 'radio_discord_song_changes', 'value' => '0', 'comment' => 'Discord song change notification (0=no, 1=yes)'], ['key' => 'radio_discord_custom_message', 'value' => 'DJ {dj_name} is nu live!', 'comment' => 'Custom Discord message template'], // Custom Code ['key' => 'radio_custom_css', 'value' => '', 'comment' => 'Custom CSS code'], ['key' => 'radio_custom_js', 'value' => '', 'comment' => 'Custom JavaScript code'], ]; foreach ($settings as $setting) { DB::table('website_settings')->updateOrInsert( ['key' => $setting['key']], [ 'value' => $setting['value'], 'comment' => $setting['comment'], ], ); } $this->command->info('Radio settings seeded successfully!'); } }