File manager - Edit - /var/www/html/portalHomolog/app/Http/Controllers/Comunicacao/NoticiasController.php
Back
<?php namespace App\Http\Controllers\Comunicacao; use App\Http\Controllers\Controller; use App\Models\Comunicacao\Noticia; use App\Http\Requests\Comunicacao\AdminNoticiasIndexRequest; use App\Http\Requests\Comunicacao\NoticiaRequest; use App\Enums\StatusTagCloudNewsEnum; use Illuminate\Http\Request; use App\Http\Services\Comunicacao\NoticiaService; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; use App\Helpers\FileUploadHelper; class NoticiasController extends Controller { private $permissao = "GERENCIADOR_DE_NOTICIAS"; private $imageDefault = "pmar/assets/img/icons/prefeitura-informa.jpg"; public function index(AdminNoticiasIndexRequest $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "visualizar"); if ($response instanceof RedirectResponse) { return $response; } $noticiaService = new NoticiaService(); $noticias = $noticiaService->paginateAdminListagem($request); $secretariasFiltro = $noticiaService->getSecretarias(['SECRETARIA', 'SECRETARIA_EXECUTIVA']); $anos = $noticiaService->getAnosComNoticiasAdmin(); $categorias = StatusTagCloudNewsEnum::cases(); $totalNoticiasPublicadas = Noticia::where('status', 'ATIVADO')->count(); return view('admin.noticias.index', [ 'noticias' => $noticias, 'totalNoticiasPublicadas' => $totalNoticiasPublicadas, 'secretariasFiltro' => $secretariasFiltro, 'anos' => $anos, 'categorias' => $categorias, ]); } public function create() : View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } $NoticiaService = new NoticiaService(); return view('admin.noticias.create', [ "gabinetes" => $NoticiaService->getSecretarias(['GABINETE_PREFEITURA', 'GABINETE_VICE_PREFEITURA']), "secretarias" => $NoticiaService->getSecretarias(['SECRETARIA']), "executivas" => $NoticiaService->getSecretarias(['SECRETARIA_EXECUTIVA']), "diretorias" => $NoticiaService->getSecretarias(['DIRETORIA']), "superintendencias" => $NoticiaService->getSecretarias(['SUPERINTENDENCIA']), "autarquias" => $NoticiaService->getSecretarias(['FUNDACAO', 'AUTARQUIA']), ]); } public function store(NoticiaRequest $request) : RedirectResponse { $response = $this->checkPermissao($this->permissao, "adicionar"); if ($response instanceof RedirectResponse) { return $response; } $request->validated(); $ds = DIRECTORY_SEPARATOR; $featuredPhoto = $this->imageDefault; $internalPhoto = $this->imageDefault; if ($request->hasFile('featuredPhoto') && $request->file('featuredPhoto')->isValid()) { $file = $request->file('featuredPhoto'); $uploadedPath = FileUploadHelper::processSafeImageUpload($file, 'noticias'); if ($uploadedPath) { $featuredPhoto = $uploadedPath; } } if ($request->hasFile('internalPhoto') && $request->file('internalPhoto')->isValid()) { $file = $request->file('internalPhoto'); $uploadedPath = FileUploadHelper::processSafeImageUpload($file, 'noticias'); if ($uploadedPath) { $internalPhoto = $uploadedPath; } } $array_noticia = [ "slug" => $request->slug, "tags" => $request->tags, "type" => $request->type, "title" => $request->title, "summary" => $request->summary, "description" => $request->description, "movie" => $request->movie, "status" => $request->status, "fix" => (isset($request->fix) && ($request->fix == "on" || $request->fix == 1)) ? 1 : 0, "cloud" => $request->cloud, "user_id" => auth()->user()->id, "old" => 0, "featuredPhoto" => $featuredPhoto, "internalPhoto" => $internalPhoto, "flickr" => $request->flickr, "code" => $request->code ??= null, ]; $NoticiaService = new NoticiaService(); return $NoticiaService->store($request, $array_noticia); } public function edit(Noticia $noticia): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $NoticiaService = new NoticiaService(); return view('admin.noticias.edit', [ "noticia" => $noticia, "gabinetes" => $NoticiaService->getSecretarias(['GABINETE_PREFEITURA', 'GABINETE_VICE_PREFEITURA']), "secretarias" => $NoticiaService->getSecretarias(['SECRETARIA']), "executivas" => $NoticiaService->getSecretarias(['SECRETARIA_EXECUTIVA']), "diretorias" => $NoticiaService->getSecretarias(['DIRETORIA']), "superintendencias" => $NoticiaService->getSecretarias(['SUPERINTENDENCIA']), "autarquias" => $NoticiaService->getSecretarias(['FUNDACAO', 'AUTARQUIA']), "belongsTo" => $noticia->relacionadas->pluck('id')->toArray() ]); } public function update(NoticiaRequest $request, Noticia $noticia): RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $request->validated(); $ds = DIRECTORY_SEPARATOR; $featuredPhoto = $noticia->featuredPhoto; $internalPhoto = $noticia->internalPhoto; if ($request->hasFile('featuredPhoto')) { if ($noticia->featuredPhoto != $this->imageDefault) { $search = "pmar{$ds}assets{$ds}img"; $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $noticia->featuredPhoto); if (@file_exists($file_exist)) { unlink($file_exist); } } $file = $request->file('featuredPhoto'); $uploadedPath = FileUploadHelper::processSafeImageUpload($file, 'noticias'); if ($uploadedPath) { $featuredPhoto = $uploadedPath; } } if ($request->hasFile('internalPhoto')) { if ($noticia->featuredPhoto != $this->imageDefault) { $search = "pmar{$ds}assets{$ds}img"; $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $noticia->featuredPhoto); if (@file_exists($file_exist)) { unlink($file_exist); } } $file = $request->file('internalPhoto'); $uploadedPath = FileUploadHelper::processSafeImageUpload($file, 'noticias'); if ($uploadedPath) { $internalPhoto = $uploadedPath; } } $array_noticia = [ "slug" => $request->slug, "tags" => $request->tags, "type" => $request->type, "title" => $request->title, "summary" => $request->summary, "description" => $request->description, "movie" => $request->movie, "status" => $request->status, "fix" => (isset($request->fix) && ($request->fix == "on" || $request->fix == 1)) ? 1 : 0, "cloud" => $request->cloud, "featuredPhoto" => $featuredPhoto, "internalPhoto" => $internalPhoto, "flickr" => $request->flickr, "code" => $request->code ??= null, ]; $NoticiaService = new NoticiaService(); return $NoticiaService->update($request, $noticia, $array_noticia); } public function destroy(Request $request, Noticia $noticia): RedirectResponse { $response = $this->checkPermissao($this->permissao, "excluir"); if ($response instanceof RedirectResponse) { return $response; } $ds = DIRECTORY_SEPARATOR; if ($noticia->featuredPhoto != "pmar/assets/img/icons/prefeitura-informa.jpg") { $search = "pmar{$ds}assets{$ds}img"; $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $noticia->featuredPhoto); if (@file_exists($file_exist)) { unlink($file_exist); } } if ($noticia->internalPhoto != "pmar/assets/img/icons/prefeitura-informa.jpg") { $search = "pmar{$ds}assets{$ds}img"; $file_exist = storage_path() . str_replace($search, "{$ds}app{$ds}public", $noticia->internalPhoto); if (@file_exists($file_exist)) { unlink($file_exist); } } $NoticiaService = new NoticiaService(); return $NoticiaService->destroy($request, $noticia); } public function status(Request $request, Noticia $noticia) : RedirectResponse { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $NoticiaService = new NoticiaService(); return $NoticiaService->status($request, $noticia); } public function fixar(Request $request, Noticia $noticia) { $response = $this->checkPermissao($this->permissao, "editar"); if ($response instanceof RedirectResponse) { return $response; } $NoticiaService = new NoticiaService(); return $NoticiaService->fixar($request, $noticia); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings