summaryrefslogtreecommitdiffstats
path: root/modules-available/baseconfig/inc
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/baseconfig/inc')
-rw-r--r--modules-available/baseconfig/inc/baseconfig.inc.php27
-rw-r--r--modules-available/baseconfig/inc/baseconfigutil.inc.php14
-rw-r--r--modules-available/baseconfig/inc/configholder.inc.php19
-rw-r--r--modules-available/baseconfig/inc/validator.inc.php18
4 files changed, 39 insertions, 39 deletions
diff --git a/modules-available/baseconfig/inc/baseconfig.inc.php b/modules-available/baseconfig/inc/baseconfig.inc.php
index 064e0f89..36622dce 100644
--- a/modules-available/baseconfig/inc/baseconfig.inc.php
+++ b/modules-available/baseconfig/inc/baseconfig.inc.php
@@ -17,13 +17,15 @@ class BaseConfig
*/
public static function prepareFromRequest()
{
- $ip = $_SERVER['REMOTE_ADDR'];
+ $ip = $_SERVER['REMOTE_ADDR'] ?? null;
+ if ($ip === null)
+ ErrorHandler::traceError('No REMOTE_ADDR given in $_SERVER');
if (substr($ip, 0, 7) === '::ffff:') {
$ip = substr($ip, 7);
}
- $uuid = Request::any('uuid', false, 'string');
- if ($uuid !== false && strlen($uuid) !== 36) {
- $uuid = false;
+ $uuid = Request::any('uuid', null, 'string');
+ if ($uuid !== null && strlen($uuid) !== 36) {
+ $uuid = null;
}
// Handle any hooks by other modules first
// other modules should generally only populate $configVars
@@ -42,10 +44,10 @@ class BaseConfig
* 'locationid'
* @param array $overrides key value pairs of overrides
*/
- public static function prepareWithOverrides($overrides)
+ public static function prepareWithOverrides(array $overrides): void
{
self::$overrides = $overrides;
- $ip = $uuid = false;
+ $ip = $uuid = null;
if (self::hasOverride('ip')) {
$ip = self::getOverride('ip');
}
@@ -78,12 +80,12 @@ class BaseConfig
// Dump global config from DB
ConfigHolder::setContext('<global>', function($id) {
return [
- 'name' => Dictionary::translate('source-global', true),
+ 'name' => Dictionary::translate('source-global'),
'locationid' => 0,
];
});
$res = Database::simpleQuery('SELECT setting, value, displayvalue FROM setting_global');
- while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
+ foreach ($res as $row) {
if (!isset($defaults[$row['setting']]))
continue; // Setting is not defined in any <module>/baseconfig/settings.json
ConfigHolder::add($row['setting'], $row, -1);
@@ -98,7 +100,7 @@ class BaseConfig
{
ConfigHolder::setContext('<default>', function($id) {
return [
- 'name' => Dictionary::translate('source-default', true),
+ 'name' => Dictionary::translate('source-default'),
'locationid' => 0,
];
});
@@ -107,8 +109,9 @@ class BaseConfig
}
}
- private static function handleModule($name, $ip, $uuid, $needJsonHook) // Pass ip and uuid instead of global to make them read only
+ private static function handleModule(string $name, ?string $ip, ?string $uuid, bool $needJsonHook): void
{
+ // Pass ip and uuid instead of global to make them read only
if (isset(self::$modulesDone[$name]))
return;
self::$modulesDone[$name] = true;
@@ -130,12 +133,12 @@ class BaseConfig
self::handleModule($dep, $ip, $uuid, $needJsonHook);
}
ConfigHolder::setContext($name);
- (function ($file, $ip, $uuid) {
+ (function (string $file, ?string $ip, ?string $uuid) {
include_once($file);
})($file, $ip, $uuid);
}
- public static function hasOverride($key)
+ public static function hasOverride($key): bool
{
return array_key_exists($key, self::$overrides);
}
diff --git a/modules-available/baseconfig/inc/baseconfigutil.inc.php b/modules-available/baseconfig/inc/baseconfigutil.inc.php
index a48eb93b..4d1ef8c1 100644
--- a/modules-available/baseconfig/inc/baseconfigutil.inc.php
+++ b/modules-available/baseconfig/inc/baseconfigutil.inc.php
@@ -16,7 +16,7 @@ class BaseConfigUtil
* @param \Module $module optional, only consider given module, not all enabled modules
* @return array all known config variables
*/
- public static function getVariables($module = false)
+ public static function getVariables($module = false): array
{
$settings = array();
if ($module === false) {
@@ -39,16 +39,13 @@ class BaseConfigUtil
/**
* Get configuration categories for given module, or all modules if false is passed.
- *
- * @param \Module $module
- * @return array
*/
- public static function getCategories($module = false)
+ public static function getCategories(Module $module = null): array
{
$categories = array();
- if ($module === false) {
+ if ($module === null) {
$module = '*';
- } elseif (is_object($module)) {
+ } else {
$module = $module->getIdentifier();
}
foreach (glob("modules/{$module}/baseconfig/categories.json", GLOB_NOSORT) as $file) {
@@ -70,7 +67,8 @@ class BaseConfigUtil
* @param array $vars list of vars as obtained from BaseConfigUtil::getVariables()
* @param array $values key-value-pairs of variable assignments to work with
*/
- public static function markShadowedVars(&$vars, $values) {
+ public static function markShadowedVars(array &$vars, array $values): void
+ {
foreach ($vars as $key => &$var) {
if (!isset($var['shadows']))
continue;
diff --git a/modules-available/baseconfig/inc/configholder.inc.php b/modules-available/baseconfig/inc/configholder.inc.php
index 224f2aab..75b43460 100644
--- a/modules-available/baseconfig/inc/configholder.inc.php
+++ b/modules-available/baseconfig/inc/configholder.inc.php
@@ -19,7 +19,7 @@ class ConfigHolder
* @param false|string|array $value false to unset, string value, or array with keys value and displayvalue
* @param int $prio priority of this value, in case the same key gets set multiple times
*/
- public static function add($key, $value, $prio = 0)
+ public static function add(string $key, $value, int $prio = 0): void
{
if (!isset(self::$config[$key])) {
self::$config[$key] = [];
@@ -43,22 +43,19 @@ class ConfigHolder
}
}
- public static function get($key)
+ public static function get(string $key): ?string
{
if (!isset(self::$config[$key]))
- return false;
+ return null;
return self::$config[$key][0]['value'];
}
- /**
- * @param callable $func
- */
- public static function addPostHook($func)
+ public static function addPostHook(callable $func): void
{
self::$postHooks[] = array('context' => &self::$context, 'function' => $func);
}
- public static function applyPostHooks()
+ public static function applyPostHooks(): void
{
foreach (self::$postHooks as $hook) {
$newContext = $hook['context'];
@@ -69,7 +66,7 @@ class ConfigHolder
self::$postHooks = [];
}
- public static function getRecursiveConfig($prettyPrint = true)
+ public static function getRecursiveConfig(bool $prettyPrint = true): array
{
$ret = [];
foreach (self::$config as $key => $list) {
@@ -97,7 +94,7 @@ class ConfigHolder
return $ret;
}
- public static function outputConfig()
+ public static function outputConfig(): void
{
foreach (self::$config as $key => $list) {
echo str_pad('# ' . $key . ' ', 35, '#', STR_PAD_BOTH), "\n";
@@ -129,7 +126,7 @@ class ConfigHolder
* @param string $string input
* @return string escaped sh string
*/
- private static function escape($string)
+ private static function escape(string $string): string
{
return str_replace(["'", "\n", "\r"], ["'\"'\"'", ' ', ' '], $string);
}
diff --git a/modules-available/baseconfig/inc/validator.inc.php b/modules-available/baseconfig/inc/validator.inc.php
index 60cda5a4..be71c3df 100644
--- a/modules-available/baseconfig/inc/validator.inc.php
+++ b/modules-available/baseconfig/inc/validator.inc.php
@@ -32,11 +32,12 @@ class Validator
case 'multilist':
return self::validateMultiList($data[1], $displayValue);
case 'multiinput':
- return self::validateMultiInput($data[1], $displayValue);
+ return self::validateMultiInput($data[1] ?? [], $displayValue);
+ case 'suggestions':
+ return true;
default:
- Util::traceError('Unknown validation method: ' . $data[0]);
+ ErrorHandler::traceError('Unknown validation method: ' . $data[0]);
}
- return false; // make code inspector happy - doesn't know traceError doesn't return
}
@@ -44,7 +45,7 @@ class Validator
* Validate linux password. If already in $6$ hash form,
* the unchanged value will be returned.
* if empty, an empty string will also be returned.
- * Otherwise it it assumed that the value is a plain text
+ * Otherwise, it is assumed that the value is a plain text
* password that is supposed to be hashed.
*/
private static function linuxPassword($displayValue)
@@ -62,7 +63,7 @@ class Validator
* @param string $displayValue network path
* @return string cleaned up path
*/
- private static function networkShare(&$displayValue)
+ private static function networkShare(string &$displayValue): string
{
$displayValue = trim($displayValue);
if (substr($displayValue, 0, 2) === '\\\\')
@@ -75,18 +76,19 @@ class Validator
/**
* Validate value against list.
+ *
* @param string $list The list as a string of items, separated by "|"
* @param string $displayValue The value to validate
* @return boolean|string The value, if in list, false otherwise
*/
- private static function validateList($list, &$displayValue)
+ private static function validateList(string $list, string $displayValue)
{
$list = explode('|', $list);
if (in_array($displayValue, $list))
return $displayValue;
return false;
}
- private static function validateMultiList($list, &$displayValue)
+ private static function validateMultiList(string $list, array &$displayValue): string
{
$allowedValues = explode('|', $list);
$values = [];
@@ -99,7 +101,7 @@ class Validator
return $displayValue;
}
- private static function validateMultiInput($list, &$displayValue)
+ private static function validateMultiInput($list, $displayValue)
{
return $displayValue;
}