current state

This commit is contained in:
2026-02-08 10:42:01 +01:00
parent 0a4372c40d
commit e055af9248
70 changed files with 4882 additions and 330 deletions

View File

@@ -13,6 +13,7 @@ use App\Http\Controllers\Legacy\DailyUploadsController;
use App\Http\Controllers\Legacy\ChatController;
use App\Http\Controllers\Legacy\ProfileController as LegacyProfileController;
use App\Http\Controllers\Legacy\TopFavouritesController;
use App\Http\Controllers\Legacy\FavouritesController;
use App\Http\Controllers\Legacy\TopAuthorsController;
use App\Http\Controllers\Legacy\TodayInHistoryController;
use App\Http\Controllers\Legacy\TodayDownloadsController;
@@ -21,7 +22,12 @@ use App\Http\Controllers\Legacy\MembersController;
use App\Http\Controllers\Legacy\LatestController;
use App\Http\Controllers\Legacy\LatestCommentsController;
use App\Http\Controllers\Legacy\InterviewController;
use App\Http\Controllers\Legacy\StatisticsController;
use App\Http\Controllers\BrowseCategoriesController;
use App\Http\Controllers\GalleryController;
use App\Http\Controllers\Legacy\ReceivedCommentsController;
use App\Http\Controllers\Legacy\UserController as LegacyUserController;
use App\Http\Controllers\Legacy\PhotographyController;
// Legacy site routes
Route::get('/', [HomeController::class, 'index'])->name('legacy.home');
@@ -42,6 +48,7 @@ Route::get('/category/{group}/{slug?}/{id?}', [CategoryController::class, 'show'
// Short legacy routes for top-level category URLs like /Photography/3
// Short legacy routes for top-level category URLs (mapped to CategoryController@show)
/*
Route::get('/Photography/{id}', [CategoryController::class, 'show'])
->defaults('group', 'Photography')
->where('id', '\\d+');
@@ -57,7 +64,7 @@ Route::get('/Skins/{id}', [CategoryController::class, 'show'])
Route::get('/Other/{id}', [CategoryController::class, 'show'])
->defaults('group', 'Other')
->where('id', '\\d+');
*/
Route::get('/browse', [BrowseController::class, 'index'])->name('legacy.browse');
Route::get('/featured', [FeaturedArtworksController::class, 'index'])->name('legacy.featured');
Route::get('/featured-artworks', [FeaturedArtworksController::class, 'index'])->name('legacy.featured_artworks');
@@ -66,10 +73,39 @@ Route::get('/chat', [ChatController::class, 'index'])->name('legacy.chat');
Route::get('/browse-categories', [BrowseCategoriesController::class, 'index'])->name('browse.categories');
// Support profile URLs with numeric id and optional slug: /profile/1/gregor
Route::get('/profile/{id}/{username?}', [LegacyProfileController::class, 'show'])
->where('id', '\\d+')
->name('legacy.profile.id');
// Backward-compatible route for /profile/{username}
Route::get('/profile/{username?}', [LegacyProfileController::class, 'show'])->name('legacy.profile');
Route::get('/top-favourites', [TopFavouritesController::class, 'index'])->name('legacy.top_favourites');
Route::get('/top-authors', [TopAuthorsController::class, 'index'])->name('legacy.top_authors');
// My buddies / who I follow (legacy)
Route::middleware('auth')->get('/mybuddies.php', [\App\Http\Controllers\Legacy\MyBuddiesController::class, 'index'])->name('legacy.mybuddies.php');
Route::middleware('auth')->get('/mybuddies', [\App\Http\Controllers\Legacy\MyBuddiesController::class, 'index'])->name('legacy.mybuddies');
Route::middleware('auth')->delete('/mybuddies/{id}', [\App\Http\Controllers\Legacy\MyBuddiesController::class, 'destroy'])->name('legacy.mybuddies.delete');
// Who follows me (legacy)
Route::middleware('auth')->get('/buddies.php', [\App\Http\Controllers\Legacy\BuddiesController::class, 'index'])->name('legacy.buddies.php');
Route::middleware('auth')->get('/buddies', [\App\Http\Controllers\Legacy\BuddiesController::class, 'index'])->name('legacy.buddies');
// User favourites (port of oldSite /favourites.php)
Route::get('/favourites/{id?}/{username?}', [FavouritesController::class, 'index'])->name('legacy.favourites');
Route::post('/favourites/{userId}/delete/{artworkId}', [FavouritesController::class, 'destroy'])->name('legacy.favourites.delete');
// User gallery (port of oldSite gallery link)
Route::get('/gallery/{id}/{username?}', [GalleryController::class, 'show'])->name('legacy.gallery');
// Received comments (requires authentication)
Route::middleware('auth')->get('/recieved-comments', [ReceivedCommentsController::class, 'index'])->name('legacy.received_comments');
// User account settings (legacy /user)
Route::middleware('auth')->match(['get','post'], '/user', [LegacyUserController::class, 'index'])->name('legacy.user');
// Content-type landing pages (legacy look)
Route::get('/photography', [PhotographyController::class, 'index'])->name('legacy.photography');
Route::get('/today-in-history', [TodayInHistoryController::class, 'index'])->name('legacy.today_in_history');
Route::get('/today-downloads', [TodayDownloadsController::class, 'index'])->name('legacy.today_downloads');
@@ -79,3 +115,7 @@ Route::get('/members', [MembersController::class, 'index'])->name('legacy.member
Route::get('/latest', [LatestController::class, 'index'])->name('legacy.latest');
Route::get('/latest-comments', [LatestCommentsController::class, 'index'])->name('legacy.latest_comments');
Route::get('/interviews', [InterviewController::class, 'index'])->name('legacy.interviews');
Route::middleware(['auth'])->group(function () {
Route::get('/statistics', [StatisticsController::class, 'index'])->name('legacy.statistics');
});

View File

@@ -2,6 +2,7 @@
use App\Http\Controllers\ProfileController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Dashboard\ArtworkController as DashboardArtworkController;
// Legacy routes are defined in routes/legacy.php and provide the site's
// legacy pages (art, forum, news, profile, etc.). We keep the auth routes
@@ -12,6 +13,13 @@ Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');
Route::middleware(['auth'])->prefix('dashboard')->name('dashboard.')->group(function () {
Route::get('/artworks', [DashboardArtworkController::class, 'index'])->name('artworks.index');
Route::get('/artworks/{id}/edit', [DashboardArtworkController::class, 'edit'])->whereNumber('id')->name('artworks.edit');
Route::put('/artworks/{id}', [DashboardArtworkController::class, 'update'])->whereNumber('id')->name('artworks.update');
Route::delete('/artworks/{id}', [DashboardArtworkController::class, 'destroy'])->whereNumber('id')->name('artworks.destroy');
});
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
@@ -22,6 +30,8 @@ Route::middleware('auth')->group(function () {
require __DIR__.'/auth.php';
Route::view('/blank', 'blank')->name('blank');
// Artwork public show (slug-based). This must come before the category route so the artwork
// slug (last segment) is matched correctly while allowing multi-segment category paths.
Route::get('/{contentTypeSlug}/{categoryPath}/{artwork}', [\App\Http\Controllers\ArtworkController::class, 'show'])