143 lines
6.8 KiB
PHP
Executable File
143 lines
6.8 KiB
PHP
Executable File
<?php
|
|
require_once __DIR__ . '/includes/session_check.php';
|
|
require_once __DIR__ . '/includes/db.php';
|
|
|
|
// --- Lógica para el Mensaje de Bienvenida ---
|
|
try {
|
|
$pdo->exec("
|
|
CREATE TABLE IF NOT EXISTS telegram_welcome_messages (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
chat_id BIGINT NOT NULL UNIQUE,
|
|
welcome_message TEXT,
|
|
is_active BOOLEAN NOT NULL DEFAULT TRUE,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
);
|
|
");
|
|
} catch (PDOException $e) {
|
|
die("Error al verificar la tabla de bienvenida: " . $e->getMessage());
|
|
}
|
|
|
|
// --- Lógica para los Ajustes Generales ---
|
|
|
|
// Manejar el envío de formularios
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
// Guardar Mensaje de Bienvenida
|
|
if (isset($_POST['save_welcome_message'])) {
|
|
$welcomeMessage = $_POST['welcome_message'] ?? '';
|
|
$isActive = isset($_POST['is_active']) ? 1 : 0;
|
|
$chatId = '-1002578350881'; // Manteniendo el ID de chat original para esta función
|
|
|
|
try {
|
|
$stmt = $pdo->prepare("
|
|
INSERT INTO telegram_welcome_messages (chat_id, welcome_message, is_active)
|
|
VALUES (?, ?, ?)
|
|
ON DUPLICATE KEY UPDATE welcome_message = ?, is_active = ?;
|
|
");
|
|
$stmt->execute([$chatId, $welcomeMessage, $isActive, $welcomeMessage, $isActive]);
|
|
$successMessage = "¡Configuración de bienvenida guardada con éxito!";
|
|
} catch (PDOException $e) {
|
|
$errorMessage = "Error al guardar la configuración de bienvenida: " . $e->getMessage();
|
|
}
|
|
}
|
|
|
|
// Guardar Ajustes Generales (Grupo por defecto)
|
|
if (isset($_POST['save_general_settings'])) {
|
|
$defaultGroupId = $_POST['default_announcement_group'] ?? '';
|
|
try {
|
|
$stmt = $pdo->prepare("INSERT INTO settings (setting_key, setting_value) VALUES (?, ?) ON DUPLICATE KEY UPDATE setting_value = ?");
|
|
$stmt->execute(['telegram_default_announcement_group', $defaultGroupId, $defaultGroupId]);
|
|
$successMessage = "¡Ajustes generales guardados con éxito!";
|
|
} catch (PDOException $e) {
|
|
$errorMessage = "Error al guardar los ajustes generales: " . $e->getMessage();
|
|
}
|
|
}
|
|
}
|
|
|
|
// --- Obtener datos para mostrar en la página ---
|
|
|
|
// Configuración del Mensaje de Bienvenida
|
|
$stmt_welcome = $pdo->prepare("SELECT * FROM telegram_welcome_messages WHERE chat_id = ?");
|
|
$stmt_welcome->execute(['-1002578350881']);
|
|
$welcomeConfig = $stmt_welcome->fetch(PDO::FETCH_ASSOC);
|
|
if (!$welcomeConfig) {
|
|
$welcomeConfig = [
|
|
'welcome_message' => '¡Bienvenido/a {user_name} a nuestro grupo! Esperamos que disfrutes tu estancia.',
|
|
'is_active' => true
|
|
];
|
|
}
|
|
|
|
// Grupos de Telegram para el selector
|
|
$stmt_groups = $pdo->query("SELECT name, platform_id FROM recipients WHERE platform = 'telegram' AND type = 'channel' ORDER BY name ASC");
|
|
$telegramGroups = $stmt_groups->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
// Configuración del grupo por defecto
|
|
$stmt_settings = $pdo->prepare("SELECT setting_value FROM settings WHERE setting_key = ?");
|
|
$stmt_settings->execute(['telegram_default_announcement_group']);
|
|
$defaultGroupSetting = $stmt_settings->fetchColumn();
|
|
|
|
$pageTitle = 'Configuración de Telegram';
|
|
require_once __DIR__ . '/templates/header.php';
|
|
?>
|
|
|
|
<div class="container-fluid">
|
|
<h1 class="mt-4" data-translate="true">Configuración de Telegram</h1>
|
|
|
|
<?php if (isset($successMessage)): ?>
|
|
<div class="alert alert-success" data-translate="true"><?= htmlspecialchars($successMessage) ?></div>
|
|
<?php endif; ?>
|
|
<?php if (isset($errorMessage)): ?>
|
|
<div class="alert alert-danger" data-translate="true"><?= htmlspecialchars($errorMessage) ?></div>
|
|
<?php endif; ?>
|
|
|
|
<!-- Card para Mensaje de Bienvenida -->
|
|
<div class="card shadow-sm mb-4">
|
|
<div class="card-header"><h5 class="mb-0" data-translate="true">Gestionar Mensaje de Bienvenida</h5></div>
|
|
<div class="card-body">
|
|
<form method="POST">
|
|
<div class="mb-3">
|
|
<label for="welcome_message" class="form-label" data-translate="true">Mensaje de Bienvenida</label>
|
|
<textarea class="form-control" id="welcome_message" name="welcome_message" rows="5"><?= htmlspecialchars($welcomeConfig['welcome_message']) ?></textarea>
|
|
<div class="form-text" data-translate="true">
|
|
Puedes usar <code>{user_name}</code> y <code>{chat_title}</code>.
|
|
</div>
|
|
</div>
|
|
<div class="form-check form-switch mb-3">
|
|
<input class="form-check-input" type="checkbox" id="is_active" name="is_active" <?= $welcomeConfig['is_active'] ? 'checked' : '' ?>>
|
|
<label class="form-check-label" for="is_active" data-translate="true">Activar mensaje de bienvenida</label>
|
|
</div>
|
|
<button type="submit" name="save_welcome_message" class="btn btn-primary">
|
|
<i class="bi bi-save-fill me-1"></i> <span data-translate="true">Guardar Mensaje de Bienvenida</span>
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Card para Ajustes Generales -->
|
|
<div class="card shadow-sm mb-4">
|
|
<div class="card-header"><h5 class="mb-0" data-translate="true">Ajustes de Comandos</h5></div>
|
|
<div class="card-body">
|
|
<form method="POST">
|
|
<div class="mb-3">
|
|
<label for="default_announcement_group" class="form-label" data-translate="true">Grupo de Anuncios por Defecto</label>
|
|
<select class="form-select" id="default_announcement_group" name="default_announcement_group">
|
|
<option value="" data-translate="true">-- No seleccionado --</option>
|
|
<?php foreach ($telegramGroups as $group): ?>
|
|
<option value="<?= htmlspecialchars($group['platform_id']) ?>" <?= ($defaultGroupSetting == $group['platform_id']) ? 'selected' : '' ?>>
|
|
<?= htmlspecialchars($group['name']) ?> (ID: <?= htmlspecialchars($group['platform_id']) ?>)
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
<div class="form-text" data-translate="true">Selecciona el grupo al que se enviarán los mensajes al usar el comando "Enviar a grupo #comando" desde el chat del bot.</div>
|
|
</div>
|
|
<button type="submit" name="save_general_settings" class="btn btn-primary">
|
|
<i class="bi bi-save-fill me-1"></i> <span data-translate="true">Guardar Ajustes de Comandos</span>
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
require_once __DIR__ . '/templates/footer.php';
|
|
?>
|