<?php declare(strict_types=1); namespace Mcp\Api; use \Mcp\OpenSim; class OnlineDisplay extends \Mcp\RequestHandler { public function get(): void { $statement = $this->app->db()->prepare("SELECT UserID,RegionID FROM Presence WHERE RegionID != '00000000-0000-0000-0000-000000000000' ORDER BY RegionID ASC"); $statement->execute(); $tpl = $this->app->template('online-display.php'); if ($statement->rowCount() == 0) { $tpl->unsafeVar('online-users', '<h1 style="text-align: center; margin-top: 60px">Es ist niemand online!</h1>'); } else { $table = '<table style="width:350px;margin-left:auto;margin-right:auto;margin-top:25px"><tr><th align="left" style="background-color: #FF8000;">Name</th><th align="left" style="background-color: #FF8000;">Region</th></tr>'; $entryColor = true; $opensim = new OpenSim($this->app->db()); while ($row = $statement->fetch()) { $table = $table.'<tr style="background-color: '.($entryColor ? '#F2F2F2' : '#E6E6E6').';"><td>'.trim($opensim->getUserName($row['UserID'])).'</td><td>'.$opensim->getRegionName($row['RegionID']).'</td></tr>'; $entryColor = !$entryColor; } $tpl->unsafeVar('online-users', $table.'</table>'); } $tpl->render(); } }