aboutsummaryrefslogtreecommitdiff
path: root/app/Http/Controllers/GuestbookController.php
blob: c7aa88e211a1527a245641bfea14baf9f0dd3fcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;

class GuestbookController extends Controller {
    public function guestbook() {
        return view('pages.guestbook');
    }

    public function guestbookPost(Request $request) {
        $this->validate($request, [
            'name' => 'required',
            'message' => 'required'
        ]);

        $matching_bans = DB::select('SELECT reason FROM guestbook__bans WHERE ip_address = ?', array($request->ip()));

        if (count($matching_bans) > 0 ) {
            return view('errors.guestbook-ipban')->with('reason', $matching_bans[0]->reason);
        }

        DB::insert('INSERT INTO guestbook__entries (name, timestamp, ip_address, agent, message) values (?, ?, ?, ?, ?)', array(
            htmlspecialchars($request->get('name')),
            time(),
            $request->ip(),
            $request->userAgent(),
            htmlspecialchars($request->get('message'))
        ));

        return back()->with('success', 'Entry submitted successfully!');
    }
}