162162SOURCE_FOLDER_JS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folder.js"
163163SOURCE_DOCKER_RUNTIME_HIERARCHY_JS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/docker.runtime.hierarchy.js"
164164SOURCE_DOCKER_RUNTIME_ACTIONS_JS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/docker.runtime.actions.js"
165+ SOURCE_FOLDER_SETTINGS_TRANSFER_JS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folder.settings-transfer.js"
165166SOURCE_FOLDER_CSS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/styles/folder.css"
166167SOURCE_SETTINGS_JS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.js"
167168SOURCE_SETTINGS_DIRTY_JS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.dirty.js"
@@ -186,6 +187,7 @@ SOURCE_FOLDER_PAGE="${ROOT_DIR}/src/folderview.plus/usr/local/emhttp/plugins/fol
186187SOURCE_SETTINGS_PAGE=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/FolderViewPlus.page"
187188SOURCE_SERVER_LIB=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/server/lib.php"
188189SOURCE_SERVER_LIB_DIAGNOSTICS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/server/lib.diagnostics.php"
190+ SOURCE_SERVER_APPLY_FOLDER_SETTINGS=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/server/apply_folder_settings.php"
189191SOURCE_SERVER_UPDATE_NOTES=" ${ROOT_DIR} /src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/server/update_notes.php"
190192
191193if [[ ! -f " ${SOURCE_FOLDER_JS} " ]]; then
@@ -200,6 +202,10 @@ if [[ ! -f "${SOURCE_DOCKER_RUNTIME_ACTIONS_JS}" ]]; then
200202 echo " ERROR: Missing source Docker action helper script: ${SOURCE_DOCKER_RUNTIME_ACTIONS_JS} " >&2
201203 exit 1
202204fi
205+ if [[ ! -f " ${SOURCE_FOLDER_SETTINGS_TRANSFER_JS} " ]]; then
206+ echo " ERROR: Missing source folder settings transfer script: ${SOURCE_FOLDER_SETTINGS_TRANSFER_JS} " >&2
207+ exit 1
208+ fi
203209if [[ ! -f " ${SOURCE_FOLDER_CSS} " ]]; then
204210 echo " ERROR: Missing source folder editor stylesheet: ${SOURCE_FOLDER_CSS} " >&2
205211 exit 1
@@ -296,6 +302,10 @@ if [[ ! -f "${SOURCE_SERVER_LIB_DIAGNOSTICS}" ]]; then
296302 echo " ERROR: Missing source server diagnostics lib: ${SOURCE_SERVER_LIB_DIAGNOSTICS} " >&2
297303 exit 1
298304fi
305+ if [[ ! -f " ${SOURCE_SERVER_APPLY_FOLDER_SETTINGS} " ]]; then
306+ echo " ERROR: Missing source server apply-folder-settings endpoint: ${SOURCE_SERVER_APPLY_FOLDER_SETTINGS} " >&2
307+ exit 1
308+ fi
299309if [[ ! -f " ${SOURCE_SERVER_UPDATE_NOTES} " ]]; then
300310 echo " ERROR: Missing source server update notes endpoint: ${SOURCE_SERVER_UPDATE_NOTES} " >&2
301311 exit 1
@@ -336,6 +346,7 @@ REQUIRED_ARCHIVE_PATHS=(
336346 " ./usr/local/emhttp/plugins/folderview.plus/scripts/folder.js"
337347 " ./usr/local/emhttp/plugins/folderview.plus/scripts/docker.runtime.hierarchy.js"
338348 " ./usr/local/emhttp/plugins/folderview.plus/scripts/docker.runtime.actions.js"
349+ " ./usr/local/emhttp/plugins/folderview.plus/scripts/folder.settings-transfer.js"
339350 " ./usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.js"
340351 " ./usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.dirty.js"
341352 " ./usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.runtime-parity.js"
@@ -362,6 +373,7 @@ REQUIRED_ARCHIVE_PATHS=(
362373 " ./usr/local/emhttp/plugins/folderview.plus/FolderViewPlus.page"
363374 " ./usr/local/emhttp/plugins/folderview.plus/server/lib.php"
364375 " ./usr/local/emhttp/plugins/folderview.plus/server/lib.diagnostics.php"
376+ " ./usr/local/emhttp/plugins/folderview.plus/server/apply_folder_settings.php"
365377 " ./usr/local/emhttp/plugins/folderview.plus/server/update_notes.php"
366378)
367379
542554TMP_ARCHIVE_FOLDER_JS=" $( mktemp) "
543555TMP_ARCHIVE_DOCKER_RUNTIME_HIERARCHY_JS=" $( mktemp) "
544556TMP_ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS=" $( mktemp) "
557+ TMP_ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS=" $( mktemp) "
545558TMP_ARCHIVE_FOLDER_CSS=" $( mktemp) "
546559TMP_ARCHIVE_SETTINGS_JS=" $( mktemp) "
547560TMP_ARCHIVE_SETTINGS_DIRTY_JS=" $( mktemp) "
@@ -566,11 +579,13 @@ TMP_ARCHIVE_FOLDER_PAGE="$(mktemp)"
566579TMP_ARCHIVE_SETTINGS_PAGE=" $( mktemp) "
567580TMP_ARCHIVE_SERVER_LIB=" $( mktemp) "
568581TMP_ARCHIVE_SERVER_LIB_DIAGNOSTICS=" $( mktemp) "
582+ TMP_ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS=" $( mktemp) "
569583TMP_ARCHIVE_SERVER_UPDATE_NOTES=" $( mktemp) "
570- trap 'rm -f "${TMP_ARCHIVE_FOLDER_JS}" "${TMP_ARCHIVE_DOCKER_RUNTIME_HIERARCHY_JS}" "${TMP_ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS}" "${TMP_ARCHIVE_FOLDER_CSS}" "${TMP_ARCHIVE_SETTINGS_JS}" "${TMP_ARCHIVE_SETTINGS_DIRTY_JS}" "${TMP_ARCHIVE_SETTINGS_RUNTIME_PARITY_JS}" "${TMP_ARCHIVE_SETTINGS_SECTIONS_JS}" "${TMP_ARCHIVE_SETTINGS_SETUP_ASSISTANT_JS}" "${TMP_ARCHIVE_SETTINGS_SMART_DETECT_CONFIG_JS}" "${TMP_ARCHIVE_SETTINGS_STARTER_TEMPLATES_JS}" "${TMP_ARCHIVE_SETTINGS_SUPPORT_BUNDLE_PREVIEW_JS}" "${TMP_ARCHIVE_SETTINGS_SUPPORT_BUNDLE_TELEMETRY_JS}" "${TMP_ARCHIVE_SETTINGS_ACTIVITY_DIAGNOSTICS_JS}" "${TMP_ARCHIVE_SETTINGS_TREE_JS}" "${TMP_ARCHIVE_SETTINGS_FOLDER_EDITOR_JS}" "${TMP_ARCHIVE_SETTINGS_HEALTH_JS}" "${TMP_ARCHIVE_SETTINGS_WORKSPACES_JS}" "${TMP_ARCHIVE_SETTINGS_BULK_ASSIGNMENT_JS}" "${TMP_ARCHIVE_SETTINGS_RUNTIME_ACTIONS_JS}" "${TMP_ARCHIVE_SETTINGS_WIZARD_JS}" "${TMP_ARCHIVE_SETTINGS_IMPORT_JS}" "${TMP_ARCHIVE_SETTINGS_CSS}" "${TMP_ARCHIVE_FOLDER_PAGE}" "${TMP_ARCHIVE_SETTINGS_PAGE}" "${TMP_ARCHIVE_SERVER_LIB}" "${TMP_ARCHIVE_SERVER_LIB_DIAGNOSTICS}" "${TMP_ARCHIVE_SERVER_UPDATE_NOTES}"' EXIT
584+ trap 'rm -f "${TMP_ARCHIVE_FOLDER_JS}" "${TMP_ARCHIVE_DOCKER_RUNTIME_HIERARCHY_JS}" "${TMP_ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS}" "${TMP_ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS}" "${TMP_ARCHIVE_FOLDER_CSS}" "${TMP_ARCHIVE_SETTINGS_JS}" "${TMP_ARCHIVE_SETTINGS_DIRTY_JS}" "${TMP_ARCHIVE_SETTINGS_RUNTIME_PARITY_JS}" "${TMP_ARCHIVE_SETTINGS_SECTIONS_JS}" "${TMP_ARCHIVE_SETTINGS_SETUP_ASSISTANT_JS}" "${TMP_ARCHIVE_SETTINGS_SMART_DETECT_CONFIG_JS}" "${TMP_ARCHIVE_SETTINGS_STARTER_TEMPLATES_JS}" "${TMP_ARCHIVE_SETTINGS_SUPPORT_BUNDLE_PREVIEW_JS}" "${TMP_ARCHIVE_SETTINGS_SUPPORT_BUNDLE_TELEMETRY_JS}" "${TMP_ARCHIVE_SETTINGS_ACTIVITY_DIAGNOSTICS_JS}" "${TMP_ARCHIVE_SETTINGS_TREE_JS}" "${TMP_ARCHIVE_SETTINGS_FOLDER_EDITOR_JS}" "${TMP_ARCHIVE_SETTINGS_HEALTH_JS}" "${TMP_ARCHIVE_SETTINGS_WORKSPACES_JS}" "${TMP_ARCHIVE_SETTINGS_BULK_ASSIGNMENT_JS}" "${TMP_ARCHIVE_SETTINGS_RUNTIME_ACTIONS_JS}" "${TMP_ARCHIVE_SETTINGS_WIZARD_JS}" "${TMP_ARCHIVE_SETTINGS_IMPORT_JS}" "${TMP_ARCHIVE_SETTINGS_CSS}" "${TMP_ARCHIVE_FOLDER_PAGE}" "${TMP_ARCHIVE_SETTINGS_PAGE}" "${TMP_ARCHIVE_SERVER_LIB}" "${TMP_ARCHIVE_SERVER_LIB_DIAGNOSTICS}" "${TMP_ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS}" "${TMP_ARCHIVE_SERVER_UPDATE_NOTES}"' EXIT
571585ARCHIVE_FOLDER_JS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/scripts/folder.js"
572586ARCHIVE_DOCKER_RUNTIME_HIERARCHY_JS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/scripts/docker.runtime.hierarchy.js"
573587ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/scripts/docker.runtime.actions.js"
588+ ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/scripts/folder.settings-transfer.js"
574589ARCHIVE_FOLDER_CSS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/styles/folder.css"
575590ARCHIVE_SETTINGS_JS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.js"
576591ARCHIVE_SETTINGS_DIRTY_JS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/scripts/folderviewplus.dirty.js"
@@ -595,6 +610,7 @@ ARCHIVE_FOLDER_PAGE_PATH="./usr/local/emhttp/plugins/folderview.plus/Folder.page
595610ARCHIVE_SETTINGS_PAGE_PATH=" ./usr/local/emhttp/plugins/folderview.plus/FolderViewPlus.page"
596611ARCHIVE_SERVER_LIB_PATH=" ./usr/local/emhttp/plugins/folderview.plus/server/lib.php"
597612ARCHIVE_SERVER_LIB_DIAGNOSTICS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/server/lib.diagnostics.php"
613+ ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS_PATH=" ./usr/local/emhttp/plugins/folderview.plus/server/apply_folder_settings.php"
598614ARCHIVE_SERVER_UPDATE_NOTES_PATH=" ./usr/local/emhttp/plugins/folderview.plus/server/update_notes.php"
599615if ! grep -Fxq " ${ARCHIVE_FOLDER_JS_PATH} " <<< " ${ARCHIVE_LIST}" ; then
600616 ARCHIVE_FOLDER_JS_PATH=" ${ARCHIVE_FOLDER_JS_PATH# ./ } "
605621if ! grep -Fxq " ${ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS_PATH} " <<< " ${ARCHIVE_LIST}" ; then
606622 ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS_PATH=" ${ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS_PATH# ./ } "
607623fi
624+ if ! grep -Fxq " ${ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS_PATH} " <<< " ${ARCHIVE_LIST}" ; then
625+ ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS_PATH=" ${ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS_PATH# ./ } "
626+ fi
608627if ! grep -Fxq " ${ARCHIVE_FOLDER_CSS_PATH} " <<< " ${ARCHIVE_LIST}" ; then
609628 ARCHIVE_FOLDER_CSS_PATH=" ${ARCHIVE_FOLDER_CSS_PATH# ./ } "
610629fi
677696if ! grep -Fxq " ${ARCHIVE_SERVER_LIB_DIAGNOSTICS_PATH} " <<< " ${ARCHIVE_LIST}" ; then
678697 ARCHIVE_SERVER_LIB_DIAGNOSTICS_PATH=" ${ARCHIVE_SERVER_LIB_DIAGNOSTICS_PATH# ./ } "
679698fi
699+ if ! grep -Fxq " ${ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS_PATH} " <<< " ${ARCHIVE_LIST}" ; then
700+ ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS_PATH=" ${ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS_PATH# ./ } "
701+ fi
680702if ! grep -Fxq " ${ARCHIVE_SERVER_UPDATE_NOTES_PATH} " <<< " ${ARCHIVE_LIST}" ; then
681703 ARCHIVE_SERVER_UPDATE_NOTES_PATH=" ${ARCHIVE_SERVER_UPDATE_NOTES_PATH# ./ } "
682704fi
683705tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_FOLDER_JS_PATH} " > " ${TMP_ARCHIVE_FOLDER_JS} "
684706tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_DOCKER_RUNTIME_HIERARCHY_JS_PATH} " > " ${TMP_ARCHIVE_DOCKER_RUNTIME_HIERARCHY_JS} "
685707tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS_PATH} " > " ${TMP_ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS} "
708+ tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS_PATH} " > " ${TMP_ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS} "
686709tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_FOLDER_CSS_PATH} " > " ${TMP_ARCHIVE_FOLDER_CSS} "
687710tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_SETTINGS_JS_PATH} " > " ${TMP_ARCHIVE_SETTINGS_JS} "
688711tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_SETTINGS_DIRTY_JS_PATH} " > " ${TMP_ARCHIVE_SETTINGS_DIRTY_JS} "
@@ -707,6 +730,7 @@ tar -xOf "${ARCHIVE_FILE}" "${ARCHIVE_FOLDER_PAGE_PATH}" > "${TMP_ARCHIVE_FOLDER
707730tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_SETTINGS_PAGE_PATH} " > " ${TMP_ARCHIVE_SETTINGS_PAGE} "
708731tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_SERVER_LIB_PATH} " > " ${TMP_ARCHIVE_SERVER_LIB} "
709732tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_SERVER_LIB_DIAGNOSTICS_PATH} " > " ${TMP_ARCHIVE_SERVER_LIB_DIAGNOSTICS} "
733+ tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS_PATH} " > " ${TMP_ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS} "
710734tar -xOf " ${ARCHIVE_FILE} " " ${ARCHIVE_SERVER_UPDATE_NOTES_PATH} " > " ${TMP_ARCHIVE_SERVER_UPDATE_NOTES} "
711735
712736if ! grep -q ' fv-force-left-v2 marker' " ${TMP_ARCHIVE_FOLDER_JS} " ; then
725749if ! text_files_match " ${SOURCE_DOCKER_RUNTIME_ACTIONS_JS} " " ${TMP_ARCHIVE_DOCKER_RUNTIME_ACTIONS_JS} " ; then
726750 fail_packaged_source_mismatch " Packaged docker.runtime.actions.js does not match source docker.runtime.actions.js."
727751fi
752+ if ! text_files_match " ${SOURCE_FOLDER_SETTINGS_TRANSFER_JS} " " ${TMP_ARCHIVE_FOLDER_SETTINGS_TRANSFER_JS} " ; then
753+ fail_packaged_source_mismatch " Packaged folder.settings-transfer.js does not match source folder.settings-transfer.js."
754+ fi
728755
729756if ! text_files_match " ${SOURCE_FOLDER_CSS} " " ${TMP_ARCHIVE_FOLDER_CSS} " ; then
730757 fail_packaged_source_mismatch " Packaged folder.css does not match source folder.css."
798825if ! text_files_match " ${SOURCE_SERVER_LIB_DIAGNOSTICS} " " ${TMP_ARCHIVE_SERVER_LIB_DIAGNOSTICS} " ; then
799826 fail_packaged_source_mismatch " Packaged server/lib.diagnostics.php does not match source server/lib.diagnostics.php."
800827fi
828+ if ! text_files_match " ${SOURCE_SERVER_APPLY_FOLDER_SETTINGS} " " ${TMP_ARCHIVE_SERVER_APPLY_FOLDER_SETTINGS} " ; then
829+ fail_packaged_source_mismatch " Packaged server/apply_folder_settings.php does not match source server/apply_folder_settings.php."
830+ fi
801831if ! text_files_match " ${SOURCE_SERVER_UPDATE_NOTES} " " ${TMP_ARCHIVE_SERVER_UPDATE_NOTES} " ; then
802832 fail_packaged_source_mismatch " Packaged server/update_notes.php does not match source server/update_notes.php."
803833fi
0 commit comments