aboutsummaryrefslogtreecommitdiff
path: root/app/Models/GuestbookEntry.php
diff options
context:
space:
mode:
authorFrankie B <git@diskfloppy.me>2024-06-11 18:02:01 +0100
committerGitHub <noreply@github.com>2024-06-11 18:02:01 +0100
commit0f52d80ca67a49258b235f5831163dd72fbd54cf (patch)
tree9c5cd36b6e0a233e09ac88a4409fb68c63e4781a /app/Models/GuestbookEntry.php
parenta64bcc2c4639d5804b6dada23151bfcb8b198121 (diff)
Merge MVC rewrite into master (#21)
* Just commit it all * Require auth * crap * Update homepage * Block AI scrapers * Update cache update script * Add dummy file * Remove unnecessary lastfm config var * Use withQueryParameters for LastFM API * Fix embeds * Update example env * Smard
Diffstat (limited to 'app/Models/GuestbookEntry.php')
-rw-r--r--app/Models/GuestbookEntry.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/app/Models/GuestbookEntry.php b/app/Models/GuestbookEntry.php
new file mode 100644
index 0000000..f5e2de2
--- /dev/null
+++ b/app/Models/GuestbookEntry.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Http\Request;
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class GuestbookEntry extends Model
+{
+ use HasFactory;
+ protected $table = "guestbook__entries";
+ protected $fillable = ['name', 'message'];
+
+ /**
+ * Creates a new guestbook entry.
+ *
+ * @param Request $request The HTTP POST request
+ * @return void
+ */
+ public static function insertGuestbookEntry(Request $request) {
+ $newEntry = new GuestbookEntry;
+ $newEntry->name = htmlspecialchars($request->get('name'));
+ $newEntry->message = htmlspecialchars($request->get('message'));
+ $newEntry->ip = $request->ip();
+ $newEntry->agent = $request->userAgent();
+ $newEntry->admin = auth()->check();
+ $newEntry->save();
+ }
+
+ public static function selectEntries() {
+ $entries = GuestbookEntry::orderBy('created_at', 'desc')->get();
+ return $entries;
+ }
+
+ public static function importGuestbookEntry(array $data) {
+ foreach ($data as $entry) {
+ $dt = new \DateTime('@' . $entry['timestamp']);
+ $newEntry = new GuestbookEntry;
+ $newEntry->name = $entry['name'];
+ $newEntry->ip = $entry['ip_address'];
+ $newEntry->agent = $entry['agent'];
+ $newEntry->admin = $entry['site_owner'];
+ $newEntry->message = $entry['message'];
+ $newEntry->created_at = $dt;
+ $newEntry->updated_at = $dt;
+ $newEntry->save();
+ }
+ }
+}