?? Playlist do Dia
Nenhuma música na playlist. Adicione músicas no painel administrativo.
PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false ] ); // Criar tabelas se não existirem initDatabase($pdo); } catch (PDOException $e) { die("Erro ao conectar: " . $e->getMessage()); } // ============================================= // FUNÇÃO PARA INICIALIZAR O BANCO DE DADOS // ============================================= function initDatabase($pdo) { $queries = [ // Tabela principal de músicas "CREATE TABLE IF NOT EXISTS radio_musicas ( id INT AUTO_INCREMENT PRIMARY KEY, titulo VARCHAR(255) NOT NULL, artista VARCHAR(255) NOT NULL, arquivo VARCHAR(500) NOT NULL, categoria VARCHAR(100) DEFAULT 'Geral', duracao TIME NULL, data_upload TIMESTAMP DEFAULT CURRENT_TIMESTAMP, ativo TINYINT(1) DEFAULT 1, plays INT DEFAULT 0, INDEX idx_artista (artista), INDEX idx_categoria (categoria), INDEX idx_ativo (ativo) )", // Tabela de programas da rádio "CREATE TABLE IF NOT EXISTS radio_programas ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(255) NOT NULL, descricao TEXT, horario TIME, dias_semana VARCHAR(50), apresentador VARCHAR(255), ativo TINYINT(1) DEFAULT 1 )", // Tabela de pedidos de música "CREATE TABLE IF NOT EXISTS radio_pedidos ( id INT AUTO_INCREMENT PRIMARY KEY, nome_ouvinte VARCHAR(255) NOT NULL, mensagem TEXT, musica_pedida VARCHAR(255), data_pedido TIMESTAMP DEFAULT CURRENT_TIMESTAMP, status ENUM('pendente', 'tocada') DEFAULT 'pendente' )", // Tabela de configurações "CREATE TABLE IF NOT EXISTS radio_config ( id INT AUTO_INCREMENT PRIMARY KEY, nome_radio VARCHAR(255) DEFAULT 'Rádio Terço Mariano', slogan VARCHAR(500) DEFAULT 'Sua rádio católica online', stream_url VARCHAR(500), telefone_contato VARCHAR(20), email_contato VARCHAR(255) )" ]; foreach ($queries as $query) { try { $pdo->exec($query); } catch (PDOException $e) { // Ignora erros de tabelas já existentes } } // Inserir configuração padrão $pdo->exec("INSERT IGNORE INTO radio_config (nome_radio, slogan) VALUES ('Rádio Terço Mariano', 'Sua rádio católica online')"); // Inserir alguns programas padrão $programas = [ ['Santo Terço', 'Oração do Santo Terço em comunidade', '18:00:00', 'Segunda a Sexta', 'Irmã Maria'], ['Missa Diária', 'Transmissão da Santa Missa', '07:00:00', 'Todos os dias', 'Padre João'], ['Momentos de Fé', 'Reflexões e mensagens de fé', '12:00:00', 'Segunda a Sexta', 'Irmão Carlos'], ['Músicas Sacras', 'Melhores músicas católicas', '20:00:00', 'Sábado e Domingo', 'Irmã Ana'] ]; $stmt = $pdo->prepare("INSERT IGNORE INTO radio_programas (nome, descricao, horario, dias_semana, apresentador) VALUES (?, ?, ?, ?, ?)"); foreach ($programas as $programa) { $stmt->execute($programa); } } // ============================================= // PROCESSAMENTO DE FORMULÁRIOS // ============================================= session_start(); $mensagem = ''; $erro = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['adicionar_musica'])) { $titulo = $_POST['titulo'] ?? ''; $artista = $_POST['artista'] ?? ''; $arquivo = $_POST['arquivo'] ?? ''; $categoria = $_POST['categoria'] ?? 'Geral'; if (!empty($titulo) && !empty($artista) && !empty($arquivo)) { $sql = "INSERT INTO radio_musicas (titulo, artista, arquivo, categoria) VALUES (?, ?, ?, ?)"; $stmt = $pdo->prepare($sql); if ($stmt->execute([$titulo, $artista, $arquivo, $categoria])) { $mensagem = "Música adicionada com sucesso!"; } else { $erro = "Erro ao adicionar música."; } } else { $erro = "Preencha todos os campos!"; } } if (isset($_POST['excluir_musica'])) { $id = $_POST['id'] ?? ''; if (!empty($id)) { $sql = "DELETE FROM radio_musicas WHERE id = ?"; $stmt = $pdo->prepare($sql); if ($stmt->execute([$id])) { $mensagem = "Música excluída com sucesso!"; } else { $erro = "Erro ao excluir música."; } } } if (isset($_POST['fazer_pedido'])) { $nome = $_POST['nome'] ?? ''; $mensagem_pedido = $_POST['mensagem'] ?? ''; $musica = $_POST['musica'] ?? ''; if (!empty($nome) && !empty($musica)) { $sql = "INSERT INTO radio_pedidos (nome_ouvinte, mensagem, musica_pedida) VALUES (?, ?, ?)"; $stmt = $pdo->prepare($sql); if ($stmt->execute([$nome, $mensagem_pedido, $musica])) { $mensagem = "Seu pedido foi enviado! Obrigado!"; } else { $erro = "Erro ao enviar pedido."; } } else { $erro = "Preencha seu nome e a música desejada!"; } } } // ============================================= // BUSCAR DADOS DO BANCO // ============================================= // Músicas para o player $sqlPlayer = "SELECT * FROM radio_musicas WHERE ativo = 1 ORDER BY RAND() LIMIT 15"; $playlist = $pdo->query($sqlPlayer)->fetchAll(); // Todas as músicas para administração $sqlMusicas = "SELECT * FROM radio_musicas WHERE ativo = 1 ORDER BY titulo"; $musicas = $pdo->query($sqlMusicas)->fetchAll(); // Programas da rádio $sqlProgramas = "SELECT * FROM radio_programas WHERE ativo = 1 ORDER BY horario"; $programas = $pdo->query($sqlProgramas)->fetchAll(); // Pedidos pendentes $sqlPedidos = "SELECT * FROM radio_pedidos WHERE status = 'pendente' ORDER BY data_pedido DESC LIMIT 10"; $pedidos = $pdo->query($sqlPedidos)->fetchAll(); // Configurações $config = $pdo->query("SELECT * FROM radio_config LIMIT 1")->fetch(); ?>
Nenhuma música na playlist. Adicione músicas no painel administrativo.
| Título | Artista | Categoria | Ações |
|---|---|---|---|
Nenhuma música cadastrada ainda.