mince/src/Servers.php

38 lines
1.1 KiB
PHP

<?php
namespace Mince;
use Index\Data\DbStatementCache;
use Index\Data\IDbConnection;
class Servers {
//private IDbConnection $dbConn;
private DbStatementCache $cache;
public function __construct(IDbConnection $dbConn) {
//$this->dbConn = $dbConn;
$this->cache = new DbStatementCache($dbConn);
}
public function getServers(
?bool $deleted = null
): array {
$hasDeleted = $deleted !== null;
$query = 'SELECT server_id, server_name, server_details, server_java_address, server_java_version, server_bedrock_address, server_bedrock_version, UNIX_TIMESTAMP(server_created), UNIX_TIMESTAMP(server_deleted) FROM servers';
if($hasDeleted)
$query .= sprintf(' WHERE server_deleted %s NULL', $deleted ? 'IS NOT ' : 'IS');
$query .= ' ORDER BY server_order';
$stmt = $this->cache->get($query);
$stmt->execute();
$result = $stmt->getResult();
$servers = [];
while($result->next())
$servers[] = new ServerInfo($result);
return $servers;
}
}