Upload via GUI (452 Dateien)

This commit is contained in:
2026-11-05 21:21:44 +00:00
parent 0cd88ac2f9
commit e90c1a4563
10 changed files with 529 additions and 109 deletions
+15
View File
@@ -630,6 +630,21 @@ function catalog_refresh_background(): void
*
* @return array<int, array{slug:string, name:string, installed:string, available:string}>
*/
/**
* Installiert alle Plugin-Updates aus dem Katalog (jedes einzeln, mit Prüfsumme und Signatur; ein Fehler stoppt die anderen nicht).
* @return array{updated:list<string>,failed:array<string,string>} Namen mit Version bzw. Slug => Fehlertext
*/
function plugin_catalog_update_all(PDO $pdo): array
{
$out = ['updated' => [], 'failed' => []];
foreach (plugin_updates_available($pdo) as $u) {
$r = plugin_catalog_install($pdo, $u['slug']);
if (!empty($r['ok'])) $out['updated'][] = $u['name'] . ' ' . $r['version'];
else $out['failed'][$u['slug']] = (string) ($r['error'] ?? 'Unbekannter Fehler');
}
return $out;
}
function plugin_updates_available(PDO $pdo): array
{
$cached = json_decode((string) get_setting('plugin_catalog_cache', ''), true);