diff --git a/dashboard/pgs/repeaters.php b/dashboard/pgs/repeaters.php index 124d59d..bdf8d6f 100755 --- a/dashboard/pgs/repeaters.php +++ b/dashboard/pgs/repeaters.php @@ -1,4 +1,110 @@ - + + +
+ +'; +} + + +?> @@ -22,61 +128,86 @@ $odd = ""; $Reflector->LoadFlags(); for ($i=0;$i<$Reflector->NodeCount();$i++) { - - if ($odd == "#FFFFFF") { $odd = "#F1FAFA"; } else { $odd = "#FFFFFF"; } - - echo ' - - - - - - - - - '; - if ($PageOptions['RepeatersPage']['IPModus'] != 'HideIP') { - echo ' - '; + $MO = true; + if ($_SESSION['FilterModule'] != null) { + if (trim(strtolower($_SESSION['FilterModule'])) != strtolower($Reflector->Nodes[$i]->GetLinkedModule())) { + $MO = false; + } + } + $PR = true; + if ($_SESSION['FilterProtocol'] != null) { + if (trim(strtolower($_SESSION['FilterProtocol'])) != strtolower($Reflector->Nodes[$i]->GetProtocol())) { + $PR = false; + } + } + + $ShowThisStation = ($CS && $MO && $PR); + } + + if ($ShowThisStation) { + if ($odd == "#FFFFFF") { $odd = "#F1FAFA"; } else { $odd = "#FFFFFF"; } + + echo ' + + + + + + + + + '; + if ($PageOptions['RepeatersPage']['IPModus'] != 'HideIP') { + echo ' + '; + } + echo ' + '; } - echo ' - '; if ($i == $PageOptions['RepeatersPage']['LimitTo']) { $i = $Reflector->NodeCount()+1; } }
+ + + '; + if (($_SESSION['FilterModule'] != null) || ($_SESSION['FilterCallSign'] != null) || ($_SESSION['FilterProtocol'] != null)) { + echo ' + '; + } + echo ' + + +
+
+ + + +
+
Disable filters +
+ + + +
+
+
+ + + +
+
+
# Flag
'.($i+1).''; - list ($Flag, $Name) = $Reflector->GetFlag($Reflector->Nodes[$i]->GetCallSign()); - if (file_exists("./img/flags/".$Flag.".png")) { - echo ''.$Name.''.$Name.''; - } - echo 'Nodes[$i]->GetSuffix(); - echo '" class="pl" target="_blank">'.$Reflector->Nodes[$i]->GetCallSign(); - if ($Reflector->Nodes[$i]->GetSuffix() != "") { echo '-'.$Reflector->Nodes[$i]->GetSuffix(); } - echo ''; - if (($Reflector->Nodes[$i]->GetPrefix() == 'REF') || ($Reflector->Nodes[$i]->GetPrefix() == 'XRF')) { - switch ($Reflector->Nodes[$i]->GetPrefix()) { - case 'REF' : echo 'REF-Link'; break; - case 'XRF' : echo 'XRF-Link'; break; - } - } - else { - switch ($Reflector->Nodes[$i]->GetSuffix()) { - case 'A' : echo '23cm'; break; - case 'B' : echo '70cm'; break; - case 'C' : echo '2m'; break; - case 'D' : echo 'Dongle'; break; - case 'G' : echo 'Internet-Gateway'; break; - default : echo ''; - } - } - echo ''.date("d.m.Y H:i", $Reflector->Nodes[$i]->GetLastHeardTime()).''.FormatSeconds(time()-$Reflector->Nodes[$i]->GetConnectTime()).' s'.$Reflector->Nodes[$i]->GetProtocol().''.$Reflector->Nodes[$i]->GetLinkedModule().''; - $Bytes = explode(".", $Reflector->Nodes[$i]->GetIP()); - if ($Bytes !== false && count($Bytes) == 4) { - switch ($PageOptions['RepeatersPage']['IPModus']) { - case 'ShowLast1ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[3]; break; - case 'ShowLast2ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[2].'.'.$Bytes[3]; break; - case 'ShowLast3ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[1].'.'.$Bytes[2].'.'.$Bytes[3]; break; - default : echo $Reflector->Nodes[$i]->GetIP(); + $ShowThisStation = true; + if ($PageOptions['UserPage']['ShowFilter']) { + $CS = true; + if ($_SESSION['FilterCallSign'] != null) { + if (!fnmatch($_SESSION['FilterCallSign'], $Reflector->Nodes[$i]->GetCallSign(), FNM_CASEFOLD)) { + $CS = false; } } - echo '
'.($i+1).''; + list ($Flag, $Name) = $Reflector->GetFlag($Reflector->Nodes[$i]->GetCallSign()); + if (file_exists("./img/flags/".$Flag.".png")) { + echo ''.$Name.''.$Name.''; + } + echo 'Nodes[$i]->GetSuffix(); + echo '" class="pl" target="_blank">'.$Reflector->Nodes[$i]->GetCallSign(); + if ($Reflector->Nodes[$i]->GetSuffix() != "") { echo '-'.$Reflector->Nodes[$i]->GetSuffix(); } + echo ''; + if (($Reflector->Nodes[$i]->GetPrefix() == 'REF') || ($Reflector->Nodes[$i]->GetPrefix() == 'XRF')) { + switch ($Reflector->Nodes[$i]->GetPrefix()) { + case 'REF' : echo 'REF-Link'; break; + case 'XRF' : echo 'XRF-Link'; break; + } + } + else { + switch ($Reflector->Nodes[$i]->GetSuffix()) { + case 'A' : echo '23cm'; break; + case 'B' : echo '70cm'; break; + case 'C' : echo '2m'; break; + case 'D' : echo 'Dongle'; break; + case 'G' : echo 'Internet-Gateway'; break; + default : echo ''; + } + } + echo ''.date("d.m.Y H:i", $Reflector->Nodes[$i]->GetLastHeardTime()).''.FormatSeconds(time()-$Reflector->Nodes[$i]->GetConnectTime()).' s'.$Reflector->Nodes[$i]->GetProtocol().''.$Reflector->Nodes[$i]->GetLinkedModule().''; + $Bytes = explode(".", $Reflector->Nodes[$i]->GetIP()); + if ($Bytes !== false && count($Bytes) == 4) { + switch ($PageOptions['RepeatersPage']['IPModus']) { + case 'ShowLast1ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[3]; break; + case 'ShowLast2ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[2].'.'.$Bytes[3]; break; + case 'ShowLast3ByteOfIP' : echo $PageOptions['RepeatersPage']['MasqueradeCharacter'].'.'.$Bytes[1].'.'.$Bytes[2].'.'.$Bytes[3]; break; + default : echo $Reflector->Nodes[$i]->GetIP(); + } + } + echo '