function check_admin() { session_start(); if (!isset($_SESSION['admin']) || $_SESSION['admin'] != 't') { set_mensaje('error', 'Debes ser administrador de e-valUAM para poder visitar esta página.'); header("Location: ./ayuda.php"); exit; } }
if (isset($_POST['token']) && isset($_POST['email']) && isset($_POST['nueva'])) { $con = connect() or die('Error. Prueba de nuevo más tarde'); $result = pg_query_params($con, "\n\t\t\tSELECT nombre\n\t\t\tFROM alumnos\n\t\t\tWHERE nombre = \$1\n\t\t\tAND token_creation + interval '3 hours' > NOW()\n\t\t\tAND token = \$2\n\t\t\t", array($_POST['email'], $_POST['token'])); if (pg_num_rows($result) == 1) { $salt = md5(devurandom_rand()); $hashed_password = crypt($_POST['nueva'], $salt); if (crypt($_POST['nueva'], $hashed_password) == $hashed_password) { $result = pg_query_params($con, "UPDATE alumnos SET pass = \$1, token = NULL, token_creation = NULL WHERE nombre = \$2", array($hashed_password, $_POST['email'])); if (pg_affected_rows($result) == 1) { set_mensaje('ok', 'Tu contraseña se ha cambiado. Ya puedes usarla.'); header('Location: index.php'); exit; } } } set_mensaje('error', 'No se ha podido completar tu solicitud. Repite el proceso.'); header('Location: recuperarContrasenya.php'); exit; } ?> <!DOCTYPE html> <html> <head> <title>e-valUAM 2.0 - Recuperar contraseña</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="estilo.css"> <link rel="shortcut icon" href="favicon.png" type="image/png"/> <!-- bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
along with e-valUAM. If not, see <http://www.gnu.org/licenses/>. --> <?php include 'funciones.php'; require '/var/www/db_pass/mail.php'; if (isset($_POST['email']) && isset($_POST['g-recaptcha-response'])) { if (verificar_captcha()) { $mensaje = "Nombre: {$_POST['nombre']}\nemail: {$_POST['email']}\nMensaje:\n{$_POST['mensaje']}"; $resultado = enviar_email('Formulario de contacto en e-valUAM', $usuario_mail, $mensaje); if ($resultado) { set_mensaje('ok', 'Tu mensaje se ha guardado. Gracias.'); header('Location: index.php'); exit; } else { set_mensaje('error', 'Ha habido un problema al guardar tu mensaje. Prubea de nuevo más tarde.'); } } } ?> <!DOCTYPE html> <html> <head> <title>e-valUAM 2.0 - Contacto</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="estilo.css"> <link rel="shortcut icon" href="favicon.png" type="image/png"/> <!-- bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
$result5 = pg_query_params($con, 'INSERT INTO respuestas (texto, correcta, id_pregunta, imagen, audio) VALUES ($1, false, $2, $3, $4);', array(trim($_REQUEST['respuesta5']), $row['id'], $imagen, $audio)); $correcto = $result5; } } } } if ($correcto) { $guardado = True; pg_query("COMMIT;"); set_mensaje('ok', '¡Pregunta correctamente guardada!'); } else { pg_query("ROLLBACK;"); } } else { pg_query("ROLLBACK;"); set_mensaje('error', 'Se ha producido un error. Vuelve a probar más tarde'); } } } //Caso admin if ($_SESSION['admin'] == 't') { $resultMateria = pg_query($con, 'SELECT m.id AS id, m.nombre AS nombre, m.num_dificultades AS num_dificultades, m.num_respuestas AS num_respuestas FROM materias AS m INNER JOIN profesor_por_materia AS pm ON m.id = pm.id_materia ORDER BY id DESC') or die('La consulta fallo'); } else { $resultMateria = pg_query_params($con, 'SELECT m.id AS id, m.nombre AS nombre, m.num_dificultades AS num_dificultades, m.num_respuestas AS num_respuestas FROM materias AS m INNER JOIN profesor_por_materia AS pm ON m.id = pm.id_materia WHERE pm.id_alumno = $1 ORDER BY id DESC', array($_SESSION['idUsuario'])) or die('La consulta fallo');
header("Location: ./ayuda.php"); exit; } //Query para otorgar/ revocar permisos if (isset($_REQUEST['id'])) { if ($_REQUEST['tipo'] == 'profesor') { $result = pg_query_params($con, 'UPDATE alumnos SET parametricas = false, profesor = $1 WHERE id = $2;', array($_REQUEST['permisos'], $_REQUEST['id'])) or die('Error cambiando permisos en la base de datos.' . pg_last_error()); } else { if ($_REQUEST['tipo'] == 'parametricas') { $result = pg_query_params($con, 'UPDATE alumnos SET parametricas = $1 WHERE id = $2;', array($_REQUEST['permisos'], $_REQUEST['id'])) or die('Error cambiando permisos en la base de datos.'); } } if ($result == null) { set_mensaje('error', 'No se ha producido ningun cambio'); } else { set_mensaje('ok', 'Usuario Nº ' . $_REQUEST['id'] . ' ahora' . ($_REQUEST['permisos'] == 't' ? '' : ' no') . ' tiene permisos de ' . $_REQUEST['tipo']); } unset($_REQUEST['id']); } //Buscamos los usuarios con sus permisos $result = pg_query($con, "SELECT id, nombre, admin, profesor, parametricas FROM alumnos ORDER BY id;"); //Caso no hay asignaturas if (pg_num_rows($result) == 0) { $result = null; } ?> <html> <head> <title>e-valUAM 2.0</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
if ($result) { $row = pg_fetch_array($result, null, PGSQL_ASSOC); $result = pg_query_params($con, 'INSERT INTO profesor_por_asignatura (id_asignatura, id_alumno) VALUES ($1, $2);', array($row['id'], $_SESSION['idUsuario'])); if ($result) { $guardado = True; pg_query("COMMIT;"); } else { pg_query("ROLLBACK;"); } } else { pg_query("ROLLBACK;"); } if ($guardado) { set_mensaje('ok', 'Asignatura guardada correctamente. Pulsa aquí para crear materias <a href="gestionMaterias.php">aquí</a>.'); } else { set_mensaje('error', 'Error al guardar la asignatura'); } } ?> <!DOCTYPE html> <html> <head> <title>e-valUAM 2.0 - Gestionar las Asignaturas</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../estilo.css"> <link rel="shortcut icon" href="favicon.png" type="image/png"/> <!-- bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
} // Si la respuesta es correcta, lo anotamos y comprobamos si salta de nivel if ($_SESSION['correcta']) { $_SESSION['numCorrectas']++; $_SESSION['numEnNivel']++; if ($_SESSION['numEnNivel'] == $_SESSION['num_preguntas'] / $_SESSION['num_dificultades']) { $_SESSION['nivel']++; $_SESSION['numEnNivel'] = 0; } } //Mostramos mensaje de feedback if ($_SESSION['feedback_examen']) { $mensaje = $_SESSION['correcta'] ? "<p>Respuesta Correcta</p>" : "<p>Respuesta Incorrecta</p>"; $mensaje = $mensaje . "<p>" . $_SESSION['feedback'] . "</p>"; $mensaje = $mensaje . "<p>Pulse <a target=\"_blank\" href='Anterior.php'>aqui</a> para ver la pregunta anterior</p>"; set_mensaje($_SESSION['correcta'] ? "ok" : "error", $mensaje); } // Sea correcta o no, debemos comprobar si es el fin del examen if ($_SESSION['numRespondidas'] == $_SESSION['num_preguntas']) { $_SESSION['sigueExamen?'] = false; header("Location: ./FinExamen.php"); exit; } } else { // Dirigia a error.php que no existia header("Location: /eleccionExamen.php"); exit; } } //Al subir de saco te mandaba a enviar preguntas /*if ($_SESSION['tipo_examen'] == 'saco' && !$_SESSION['envio_preguntas'] && $_SESSION['saco'] > 1) {
<p>Si no has sido tú, sencillamente ignora este mensaje.</p> </body> </html>'; $mensaje_plano = 'Recientemente has solicitado una nueva contraseña para tu cuenta de e-valUAM. En el siguiente enlace podrás recuperar tu contraseña: https://e-valuam.ii.uam.es/token.php?token=' . urlencode($token) . '&mail=' . urlencode($_POST['email']); $resultado = enviar_email('Recuperar la contraseña de e-valUAM', $_POST['email'], $message, TRUE, $mensaje_plano); if ($resultado) { set_mensaje('ok', 'Se te ha mandado un correo electrónico con instrucciones. Comprueba tu bandeja de entrada.'); header('Location: index.php'); exit; } } } } set_mensaje('error', 'Se ha producido un error. Prueba de nuevo.'); } ?> <!DOCTYPE html> <html> <head> <title>e-valUAM 2.0 - Recuperar contraseña</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="estilo.css"> <link rel="shortcut icon" href="favicon.png" type="image/png"/> <!-- bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> <script src='https://www.google.com/recaptcha/api.js'></script>
<?php include 'funciones.php'; $con = connect() or die('No se ha podido conectar con la base de datos. Prueba de nuevo más tarde.'); session_start(); if (isset($_REQUEST['contrasenya'])) { $nombre = $_REQUEST['nombre']; $contrasenya = $_REQUEST['contrasenya']; $result = pg_query_params($con, 'SELECT pass, id, cambio_contrasenya, profesor, admin, envio_preguntas,verificada FROM alumnos WHERE nombre = $1', array($nombre)) or die('Error. Prueba de nuevo más tarde.'); $pass = pg_fetch_result($result, 0, 0); if (crypt($contrasenya, $pass) != $pass) { header("Location: ./index.php?error=si"); exit; } if (pg_fetch_result($result, 0, 6) == "f") { //Caso de error set_mensaje('error', 'Su cuenta no ha sido verificada, actívela siguiendo las instrucciones del mensaje que enviamos a su correo'); header('Location: index.php'); exit; } $_SESSION = array(); $_SESSION['nombreUsuario'] = $nombre; $_SESSION['idUsuario'] = pg_fetch_result($result, 0, 1); if (pg_fetch_result($result, 0, 2) == "t") { header("Location: ./cambiarContrasenya.php"); exit; } if (pg_fetch_result($result, 0, 3) == "t") { $_SESSION['profesor'] = True; } if (pg_fetch_result($result, 0, 4) == "t") { $_SESSION['admin'] = True;
$message = '<html><head><title>e-valUAM Nueva Cuenta</title></head> <body> <p>Recientemente has creado una cuenta en e-valUAM.</p> <p>Debes verificar la cuenta, haciendo click en el siguiente enlace para comenzar a usarla:</p> <p><a href="https://e-valuam.ii.uam.es/verificar.php?token=' . urlencode($token) . '&mail=' . urlencode($_POST['email']) . '"> https://e-valuam.ii.uam.es/verificar.php?token=' . urlencode($token) . '&mail=' . urlencode($_POST['email']) . '</a></p> <p>Si no has sido tú, sencillamente ignora este mensaje.</p> </body> </html>'; //Texto plano no soportado $mensaje_plano = 'Recientemente has creado una cuenta en e-valUAM. Debes verificar la cuenta, haciendo click en el siguiente enlace para comenzar a usarla: https://e-valuam.ii.uam.es/verificar.php?token=' . urlencode($token) . '&mail=' . urlencode($_GET['mail']); $resultado = enviar_email('Verificar cuenta de e-valUAM', $_GET['mail'], $message, TRUE, $mensaje_plano); //Todo OK if ($resultado) { set_mensaje('ok', 'El enlace de verificación ha caducado. Se ha reenviado otro correo. Comprueba tu bandeja de entrada.'); //Error en el envío del correo } else { set_mensaje('error', 'Error en el envío del correo de verificación. Inténtelo más tarde o pongase en contacto con el administrador a través del <a href="contacto.php">formulario de contacto</a>.'); } header('Location: index.php'); exit; } } //Caso de error set_mensaje('error', 'No se ha podido completar tu solicitud. Inténtelo más tarde o pongase en contacto con el administrador a través del <a href="contacto.php">formulario de contacto</a>.'); header('Location: index.php'); exit;
<?php include 'funciones.php'; session_start(); /* Caso de error */ if (!isset($_SESSION['id_pregunta_anteanterior'])) { set_mensaje('error', 'Error al mostrar pregunta respondida anteriormente'); header("Location: ./eleccionExamen.php"); exit; } else { $con = connect(); // Query para buscar pregunta anterior $result = pg_query_params($con, '(SELECT texto, imagen, audio, parametros FROM preguntas WHERE id = $1)', array($_SESSION['id_pregunta_anteanterior'])); // Caso de Error en la Query o en la Conexion if (pg_num_rows($result) == 0) { set_mensaje('error', 'Error al mostrar pregunta respondida anteriormente'); header("Location: ./eleccionExamen.php"); exit; } $pregunta = pg_fetch_array($result, NULL, PGSQL_ASSOC); pg_free_result($result); // Query para buscar Respuesta anterior if ($_SESSION['num_respuestas'] == 1) { //Respuesta Abierta if ($pregunta['parametros'] == 't') { //Parametrica //Sustituimos los parametros que salieron en la pregunta $params = pg_query_params($con, 'SELECT valor FROM parametros_por_alumno AS pa INNER JOIN parametros AS p ON pa.id_parametro = p.id WHERE id_pregunta = $1 AND id_alumno_examen = $2
https://e-valuam.ii.uam.es/verificar.php?token=' . urlencode($token) . '&mail=' . urlencode($_POST['email']) . '</a></p> <p>Si no has sido tú, sencillamente ignora este mensaje.</p> </body> </html>'; //Texto plano no soportado $mensaje_plano = 'Recientemente has creado una cuenta en e-valUAM. Debes verificar la cuenta, haciendo click en el siguiente enlace para comenzar a usarla: https://e-valuam.ii.uam.es/verificar.php?token=' . urlencode($token) . '&mail=' . urlencode($_POST['email']); $resultado = enviar_email('Creación de cuenta de e-valUAM', $_POST['email'], $message, TRUE, $mensaje_plano); //Todo OK if ($resultado) { set_mensaje('ok', 'Se te ha mandado un correo electrónico con instrucciones para verificar la cuenta. Tras ello podrás comenzar a utilizar e-valUAM. Comprueba tu bandeja de entrada.'); //Error en el envío del correo } else { set_mensaje('error', 'Error en el envío del correo de verificación. Inténtelo más tarde o pongase en contacto con el administrador a través del <a href="contacto.php">formulario de contacto</a>.'); } header('Location: index.php'); exit; } } } } } ?> <!DOCTYPE html> <html> <head> <title>e-valUAM 2.0 - Nueva Cuenta</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
if (crypt($_REQUEST['password'], $line['pass']) == $line['pass']) { //Caso nueva inscripcion if (pg_num_rows($result2) == 0) { $result = pg_query_params($con, "INSERT INTO alumno_por_asignaturas VALUES (\$1,\$2)", array($_SESSION['idUsuario'], $_REQUEST['id'])); //Caso reinscripcion } else { $result = pg_query_params($con, "UPDATE alumno_por_asignaturas SET activo = true WHERE id_alumno = \$1 and id_asignatura = \$2", array($_SESSION['idUsuario'], $_REQUEST['id'])); } //Retroalimentacion if (!result) { set_mensaje('error', "Error al inscribirse a la asignatura"); } else { set_mensaje('ok', "Inscrito correctamente en la asignatura, a partir de ahora podrá ver su contenido"); } } else { set_mensaje('error', "Contraseña incorrecta."); } } } } //Buscamos las asignaturas disponibles $result = pg_query_params($con, "SELECT nombre,id,descripcion,pass is not null AS pass,\n\t\t\t\t\t\t\tid IN (SELECT id_asignatura FROM alumno_por_asignaturas WHERE id_alumno = \$1 AND activo = true) AS apuntado \n\t\t\t\t\t\t\tFROM asignaturas \n\t\t\t\t\t\t\tWHERE borrada = false\n\t\t\t\t\t\t\tORDER BY nombre,id", array($_SESSION['idUsuario'])) or die('Error. Prueba de nuevo más tarde.'); //Caso no hay asignaturas if (pg_num_rows($result) == 0) { $result = null; } ?> <html> <head> <title>e-valUAM 2.0</title>