70 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace WpAssetCleanUp\OptimiseAssets;
 | 
						|
 | 
						|
/**
 | 
						|
 * Class DynamicLoadedAssets
 | 
						|
 * @package WpAssetCleanUp
 | 
						|
 */
 | 
						|
class DynamicLoadedAssets
 | 
						|
{
 | 
						|
	/**
 | 
						|
	 * @param $from
 | 
						|
	 * @param $value
 | 
						|
	 *
 | 
						|
	 * @return bool|mixed|string
 | 
						|
	 */
 | 
						|
	public static function getAssetContentFrom($from, $value)
 | 
						|
	{
 | 
						|
		$assetContent = '';
 | 
						|
 | 
						|
		if ($from === 'simple-custom-css') {
 | 
						|
			/*
 | 
						|
			 * Special Case: "Simple Custom CSS" Plugin
 | 
						|
			 *
 | 
						|
			 * /?sccss=1
 | 
						|
			 *
 | 
						|
			 * As it is (no minification or optimization), it adds extra load time to the page
 | 
						|
			 * as the CSS is read via PHP and all the WP environment is loading
 | 
						|
			 */
 | 
						|
			if (! $assetContent = self::getSimpleCustomCss()) {
 | 
						|
				return false;
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		if ($from === 'dynamic') { // /? .php? etc.
 | 
						|
			if (! OptimizeCommon::isSourceFromSameHost($value->src)) {
 | 
						|
				return array();
 | 
						|
			}
 | 
						|
 | 
						|
			$response = wp_remote_get(
 | 
						|
				$value->src
 | 
						|
				);
 | 
						|
 | 
						|
			if (wp_remote_retrieve_response_code($response) !== 200) {
 | 
						|
				return false;
 | 
						|
			}
 | 
						|
 | 
						|
			if (! $assetContent = wp_remote_retrieve_body($response)) {
 | 
						|
				return false;
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		return $assetContent;
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * "Simple Custom CSS" (better retrieval, especially for localhost and password-protected sites)
 | 
						|
	 *
 | 
						|
	 * @return string
 | 
						|
	 */
 | 
						|
	public static function getSimpleCustomCss()
 | 
						|
	{
 | 
						|
		$sccssOptions    = get_option('sccss_settings');
 | 
						|
		$sccssRawContent = isset($sccssOptions['sccss-content']) ? $sccssOptions['sccss-content'] : '';
 | 
						|
		$cssContent      = wp_kses($sccssRawContent, array('\'', '\"'));
 | 
						|
		$cssContent      = str_replace('>', '>', $cssContent);
 | 
						|
 | 
						|
		return trim($cssContent);
 | 
						|
	}
 | 
						|
}
 |