| Server IP : 68.178.247.200 / Your IP : 216.73.216.110 Web Server : Apache System : Linux p3plzcpnl489463.prod.phx3.secureserver.net 4.18.0-553.126.2.lve.el8.x86_64 #1 SMP Thu May 28 14:12:30 UTC 2026 x86_64 User : x9dppmxs4rgd ( 8559391) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/cwd/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/ |
Upload File : |
<?php
class wfShutdownFunction {
private $callable;
private $priority;
public function __construct($callable, $priority) {
$this->callable = $callable;
$this->priority = $priority;
}
public function invoke() {
call_user_func($this->callable);
}
public function getPriority() {
return $this->priority;
}
public function __wakeup() {
$this->callable = function() {};
}
}
class wfShutdownRegistry {
private static $instance = null;
const PRIORITY_LAST = 100;
private $functions = array();
private $registered = false;
public function handleShutdown() {
usort($this->functions, function ($a, $b) {
return $a->getPriority() - $b->getPriority();
});
foreach ($this->functions as $function) {
$function->invoke();
}
}
public function register($function, $priority = 50) {
array_push($this->functions, new wfShutdownFunction($function, $priority));
$this->registerSelf();
}
private function registerSelf() {
if (!$this->registered) {
register_shutdown_function(array($this, 'handleShutdown'));
$this->registered = true;
}
}
public function __wakeup() {
$this->functions = array();
$this->registered = false;
}
public static function getDefaultInstance() {
if (self::$instance === null)
self::$instance = new self();
return self::$instance;
}
}