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