示例#1
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();
    }
}
示例#2
0
function cambiarImagenSubmit()
{
    if (validarUsuarioLoggeadoParaSubmits()) {
        if (isset($_FILES['imagen']) && isset($_GET['i'])) {
            $anchoImagen = 200;
            $altoImagen = 200;
            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"] < 10485760) {
                    //tamaño maximo de imagen de 10MB
                    require_once 'funcionesPHP/CropImage.php';
                    //guardamos la imagen en el formato original
                    $file = "archivos/temporal/original_" . $_FILES["imagen"]["name"];
                    if (move_uploaded_file($_FILES["imagen"]["tmp_name"], $file)) {
                        $dest = "archivos/temporal/cropped_" . $_FILES["imagen"]["name"];
                        //Hacemos el crop de la imagen
                        if (cropImage($file, $dest, $altoImagen, $anchoImagen)) {
                            //Se hizo el crop correctamente
                            //borramos la imagen original
                            unlink($file);
                            //Subimos la imagen recortada al S3 de Amazon
                            require_once 'modulos/aws/modelos/s3Modelo.php';
                            $res = uploadFileToS3($dest, "cursosImgs");
                            //borramos la imagen con crop
                            unlink($dest);
                            if ($res['res']) {
                                $imagenAnterior = $cursoParaModificar->imagen;
                                //Se subió bien la imagen, guardamos en la bd
                                $cursoParaModificar->imagen = $res['link'];
                                if (actualizaImagenCurso($cursoParaModificar)) {
                                    //Se actualizo correctamente la imagen, borramos la anterior
                                    if (strpos($imagenAnterior, "http") !== false) {
                                        //Es una imagen en el S3, la borramos
                                        deleteFileFromS3ByUrl($imagenAnterior);
                                    } else {
                                        //Es una imagen predefinida, no borrar!
                                    }
                                    require_once 'funcionesPHP/CargarInformacionSession.php';
                                    setSessionMessage("Cambiaste correctamente tu imagen", " ¡Bien! ", "success");
                                    redirect("/curso/" . $cursoParaModificar->uniqueUrl);
                                } else {
                                    //error en bd
                                    setSessionMessage("Error BD", " ¡Error! ", "error");
                                    redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                                }
                            } else {
                                //No se subió la imagen
                                setSessionMessage("Ocurrió un error al guardar la imagen en nuestros servidores. Intenta de nuevo más tarde", " ¡Error! ", "error");
                                redirect("/curso/" . $cursoParaModificar->uniqueUrl);
                            }
                        } else {
                            //borramos la imagen temporal
                            unlink($file);
                            //No se pudo hacer el "crop" de la imagen
                            setSessionMessage("Ocurrió un error al procesar tu imagen. Intenta de nuevo más tarde", " ¡Error! ", "error");
                            redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                        }
                    } else {
                        //No se subió la imagen
                        setSessionMessage("Ocurrió un error al recibir tu imagen. Intenta de nuevo más tarde", " ¡Error! ", "error");
                        redirect("/curso/" . $cursoParaModificar->uniqueUrl);
                    }
                } else {
                    //No es una imagen válida
                    setSessionMessage("No es una imagen válida. El tamaño máximo es de 10MB y formato png o jpg", " ¡Espera! ", "error");
                    redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
                }
            } else {
                setSessionMessage("No puedes modificar este curso", " ¡Espera! ", "error");
                goToIndex();
            }
        } else {
            setSessionMessage("No es una imagen válida", " ¡Espera! ", "error");
            redirect("/cursos/curso/cambiarImagen/" . $cursoParaModificar->idCurso);
        }
    } else {
        goToIndex();
    }
}