function eliminarInscripcion()
{
    if (validarAdministradorPrivado()) {
        if (isset($_GET['ic']) && is_numeric($_GET['ic']) && isset($_GET['iu']) && is_numeric($_GET['iu']) && isset($_GET['origen']) && isset($_GET['pagina'])) {
            $origen = $_GET['origen'];
            $pagina = $_GET['pagina'];
            $idCurso = intval($_GET['ic']);
            $idUsuario = intval($_GET['iu']);
            require_once 'modulos/usuarios/modelos/UsuarioCursosModelo.php';
            if (eliminarInscripcionUsuarioCurso($idUsuario, $idCurso)) {
                setSessionMessage("Se elimino al usuario del curso correctamente", " ¡Bien! ", "success");
            } else {
                setSessionMessage("Ocurrió un error al quitar al usuario", " ¡Error! ", "error");
            }
            if ($origen == "listaAlumnos") {
                redirect("/cursos/curso/alumnos/" . $idCurso . "&p=" . $pagina);
            }
        } else {
            setSessionMessage("Datos no válidos", " ¡Error! ", "error");
            redirect("/");
        }
    } else {
        goToIndex();
    }
}
function grupoSubmit()
{
    if (validarAdministradorPrivado()) {
        if (isset($_POST['tipo']) && isset($_POST['nombre']) && isset($_POST['descripcion'])) {
            $tipo = $_POST['tipo'];
            require_once 'modulos/grupos/modelos/grupoModelo.php';
            $grupo = new Grupo();
            $grupo->nombre = $_POST['nombre'];
            $grupo->descripcion = $_POST['descripcion'];
            switch ($tipo) {
                case 'alta':
                    if (altaGrupo($grupo) >= 0) {
                        setSessionMessage("Se dió de alta un grupo correctamente", " ¡Bien! ", "success");
                    } else {
                        setSessionMessage("Ocurrió un error al dar de alta el grupo. Intenta de nuevo más tarde", " ¡Error! ", "error");
                    }
                    break;
                case 'edita':
                    $grupo->idGrupo = $_POST['idGrupo'];
                    if (modificaGrupo($grupo)) {
                        setSessionMessage("Se modificó correctamente el grupo", " ¡Bien! ", "success");
                    } else {
                        setSessionMessage("Ocurrió un error al modificar el grupo. Intenta de nuevo más tarde", " ¡Error! ", "error");
                    }
                    break;
            }
        } else {
            setSessionMessage("Datos no válidos", " ¡Error! ", "error");
        }
        redirect("/grupos");
    } else {
        goToIndex();
    }
}
function eliminarInscripcion()
{
    if (validarAdministradorPrivado()) {
        if (isset($_GET['ig']) && is_numeric($_GET['ig']) && isset($_GET['iu']) && is_numeric($_GET['iu']) && isset($_GET['pagina'])) {
            $origen = $_GET['origen'];
            $pagina = $_GET['pagina'];
            $idGrupo = intval($_GET['ig']);
            $idUsuario = intval($_GET['iu']);
            require_once 'modulos/grupos/modelos/grupoModelo.php';
            if (quitarUsuarioDelGrupo($idUsuario, $idGrupo)) {
                setSessionMessage("Se quitó al usuario del grupo correctamente", " ¡Bien! ", "success");
            } else {
                setSessionMessage("Ocurrió un error al quitar al usuario", " ¡Error! ", "error");
            }
            redirect("/grupos/usuarios/inscritos/" . $idGrupo . "&p=" . $pagina);
        } else {
            setSessionMessage("Datos no válidos", " ¡Error! ", "error");
            redirect("/");
        }
    } else {
        goToIndex();
    }
}
function eliminarGrupoDeCurso()
{
    if (validarAdministradorPrivado()) {
        if (isset($_GET['ig']) && is_numeric($_GET['ig']) && isset($_GET['ic']) && is_numeric($_GET['ic']) && isset($_GET['pagina'])) {
            $pagina = $_GET['pagina'];
            $idCurso = intval($_GET['ic']);
            $idGrupo = intval($_GET['ig']);
            require_once 'modulos/grupos/modelos/grupoModelo.php';
            if (quitarGrupoDelCurso($idGrupo, $idCurso)) {
                setSessionMessage("Se quitó al grupo del curso correctamente", " ¡Bien! ", "success");
            } else {
                setSessionMessage("Ocurrió un error al quitar al grupo", " ¡Error! ", "error");
            }
            redirect("/grupos/cursos/asignados/" . $idCurso . "&p=" . $pagina);
        } else {
            setSessionMessage("Datos no válidos", " ¡Error! ", "error");
            redirect("/");
        }
    } else {
        goToIndex();
    }
}
function eliminar()
{
    if (validarUsuarioLoggeado()) {
        if (validarAdministradorPrivado()) {
            if (isset($_GET['i']) && is_numeric($_GET['i'])) {
                $idCurso = intval($_GET['i']);
                require_once 'modulos/cursos/modelos/CursoModelo.php';
                $idUsuario = getIdUsuarioDeCurso($idCurso);
                //Debido a los archivos en el cdn no podemos borrar las clases por cascada,
                //pero si los cursos y temas.
                //Obtenemos todas la clases que pertenecen a este curso, borramos del cdn los archivos y las clases,
                //y borramos lo demás por cascada
                require_once 'modulos/cursos/modelos/ClaseModelo.php';
                $res = borrarClasesConArchivosDeCurso($idCurso);
                if ($res['res']) {
                    if (bajaCurso($idCurso) > 0) {
                        setSessionMessage("Se eliminó con éxito el curso", " ¡Bien! ", "success");
                    } else {
                        setSessionMessage("Ocurrió un error al eliminar", " ¡Error! ", "error");
                    }
                } else {
                    setSessionMessage($res['error'], " ¡Error! ", "error");
                }
            } else {
                setSessionMessage("Ocurrió un error", " ¡Error! ", "error");
            }
            redirect("/cursos");
        } else {
            goToIndex();
        }
    } else {
        goToIndex();
    }
}
function altaUsuariosArchivoCsvSubmit()
{
    if (validarAdministradorPrivado()) {
        if (isset($_FILES['csv'])) {
            if ($_FILES['csv']['error'] == 0) {
                $name = $_FILES['csv']['name'];
                $ext = strtolower(end(explode('.', $_FILES['csv']['name'])));
                $type = $_FILES['csv']['type'];
                $tmpName = $_FILES['csv']['tmp_name'];
                // check the file is a csv
                if ($ext === 'csv') {
                    if (($handle = fopen($tmpName, 'r')) !== FALSE) {
                        // necessary if a large csv file
                        set_time_limit(0);
                        require_once 'modulos/usuarios/modelos/usuarioModelo.php';
                        require_once 'funcionesPHP/uniqueUrlGenerator.php';
                        $tipo = $_POST['tipo'];
                        $tipoUsuario = 0;
                        switch ($tipo) {
                            case 'altaAlumno':
                                $tipoUsuario = 0;
                                break;
                            case 'altaProfesor':
                                $tipoUsuario = 3;
                                break;
                            case 'altaAdministrador':
                                $tipoUsuario = 2;
                                break;
                        }
                        $email = "";
                        $name = "";
                        $usuarios = array();
                        $fallos = array();
                        $numAltas = 0;
                        $numFallos = 0;
                        while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
                            $email = comprobar_email(trim($data[0]));
                            if (isset($data[1])) {
                                //la linea tiene nombre
                                $name = trim($data[1]);
                            } else {
                                $name = strstr($email, '@', true);
                            }
                            if (!empty($email)) {
                                $usuario = new Usuario();
                                $usuario->tipoUsuario = $tipoUsuario;
                                $usuario->email = $email;
                                $usuario->nombreUsuario = $name;
                                $usuario->password = md5(getUniqueCode(10));
                                $usuario->uniqueUrl = getUsuarioUniqueUrl($name);
                                $res = altaUsuario($usuario);
                                if ($res['resultado'] == 'ok') {
                                    //se dió de alta con éxito el usuario
                                    $usuario->idUsuario = $res['id'];
                                    $usuario->uuid = $res['uuid'];
                                    array_push($usuarios, $usuario);
                                    $numAltas++;
                                } else {
                                    $mensajeError = "";
                                    //Ocurrió un error al dar de alta el usuario
                                    if ($res['errorId'] == '1062') {
                                        //el error es por email duplicado
                                        //informamos que este usuario ya está dado de alta
                                        $mensajeError = "Este correo electrónico ya fue dado de alta";
                                    } else {
                                        //error desconocido
                                        $mensajeError = "Ocurrió un error al dar de alta. Intenta de nuevo más tarde";
                                    }
                                    $fallos[$numFallos] = array("email" => $email, "mensaje" => $mensajeError);
                                    $numFallos++;
                                }
                            } else {
                                //el email no es válido
                                $mensajeError = "No es un email válido";
                                $fallos[$numFallos] = array("email" => trim($data[0]), "mensaje" => $mensajeError);
                                $numFallos++;
                            }
                        }
                        require_once 'modulos/usuarios/vistas/resultadoDeAltaUsuarios.php';
                        fclose($handle);
                    } else {
                        setSessionMessage("Ocurrió un error al procesar tu archivo. Intenta de nuevo más tarde", " ¡Error! ", "error");
                        redirect("/alumnos/usuario/altaAlumnos");
                    }
                } else {
                    setSessionMessage("No es un archivo .csv", " ¡Espera! ", "error");
                    redirect("/alumnos/usuario/altaAlumnos");
                }
            } else {
                setSessionMessage("Archivo no válido", " ¡Espera! ", "error");
                redirect("/alumnos/usuario/altaAlumnos");
            }
        } else {
            setSessionMessage("Archivo no válido", " ¡Error! ", "error");
            redirect("/alumnos/usuario/altaAlumnos");
        }
    }
}