One Hat Cyber Team
Your IP :
172.70.50.39
Server IP :
188.114.96.7
Server :
Linux advantage-project 5.14.0-503.26.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 19 16:28:19 UTC 2025 x86_64
Server Software :
Apache/2.4.62 (Rocky Linux) OpenSSL/3.2.2
PHP Version :
8.3.17
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
html
/
app
/
Http
/
Controllers
/
Admin
/
View File Name :
ContentController.php
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Category; use App\Models\Content; use App\Models\Image; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; class ContentController extends Controller { function index($categoryCode='news'){ $category = Category::where('code',$categoryCode)->firstOrFail(); $rows = $category->contents()->paginate(10); view()->share('page_title', $category->title); return view('admin.contents.index', compact('rows', 'category')); } function add(){ $categories = Category::select('id', 'label')->get()->pluck('label', 'id')->toArray(); $categories = array_replace(['' => '--Select--'],$categories); return view('admin.contents.add',compact('categories')); } public function save(Request $request) { $rules = [ "title"=>"required", "image" => "required", "description" => "required", "content" => "required", "category_id"=>'required', ]; try { $this->validate($request,$rules ); DB::beginTransaction(); $contentObj = new Content(); $contentObj->title = $request->title; $contentObj->category_id = $request['category_id']; $contentObj->slug = Str::slug($request->title, '-'); $contentObj->description = $request->description; $contentObj->content = $request['content']; $fileName = time().'_'.$contentObj->slug.'.'.$request->file('image')->getClientOriginalExtension(); $filePath = $request->file('image')->move('uploads', $fileName); $contentObj->image = $filePath; $contentObj->save(); $uploadedFileHandler = $request->file_handler; $imageObj = new Image(); $imageObj->clean(); $imageObj->where('key',$uploadedFileHandler) ->update(['content_id'=>$contentObj->id , 'key'=>'' ]); DB::commit(); $category= Category::find($request->category_id); return redirect()->route('admin-content-index',$category->code)->with('success','Content has been saved'); } catch (\Exception $exception) { DB::rollBack(); return redirect()->back() ->withInput() ->withErrors(['error' => $exception->getMessage()]); } } public function edit(Content $content) { $categories = Category::select('id', 'label')->get()->pluck('label', 'id')->toArray(); $categories = array_replace(['' => '--Select--'],$categories); return view('admin.contents.edit', ['row'=>$content, 'categories'=>$categories]); } public function update(Request $request) { $rules = [ "title"=>"required", "description" => "required", "content" => "required", "category_id"=>'required', ]; try { $this->validate($request,$rules ); DB::beginTransaction(); $contentObj = Content::findOrFail($request->id); $contentObj->title = $request->title; $contentObj->slug = Str::slug($request->title, '-'); $contentObj->description = $request->description; $contentObj->content = $request['content']; $contentObj->category_id = $request['category_id']; if ($request->hasFile('image')) { $fileName = time().'_'.$contentObj->slug.'.'.$request->file('image')->getClientOriginalExtension(); $filePath = $request->file('image')->move('uploads', $fileName); if(file_exists(public_path('/'). $contentObj->image)) { unlink(public_path('/'). $contentObj->image); } $contentObj->image = $filePath; } $uploadedFileHandler = $request->file_handler; $imageObj = new Image(); $imageObj->clean(); $newUploadedFiles = $imageObj->where('key',$uploadedFileHandler); if($newUploadedFiles) { $newUploadedFiles->update(['content_id'=>$contentObj->id , 'key'=>'' ]); } $contentObj->save(); DB::commit(); $category= Category::find($request->category_id); return redirect()->route('admin-content-index',$category->code)->with('success','Content has been updated'); } catch (\Exception $exception) { DB::rollBack(); return redirect()->back() ->withInput() ->withErrors(['error' => $exception->getMessage()]); } } public function delete(Content $content) { try { DB::beginTransaction(); if( $content->image && file_exists(public_path('/'). $content->image)){ unlink(public_path('/').$content->image); } foreach ($content->gallery as $image) { if(file_exists(public_path('/'). $image->image)) { unlink(public_path('uploads/gallery/').$image->image); } $image->delete(); } $content->delete(); DB::commit(); $category= Category::find($content->category_id); return redirect()->route('admin-content-index',$category->code)->with('success','Content has been deleted'); } catch (\Exception $exception) { DB::rollBack(); return redirect()->back() ->withInput() ->withErrors(['error' => $exception->getMessage()]); } } }