Fix write_config silently swallowing errors in botcompose
Matches the pattern in botconfig.php — returns bool and reports failure to the caller so the UI shows the real error instead of false success. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
f86859695a
commit
df11e32e70
1 changed files with 7 additions and 4 deletions
|
|
@ -21,10 +21,11 @@ function read_config(string $path): ?array {
|
||||||
return is_array($data) ? $data : null;
|
return is_array($data) ? $data : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function write_config(string $path, array $data): void {
|
function write_config(string $path, array $data): bool {
|
||||||
$tmp = $path . '.tmp';
|
$tmp = $path . '.tmp';
|
||||||
file_put_contents($tmp, json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
|
$ok = file_put_contents($tmp, json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)) !== false;
|
||||||
rename($tmp, $path);
|
if ($ok) $ok = rename($tmp, $path);
|
||||||
|
return (bool)$ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
function read_dot_env(string $path): array {
|
function read_dot_env(string $path): array {
|
||||||
|
|
@ -63,7 +64,9 @@ if ($action === 'rss_repost') {
|
||||||
if (!isset($config['rss'][$feed_name])) { echo json_encode(['error' => 'Feed not found']); exit; }
|
if (!isset($config['rss'][$feed_name])) { echo json_encode(['error' => 'Feed not found']); exit; }
|
||||||
|
|
||||||
$config['rss'][$feed_name]['last_id'] = '';
|
$config['rss'][$feed_name]['last_id'] = '';
|
||||||
write_config($config_path, $config);
|
if (!write_config($config_path, $config)) {
|
||||||
|
echo json_encode(['error' => 'Failed to write config.json — check file permissions']); exit;
|
||||||
|
}
|
||||||
|
|
||||||
Audit::log($db, 'botcompose_rss_repost', $pid, $feed_name);
|
Audit::log($db, 'botcompose_rss_repost', $pid, $feed_name);
|
||||||
echo json_encode(['ok' => true, 'message' => 'Last ID cleared — bot will repost on next poll (within 5 min)']);
|
echo json_encode(['ok' => true, 'message' => 'Last ID cleared — bot will repost on next poll (within 5 min)']);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue