fix : saveSiteSettings et saveSmtpSettings retournent bool, erreur affichée

file_put_contents() échouait silencieusement (permissions), provoquant
un saved=1 trompeur. Les deux fonctions retournent maintenant bool ;
les callers redirigent vers ?error=write et le template affiche un
message d'erreur explicite.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-15 00:02:54 +02:00
parent d6b75d44e3
commit 9091a00a32
4 changed files with 17 additions and 12 deletions
+3 -3
View File
@@ -59,7 +59,7 @@ function siteLicenseUrl(): string
return siteSettings()['site_license_url'] ?? 'https://creativecommons.org/licenses/by/4.0/';
}
function saveSiteSettings(array $data): void
function saveSiteSettings(array $data): bool
{
$current = siteSettings();
$stringKeys = ['site_title', 'site_claim', 'site_lang', 'site_license_label', 'site_license_url'];
@@ -77,8 +77,8 @@ function saveSiteSettings(array $data): void
$current['posts_per_page'] = $val;
}
}
file_put_contents(
return file_put_contents(
siteSettingsPath(),
json_encode($current, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)
);
) !== false;
}
+3 -3
View File
@@ -35,7 +35,7 @@ function smtpCfg(string $key, string $envKey, string $default = ''): string
return ($v !== false && $v !== '') ? (string)$v : $default;
}
function saveSmtpSettings(array $data): void
function saveSmtpSettings(array $data): bool
{
$current = smtpSettings();
foreach (['host', 'port', 'secure', 'user', 'from', 'from_name'] as $key) {
@@ -46,8 +46,8 @@ function saveSmtpSettings(array $data): void
if (!empty($data['pass']) && trim((string)$data['pass']) !== '') {
$current['pass'] = trim((string)$data['pass']);
}
file_put_contents(
return file_put_contents(
smtpSettingsPath(),
json_encode($current, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)
);
) !== false;
}