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);
 | |
| 	}
 | |
| }
 |