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 SimplePie_IRI

Liste de tous les membres

Fonctions membres publiques

 __toString ()
 SimplePie_IRI ($iri)
 parse_iri ($iri)
 remove_dot_segments ($input)
 replace_invalid_with_pct_encoding ($string, $valid_chars, $case=SIMPLEPIE_SAME_CASE)
 is_valid ()
 set_scheme ($scheme)
 set_authority ($authority)
 set_userinfo ($userinfo)
 set_host ($host)
 set_port ($port)
 set_path ($path)
 set_query ($query)
 set_fragment ($fragment)
 get_iri ()
 get_scheme ()
 get_authority ()
 get_userinfo ()
 get_host ()
 get_port ()
 get_path ()
 get_query ()
 get_fragment ()

Fonctions membres publiques statiques

 absolutize ($base, $relative)

Attributs publics

 $scheme
 $userinfo
 $host
 $port
 $path
 $query
 $fragment
 $valid = array()

Description détaillée

Définition à la ligne 11578 du fichier simplepie.php.


Documentation des fonctions membres

SimplePie_IRI::__toString ( )

Return the entire IRI when you try and read the object as a string

public

Renvoie:
string

Définition à la ligne 11650 du fichier simplepie.php.

{
return $this->get_iri();
}
SimplePie_IRI::absolutize (   $base,
  $relative 
)
static

Create a new IRI object by resolving a relative IRI

public

Paramètres:
SimplePie_IRI$baseBase IRI
string$relativeRelative IRI
Renvoie:
SimplePie_IRI

Définition à la ligne 11685 du fichier simplepie.php.

Référencé par SimplePie_Misc\absolutize_url().

{
$relative = (string) $relative;
if ($relative !== '')
{
$relative = new SimplePie_IRI($relative);
if ($relative->get_scheme() !== null)
{
$target = $relative;
}
elseif ($base->get_iri() !== null)
{
if ($relative->get_authority() !== null)
{
$target = $relative;
$target->set_scheme($base->get_scheme());
}
else
{
$target = new SimplePie_IRI('');
$target->set_scheme($base->get_scheme());
$target->set_userinfo($base->get_userinfo());
$target->set_host($base->get_host());
$target->set_port($base->get_port());
if ($relative->get_path() !== null)
{
if (strpos($relative->get_path(), '/') === 0)
{
$target->set_path($relative->get_path());
}
elseif (($base->get_userinfo() !== null || $base->get_host() !== null || $base->get_port() !== null) && $base->get_path() === null)
{
$target->set_path('/' . $relative->get_path());
}
elseif (($last_segment = strrpos($base->get_path(), '/')) !== false)
{
$target->set_path(substr($base->get_path(), 0, $last_segment + 1) . $relative->get_path());
}
else
{
$target->set_path($relative->get_path());
}
$target->set_query($relative->get_query());
}
else
{
$target->set_path($base->get_path());
if ($relative->get_query() !== null)
{
$target->set_query($relative->get_query());
}
elseif ($base->get_query() !== null)
{
$target->set_query($base->get_query());
}
}
}
$target->set_fragment($relative->get_fragment());
}
else
{
// No base URL, just return the relative URL
$target = $relative;
}
}
else
{
$target = $base;
}
return $target;
}

+ Voici le graphe des appelants de cette fonction :

SimplePie_IRI::get_authority ( )

Get the complete authority

public

Renvoie:
string

Définition à la ligne 12221 du fichier simplepie.php.

{
$authority = '';
if ($this->userinfo !== null)
{
$authority .= $this->userinfo . '@';
}
if ($this->host !== null)
{
$authority .= $this->host;
}
if ($this->port !== null)
{
$authority .= ':' . $this->port;
}
if ($authority !== '')
{
return $authority;
}
else
{
return null;
}
}
SimplePie_IRI::get_fragment ( )

Get the fragment

public

Renvoie:
string

Définition à la ligne 12308 du fichier simplepie.php.

{
}
SimplePie_IRI::get_host ( )

Get the host

public

Renvoie:
string

Définition à la ligne 12264 du fichier simplepie.php.

{
return $this->host;
}
SimplePie_IRI::get_iri ( )

Get the complete IRI

public

Renvoie:
string

Définition à la ligne 12170 du fichier simplepie.php.

{
$iri = '';
if ($this->scheme !== null)
{
$iri .= $this->scheme . ':';
}
if (($authority = $this->get_authority()) !== null)
{
$iri .= '//' . $authority;
}
if ($this->path !== null)
{
$iri .= $this->path;
}
if ($this->query !== null)
{
$iri .= '?' . $this->query;
}
if ($this->fragment !== null)
{
$iri .= '#' . $this->fragment;
}
if ($iri !== '')
{
return $iri;
}
else
{
return null;
}
}
SimplePie_IRI::get_path ( )

Get the path

public

Renvoie:
string

Définition à la ligne 12286 du fichier simplepie.php.

{
return $this->path;
}
SimplePie_IRI::get_port ( )

Get the port

public

Renvoie:
string

Définition à la ligne 12275 du fichier simplepie.php.

{
return $this->port;
}
SimplePie_IRI::get_query ( )

Get the query

public

Renvoie:
string

Définition à la ligne 12297 du fichier simplepie.php.

{
return $this->query;
}
SimplePie_IRI::get_scheme ( )

Get the scheme

public

Renvoie:
string

Définition à la ligne 12210 du fichier simplepie.php.

{
return $this->scheme;
}
SimplePie_IRI::get_userinfo ( )

Get the user information

public

Renvoie:
string

Définition à la ligne 12253 du fichier simplepie.php.

{
}
SimplePie_IRI::is_valid ( )

Check if the object represents a valid IRI

public

Renvoie:
bool

Définition à la ligne 11920 du fichier simplepie.php.

{
return array_sum($this->valid) === count($this->valid);
}
SimplePie_IRI::parse_iri (   $iri)

Parse an IRI into scheme/authority/path/query/fragment segments

private

Paramètres:
string$iri
Renvoie:
array

Définition à la ligne 11764 du fichier simplepie.php.

{
preg_match('/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/', $iri, $match);
for ($i = count($match); $i <= 9; $i++)
{
$match[$i] = '';
}
return array('scheme' => $match[2], 'authority' => $match[4], 'path' => $match[5], 'query' => $match[7], 'fragment' => $match[9]);
}
SimplePie_IRI::remove_dot_segments (   $input)

Remove dot segments from a path

private

Paramètres:
string$input
Renvoie:
string

Définition à la ligne 11781 du fichier simplepie.php.

{
$output = '';
while (strpos($input, './') !== false || strpos($input, '/.') !== false || $input === '.' || $input === '..')
{
// A: If the input buffer begins with a prefix of "../" or "./", then remove that prefix from the input buffer; otherwise,
if (strpos($input, '../') === 0)
{
$input = substr($input, 3);
}
elseif (strpos($input, './') === 0)
{
$input = substr($input, 2);
}
// B: if the input buffer begins with a prefix of "/./" or "/.", where "." is a complete path segment, then replace that prefix with "/" in the input buffer; otherwise,
elseif (strpos($input, '/./') === 0)
{
$input = substr_replace($input, '/', 0, 3);
}
elseif ($input === '/.')
{
$input = '/';
}
// C: if the input buffer begins with a prefix of "/../" or "/..", where ".." is a complete path segment, then replace that prefix with "/" in the input buffer and remove the last segment and its preceding "/" (if any) from the output buffer; otherwise,
elseif (strpos($input, '/../') === 0)
{
$input = substr_replace($input, '/', 0, 4);
$output = substr_replace($output, '', strrpos($output, '/'));
}
elseif ($input === '/..')
{
$input = '/';
$output = substr_replace($output, '', strrpos($output, '/'));
}
// D: if the input buffer consists only of "." or "..", then remove that from the input buffer; otherwise,
elseif ($input === '.' || $input === '..')
{
$input = '';
}
// E: move the first path segment in the input buffer to the end of the output buffer, including the initial "/" character (if any) and any subsequent characters up to, but not including, the next "/" character or the end of the input buffer
elseif (($pos = strpos($input, '/', 1)) !== false)
{
$output .= substr($input, 0, $pos);
$input = substr_replace($input, '', 0, $pos);
}
else
{
$output .= $input;
$input = '';
}
}
return $output . $input;
}
SimplePie_IRI::replace_invalid_with_pct_encoding (   $string,
  $valid_chars,
  $case = SIMPLEPIE_SAME_CASE 
)

Replace invalid character with percent encoding

private

Paramètres:
string$stringInput string
string$valid_charsValid characters
int$caseNormalise case
Renvoie:
string

Définition à la ligne 11844 du fichier simplepie.php.

Références SIMPLEPIE_LOWERCASE, et SIMPLEPIE_UPPERCASE.

{
// Normalise case
if ($case & SIMPLEPIE_LOWERCASE)
{
$string = strtolower($string);
}
elseif ($case & SIMPLEPIE_UPPERCASE)
{
$string = strtoupper($string);
}
// Store position and string length (to avoid constantly recalculating this)
$position = 0;
$strlen = strlen($string);
// Loop as long as we have invalid characters, advancing the position to the next invalid character
while (($position += strspn($string, $valid_chars, $position)) < $strlen)
{
// If we have a % character
if ($string[$position] === '%')
{
// If we have a pct-encoded section
if ($position + 2 < $strlen && strspn($string, '0123456789ABCDEFabcdef', $position + 1, 2) === 2)
{
// Get the the represented character
$chr = chr(hexdec(substr($string, $position + 1, 2)));
// If the character is valid, replace the pct-encoded with the actual character while normalising case
if (strpos($valid_chars, $chr) !== false)
{
if ($case & SIMPLEPIE_LOWERCASE)
{
$chr = strtolower($chr);
}
elseif ($case & SIMPLEPIE_UPPERCASE)
{
$chr = strtoupper($chr);
}
$string = substr_replace($string, $chr, $position, 3);
$strlen -= 2;
$position++;
}
// Otherwise just normalise the pct-encoded to uppercase
else
{
$string = substr_replace($string, strtoupper(substr($string, $position + 1, 2)), $position + 1, 2);
$position += 3;
}
}
// If we don't have a pct-encoded section, just replace the % with its own esccaped form
else
{
$string = substr_replace($string, '%25', $position, 1);
$strlen += 2;
$position += 3;
}
}
// If we have an invalid character, change into its pct-encoded form
else
{
$replacement = sprintf("%%%02X", ord($string[$position]));
$string = str_replace($string[$position], $replacement, $string);
$strlen = strlen($string);
}
}
return $string;
}
SimplePie_IRI::set_authority (   $authority)

Set the authority. Returns true on success, false on failure (if there are any invalid characters).

public

Paramètres:
string$authority
Renvoie:
bool

Définition à la ligne 11974 du fichier simplepie.php.

{
if (($userinfo_end = strrpos($authority, '@')) !== false)
{
$userinfo = substr($authority, 0, $userinfo_end);
$authority = substr($authority, $userinfo_end + 1);
}
else
{
$userinfo = null;
}
if (($port_start = strpos($authority, ':')) !== false)
{
$port = substr($authority, $port_start + 1);
$authority = substr($authority, 0, $port_start);
}
else
{
$port = null;
}
return $this->set_userinfo($userinfo) && $this->set_host($authority) && $this->set_port($port);
}
SimplePie_IRI::set_fragment (   $fragment)

Set the fragment.

public

Paramètres:
string$fragment
Renvoie:
bool

Définition à la ligne 12150 du fichier simplepie.php.

{
if ($fragment === null || $fragment === '')
{
$this->fragment = null;
}
else
{
$this->fragment = $this->replace_invalid_with_pct_encoding($fragment, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=:@/?');
}
$this->valid[__FUNCTION__] = true;
return true;
}
SimplePie_IRI::set_host (   $host)

Set the host. Returns true on success, false on failure (if there are any invalid characters).

public

Paramètres:
string$host
Renvoie:
bool

Définition à la ligne 12028 du fichier simplepie.php.

Références SIMPLEPIE_LOWERCASE.

{
if ($host === null || $host === '')
{
$this->host = null;
$this->valid[__FUNCTION__] = true;
return true;
}
elseif ($host[0] === '[' && substr($host, -1) === ']')
{
if (Net_IPv6::checkIPv6(substr($host, 1, -1)))
{
$this->host = $host;
$this->valid[__FUNCTION__] = true;
return true;
}
else
{
$this->host = null;
$this->valid[__FUNCTION__] = false;
return false;
}
}
else
{
$this->host = $this->replace_invalid_with_pct_encoding($host, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=', SIMPLEPIE_LOWERCASE);
$this->valid[__FUNCTION__] = true;
return true;
}
}
SimplePie_IRI::set_path (   $path)

Set the path.

public

Paramètres:
string$path
Renvoie:
bool

Définition à la ligne 12096 du fichier simplepie.php.

{
if ($path === null || $path === '')
{
$this->path = null;
$this->valid[__FUNCTION__] = true;
return true;
}
elseif (substr($path, 0, 2) === '//' && $this->userinfo === null && $this->host === null && $this->port === null)
{
$this->path = null;
$this->valid[__FUNCTION__] = false;
return false;
}
else
{
$this->path = $this->replace_invalid_with_pct_encoding($path, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=@/');
if ($this->scheme !== null)
{
$this->path = $this->remove_dot_segments($this->path);
}
$this->valid[__FUNCTION__] = true;
return true;
}
}
SimplePie_IRI::set_port (   $port)

Set the port. Returns true on success, false on failure (if there are any invalid characters).

public

Paramètres:
string$port
Renvoie:
bool

Définition à la ligne 12067 du fichier simplepie.php.

{
if ($port === null || $port === '')
{
$this->port = null;
$this->valid[__FUNCTION__] = true;
return true;
}
elseif (strspn($port, '0123456789') === strlen($port))
{
$this->port = (int) $port;
$this->valid[__FUNCTION__] = true;
return true;
}
else
{
$this->port = null;
$this->valid[__FUNCTION__] = false;
return false;
}
}
SimplePie_IRI::set_query (   $query)

Set the query.

public

Paramètres:
string$query
Renvoie:
bool

Définition à la ligne 12129 du fichier simplepie.php.

{
if ($query === null || $query === '')
{
$this->query = null;
}
else
{
$this->query = $this->replace_invalid_with_pct_encoding($query, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=:@/?');
}
$this->valid[__FUNCTION__] = true;
return true;
}
SimplePie_IRI::set_scheme (   $scheme)

Set the scheme. Returns true on success, false on failure (if there are any invalid characters).

public

Paramètres:
string$scheme
Renvoie:
bool

Définition à la ligne 11933 du fichier simplepie.php.

{
if ($scheme === null || $scheme === '')
{
$this->scheme = null;
}
else
{
$len = strlen($scheme);
switch (true)
{
case $len > 1:
if (!strspn($scheme, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-.', 1))
{
$this->scheme = null;
$this->valid[__FUNCTION__] = false;
return false;
}
case $len > 0:
if (!strspn($scheme, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 0, 1))
{
$this->scheme = null;
$this->valid[__FUNCTION__] = false;
return false;
}
}
$this->scheme = strtolower($scheme);
}
$this->valid[__FUNCTION__] = true;
return true;
}
SimplePie_IRI::set_userinfo (   $userinfo)

Set the userinfo.

public

Paramètres:
string$userinfo
Renvoie:
bool

Définition à la ligne 12006 du fichier simplepie.php.

{
if ($userinfo === null || $userinfo === '')
{
$this->userinfo = null;
}
else
{
$this->userinfo = $this->replace_invalid_with_pct_encoding($userinfo, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=:');
}
$this->valid[__FUNCTION__] = true;
return true;
}
SimplePie_IRI::SimplePie_IRI (   $iri)

Create a new IRI object, from a specified string

public

Paramètres:
string$iri
Renvoie:
SimplePie_IRI

Définition à la ligne 11662 du fichier simplepie.php.

{
$iri = (string) $iri;
if ($iri !== '')
{
$parsed = $this->parse_iri($iri);
$this->set_scheme($parsed['scheme']);
$this->set_authority($parsed['authority']);
$this->set_path($parsed['path']);
$this->set_query($parsed['query']);
$this->set_fragment($parsed['fragment']);
}
}

Documentation des données membres

SimplePie_IRI::$fragment

Définition à la ligne 11634 du fichier simplepie.php.

SimplePie_IRI::$host

Définition à la ligne 11602 du fichier simplepie.php.

SimplePie_IRI::$path

Définition à la ligne 11618 du fichier simplepie.php.

SimplePie_IRI::$port

Définition à la ligne 11610 du fichier simplepie.php.

SimplePie_IRI::$query

Définition à la ligne 11626 du fichier simplepie.php.

SimplePie_IRI::$scheme

Définition à la ligne 11586 du fichier simplepie.php.

SimplePie_IRI::$userinfo

Définition à la ligne 11594 du fichier simplepie.php.

SimplePie_IRI::$valid = array()

Définition à la ligne 11642 du fichier simplepie.php.


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