*/ class MetaController extends Controller { /** * Serves the site index. * @return string */ public function index(): string { // Get the newest user $newestUserId = DB::table('users') ->where('rank_main', '!=', config('rank.banned')) ->where('user_activated', 1) ->where('user_restricted', 0) ->orderBy('user_id', 'desc') ->limit(1) ->get(['user_id']); $newestUser = User::construct($newestUserId ? $newestUserId[0]->user_id : 0); // Get all the currently online users $timeRange = time() - 120; // Create a storage variable $onlineUsers = []; // Get all online users $getOnline = DB::table('users') ->where('user_last_online', '>', $timeRange) ->get(['user_id']); $getOnline = array_column($getOnline, 'user_id'); foreach ($getOnline as $user) { $user = User::construct($user); // Do a second check if (!$user->isOnline()) { continue; } $onlineUsers[$user->id] = $user; } //$news = new Category(config('general.news')); Template::vars([ 'news' => [], 'stats' => [ 'userCount' => DB::table('users') ->where('rank_main', '!=', config('rank.banned')) ->where('user_activated', 1) ->where('user_restricted', 0) ->count(), 'newestUser' => $newestUser, 'lastRegDate' => date_diff( date_create(date('Y-m-d', $newestUser->registered)), date_create(date('Y-m-d')) )->format('%a'), 'topicCount' => DB::table('topics')->where('forum_id', '!=', config('forum.trash'))->count(), 'postCount' => DB::table('posts')->where('forum_id', '!=', config('forum.trash'))->count(), 'onlineUsers' => $onlineUsers, ], ]); // Return the compiled page return Template::render('meta/index'); } }