From c9299b5410a55fa867826e389d16a48479a78504 Mon Sep 17 00:00:00 2001 From: Frankie B Date: Tue, 11 Jun 2024 18:02:01 +0100 Subject: 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 --- app/Models/BookmarkCategory.php | 36 +++++++++++++++++++++++++++++ app/Models/BookmarkSite.php | 35 +++++++++++++++++++++++++++++ app/Models/GuestbookEntry.php | 50 +++++++++++++++++++++++++++++++++++++++++ app/Models/User.php | 45 ------------------------------------- 4 files changed, 121 insertions(+), 45 deletions(-) create mode 100644 app/Models/BookmarkCategory.php create mode 100644 app/Models/BookmarkSite.php create mode 100644 app/Models/GuestbookEntry.php delete mode 100644 app/Models/User.php (limited to 'app/Models') diff --git a/app/Models/BookmarkCategory.php b/app/Models/BookmarkCategory.php new file mode 100644 index 0000000..a8bc8d2 --- /dev/null +++ b/app/Models/BookmarkCategory.php @@ -0,0 +1,36 @@ +hasMany(BookmarkSite::class, 'category'); + } + + public static function insertBookmarkCategory(string $name) { + $newBookmarkCategory = new BookmarkCategory; + $newBookmarkCategory->name = $name; + $newBookmarkCategory->save(); + } + public static function selectBookmarks(int $id) { + $bookmarks = BookmarkSite::where('category', '=', $id)->firstOrFail(); + return $bookmarks; + } + + public static function importBookmarkCategory(array $data) { + foreach ($data as $category) { + $newBookmarkCategory = new BookmarkCategory; + $newBookmarkCategory->name = $category['name']; + $newBookmarkCategory->priority = intval($category['priority']); + $newBookmarkCategory->save(); + } + } +} diff --git a/app/Models/BookmarkSite.php b/app/Models/BookmarkSite.php new file mode 100644 index 0000000..3c9cc5d --- /dev/null +++ b/app/Models/BookmarkSite.php @@ -0,0 +1,35 @@ +belongsTo(BookmarkCategory::class, 'category'); + } + public static function insertBookmark(string $name, string $url, int $category) { + $category = BookmarkCategory::where('id', $category)->firstOrFail(); + $newBookmark = new BookmarkSite; + $newBookmark->name = $name; + $newBookmark->url = $url; + $newBookmark->category = $category->id; + $newBookmark->save(); + } + + public static function importBookmark(array $data) { + foreach ($data as $site) { + $newBookmark = new BookmarkSite; + $newBookmark->name = $site['name']; + $newBookmark->description = $site['description']; + $newBookmark->url = $site['url']; + $newBookmark->category = $site['category_id']; + $newBookmark->save(); + } + } +} 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 @@ +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(); + } + } +} diff --git a/app/Models/User.php b/app/Models/User.php deleted file mode 100644 index 4d7f70f..0000000 --- a/app/Models/User.php +++ /dev/null @@ -1,45 +0,0 @@ - - */ - protected $fillable = [ - 'name', - 'email', - 'password', - ]; - - /** - * The attributes that should be hidden for serialization. - * - * @var array - */ - protected $hidden = [ - 'password', - 'remember_token', - ]; - - /** - * The attributes that should be cast. - * - * @var array - */ - protected $casts = [ - 'email_verified_at' => 'datetime', - 'password' => 'hashed', - ]; -} -- cgit v1.2.3-54-g00ecf