diff --git a/etc/ncp-templates/cron.hourly/ncp-previewgenerator.sh b/etc/ncp-templates/cron.hourly/ncp-previewgenerator.sh index 078458ef3..d8ad947c2 100644 --- a/etc/ncp-templates/cron.hourly/ncp-previewgenerator.sh +++ b/etc/ncp-templates/cron.hourly/ncp-previewgenerator.sh @@ -1,6 +1,9 @@ #!/usr/bin/env bash cat <<'EOF' +#!/usr/bin/env bash +set -eu + GENERATE_JOB_ID="ncp-generate-previews" if [[ "$(systemctl is-active "${GENERATE_JOB_ID}" ||:)" =~ ^(active|activating|deactivating)$ ]] @@ -9,15 +12,13 @@ then exit 0 fi -#!/usr/bin/env bash -set -eu source /usr/local/etc/library.sh if is_app_enabled memories then - ncc config:app:set --value="256 4096" previewgenerator coverWidthHeightSizes + ncc config:app:set --value="256 4096" previewgenerator coverWidthHeightSizes > /dev/null else - ncc config:app:set --value="" previewgenerator coverWidthHeightSizes + ncc config:app:set --value="" previewgenerator coverWidthHeightSizes > /dev/null fi for _ in $(seq 1 $(nproc)); do diff --git a/ncp-web/ncp-launcher.php b/ncp-web/ncp-launcher.php index 2a0d83eb8..e5b874e03 100644 --- a/ncp-web/ncp-launcher.php +++ b/ncp-web/ncp-launcher.php @@ -16,6 +16,11 @@ $l10nDir = "l10n"; ignore_user_abort(true); +function bash_escape_arg($arg): string +{ + return "'" . str_replace("'", "\\'", $arg) . "'"; +} + // // language // @@ -105,7 +110,7 @@ echo ' "output": "" , '; echo ' "ret": '; - exec( 'bash -c "sudo /home/www/ncp-launcher.sh ' . $ncp_app . '"' , $output , $ret ); + exec( 'bash -c "sudo /home/www/ncp-launcher.sh ' . bash_escape_arg($ncp_app) . '"' , $output , $ret ); echo '"' . $ret . '" }'; } @@ -159,7 +164,7 @@ exit('{ "output": "domain can\'t be empty", "ret": 1 }'); } echo '{ "token": "' . getCSRFToken() . '",'; // Get new token - exec("/usr/bin/php /var/www/nextcloud/occ config:system:set overwrite.cli.url --value '" . $_POST['url'] . "'", + exec("/usr/bin/php /var/www/nextcloud/occ config:system:set overwrite.cli.url --value " . bash_escape_arg($_POST['url']), $out, $ret); echo ' "out": "' . htmlspecialchars(join("\n", $out), ENT_QUOTES, "UTF-8") . '", '; echo ' "ret": "' . $ret . '"}'; diff --git a/updates/1.57.1.sh b/updates/1.57.1.sh new file mode 100644 index 000000000..265208cc8 --- /dev/null +++ b/updates/1.57.1.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -eu + +source /usr/local/etc/library.sh + +echo "Reconfigure automatic preview generation (if enabled)" +run_app nc-previews-auto \ No newline at end of file