Просмотр исходного кода

Allow option to enable/disable backup suspended users (#3696)

* Backup user when suspended option

* Backup suspended users if wanted

If POLICY_BACKUP_SUSPENDED_USERS is set to yes

* Adjust alignments

---------

Co-authored-by: Raphael <rs@scit.ch>
Jaap Marcus 2 лет назад
Родитель
Сommit
be4d6c06c8

+ 3 - 0
bin/v-add-letsencrypt-domain

@@ -3,6 +3,9 @@
 # options: USER DOMAIN [ALIASES] [MAIL]
 #
 # example: v-add-letsencrypt-domain admin wonderland.com www.wonderland.com,demo.wonderland.com
+#
+# For mail domains
+#
 # example: v-add-letsencrypt-domain admin wonderland.com '' yes
 #
 # This function check and validates domain with Let's Encrypt

+ 3 - 1
bin/v-backup-user

@@ -142,7 +142,9 @@ check_args '1' "$#" 'USER [NOTIFY]'
 is_format_valid 'user'
 is_system_enabled "$BACKUP_SYSTEM" 'BACKUP_SYSTEM'
 is_object_valid 'user' 'USER' "$user"
-is_object_unsuspended 'user' 'USER' "$user"
+if [ "$POLICY_BACKUP_SUSPENDED_USERS" != "yes" ]; then
+	is_object_unsuspended 'user' 'USER' "$user"
+fi
 is_backup_enabled
 
 # Perform verification if read-only mode is enabled

+ 74 - 73
bin/v-list-sys-config

@@ -28,83 +28,84 @@ json_list() {
 	echo '{
 		"config": {
 			"WEB_SYSTEM": "'$WEB_SYSTEM'",
-    		"WEB_RGROUPS": "'$WEB_RGROUPS'",
-    		"WEB_PORT": "'$WEB_PORT'",
-    		"WEB_SSL": "'$WEB_SSL'",
-    		"WEB_SSL_PORT": "'$WEB_SSL_PORT'",
-    		"WEB_BACKEND": "'$WEB_BACKEND'",
-    		"PROXY_SYSTEM": "'$PROXY_SYSTEM'",
-    		"PROXY_PORT": "'$PROXY_PORT'",
-    		"PROXY_SSL_PORT": "'$PROXY_SSL_PORT'",
-    		"FTP_SYSTEM": "'$FTP_SYSTEM'",
-    		"MAIL_SYSTEM": "'$MAIL_SYSTEM'",
-    		"IMAP_SYSTEM": "'$IMAP_SYSTEM'",
-    		"ANTIVIRUS_SYSTEM": "'$ANTIVIRUS_SYSTEM'",
-    		"ANTISPAM_SYSTEM": "'$ANTISPAM_SYSTEM'",
-    		"DB_SYSTEM": "'$DB_SYSTEM'",
-    		"DNS_SYSTEM": "'$DNS_SYSTEM'",
-    		"DNS_CLUSTER": "'$DNS_CLUSTER'",
+	    		"WEB_RGROUPS": "'$WEB_RGROUPS'",
+	    		"WEB_PORT": "'$WEB_PORT'",
+	    		"WEB_SSL": "'$WEB_SSL'",
+	    		"WEB_SSL_PORT": "'$WEB_SSL_PORT'",
+	    		"WEB_BACKEND": "'$WEB_BACKEND'",
+	    		"PROXY_SYSTEM": "'$PROXY_SYSTEM'",
+	    		"PROXY_PORT": "'$PROXY_PORT'",
+	    		"PROXY_SSL_PORT": "'$PROXY_SSL_PORT'",
+	    		"FTP_SYSTEM": "'$FTP_SYSTEM'",
+	    		"MAIL_SYSTEM": "'$MAIL_SYSTEM'",
+	    		"IMAP_SYSTEM": "'$IMAP_SYSTEM'",
+	    		"ANTIVIRUS_SYSTEM": "'$ANTIVIRUS_SYSTEM'",
+	    		"ANTISPAM_SYSTEM": "'$ANTISPAM_SYSTEM'",
+	    		"DB_SYSTEM": "'$DB_SYSTEM'",
+	    		"DNS_SYSTEM": "'$DNS_SYSTEM'",
+	    		"DNS_CLUSTER": "'$DNS_CLUSTER'",
 			"DNS_CLUSTER_SYSTEM": "'$DNS_CLUSTER_SYSTEM'",
 			"SUPPORT_DNSSEC": "'$SUPPORT_DNSSEC'",
-    		"STATS_SYSTEM": "'$STATS_SYSTEM'",
-    		"BACKUP_SYSTEM": "'$BACKUP_SYSTEM'",
-    		"CRON_SYSTEM": "'$CRON_SYSTEM'",
-    		"DISK_QUOTA": "'$DISK_QUOTA'",
-    		"FIREWALL_SYSTEM": "'$FIREWALL_SYSTEM'",
-    		"FIREWALL_EXTENSION": "'$FIREWALL_EXTENSION'",
-    		"FILE_MANAGER": "'$FILE_MANAGER'",
-    		"REPOSITORY": "'$REPOSITORY'",
-    		"VERSION": "'$VERSION'",
-    		"RELEASE_BRANCH": "'$RELEASE_BRANCH'",
-    		"UPGRADE_SEND_EMAIL": "'$UPGRADE_SEND_EMAIL'",
-    		"UPGRADE_SEND_EMAIL_LOG": "'$UPGRADE_SEND_EMAIL_LOG'",
-    		"SMTP_RELAY": "'$SMTP_RELAY'",
-    		"SMTP_RELAY_HOST": "'$SMTP_RELAY_HOST'",
-    		"SMTP_RELAY_PORT": "'$SMTP_RELAY_PORT'",
-    		"SMTP_RELAY_USER": "'$SMTP_RELAY_USER'",
-    		"DEMO_MODE": "'$DEMO_MODE'",
-    		"THEME": "'$THEME'",
-    		"LANGUAGE": "'$LANGUAGE'",
-    		"BACKUP_GZIP": "'$BACKUP_GZIP'",
-    		"BACKUP": "'$BACKUP'",
-    		"BACKUP_MODE": "'$BACKUP_MODE'",
-    		"WEBMAIL_ALIAS": "'$WEBMAIL_ALIAS'",
-    		"WEBMAIL_SYSTEM": "'$WEBMAIL_SYSTEM'",
-    		"DB_PMA_ALIAS": "'$DB_PMA_ALIAS'",
-    		"DB_PGA_ALIAS": "'$DB_PGA_ALIAS'",
-    		"LOGIN_STYLE": "'$LOGIN_STYLE'",
-    		"INACTIVE_SESSION_TIMEOUT": "'$INACTIVE_SESSION_TIMEOUT'",
-    		"PHPMYADMIN_KEY": "'$PHPMYADMIN_KEY'",
-    		"ENFORCE_SUBDOMAIN_OWNERSHIP": "'$ENFORCE_SUBDOMAIN_OWNERSHIP'",
-    		"DEBUG_MODE": "'$DEBUG_MODE'",
-    		"API": "'$API'",
-    		"API_SYSTEM": "'$API_SYSTEM'",
-    		"API_ALLOWED_IP": "'$API_ALLOWED_IP'",
-    		"UPDATE_AVAILABLE": "'$UPDATE_AVAILABLE'",
-    		"PLUGIN_APP_INSTALLER": "'$PLUGIN_APP_INSTALLER'",
-    		"PLUGIN_FILE_MANAGER": "'$PLUGIN_FILE_MANAGER'",
-    		"POLICY_SYSTEM_ENABLE_BACON": "'$POLICY_SYSTEM_ENABLE_BACON'",
-    		"POLICY_SYSTEM_PROTECTED_ADMIN": "'$POLICY_SYSTEM_PROTECTED_ADMIN'",
-    		"POLICY_SYSTEM_HIDE_ADMIN": "'$POLICY_SYSTEM_HIDE_ADMIN'",
-    		"POLICY_SYSTEM_HIDE_SERVICES": "'$POLICY_SYSTEM_HIDE_SERVICES'",
-    		"POLICY_SYSTEM_PASSWORD_RESET": "'$POLICY_SYSTEM_PASSWORD_RESET'",
-    		"POLICY_USER_VIEW_SUSPENDED": "'$POLICY_USER_VIEW_SUSPENDED'",
-    		"POLICY_USER_EDIT_DETAILS": "'$POLICY_USER_EDIT_DETAILS'",
-    		"POLICY_USER_EDIT_WEB_TEMPLATES": "'$POLICY_USER_EDIT_WEB_TEMPLATES'",
-    		"POLICY_USER_EDIT_DNS_TEMPLATES": "'$POLICY_USER_EDIT_DNS_TEMPLATES'",
-    		"POLICY_USER_DELETE_LOGS": "'$POLICY_USER_DELETE_LOGS'",
-    		"POLICY_USER_VIEW_LOGS": "'$POLICY_USER_VIEW_LOGS'",
-    		"POLICY_USER_CHANGE_THEME": "'$POLICY_USER_CHANGE_THEME'",
-    		"POLICY_CSRF_STRICTNESS": "'$POLICY_CSRF_STRICTNESS'",
+	    		"STATS_SYSTEM": "'$STATS_SYSTEM'",
+	    		"BACKUP_SYSTEM": "'$BACKUP_SYSTEM'",
+	    		"CRON_SYSTEM": "'$CRON_SYSTEM'",
+	    		"DISK_QUOTA": "'$DISK_QUOTA'",
+	    		"FIREWALL_SYSTEM": "'$FIREWALL_SYSTEM'",
+	    		"FIREWALL_EXTENSION": "'$FIREWALL_EXTENSION'",
+	    		"FILE_MANAGER": "'$FILE_MANAGER'",
+	    		"REPOSITORY": "'$REPOSITORY'",
+	    		"VERSION": "'$VERSION'",
+	    		"RELEASE_BRANCH": "'$RELEASE_BRANCH'",
+	    		"UPGRADE_SEND_EMAIL": "'$UPGRADE_SEND_EMAIL'",
+	    		"UPGRADE_SEND_EMAIL_LOG": "'$UPGRADE_SEND_EMAIL_LOG'",
+	    		"SMTP_RELAY": "'$SMTP_RELAY'",
+	    		"SMTP_RELAY_HOST": "'$SMTP_RELAY_HOST'",
+	    		"SMTP_RELAY_PORT": "'$SMTP_RELAY_PORT'",
+	    		"SMTP_RELAY_USER": "'$SMTP_RELAY_USER'",
+	    		"DEMO_MODE": "'$DEMO_MODE'",
+	    		"THEME": "'$THEME'",
+	    		"LANGUAGE": "'$LANGUAGE'",
+	    		"BACKUP_GZIP": "'$BACKUP_GZIP'",
+	    		"BACKUP": "'$BACKUP'",
+	    		"BACKUP_MODE": "'$BACKUP_MODE'",
+	    		"WEBMAIL_ALIAS": "'$WEBMAIL_ALIAS'",
+	    		"WEBMAIL_SYSTEM": "'$WEBMAIL_SYSTEM'",
+	    		"DB_PMA_ALIAS": "'$DB_PMA_ALIAS'",
+	    		"DB_PGA_ALIAS": "'$DB_PGA_ALIAS'",
+	    		"LOGIN_STYLE": "'$LOGIN_STYLE'",
+	    		"INACTIVE_SESSION_TIMEOUT": "'$INACTIVE_SESSION_TIMEOUT'",
+	    		"PHPMYADMIN_KEY": "'$PHPMYADMIN_KEY'",
+	    		"ENFORCE_SUBDOMAIN_OWNERSHIP": "'$ENFORCE_SUBDOMAIN_OWNERSHIP'",
+	    		"DEBUG_MODE": "'$DEBUG_MODE'",
+	    		"API": "'$API'",
+	    		"API_SYSTEM": "'$API_SYSTEM'",
+	    		"API_ALLOWED_IP": "'$API_ALLOWED_IP'",
+	    		"UPDATE_AVAILABLE": "'$UPDATE_AVAILABLE'",
+	    		"PLUGIN_APP_INSTALLER": "'$PLUGIN_APP_INSTALLER'",
+	    		"PLUGIN_FILE_MANAGER": "'$PLUGIN_FILE_MANAGER'",
+	    		"POLICY_SYSTEM_ENABLE_BACON": "'$POLICY_SYSTEM_ENABLE_BACON'",
+	    		"POLICY_SYSTEM_PROTECTED_ADMIN": "'$POLICY_SYSTEM_PROTECTED_ADMIN'",
+	    		"POLICY_SYSTEM_HIDE_ADMIN": "'$POLICY_SYSTEM_HIDE_ADMIN'",
+	    		"POLICY_SYSTEM_HIDE_SERVICES": "'$POLICY_SYSTEM_HIDE_SERVICES'",
+	    		"POLICY_SYSTEM_PASSWORD_RESET": "'$POLICY_SYSTEM_PASSWORD_RESET'",
+	    		"POLICY_USER_VIEW_SUSPENDED": "'$POLICY_USER_VIEW_SUSPENDED'",
+			"POLICY_BACKUP_SUSPENDED_USERS": "'$POLICY_BACKUP_SUSPENDED_USERS'",
+	    		"POLICY_USER_EDIT_DETAILS": "'$POLICY_USER_EDIT_DETAILS'",
+	    		"POLICY_USER_EDIT_WEB_TEMPLATES": "'$POLICY_USER_EDIT_WEB_TEMPLATES'",
+	    		"POLICY_USER_EDIT_DNS_TEMPLATES": "'$POLICY_USER_EDIT_DNS_TEMPLATES'",
+	    		"POLICY_USER_DELETE_LOGS": "'$POLICY_USER_DELETE_LOGS'",
+	    		"POLICY_USER_VIEW_LOGS": "'$POLICY_USER_VIEW_LOGS'",
+	    		"POLICY_USER_CHANGE_THEME": "'$POLICY_USER_CHANGE_THEME'",
+	    		"POLICY_CSRF_STRICTNESS": "'$POLICY_CSRF_STRICTNESS'",
 			"POLICY_SYNC_SKELETON": "'$POLICY_SYNC_SKELETON'",
 			"POLICY_SYNC_ERROR_DOCUMENTS": "'$POLICY_SYNC_ERROR_DOCUMENTS'",
-    		"USE_SERVER_SMTP": "'$USE_SERVER_SMTP'",
-    		"SERVER_SMTP_HOST": "'$SERVER_SMTP_HOST'",
-    		"SERVER_SMTP_PORT": "'$SERVER_SMTP_PORT'",
-    		"SERVER_SMTP_SECURITY": "'$SERVER_SMTP_SECURITY'",
-    		"SERVER_SMTP_USER": "'$SERVER_SMTP_USER'",
-    		"SERVER_SMTP_PASSWD": "'$SERVER_SMTP_PASSWD'",
-    		"SERVER_SMTP_ADDR": "'$SERVER_SMTP_ADDR'",
+	    		"USE_SERVER_SMTP": "'$USE_SERVER_SMTP'",
+	    		"SERVER_SMTP_HOST": "'$SERVER_SMTP_HOST'",
+	    		"SERVER_SMTP_PORT": "'$SERVER_SMTP_PORT'",
+	    		"SERVER_SMTP_SECURITY": "'$SERVER_SMTP_SECURITY'",
+	    		"SERVER_SMTP_USER": "'$SERVER_SMTP_USER'",
+	    		"SERVER_SMTP_PASSWD": "'$SERVER_SMTP_PASSWD'",
+	    		"SERVER_SMTP_ADDR": "'$SERVER_SMTP_ADDR'",
 			"DISABLE_IP_CHECK": "'$DISABLE_IP_CHECK'",
 			"FROM_NAME": "'$FROM_NAME'",
 			"FROM_EMAIL": "'$FROM_EMAIL'",

+ 4 - 0
func/syshealth.sh

@@ -521,6 +521,10 @@ function syshealth_repair_system_config() {
 		echo "[ ! ] Adding missing variable to hestia.conf: POLICY_SYNC_SKELETON ('yes')"
 		$BIN/v-change-sys-config-value "POLICY_SYNC_SKELETON" "yes"
 	fi
+	if [[ -z $(check_key_exists 'POLICY_BACKUP_SUSPENDED_USERS') ]]; then
+		echo "[ ! ] Adding missing variable to hestia.conf: POLICY_BACKUP_SUSPENDED_USERS ('no')"
+		$BIN/v-change-sys-config-value "POLICY_BACKUP_SUSPENDED_USERS" "no"
+	fi
 
 	touch $HESTIA/conf/hestia.conf.new
 	while IFS='= ' read -r lhs rhs; do

+ 0 - 38
install/deb/exim/text.patch

@@ -1,38 +0,0 @@
-17a18,19
-> SRS_SECRET = readfile{/etc/exim4/srs.conf}
->
-326a332,348
-> inbound_srs:
->     driver = redirect
->     senders = :
->     domains = +local_domains
->     # detect inbound bounces which are SRS'd, and decode them
->     condition = ${if inbound_srs {$local_part} {SRS_SECRET}}
->     data = $srs_recipient
->
-> inbound_srs_failure:
->     driver = redirect
->     senders = :
->     domains = +local_domains
->     # detect inbound bounces which look SRS'd but are invalid
->     condition = ${if inbound_srs {$local_part} {}}
->     allow_fail
->     data = :fail: Invalid SRS recipient address
->
-358d379
-<   condition = ${lookup{$local_part@$domain}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/aliases}{false}{true}}
-387a409,422
-> remote_forwarded_smtp:
->   driver = smtp
->   helo_data = ${lookup dnsdb{>: defer_never,ptr=$sending_ip_address}{${listextract{1}{$value}}}{$primary_hostname}}
->   dkim_domain = DKIM_DOMAIN
->   dkim_selector = mail
->   dkim_private_key = DKIM_PRIVATE_KEY
->   dkim_canon = relaxed
->   dkim_strict = 0
->   hosts_try_fastopen = !*.l.google.com
->   interface = ${if exists{OUTGOING_IP}{${readfile{OUTGOING_IP}}}}
->   # modify the envelope from, for mails that we forward
->   max_rcpt = 1
->   return_path = ${srs_encode {SRS_SECRET} {$return_path} {$original_domain}}
->

+ 20 - 0
web/edit/server/index.php

@@ -1567,6 +1567,26 @@ if (!empty($_POST["save"])) {
 			$v_security_adv = "yes";
 		}
 	}
+	// Change POLICY_SYSTEM_HIDE_SERVICES
+	if (empty($_SESSION["error_msg"])) {
+		if (
+			$_POST["v_policy_backup_suspended_users"] != $_SESSION["POLICY_BACKUP_SUSPENDED_USERS"]
+		) {
+			exec(
+				HESTIA_CMD .
+					"v-change-sys-config-value POLICY_BACKUP_SUSPENDED_USERS " .
+					quoteshellarg($_POST["v_policy_backup_suspended_users"]),
+				$output,
+				$return_var,
+			);
+			check_return_code($return_var, $output);
+			unset($output);
+			if (empty($_SESSION["error_msg"])) {
+				$v_policy_system_hide_services = $_POST["v_policy_backup_suspended_users"];
+			}
+			$v_security_adv = "yes";
+		}
+	}
 
 	if (empty($_SESSION["error_msg"])) {
 		if ($_POST["v_policy_sync_error_documents"] != $_SESSION["POLICY_SYNC_ERROR_DOCUMENTS"]) {

+ 57 - 40
web/templates/pages/edit_server.php

@@ -1183,26 +1183,6 @@
 						<h3 class="u-mt20 u-mb10">
 							<?= _("Users") ?>
 						</h3>
-						<?php if ($_SESSION["POLICY_SYSTEM_ENABLE_BACON"] === "true") { ?>
-							<div class="u-mb10">
-								<label for="v_policy_user_view_suspended" class="form-label">
-									<?= _("Allow suspended users to log in with read-only access") ?>
-									<span class="hint">(<?= _("Preview") ?>)</span>
-								</label>
-								<select
-									class="form-select"
-									name="v_policy_user_view_suspended"
-									id="v_policy_user_view_suspended"
-								>
-									<option value="yes">
-										<?= _("Yes") ?>
-									</option>
-									<option value="no" <?= $_SESSION["POLICY_USER_VIEW_SUSPENDED"] == "no" ? "selected" : "" ?>>
-										<?= _("No") ?>
-									</option>
-								</select>
-							</div>
-						<?php } ?>
 						<div class="u-mb10">
 							<label for="v_policy_user_edit_details" class="form-label">
 								<?= _("Allow users to edit their account details") ?>
@@ -1251,69 +1231,106 @@
 							</select>
 						</div>
 						<div class="u-mb10">
-							<label for="v_policy_sync_error_documents" class="form-label">
-								<?= _("Sync Error document templates on user rebuild") ?>
+							<label for="v_policy_user_view_logs" class="form-label">
+								<?= _("Allow users to view action and login history logs") ?>
 							</label>
 							<select
 								class="form-select"
-								name="v_policy_sync_error_documents"
-								id="v_policy_sync_error_documents"
+								name="v_policy_user_view_logs"
+								id="v_policy_user_view_logs"
 							>
 								<option value="yes">
 									<?= _("Yes") ?>
 								</option>
-								<option value="no" <?= $_SESSION["POLICY_SYNC_ERROR_DOCUMENTS"] == "no" ? "selected" : "" ?>>
+								<option value="no" <?= $_SESSION["POLICY_USER_VIEW_LOGS"] == "no" ? "selected" : "" ?>>
 									<?= _("No") ?>
 								</option>
 							</select>
 						</div>
 						<div class="u-mb10">
-							<label for="v_policy_sync_skeleton" class="form-label">
-								<?= _("Sync Skeleton templates") ?>
+							<label for="v_policy_user_delete_logs" class="form-label">
+								<?= _("Allow users to delete log history") ?>
 							</label>
 							<select
 								class="form-select"
-								name="v_policy_sync_skeleton"
-								id="v_policy_sync_skeleton"
+								name="v_policy_user_delete_logs"
+								id="v_policy_user_delete_logs"
 							>
 								<option value="yes">
 									<?= _("Yes") ?>
 								</option>
-								<option value="no" <?= $_SESSION["POLICY_SYNC_SKELETON"] == "no" ? "selected" : "" ?>>
+								<option value="no" <?= $_SESSION["POLICY_USER_DELETE_LOGS"] == "no" ? "selected" : "" ?>>
+									<?= _("No") ?>
+								</option>
+							</select>
+						</div>
+						<?php if ($_SESSION["POLICY_SYSTEM_ENABLE_BACON"] === "true") { ?>
+							<div class="u-mb10">
+								<label for="v_policy_user_view_suspended" class="form-label">
+									<?= _("Allow suspended users to log in with read-only access") ?>
+									<span class="hint">(<?= _("Preview") ?>)</span>
+								</label>
+								<select
+									class="form-select"
+									name="v_policy_user_view_suspended"
+									id="v_policy_user_view_suspended"
+								>
+									<option value="yes">
+										<?= _("Yes") ?>
+									</option>
+									<option value="no" <?= $_SESSION["POLICY_USER_VIEW_SUSPENDED"] == "no" ? "selected" : "" ?>>
+										<?= _("No") ?>
+									</option>
+								</select>
+							</div>
+						<?php } ?>
+						<div class="u-mb10">
+							<label for="v_policy_backup_suspended_users" class="form-label">
+								<?= _("Allow suspended users to create new backups") ?>
+							</label>
+							<select
+								class="form-select"
+								name="v_policy_backup_suspended_users"
+								id="v_policy_backup_suspended_users"
+							>
+								<option value="yes">
+									<?= _("Yes") ?>
+								</option>
+								<option value="no" <?= $_SESSION["POLICY_BACKUP_SUSPENDED_USERS"] == "no" ? "selected" : "" ?>>
 									<?= _("No") ?>
 								</option>
 							</select>
 						</div>
 						<div class="u-mb10">
-							<label for="v_policy_user_view_logs" class="form-label">
-								<?= _("Allow users to view action and login history logs") ?>
+							<label for="v_policy_sync_error_documents" class="form-label">
+								<?= _("Sync Error document templates on user rebuild") ?>
 							</label>
 							<select
 								class="form-select"
-								name="v_policy_user_view_logs"
-								id="v_policy_user_view_logs"
+								name="v_policy_sync_error_documents"
+								id="v_policy_sync_error_documents"
 							>
 								<option value="yes">
 									<?= _("Yes") ?>
 								</option>
-								<option value="no" <?= $_SESSION["POLICY_USER_VIEW_LOGS"] == "no" ? "selected" : "" ?>>
+								<option value="no" <?= $_SESSION["POLICY_SYNC_ERROR_DOCUMENTS"] == "no" ? "selected" : "" ?>>
 									<?= _("No") ?>
 								</option>
 							</select>
 						</div>
 						<div class="u-mb10">
-							<label for="v_policy_user_delete_logs" class="form-label">
-								<?= _("Allow users to delete log history") ?>
+							<label for="v_policy_sync_skeleton" class="form-label">
+								<?= _("Sync Skeleton templates") ?>
 							</label>
 							<select
 								class="form-select"
-								name="v_policy_user_delete_logs"
-								id="v_policy_user_delete_logs"
+								name="v_policy_sync_skeleton"
+								id="v_policy_sync_skeleton"
 							>
 								<option value="yes">
 									<?= _("Yes") ?>
 								</option>
-								<option value="no" <?= $_SESSION["POLICY_USER_DELETE_LOGS"] == "no" ? "selected" : "" ?>>
+								<option value="no" <?= $_SESSION["POLICY_SYNC_SKELETON"] == "no" ? "selected" : "" ?>>
 									<?= _("No") ?>
 								</option>
 							</select>