You've already forked Atomcms-edit
Initial commit
This commit is contained in:
Executable
+168
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class RadioSettingsSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
$settings = [
|
||||
// AzureCast & Stream
|
||||
['key' => '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!');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user