__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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

namespace Yoast\WHIPv2;

use Yoast\WHIPv2\Exceptions\InvalidType;
use Yoast\WHIPv2\Interfaces\Message;
use Yoast\WHIPv2\Interfaces\Requirement;
use Yoast\WHIPv2\Messages\InvalidVersionRequirementMessage;
use Yoast\WHIPv2\Messages\UpgradePhpMessage;

/**
 * Main controller class to require a certain version of software.
 */
class RequirementsChecker {

	/**
	 * Requirements the environment should comply with.
	 *
	 * @var array<Requirement>
	 */
	private $requirements;

	/**
	 * The configuration to check.
	 *
	 * @var Configuration
	 */
	private $configuration;

	/**
	 * Message Manager.
	 *
	 * @var MessagesManager
	 */
	private $messageManager;

	/**
	 * The text domain to use for translations.
	 *
	 * @var string
	 */
	private $textdomain;

	/**
	 * RequirementsChecker constructor.
	 *
	 * @param array<string, string> $configuration The configuration to check.
	 * @param string                $textdomain    The text domain to use for translations.
	 *
	 * @throws InvalidType When the $configuration parameter is not of the expected type.
	 */
	public function __construct( $configuration = array(), $textdomain = 'default' ) {
		$this->requirements   = array();
		$this->configuration  = new Configuration( $configuration );
		$this->messageManager = new MessagesManager();
		$this->textdomain     = $textdomain;
	}

	/**
	 * Adds a requirement to the list of requirements if it doesn't already exist.
	 *
	 * @param Requirement $requirement The requirement to add.
	 *
	 * @return void
	 */
	public function addRequirement( Requirement $requirement ) {
		// Only allow unique entries to ensure we're not checking specific combinations multiple times.
		if ( $this->requirementExistsForComponent( $requirement->component() ) ) {
			return;
		}

		$this->requirements[] = $requirement;
	}

	/**
	 * Determines whether or not there are requirements available.
	 *
	 * @return bool Whether or not there are requirements.
	 */
	public function hasRequirements() {
		return $this->totalRequirements() > 0;
	}

	/**
	 * Gets the total amount of requirements.
	 *
	 * @return int The total amount of requirements.
	 */
	public function totalRequirements() {
		return \count( $this->requirements );
	}

	/**
	 * Determines whether or not a requirement exists for a particular component.
	 *
	 * @param string $component The component to check for.
	 *
	 * @return bool Whether or not the component has a requirement defined.
	 */
	public function requirementExistsForComponent( $component ) {
		foreach ( $this->requirements as $requirement ) {
			if ( $requirement->component() === $component ) {
				return true;
			}
		}

		return false;
	}

	/**
	 * Determines whether a requirement has been fulfilled.
	 *
	 * @param Requirement $requirement The requirement to check.
	 *
	 * @return bool Whether or not the requirement is fulfilled.
	 */
	private function requirementIsFulfilled( Requirement $requirement ) {
		$availableVersion = $this->configuration->configuredVersion( $requirement );
		$requiredVersion  = $requirement->version();

		if ( \in_array( $requirement->operator(), array( '=', '==', '===' ), true ) ) {
			return \version_compare( $availableVersion, $requiredVersion, '>=' );
		}

		return \version_compare( $availableVersion, $requiredVersion, $requirement->operator() );
	}

	/**
	 * Checks if all requirements are fulfilled and adds a message to the message manager if necessary.
	 *
	 * @return void
	 */
	public function check() {
		foreach ( $this->requirements as $requirement ) {
			// Match against config.
			$requirementFulfilled = $this->requirementIsFulfilled( $requirement );

			if ( $requirementFulfilled ) {
				continue;
			}

			$this->addMissingRequirementMessage( $requirement );
		}
	}

	/**
	 * Adds a message to the message manager for requirements that cannot be fulfilled.
	 *
	 * @param Requirement $requirement The requirement that cannot be fulfilled.
	 *
	 * @return void
	 */
	private function addMissingRequirementMessage( Requirement $requirement ) {
		switch ( $requirement->component() ) {
			case 'php':
				$this->messageManager->addMessage( new UpgradePhpMessage( $this->textdomain ) );
				break;
			default:
				$this->messageManager->addMessage( new InvalidVersionRequirementMessage( $requirement, $this->configuration->configuredVersion( $requirement ) ) );
				break;
		}
	}

	/**
	 * Determines whether or not there are messages available.
	 *
	 * @return bool Whether or not there are messages to display.
	 */
	public function hasMessages() {
		return $this->messageManager->hasMessages();
	}

	/**
	 * Gets the most recent message from the message manager.
	 *
	 * @return Message The latest message.
	 */
	public function getMostRecentMessage() {
		return $this->messageManager->getLatestMessage();
	}
}

Filemanager

Name Type Size Permission Actions
Configs Folder 0775
Exceptions Folder 0775
Facades Folder 0775
Interfaces Folder 0775
Messages Folder 0775
Presenters Folder 0775
Configuration.php File 1.58 KB 0775
Host.php File 2.67 KB 0775
MessageDismisser.php File 1.66 KB 0775
MessageFormatter.php File 839 B 0775
MessagesManager.php File 1.92 KB 0775
RequirementsChecker.php File 4.68 KB 0775
VersionRequirement.php File 3.76 KB 0775
WPDismissOption.php File 997 B 0775
WPMessageDismissListener.php File 1.76 KB 0775
Filemanager