add IPv6 address display

pull/122/head
SASANO Takayoshi 6 years ago
parent cc92f37a05
commit 368e4ecd1f

@ -64,13 +64,42 @@ for ($i=0;$i<$Reflector->PeerCount();$i++) {
<td>'.$Reflector->Peers[$i]->GetLinkedModule().'</td>'; <td>'.$Reflector->Peers[$i]->GetLinkedModule().'</td>';
if ($PageOptions['PeerPage']['IPModus'] != 'HideIP') { if ($PageOptions['PeerPage']['IPModus'] != 'HideIP') {
echo '<td>'; echo '<td>';
$Bytes = explode(".", $Reflector->Peers[$i]->GetIP()); $IPBinary = inet_pton($Reflector->Peers[$i]->GetIP());
if ($Bytes !== false && count($Bytes) == 4) { $IPLength = strlen($IPBinary);
switch ($PageOptions['PeerPage']['IPModus']) { $Bytes = str_split($IPBinary, 1);
case 'ShowLast1ByteOfIP' : echo $PageOptions['PeerPage']['MasqueradeCharacter'].'.'.$PageOptions['PeerPage']['MasqueradeCharacter'].'.'.$PageOptions['PeerPage']['MasqueradeCharacter'].'.'.$Bytes[3]; break; switch ($PageOptions['PeerPage']['IPModus']) {
case 'ShowLast2ByteOfIP' : echo $PageOptions['PeerPage']['MasqueradeCharacter'].'.'.$PageOptions['PeerPage']['MasqueradeCharacter'].'.'.$Bytes[2].'.'.$Bytes[3]; break; case 'ShowLast1ByteOfIP' : $MasqByte = 3; break;
case 'ShowLast3ByteOfIP' : echo $PageOptions['PeerPage']['MasqueradeCharacter'].'.'.$Bytes[1].'.'.$Bytes[2].'.'.$Bytes[3]; break; case 'ShowLast2ByteOfIP' : $MasqByte = 2; break;
default : echo '<a href="http://'.$Reflector->Peers[$i]->GetIP().'" target="_blank" style="text-decoration:none;color:#000000;">'.$Reflector->Peers[$i]->GetIP().'</a>'; case 'ShowLast3ByteOfIP' : $MasqByte = 1; break;
default : $MasqByte = 0; break;
}
if ($MasqByte == 0) {
switch ($IPLength) {
case 16: $IPAddrBracketL = '['; $IPAddrBracketR = ']'; break;
default: $IPAddrBracketL = ''; $IPAddrBracketR = ''; break;
}
echo '<a href="http://'.$IPAddrBracketL.$Reflector->Peers[$i]->GetIP().$IPAddrBracketR.'" target="_blank" style="text-decoration:none;color:#000000;">'.$Reflector->Peers[$i]->GetIP().'</a>';
} else {
switch ($IPLength) {
case 4:
for ($pos = 0; $pos < $IPLength; $pos++) {
if ($pos) echo '.';
if ($pos < $MasqByte) echo $PageOptions['PeerPage']['MasqueradeCharacter'];
else echo ord($Bytes[$pos]);
}
break;
case 16:
for ($pos = 0; $pos < $IPLength; $pos += 2) {
if ($pos) echo ':';
if ($pos < ($MasqByte * 4)) echo $PageOptions['PeerPage']['MasqueradeCharacter'];
else {
echo bin2hex($Bytes[$pos]);
echo bin2hex($Bytes[$pos + 1]);
}
}
break;
default:
break;
} }
} }
echo '</td>'; echo '</td>';

@ -60,14 +60,35 @@ for ($i=0;$i<$Reflector->NodeCount();$i++) {
if ($PageOptions['RepeatersPage']['IPModus'] != 'HideIP') { if ($PageOptions['RepeatersPage']['IPModus'] != 'HideIP') {
echo ' echo '
<td>'; <td>';
$Bytes = explode(".", $Reflector->Nodes[$i]->GetIP()); $IPBinary = inet_pton($Reflector->Nodes[$i]->GetIP());
if ($Bytes !== false && count($Bytes) == 4) { $IPLength = strlen($IPBinary);
switch ($PageOptions['RepeatersPage']['IPModus']) { $Bytes = str_split($IPBinary, 1);
case 'ShowLast1ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[3]; break; switch ($PageOptions['RepeatersPage']['IPModus']) {
case 'ShowLast2ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[2].'.'.$Bytes[3]; break; case 'ShowLast1ByteOfIP' : $MasqByte = 3; break;
case 'ShowLast3ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[1].'.'.$Bytes[2].'.'.$Bytes[3]; break; case 'ShowLast2ByteOfIP' : $MasqByte = 2; break;
default : echo $Reflector->Nodes[$i]->GetIP(); case 'ShowLast3ByteOfIP' : $MasqByte = 1; break;
} default : $MasqByte = 0; break;
}
switch ($IPLength) {
case 4:
for ($pos = 0; $pos < $IPLength; $pos++) {
if ($pos) echo '.';
if ($pos < $MasqByte) echo $PageOptions['RepeatersPage']['MasqueradeCharacter'];
else echo ord($Bytes[$pos]);
}
break;
case 16:
for ($pos = 0; $pos < $IPLength; $pos += 2) {
if ($pos) echo ':';
if ($pos < ($MasqByte * 4)) echo $PageOptions['RepeatersPage']['MasqueradeCharacter'];
else {
echo bin2hex($Bytes[$pos]);
echo bin2hex($Bytes[$pos + 1]);
}
}
break;
default:
break;
} }
echo '</td>'; echo '</td>';
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.