From b6621d36db38184f0da6ddec843720b1be0f8d3c Mon Sep 17 00:00:00 2001 From: Terranom674 Date: Thu, 3 Sep 2026 15:46:53 +0200 Subject: [PATCH] Add explicit WebDAV rebuild dispatch mode --- runtime/webdav-warmup-dispatch.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/runtime/webdav-warmup-dispatch.php b/runtime/webdav-warmup-dispatch.php index ca47fb6..ee1696d 100644 --- a/runtime/webdav-warmup-dispatch.php +++ b/runtime/webdav-warmup-dispatch.php @@ -23,7 +23,7 @@ $_SERVER['REQUEST_URI'] = '/'; $_SERVER['SCRIPT_NAME'] = '/plugins/bratonien_tools/runtime/webdav-warmup-dispatch.php'; $_SERVER['PHP_SELF'] = $_SERVER['SCRIPT_NAME']; $_SERVER['QUERY_STRING'] = ''; -$_SERVER['HTTP_USER_AGENT'] = 'Bratonien-WebDAV-Warmup-Dispatcher/0.9.7.1.8'; +$_SERVER['HTTP_USER_AGENT'] = 'Bratonien-WebDAV-Warmup-Dispatcher/0.9.7.1.12'; $_SERVER['HTTPS'] = 'off'; require_once(PHPWG_ROOT_PATH.'include/common.inc.php'); @@ -40,13 +40,13 @@ $wait = false; $connection_filter = 0; foreach ($argv as $arg) { - if (preg_match('/^--mode=(sync|periodic|manual)$/', $arg, $m)) $mode = $m[1]; + if (preg_match('/^--mode=(sync|periodic|manual|rebuild)$/', $arg, $m)) $mode = $m[1]; elseif (preg_match('/^--connection-id=(\d+)$/', $arg, $m)) $connection_filter = (int)$m[1]; elseif ($arg === '--wait') $wait = true; } $settings = bratonien_tools_get_webdav_warmup_settings(); -if ($mode !== 'manual' && empty($settings['enabled'])) +if (!in_array($mode, array('manual','rebuild'), true) && empty($settings['enabled'])) { fwrite(STDOUT, "WebDAV-Cache-Warmup ist deaktiviert.\n"); exit(0); @@ -141,9 +141,6 @@ foreach (bratonien_tools_nc_connector_connections() as $connection) if ($mode === 'sync') { - // Ein bereits laufender Worker darf seinen aktuellen Bild-/Batchvorgang - // vollständig restaurieren. Der Waiter startet den priorisierten Sync-Lauf - // danach automatisch, statt die Prioritätsmarke verloren gehen zu lassen. $base = escapeshellarg('/bin/bash').' '.escapeshellarg($priority_waiter).' '.escapeshellarg($state_dir).' '.$worker_command; } else