38 lines
1.1 KiB
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;
|
|
}
|
|
}
|