File manager - Edit - /var/www/html/portalHomolog/app/Http/Controllers/TurisAngra/VisiteAngra/ArquivosPontosController.php
Back
<?php namespace App\Http\Controllers\TurisAngra\VisiteAngra; use App\Http\Controllers\Controller; use App\Models\TurisAngra\VisiteAngra\Ponto; use App\Models\Arquivo; use App\Http\Requests\TurisAngra\VisiteAngra\ArquivosPontosRequest; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use App\Http\Services\TurisAngra\VisiteAngra\ArquivoPontoService; use App\Helpers\FileUploadHelper; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; class ArquivosPontosController extends Controller { private $permissao = "GERENCIADOR_VISITE_ANGRA"; public function index(Request $request, Ponto $ponto): View|LengthAwarePaginator { $response = $this->checkPermissao($this->permissao, "visualizar"); if ($response instanceof RedirectResponse) { return $response; } $ArquivoPontoService = new ArquivoPontoService(); $arquivos = $ArquivoPontoService->index($request, $ponto); return view("admin.visiteAngra.pontos.arquivos.index", compact(['ponto', 'arquivos'])); } public function create(Ponto $ponto): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } return view("admin.visiteAngra.pontos.arquivos.create", compact(['ponto'])); } public function store(ArquivosPontosRequest $request, Ponto $ponto): RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } $ArquivoPontoService = new ArquivoPontoService(); if ($request->hasFile('link')) { foreach ($request->file('link') as $file) { if (!$file->isValid()) { continue; } $link = $this->handleFileUploadLoop($file, 'link', 'arquivos'); if ($link === null) { continue; // Arquivo rejeitado pela validação do FileUploadHelper } $array_arquivo = [ "user_id" => Auth::user()->id, "owner_id" => $ponto->id, "nome" => FileUploadHelper::sanitizeOriginalFileName($file), "tipo" => "Imagem", "link" => $link, ]; if (($arquivo = $ArquivoPontoService->store($array_arquivo)) instanceof RedirectResponse) { return $arquivo; } } $page = $request->input('page', 1); return redirect("/admin/visite-angra/pontos/{$ponto->id}/arquivos?page={$page}") ->with("success", __("* Imagens criadas com sucesso!")); } else { return redirect() ->back() ->withInput() ->with('error', 'Erro ao tentar criar imagem.'); } } public function destroy(Request $request, Ponto $ponto, Arquivo $arquivo): RedirectResponse { $response = $this->checkPermissao($this->permissao, "excluir"); if ($response instanceof RedirectResponse) { return $response; } $this->handleFileDestroyArquivo($arquivo->link); $ArquivoPontoService = new ArquivoPontoService(); return $ArquivoPontoService->destroy($request, $ponto, $arquivo); } public function removeAll(Request $request, Ponto $ponto): RedirectResponse { $response = $this->checkPermissao($this->permissao, "excluir"); if ($response instanceof RedirectResponse) { return $response; } $ArquivoPontoService = new ArquivoPontoService(); foreach ($ponto->arquivos()->get() as $arquivo) { $this->handleFileDestroyArquivo($arquivo->link); if ($response = $ArquivoPontoService->remove($arquivo) instanceof RedirectResponse) { return $response; } } $page = $request->input('page', 1); return redirect("/admin/visite-angra/pontos/{$ponto->id}/arquivos?page={$page}") ->with("success", __("* Imagens removidas com sucesso!")); } public function status(Request $request, Ponto $ponto, Arquivo $arquivo): RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $ArquivoPontoService = new ArquivoPontoService(); return $ArquivoPontoService->status($request, $ponto, $arquivo); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings