PHP 8.0.30
Preview: class-wp-internal-pointers.php Size: 4.49 KB
/home/certprox/www/wp-admin/includes/class-wp-internal-pointers.php

<?php
/**
 * Administration API: WP_Internal_Pointers class
 *
 * @package WordPress
 * @subpackage Administration
 * @since 4.4.0
 */

/**
 * Core class used to implement an internal admin pointers API.
 *
 * @since 3.3.0
 */
#[AllowDynamicProperties]
final class WP_Internal_Pointers {
	/**
	 * Initializes the new feature pointers.
	 *
	 * @since 3.3.0
	 *
	 * All pointers can be disabled using the following:
	 *     remove_action( 'admin_enqueue_scripts', array( 'WP_Internal_Pointers', 'enqueue_scripts' ) );
	 *
	 * Individual pointers (e.g. wp390_widgets) can be disabled using the following:
	 *
	 *    function yourprefix_remove_pointers() {
	 *        remove_action(
	 *            'admin_print_footer_scripts',
	 *            array( 'WP_Internal_Pointers', 'pointer_wp390_widgets' )
	 *        );
	 *    }
	 *    add_action( 'admin_enqueue_scripts', 'yourprefix_remove_pointers', 11 );
	 *
	 * @param string $hook_suffix The current admin page.
	 */
	public static function enqueue_scripts( $hook_suffix ) {
		/*
		 * Register feature pointers
		 *
		 * Format:
		 *     array(
		 *         hook_suffix => pointer callback
		 *     )
		 *
		 * Example:
		 *     array(
		 *         'themes.php' => 'wp390_widgets'
		 *     )
		 */
		$registered_pointers = array(
			// None currently.
		);

		// Check if screen related pointer is registered.
		if ( empty( $registered_pointers[ $hook_suffix ] ) ) {
			return;
		}

		$pointers = (array) $registered_pointers[ $hook_suffix ];

		/*
		 * Specify required capabilities for feature pointers
		 *
		 * Format:
		 *     array(
		 *         pointer callback => Array of required capabilities
		 *     )
		 *
		 * Example:
		 *     array(
		 *         'wp390_widgets' => array( 'edit_theme_options' )
		 *     )
		 */
		$caps_required = array(
			// None currently.
		);

		// Get dismissed pointers.
		$dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );

		$got_pointers = false;
		foreach ( array_diff( $pointers, $dismissed ) as $pointer ) {
			if ( isset( $caps_required[ $pointer ] ) ) {
				foreach ( $caps_required[ $pointer ] as $cap ) {
					if ( ! current_user_can( $cap ) ) {
						continue 2;
					}
				}
			}

			// Bind pointer print function.
			add_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_' . $pointer ) );
			$got_pointers = true;
		}

		if ( ! $got_pointers ) {
			return;
		}

		// Add pointers script and style to queue.
		wp_enqueue_style( 'wp-pointer' );
		wp_enqueue_script( 'wp-pointer' );
	}

	/**
	 * Prints the pointer JavaScript data.
	 *
	 * @since 3.3.0
	 *
	 * @param string $pointer_id The pointer ID.
	 * @param string $selector The HTML elements, on which the pointer should be attached.
	 * @param array  $args Arguments to be passed to the pointer JS (see wp-pointer.js).
	 */
	private static function print_js( $pointer_id, $selector, $args ) {
		if ( empty( $pointer_id ) || empty( $selector ) || empty( $args ) || empty( $args['content'] ) ) {
			return;
		}

		?>
		<script>
		(function($){
			var options = <?php echo wp_json_encode( $args, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ); ?>, setup;

			if ( ! options )
				return;

			options = $.extend( options, {
				close: function() {
					$.post( ajaxurl, {
						pointer: '<?php echo $pointer_id; ?>',
						action: 'dismiss-wp-pointer'
					});
				}
			});

			setup = function() {
				$('<?php echo $selector; ?>').first().pointer( options ).pointer('open');
			};

			if ( options.position && options.position.defer_loading )
				$(window).bind( 'load.wp-pointers', setup );
			else
				$( function() {
					setup();
				} );

		})( jQuery );
		</script>
		<?php
	}

	public static function pointer_wp330_toolbar() {}
	public static function pointer_wp330_media_uploader() {}
	public static function pointer_wp330_saving_widgets() {}
	public static function pointer_wp340_customize_current_theme_link() {}
	public static function pointer_wp340_choose_image_from_library() {}
	public static function pointer_wp350_media() {}
	public static function pointer_wp360_revisions() {}
	public static function pointer_wp360_locks() {}
	public static function pointer_wp390_widgets() {}
	public static function pointer_wp410_dfw() {}
	public static function pointer_wp496_privacy() {}

	/**
	 * Prevents new users from seeing existing 'new feature' pointers.
	 *
	 * @since 3.3.0
	 *
	 * @param int $user_id User ID.
	 */
	public static function dismiss_pointers_for_new_users( $user_id ) {
		add_user_meta( $user_id, 'dismissed_wp_pointers', '' );
	}
}

Directory Contents

Dirs: 0 × Files: 107

Name Size Perms Modified Actions
7.85 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
3.54 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
149.19 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
11.40 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
3.58 KB lrw-r--r-- 2023-08-09 04:24:55
Edit Download
2.53 KB lrw-r--r-- 2024-07-17 04:19:47
Edit Download
2.60 KB lrw-r--r-- 2024-07-17 04:19:46
Edit Download
6.50 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
14.84 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
21.20 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
48.03 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
4.07 KB lrw-r--r-- 2024-07-17 04:19:47
Edit Download
5.30 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
8.28 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
26.70 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
2.80 KB lrw-r--r-- 2024-07-17 04:19:48
Edit Download
15.16 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
192.08 KB lrw-r--r-- 2025-04-16 00:51:07
Edit Download
11.67 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
3.20 KB lrw-r--r-- 2023-08-09 04:24:55
Edit Download
22.70 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
12.67 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
4.08 KB lrw-r--r-- 2024-04-03 04:22:53
Edit Download
26.16 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
4.97 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
5.65 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
13.96 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
4.09 KB lrw-r--r-- 2023-08-09 04:24:55
Edit Download
6.79 KB lrw-r--r-- 2024-04-03 04:22:53
Edit Download
60.45 KB lrw-r--r-- 2025-12-03 04:18:55
Edit Download
33.82 KB lrw-r--r-- 2026-07-10 04:19:03
Edit Download
18.21 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
70.27 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
23.84 KB lrw-r--r-- 2024-04-03 04:22:53
Edit Download
18.17 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
22.73 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
18.06 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
22.84 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
7.64 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
4.49 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
9.30 KB lrw-r--r-- 2026-07-10 04:19:03
Edit Download
1.46 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
51.86 KB lrw-r--r-- 2026-07-10 04:19:03
Edit Download
26.45 KB lrw-r--r-- 2026-07-10 04:19:03
Edit Download
22.23 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
29.52 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
15.32 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
24.39 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
56.75 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
1.42 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
63.47 KB lrw-r--r-- 2026-07-10 04:19:03
Edit Download
5.43 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
5.58 KB lrw-r--r-- 2023-11-08 04:20:33
Edit Download
31.90 KB lrw-r--r-- 2025-12-03 04:18:53
Edit Download
14.44 KB lrw-r--r-- 2025-12-03 04:18:55
Edit Download
36.59 KB lrw-r--r-- 2026-07-10 04:19:03
Edit Download
14.00 KB lrw-r--r-- 2025-04-16 00:51:08
Edit Download
128.17 KB lrw-r--r-- 2026-05-21 02:36:27
Edit Download
6.26 KB lrw-r--r-- 2024-04-03 04:22:53
Edit Download
20.58 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
15.33 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
10.10 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
6.90 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
1.44 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
47.23 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
18.56 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
6.08 KB lrw-r--r-- 2025-12-03 04:18:55
Edit Download
20.06 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
5.70 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
68.73 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
40.77 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
1.44 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
60.87 KB lrw-r--r-- 2026-07-25 17:14:39
Edit Download
25.37 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
95.62 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
42.96 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
44.11 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
6.46 KB lrw-r--r-- 2024-11-13 19:27:59
Edit Download
3.71 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
117.14 KB lrw-r--r-- 2026-07-10 04:19:03
Edit Download
9.41 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
65.29 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
45.35 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
1.27 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
3.68 KB lrw-r--r-- 2022-12-03 11:54:22
Edit Download
33.45 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
47.98 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
26.40 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
1.12 KB lrw-r--r-- 2023-11-08 04:20:35
Edit Download
4.14 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
38.24 KB lrw-r--r-- 2026-07-10 04:19:03
Edit Download
91.09 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
80.33 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
32.66 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
16.24 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
44.51 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
6.24 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download
8.28 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
97.35 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
6.83 KB lrw-r--r-- 2024-04-03 04:22:52
Edit Download
46.42 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
10.82 KB lrw-r--r-- 2024-11-13 19:27:59
Edit Download
71.20 KB lrw-r--r-- 2026-07-17 19:20:44
Edit Download
34.03 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
113.96 KB lrw-r--r-- 2026-05-21 02:36:26
Edit Download
23.39 KB lrw-r--r-- 2026-05-21 02:36:25
Edit Download
10.30 KB lrw-r--r-- 2026-05-21 02:36:24
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).