Uname:Linux antigravity-cli 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64

Base Dir : /var/www/moonbloom

User : wp-moonbloom


403WebShell
403Webshell
Server IP : 85.155.190.233  /  Your IP : 216.73.216.103
Web Server : nginx/1.24.0
System : Linux antigravity-cli 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User : wp-moonbloom ( 1001)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/moonbloom/wp-content/mu-plugins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/moonbloom/wp-content/mu-plugins/moonbloom-webp.php
<?php
/**
 * MoonBloom WebP delivery.
 * Wraps every <img> whose uploads .jpg/.png has a sibling .webp into
 * <picture><source type="image/webp"> ... </picture>. Browser picks WebP if supported,
 * else falls back to original. Off in admin / feeds (feeds keep .jpg for Google Shopping).
 */
add_action( 'template_redirect', function () {
	if ( is_admin() || is_feed() || ( defined( 'REST_REQUEST' ) && REST_REQUEST ) ) {
		return;
	}
	ob_start( 'moonbloom_webp_rewrite' );
} );

function moonbloom_webp_to_path( $url ) {
	$pos = strpos( $url, '/wp-content/uploads/' );
	if ( $pos === false ) {
		return null;
	}
	$rel = substr( $url, $pos + strlen( '/wp-content/uploads/' ) );
	$rel = preg_replace( '#[?\#].*$#', '', $rel );
	return WP_CONTENT_DIR . '/uploads/' . $rel;
}

function moonbloom_webp_swap_url( $url ) {
	if ( ! preg_match( '#\.(jpe?g|png)(\?.*)?$#i', $url ) ) {
		return null;
	}
	$webp_url  = preg_replace( '#\.(jpe?g|png)(\?.*)?$#i', '.webp', $url );
	$webp_path = moonbloom_webp_to_path( $webp_url );
	return ( $webp_path && file_exists( $webp_path ) ) ? $webp_url : null;
}

function moonbloom_webp_rewrite( $html ) {
	if ( stripos( $html, '<img' ) === false ) {
		return $html;
	}
	return preg_replace_callback( '#<img\s[^>]*>#i', function ( $m ) {
		$img = $m[0];
		if ( stripos( $img, '/wp-content/uploads/' ) === false ) {
			return $img;
		}
		$webp_srcset = null;
		if ( preg_match( '#\ssrcset=(["\x27])(.*?)\1#i', $img, $sm ) ) {
			$parts = array_map( 'trim', explode( ',', $sm[2] ) );
			$out   = array();
			$any   = false;
			foreach ( $parts as $p ) {
				$seg = preg_split( '#\s+#', $p, 2 );
				$w   = moonbloom_webp_swap_url( $seg[0] );
				if ( $w ) {
					$any   = true;
					$out[] = $w . ( isset( $seg[1] ) ? ' ' . $seg[1] : '' );
				} else {
					$out[] = $p;
				}
			}
			if ( $any ) {
				$webp_srcset = implode( ', ', $out );
			}
		}
		if ( ! $webp_srcset && preg_match( '#\ssrc=(["\x27])(.*?)\1#i', $img, $cm ) ) {
			$w = moonbloom_webp_swap_url( $cm[2] );
			if ( $w ) {
				$webp_srcset = $w;
			}
		}
		if ( ! $webp_srcset ) {
			return $img;
		}
		$sizes = '';
		if ( preg_match( '#\ssizes=(["\x27])(.*?)\1#i', $img, $zm ) ) {
			$sizes = ' sizes="' . esc_attr( $zm[2] ) . '"';
		}
		return '<picture><source type="image/webp" srcset="' . esc_attr( $webp_srcset ) . '"' . $sizes . '>' . $img . '</picture>';
	}, $html );
}

Youez - 2016 - github.com/yon3zu
LinuXploit