diff --git a/Project/Code/app/Http/Controllers/BannerController.php b/Project/Code/app/Http/Controllers/BannerController.php new file mode 100644 index 00000000..46c6cefe --- /dev/null +++ b/Project/Code/app/Http/Controllers/BannerController.php @@ -0,0 +1,57 @@ +validate([ + 'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', + ]); + + // ตรวจสอบว่าไฟล์มีอยู่ใน request หรือไม่ + if ($request->hasFile('image')) { + // อัปโหลดไฟล์ไปยัง storage แล้วเก็บเส้นทางไว้ในตัวแปร $imagePath + $imagePath = $request->file('image')->store('banners', 'public'); + } else { + return redirect()->route('banners.index')->with('error', 'กรุณาเลือกไฟล์รูปภาพ'); + } + + // สร้างแบนเนอร์ใหม่แล้วบันทึกเส้นทางรูปภาพลงในฐานข้อมูล + Banner::create([ + 'image_path' => $imagePath, + ]); + + // ส่งผู้ใช้กลับไปที่หน้าหลักและแสดงข้อความสำเร็จ + return redirect()->route('banners.index')->with('success', 'อัปโหลดรูปภาพสำเร็จ'); + } + + public function destroy($id) + { + // ค้นหาข้อมูลแบนเนอร์ที่ต้องการลบ + $banner = Banner::findOrFail($id); + + // ลบไฟล์ภาพจาก storage + \Storage::delete('public/' . $banner->image_path); + + // ลบข้อมูลจากฐานข้อมูล + $banner->delete(); + + return redirect()->route('banners.index')->with('success', 'ลบรูปภาพสำเร็จ'); + } + + +} \ No newline at end of file diff --git a/Project/Code/app/Http/Controllers/HomeController.php b/Project/Code/app/Http/Controllers/HomeController.php index 3481e534..d34e700c 100644 --- a/Project/Code/app/Http/Controllers/HomeController.php +++ b/Project/Code/app/Http/Controllers/HomeController.php @@ -4,12 +4,14 @@ use Illuminate\Http\Request; use App\Models\Paper; +use App\Models\Banner; use Carbon\Carbon; use Illuminate\Support\Facades\DB; use Bibtex; use RenanBr\BibTexParser\Listener; use RenanBr\BibTexParser\Parser; use RenanBr\BibTexParser\Processor; +use Illuminate\Support\Facades\Storage; class HomeController extends Controller { @@ -17,6 +19,7 @@ class HomeController extends Controller public function index() { //$papers = Paper::all()->orderBy, 'DESC'); + $banners = Banner::all(); $papers = []; $year = range(Carbon::now()->year - 4, Carbon::now()->year); //$papers =Paper::orderBy('paper_yearpub', 'desc')->where('paper_yearpub', '=', 1)->get(); @@ -179,7 +182,7 @@ public function index() //$key="watchara"; //return response()->json($bb); - return view('home', compact('papers'))->with('year', json_encode($year, JSON_NUMERIC_CHECK)) + return view('home', compact('papers','banners'))->with('year', json_encode($year, JSON_NUMERIC_CHECK)) ->with('paper_tci', json_encode($paper_tci, JSON_NUMERIC_CHECK)) ->with('paper_scopus', json_encode($paper_scopus, JSON_NUMERIC_CHECK)) ->with('paper_wos', json_encode($paper_wos, JSON_NUMERIC_CHECK)) diff --git a/Project/Code/app/Http/Controllers/ImageManagementController.php b/Project/Code/app/Http/Controllers/ImageManagementController.php new file mode 100644 index 00000000..73401f6f --- /dev/null +++ b/Project/Code/app/Http/Controllers/ImageManagementController.php @@ -0,0 +1,13 @@ +id(); + $table->string('image_path'); // เก็บ path ของรูป + $table->timestamps(); + }); +} + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('banners'); + } +} diff --git a/Project/Code/public/storage b/Project/Code/public/storage new file mode 120000 index 00000000..5019d502 --- /dev/null +++ b/Project/Code/public/storage @@ -0,0 +1 @@ +/Users/nipatchapakdee/SoftwareEN/Project/Setup_project/git-group-repository-group-2/Project/Code/storage/app/public \ No newline at end of file diff --git a/Project/Code/resources/views/dashboards/admins/layouts/admin-dash-layout.blade.php b/Project/Code/resources/views/dashboards/admins/layouts/admin-dash-layout.blade.php index 44f3cc39..272f722c 100644 --- a/Project/Code/resources/views/dashboards/admins/layouts/admin-dash-layout.blade.php +++ b/Project/Code/resources/views/dashboards/admins/layouts/admin-dash-layout.blade.php @@ -205,6 +205,7 @@ class="dropdown-item-icon mdi mdi-power text-primary me-2">Sign Out @endcan + @can('departments-list')