MINI MINI MANI MO
<?php
namespace App\Http\Controllers\MCG;
use App\Http\Controllers\Controller;
use App\Models\CddBanner;
use Illuminate\Http\Request;
class BannerController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$banners = CddBanner::orderBy("orden")->withTrashed()->get();
return view("Administrador.banner.index", compact("banners"));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view("Administrador.banner.create");
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
if ($request->has("tipo")) {
$request->file("documento")->storeAs("public/documentos/otros",
$request->file("documento")->getClientOriginalName());
$documentoPath = "storage/documentos/otros/" . $request->file("documento")->getClientOriginalName();
$tipo = 1;
} else {
$documentoPath = $request->get("documento_path");
$tipo = 0;
}
$request->file("foto_path")->storeAs("public/img/banners",
$request->file("foto_path")->getClientOriginalName());
$fotoPath = "storage/img/banners/" . $request->file("foto_path")->getClientOriginalName();
$orden = CddBanner::orderBy("orden", "DESC")->first();
$orden = $orden->orden + 1;
CddBanner::create([
"titulo" => $request->get("titulo"),
"tipo_documento" => $tipo,
"documento_path" => $documentoPath,
"foto_path" => $fotoPath,
"orden" => $orden,
]);
return redirect()->route("mcg.banner.index")->with("create", "ok");
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$banner = CddBanner::find(base64_decode(base64_decode($id)));
return view("Administrador.banner.edit", compact("banner"));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$banner = CddBanner::find(base64_decode(base64_decode($id)));
if ($request->has("tipo")) {
if ($request->hasFile("documento")) {
$request->file("documento")->storeAs("public/documentos/otros",
$request->file("documento")->getClientOriginalName());
$documentoPath = "storage/documentos/otros/" . $request->file("documento")->getClientOriginalName();
} else {
$documentoPath = $banner->documento_path;
}
$tipo = 1;
} else {
$documentoPath = $request->get("documento_path");
$tipo = 0;
}
if ($request->hasFile("foto_path")) {
$request->file("foto_path")->storeAs("public/img/banners",
$request->file("foto_path")->getClientOriginalName());
$fotoPath = "storage/img/banners/" . $request->file("foto_path")->getClientOriginalName();
} else {
$fotoPath = $banner->foto_path;
}
$banner->update([
"titulo" => $request->get("titulo"),
"tipo_documento" => $tipo,
"documento_path" => $documentoPath,
"foto_path" => $fotoPath,
]);
return redirect()->route("mcg.banner.index")->with("update", "ok");
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
CddBanner::find(base64_decode(base64_decode($id)))->delete();
return redirect()->route("mcg.banner.index")->with("delete", "ok");
}
public function updateOrden(Request $request)
{
$params = $request->except("_token");
foreach ($params["banner"] as $key => $item) {
CddBanner::find($item)->update(["orden" => $key]);
}
return response(["satus" => "success"], "200");
}
public function getOrden()
{
return CddBanner::orderBy("orden")->get();
}
public function restore($id)
{
$banner = CddBanner::where('id', base64_decode(base64_decode($id)))->withTrashed()->first();
$banner->restore();
$orden = $this->ordenar();
$banner->update(["orden" => $orden]);
return redirect()->route("mcg.banner.index")->with("restore", "ok");
}
public function ordenar()
{
$orden = CddBanner::orderBy("orden", "DESC")->first();
return $orden->orden + 1;
}
}
OHA YOOOO