public function setConfig(array $config): array { $errors = []; foreach ($config as $key => $value) { // validate and save SPF whitelist entries if ($key === 'spf_whitelist') { if (!is_array($value)) { $value = (array) $value; } foreach ($value as $i => $v) { $v = rtrim($v, '.'); if (empty($v)) { unset($value[$i]); continue; } $value[$i] = $v; if ($v[0] !== '.' || !filter_var(substr($v, 1), FILTER_VALIDATE_DOMAIN)) { $errors[$key][$i] = \trans('validation.spf-entry-invalid'); } } if (empty($errors[$key])) { $this->setSetting($key, json_encode($value)); } } else { $errors[$key] = \trans('validation.invalid-config-parameter'); } } return $errors; }