Example #1
0
 /**
  * Generates an internal or external URL.
  *
  * When creating links in modules, consider whether l() could be a better
  * alternative than url().
  *
  * @param $path
  *   (optional) The internal path or external URL being linked to, such as
  *   "node/34" or "http://example.com/foo". The default value is equivalent to
  *   passing in '<front>'. A few notes:
  *   - If you provide a full URL, it will be considered an external URL.
  *   - If you provide only the path (e.g. "node/34"), it will be
  *     considered an internal link. In this case, it should be a system URL,
  *     and it will be replaced with the alias, if one exists. Additional query
  *     arguments for internal paths must be supplied in $options['query'], not
  *     included in $path.
  *   - If you provide an internal path and $options['alias'] is set to TRUE, the
  *     path is assumed already to be the correct path alias, and the alias is
  *     not looked up.
  *   - The special string '<front>' generates a link to the site's base URL.
  *   - If your external URL contains a query (e.g. http://example.com/foo?a=b),
  *     then you can either URL encode the query keys and values yourself and
  *     include them in $path, or use $options['query'] to let this function
  *     URL encode them.
  * @param $options
  *   (optional) An associative array of additional options, with the following
  *   elements:
  *   - 'query': An array of query key/value-pairs (without any URL-encoding) to
  *     append to the URL.
  *   - 'fragment': A fragment identifier (named anchor) to append to the URL.
  *     Do not include the leading '#' character.
  *   - 'absolute': Defaults to FALSE. Whether to force the output to be an
  *     absolute link (beginning with http:). Useful for links that will be
  *     displayed outside the site, such as in an RSS feed.
  *   - 'alias': Defaults to FALSE. Whether the given path is a URL alias
  *     already.
  *   - 'external': Whether the given path is an external URL.
  *   - 'language': An optional language object. If the path being linked to is
  *     internal to the site, $options['language'] is used to look up the alias
  *     for the URL. If $options['language'] is omitted, the global $language_url
  *     will be used.
  *   - 'https': Whether this URL should point to a secure location. If not
  *     defined, the current scheme is used, so the user stays on HTTP or HTTPS
  *     respectively. TRUE enforces HTTPS and FALSE enforces HTTP, but HTTPS can
  *     only be enforced when the variable 'https' is set to TRUE.
  *   - 'base_url': Only used internally, to modify the base URL when a language
  *     dependent URL requires so.
  *   - 'prefix': Only used internally, to modify the path when a language
  *     dependent URL requires so.
  *   - 'script': The script filename in Drupal's root directory to use when
  *     clean URLs are disabled, such as 'index.php'. Defaults to an empty
  *     string, as most modern web servers automatically find 'index.php'. If
  *     clean URLs are disabled, the value of $path is appended as query
  *     parameter 'q' to $options['script'] in the returned URL. When deploying
  *     Drupal on a web server that cannot be configured to automatically find
  *     index.php, then hook_url_outbound_alter() can be implemented to force
  *     this value to 'index.php'.
  *   - 'entity_type': The entity type of the object that called url(). Only
  *     set if url() is invoked by entity_uri().
  *   - 'entity': The entity object (such as a node) for which the URL is being
  *     generated. Only set if url() is invoked by entity_uri().
  *
  * @return string
  *   A string containing a URL to the given path.
  */
 public function url($path = NULL, array $options = array())
 {
     return $this->drupal7->url($path, $options);
 }