code: protected function convertHexColor($color, $blnWriteToFile=false, $vars=array())
  	{
  		// Support global variables
  		if (strncmp($color, '$', 1) === 0)
  		{
  			if (!$blnWriteToFile)
  			{
  				return array($color);
  			}
  			else
  			{
  				$color = str_replace(array_keys($vars), $vars, $color);
  			}
  		}
  
  		$rgb = array();
  
  		// Try to convert using bitwise operation
  		if (\strlen($color) == 6)
  		{
  			$dec = hexdec($color);
  			$rgb['red'] = 0xFF & ($dec >> 0x10);
  			$rgb['green'] = 0xFF & ($dec >> 0x8);
  			$rgb['blue'] = 0xFF & $dec;
  		}
  
  		// Shorthand notation
  		elseif (\strlen($color) == 3)
  		{
  			$rgb['red'] = hexdec(str_repeat(substr($color, 0, 1), 2));
  			$rgb['green'] = hexdec(str_repeat(substr($color, 1, 1), 2));
  			$rgb['blue'] = hexdec(str_repeat(substr($color, 2, 1), 2));
  		}
  
  		return $rgb;
  	}
docs: Convert hex colors to rgb
  
  @param string  $color
  @param boolean $blnWriteToFile
  @param array   $vars
  
  @return array
  
  @see http://de3.php.net/manual/de/function.hexdec.php#99478