prioritize shutdown, change class names

This commit is contained in:
Adrien MALINGREY 2023-08-23 11:29:43 +02:00
parent 481f662d8d
commit b4b3c5959f
2 changed files with 13 additions and 10 deletions

View File

@ -19,11 +19,11 @@ td {
margin: 0; margin: 0;
border: 4px solid #335; border: 4px solid #335;
} }
.vlans { .legend {
border-spacing: 0; border-spacing: 0;
} }
.member td, .member td,
.vlans td { .legend td {
border: 2px inset; border: 2px inset;
} }
.interface { .interface {
@ -33,8 +33,7 @@ td {
mix-blend-mode: darken; mix-blend-mode: darken;
padding: 2px; padding: 2px;
} }
.access, .vlan {
.pvid {
background-color: hsl(calc(var(--k)*var(--pvid)) 100% 60%); background-color: hsl(calc(var(--k)*var(--pvid)) 100% 60%);
} }
.trunk { .trunk {
@ -50,8 +49,9 @@ td {
background-image: linear-gradient(135deg, hsl(calc(var(--k)*var(--tagged)) 100% 60%) 50%, hsl(calc(var(--k)*var(--untagged)) 100% 60%) 50%); background-image: linear-gradient(135deg, hsl(calc(var(--k)*var(--tagged)) 100% 60%) 50%, hsl(calc(var(--k)*var(--untagged)) 100% 60%) 50%);
} }
.shutdown { .shutdown {
background-color: lightgray; background-color: lightgray !important;
color: gray; background-image: none !important;
color: gray !important;
} }
.poe { .poe {
position: relative; position: relative;

View File

@ -11,7 +11,7 @@ $conf = file_get_contents($path);
preg_match("/ sysname ([\w-]+)/", $conf, $sysname); preg_match("/ sysname ([\w-]+)/", $conf, $sysname);
preg_match("/ip address ([\d.]+)/", $conf, $address); preg_match("/ip address ([\d.]+)/", $conf, $address);
preg_match_all("/(?<=\n)vlan (?P<pvid>\d+)[\r\n]+(?: name (?P<name>.+)[\r\n]+| description (?P<description>.+)[\r\n]+| .*[\r\n]+)*/", $conf, $vlans, PREG_SET_ORDER); preg_match_all("/(?<=\n)vlan (?P<pvid>\d+)[\r\n]+(?: name (?P<name>.+)[\r\n]+| description (?P<description>.+)[\r\n]+| .*[\r\n]+)*/", $conf, $vlans, PREG_SET_ORDER);
preg_match_all("/(?<=\n)interface [\w-]+(?P<member>\d+)\/0\/(?P<port>\d+)[\r\n]+(?: port hybrid vlan (?P<tagged>\d+) tagged[\r\n]+| port hybrid vlan (?P<untagged>\d+)(?: \d+)* untagged[\r\n]+| port (?P<linktype>access|trunk pvid|hybrid pvid) vlan (?P<pvid>\d+)[\r\n]+| (?P<poe>poe) enable[\r\n]+| (?P<shutdown>shutdown)[\r\n]+| .*[\r\n]+)*/", $conf, $interfaces, PREG_SET_ORDER); preg_match_all("/(?<=\n)interface [\w-]+(?P<member>\d+)\/0\/(?P<port>\d+)[\r\n]+(?: port hybrid (?:pvid )?vlan (?P<tagged>\d+) tagged[\r\n]+| port hybrid vlan (?P<untagged>\d+)(?: \d+)* untagged[\r\n]+| port (?P<linktype>(?:access |trunk |hybrid |pvid |vlan )*)(?P<pvid>\d+)[\r\n]+| (?P<poe>poe) enable[\r\n]+| (?P<shutdown>shutdown)[\r\n]+| .*[\r\n]+)*/", $conf, $interfaces, PREG_SET_ORDER);
$stack = array(); $stack = array();
foreach ($interfaces as $interface) { foreach ($interfaces as $interface) {
if (!isset($stack[$interface["member"]])) { if (!isset($stack[$interface["member"]])) {
@ -19,6 +19,9 @@ foreach ($interfaces as $interface) {
} }
$stack[$interface["member"]][$interface["port"]] = $interface; $stack[$interface["member"]][$interface["port"]] = $interface;
} }
echo ("<!--");
var_dump($stack);
echo ("-->");
?> ?>
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html lang='fr'> <html lang='fr'>
@ -54,7 +57,7 @@ foreach ($stack as $member => $interfaces) {
?> ?>
</tbody> </tbody>
</table> </table>
<table class='vlans'> <table class='legend'>
<caption><h2>Légende</h2></caption> <caption><h2>Légende</h2></caption>
<thead><tr><th>PVID</th><th>Nom</th><th>Description</th></tr></thead> <thead><tr><th>PVID</th><th>Nom</th><th>Description</th></tr></thead>
<tbody> <tbody>
@ -63,7 +66,7 @@ foreach ($vlans as $vlan) {
if (isset($vlan["pvid"]) and $vlan["pvid"] != 1) { if (isset($vlan["pvid"]) and $vlan["pvid"] != 1) {
$name = $vlan["name"] ?? ""; $name = $vlan["name"] ?? "";
$description = $vlan["description"] ?? ""; $description = $vlan["description"] ?? "";
echo "<tr title='${vlan[0]}'><td class='interface pvid' style='--pvid: ${vlan["pvid"]}'>${vlan["pvid"]}</td><td>$name</td><td>$description</td></tr>"; echo "<tr title='${vlan[0]}'><td class='interface vlan' style='--pvid: ${vlan["pvid"]}'>${vlan["pvid"]}</td><td>$name</td><td>$description</td></tr>";
} }
} }
?> ?>