Priority File Manager

📁 public_html
Base Directory:
/home/toolrmtm/crazyespresso.com/wp-includes
NameTypeSizeActions
📁 .. Folder -
📁 ID3 Folder -
📁 IXR Folder -
📁 PHPMailer Folder -
📁 Requests Folder -
📁 SimplePie Folder -
📁 Text Folder -
📁 abilities-api Folder -
📄 abilities-api.php File 24369
Edit Download
📄 abilities.php File 7983
Edit Download
📄 admin-bar.php File 36966
Edit Download
📁 assets Folder -
📄 atomlib.php File 12181
Edit Download
📄 author-template.php File 19391
Edit Download
📁 block-bindings Folder -
📄 block-bindings.php File 7526
Edit Download
📄 block-editor.php File 29282
Edit Download
📄 block-i18n.json File 316
Edit Download
📁 block-patterns Folder -
📄 block-patterns.php File 13213
Edit Download
📁 block-supports Folder -
📄 block-template-utils.php File 62484
Edit Download
📄 block-template.php File 15359
Edit Download
📁 blocks Folder -
📄 blocks.php File 114739
Edit Download
📄 bookmark-template.php File 12768
Edit Download
📄 bookmark.php File 15427
Edit Download
📄 cache-compat.php File 10078
Edit Download
📄 cache.php File 13486
Edit Download
📄 canonical.php File 34645
Edit Download
📄 capabilities.php File 43652
Edit Download
📄 category-template.php File 57045
Edit Download
📄 category.php File 12829
Edit Download
📁 certificates Folder -
📄 class-IXR.php File 2616
Edit Download
📄 class-avif-info.php File 29615
Edit Download
📄 class-feed.php File 539
Edit Download
📄 class-http.php File 367
Edit Download
📄 class-json.php File 43676
Edit Download
📄 class-oembed.php File 401
Edit Download
📄 class-phpass.php File 6771
Edit Download
📄 class-phpmailer.php File 664
Edit Download
📄 class-pop3.php File 21121
Edit Download
📄 class-requests.php File 2237
Edit Download
📄 class-simplepie.php File 453
Edit Download
📄 class-smtp.php File 457
Edit Download
📄 class-snoopy.php File 37715
Edit Download
📄 class-walker-category-dropdown.php File 2469
Edit Download
📄 class-walker-category.php File 8477
Edit Download
📄 class-walker-comment.php File 14221
Edit Download
📄 class-walker-nav-menu.php File 12044
Edit Download
📄 class-walker-page-dropdown.php File 2710
Edit Download
📄 class-walker-page.php File 7612
Edit Download
📄 class-wp-admin-bar.php File 17874
Edit Download
📄 class-wp-ajax-response.php File 5266
Edit Download
📄 class-wp-application-passwords.php File 17099
Edit Download
📄 class-wp-block-bindings-registry.php File 8482
Edit Download
📄 class-wp-block-bindings-source.php File 2992
Edit Download
📄 class-wp-block-editor-context.php File 1350
Edit Download
📄 class-wp-block-list.php File 4713
Edit Download
📄 class-wp-block-metadata-registry.php File 11895
Edit Download
📄 class-wp-block-parser-block.php File 2555
Edit Download
📄 class-wp-block-parser-frame.php File 2017
Edit Download
📄 class-wp-block-parser.php File 11516
Edit Download
📄 class-wp-block-pattern-categories-registry.php File 5450
Edit Download
📄 class-wp-block-patterns-registry.php File 10851
Edit Download
📄 class-wp-block-processor.php File 69469
Edit Download
📄 class-wp-block-styles-registry.php File 6497
Edit Download
📄 class-wp-block-supports.php File 5626
Edit Download
📄 class-wp-block-template.php File 2033
Edit Download
📄 class-wp-block-templates-registry.php File 7193
Edit Download
📄 class-wp-block-type-registry.php File 5030
Edit Download
📄 class-wp-block-type.php File 17265
Edit Download
📄 class-wp-block.php File 24812
Edit Download
📄 class-wp-classic-to-block-menu-converter.php File 4070
Edit Download
📄 class-wp-comment-query.php File 48804
Edit Download
📄 class-wp-comment.php File 9437
Edit Download
📄 class-wp-customize-control.php File 26119
Edit Download
📄 class-wp-customize-manager.php File 203139
Edit Download
📄 class-wp-customize-nav-menus.php File 58013
Edit Download
📄 class-wp-customize-panel.php File 10710
Edit Download
📄 class-wp-customize-section.php File 11209
Edit Download
📄 class-wp-customize-setting.php File 29962
Edit Download
📄 class-wp-customize-widgets.php File 72607
Edit Download
📄 class-wp-date-query.php File 36147
Edit Download
📄 class-wp-dependencies.php File 15381
Edit Download
📄 class-wp-dependency.php File 2633
Edit Download
📄 class-wp-duotone.php File 40783
Edit Download
📄 class-wp-editor.php File 72335
Edit Download
📄 class-wp-embed.php File 15931
Edit Download
📄 class-wp-error.php File 7502
Edit Download
📄 class-wp-exception.php File 253
Edit Download
📄 class-wp-fatal-error-handler.php File 8150
Edit Download
📄 class-wp-feed-cache-transient.php File 3304
Edit Download
📄 class-wp-feed-cache.php File 969
Edit Download
📄 class-wp-hook.php File 16674
Edit Download
📄 class-wp-http-cookie.php File 7389
Edit Download
📄 class-wp-http-curl.php File 13261
Edit Download
📄 class-wp-http-encoding.php File 6689
Edit Download
📄 class-wp-http-ixr-client.php File 3501
Edit Download
📄 class-wp-http-proxy.php File 5980
Edit Download
📄 class-wp-http-requests-hooks.php File 2022
Edit Download
📄 class-wp-http-requests-response.php File 4400
Edit Download
📄 class-wp-http-response.php File 2977
Edit Download
📄 class-wp-http-streams.php File 16859
Edit Download
📄 class-wp-http.php File 41570
Edit Download
📄 class-wp-image-editor-gd.php File 20705
Edit Download
📄 class-wp-image-editor-imagick.php File 36977
Edit Download
📄 class-wp-image-editor.php File 17415
Edit Download
📄 class-wp-list-util.php File 7443
Edit Download
📄 class-wp-locale-switcher.php File 6776
Edit Download
📄 class-wp-locale.php File 16883
Edit Download
📄 class-wp-matchesmapregex.php File 1828
Edit Download
📄 class-wp-meta-query.php File 30533
Edit Download
📄 class-wp-metadata-lazyloader.php File 6833
Edit Download
📄 class-wp-navigation-fallback.php File 9193
Edit Download
📄 class-wp-network-query.php File 19887
Edit Download
📄 class-wp-network.php File 12296
Edit Download
📄 class-wp-object-cache.php File 17524
Edit Download
📄 class-wp-oembed-controller.php File 6905
Edit Download
📄 class-wp-oembed.php File 31670
Edit Download
📄 class-wp-paused-extensions-storage.php File 5111
Edit Download
📄 class-wp-phpmailer.php File 4348
Edit Download
📄 class-wp-plugin-dependencies.php File 25315
Edit Download
📄 class-wp-post-type.php File 30680
Edit Download
📄 class-wp-post.php File 6491
Edit Download
📄 class-wp-query.php File 163744
Edit Download
📄 class-wp-recovery-mode-cookie-service.php File 6877
Edit Download
📄 class-wp-recovery-mode-email-service.php File 11183
Edit Download
📄 class-wp-recovery-mode-key-service.php File 4884
Edit Download
📄 class-wp-recovery-mode-link-service.php File 3463
Edit Download
📄 class-wp-recovery-mode.php File 11453
Edit Download
📄 class-wp-rewrite.php File 63687
Edit Download
📄 class-wp-role.php File 2523
Edit Download
📄 class-wp-roles.php File 9394
Edit Download
📄 class-wp-script-modules.php File 31882
Edit Download
📄 class-wp-scripts.php File 34177
Edit Download
📄 class-wp-session-tokens.php File 7319
Edit Download
📄 class-wp-simplepie-file.php File 3552
Edit Download
📄 class-wp-simplepie-sanitize-kses.php File 1910
Edit Download
📄 class-wp-site-query.php File 31655
Edit Download
📄 class-wp-site.php File 7467
Edit Download
📄 class-wp-speculation-rules.php File 7527
Edit Download
📄 class-wp-styles.php File 12144
Edit Download
📄 class-wp-tax-query.php File 19577
Edit Download
📄 class-wp-taxonomy.php File 18559
Edit Download
📄 class-wp-term-query.php File 40953
Edit Download
📄 class-wp-term.php File 5298
Edit Download
📄 class-wp-text-diff-renderer-inline.php File 979
Edit Download
📄 class-wp-text-diff-renderer-table.php File 18880
Edit Download
📄 class-wp-textdomain-registry.php File 10481
Edit Download
📄 class-wp-theme-json-data.php File 1809
Edit Download
📄 class-wp-theme-json-resolver.php File 35738
Edit Download
📄 class-wp-theme-json-schema.php File 7367
Edit Download
📄 class-wp-theme-json.php File 164347
Edit Download
📄 class-wp-theme.php File 65810
Edit Download
📄 class-wp-token-map.php File 28618
Edit Download
📄 class-wp-url-pattern-prefixer.php File 4802
Edit Download
📄 class-wp-user-meta-session-tokens.php File 3011
Edit Download
📄 class-wp-user-query.php File 44166
Edit Download
📄 class-wp-user-request.php File 2305
Edit Download
📄 class-wp-user.php File 23044
Edit Download
📄 class-wp-walker.php File 13322
Edit Download
📄 class-wp-widget-factory.php File 3347
Edit Download
📄 class-wp-widget.php File 18429
Edit Download
📄 class-wp-xmlrpc-server.php File 215447
Edit Download
📄 class-wp.php File 26481
Edit Download
📄 class-wpdb.php File 118627
Edit Download
📄 class.wp-dependencies.php File 373
Edit Download
📄 class.wp-scripts.php File 343
Edit Download
📄 class.wp-styles.php File 338
Edit Download
📄 comment-template.php File 103145
Edit Download
📄 comment.php File 134069
Edit Download
📄 compat-utf8.php File 19554
Edit Download
📄 compat.php File 17830
Edit Download
📄 cron.php File 42988
Edit Download
📁 css Folder -
📁 customize Folder -
📄 date.php File 400
Edit Download
📄 default-constants.php File 11365
Edit Download
📄 default-filters.php File 37910
Edit Download
📄 default-widgets.php File 2295
Edit Download
📄 deprecated.php File 192644
Edit Download
📄 embed-template.php File 338
Edit Download
📄 embed.php File 38911
Edit Download
📄 error-protection.php File 4121
Edit Download
📄 feed-atom-comments.php File 5504
Edit Download
📄 feed-atom.php File 3121
Edit Download
📄 feed-rdf.php File 2668
Edit Download
📄 feed-rss.php File 1189
Edit Download
📄 feed-rss2-comments.php File 4136
Edit Download
📄 feed-rss2.php File 3799
Edit Download
📄 feed.php File 23579
Edit Download
📁 fonts Folder -
📄 fonts.php File 9790
Edit Download
📄 formatting.php File 354741
Edit Download
📄 functions.php File 288600
Edit Download
📄 functions.wp-scripts.php File 15311
Edit Download
📄 functions.wp-styles.php File 8641
Edit Download
📄 general-template.php File 173004
Edit Download
📄 global-styles-and-settings.php File 21204
Edit Download
📁 html-api Folder -
📄 http.php File 25878
Edit Download
📄 https-detection.php File 5857
Edit Download
📄 https-migration.php File 4741
Edit Download
📁 images Folder -
📁 interactivity-api Folder -
📁 js Folder -
📄 kses.php File 83677
Edit Download
📁 l10n Folder -
📄 l10n.php File 68797
Edit Download
📄 link-template.php File 160117
Edit Download
📄 load.php File 56510
Edit Download
📄 locale.php File 162
Edit Download
📄 media-template.php File 63197
Edit Download
📄 media.php File 221186
Edit Download
📄 meta.php File 66556
Edit Download
📄 ms-blogs.php File 25845
Edit Download
📄 ms-default-constants.php File 4921
Edit Download
📄 ms-default-filters.php File 6636
Edit Download
📄 ms-deprecated.php File 21759
Edit Download
📄 ms-files.php File 2857
Edit Download
📄 ms-functions.php File 91842
Edit Download
📄 ms-load.php File 19887
Edit Download
📄 ms-network.php File 3782
Edit Download
📄 ms-settings.php File 4204
Edit Download
📄 ms-site.php File 41717
Edit Download
📄 nav-menu-template.php File 25990
Edit Download
📄 nav-menu.php File 44373
Edit Download
📄 option.php File 105035
Edit Download
📁 php-compat Folder -
📄 pluggable-deprecated.php File 6324
Edit Download
📄 pluggable.php File 127440
Edit Download
📄 plugin.php File 36501
Edit Download
📁 pomo Folder -
📄 post-formats.php File 7102
Edit Download
📄 post-template.php File 68648
Edit Download
📄 post-thumbnail-template.php File 10879
Edit Download
📄 post.php File 296072
Edit Download
📄 query.php File 37095
Edit Download
📄 registration-functions.php File 200
Edit Download
📄 registration.php File 200
Edit Download
📁 rest-api Folder -
📄 rest-api.php File 100654
Edit Download
📄 revision.php File 30741
Edit Download
📄 rewrite.php File 19490
Edit Download
📄 robots-template.php File 5185
Edit Download
📄 rss-functions.php File 255
Edit Download
📄 rss.php File 23203
Edit Download
📄 script-loader.php File 153993
Edit Download
📄 script-modules.php File 9911
Edit Download
📄 session.php File 258
Edit Download
📄 shortcodes.php File 24050
Edit Download
📁 sitemaps Folder -
📄 sitemaps.php File 3238
Edit Download
📁 sodium_compat Folder -
📄 speculative-loading.php File 8600
Edit Download
📄 spl-autoload-compat.php File 441
Edit Download
📁 style-engine Folder -
📄 style-engine.php File 7563
Edit Download
📄 taxonomy.php File 177058
Edit Download
📄 template-canvas.php File 544
Edit Download
📄 template-loader.php File 3929
Edit Download
📄 template.php File 36834
Edit Download
📁 theme-compat Folder -
📄 theme-i18n.json File 1526
Edit Download
📄 theme-previews.php File 2910
Edit Download
📄 theme-templates.php File 6238
Edit Download
📄 theme.json File 8921
Edit Download
📄 theme.php File 135008
Edit Download
📄 update.php File 38353
Edit Download
📄 user.php File 178062
Edit Download
📄 utf8.php File 7260
Edit Download
📄 vars.php File 6562
Edit Download
📄 version.php File 1104
Edit Download
📁 widgets Folder -
📄 widgets.php File 71129
Edit Download
📄 wp-db.php File 445
Edit Download
📄 wp-diff.php File 799
Edit Download

View File: class-wp-locale-switcher.php

<?php
/**
 * Locale API: WP_Locale_Switcher class
 *
 * @package WordPress
 * @subpackage i18n
 * @since 4.7.0
 */

/**
 * Core class used for switching locales.
 *
 * @since 4.7.0
 */
#[AllowDynamicProperties]
class WP_Locale_Switcher {
	/**
	 * Locale switching stack.
	 *
	 * @since 6.2.0
	 * @var array
	 */
	private $stack = array();

	/**
	 * Original locale.
	 *
	 * @since 4.7.0
	 * @var string
	 */
	private $original_locale;

	/**
	 * Holds all available languages.
	 *
	 * @since 4.7.0
	 * @var string[] An array of language codes (file names without the .mo extension).
	 */
	private $available_languages;

	/**
	 * Constructor.
	 *
	 * Stores the original locale as well as a list of all available languages.
	 *
	 * @since 4.7.0
	 */
	public function __construct() {
		$this->original_locale     = determine_locale();
		$this->available_languages = array_merge( array( 'en_US' ), get_available_languages() );
	}

	/**
	 * Initializes the locale switcher.
	 *
	 * Hooks into the {@see 'locale'} and {@see 'determine_locale'} filters
	 * to change the locale on the fly.
	 *
	 * @since 4.7.0
	 */
	public function init() {
		add_filter( 'locale', array( $this, 'filter_locale' ) );
		add_filter( 'determine_locale', array( $this, 'filter_locale' ) );
	}

	/**
	 * Switches the translations according to the given locale.
	 *
	 * @since 4.7.0
	 *
	 * @param string    $locale  The locale to switch to.
	 * @param int|false $user_id Optional. User ID as context. Default false.
	 * @return bool True on success, false on failure.
	 */
	public function switch_to_locale( $locale, $user_id = false ) {
		$current_locale = determine_locale();
		if ( $current_locale === $locale ) {
			return false;
		}

		if ( ! in_array( $locale, $this->available_languages, true ) ) {
			return false;
		}

		$this->stack[] = array( $locale, $user_id );

		$this->change_locale( $locale );

		/**
		 * Fires when the locale is switched.
		 *
		 * @since 4.7.0
		 * @since 6.2.0 The `$user_id` parameter was added.
		 *
		 * @param string    $locale  The new locale.
		 * @param false|int $user_id User ID for context if available.
		 */
		do_action( 'switch_locale', $locale, $user_id );

		return true;
	}

	/**
	 * Switches the translations according to the given user's locale.
	 *
	 * @since 6.2.0
	 *
	 * @param int $user_id User ID.
	 * @return bool True on success, false on failure.
	 */
	public function switch_to_user_locale( $user_id ) {
		$locale = get_user_locale( $user_id );
		return $this->switch_to_locale( $locale, $user_id );
	}

	/**
	 * Restores the translations according to the previous locale.
	 *
	 * @since 4.7.0
	 *
	 * @return string|false Locale on success, false on failure.
	 */
	public function restore_previous_locale() {
		$previous_locale = array_pop( $this->stack );

		if ( null === $previous_locale ) {
			// The stack is empty, bail.
			return false;
		}

		$entry  = end( $this->stack );
		$locale = is_array( $entry ) ? $entry[0] : false;

		if ( ! $locale ) {
			// There's nothing left in the stack: go back to the original locale.
			$locale = $this->original_locale;
		}

		$this->change_locale( $locale );

		/**
		 * Fires when the locale is restored to the previous one.
		 *
		 * @since 4.7.0
		 *
		 * @param string $locale          The new locale.
		 * @param string $previous_locale The previous locale.
		 */
		do_action( 'restore_previous_locale', $locale, $previous_locale[0] );

		return $locale;
	}

	/**
	 * Restores the translations according to the original locale.
	 *
	 * @since 4.7.0
	 *
	 * @return string|false Locale on success, false on failure.
	 */
	public function restore_current_locale() {
		if ( empty( $this->stack ) ) {
			return false;
		}

		$this->stack = array( array( $this->original_locale, false ) );

		return $this->restore_previous_locale();
	}

	/**
	 * Whether switch_to_locale() is in effect.
	 *
	 * @since 4.7.0
	 *
	 * @return bool True if the locale has been switched, false otherwise.
	 */
	public function is_switched() {
		return ! empty( $this->stack );
	}

	/**
	 * Returns the locale currently switched to.
	 *
	 * @since 6.2.0
	 *
	 * @return string|false Locale if the locale has been switched, false otherwise.
	 */
	public function get_switched_locale() {
		$entry = end( $this->stack );

		if ( $entry ) {
			return $entry[0];
		}

		return false;
	}

	/**
	 * Returns the user ID related to the currently switched locale.
	 *
	 * @since 6.2.0
	 *
	 * @return int|false User ID if set and if the locale has been switched, false otherwise.
	 */
	public function get_switched_user_id() {
		$entry = end( $this->stack );

		if ( $entry ) {
			return $entry[1];
		}

		return false;
	}

	/**
	 * Filters the locale of the WordPress installation.
	 *
	 * @since 4.7.0
	 *
	 * @param string $locale The locale of the WordPress installation.
	 * @return string The locale currently being switched to.
	 */
	public function filter_locale( $locale ) {
		$switched_locale = $this->get_switched_locale();

		if ( $switched_locale ) {
			return $switched_locale;
		}

		return $locale;
	}

	/**
	 * Load translations for a given locale.
	 *
	 * When switching to a locale, translations for this locale must be loaded from scratch.
	 *
	 * @since 4.7.0
	 *
	 * @global Mo[] $l10n An array of all currently loaded text domains.
	 *
	 * @param string $locale The locale to load translations for.
	 */
	private function load_translations( $locale ) {
		global $l10n;

		$domains = $l10n ? array_keys( $l10n ) : array();

		load_default_textdomain( $locale );

		foreach ( $domains as $domain ) {
			// The default text domain is handled by `load_default_textdomain()`.
			if ( 'default' === $domain ) {
				continue;
			}

			/*
			 * Unload current text domain but allow them to be reloaded
			 * after switching back or to another locale.
			 */
			unload_textdomain( $domain, true );
			get_translations_for_domain( $domain );
		}
	}

	/**
	 * Changes the site's locale to the given one.
	 *
	 * Loads the translations, changes the global `$wp_locale` object and updates
	 * all post type labels.
	 *
	 * @since 4.7.0
	 *
	 * @global WP_Locale $wp_locale WordPress date and time locale object.
	 * @global PHPMailer\PHPMailer\PHPMailer $phpmailer
	 *
	 * @param string $locale The locale to change to.
	 */
	private function change_locale( $locale ) {
		global $wp_locale, $phpmailer;

		$this->load_translations( $locale );

		$wp_locale = new WP_Locale();

		WP_Translation_Controller::get_instance()->set_locale( $locale );

		if ( $phpmailer instanceof WP_PHPMailer ) {
			$phpmailer->setLanguage();
		}

		/**
		 * Fires when the locale is switched to or restored.
		 *
		 * @since 4.7.0
		 *
		 * @param string $locale The new locale.
		 */
		do_action( 'change_locale', $locale );
	}
}