One Hat Cyber Team
Your IP :
172.69.214.93
Server IP :
188.114.97.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
/
Edit File:
NewsController.php
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Image; use App\Models\News; use App\Models\StaticPage; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Str; class NewsController extends Controller { function index(){ return view('admin.news.index', ['rows'=> News::all() ] ); } function add(){ return view('admin.news.add'); } public function save(Request $request) { $rules = [ "title"=>"required", "image" => "required", "description" => "required", "content" => "required", ]; try { $this->validate($request,$rules ); DB::beginTransaction(); $newsObj = new News(); $newsObj->title = $request->title; $newsObj->slug = Str::slug($request->title, '-'); $newsObj->description = $request->description; $newsObj->content = $request['content']; $fileName = time().'_'.$newsObj->slug.'.'.$request->file('image')->getClientOriginalExtension(); $filePath = $request->file('image')->move('uploads', $fileName); $newsObj->image = $filePath; $newsObj->save(); $uploadedFileHandler = $request->file_handler; $imageObj = new Image(); $imageObj->clean(); $imageObj->where('key',$uploadedFileHandler) ->update(['content_id'=>$newsObj->id , 'key'=>'' ]); DB::commit(); return redirect()->route('admin-news-index')->with('success','News has been saved'); } catch (\Exception $exception) { DB::rollBack(); return redirect()->back() ->withInput() ->withErrors(['error' => $exception->getMessage()]); } } public function edit(News $news) { return view('admin.news.edit', ['row'=>$news]); } public function update(Request $request) { $rules = [ "title"=>"required", "description" => "required", "content" => "required", ]; try { $this->validate($request,$rules ); DB::beginTransaction(); $newsObj = News::findOrFail($request->id); $newsObj->title = $request->title; $newsObj->slug = Str::slug($request->title, '-'); $newsObj->description = $request->description; $newsObj->content = $request['content']; if ($request->hasFile('image')) { $fileName = time().'_'.$newsObj->slug.'.'.$request->file('image')->getClientOriginalExtension(); $filePath = $request->file('image')->move('uploads', $fileName); if(file_exists(public_path('/'). $newsObj->image)) { unlink(public_path('/'). $newsObj->image); } $newsObj->image = $filePath; } $uploadedFileHandler = $request->file_handler; $imageObj = new Image(); $imageObj->clean(); $newUploadedFiles = $imageObj->where('key',$uploadedFileHandler); if($newUploadedFiles) { $newUploadedFiles->update(['content_id'=>$newsObj->id , 'key'=>'' ]); } $newsObj->save(); DB::commit(); return redirect()->route('admin-news-index')->with('success','News has been updated'); } catch (\Exception $exception) { DB::rollBack(); return redirect()->back() ->withInput() ->withErrors(['error' => $exception->getMessage()]); } } public function delete(News $news) { try { DB::beginTransaction(); if( $news->image && file_exists(public_path('/'). $news->image)){ unlink(public_path('/').$news->image); } foreach ( $news->gallery as $image) { if(file_exists(public_path('/'). $image->image)) { unlink(public_path('uploads/gallery/').$image->image); } $image->delete(); } $news->delete(); DB::commit(); return redirect()->route('admin-news-index')->with('success','News has been deleted'); } catch (\Exception $exception) { DB::rollBack(); return redirect()->back() ->withInput() ->withErrors(['error' => $exception->getMessage()]); } } }
Simpan