78 lines
2.0 KiB
PHP
78 lines
2.0 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
require '../includes/config.php';
|
|
|
|
if (!is_logged_in()) {
|
|
http_response_code(401);
|
|
echo json_encode(['error' => 'No autenticado']);
|
|
exit;
|
|
}
|
|
|
|
try {
|
|
$profesorId = $_SESSION['profesor']['id'] ?? null;
|
|
$action = $_GET['action'] ?? null;
|
|
|
|
if ($action === 'resend') {
|
|
// Lógica para reenviar diploma
|
|
$codigo = $_GET['codigo'] ?? null;
|
|
if (!$codigo) {
|
|
throw new Exception('Código de diploma no proporcionado');
|
|
}
|
|
|
|
// Aquí iría la lógica para reenviar el diploma por email
|
|
echo json_encode(['success' => true, 'message' => 'Diploma reenviado']);
|
|
exit;
|
|
}
|
|
|
|
$query = "
|
|
SELECT
|
|
d.id,
|
|
d.codigo_unico,
|
|
d.fecha_emision,
|
|
a.nombre AS alumno_nombre,
|
|
a.email AS alumno_email,
|
|
c.nombre AS curso_nombre,
|
|
c.tipo AS curso_tipo,
|
|
c.id AS curso_id,
|
|
DATE_FORMAT(d.fecha_emision, '%d/%m/%Y') AS fecha_formateada
|
|
FROM diplomas d
|
|
JOIN alumnos_cursos ac ON d.alumno_curso_id = ac.id
|
|
JOIN alumnos a ON ac.alumno_id = a.id
|
|
JOIN cursos c ON ac.curso_id = c.id
|
|
";
|
|
|
|
$params = [];
|
|
|
|
if ($profesorId) {
|
|
$query .= " WHERE c.profesor_id = ?";
|
|
$params[] = $profesorId;
|
|
}
|
|
|
|
$query .= " ORDER BY d.fecha_emision DESC";
|
|
|
|
$stmt = $pdo->prepare($query);
|
|
$stmt->execute($params);
|
|
|
|
$diplomas = $stmt->fetchAll();
|
|
|
|
// Asegurar que todos los diplomas tengan código único
|
|
foreach ($diplomas as &$diploma) {
|
|
if (empty($diploma['codigo_unico'])) {
|
|
$diploma['codigo_unico'] = 'DIPL-' . str_pad($diploma['id'], 6, '0', STR_PAD_LEFT);
|
|
}
|
|
}
|
|
|
|
echo json_encode([
|
|
'success' => true,
|
|
'data' => $diplomas,
|
|
'count' => count($diplomas)
|
|
]);
|
|
|
|
} catch (Exception $e) {
|
|
http_response_code(500);
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => $e->getMessage()
|
|
]);
|
|
}
|
|
?>
|