⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
crm.dev-unit.com
/
app
/
Http
/
Controllers
/
View File Name :
ArticleController.php
<?php namespace App\Http\Controllers; use App\Http\Requests\CreateArticleRequest; use App\Http\Requests\UpdateArticleRequest; use App\Models\Article; use App\Models\ArticleGroup; use App\Repositories\ArticleRepository; use Exception; use Illuminate\Contracts\Filesystem\FileNotFoundException; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Contracts\View\Factory; use Illuminate\Http\JsonResponse; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Response; use Illuminate\Routing\Redirector; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use Illuminate\View\View; use Laracasts\Flash\Flash; class ArticleController extends AppBaseController { /** @var ArticleRepository */ private $articleRepository; public function __construct(ArticleRepository $articleRepo) { $this->articleRepository = $articleRepo; } /** * Display a listing of the Article. * * @return Factory|View */ public function index() { $internalArticle = Article::INTERNAL_ARTICLE_ARR; $disabledArticle = Article::DISABLED_ARTICLE_ARR; $groupArr = ArticleGroup::orderBy('group_name', 'asc')->pluck('group_name', 'id')->toArray(); return view('articles.index', compact('internalArticle', 'disabledArticle', 'groupArr')); } /** * Show the form for creating a new Article. * * @return Factory|View */ public function create() { $articleGroups = $this->articleRepository->getArticleGroups(); return view('articles.create', compact('articleGroups')); } /** * Store a newly created Article in storage. * * @param CreateArticleRequest $request * @return RedirectResponse|Redirector */ public function store(CreateArticleRequest $request) { $input = $request->all(); $input['internal_article'] = ! isset($input['internal_article']) ? false : true; $input['disabled'] = ! isset($input['disabled']) ? false : true; $this->articleRepository->store($input); Flash::success(__('messages.article.article_saved_successfully')); return redirect(route('articles.index')); } /** * Display the specified Article. * * @param Article $article * @return Factory|View */ public function show(Article $article) { return view('articles.show', compact('article')); } /** * Show the form for editing the specified Article. * * @param Article $article * @return Factory|View */ public function edit(Article $article) { $articleGroups = $this->articleRepository->getArticleGroups(); return view('articles.edit', compact('article', 'articleGroups')); } /** * Update the specified Article in storage. * * @param UpdateArticleRequest $request * @param Article $article * @return RedirectResponse|Redirector */ public function update(UpdateArticleRequest $request, Article $article) { $input = $request->all(); $input['internal_article'] = ! isset($input['internal_article']) ? false : true; $input['disabled'] = ! isset($input['disabled']) ? false : true; $this->articleRepository->update($input, $article->id); Flash::success(__('messages.article.article_updated_successfully')); return redirect(route('articles.index')); } /** * Remove the specified Article from storage. * * @param Article $article * @return Response * * @throws Exception */ public function destroy(Article $article) { $article->delete(); return $this->sendSuccess('Article deleted successfully.'); } /** * @param int $id * @return JsonResponse */ public function activeDeActiveInternalArticle($id) { $internalArticle = Article::findOrFail($id); $internalArticle->internal_article = ! $internalArticle->internal_article; $internalArticle->save(); return $this->sendSuccess('Article updated successfully.'); } /** * @param int $id * @return JsonResponse */ public function activeDeActiveDisabled($id) { $articleDisabled = Article::findOrFail($id); $articleDisabled->disabled = ! $articleDisabled->disabled; $articleDisabled->save(); return $this->sendSuccess('Article status updated successfully.'); } /** * @param Article $article * @return Application|ResponseFactory|Response * * @throws FileNotFoundException */ public function downloadMedia(Article $article) { $attachmentMedia = $article->media[0]; $attachmentPath = $attachmentMedia->getPath(); if (config('app.media_disc') == 'public') { $attachmentPath = (Str::after($attachmentMedia->getUrl(), '/uploads')); } $file = Storage::disk(config('app.media_disc'))->get($attachmentPath); $headers = [ 'Content-Type' => $article->media[0]->mime_type, 'Content-Description' => 'File Transfer', 'Content-Disposition' => "attachment; filename={$article->media[0]->file_name}", 'filename' => $article->media[0]->file_name, ]; return response($file, 200, $headers); } }