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();
 | |
|     }
 | |
| }
 |