public function get($setting = '')
{
$requestData = $this->request()->getData();
$data = reset($requestData);
if (empty($data['settings']) || empty($data['settings']['index'])) {
// should not append, the request should throw a ResponseException
throw new NotFoundException('Index ' . $this->getIndex()->getName() . ' not found');
}
$settings = $data['settings']['index'];
if (!$setting) {
// return all array
return $settings;
}
if (isset($settings[$setting])) {
return $settings[$setting];
} else {
if (strpos($setting, '.') !== false) {
// translate old dot-notation settings to nested arrays
$keys = explode('.', $setting);
foreach ($keys as $key) {
if (isset($settings[$key])) {
$settings = $settings[$key];
} else {
return;
}
}
return $settings;
}
return;
}
}