34 lines
1.3 KiB
PHP
34 lines
1.3 KiB
PHP
<?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();
|
|
}
|
|
}
|