✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server366.web-hosting.com ​🇻​♯➤ 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 67.223.118.204 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/builxejc/public_html/wp-content/plugins/woocommerce/src/Admin//PluginsInstaller.php
<?php
/**
 * PluginsInstaller
 *
 * Installer to allow plugin installation via URL query.
 */

namespace Automattic\WooCommerce\Admin;

defined( 'ABSPATH' ) || exit;

use Automattic\WooCommerce\Admin\API\Plugins;
use Automattic\WooCommerce\Admin\Features\TransientNotices;

/**
 * Class PluginsInstaller
 */
class PluginsInstaller {

	/**
	 * Constructor
	 */
	public static function init() {
		add_action( 'admin_init', array( __CLASS__, 'possibly_install_activate_plugins' ) );
	}

	/**
	 * Check if an install or activation is being requested via URL query.
	 */
	public static function possibly_install_activate_plugins() {
		/* phpcs:disable WordPress.Security.NonceVerification.Recommended */
		if (
			! isset( $_GET['plugin_action'] ) ||
			! isset( $_GET['plugins'] ) ||
			! current_user_can( 'install_plugins' ) ||
			! isset( $_GET['nonce'] )
		) {
			return;
		}

		$nonce = sanitize_text_field( wp_unslash( $_GET['nonce'] ) );

		if ( ! wp_verify_nonce( $nonce, 'install-plugin' ) ) {
			wp_nonce_ays( 'install-plugin' );
		}

		$plugins       = sanitize_text_field( wp_unslash( $_GET['plugins'] ) );
		$plugin_action = sanitize_text_field( wp_unslash( $_GET['plugin_action'] ) );
		/* phpcs:enable WordPress.Security.NonceVerification.Recommended */

		$plugins_api     = new Plugins();
		$install_result  = null;
		$activate_result = null;

		switch ( $plugin_action ) {
			case 'install':
				$install_result = $plugins_api->install_plugins( array( 'plugins' => $plugins ) );
				break;
			case 'activate':
				$activate_result = $plugins_api->activate_plugins( array( 'plugins' => $plugins ) );
				break;
			case 'install-activate':
				$install_result  = $plugins_api->install_plugins( array( 'plugins' => $plugins ) );
				$activate_result = $plugins_api->activate_plugins( array( 'plugins' => implode( ',', $install_result['data']['installed'] ) ) );
				break;
		}

		self::cache_results( $plugins, $install_result, $activate_result );
		self::redirect_to_referer();
	}

	/**
	 * Display the results of installation and activation on the page.
	 *
	 * @param string $plugins Comma separated list of plugins.
	 * @param array  $install_result Result of installation.
	 * @param array  $activate_result Result of activation.
	 */
	public static function cache_results( $plugins, $install_result, $activate_result ) {
		if ( ! $install_result && ! $activate_result ) {
			return;
		}

		if ( is_wp_error( $install_result ) || is_wp_error( $activate_result ) ) {
			$message = $activate_result ? $activate_result->get_error_message() : $install_result->get_error_message();
		} else {
			$message = $activate_result ? $activate_result['message'] : $install_result['message'];
		}

		TransientNotices::add(
			array(
				'user_id' => get_current_user_id(),
				'id'      => 'plugin-installer-' . str_replace( ',', '-', $plugins ),
				'status'  => 'success',
				'content' => $message,
			)
		);
	}

	/**
	 * Redirect back to the referring page if one exists.
	 */
	public static function redirect_to_referer() {
		$referer = wp_get_referer();
		if ( $referer && 0 !== strpos( $referer, wp_login_url() ) ) {
			wp_safe_redirect( $referer );
			exit();
		}

		if ( ! isset( $_SERVER['REQUEST_URI'] ) ) {
			return;
		}

		$url = remove_query_arg( 'plugin_action', wp_unslash( $_SERVER['REQUEST_URI'] ) ); // phpcs:ignore sanitization ok.
		$url = remove_query_arg( 'plugins', $url );
		wp_safe_redirect( $url );
		exit();
	}
}


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
API
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
BlockTemplates
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
Composer
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
DateTimeProvider
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
Features
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
Marketing
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
Notes
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
Overrides
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
PluginsInstallLoggers
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
PluginsProvider
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
RemoteInboxNotifications
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
RemoteSpecs
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
Schedulers
--
9 Jun 2026 8.39 AM
builxejc / builxejc
0755
DataSourcePoller.php
2.163 KB
10 Apr 2024 4.54 PM
builxejc / builxejc
0644
DeprecatedClassFacade.php
3.194 KB
18 Dec 2024 10.19 PM
builxejc / builxejc
0644
FeaturePlugin.php
0.933 KB
13 May 2022 3.11 AM
builxejc / builxejc
0644
Loader.php
2.686 KB
26 Mar 2024 4.56 PM
builxejc / builxejc
0644
PageController.php
20.976 KB
23 Feb 2026 5.58 PM
builxejc / builxejc
0644
PluginsHelper.php
39.252 KB
30 Mar 2026 5.12 PM
builxejc / builxejc
0644
PluginsInstaller.php
3.363 KB
20 Apr 2022 6.50 AM
builxejc / builxejc
0644
ReportCSVEmail.php
4.064 KB
12 May 2025 9.07 PM
builxejc / builxejc
0644
ReportCSVExporter.php
10.129 KB
3 Mar 2025 10.28 PM
builxejc / builxejc
0644
ReportExporter.php
6.28 KB
21 Mar 2023 8.45 PM
builxejc / builxejc
0644
ReportsSync.php
6.692 KB
23 Feb 2026 5.58 PM
builxejc / builxejc
0644
WCAdminHelper.php
6.727 KB
22 Apr 2025 3.40 PM
builxejc / builxejc
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF