Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions Project/Code/app/Http/Controllers/BannerController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?php

namespace App\Http\Controllers;

use App\Models\Banner;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

class BannerController extends Controller
{
public function index()
{
// ดึงข้อมูลแบนเนอร์ทั้งหมดจากฐานข้อมูล
$banners = Banner::all();
return view('image_management.index', compact('banners'));
}

public function store(Request $request)
{
// การตรวจสอบว่าไฟล์เป็นรูปภาพและขนาดไม่เกินที่กำหนด
$request->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', 'ลบรูปภาพสำเร็จ');
}


}
5 changes: 4 additions & 1 deletion Project/Code/app/Http/Controllers/HomeController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,22 @@

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
{

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();
Expand Down Expand Up @@ -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))
Expand Down
13 changes: 13 additions & 0 deletions Project/Code/app/Http/Controllers/ImageManagementController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ImageManagementController extends Controller
{
public function index()
{
return view('image_management.index'); // ส่งไปที่ Blade Template
}
}
13 changes: 13 additions & 0 deletions Project/Code/app/Models/Banner.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Banner extends Model
{
use HasFactory;

// กำหนดให้สามารถกรอกข้อมูลได้จากฟอร์ม
protected $fillable = ['image_path'];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateBannersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('banners', function (Blueprint $table) {
$table->id();
$table->string('image_path'); // เก็บ path ของรูป
$table->timestamps();
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('banners');
}
}
1 change: 1 addition & 0 deletions Project/Code/public/storage
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ class="dropdown-item-icon mdi mdi-power text-primary me-2"></i>Sign Out</a>
</a>
</li>
@endcan

@can('departments-list')
<li class="nav-item">
<a class="nav-link" href="{{ route('departments.index')}}">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,15 @@ class="dropdown-item-icon mdi mdi-power text-primary me-2"></i>Sign Out</a> -->
</a>
</li>
@endcan
@can('expertises-list')
<li class="nav-item">
<a class="nav-link" href="{{ route('image_management.index')}}">
<i class="menu-icon mdi mdi-satellite"></i>
<span class="menu-title">Manange Image</span>

</a>
</li>
@endcan
</ul>
</nav>

Expand Down
117 changes: 44 additions & 73 deletions Project/Code/resources/views/home.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,16 @@
<div class="container d-sm-flex justify-content-center mt-5">
<div id="carouselExampleIndicators" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button>
<!-- <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2"
aria-label="Slide 3"></button> -->
@foreach ($banners as $index => $banner)
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="{{ $index }}" class="{{ $index == 0 ? 'active' : '' }}" aria-current="{{ $index == 0 ? 'true' : 'false' }}" aria-label="Slide {{ $index + 1 }}"></button>
@endforeach
</div>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="{{asset('img/Banner1.png')}}" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="{{asset('img/Banner2.png')}}" class="d-block w-100" alt="...">
</div>
<!-- <div class="carousel-item">
<img src="..." class="d-block w-100" alt="...">
</div> -->
@foreach ($banners as $index => $banner)
<div class="carousel-item {{ $index == 0 ? 'active' : '' }}">
<img src="{{ asset('storage/' . $banner->image_path) }}" class="d-block w-100" alt="Banner Image">
</div>
@endforeach
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
Expand All @@ -64,11 +59,7 @@
</div>
</div>


<!-- Modal -->



<div class="container card-cart d-sm-flex justify-content-center mt-5">
<div class="col-md-8">
<div class="card">
Expand All @@ -79,102 +70,82 @@
</div>
</div>
</div>

</div>
<br>

<div class="container mt-3">

<div class="row text-center">
<div class="col">
<div class="count" id='all'>

</div>
<div class="count" id='all'></div>
</div>
<div class="col">
<div class="count" id='scopus'>

</div>
<div class="count" id='scopus'></div>
</div>
<div class="col">
<div class="count" id='wos'>

</div>
<div class="count" id='wos'></div>
</div>
<div class="col">
<div class="count" id='tci'>

</div>
<div class="count" id='tci'></div>
</div>
</div>
</div>

<!-- Modal -->
<div class="modal" id="myModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Reference (APA)</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="name">
<!-- <p>Modal body text goes here.</p> -->
</div>
<div class="modal-body" id="name"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<!-- <button type="button" class="btn btn-primary">Save changes</button> -->
</div>
</div>
</div>
</div>




<div class="container mixpaper pb-10 mt-3">
<h3>{{ trans('message.publications') }}</h3>
@foreach($papers as $n => $pe)
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapse{{$n}}" aria-expanded="true" aria-controls="collapseOne">
@if (!$loop->last)
{{$n}}
@else
Before {{$n}}
@endif

</button>
</h2>
<div id="collapse{{$n}}" class="accordion-collapse collapse" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
<div class="accordion-body">
@foreach($pe as $n => $p)
<div class="row mt-2 mb-3 border-bottom">
<div id="number" class="col-sm-1">
<h6>[{{$n+1}}]</h6>
</div>
<div id="paper2" class="col-sm-11">
<p class="hidden">
<b>{{$p['paper_name']}}</b> (
<link>{{$p['author']}}</link>), {{$p['paper_sourcetitle']}}, {{$p['paper_volume']}},
{{$p['paper_yearpub']}}.
<a href="{{$p['paper_url']}} " target="_blank">[url]</a> <a href="https://doi.org/{{$p['paper_doi']}}" target="_blank">[doi]</a>
<!-- <a href="{{ route('bibtex',['id'=>$p['id']])}}">
[อ้างอิง]
</a> -->
<button style="padding: 0;"class="btn btn-link open_modal" value="{{$p['id']}}">[อ้างอิง]</button>
</p>
</div>
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapse{{$n}}" aria-expanded="true" aria-controls="collapseOne">
@if (!$loop->last)
{{$n}}
@else
Before {{$n}}
@endif
</button>
</h2>
<div id="collapse{{$n}}" class="accordion-collapse collapse" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
<div class="accordion-body">
@foreach($pe as $n => $p)
<div class="row mt-2 mb-3 border-bottom">
<div id="number" class="col-sm-1">
<h6>[{{$n+1}}]</h6>
</div>
<div id="paper2" class="col-sm-11">
<p class="hidden">
<b>{{$p['paper_name']}}</b> (<link>{{$p['author']}}</link>), {{$p['paper_sourcetitle']}}, {{$p['paper_volume']}},
{{$p['paper_yearpub']}}.
<a href="{{$p['paper_url']}}" target="_blank">[url]</a> <a href="https://doi.org/{{$p['paper_doi']}}" target="_blank">[doi]</a>
<button style="padding: 0;" class="btn btn-link open_modal" value="{{$p['id']}}">[อ้างอิง]</button>
</p>
</div>
</div>
@endforeach
</div>
@endforeach
</div>
</div>

</div>

</div>
@endforeach
</div>
</div>


<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script>

<script>
Expand Down
Loading