Commit inicial con archivos existentes
This commit is contained in:
142
telegram/admin/telegram_welcome.php
Executable file
142
telegram/admin/telegram_welcome.php
Executable file
@@ -0,0 +1,142 @@
|
||||
<?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';
|
||||
?>
|
||||
Reference in New Issue
Block a user