public function hasExtensions($requirements)
	{
		$files      = $this->getFlatListOfFiles();
		$extensions = $this->getFlatListOfExtensions();
		foreach ($requirements as $type => $constraint)
		{
			if (is_numeric($constraint))
			{
				if (!array_key_exists($type, $extensions) || $extensions[$type] < $constraint)
				{
					return false;
				}
			}
			else if (is_callable($constraint))
			{
				if (call_user_func_array($constraint, [$extensions, $files]) === false)
				{
					return false;
				}
			}
		}

		return true;
	}
public function hasExtensions($requirements)
	{
		$files      = $this->getFlatListOfFiles();
		$extensions = $this->getFlatListOfExtensions();
		foreach ($requirements as $type => $constraint)
		{
			if (is_numeric($constraint))
			{
				if (!array_key_exists($type, $extensions) || $extensions[$type] < $constraint)
				{
					return false;
				}
			}
			else if (is_callable($constraint))
			{
				if (call_user_func_array($constraint, [$extensions, $files]) === false)
				{
					return false;
				}
			}
		}

		return true;
	}
public function hasExtensions ( $ requirements ) { $ files = $ this -> getFlatListOfFiles ( ) ; $ extensions = $ this -> getFlatListOfExtensions ( ) ; foreach ( $ requirements as $ type => $ constraint ) { if ( is_numeric ( $ constraint ) ) { if ( ! array_key_exists ( $ type , $ extensions ) || $ extensions [ $ type ] < $ constraint ) { return false ; } } else if ( is_callable ( $ constraint ) ) { if ( call_user_func_array ( $ constraint , [ $ extensions , $ files ] ) === false ) { return false ; } } } return true ; }
Checks to see whether or not the required extensions are in the current collection

@param   array  $requirements  The extension requirements to locate
@return  bool
Checks to see whether or not the required extensions are in the current collection