File: /var/www/html/xfacil.desafio.com.py/app/Http/Controllers/GaleriaController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
use App\Models\Galeria;
use App\Models\Foto;
use Session;
use DB;
use Image, file;
class GaleriaController extends Controller{
public function index(){
return view('admin.galeria.index');
}
public function create(){
return view('admin.galeria.create');
}
public function store(Request $request) {
$galeria=new Galeria;
$galeria->nombre=$request->get('nombre');
if($file = $request->file('foto')) {
$control=0;
$nombre = rand().".".$file->getClientOriginalExtension();
while ($control == 0) {
if (is_file( public_path() . '/images/galeria/' . $nombre )) {
$nombre = rand() . $nombre;
}else{
Image::make($request->file('foto'))
->heighten(1000)
->save(public_path() . '/images/galeria/' . $nombre);
$galeria->foto=$nombre;
$control=1;
}
}
}
if ($galeria->save()){
Session::flash('success', '¡La imagen se subio correctamente!');
}
return Redirect::to('admin/galeria');
}
public function edit($id) {
$galeria=Galeria::findOrFail($id);
return view("admin.galeria.edit",["galeria"=>$galeria]);
}
public function update(Request $request,$id) {
$galeria=Galeria::findOrFail($id);
$galeria->nombre=$request->get('nombre');
if($file = $request->file('foto')) {
$control=0;
$nombre = rand().".".$file->getClientOriginalExtension();
while ($control == 0) {
if (is_file( public_path() . '/images/galeria/' . $nombre )) {
$nombre = rand() . $nombre;
}else{
Image::make($request->file('foto'))
->heighten(1000)
->save(public_path() . '/images/galeria/' . $nombre);
$galeria->foto=$nombre;
$control=1;
}
}
}
if ($galeria->update()){
Session::flash('success', '¡El imagen se editó correctamente!');
}
return Redirect::to('admin/galeria');
}
public function dropzoneFileUpload(Request $request) {
$request->validate([
'file' => 'required|image|max:2048'
]);
$foto=new Foto;
$foto->categoria_id=$request->get('album_id');
if($file = $request->file('file')) {
$control=0;
$nombre = rand().".".$file->getClientOriginalExtension();
while ($control == 0) {
if (is_file( public_path() . '/images/galeria/' . $nombre )) {
$nombre = rand() . $nombre;
}else{
Image::make($request->file('file'))
->heighten(1000)
->save(public_path() . '/images/galeria/' . $nombre);
$foto->foto=$nombre;
$control=1;
}
}
}
$foto->save();
}
}