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_Net_IPv6

Liste de tous les membres

Fonctions membres publiques statiques

 removeNetmaskSpec ($ip)
 Uncompress ($ip)
 SplitV64 ($ip)
 checkIPv6 ($ip)

Description détaillée

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


Documentation des fonctions membres

SimplePie_Net_IPv6::checkIPv6 (   $ip)
static

Checks an IPv6 address

Checks if the given IP is IPv6-compatible

public

Paramètres:
string$ipa valid IPv6-address
Renvoie:
bool true if $ip is an IPv6 address

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

Références SplitV64().

{
$count = 0;
if (!empty($ipPart[0]))
{
$ipv6 = explode(':', $ipPart[0]);
for ($i = 0; $i < count($ipv6); $i++)
{
$dec = hexdec($ipv6[$i]);
$hex = strtoupper(preg_replace('/^[0]{1,3}(.*[0-9a-fA-F])$/', '\\1', $ipv6[$i]));
if ($ipv6[$i] >= 0 && $dec <= 65535 && $hex === strtoupper(dechex($dec)))
{
$count++;
}
}
if ($count === 8)
{
return true;
}
elseif ($count === 6 && !empty($ipPart[1]))
{
$ipv4 = explode('.', $ipPart[1]);
$count = 0;
foreach ($ipv4 as $ipv4_part)
{
if ($ipv4_part >= 0 && $ipv4_part <= 255 && preg_match('/^\d{1,3}$/', $ipv4_part))
{
$count++;
}
}
if ($count === 4)
{
return true;
}
}
else
{
return false;
}
}
else
{
return false;
}
}

+ Voici le graphe d'appel pour cette fonction :

SimplePie_Net_IPv6::removeNetmaskSpec (   $ip)
static

Removes a possible existing netmask specification of an IP address.

Paramètres:
string$ipthe (compressed) IP as Hex representation
Renvoie:
string the IP the without netmask
Depuis:
1.1.0 public

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

Référencé par Uncompress().

{
if (strpos($ip, '/') !== false)
{
list($addr, $nm) = explode('/', $ip);
}
else
{
$addr = $ip;
}
return $addr;
}

+ Voici le graphe des appelants de cette fonction :

SimplePie_Net_IPv6::SplitV64 (   $ip)
static

Splits an IPv6 address into the IPv6 and a possible IPv4 part

RFC 2373 allows you to note the last two parts of an IPv6 address as an IPv4 compatible address

Example: 0:0:0:0:0:0:13.1.68.3 0:0:0:0:0:FFFF:129.144.52.38

public

Paramètres:
string$ipa valid IPv6-address (hex format)
Renvoie:
array [0] contains the IPv6 part, [1] the IPv4 part (hex format)

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

Références Uncompress().

Référencé par checkIPv6().

{
if (strstr($ip, '.'))
{
$pos = strrpos($ip, ':');
$ip[$pos] = '_';
$ipPart = explode('_', $ip);
return $ipPart;
}
else
{
return array($ip, '');
}
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

SimplePie_Net_IPv6::Uncompress (   $ip)
static

Uncompresses an IPv6 address

RFC 2373 allows you to compress zeros in an address to '::'. This function expects an valid IPv6 address and expands the '::' to the required zeros.

Example: FF01::101 -> FF01:0:0:0:0:0:0:101 ::1 -> 0:0:0:0:0:0:0:1

public

Paramètres:
string$ipa valid IPv6-address (hex format)
Renvoie:
string the uncompressed IPv6-address (hex format)

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

Références removeNetmaskSpec().

Référencé par SplitV64().

{
$c1 = -1;
$c2 = -1;
if (strpos($ip, '::') !== false)
{
list($ip1, $ip2) = explode('::', $ip);
if ($ip1 === '')
{
$c1 = -1;
}
else
{
$pos = 0;
if (($pos = substr_count($ip1, ':')) > 0)
{
$c1 = $pos;
}
else
{
$c1 = 0;
}
}
if ($ip2 === '')
{
$c2 = -1;
}
else
{
$pos = 0;
if (($pos = substr_count($ip2, ':')) > 0)
{
$c2 = $pos;
}
else
{
$c2 = 0;
}
}
if (strstr($ip2, '.'))
{
$c2++;
}
// ::
if ($c1 === -1 && $c2 === -1)
{
$uip = '0:0:0:0:0:0:0:0';
}
// ::xxx
else if ($c1 === -1)
{
$fill = str_repeat('0:', 7 - $c2);
$uip = str_replace('::', $fill, $uip);
}
// xxx::
else if ($c2 === -1)
{
$fill = str_repeat(':0', 7 - $c1);
$uip = str_replace('::', $fill, $uip);
}
// xxx::xxx
else
{
$fill = str_repeat(':0:', 6 - $c2 - $c1);
$uip = str_replace('::', $fill, $uip);
$uip = str_replace('::', ':', $uip);
}
}
return $uip;
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :


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