54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\BookmarkSite;
|
|
use App\Models\BookmarkCategory;
|
|
use App\Models\GuestbookEntry;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\View\View;
|
|
|
|
class BookmarksController extends Controller
|
|
{
|
|
public function show() : View {
|
|
$categories = BookmarkCategory::with('sites')->get();
|
|
return view('bookmarks', compact('categories'));
|
|
}
|
|
|
|
public function createBookmark() {
|
|
$categories = BookmarkCategory::all();
|
|
return view('admin.create-bookmark', [
|
|
'categories' => $categories
|
|
]);
|
|
}
|
|
|
|
public function addBookmark(Request $request): RedirectResponse {
|
|
$newEntry = BookmarkSite::create($request);
|
|
return redirect()->route('bookmarks');
|
|
}
|
|
|
|
public function destroyBookmark($id): RedirectResponse {
|
|
$site = BookmarkSite::findOrFail($id);
|
|
$site->delete();
|
|
return redirect()->route('bookmarks');
|
|
}
|
|
|
|
|
|
public function createCategory() {
|
|
return view('admin.create-category');
|
|
}
|
|
|
|
public function addCategory(Request $request): RedirectResponse {
|
|
$newEntry = BookmarkCategory::create($request);
|
|
return redirect()->route('bookmarks');
|
|
}
|
|
|
|
public function destroyCategory($id): RedirectResponse {
|
|
if (BookmarkSite::where('category', $id)->count() <= 0) {
|
|
$category = BookmarkCategory::findOrFail($id);
|
|
$category->delete();
|
|
}
|
|
return redirect()->route('bookmarks');
|
|
}
|
|
}
|