A lot of things
- Added Database page. - Added Xenforo API compatibility - Added Hovercard - Added Notifications
This commit is contained in:
58
app/Http/Controllers/DynamicLoadController.php
Normal file
58
app/Http/Controllers/DynamicLoadController.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Helpers\XenForoHelpers;
|
||||
use App\Services\XenforoApiService;
|
||||
use App\Services\XenforoService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class DynamicLoadController extends Controller
|
||||
{
|
||||
public function hovercard( Request $request, int $user_id ){
|
||||
|
||||
$data = Cache::remember("xf_hovercard_{$user_id}", 300, function() use($user_id){
|
||||
|
||||
$service = app(XenforoService::class);
|
||||
$user = $service->getXfUser( $user_id );
|
||||
|
||||
if( !$user ){
|
||||
return response()->json(['error' => 'User not found'], 404);
|
||||
}
|
||||
|
||||
return [
|
||||
'username' => $user->username,
|
||||
'avatar_url' => $user->getAvatarUrl(),
|
||||
'avatar_color' => XenForoHelpers::getAvatarColor( $user ),
|
||||
'avatar_letter' => XenForoHelpers::getAvatarLetter( $user ),
|
||||
'group_name' => $service->getXfUserGroup( $user?->user_group_id ?? 0 )?->title ?? 'Guest',
|
||||
'joined' => \DateTimeImmutable::createFromTimestamp( $user->register_date ?? 0 )->format('Y-m-d'),
|
||||
'last_seen' => \DateTimeImmutable::createFromTimestamp( $user->last_activity ?? 0 )->format('Y-m-d'),
|
||||
'message_count' => $user->message_count,
|
||||
'reaction_score' => $user->reaction_score,
|
||||
'trophy_points' => $user->trophy_points,
|
||||
'entries_count' => $user->rhpz_entry_count,
|
||||
];
|
||||
|
||||
});
|
||||
|
||||
|
||||
return response()->json( ['user' => $data] );
|
||||
}
|
||||
|
||||
public function getNotifications( Request $request ){
|
||||
|
||||
$service = app(XenforoApiService::class);
|
||||
$data = $service->getUserAlerts(\Auth::user()->user_id);
|
||||
|
||||
return response()->json( $data );
|
||||
}
|
||||
|
||||
public function markAllRead( Request $request ){
|
||||
$service = app(XenforoApiService::class);
|
||||
$service->markAllNotificationsRead(\Auth::user()->user_id);
|
||||
|
||||
return response()->json( ['success' => true] );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user