Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JUri

Liste de tous les membres

Fonctions membres publiques

 __construct ($uri=null)
 __toString ()
 parse ($uri)
 toString (array $parts=array('scheme', 'user', 'pass', 'host', 'port', 'path', 'query', 'fragment'))
 setVar ($name, $value)
 hasVar ($name)
 getVar ($name, $default=null)
 delVar ($name)
 setQuery ($query)
 getQuery ($toArray=false)
 getScheme ()
 setScheme ($scheme)
 getUser ()
 setUser ($user)
 getPass ()
 setPass ($pass)
 getHost ()
 setHost ($host)
 getPort ()
 setPort ($port)
 getPath ()
 setPath ($path)
 getFragment ()
 setFragment ($anchor)
 isSSL ()

Fonctions membres publiques statiques

static getInstance ($uri= 'SERVER')
static base ($pathonly=false)
static root ($pathonly=false, $path=null)
static current ()
static reset ()
static buildQuery (array $params)
static isInternal ($url)

Fonctions membres protégées

 _cleanPath ($path)

Attributs protégés

 $uri = null
 $scheme = null
 $host = null
 $port = null
 $user = null
 $pass = null
 $path = null
 $query = null
 $fragment = null
 $vars = array()

Attributs protégés statiques

static $instances = array()
static $base = array()
static $root = array()
static $current

Description détaillée

Définition à la ligne 23 du fichier uri.php.


Documentation des constructeurs et destructeur

JUri::__construct (   $uri = null)

Constructor. You can pass a URI string to the constructor to initialise a specific URI.

Paramètres:
string$uriThe optional URI string
Depuis:
11.1

Définition à la ligne 117 du fichier uri.php.

{
if (!is_null($uri))
{
$this->parse($uri);
}
}

Documentation des fonctions membres

JUri::__toString ( )

Magic method to get the string representation of the URI object.

Renvoie:
string
Depuis:
11.1

Définition à la ligne 132 du fichier uri.php.

{
return $this->toString();
}
JUri::_cleanPath (   $path)
protected

Resolves //, ../ and ./ from a path and returns the result. Eg:

/foo/bar/../boo.php => /foo/boo.php /foo/bar/../../boo.php => /boo.php /foo/bar/.././/boo.php => /foo/boo.php

Paramètres:
string$pathThe URI path to clean.
Renvoie:
string Cleaned and resolved URI path.
Depuis:
11.1

Définition à la ligne 793 du fichier uri.php.

{
$path = explode('/', preg_replace('#(/+)#', '/', $path));
for ($i = 0, $n = count($path); $i < $n; $i++)
{
if ($path[$i] == '.' || $path[$i] == '..')
{
if (($path[$i] == '.') || ($path[$i] == '..' && $i == 1 && $path[0] == ''))
{
unset($path[$i]);
$path = array_values($path);
$i--;
$n--;
}
elseif ($path[$i] == '..' && ($i > 1 || ($i == 1 && $path[0] != '')))
{
unset($path[$i]);
unset($path[$i - 1]);
$path = array_values($path);
$i -= 2;
$n -= 2;
}
}
}
return implode('/', $path);
}
static JUri::base (   $pathonly = false)
static

Returns the base URI for the request.

Paramètres:
boolean$pathonlyIf false, prepend the scheme, host and port information. Default is false.
Renvoie:
string The base URI string
Depuis:
11.1

Définition à la ligne 218 du fichier uri.php.

Références JFactory\getConfig().

Référencé par JDocumentOpensearch\__construct(), JViewLegacy\__construct(), JDocumentHTML\_fetchTemplate(), JDocumentHTML\_loadTemplate(), JDocumentRendererRSS\_relToAbs(), JUserHelper\getShortHashedUserAgent(), JApplication\redirect(), JApplicationWeb\redirect(), et JDocumentError\render().

{
// Get the base request path.
if (empty(self::$base))
{
$config = JFactory::getConfig();
$live_site = $config->get('live_site');
if (trim($live_site) != '')
{
$uri = self::getInstance($live_site);
self::$base['prefix'] = $uri->toString(array('scheme', 'host', 'port'));
self::$base['path'] = rtrim($uri->toString(array('path')), '/\\');
if (defined('JPATH_BASE') && defined('JPATH_ADMINISTRATOR'))
{
if (JPATH_BASE == JPATH_ADMINISTRATOR)
{
self::$base['path'] .= '/administrator';
}
}
}
else
{
self::$base['prefix'] = $uri->toString(array('scheme', 'host', 'port'));
if (strpos(php_sapi_name(), 'cgi') !== false && !ini_get('cgi.fix_pathinfo') && !empty($_SERVER['REQUEST_URI']))
{
// PHP-CGI on Apache with "cgi.fix_pathinfo = 0"
// We shouldn't have user-supplied PATH_INFO in PHP_SELF in this case
// because PHP will not work with PATH_INFO at all.
$script_name = $_SERVER['PHP_SELF'];
}
else
{
// Others
$script_name = $_SERVER['SCRIPT_NAME'];
}
self::$base['path'] = rtrim(dirname($script_name), '/\\');
}
}
return $pathonly === false ? self::$base['prefix'] . self::$base['path'] . '/' : self::$base['path'];
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

static JUri::buildQuery ( array  $params)
static

Build a query from a array (reverse of the PHP parse_str()).

Paramètres:
array$paramsThe array of key => value pairs to return as a query string.
Renvoie:
string The resulting query string.
Voir également:
parse_str()
Depuis:
11.1

Définition à la ligne 544 du fichier uri.php.

{
if (count($params) == 0)
{
return false;
}
return urldecode(http_build_query($params, '', '&'));
}
static JUri::current ( )
static

Returns the URL for the request, minus the query.

Renvoie:
string
Depuis:
11.1

Définition à la ligne 302 du fichier uri.php.

{
// Get the current URL.
if (empty(self::$current))
{
self::$current = $uri->toString(array('scheme', 'host', 'port', 'path'));
}
}
JUri::delVar (   $name)

Removes an item from the query string variables if it exists.

Paramètres:
string$nameName of variable to remove.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 468 du fichier uri.php.

{
if (array_key_exists($name, $this->vars))
{
unset($this->vars[$name]);
// Empty the query
$this->query = null;
}
}
JUri::getFragment ( )

Get the URI archor string Everything after the "#".

Renvoie:
string The URI anchor string.
Depuis:
11.1

Définition à la ligne 724 du fichier uri.php.

{
}
JUri::getHost ( )

Get URI host Returns the hostname/ip or null if no hostname/ip was specified.

Renvoie:
string The URI host.
Depuis:
11.1

Définition à la ligne 644 du fichier uri.php.

Référencé par JHttpTransportSocket\connect(), et JHttpTransportSocket\request().

{
return $this->host;
}

+ Voici le graphe des appelants de cette fonction :

static JUri::getInstance (   $uri = 'SERVER')
static

Returns the global JUri object, only creating it if it doesn't already exist.

Paramètres:
string$uriThe URI to parse. [optional: if null uses script URI]
Renvoie:
JUri The URI object.
Depuis:
11.1

Définition à la ligne 147 du fichier uri.php.

Référencé par JRoute\_(), JDocumentOpensearch\__construct(), JForm\filterField(), JRequest\getURI(), JFactory\getURI(), JApplicationWeb\loadSystemUris(), JApplication\redirect(), JApplicationWeb\redirect(), JDocumentRendererRSS\render(), JDocumentRendererAtom\render(), et JApplication\route().

{
if (empty(self::$instances[$uri]))
{
// Are we obtaining the URI from the server?
if ($uri == 'SERVER')
{
// Determine if the request was over SSL (HTTPS).
if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off'))
{
$https = 's://';
}
else
{
$https = '://';
}
/*
* Since we are assigning the URI from the server variables, we first need
* to determine if we are running on apache or IIS. If PHP_SELF and REQUEST_URI
* are present, we will assume we are running on apache.
*/
if (!empty($_SERVER['PHP_SELF']) && !empty($_SERVER['REQUEST_URI']))
{
// To build the entire URI we need to prepend the protocol, and the http host
// to the URI string.
$theURI = 'http' . $https . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
}
else
{
/*
* Since we do not have REQUEST_URI to work with, we will assume we are
* running on IIS and will therefore need to work some magic with the SCRIPT_NAME and
* QUERY_STRING environment variables.
*
* IIS uses the SCRIPT_NAME variable instead of a REQUEST_URI variable... thanks, MS
*/
$theURI = 'http' . $https . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
// If the query string exists append it to the URI string
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING']))
{
$theURI .= '?' . $_SERVER['QUERY_STRING'];
}
}
// Extra cleanup to remove invalid chars in the URL to prevent injections through the Host header
$theURI = str_replace(array("'", '"', '<', '>'), array("%27", "%22", "%3C", "%3E"), $theURI);
}
else
{
// We were given a URI
$theURI = $uri;
}
self::$instances[$uri] = new JUri($theURI);
}
return self::$instances[$uri];
}

+ Voici le graphe des appelants de cette fonction :

JUri::getPass ( )

Get URI password Returns the password, or null if no password was specified.

Renvoie:
string The URI password.
Depuis:
11.1

Définition à la ligne 617 du fichier uri.php.

{
return $this->pass;
}
JUri::getPath ( )

Gets the URI path string.

Renvoie:
string The URI path string.
Depuis:
11.1

Définition à la ligne 697 du fichier uri.php.

{
return $this->path;
}
JUri::getPort ( )

Get URI port Returns the port number, or null if no port was specified.

Renvoie:
integer The URI port number.
Depuis:
11.1

Définition à la ligne 671 du fichier uri.php.

Référencé par JHttpTransportSocket\connect().

{
return (isset($this->port)) ? $this->port : null;
}

+ Voici le graphe des appelants de cette fonction :

JUri::getQuery (   $toArray = false)

Returns flat query string.

Paramètres:
boolean$toArrayTrue to return the query as a key => value pair array.
Renvoie:
string Query string.
Depuis:
11.1

Définition à la ligne 518 du fichier uri.php.

{
if ($toArray)
{
return $this->vars;
}
// If the query is empty build it first
if (is_null($this->query))
{
$this->query = self::buildQuery($this->vars);
}
return $this->query;
}
JUri::getScheme ( )

Get URI scheme (protocol) ie. http, https, ftp, etc...

Renvoie:
string The URI scheme.
Depuis:
11.1

Définition à la ligne 562 du fichier uri.php.

Référencé par JHttpTransportSocket\connect(), et JGoogleEmbed\isSecure().

{
return $this->scheme;
}

+ Voici le graphe des appelants de cette fonction :

JUri::getUser ( )

Get URI username Returns the username, or null if no username was specified.

Renvoie:
string The URI username.
Depuis:
11.1

Définition à la ligne 590 du fichier uri.php.

{
return $this->user;
}
JUri::getVar (   $name,
  $default = null 
)

Returns a query variable by name.

Paramètres:
string$nameName of the query variable to get.
string$defaultDefault value to return if the variable is not set.
Renvoie:
array Query variables.
Depuis:
11.1

Définition à la ligne 449 du fichier uri.php.

{
if (array_key_exists($name, $this->vars))
{
return $this->vars[$name];
}
return $default;
}
JUri::hasVar (   $name)

Checks if variable exists.

Paramètres:
string$nameName of the query variable to check.
Renvoie:
boolean True if the variable exists.
Depuis:
11.1

Définition à la ligne 434 du fichier uri.php.

{
return array_key_exists($name, $this->vars);
}
static JUri::isInternal (   $url)
static

Checks if the supplied URL is internal

Paramètres:
string$urlThe URL to check.
Renvoie:
boolean True if Internal.
Depuis:
11.1

Définition à la ligne 765 du fichier uri.php.

{
$base = $uri->toString(array('scheme', 'host', 'port', 'path'));
$host = $uri->toString(array('scheme', 'host', 'port'));
if (stripos($base, self::base()) !== 0 && !empty($host))
{
return false;
}
return true;
}
JUri::isSSL ( )

Checks whether the current URI is using HTTPS.

Renvoie:
boolean True if using SSL via HTTPS.
Depuis:
11.1

Définition à la ligne 751 du fichier uri.php.

Référencé par JHttpTransportSocket\connect().

{
return $this->getScheme() == 'https' ? true : false;
}

+ Voici le graphe des appelants de cette fonction :

JUri::parse (   $uri)

Parse a given URI and populate the class fields.

Paramètres:
string$uriThe URI string to parse.
Renvoie:
boolean True on success.
Depuis:
11.1

Définition à la ligne 338 du fichier uri.php.

Références JString\parse_url().

{
// Set the original URI to fall back on
$this->uri = $uri;
/*
* Parse the URI and populate the object fields. If URI is parsed properly,
* set method return value to true.
*/
$retval = ($parts) ? true : false;
// We need to replace &amp; with & for parse_str to work right...
if (isset($parts['query']) && strpos($parts['query'], '&amp;'))
{
$parts['query'] = str_replace('&amp;', '&', $parts['query']);
}
$this->scheme = isset($parts['scheme']) ? $parts['scheme'] : null;
$this->user = isset($parts['user']) ? $parts['user'] : null;
$this->pass = isset($parts['pass']) ? $parts['pass'] : null;
$this->host = isset($parts['host']) ? $parts['host'] : null;
$this->port = isset($parts['port']) ? $parts['port'] : null;
$this->path = isset($parts['path']) ? $parts['path'] : null;
$this->query = isset($parts['query']) ? $parts['query'] : null;
$this->fragment = isset($parts['fragment']) ? $parts['fragment'] : null;
// Parse the query
if (isset($parts['query']))
{
parse_str($parts['query'], $this->vars);
}
return $retval;
}

+ Voici le graphe d'appel pour cette fonction :

static JUri::reset ( )
static

Method to reset class static members for testing and other various issues.

Renvoie:
void
Depuis:
11.1

Définition à la ligne 321 du fichier uri.php.

{
self::$instances = array();
self::$base = array();
self::$root = array();
self::$current = '';
}
static JUri::root (   $pathonly = false,
  $path = null 
)
static

Returns the root URI for the request.

Paramètres:
boolean$pathonlyIf false, prepend the scheme, host and port information. Default is false.
string$pathThe path
Renvoie:
string The root URI string.
Depuis:
11.1

Définition à la ligne 276 du fichier uri.php.

Référencé par JForm\filterField().

{
// Get the scheme
if (empty(self::$root))
{
$uri = self::getInstance(self::base());
self::$root['prefix'] = $uri->toString(array('scheme', 'host', 'port'));
self::$root['path'] = rtrim($uri->toString(array('path')), '/\\');
}
// Get the scheme
if (isset($path))
{
self::$root['path'] = $path;
}
return $pathonly === false ? self::$root['prefix'] . self::$root['path'] . '/' : self::$root['path'];
}

+ Voici le graphe des appelants de cette fonction :

JUri::setFragment (   $anchor)

Set the URI anchor string everything after the "#".

Paramètres:
string$anchorThe URI anchor string.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 739 du fichier uri.php.

{
$this->fragment = $anchor;
}
JUri::setHost (   $host)

Set URI host.

Paramètres:
string$hostThe URI host.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 658 du fichier uri.php.

{
$this->host = $host;
}
JUri::setPass (   $pass)

Set URI password.

Paramètres:
string$passThe URI password.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 631 du fichier uri.php.

{
$this->pass = $pass;
}
JUri::setPath (   $path)

Set the URI path string.

Paramètres:
string$pathThe URI path string.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 711 du fichier uri.php.

{
$this->path = $this->_cleanPath($path);
}
JUri::setPort (   $port)

Set URI port.

Paramètres:
integer$portThe URI port number.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 685 du fichier uri.php.

{
$this->port = $port;
}
JUri::setQuery (   $query)

Sets the query to a supplied string in format: foo=bar&x=y

Paramètres:
mixed$queryThe query string or array.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 489 du fichier uri.php.

{
if (is_array($query))
{
$this->vars = $query;
}
else
{
if (strpos($query, '&amp;') !== false)
{
$query = str_replace('&amp;', '&', $query);
}
parse_str($query, $this->vars);
}
// Empty the query
$this->query = null;
}
JUri::setScheme (   $scheme)

Set URI scheme (protocol) ie. http, https, ftp, etc...

Paramètres:
string$schemeThe URI scheme.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 577 du fichier uri.php.

{
$this->scheme = $scheme;
}
JUri::setUser (   $user)

Set URI username.

Paramètres:
string$userThe URI username.
Renvoie:
void
Depuis:
11.1

Définition à la ligne 604 du fichier uri.php.

Référencé par JMediawikiObject\fetchUrl().

{
$this->user = $user;
}

+ Voici le graphe des appelants de cette fonction :

JUri::setVar (   $name,
  $value 
)

Adds a query variable and value, replacing the value if it already exists and returning the old value.

Paramètres:
string$nameName of the query variable to set.
string$valueValue of the query variable.
Renvoie:
string Previous value for the query variable.
Depuis:
11.1

Définition à la ligne 413 du fichier uri.php.

Référencé par JGithubObject\fetchUrl(), et JFacebookObject\fetchUrl().

{
$tmp = isset($this->vars[$name]) ? $this->vars[$name] : null;
$this->vars[$name] = $value;
// Empty the query
$this->query = null;
return $tmp;
}

+ Voici le graphe des appelants de cette fonction :

JUri::toString ( array  $parts = array('scheme', 'user', 'pass', 'host', 'port', 'path', 'query', 'fragment'))

Returns full uri string.

Paramètres:
array$partsAn array specifying the parts to render.
Renvoie:
string The rendered URI string.
Depuis:
11.1

Définition à la ligne 384 du fichier uri.php.

Référencé par JHttpTransportSocket\request().

{
// Make sure the query is created
$query = $this->getQuery();
$uri = '';
$uri .= in_array('scheme', $parts) ? (!empty($this->scheme) ? $this->scheme . '://' : '') : '';
$uri .= in_array('user', $parts) ? $this->user : '';
$uri .= in_array('pass', $parts) ? (!empty($this->pass) ? ':' : '') . $this->pass . (!empty($this->user) ? '@' : '') : '';
$uri .= in_array('host', $parts) ? $this->host : '';
$uri .= in_array('port', $parts) ? (!empty($this->port) ? ':' : '') . $this->port : '';
$uri .= in_array('path', $parts) ? $this->path : '';
$uri .= in_array('query', $parts) ? (!empty($query) ? '?' . $query : '') : '';
$uri .= in_array('fragment', $parts) ? (!empty($this->fragment) ? '#' . $this->fragment : '') : '';
return $uri;
}

+ Voici le graphe des appelants de cette fonction :


Documentation des données membres

JUri::$base = array()
staticprotected

Définition à la ligne 95 du fichier uri.php.

JUri::$current
staticprotected

Définition à la ligne 107 du fichier uri.php.

JUri::$fragment = null
protected

Définition à la ligne 77 du fichier uri.php.

JUri::$host = null
protected

Définition à la ligne 41 du fichier uri.php.

JUri::$instances = array()
staticprotected

Définition à la ligne 89 du fichier uri.php.

JUri::$pass = null
protected

Définition à la ligne 59 du fichier uri.php.

JUri::$path = null
protected

Définition à la ligne 65 du fichier uri.php.

JUri::$port = null
protected

Définition à la ligne 47 du fichier uri.php.

JUri::$query = null
protected

Définition à la ligne 71 du fichier uri.php.

JUri::$root = array()
staticprotected

Définition à la ligne 101 du fichier uri.php.

JUri::$scheme = null
protected

Définition à la ligne 35 du fichier uri.php.

JUri::$uri = null
protected

Définition à la ligne 29 du fichier uri.php.

JUri::$user = null
protected

Définition à la ligne 53 du fichier uri.php.

JUri::$vars = array()
protected

Définition à la ligne 83 du fichier uri.php.


La documentation de cette classe a été générée à partir du fichier suivant :