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;
    }
}
Beispiel #2
0
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>
Beispiel #3
0
    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>
Beispiel #4
0
                            $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');
Beispiel #5
0
    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>
Beispiel #7
0
        }
        // 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>
Beispiel #9
0
<?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;
Beispiel #10
0
        $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;
Beispiel #11
0
<?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
Beispiel #12
0
									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>