public function minify($source)
		{
		// Variables
		$r						= "";
		$parser					= new CssParser($source);
		$tokens					= $parser->getTokens();
		$filters 				= $this->filters;
		$filterCount			= count($this->filters);
		$plugins				= $this->plugins;
		$pluginCount			= count($plugins);
		$pluginIndex			= array();
		$pluginTriggerTokens	= array();
		$globalTriggerTokens	= array();
		for ($i = 0, $l = count($plugins); $i < $l; $i++)
			{
			$tPluginClassName				= get_class($plugins[$i]);
			$pluginTriggerTokens[$i]		= $plugins[$i]->getTriggerTokens();
			foreach ($pluginTriggerTokens[$i] as $v)
				{
				if (!in_array($v, $globalTriggerTokens))
					{
					$globalTriggerTokens[] = $v;
					}
				}
			$pluginTriggerTokens[$i] = "|" . implode("|", $pluginTriggerTokens[$i]) . "|";
			$pluginIndex[$tPluginClassName]	= $i;
			}
		$globalTriggerTokens = "|" . implode("|", $globalTriggerTokens) . "|";
		/*
		 * Apply filters
		 */
		for($i = 0; $i < $filterCount; $i++)
			{
			// Apply the filter; if the return value is larger than 0...
			if ($filters[$i]->apply($tokens) > 0)
				{
				// ...then filter null values and rebuild the token array
				$tokens = array_values(array_filter($tokens));
				}
			}
		$tokenCount = count($tokens);
		/*
		 * Apply plugins
		 */
		for($i = 0; $i < $tokenCount; $i++)
			{
			$triggerToken = "|" . get_class($tokens[$i]) . "|";
			if (strpos($globalTriggerTokens, $triggerToken) !== false)
				{
				for($ii = 0; $ii < $pluginCount; $ii++)
					{
					if (strpos($pluginTriggerTokens[$ii], $triggerToken) !== false || $pluginTriggerTokens[$ii] === false)
						{
						// Apply the plugin; if the return value is TRUE continue to the next token
						if ($plugins[$ii]->apply($tokens[$i]) === true)
							{
							continue 2;
							}
						}
					}
				}
			}
		// Stringify the tokens
		for($i = 0; $i < $tokenCount; $i++)
			{
			$r .= (string) $tokens[$i];
			}
		$this->minified = $r;
		return $r;
		}
public function minify($source)
		{
		// Variables
		$r						= "";
		$parser					= new CssParser($source);
		$tokens					= $parser->getTokens();
		$filters 				= $this->filters;
		$filterCount			= count($this->filters);
		$plugins				= $this->plugins;
		$pluginCount			= count($plugins);
		$pluginIndex			= array();
		$pluginTriggerTokens	= array();
		$globalTriggerTokens	= array();
		for ($i = 0, $l = count($plugins); $i < $l; $i++)
			{
			$tPluginClassName				= get_class($plugins[$i]);
			$pluginTriggerTokens[$i]		= $plugins[$i]->getTriggerTokens();
			foreach ($pluginTriggerTokens[$i] as $v)
				{
				if (!in_array($v, $globalTriggerTokens))
					{
					$globalTriggerTokens[] = $v;
					}
				}
			$pluginTriggerTokens[$i] = "|" . implode("|", $pluginTriggerTokens[$i]) . "|";
			$pluginIndex[$tPluginClassName]	= $i;
			}
		$globalTriggerTokens = "|" . implode("|", $globalTriggerTokens) . "|";
		/*
		 * Apply filters
		 */
		for($i = 0; $i < $filterCount; $i++)
			{
			// Apply the filter; if the return value is larger than 0...
			if ($filters[$i]->apply($tokens) > 0)
				{
				// ...then filter null values and rebuild the token array
				$tokens = array_values(array_filter($tokens));
				}
			}
		$tokenCount = count($tokens);
		/*
		 * Apply plugins
		 */
		for($i = 0; $i < $tokenCount; $i++)
			{
			$triggerToken = "|" . get_class($tokens[$i]) . "|";
			if (strpos($globalTriggerTokens, $triggerToken) !== false)
				{
				for($ii = 0; $ii < $pluginCount; $ii++)
					{
					if (strpos($pluginTriggerTokens[$ii], $triggerToken) !== false || $pluginTriggerTokens[$ii] === false)
						{
						// Apply the plugin; if the return value is TRUE continue to the next token
						if ($plugins[$ii]->apply($tokens[$i]) === true)
							{
							continue 2;
							}
						}
					}
				}
			}
		// Stringify the tokens
		for($i = 0; $i < $tokenCount; $i++)
			{
			$r .= (string) $tokens[$i];
			}
		$this->minified = $r;
		return $r;
		}
public function minify ( $ source ) { // Variables
 $ r = "" ; $ parser = new CssParser ( $ source ) ; $ tokens = $ parser -> getTokens ( ) ; $ filters = $ this -> filters ; $ filterCount = count ( $ this -> filters ) ; $ plugins = $ this -> plugins ; $ pluginCount = count ( $ plugins ) ; $ pluginIndex = array ( ) ; $ pluginTriggerTokens = array ( ) ; $ globalTriggerTokens = array ( ) ; for ( $ i = 0 , $ l = count ( $ plugins ) ; $ i < $ l ; $ i ++ ) { $ tPluginClassName = get_class ( $ plugins [ $ i ] ) ; $ pluginTriggerTokens [ $ i ] = $ plugins [ $ i ] -> getTriggerTokens ( ) ; foreach ( $ pluginTriggerTokens [ $ i ] as $ v ) { if ( ! in_array ( $ v , $ globalTriggerTokens ) ) { $ globalTriggerTokens [ ] = $ v ; } } $ pluginTriggerTokens [ $ i ] = "|" . implode ( "|" , $ pluginTriggerTokens [ $ i ] ) . "|" ; $ pluginIndex [ $ tPluginClassName ] = $ i ; } $ globalTriggerTokens = "|" . implode ( "|" , $ globalTriggerTokens ) . "|" ; /*
		 * Apply filters
		 */ for ( $ i = 0 ; $ i < $ filterCount ; $ i ++ ) { // Apply the filter; if the return value is larger than 0...
 if ( $ filters [ $ i ] -> apply ( $ tokens ) > 0 ) { // ...then filter null values and rebuild the token array
 $ tokens = array_values ( array_filter ( $ tokens ) ) ; } } $ tokenCount = count ( $ tokens ) ; /*
		 * Apply plugins
		 */ for ( $ i = 0 ; $ i < $ tokenCount ; $ i ++ ) { $ triggerToken = "|" . get_class ( $ tokens [ $ i ] ) . "|" ; if ( strpos ( $ globalTriggerTokens , $ triggerToken ) !== false ) { for ( $ ii = 0 ; $ ii < $ pluginCount ; $ ii ++ ) { if ( strpos ( $ pluginTriggerTokens [ $ ii ] , $ triggerToken ) !== false || $ pluginTriggerTokens [ $ ii ] === false ) { // Apply the plugin; if the return value is TRUE continue to the next token
 if ( $ plugins [ $ ii ] -> apply ( $ tokens [ $ i ] ) === true ) { continue 2 ; } } } } } // Stringify the tokens
 for ( $ i = 0 ; $ i < $ tokenCount ; $ i ++ ) { $ r .= ( string ) $ tokens [ $ i ] ; } $ this -> minified = $ r ; return $ r ; }
Minifies the CSS source.

@param string $source CSS source
@return string
Minifies the CSS source .