Example #1
0
function transformar($datosJson)
{
    $datos = json_decode($datosJson);
    $idClase = $datos->idClase;
    $file = $datos->file;
    $fileType = $datos->fileType;
    require_once 'modulos/videos/modelos/transformador.php';
    $res = transformarArchivo($file);
    if ($res['return_var'] == 0) {
        $archivoMp4 = $res['outputFileMp4'];
        $archivoOgv = $res['outputFileOgv'];
        $duration = $res['duration'];
        //Hay que subir los dos archivos al CDN
        require_once 'modulos/cdn/modelos/cdnModelo.php';
        $tipoVideo = 0;
        //Subimos al cdn el archivo mp4
        $path = pathinfo($archivoMp4);
        $fileNameMp4 = $path['basename'];
        //putLog("Subiendo al CDN el archivo mp4 -> " . $archivoMp4);
        $uriMp4 = crearArchivoCDN($archivoMp4, $fileNameMp4, $tipoVideo);
        //Subimos al cdn el archivo ogv
        $path = pathinfo($archivoOgv);
        $fileNameOgv = $path['basename'];
        $uriOGV = crearArchivoCDN($archivoOgv, $fileNameOgv, $tipoVideo);
        require_once 'modulos/cursos/modelos/ClaseModelo.php';
        actualizaArchivosDespuesTransformacion($idClase, $uriMp4, $uriOGV);
        actualizaDuracionClase($idClase, $duration);
        //enviar emai de aviso
        $curso = getCursoPerteneciente($idClase);
        require_once 'modulos/cursos/modelos/CursoModelo.php';
        $usuario = getUsuarioDeCurso($curso->idCurso);
        require_once 'modulos/email/modelos/envioEmailModelo.php';
        $clase = getClase($idClase);
        enviarMailTransformacionVideoCompleta($usuario->email, $curso->titulo, $clase->titulo, 'www.unova.mx/curso/' . $curso->uniqueUrl);
        return true;
    } else {
        //putLog("ERROR transformando a mp4 y ogv. ERROR = " . $res['return_var']);
        return false;
    }
}
Example #2
0
function cambiarImagenSubmit()
{
    if (validarUsuarioLoggeadoParaSubmits()) {
        if (isset($_FILES['imagen']) && isset($_GET['i'])) {
            $anchoImagen = 100;
            $altoImagen = 100;
            require_once 'modulos/cursos/modelos/CursoModelo.php';
            $idCurso = $_GET['i'];
            $cursoParaModificar = getCurso($idCurso);
            if ($cursoParaModificar->idUsuario == getUsuarioActual()->idUsuario) {
                if (($_FILES["imagen"]["type"] == "image/jpeg" || $_FILES["imagen"]["type"] == "image/pjpeg" || $_FILES["imagen"]["type"] == "image/png") && $_FILES["imagen"]["size"] < 500000) {
                    require_once 'funcionesPHP/CropImage.php';
                    //guardamos la imagen en el formato original
                    $file = "archivos/temporal/" . $_FILES["imagen"]["name"];
                    move_uploaded_file($_FILES["imagen"]["tmp_name"], $file);
                    $path = pathinfo($file);
                    $uniqueCode = getUniqueCode(5);
                    $destName = $uniqueCode . "_curso_" . $cursoParaModificar->idCurso . "." . $path['extension'];
                    $dest = $path['dirname'] . "/" . $destName;
                    if (cropImage($file, $dest, $altoImagen, $anchoImagen)) {
                        //Se hizo el crop correctamente
                        //borramos la imagen temporal
                        unlink($file);
                        require_once 'modulos/cdn/modelos/cdnModelo.php';
                        $uri = crearArchivoCDN($dest, $destName, -1);
                        $oldUri = $cursoParaModificar->imagen;
                        if ($uri != NULL) {
                            $cursoParaModificar->imagen = $uri;
                            if (actualizaImagenCurso($cursoParaModificar)) {
                                //Se actualizó correctamente la bd, borramos el archivo anterior del cdn
                                if (strpos($oldUri, "http") !== false) {
                                    //Si el oldUri contiene http, significa que esta en cloud files, lo borramos.
                                    $splitted = explode("/", $oldUri);
                                    $fileName = $splitted[sizeof($splitted) - 1];
                                    deleteArchivoCdn($fileName, -1);
                                }
                                require_once 'funcionesPHP/CargarInformacionSession.php';
                                cargarCursosSession();
                                setSessionMessage("<h4 class='success'>Cambiaste correctamente tu imagen</h4>");
                                redirect("/curso/" . $cursoParaModificar->uniqueUrl);
                            } else {
                                //error en bd
                                setSessionMessage("<h4 class='error'>Error bd</h4>");
                                redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                            }
                        } else {
                            //Ocurrió un error al subir al cdn
                            setSessionMessage("<h4 class='error'>Error cdn</h4>");
                            redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                        }
                    } else {
                        //borramos la imagen temporal
                        unlink($file);
                        //No se pudo hacer el "crop" de la imagen
                        //echo "no se pudo hacer el crop de la imagen";
                        setSessionMessage("<h4 class='error'>Ocurrió un error al procesar tu imagen. Intenta de nuevo más tarde</h4>");
                        redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                    }
                } else {
                    //No es una imagen válida
                    setSessionMessage("<h4 class='error'>No es una imagen válida</h4>");
                    redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                }
            } else {
                setSessionMessage("<h4 class='error'>No puedes modificar este curso</h4>");
                goToIndex();
            }
        } else {
            setSessionMessage("<h4 class='error'>No es una imagen válida</h4>");
            redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
        }
    } else {
        goToIndex();
    }
}
Example #3
0
function crearClase($idUsuario, $idCurso, $uuid, $idTema, $fileName, $fileType)
{
    require_once 'modulos/cursos/clases/Clase.php';
    require_once 'modulos/cursos/modelos/ClaseModelo.php';
    require_once 'modulos/usuarios/modelos/usuarioModelo.php';
    require_once 'modulos/cursos/modelos/CursoModelo.php';
    require_once 'modulos/cursos/modelos/TemaModelo.php';
    $filePath = "archivos/temporal/uploaderFiles/";
    if (getIdUsuarioDeCurso($idCurso) == $idUsuario && getIdUsuarioFromUuid($uuid) == $idUsuario && $idCurso == getIdCursoPerteneciente($idTema)) {
        //Validamos que el curso sea del usuario, que el uuid pertenezca a este usuario y que el tema sea del curso
        $clase = new Clase();
        $clase->idTema = $idTema;
        //Revisamos que el nombre del archivo no pase de 50 caractéres
        if (strlen($fileName) > 45) {
            $auxFileName = substr($fileName, 0, 50);
            if (!rename($filePath . $fileName, $filePath . $auxFileName)) {
                //Ocurrió un error al renombrar el archivo
                die('Ocurrió un error al subir el archivo');
            }
            $fileName = $auxFileName;
        }
        $clase->titulo = $fileName;
        $clase->idTipoClase = getTipoClase($fileType);
        if ($clase->idTipoClase == 0) {
            $clase->transformado = 0;
            $idClase = altaClase($clase);
            //Si es video creamos la clase con la bandera que todavía no se transforma
            //guardamos en la cola que falta transformar este video
            //$url = "http://localhost/videos.php";
            $file = $filePath . $fileName;
            $params = array("idClase" => $idClase, "file" => $file, "fileType" => $fileType);
            $json = json_encode($params);
            require_once 'lib/php/beanstalkd/ColaMensajes.php';
            $colaMensajes = new ColaMensajes("transformarvideos");
            $colaMensajes->push($json);
            return $clase;
        } else {
            $clase->transformado = 1;
            //Si es de otro tipo, lo subimos al CDN de rackspace y creamos la clase
            require_once 'modulos/cdn/modelos/cdnModelo.php';
            $file = $filePath . $fileName;
            //Le agregamos al nombre del archivo un codigo aleatorio de 5 caracteres
            $fileName = getUniqueCode(15) . "_" . $fileName;
            $uri = crearArchivoCDN($file, $fileName, $clase->idTipoClase);
            if ($uri != NULL) {
                //Si se creo correctamene el archivo CDN, creamos la clase y borramos el archivo local
                $clase->archivo = $uri;
                altaClase($clase);
                return $clase;
            } else {
                //Si ocurrió un error, se borra y regresamos false
                unlink($file);
                return NULL;
            }
        }
    } else {
        //Hay errores en la integridad usuario <-> curso
        //borramos el archivo
        unlink("archivos/temporal/uploaderFiles/" . $fileName);
        return NULL;
    }
}
Example #4
0
function cambiarImagenSubmit()
{
    if (validarUsuarioLoggeadoParaSubmits()) {
        if (isset($_FILES['imagen'])) {
            $anchoImagen = 200;
            $altoImagen = 200;
            require_once 'modulos/usuarios/modelos/usuarioModelo.php';
            $usuarioCambiar = getUsuario(getUsuarioActual()->idUsuario);
            if (($_FILES["imagen"]["type"] == "image/gif" || $_FILES["imagen"]["type"] == "image/jpeg" || $_FILES["imagen"]["type"] == "image/pjpeg" || $_FILES["imagen"]["type"] == "image/png") && $_FILES["imagen"]["size"] < 5000000) {
                require_once 'funcionesPHP/CropImage.php';
                //guardamos la imagen en el formato original
                $file = "archivos/temporal/" . $_FILES["imagen"]["name"];
                move_uploaded_file($_FILES["imagen"]["tmp_name"], $file);
                $path = pathinfo($file);
                $uniqueCode = getUniqueCode(5);
                $destName = $uniqueCode . "_perfil_" . $usuarioCambiar->idUsuario . "." . $path['extension'];
                $dest = $path['dirname'] . "/" . $destName;
                if (cropImage($file, $dest, $altoImagen, $anchoImagen)) {
                    //Se hizo el crop correctamente
                    //borramos la imagen temporal
                    unlink($file);
                    require_once 'modulos/cdn/modelos/cdnModelo.php';
                    $uri = crearArchivoCDN($dest, $destName, -1);
                    if ($uri != NULL) {
                        $usuarioCambiar->avatar = $uri;
                        //actualizamos la información en la bd
                        actualizaAvatar($usuarioCambiar);
                        require_once 'funcionesPHP/CargarInformacionSession.php';
                        cargarUsuarioSession();
                        setSessionMessage("<h4 class='success'>Haz cambiado tu imagen correctamente. Espera unos minutos para ver el cambio</h4>");
                        redirect("/usuario/" . $usuarioCambiar->uniqueUrl);
                    } else {
                        //Ocurrió un error al subir al cdn
                        setSessionMessage("<h4 class='error'>Error cdn</h4>");
                        redirect("/usuarios/usuario/cambiarImagen");
                    }
                } else {
                    //Error al hacer el crop
                    //borramos la imagen temporal
                    unlink($file);
                    setSessionMessage("<h4 class='error'>Ocurrió un error al procesar tu imagen. Intenta de nuevo más tarde</h4>");
                    redirect("/usuarios/usuario/cambiarImagen");
                }
            } else {
                //El archivo no es válido o es demasiado grande
                setSessionMessage("<h4 class='error'>No es una imagen válida.</h4>");
                redirect("/usuarios/usuario/cambiarImagen");
            }
        }
    } else {
        goToIndex();
    }
}