'danger', 'log' => [__FUNCTION__, $_action, $_data_log], 'msg' => 'access_denied', ]; return false; } global $lang; if ($_action === 'get') { $kind = strtolower(trim($_kind)); $langSection = 'admin'; $presetsPath = __DIR__ . '/presets/' . $kind; if (!in_array($kind, ['admin-rspamd', 'mailbox-sieve'], true)) { return []; } if ($kind === 'mailbox-sieve') { $langSection = 'mailbox'; } if ($_object !== 'all') { return getPresetFromFilePath($presetsPath . '/' . $_object . '.yml', $langSection); } $presets = []; foreach (glob($presetsPath . '/*.yml') as $filename) { $presets[] = getPresetFromFilePath($filename, $langSection); } return $presets; } return []; } function getPresetFromFilePath($filePath, $langSection) { global $lang; $preset = Spyc::YAMLLoad($filePath); $preset = ['name' => basename($filePath, '.yml')] + $preset; /* get translated headlines */ if (isset($preset['headline']) && strpos($preset['headline'], 'lang.') === 0) { $langTextName = trim(substr($preset['headline'], 5)); if (isset($lang[$langSection][$langTextName])) { $preset['headline'] = $lang[$langSection][$langTextName]; } } return $preset; }