1
0
Fork 0

Merge pull request #4470 from alcohol/fix-config-lookup

itteratively expand key and attempt to match
pull/4475/head
Jordi Boggiano 2015-10-01 14:48:22 +01:00
commit 790a941cba
1 changed files with 11 additions and 9 deletions

View File

@ -238,17 +238,19 @@ EOT
} elseif (strpos($settingKey, '.')) {
$bits = explode('.', $settingKey);
$data = $data['config'];
$match = false;
foreach ($bits as $bit) {
if (isset($data[$bit])) {
$data = $data[$bit];
} elseif (isset($data[implode('.', $bits)])) {
// last bit can contain domain names and such so try to join whatever is left if it exists
$data = $data[implode('.', $bits)];
break;
} else {
throw new \RuntimeException($settingKey.' is not defined');
$key = isset($key) ? $key.'.'.$bit : $bit;
$match = false;
if (isset($data[$key])) {
$match = true;
$data = $data[$key];
unset($key);
}
array_shift($bits);
}
if (!$match) {
throw new \RuntimeException($settingKey.' is not defined.');
}
$value = $data;