A lot of things

This commit is contained in:
2026-06-16 16:21:43 +02:00
parent 4f9f6c63b3
commit 7e1e26f20b
126 changed files with 7917 additions and 204 deletions

View File

@@ -30,8 +30,17 @@ Route::get( '/dynamic/hovercard/{user_id}', [ \App\Http\Controllers\DynamicLoadC
->name('dynamic.hovercard')
->middleware('throttle:60,1')
;
Route::get('/dynamic/activity/feed', [ \App\Http\Controllers\DynamicLoadController::class, 'activityFeed' ] )
->name('dynamic.activity.feed')
->middleware('throttle:60,1')
;
Route::middleware('xf.auth')->controller(\App\Http\Controllers\DynamicLoadController::class)->name('dynamic.')->prefix('/dynamic/')->group(function(){
Route::get('/notifications', 'getNotifications' )->name('notifications');
Route::post('/notifications/mark-all-read', 'markAllRead' )->name('markallread');
Route::get('/conversations', 'getConversations' )->name('conversations');
});
// EntryFeaturedRequestController
Route::middleware('xf.auth')->name('featured.')->controller(\App\Http\Controllers\EntryFeaturedRequestController::class)->group(function(){
Route::post('/entry/{entry:id}/featured', 'featuredRequest' )->name('request')->where(['entry' => '[0-9]+']);
});

View File

@@ -15,7 +15,15 @@ Breadcrumbs::for('entries.show', function ( Generator $trail, string $section, \
$trail->parent('entries.index');
$trail->push($entry->title, route('entries.show', [ $section, $entry ] ) );
});
Breadcrumbs::for('entries.drafts', function ( Generator $trail ) {
$trail->parent('home');
$trail->push('Drafts', route('entries.drafts'));
});
Breadcrumbs::for('submit.index', function ( Generator $trail ) {
$trail->parent('home');
$trail->push('Submit', route('submit.index'));
});
Breadcrumbs::for('submit.create', function ( Generator $trail, string $section ) {
$trail->parent('home');
$trail->push('Submit', route('submit.create', [ $section ] ) );
@@ -24,3 +32,25 @@ Breadcrumbs::for('submit.edit', function ( Generator $trail, string $section, \A
$trail->parent('entries.show', $section, $entry);
$trail->push('Edit', route('submit.edit', [ $section, $entry ] ) );
});
Breadcrumbs::for('news.index', function ( Generator $trail ) {
$trail->parent('home');
$trail->push('News', route('news.index'));
});
Breadcrumbs::for('news.show', function ( Generator $trail, \App\Models\News $news ) {
$trail->parent('news.index');
$trail->push($news->title, route('news.show', [ $news ] ) );
});
Breadcrumbs::for('news.create', function ( Generator $trail ) {
$trail->parent('home');
$trail->push('Submit', route('news.create') );
});
Breadcrumbs::for('news.edit', function ( Generator $trail, \App\Models\News $news ) {
$trail->parent('news.show', $news);
$trail->push('Edit', route('news.edit', [ $news ] ) );
});
Breadcrumbs::for('queue.index', function ( Generator $trail ) {
$trail->parent('home');
$trail->push('Submissions Queue', route('queue.index') );
});

View File

@@ -8,3 +8,4 @@ Artisan::command('inspire', function () {
})->purpose('Display an inspiring quote');
Schedule::command('entries:purge-rejected')->daily();
Schedule::command('entries:purge-featured')->daily();

View File

@@ -29,9 +29,9 @@ Route::name('entries.')->controller(EntryController::class)->group(function () {
// SubmissionController.
Route::name('submit.')->prefix('/submit')->controller(\App\Http\Controllers\SubmissionController::class)->middleware(['xf.auth', 'can:create,\App\Models\Entry'])->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/{section}', 'create' )->name('create')
->where([ 'section' => 'translations|romhacks|homebrew|utilities|documents|lua-scripts' ]);
Route::post('/{section}', 'store' )->name('store')
->where([ 'section' => 'translations|romhacks|homebrew|utilities|documents|lua-scripts' ]);
});
@@ -44,6 +44,19 @@ Route::name('submit.')->prefix('/edit')->controller(\App\Http\Controllers\Submis
->where([ 'section' => 'translations|romhacks|homebrew|utilities|documents|lua-scripts', 'entry' => '[0-9\-]+' ]);
});
// NewsController
Route::name('news.')->controller(\App\Http\Controllers\NewsController::class)->group(function () {
Route::get('/news/', 'index' )->name('index');
Route::get('/news/{news:slug}', 'show' )->name('show')->where([ 'news' => '[a-zA-Z0-9\-_]+']);
Route::get('/submit/news', 'create' )->name('create')->middleware(['xf.auth','can:create,\App\Models\News']);
Route::post('/submit/news', 'store' )->name('store')->middleware(['xf.auth','can:create,\App\Models\News']);
Route::get('/edit/news/{news:id}', 'edit')->name('edit')->where(['news' => '[0-9\-]+'])->middleware(['xf.auth','can:update,news']);
Route::post('/edit/news/{news:id}', 'update')->name('update')->where(['news' => '[0-9\-]+'])->middleware(['xf.auth','can:update,news']);
Route::delete('/edit/news/{news:id}', 'destroy')->name('destroy')->where(['news' => '[0-9\-]+'])->middleware(['xf.auth','can:update,news']);
});
// QueueController
Route::name('queue.')->prefix('/queue')->controller(\App\Http\Controllers\QueueController::class)->group(function () {
Route::get('/', 'index' )->name('index');
@@ -62,6 +75,21 @@ Route::name('queue.')->prefix('/queue')->controller(\App\Http\Controllers\QueueC
->middleware(['xf.auth', 'can:reject,entry' ] )
->where([ 'entry' => '[0-9\-]+' ])
->name('reject');
Route::patch('/news/{news:id}/comment', 'updateComment_news' )
->middleware(['xf.auth', 'can:updateComment,news' ] )
->where([ 'news' => '[0-9\-]+' ])
->name('news.comment');
Route::patch('/news/{news:id}/approve', 'approve_news' )
->middleware(['xf.auth', 'can:approve,news' ] )
->where([ 'news' => '[0-9\-]+' ])
->name('news.approve');
Route::patch('/news/{news:id}/reject', 'reject_news' )
->middleware(['xf.auth', 'can:reject,news' ] )
->where([ 'news' => '[0-9\-]+' ])
->name('news.reject');
});
// ToolsController
@@ -69,6 +97,8 @@ Route::name('tools.')->controller(\App\Http\Controllers\ToolsController::class)-
Route::get('/patch', 'patcher' )->name('patcher');
Route::get( '/patch/{entry_id}/{file:file_uuid}', 'directPatch' )->name('direct-patch')
->where(['entry_id' => '[0-9]+']);
Route::get('/play/{entry_id}/{file:file_uuid}', 'play' )->name('play')->middleware('xf.auth')
->where(['entry_id' => '[0-9]+']);
});
// ModeratorCPController
@@ -79,6 +109,7 @@ Route::name('modcp.')->prefix('/modcp')->controller(\App\Http\Controllers\ModCPC
Route::get('/draft-entries', 'draft' )->name('draft')->middleware('can:is-admin');
Route::get('/hidden-entries', 'hidden' )->name('hidden')->middleware('can:is-admin');
Route::get('/deleted-entries', 'deleted' )->name('deleted')->middleware('can:is-admin');
Route::get('/logs', 'logs' )->name('logs')->middleware('can:is-admin');
Route::patch('/restore/{entry}', 'restore' )->name('restore')->where(['entry' => '[0-9\-]+'])->withTrashed()->middleware('can:is-admin');
Route::delete('/purge/{entry}', 'destroy' )->name('destroy')->where(['entry' => '[0-9\-]+'])->withTrashed()->middleware('can:is-admin');
@@ -93,4 +124,5 @@ Route::name('modcp.')->prefix('/modcp')->controller(\App\Http\Controllers\ModCPC
// RedirectController
Route::name('redirect.')->controller(\App\Http\Controllers\RedirectController::class)->group(function () {
Route::get('/entry/report_redirect', 'entryReportRedirect' )->name('entry_report');
Route::get('/news/report_redirect', 'newsReportRedirect' )->name('news_report');
});