src/Mmanos/Casset/Container.php
public function needsProcessing(array $asset)
	{
		if (isset(static::$needs_processing[$asset['source']])) {
			return static::$needs_processing[$asset['source']];
		}
		
		$path          = $this->path($asset['source']);
		$is_public     = (bool) stristr($path, $this->public_path);
		$compiled_exts = array('less');
		
		// Any dependencies that need processing?
		$dependencies = isset($asset['dependencies']) ? $asset['dependencies'] : array();
		$dependencies = array_unique(array_merge(array_get($this->dependencies, $asset['ext'], array()), $dependencies));
		if (!empty($dependencies)) {
			foreach ($dependencies as $dep_source) {
				if (!empty(static::$needs_processing[$dep_source])) {
					return static::$needs_processing[$asset['source']] = true;
				}
			}
		}
		
		// This file does not require processing.
		if ($is_public && !in_array($asset['ext'], $compiled_exts)) {
			return static::$needs_processing[$asset['source']] = false;
		}
		
		$cache_path = $this->publicPath($asset);
		
		// Does file exist?
		if (!File::exists($cache_path)) {
			return static::$needs_processing[$asset['source']] = true;
		}
		
		// Is cached file newer than the original?
		if (File::lastModified($cache_path) >= File::lastModified($path)) {
			return static::$needs_processing[$asset['source']] = false;
		}
		
		// Check md5 to see if content is the same.
		if ($f = fopen($cache_path, 'r')) {
			$line = (string) fgets($f);
			fclose($f);
			
			if (false !== strstr($line, '*/')) {
				$md5 = trim(str_replace(array('/*', '*/'), '', $line));
				
				if (32 == strlen($md5)) {
					$file_md5 = md5_file($path);
					
					// Skip compiling and touch existing file.
					if ($file_md5 === $md5) {
						touch($cache_path);
						return false;
					}
				}
			}
		}
		
		return static::$needs_processing[$asset['source']] = true;
	}
public function needsProcessing(array $asset)
	{
		if (isset(static::$needs_processing[$asset['source']])) {
			return static::$needs_processing[$asset['source']];
		}
		
		$path          = $this->path($asset['source']);
		$is_public     = (bool) stristr($path, $this->public_path);
		$compiled_exts = array('less');
		
		// Any dependencies that need processing?
		$dependencies = isset($asset['dependencies']) ? $asset['dependencies'] : array();
		$dependencies = array_unique(array_merge(array_get($this->dependencies, $asset['ext'], array()), $dependencies));
		if (!empty($dependencies)) {
			foreach ($dependencies as $dep_source) {
				if (!empty(static::$needs_processing[$dep_source])) {
					return static::$needs_processing[$asset['source']] = true;
				}
			}
		}
		
		// This file does not require processing.
		if ($is_public && !in_array($asset['ext'], $compiled_exts)) {
			return static::$needs_processing[$asset['source']] = false;
		}
		
		$cache_path = $this->publicPath($asset);
		
		// Does file exist?
		if (!File::exists($cache_path)) {
			return static::$needs_processing[$asset['source']] = true;
		}
		
		// Is cached file newer than the original?
		if (File::lastModified($cache_path) >= File::lastModified($path)) {
			return static::$needs_processing[$asset['source']] = false;
		}
		
		// Check md5 to see if content is the same.
		if ($f = fopen($cache_path, 'r')) {
			$line = (string) fgets($f);
			fclose($f);
			
			if (false !== strstr($line, '*/')) {
				$md5 = trim(str_replace(array('/*', '*/'), '', $line));
				
				if (32 == strlen($md5)) {
					$file_md5 = md5_file($path);
					
					// Skip compiling and touch existing file.
					if ($file_md5 === $md5) {
						touch($cache_path);
						return false;
					}
				}
			}
		}
		
		return static::$needs_processing[$asset['source']] = true;
	}
public function needsProcessing ( array $ asset ) { if ( isset ( static :: $ needs_processing [ $ asset [ 'source' ] ] ) ) { return static :: $ needs_processing [ $ asset [ 'source' ] ] ; } $ path = $ this -> path ( $ asset [ 'source' ] ) ; $ is_public = ( bool ) stristr ( $ path , $ this -> public_path ) ; $ compiled_exts = array ( 'less' ) ; // Any dependencies that need processing? $ dependencies = isset ( $ asset [ 'dependencies' ] ) ? $ asset [ 'dependencies' ] : array ( ) ; $ dependencies = array_unique ( array_merge ( array_get ( $ this -> dependencies , $ asset [ 'ext' ] , array ( ) ) , $ dependencies ) ) ; if ( ! empty ( $ dependencies ) ) { foreach ( $ dependencies as $ dep_source ) { if ( ! empty ( static :: $ needs_processing [ $ dep_source ] ) ) { return static :: $ needs_processing [ $ asset [ 'source' ] ] = true ; } } } // This file does not require processing. if ( $ is_public && ! in_array ( $ asset [ 'ext' ] , $ compiled_exts ) ) { return static :: $ needs_processing [ $ asset [ 'source' ] ] = false ; } $ cache_path = $ this -> publicPath ( $ asset ) ; // Does file exist? if ( ! File :: exists ( $ cache_path ) ) { return static :: $ needs_processing [ $ asset [ 'source' ] ] = true ; } // Is cached file newer than the original? if ( File :: lastModified ( $ cache_path ) >= File :: lastModified ( $ path ) ) { return static :: $ needs_processing [ $ asset [ 'source' ] ] = false ; } // Check md5 to see if content is the same. if ( $ f = fopen ( $ cache_path , 'r' ) ) { $ line = ( string ) fgets ( $ f ) ; fclose ( $ f ) ; if ( false !== strstr ( $ line , '*/' ) ) { $ md5 = trim ( str_replace ( array ( '/*' , '*/' ) , '' , $ line ) ) ; if ( 32 == strlen ( $ md5 ) ) { $ file_md5 = md5_file ( $ path ) ; // Skip compiling and touch existing file. if ( $ file_md5 === $ md5 ) { touch ( $ cache_path ) ; return false ; } } } } return static :: $ needs_processing [ $ asset [ 'source' ] ] = true ; }
Returns whether or not a file needs to be processed.

@param array $asset Asset array.

@return boolean
Returns whether or not a file needs to be processed .