Esempio n. 1
0
 public function upload_image_froala($domain, Request $request)
 {
     $image_name = uploadFileToS3($request, 'image', 800, null);
     if ($image_name != null) {
         $data["image_url"] = $this->s3_url . $image_name;
         $data["image_name"] = $image_name;
     }
     return $this->respond(['link' => $data['image_url']]);
 }
function subirImagen()
{
    //Regresara un json con error y link
    $error = "";
    $link = "";
    if (validarUsuarioLoggeado()) {
        if (isset($_POST['u']) && isset($_POST['uuid']) && isset($_POST['cu']) && isset($_POST['cl'])) {
            $idUsuario = $_POST['u'];
            $uuid = $_POST['uuid'];
            $idCurso = $_POST['cu'];
            $idClase = $_POST['cl'];
            $usuario = getUsuarioActual();
            require_once 'modulos/cursos/modelos/ClaseModelo.php';
            require_once 'modulos/cursos/modelos/CursoModelo.php';
            if ($usuario->idUsuario == getIdUsuarioDeCurso($idCurso) && $usuario->idUsuario == $idUsuario && $usuario->uuid == $uuid && clasePerteneceACurso($idCurso, $idClase)) {
                $file = "archivos/temporal/original_" . $_FILES["imagen"]["name"];
                if (move_uploaded_file($_FILES['imagen']['tmp_name'], $file)) {
                    //Se subió correctamente el archivo, lo subimos al S3
                    require_once 'modulos/aws/modelos/s3Modelo.php';
                    $res = uploadFileToS3($file, "popcornExtraFiles");
                    if ($res['res']) {
                        //se subio bien al s3
                        require_once 'modulos/editorPopcorn/modelos/archivosExtraModelo.php';
                        $archivoExtra = new ArchivoExtra();
                        $archivoExtra->idClase = $idClase;
                        $archivoExtra->link = $res['link'];
                        if (agregarArchivoExtra($archivoExtra) >= 0) {
                            //Se agrego bien a la bd
                            $link = $res['link'];
                        } else {
                            //error al agregar a la bd
                            $error = "Error al guardar en la bd";
                        }
                    } else {
                        //no se subio al s3
                        $error = "no se subio al s3";
                    }
                    //sin importar si se subio bien, borramos el archivo temporal
                    unlink($file);
                } else {
                    $error = "error al mover el archivo";
                }
            } else {
                $error = "No tienes permiso para modificar";
            }
        } else {
            $error = "datos no validos";
        }
    } else {
        $error = "Usuario no válido";
    }
    $array = array("error" => $error, "link" => $link, "post" => $_POST);
    echo json_encode($array);
}
Esempio n. 3
0
 public function upload_image($domain, Request $request)
 {
     $size = $request->size;
     $old_name = $request->old_name;
     $thumb_size = $request->thumb_size;
     $old_thumb_name = $request->old_thumb_name;
     $data = ["type" => "image"];
     $image_name = uploadFileToS3($request, 'image', $size, $old_name);
     if ($image_name != null) {
         $data["image_url"] = $this->s3_url . $image_name;
         $data["image_name"] = $image_name;
     }
     if ($thumb_size) {
         $thumb_name = uploadThunbImageToS3($request, 'image', $thumb_size, $old_thumb_name);
         if ($thumb_name != null) {
             $data["thumb_name"] = $thumb_name;
             $data["thumb_url"] = $this->s3_url . $thumb_name;
         }
     }
     $data["message"] = "Tải lên thành công";
     $data['size'] = $size;
     $data['thumb_size'] = $thumb_size;
     return $this->respond($data);
 }
Esempio n. 4
0
 public function store_blog_post(Request $request)
 {
     $id = $request->id;
     if ($id == -1) {
         $product = new Product();
     } else {
         $product = Product::find($id);
     }
     $product->description = $request->title;
     $product->type = $request->type;
     $product->rating = 0;
     $product->author_id = $this->user->id;
     $product->tags = $request->tags;
     $product->content = $request->blog_content;
     $product->category_id = $request->category_id;
     $avatar_type = $request->avatar_type;
     if ($avatar_type == 0) {
         $image_name = uploadFileToS3($request, 'avatar', 800, $product->image_name);
         if ($image_name != null) {
             $product->image_name = $image_name;
             $product->url = $this->s3_url . $image_name;
         }
         $thumb_name = uploadFileToS3($request, 'avatar', 250, $product->thumb_name);
         if ($thumb_name != null) {
             $product->thumb_name = $thumb_name;
             $product->thumb_url = $this->s3_url . $thumb_name;
         }
         $product->save();
         Session::flash('message', 'Bạn đã đăng bài viết thành công. <a href="' . url('bai-tap-colorme?id=' . $product->id) . '">Click vào đây để xem bài viết</a>');
     } else {
         if ($avatar_type == 1) {
             //            $video_name = uploadLargeFileToS3Useffmpec($request, 'product', $product->image_name);
             $video_name = uploadLargeFileToS3UseCloudConvert($request, 'avatar', $product->image_name);
             if ($video_name != null) {
                 $product->image_name = $video_name;
                 $product->url = $this->s3_url . $video_name;
                 $product->save();
                 Session::flash('message', 'Bạn đã đăng bài viết thành công');
             } else {
                 Session::flash('message', 'Có lỗi xảy ra');
             }
         }
     }
     return '<strong class="green-text">Đăng bài viết thành công</strong>';
 }
Esempio n. 5
0
 public function upload_file(Request $request)
 {
     $owner_id = $request->owner_id;
     $s3_url = config('app.s3_url');
     $image_name = uploadFileToS3($request, 'upload', 800, null);
     $url = $s3_url . $image_name;
     $image = new Image();
     $image->name = $image_name;
     $image->url = $url;
     $image->owner_id = $owner_id;
     $image->save();
     $funcNum = $_GET['CKEditorFuncNum'];
     $message = 'Tài lên thành công';
     return "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction({$funcNum}, '{$url}', '{$message}');</script>";
 }
Esempio n. 6
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();
    }
}
Esempio n. 7
0
function crearClaseDeArchivo($idUsuario, $idCurso, $idTema, $fileName, $fileType)
{
    require_once 'modulos/usuarios/modelos/usuarioModelo.php';
    require_once 'modulos/cursos/modelos/CursoModelo.php';
    require_once 'modulos/cursos/modelos/TemaModelo.php';
    //Carpeta donde se va a guardar el archivo temporal
    $filePath = getServerRoot() . "/archivos/temporal/uploaderFiles/";
    $res = array();
    //Validamos que el curso sea del usuario y que el tema sea del curso
    if (getIdUsuarioDeCurso($idCurso) == $idUsuario && $idCurso == getIdCursoPerteneciente($idTema)) {
        //Guardamos el nombre original del archivo para establecerlo como titulo
        $pathInfo = pathinfo($filePath . $fileName);
        $titulo = $pathInfo['filename'];
        $newName = getUniqueCode(64) . "." . $pathInfo['extension'];
        require_once 'funcionesPHP/funcionesParaArchivos.php';
        //Le cambiamos el nombre del archivo a uno generico
        if (rename($filePath . $fileName, $filePath . $newName)) {
            $file = $filePath . $newName;
            $pathInfo = pathinfo($file);
            $clase = new Clase();
            $clase->idTema = $idTema;
            $clase->titulo = $titulo;
            $clase->idTipoClase = getTipoClase($fileType);
            //Establecemos el ancho de banda utilizado por la subida de este archivo
            $size = getFileSize($file);
            require_once 'modulos/principal/modelos/variablesDeProductoModelo.php';
            deltaVariableDeProducto("usoActualAnchoDeBanda", $size);
            require_once 'modulos/aws/modelos/s3Modelo.php';
            if ($clase->idTipoClase == 0 || $clase->idTipoClase == 4) {
                //Creamos la clase en la bd
                //Si es video o audio creamos la clase con la bandera que todavía no se transforma
                $clase->transformado = 0;
                $clase->usoDeDisco = 0;
                $clase->duracion = "00:00";
                $clase->orden = getUltimoOrdenEnTema($idTema) + 1;
                $idClase = altaClase($clase);
                if ($idClase >= 0) {
                    //Subimos el archivo al servicio S3 de amazon
                    $s3res = uploadFileToS3($file);
                    if ($s3res['res']) {
                        //El archivo se subio al cdn
                        //Generamos los datos del mensaje
                        $datosDelMensaje = array("bucket" => $s3res['bucket'], "key" => $s3res['key'], "tipo" => $clase->idTipoClase, "host" => getDomainName(), "idClase" => $idClase);
                        $datosJson = json_encode($datosDelMensaje);
                        require_once 'modulos/aws/modelos/sqsModelo.php';
                        if (AddMessageToQueue($datosJson)) {
                            //Se mando correctamente el mensaje
                            //Se dió de alta correctamente
                            $res['resultado'] = true;
                            $res['url'] = "#";
                        } else {
                            //Ocurrio un eror al agregar el mensaje
                            $res['resultado'] = false;
                            $res['mensaje'] = "Ocurrió un error al guardar tu archivo en nuestros servidores. Intenta de nuevo más tarde";
                        }
                    } else {
                        //Erro al subir el archivo al s3 de amazon
                        $res['resultado'] = false;
                        $res['mensaje'] = "Ocurrió un error al guardar tu archivo en nuestros servidores. Intenta de nuevo más tarde";
                    }
                } else {
                    //Ocurrió un error al agregar a la bd
                    $res['resultado'] = false;
                    $res['mensaje'] = "Ocurrió un error al guardar tu archivo en nuestros servidores. Intenta de nuevo más tarde";
                }
            } else {
                $clase->transformado = 1;
                //Subimos el archivo al servicio S3 de amazon
                $s3res = uploadFileToS3($file);
                if ($s3res['res']) {
                    //Si se subio, guardamos la clase en la bd
                    $clase->archivo = $s3res['link'];
                    $clase->usoDeDisco = $size;
                    $clase->orden = getUltimoOrdenEnTema($idTema) + 1;
                    $idClase = altaClase($clase);
                    if ($idClase >= 0) {
                        //Se dió de alta correctamente
                        $res['resultado'] = true;
                        $res['url'] = "#";
                    } else {
                        //Ocurrió un error al agregar a la bd
                        $res['resultado'] = false;
                        $res['mensaje'] = "Ocurrió un error al guardar tu archivo en nuestros servidores. Intenta de nuevo más tarde";
                    }
                } else {
                    //Si ocurrió un error al subir al s3
                    $res['resultado'] = false;
                    $res['mensaje'] = "Ocurrió un error al guardar tu archivo en nuestros servidores. Intenta de nuevo más tarde";
                }
            }
            //Sin importar que paso, borramos el archivo temporal
            unlink($file);
        } else {
            //Si ocurrió un error, se borra y regresamos false
            unlink($filePath . $fileName);
            $res['resultado'] = false;
            $res['mensaje'] = "El nombre del archivo no es válido";
        }
    } else {
        //Hay errores en la integridad usuario <-> curso
        //borramos el archivo
        unlink($filePath . $fileName);
        $res['resultado'] = false;
        $res['mensaje'] = "No tienes permisos para modificar este curso";
    }
    return $res;
}
Esempio n. 8
0
 public function landing_store(Request $request)
 {
     $old_reason = array();
     $old_feedback = array();
     $old_timeline = array();
     if ($request->id == -1) {
         $landing = new Landing();
     } else {
         $landing = Landing::find($request->id);
         $old_reason = json_decode($landing->reasons, true);
         $old_feedback = json_decode($landing->feedbacks, true);
         $old_timeline = json_decode($landing->timeline, true);
     }
     $reasons_array = array();
     $demos_array = array();
     $timeline_array = array();
     $feedback_array = array();
     //Handle Reasons
     for ($j = 1; $j <= 3; $j++) {
         $name = 'reason_name' . $j;
         $detail = 'reason_detail' . $j;
         $img = 'reason_img' . $j;
         $reasons_array['reason_name' . $j] = $request->{$name};
         $reasons_array['reason_detail' . $j] = $request->{$detail};
         if ($request->id == -1) {
             $old_reason['reason_img_name' . $j] = null;
         }
         $reason_img_name = uploadFileToS3($request, $img, 250, $old_reason['reason_img_name' . $j]);
         if ($reason_img_name != null) {
             $reasons_array['reason_img_name' . $j] = $reason_img_name;
             $reasons_array['reason_img_url' . $j] = $this->s3_url . $reason_img_name;
         } else {
             if ($old_reason['reason_img_name' . $j] == null) {
                 $reasons_array['reason_img_name' . $j] = null;
                 $reasons_array['reason_img_url' . $j] = null;
             } else {
                 $reasons_array['reason_img_name' . $j] = $old_reason['reason_img_name' . $j];
                 $reasons_array['reason_img_url' . $j] = $old_reason['reason_img_url' . $j];
             }
         }
     }
     //Handle Demo Array
     for ($i = 1; $i <= 6; $i++) {
         $author = 'demo_author' . $i;
         $gen = 'demo_author_gen' . $i;
         $preview = 'demo_preview' . $i;
         $id = 'demo' . $i;
         $demos_array['demo_author' . $i] = $request->{$author};
         $demos_array['demo_author_gen' . $i] = $request->{$gen};
         $demos_array['demo_preview' . $i] = $request->{$preview};
         $demos_array['demo' . $i] = $request->{$id};
     }
     //Handle Timeline Array
     $loop = $request->class_number;
     for ($k = 1; $k <= $loop; $k++) {
         $class = 'class_name' . $k;
         $detail = 'class_detail' . $k;
         $img = 'class_img' . $k;
         $timeline_array['class_name' . $k] = $request->{$class};
         $timeline_array['class_detail' . $k] = $request->{$detail};
         if ($request->id == -1) {
             $old_timeline['class_img_name' . $k] = null;
         }
         $class_img_name = uploadFileToS3($request, $img, 156, $old_timeline['class_img_name' . $k]);
         if ($class_img_name != null) {
             $timeline_array['class_img_name' . $k] = $class_img_name;
             $timeline_array['class_img_url' . $k] = $this->s3_url . $class_img_name;
         } else {
             if ($old_timeline['class_img_name' . $k] == null) {
                 $timeline_array['class_img_name' . $k] = null;
                 $timeline_array['class_img_url' . $k] = null;
             } else {
                 $timeline_array['class_img_name' . $k] = $old_timeline['class_img_name' . $k];
                 $timeline_array['class_img_url' . $k] = $old_timeline['class_img_url' . $k];
             }
         }
     }
     //Handle Feedback Array
     for ($j = 1; $j <= 3; $j++) {
         $author = 'feedback_author' . $j;
         $detail = 'feedback_detail' . $j;
         $ava = 'feedback_ava' . $j;
         $feedback_array['feedback_author' . $j] = $request->{$author};
         $feedback_array['feedback_detail' . $j] = $request->{$detail};
         if ($request->id == -1) {
             $old_feedback['feedback_ava_name' . $j] = null;
         }
         $feedback_ava_name = uploadFileToS3($request, $ava, 250, $old_feedback['feedback_ava_name' . $j]);
         if ($feedback_ava_name != null) {
             $feedback_array['feedback_ava_name' . $j] = $feedback_ava_name;
             $feedback_array['feedback_ava_url' . $j] = $this->s3_url . $feedback_ava_name;
         } else {
             if ($old_feedback['feedback_ava_name' . $j] == null) {
                 $feedback_array['feedback_ava_name' . $j] = null;
                 $feedback_array['feedback_ava_url' . $j] = null;
             } else {
                 $feedback_array['feedback_ava_name' . $j] = $old_feedback['feedback_ava_name' . $j];
                 $feedback_array['feedback_ava_url' . $j] = $old_feedback['feedback_ava_url' . $j];
             }
         }
     }
     $cover_promo_name = uploadFileToS3($request, 'cover_promo', 1200, $landing->cover_promo_name);
     if ($cover_promo_name != null) {
         $landing->cover_promo_name = $cover_promo_name;
         $landing->cover_promo_url = $this->s3_url . $cover_promo_name;
     } else {
         if ($landing->cover_promo_name == null) {
             $landing->cover_promo_url = null;
         }
     }
     $demos = json_encode($demos_array);
     $timeline = json_encode($timeline_array);
     $feedbacks = json_encode($feedback_array);
     $reasons = json_encode($reasons_array);
     $landing->seo_url = $request->seo_url;
     $landing->class_number = $loop;
     $landing->course_id = $request->course_id;
     $landing->demos = $demos;
     $landing->feedbacks = $feedbacks;
     $landing->reasons = $reasons;
     $landing->timeline = $timeline;
     $landing->policy = $request->policy;
     $landing->video_url = $request->video_url;
     $landing->save();
     return redirect('/manage/courses');
 }
Esempio n. 9
0
 public function store_images($topicId, Request $request)
 {
     $image = new Image();
     $image->type = 0;
     $image->owner_id = $this->user->id;
     $image_name = uploadFileToS3($request, 'image', 800, null);
     if ($image_name != null) {
         $image->name = $image_name;
         $image->url = $this->s3_url . $image_name;
     }
     $image->product_id = $request->product_id;
     if ($request->index == 0) {
         $product = Product::find($image->product_id);
         $product->url = $image->url;
         $product->image_name = $image->name;
         $thumb_name = uploadFileToS3($request, 'image', 300, null);
         if ($thumb_name != null) {
             $product->thumb_name = $thumb_name;
             $product->thumb_url = $this->s3_url . $thumb_name;
         }
         $product->save();
     }
     $image->save();
     $msg = ['message' => "Tải lên thành công"];
     return response()->json($msg, 200);
 }