MINI MINI MANI MO

Path : /var/www/html/sistemas/saplxi/app/Http/Controllers/MCG/
File Upload :
Current File : /var/www/html/sistemas/saplxi/app/Http/Controllers/MCG/LegislacionController.php

<?php

namespace App\Http\Controllers\MCG;

use App\Http\Controllers\Controller;
use App\Models\CddLegislacion;
use App\Models\CddTipoLey;
use Carbon\Carbon;
use Illuminate\Http\Request;

class LegislacionController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $data = CddLegislacion::all();
        return view("Administrador.legislacion.index", compact("data"));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        $tipo = CddTipoLey::all()->pluck("tipo", "id");
        return view("Administrador.legislacion.create", compact("tipo"));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param \Illuminate\Http\Request $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $leyes = $request->legislacion;

        if (isset($request->pdf)) {
            $archivo = $request->pdf;
            $nombre = $archivo->getClientOriginalName();
            $document = $archivo;
            $directorio = 'public/documentos/legislacion/';
            $path = $document->storeAs($directorio, $nombre);

            $foto = CddLegislacion::create([
                "id_tipoley" => $leyes['id_tipoley'],
                "nombre" => $leyes['nombre'],
                "fecha_publicacion" => Carbon::createFromFormat("d/m/Y", $leyes['fecha_publicacion'])->format("Y-m-d"),
                "objeto" => $leyes['objeto'],
                "pdf" => $archivo->getClientOriginalName(),
            ]);
        } else {
            $foto = CddLegislacion::create([
                "id_tipoley" => $leyes['id_tipoley'],
                "nombre" => $leyes['nombre'],
                "fecha_publicacion" => Carbon::createFromFormat("d/m/Y", $leyes['fecha_publicacion'])->format("Y-m-d"),
                "objeto" => $leyes['objeto'],
            ]);
        }
        return redirect()->route("mcg.legislacion.index");
    }

    /**
     * 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)
    {
        $legislacion = CddLegislacion::find(base64_decode(base64_decode($id)));
//        dd($legislacion);
        $tipo = CddTipoLey::all()->pluck("tipo", "id");
        return view("Administrador.legislacion.edit", compact("tipo","legislacion"));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param \Illuminate\Http\Request $request
     * @param int $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $legislac = CddLegislacion::find(base64_decode(base64_decode($id)));
        $leyes = $request->legislacion;

        if (isset($request->pdf)) {
            $archivo = $request->pdf;
            $nombre = $archivo->getClientOriginalName();
            $document = $archivo;
            $directorio = 'public/documentos/legislacion/';
            $path = $document->storeAs($directorio, $nombre);

            $foto = $legislac->update([
                "id_tipoley" => $leyes['id_tipoley'],
                "nombre" => $leyes['nombre'],
                "fecha_publicacion" => Carbon::createFromFormat("d/m/Y", $leyes['fecha_publicacion'])->format("Y-m-d"),
                "objeto" => $leyes['objeto'],
                "pdf" => $archivo->getClientOriginalName(),
            ]);
        } else {
            $foto = $legislac->update([
                "id_tipoley" => $leyes['id_tipoley'],
                "nombre" => $leyes['nombre'],
                "fecha_publicacion" => Carbon::createFromFormat("d/m/Y", $leyes['fecha_publicacion'])->format("Y-m-d"),
                "objeto" => $leyes['objeto'],
            ]);
        }
        return redirect()->route("mcg.legislacion.index");


    }

    /**
     * Remove the specified resource from storage.
     *
     * @param int $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }

    public function setValues(Request $request)
    {
        $params = $request->get("legislacion");
        $params["fecha_publicacion"] = Carbon::createFromFormat("d/m/Y", $params["fecha_publicacion"])->format("Y-m-d");

        if ($request->hasFile("pdf")) {
            $path = "public/documentos/legislacion";
            $this->uploadFile($request->file("pdf"), $path);
            $params["pdf"] = $request->file("pdf")->getClientOriginalName();
        }

        return $params;
    }

    public function uploadFile($file, $path)
    {
        return $file->storeAs($path, $file->getClientOriginalName());
    }
}

OHA YOOOO