Exemplo n.º 1
0
function principal()
{
    //Ver una discusión en específico
    if (isset($_GET['idDiscusion']) && isset($_GET['curso'])) {
        require_once 'modulos/cursos/modelos/CursoModelo.php';
        $curso = getCursoFromUniqueUrl($_GET['curso']);
        require_once 'modulos/cursos/modelos/DiscusionModelo.php';
        $discusion = getDiscusion($_GET['idDiscusion']);
        if (isset($curso) && isset($discusion)) {
            //Hacemos los calculos de la puntuacion de esta discusión
            $votosTotales = $discusion->puntuacionMas + $discusion->puntuacionMenos;
            if ($discusion->puntuacionMas > 0) {
                if ($discusion->puntuacionMenos > 0) {
                    $porcentajePositivo = round($discusion->puntuacionMas / $votosTotales * 100);
                    $porcentajeNegativo = 100 - $porcentajePositivo;
                } else {
                    $porcentajePositivo = 100;
                    $porcentajeNegativo = 0;
                }
            } else {
                if ($discusion->puntuacionMenos > 0) {
                    $porcentajePositivo = 0;
                    $porcentajeNegativo = 100;
                } else {
                    $porcentajePositivo = 0;
                    $porcentajeNegativo = 0;
                }
            }
            $numRows = 5;
            $pagina = 1;
            $sigPagina = 2;
            $orden = "puntuacion";
            $ascendente = 0;
            $offset = $numRows * ($pagina - 1);
            require_once 'modulos/cursos/modelos/ComentarioModelo.php';
            $array = getComentarios($discusion->idDiscusion, $offset, $numRows, $orden, $ascendente);
            $comentarios = $array['comentarios'];
            $numComentarios = $array['n'];
            $maxPagina = ceil($numComentarios / $numRows);
            pushBreadCrumb("/curso/" . $curso->uniqueUrl . "#Foro", "Foro", false);
            pushBreadCrumb(getUrl(), $discusion->titulo, true);
            require_once 'modulos/cursos/vistas/vistaDiscusionForo.php';
        } else {
            //Los datos recibidos no son correctos
            require_once 'errorPages/404Page.php';
        }
    } else {
        //No hay datos
        require_once 'errorPages/404Page.php';
    }
}
Exemplo n.º 2
0
function tomarCurso()
{
    require_once 'modulos/cursos/modelos/CursoModelo.php';
    require_once 'modulos/usuarios/modelos/UsuarioCursosModelo.php';
    $cursoUrl = $_GET['i'];
    $curso = getCursoFromUniqueUrl($cursoUrl);
    //Para socialmedia container
    $titulo = $curso->titulo;
    $imageThumbnail = $curso->imagen;
    $descripcion = $curso->descripcionCorta;
    $usuario = getUsuarioActual();
    if (is_null($usuario)) {
        detalles();
    } else {
        if (esUsuarioUnAlumnoDelCurso($usuario->idUsuario, $curso->idCurso) || tipoUsuario() == "administrador") {
            require_once 'modulos/categorias/modelos/categoriaModelo.php';
            require_once 'modulos/categorias/modelos/subcategoriaModelo.php';
            require_once 'modulos/cursos/modelos/ClaseModelo.php';
            $subcategoria = getSubcategoria($curso->idSubcategoria);
            $categoria = getCategoriaPerteneciente($subcategoria->idSubcategoria);
            $temas = getTemas($curso->idCurso);
            $clases = getClases($curso->idCurso);
            $duracion = 0;
            if (isset($clases)) {
                foreach ($clases as $clase) {
                    if ($clase->idTipoClase == 0) {
                        $duracion += $clase->duracion;
                    }
                }
            }
            $comentarios = getComentarios($curso->idCurso);
            $preguntas = getPreguntas($curso->idCurso);
            $usuarioDelCurso = getUsuarioDeCurso($curso->idCurso);
            $tiposClase = getTiposClase();
            $ratingUsuario = getRatingUsuario($usuario->idUsuario, $curso->idCurso);
            $numAlumnos = getNumeroDeAlumnos($curso->idCurso);
            $tituloPagina = substr($curso->titulo, 0, 50);
            require_once 'modulos/cursos/vistas/tomarCurso.php';
        } else {
            detalles();
        }
    }
}
Exemplo n.º 3
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("/");
    }
}
Exemplo n.º 4
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("/");
    }
}
Exemplo n.º 5
0
function detalles()
{
    require_once 'modulos/cursos/modelos/CursoModelo.php';
    $cursoUrl = $_GET['i'];
    $curso = getCursoFromUniqueUrl($cursoUrl);
    if (is_null($curso)) {
        //si el curso no existe mandarlo a index
        setSessionMessage("El curso que intentas ver no existe", " ¡Error! ", "error");
        redirect("/");
    } else {
        $usuario = getUsuarioActual();
        //Verficiar si es el dueño del curso y lo mandamos a edición
        if ($curso->idUsuario == $usuario->idUsuario) {
            editarCurso($curso, $usuario);
        } else {
            require_once 'modulos/usuarios/modelos/UsuarioCursosModelo.php';
            //Revisamos si el usuario ya esta tomando este curso
            $esAlumno = esUsuarioUnAlumnoDelCurso($usuario->idUsuario, $curso->idCurso);
            if ($esAlumno || tipoUsuario() == "administrador" || tipoUsuario() == "administradorPrivado") {
                //Si ya es un alumno o es un administrador, mostramos la página donde toma las clases
                tomarCurso($curso, $usuario, $esAlumno);
            } else {
                //No esta suscrito al curso, mostramos el error
                setSessionMessage("Lo sentimos, no estas inscrito a este curso.", " ¡Error! ", "error");
                goToIndex();
            }
        }
    }
}