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