blob: 6b9dfa217a9ac38435951a8098594afc1ca809b0 (
plain) (
tree)
|
|
<?php
class StatisticsHooks
{
private static $row = false;
private static function getRow(string $machineuuid)
{
if (self::$row !== false)
return;
self::$row = Database::queryFirst('SELECT hostname, clientip, locationid FROM machine WHERE machineuuid = :machineuuid',
['machineuuid' => $machineuuid]);
}
/**
* Hook for baseconfig.
* @return false|string Client name, or false if invalid
*/
public static function getBaseconfigName(string $machineuuid)
{
self::getRow($machineuuid);
if (self::$row === false)
return false;
return self::$row['hostname'] ?: self::$row['clientip'];
}
/**
* Hook for baseconfig.
*/
public static function baseconfigLocationResolver(string $machineuuid): int
{
self::getRow($machineuuid);
if (self::$row === false)
return 0;
return (int)self::$row['locationid'];
}
/**
* Hook to get inheritance tree for all config vars.
*
* @param string $machineuuid MachineUUID currently being edited
*/
public static function baseconfigInheritance(string $machineuuid): array
{
self::getRow($machineuuid);
if (self::$row === false)
return [];
BaseConfig::prepareWithOverrides([
'locationid' => self::$row['locationid'] ?? 0
]);
return ConfigHolder::getRecursiveConfig(true);
}
}
|