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'; } }
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(); } } }
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("/"); } }
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("/"); } }
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(); } } } }