Esempio n. 1
0
function tomarClase()
{
    $cursoUrl = $_GET['curso'];
    $idClase = $_GET['clase'];
    require_once 'modulos/cursos/clases/Clase.php';
    require_once 'modulos/cursos/modelos/ClaseModelo.php';
    require_once 'modulos/cursos/modelos/CursoModelo.php';
    require_once 'modulos/usuarios/modelos/UsuarioCursosModelo.php';
    $curso = getCursoFromUniqueUrl($cursoUrl);
    $usuario = getUsuarioActual();
    //Validar que la clase pertenezca al curso
    if (clasePerteneceACurso($curso->idCurso, $idClase)) {
        //Validar que el usuario este suscrito al curso
        if (esUsuarioUnAlumnoDelCurso($usuario->idUsuario, $curso->idCurso) || $curso->idUsuario == $usuario->idUsuario || tipoUsuario() == "administrador") {
            $clase = getClase($idClase);
            $temas = getTemas($curso->idCurso);
            $clases = getClases($curso->idCurso);
            if ($curso->idUsuario != $usuario->idUsuario && tipoUsuario() != "administrador") {
                //si no es el dueño ni un administrador, contar las views
                sumarVistaClase($idClase);
                sumarTotalView($curso->idCurso);
            }
            $idSiguienteClase = obtenerIdSiguienteClase($clase->idClase, $clases);
            switch ($clase->idTipoClase) {
                case 0:
                    if ($clase->transformado == 1) {
                        require_once 'modulos/cursos/vistas/tomarClaseVideo.php';
                    } else {
                        setSessionMessage("<h4 class='error'>Este video aún se está transformando. Espera unos minutos</h4>");
                        redirect('/curso/' . $curso->uniqueUrl);
                    }
                    break;
                case 1:
                case 2:
                    require_once 'modulos/cursos/vistas/tomarClase.php';
                    break;
                case 3:
                    require_once 'modulos/cursos/vistas/tomarClaseTarjetas.php';
                    break;
            }
        } else {
            setSessionMessage("<h4 class='error'>No puedes tomar esa clase, no tienens suscripción en ese curso</h4>");
            redirect("/");
        }
    } else {
        setSessionMessage("<h4 class='error'>Ocurrió un error al mostrar el curso. Intenta de nuevo más tarde</h4>");
        redirect("/");
    }
}
Esempio n. 2
0
function tomarClase()
{
    $cursoUrl = $_GET['curso'];
    $idClase = $_GET['clase'];
    require_once 'modulos/cursos/clases/Clase.php';
    require_once 'modulos/cursos/modelos/ClaseModelo.php';
    require_once 'modulos/cursos/modelos/CursoModelo.php';
    require_once 'modulos/usuarios/modelos/UsuarioCursosModelo.php';
    $curso = getCursoFromUniqueUrl($cursoUrl);
    $usuario = getUsuarioActual();
    $tipoUsuario = tipoUsuario();
    //Validar que la clase pertenezca al curso
    if (clasePerteneceACurso($curso->idCurso, $idClase)) {
        //Validar que el usuario este suscrito al curso
        if (esUsuarioUnAlumnoDelCurso($usuario->idUsuario, $curso->idCurso) || $curso->idUsuario == $usuario->idUsuario || $tipoUsuario == "administrador" || $tipoUsuario == "administradorPrivado") {
            $clase = getClase($idClase);
            if ($tipoUsuario != "administrador") {
                //si no es un administrador, contar las views
                sumarVistaClase($idClase);
                sumarTotalView($curso->idCurso);
                registrarClaseTomada($usuario->idUsuario, $idClase);
            }
            $clases = obtenerClaseSiguienteYanterior($curso->idCurso, $idClase);
            $usoEnDisco = 0;
            switch ($clase->idTipoClase) {
                case 0:
                    if ($clase->transformado == 1) {
                        //dividimos el uso de disco entre dos, porque en la base de datos
                        //esta almacenado en uso de disco la suma del archivo mp4 y el ogv.
                        //No siempre el peso de los 2 es igual, pero es lo más cercano sin
                        //necesitar otra columna en la bd ni tener que identificar que navegador es.
                        $usoEnDisco = $clase->usoDeDisco / 2;
                        //aquí aumentamos el ancho de banda utilizado
                        require_once 'modulos/principal/modelos/variablesDeProductoModelo.php';
                        if (deltaVariableDeProducto("usoActualAnchoDeBanda", $usoEnDisco)) {
                            require_once 'modulos/cursos/vistas/tomarClaseVideo.php';
                        } else {
                            setSessionMessage("Ocurrió un error al cargar el video.", " ¡Error! ", "error");
                            redirect('/curso/' . $curso->uniqueUrl);
                        }
                    } else {
                        setSessionMessage("Este archivo de video aún se está transformando. Espera unos minutos", " ¡Espera! ", "error");
                        redirect('/curso/' . $curso->uniqueUrl);
                    }
                    break;
                case 1:
                case 2:
                    $usoEnDisco = $clase->usoDeDisco;
                    //aquí aumentamos el ancho de banda utilizado
                    require_once 'modulos/principal/modelos/variablesDeProductoModelo.php';
                    if (deltaVariableDeProducto("usoActualAnchoDeBanda", $usoEnDisco)) {
                        require_once 'modulos/cursos/vistas/tomarClase.php';
                    } else {
                        setSessionMessage("Ocurrió un error al cargar el archivo.", " ¡Error! ", "error");
                        redirect('/curso/' . $curso->uniqueUrl);
                    }
                    break;
                case 3:
                    require_once 'modulos/cursos/vistas/tomarClaseTarjetas.php';
                    break;
                case 4:
                    if ($clase->transformado == 1) {
                        //dividimos el uso de disco entre dos, porque en la base de datos
                        //esta almacenado en uso de disco la suma del archivo mp4 y el ogv.
                        //No siempre el peso de los 2 es igual, pero es lo más cercano sin
                        //necesitar otra columna en la bd ni tener que identificar que navegador es.
                        $usoEnDisco = $clase->usoDeDisco / 2;
                        //aquí aumentamos el ancho de banda utilizado
                        require_once 'modulos/principal/modelos/variablesDeProductoModelo.php';
                        if (deltaVariableDeProducto("usoActualAnchoDeBanda", $usoEnDisco)) {
                            require_once 'modulos/cursos/vistas/tomarClaseAudio.php';
                        } else {
                            setSessionMessage("Ocurrió un error al cargar el audio.", " ¡Espera! ", "error");
                            redirect('/curso/' . $curso->uniqueUrl);
                        }
                    } else {
                        setSessionMessage("Este archivo de audio aún se está transformando. Espera unos minutos", " ¡Espera! ", "error");
                        redirect('/curso/' . $curso->uniqueUrl);
                    }
                    break;
            }
        } else {
            setSessionMessage("No puedes tomar esa clase, no tienens suscripción en ese curso", " ¡Error! ", "error");
            redirect("/");
        }
    } else {
        setSessionMessage("Ocurrió un error al mostrar el curso. Intenta de nuevo más tarde", " ¡Error! ", "error");
        redirect("/");
    }
}