Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.22.68.29
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/diixadigital.com/wp-content/plugins/google-site-kit/includes/Core/Admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/diixadigital.com/wp-content/plugins/google-site-kit/includes/Core/Admin/Screen.php
<?php
/**
 * Class Google\Site_Kit\Core\Admin\Screen
 *
 * @package   Google\Site_Kit
 * @copyright 2021 Google LLC
 * @license   https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
 * @link      https://sitekit.withgoogle.com
 */

namespace Google\Site_Kit\Core\Admin;

use Google\Site_Kit\Context;
use Google\Site_Kit\Core\Assets\Assets;
use Google\Site_Kit\Core\Util\Google_Icon;
use Google\Site_Kit\Core\Util\Requires_Javascript_Trait;

/**
 * Class representing a single screen.
 *
 * @since 1.0.0
 * @access private
 * @ignore
 */
final class Screen {
	use Requires_Javascript_Trait;

	const MENU_SLUG = 'googlesitekit';

	/**
	 * Unique screen slug.
	 *
	 * @since 1.0.0
	 * @var string
	 */
	private $slug;

	/**
	 * Screen arguments.
	 *
	 * @since 1.0.0
	 * @var array
	 */
	private $args = array();

	/**
	 * Constructor.
	 *
	 * @since 1.0.0
	 *
	 * @param string $slug Unique screen slug.
	 * @param array  $args {
	 *     Associative array of screen arguments.
	 *
	 *     @type callable $render_callback     Required callback to render the page content.
	 *     @type string   $title               Required screen title.
	 *     @type string   $capability          Capability required to access the screen. Default is 'manage_options'.
	 *     @type string   $menu_title          Title to display in the menu (only if $add_to_menu is true). Default is
	 *                                         the value of $title.
	 *     @type string   $parent_slug         Slug of the parent menu screen (only if $add_to_menu is true). Default
	 *                                         empty string (which means it will be a top-level page).
	 *     @type callable $enqueue_callback    Callback to enqueue additional scripts or stylesheets. The base admin
	 *                                         script and stylesheet will always be enqueued. Default null.
	 *     @type callable $initialize_callback Callback to run actions when initializing the screen, before headers are
	 *                                         sent and markup is generated. Default null.
	 * }
	 */
	public function __construct( $slug, array $args ) {
		$this->slug = $slug;
		$this->args = wp_parse_args(
			$args,
			array(
				'render_callback'     => null,
				'title'               => '',
				'capability'          => 'manage_options',
				'menu_title'          => '',
				'parent_slug'         => self::MENU_SLUG,
				'enqueue_callback'    => null,
				'initialize_callback' => null,
			)
		);

		if ( empty( $this->args['menu_title'] ) ) {
			$this->args['menu_title'] = $this->args['title'];
		}

		$this->args['title'] = __( 'Site Kit by Google', 'google-site-kit' ) . ' ' . $this->args['title'];
	}

	/**
	 * Gets the unique screen slug.
	 *
	 * @since 1.0.0
	 *
	 * @return string Unique screen slug.
	 */
	public function get_slug() {
		return $this->slug;
	}

	/**
	 * Adds the screen to the WordPress admin backend.
	 *
	 * @since 1.0.0
	 *
	 * @param Context $context Plugin context, used for URL generation.
	 * @return string Hook suffix of the screen, or empty string if not added.
	 */
	public function add( Context $context ) {
		static $menu_slug = null;

		if ( ! $this->args['title'] ) {
			return '';
		}

		// A parent slug of null means the screen will not appear in the menu.
		$parent_slug = null;

		// If parent slug is provided, use it as parent.
		if ( ! empty( $this->args['parent_slug'] ) ) {
			$parent_slug = $this->args['parent_slug'];

			// If parent slug is 'googlesitekit', append to main Site Kit menu.
			if ( self::MENU_SLUG === $parent_slug ) {
				// If this is null, it means no menu has been added yet.
				if ( null === $menu_slug ) {
					add_menu_page(
						$this->args['title'],
						__( 'Site Kit', 'google-site-kit' ),
						$this->args['capability'],
						$this->slug,
						'',
						'data:image/svg+xml;base64,' . Google_Icon::to_base64()
					);
					$menu_slug = $this->slug;

					/**
					 * An SVG icon file needs to be colored (filled) based on the theme color setting.
					 *
					 * This exists in js as wp.svgPainter() per:
					 * https://github.com/WordPress/WordPress/blob/5.7/wp-admin/js/svg-painter.js
					 *
					 * The downside of the js approach is that we get a brief flash of an unstyled icon
					 * until the JS runs.
					 *
					 * A user can pick a custom Admin Color Scheme, which is only available in admin_init
					 * or later actions. add_menu_page runs on the admin_menu action, which precedes admin_init
					 * per https://codex.wordpress.org/Plugin_API/Action_Reference
					 *
					 * WordPress provides some color schemes out of the box, but they can also be added via
					 * wp_admin_css_color()
					 *
					 * Our workaround is to set the icon and subsequently replace it in current_screen, which is
					 * what we do in the following action.
					 */
					add_action(
						'current_screen',
						function () {
							global $menu, $_wp_admin_css_colors;

							if ( ! is_array( $menu ) ) {
								return;
							}

							$color_scheme = get_user_option( 'admin_color' ) ?: 'fresh';

							// If we're on one of the sitekit pages, use the 'current' color, otherwise use the 'base' color.
							// @see wp_admin_css_color().
							$color_key = false === strpos( get_current_screen()->id, 'googlesitekit' ) ? 'base' : 'current';

							if ( empty( $_wp_admin_css_colors[ $color_scheme ]->icon_colors[ $color_key ] ) ) {
								return;
							}

							$color = $_wp_admin_css_colors[ $color_scheme ]->icon_colors[ $color_key ];

							foreach ( $menu as &$item ) {
								if ( 'googlesitekit-dashboard' === $item[2] ) {
									$item[6] = 'data:image/svg+xml;base64,' . Google_Icon::to_base64( Google_Icon::with_fill( $color ) );
									break;
								}
							}
						},
						100
					);
				}

				// Set parent slug to actual slug of main Site Kit menu.
				$parent_slug = $menu_slug;
			}
		}

		// If submenu item or not in menu, use add_submenu_page().
		return (string) add_submenu_page(
			$parent_slug,
			$this->args['title'],
			$this->args['menu_title'],
			$this->args['capability'],
			$this->slug,
			function () use ( $context ) {
				$this->render( $context );
			}
		);
	}

	/**
	 * Runs actions when initializing the screen, before sending headers and generating markup.
	 *
	 * @since 1.0.0
	 *
	 * @param Context $context Plugin context.
	 */
	public function initialize( Context $context ) {
		if ( ! $this->args['initialize_callback'] ) {
			return;
		}

		call_user_func( $this->args['initialize_callback'], $context );
	}

	/**
	 * Enqueues assets for the screen.
	 *
	 * @since 1.0.0
	 *
	 * @param Assets $assets Assets instance to rely on for enqueueing assets.
	 */
	public function enqueue_assets( Assets $assets ) {
		// Enqueue base admin screen stylesheet.
		$assets->enqueue_asset( 'googlesitekit-admin-css' );

		$cb = is_callable( $this->args['enqueue_callback'] )
			? $this->args['enqueue_callback']
			: function ( Assets $assets ) {
				$assets->enqueue_asset( $this->slug );
			};

		call_user_func( $cb, $assets );
	}

	/**
	 * Renders the screen content.
	 *
	 * @since 1.0.0
	 *
	 * @param Context $context Plugin context.
	 */
	private function render( Context $context ) {
		$cb = is_callable( $this->args['render_callback'] )
			? $this->args['render_callback']
			: function () {
				printf( '<div id="js-%s" class="googlesitekit-page"></div>', esc_attr( $this->slug ) );
			};

		echo '<div class="googlesitekit-plugin">';
			$this->render_noscript_html();
			call_user_func( $cb, $context );
		echo '</div>';
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit