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