123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
-
- namespace App\Http\Controllers;
-
- use Illuminate\Http\Request;
- use App\Models\RSVP;
- use App\Models\GuestBook;
- use Illuminate\Support\Facades\Response;
-
- class MainController extends Controller
- {
- public function main(Request $request) {
- $rsvp = RSVP::all();
- $guestbooks = GuestBook::orderBy('created_at', 'desc')->take(5)->get();
- $totalPages = $guestbooks->count();
- $allguestbooks = GuestBook::orderBy('created_at', 'desc')->get();
-
- $host = $request->getHost();
- if($host == 'rsvp.aliffayuna.com') {
- return view('rsvp-close');
- } else {
- return view('digital-card', compact(['rsvp', 'guestbooks', 'totalPages', 'host', 'allguestbooks']));
- }
- }
-
- public function saveRsvp(Request $request) {
- $host = $request->getHost();
-
- if ($host == 'rsvp.aliffayuna.com') {
- $vip = true;
- } else {
- $vip = false;
- }
- RSVP::create([
- 'name' => $request->name,
- 'member' => $request->member,
- 'phone' => $request->phone,
- 'is_vip' => $vip
- ]);
-
- session()->flash('success', 'Terima kasih kerana sudi menghadirkan diri!');
-
- return response()->json(['message' => 'Terima kasih kerana sudi menghadirkan diri!']);
- }
-
- public function saveSpeech(Request $request) {
- GuestBook::create([
- 'name' => $request->name,
- 'speech' => $request->speech
- ]);
-
- session()->flash('success', 'Terima kasih atas ucapan anda!');
-
- return response()->json(['message' => 'Terima kasih atas ucapan anda!']);
- }
-
- public function fetchGuestbook(Request $request)
- {
- $page = $request->input('page', 1);
- $guestbook = GuestBook::orderBy('created_at', 'desc')->take(5)->get()->forPage($page, 1);
-
- return response()->json([
- 'guestbook' => view('partials.guestbook', ['entry' => $guestbook->first()])->render(),
- ]);
- }
-
- public function attendance() {
- $vips = RSVP::where('is_vip', true)->get();
- $generals = RSVP::where('is_vip', false)->get();
-
- return view('attendance', compact(['vips', 'generals']));
- }
-
- public function downloadVipCsv()
- {
- $vips = RSVP::where('is_vip', true)->get();
-
- $csvData = "\xEF\xBB\xBF" . "No,Nama,Bilangan,No Tel\n";
- $count = 1;
- foreach ($vips as $vip) {
- $csvData .= "{$count},\t{$vip->name},{$vip->member},\t{$vip->phone}\n";
- $count++;
- }
-
- $fileName = "vip_data.csv";
- $headers = [
- 'Content-Type' => 'text/csv',
- 'Content-Disposition' => "attachment; filename=\"$fileName\"",
- ];
-
- return Response::make($csvData, 200, $headers);
- }
-
- public function downloadGeneralCsv()
- {
- $generals = RSVP::where('is_vip', false)->get();
-
- $csvData = "\xEF\xBB\xBF" . "No,Nama,Bilangan,No Tel\n";
- $count = 1;
- foreach ($generals as $general) {
- $csvData .= "{$count},\t{$general->name},{$general->member},\t{$general->phone}\n";
- $count++;
- }
-
- $fileName = "general_data.csv";
- $headers = [
- 'Content-Type' => 'text/csv',
- 'Content-Disposition' => "attachment; filename=\"$fileName\"",
- ];
-
- return Response::make($csvData, 200, $headers);
- }
- }
|