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') @endcan + @can('expertises-list') + + @endcan diff --git a/Project/Code/resources/views/home.blade.php b/Project/Code/resources/views/home.blade.php index d48603b2..935ddf4d 100644 --- a/Project/Code/resources/views/home.blade.php +++ b/Project/Code/resources/views/home.blade.php @@ -37,21 +37,16 @@
- - - -
@@ -79,36 +70,27 @@
-
-
-
- -
+
-
- -
+
-
- -
+
-
- -
+
+ - - -

{{ trans('message.publications') }}

@foreach($papers as $n => $pe) -
-
-

- -

-
-
- @foreach($pe as $n => $p) -
-
-
[{{$n+1}}]
-
-
- -
+
+
+

+ +

+
+
+ @foreach($pe as $n => $p) +
+
+
[{{$n+1}}]
+
+
+ +
+
+ @endforeach
- @endforeach
-
- -
@endforeach
+ + + + + + +@stop \ No newline at end of file diff --git a/Project/Code/routes/web.php b/Project/Code/routes/web.php index 451d9e82..ea4af0b4 100644 --- a/Project/Code/routes/web.php +++ b/Project/Code/routes/web.php @@ -4,6 +4,7 @@ use App\Http\Controllers\HomeController; +use App\Http\Controllers\BannerController; use App\Http\Controllers\RoleController; use App\Http\Controllers\UserController; use App\Http\Controllers\PermissionController; @@ -38,6 +39,8 @@ use App\Http\Controllers\ProfileController; use App\Http\Controllers\ProgramController; use App\Http\Controllers\TcicallController; +use App\Http\Controllers\ImageManagementController; + /* |-------------------------------------------------------------------------- | Web Routes @@ -112,6 +115,7 @@ Route::group(['middleware' => ['auth', 'PreventBackHistory']], function () { //Route::get('profile',[UserController::class,'profile'])->name('profile2'); + Route::resource('banners', BannerController::class); Route::post('update-profile-info', [ProfileuserController::class, 'updateInfo'])->name('adminUpdateInfo'); Route::post('update-edu-info', [EducationController::class, 'updateEdInfo'])->name('updateEdInfo'); Route::post('change-profile-picture', [UserController::class, 'updatePicture'])->name('adminPictureUpdate'); @@ -122,6 +126,7 @@ Route::resource('funds', FundController::class); Route::resource('experts', ExpertiseController::class); Route::get('experts/{id}/edit/', [ExpertiseController::class, 'edit']); + Route::get('image_management', [ImageManagementController::class, 'index'])->name('image_management.index'); Route::resource('sources', SourceController::class); Route::get('sources/{id}/edit/', [SourceController::class, 'edit']); Route::resource('researchProjects', ResearchProjectController::class); diff --git a/Project/Code/vendor/composer/autoload_classmap.php b/Project/Code/vendor/composer/autoload_classmap.php index 00c6f04c..4b1b6a99 100644 --- a/Project/Code/vendor/composer/autoload_classmap.php +++ b/Project/Code/vendor/composer/autoload_classmap.php @@ -31,6 +31,7 @@ 'App\\Http\\Controllers\\FileUpload' => $baseDir . '/app/Http/Controllers/FileUpload.php', 'App\\Http\\Controllers\\FundController' => $baseDir . '/app/Http/Controllers/FundController.php', 'App\\Http\\Controllers\\HomeController' => $baseDir . '/app/Http/Controllers/HomeController.php', + 'App\\Http\\Controllers\\ImageManagementController' => $baseDir . '/app/Http/Controllers/ImageManagementController.php', 'App\\Http\\Controllers\\ImportExportController' => $baseDir . '/app/Http/Controllers/ImportExportController.php', 'App\\Http\\Controllers\\LocalizationController' => $baseDir . '/app/Http/Controllers/LocalizationController.php', 'App\\Http\\Controllers\\PDFController' => $baseDir . '/app/Http/Controllers/PDFController.php', diff --git a/Project/Code/vendor/composer/autoload_static.php b/Project/Code/vendor/composer/autoload_static.php index e288ded5..64822f61 100644 --- a/Project/Code/vendor/composer/autoload_static.php +++ b/Project/Code/vendor/composer/autoload_static.php @@ -660,6 +660,7 @@ class ComposerStaticInitdf12afa23ac71fe1005569e1ca54098b 'App\\Http\\Controllers\\FileUpload' => __DIR__ . '/../..' . '/app/Http/Controllers/FileUpload.php', 'App\\Http\\Controllers\\FundController' => __DIR__ . '/../..' . '/app/Http/Controllers/FundController.php', 'App\\Http\\Controllers\\HomeController' => __DIR__ . '/../..' . '/app/Http/Controllers/HomeController.php', + 'App\\Http\\Controllers\\ImageManagementController' => __DIR__ . '/../..' . '/app/Http/Controllers/ImageManagementController.php', 'App\\Http\\Controllers\\ImportExportController' => __DIR__ . '/../..' . '/app/Http/Controllers/ImportExportController.php', 'App\\Http\\Controllers\\LocalizationController' => __DIR__ . '/../..' . '/app/Http/Controllers/LocalizationController.php', 'App\\Http\\Controllers\\PDFController' => __DIR__ . '/../..' . '/app/Http/Controllers/PDFController.php',