Server IP : 168.119.101.163  /  Your IP : 216.73.217.54
Web Server : Apache/2
System : Linux web02.webzuiver.nl 4.18.0-553.126.2.lve.el8.x86_64 #1 SMP Thu May 28 14:12:30 UTC 2026 x86_64
User : equine ( 1027)
PHP Version : 8.1.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /home/equine/public_html/wp-content/plugins/wordfence/lib/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/equine/public_html/wp-content/plugins/wordfence/lib/wfPersistenceController.php
<?php

/**
 * wfPersistenceController controls the persistence of disclosure states within the plugin. By default, all states are
 * inactive except those listed in DEFAULT_STATES.
 */
class wfPersistenceController {
	const DEFAULT_STATES = array(
		'audit-log-options' => true,
		'wf-unified-audit-log-options' => true,
	);
	private $_disclosureStates;
	
	public static function shared() {
		static $_shared = false;
		if ($_shared === false) {
			$_shared = new wfPersistenceController();
		}
		return $_shared;
	}
	
	public function __construct() {
		$this->_disclosureStates = wfConfig::get_ser('disclosureStates', array());
	}
	
	/**
	 * Returns whether the options block is in an active state. 
	 * 
	 * @param $key
	 * @return bool
	 */
	public function isActive($key) {
		$default = array_key_exists($key, self::DEFAULT_STATES) && self::DEFAULT_STATES[$key];
		if (!isset($this->_disclosureStates[$key])) {
			return $default;
		}
		return !!$this->_disclosureStates[$key];
	}
	
	/**
	 * Returns whether the options block has been set.
	 *
	 * @param $key
	 * @return bool
	 */
	public function isConfigured($key) {
		return isset($this->_disclosureStates[$key]);
	}
	
	/**
	 * Returns an array of all active disclosure state keys.
	 *
	 * @return string[]
	 */
	public function activeKeys() {
		return array_keys(array_filter(array_merge(self::DEFAULT_STATES, $this->_disclosureStates), function($v) {
			return $v;
		}));
	}
}