HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpmuhibbah/wp-content/plugins/woocommerce/packages/blueprint/src/ResourceStorages.php
<?php

namespace Automattic\WooCommerce\Blueprint;

use Automattic\WooCommerce\Blueprint\ResourceStorages\ResourceStorage;

/**
 * Class ResourceStorages
 */
class ResourceStorages {
	/**
	 * Storage collection.
	 *
	 * @var ResourceStorages[]
	 */
	protected array $storages = array();

	/**
	 * Add a downloader.
	 *
	 * @param ResourceStorage $downloader The downloader to add.
	 *
	 * @return void
	 */
	public function add_storage( ResourceStorage $downloader ) {
		$supported_resource = $downloader->get_supported_resource();
		if ( ! isset( $this->storages[ $supported_resource ] ) ) {
			$this->storages[ $supported_resource ] = array();
		}
		$this->storages[ $supported_resource ][] = $downloader;
	}

	/**
	 * Check if the resource is supported.
	 *
	 * @param string $resource_type The resource type to check.
	 *
	 * @return bool
	 */
	public function is_supported_resource( $resource_type ) {
		return isset( $this->storages[ $resource_type ] );
	}

	/**
	 * Download the resource.
	 *
	 * @param string $slug The slug of the resource to download.
	 * @param string $resource_type The resource type to download.
	 *
	 * @return false|string
	 */
	public function download( $slug, $resource_type ) {
		if ( ! isset( $this->storages[ $resource_type ] ) ) {
			return false;
		}
		$storages = $this->storages[ $resource_type ];
		foreach ( $storages as $storage ) {
			$found = $storage->download( $slug );
			if ( $found ) {
				return $found;
			}
		}

		return false;
	}
}