HEX
Server: LiteSpeed
System: Linux melbournecleaninggroup 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: www-data (33)
PHP: 7.3.33-1+focal
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,
Upload Files
File: /var/www/html/wp-content/plugins/brizy/editor/asset/asset-proxy-processor.php
<?php


class Brizy_Editor_Asset_AssetProxyProcessor implements Brizy_Editor_Content_ProcessorInterface {

	/**
	 * @var Brizy_Editor_Asset_Storage
	 */
	private $storage;

	/**
	 * Brizy_Editor_Asset_HtmlAssetProcessor constructor.
	 *
	 * @param Brizy_Editor_Asset_AbstractStorage $storage
	 */
	public function __construct( $storage ) {
		$this->storage = $storage;
	}

	/**
	 * @param string $content
	 * @param Brizy_Content_Context $context
	 *
	 * @return mixed|string
	 */
	public function process( $content, Brizy_Content_Context $context ) {

		preg_match_all( '/"(.[^"]*(?:\?|&|&amp;)brizy=(.[^"]*))"/im', $content, $matches );

		if ( ! isset( $matches[2] ) ) {
			return $content;
		}

		foreach ( $matches[2] as $i => $url ) {
			$url = urldecode($url);
			$hash_matches = array();
			preg_match( "/^.[^#]*(#.*)$/", $url, $hash_matches );

			$url = preg_replace( "/^(.[^#]*)#.*$/", '$1', $url );

			if ( $url ) {
				// store and replace $url
				$new_url = $this->storage->store( $url );

				if ( $new_url == $url ) {
					continue;
				}

				if ( isset( $hash_matches[1] ) && $hash_matches[1] != '' ) {
					$new_url .= $hash_matches[1];
				}

				$content = str_replace( $matches[1][ $i ], $new_url, $content );
			}
		}

		return $content;
	}


}