HEX
Server: LiteSpeed
System: Linux mail.aatilis.ir 6.8.0-101-generic #101-Ubuntu SMP PREEMPT_DYNAMIC Mon Feb 9 10:15:05 UTC 2026 x86_64
User: www (1000)
PHP: 8.3.30
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/soqatland.com/wp-content/themes/woodmart/js/scripts/wc/emailSubscriptionCheckboxes.js
/* global woodmart_settings, woodmartThemeModule */
woodmartThemeModule.emailSubscriptionCheckboxes = function() {
	let mainCheckbox = document.querySelector('#wd_email_subscription_consent');
	
	function init() {
		if (!mainCheckbox) {
			return;
		}

		setupEventListeners();
	}

	function setupEventListeners() {
		mainCheckbox.addEventListener('change', updateIndividualCheckboxes);

		document.querySelectorAll('.wd-email-individual-consent').forEach(function(checkbox) {
			checkbox.addEventListener('change', updateMainCheckbox);
		});
	}

	function updateIndividualCheckboxes() {
		document.querySelectorAll('.wd-email-individual-consent').forEach(function(checkbox) {
			checkbox.checked = mainCheckbox.checked;

			if (mainCheckbox.checked) {
				checkbox.disabled = false;
				checkbox.value = '1';
			} else {
				checkbox.disabled = true;
				checkbox.value = '0';
			}
		});
	}

	function updateMainCheckbox() {
		if (this.checked) {
			mainCheckbox.checked = true;
			mainCheckbox.value = '1';
		} else if (!anyChecked()) {
			mainCheckbox.checked = false;
			mainCheckbox.value = '0';
		}
	}

	function anyChecked() {
		let anyChecked = false;

		document.querySelectorAll('.wd-email-individual-consent').forEach(function(box) {
			if (box.checked) {
				anyChecked = true;
			}
		});

		return anyChecked;
	}

	init();
}

window.addEventListener('load', function() {
	woodmartThemeModule.emailSubscriptionCheckboxes();
});