summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/statistics')
-rw-r--r--modules-available/statistics/baseconfig/getconfig.inc.php3
-rw-r--r--modules-available/statistics/baseconfig/hook.json2
-rw-r--r--modules-available/statistics/inc/statisticshooks.inc.php20
3 files changed, 19 insertions, 6 deletions
diff --git a/modules-available/statistics/baseconfig/getconfig.inc.php b/modules-available/statistics/baseconfig/getconfig.inc.php
index ea351d15..053827db 100644
--- a/modules-available/statistics/baseconfig/getconfig.inc.php
+++ b/modules-available/statistics/baseconfig/getconfig.inc.php
@@ -8,6 +8,9 @@ if (Request::any('force', 0, 'int') === 1 && Request::any('module', false, 'stri
}
}
+if (!$uuid) // Required at this point, bail out if not given
+ return;
+
// Query machine specific settings
$res = Database::simpleQuery("SELECT setting, value FROM setting_machine WHERE machineuuid = :uuid", ['uuid' => $uuid]);
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
diff --git a/modules-available/statistics/baseconfig/hook.json b/modules-available/statistics/baseconfig/hook.json
index da28ad5d..4a406653 100644
--- a/modules-available/statistics/baseconfig/hook.json
+++ b/modules-available/statistics/baseconfig/hook.json
@@ -3,5 +3,5 @@
"field": "machineuuid",
"locationResolver": "StatisticsHooks::baseconfigLocationResolver",
"tostring": "StatisticsHooks::getBaseconfigName",
- "getfallback": "StatisticsHooks::getBaseconfigParent"
+ "getInheritance": "StatisticsHooks::baseconfigInheritance"
} \ No newline at end of file
diff --git a/modules-available/statistics/inc/statisticshooks.inc.php b/modules-available/statistics/inc/statisticshooks.inc.php
index ead4917b..746bdabf 100644
--- a/modules-available/statistics/inc/statisticshooks.inc.php
+++ b/modules-available/statistics/inc/statisticshooks.inc.php
@@ -21,11 +21,6 @@ class StatisticsHooks
return self::$row['hostname'] ? self::$row['hostname'] : self::$row['clientip'];
}
- public static function getBaseconfigParent($machineuuid)
- {
- return false; // TODO
- }
-
public static function baseconfigLocationResolver($machineuuid)
{
self::getRow($machineuuid);
@@ -34,4 +29,19 @@ class StatisticsHooks
return (int)self::$row['locationid'];
}
+ /**
+ * Hook to get inheritance tree for all config vars
+ * @param int $machineuuid MachineUUID currently being edited
+ */
+ public static function baseconfigInheritance($machineuuid)
+ {
+ self::getRow($machineuuid);
+ if (self::$row === false)
+ return [];
+ BaseConfig::prepareWithOverrides([
+ 'locationid' => self::$row['locationid']
+ ]);
+ return ConfigHolder::getRecursiveConfig(true);
+ }
+
} \ No newline at end of file