Enhanced PHPIPAM Subnet Visualization
subnet masks: /22 -> /30
phpipam version: 1.4.4
I just tested this with the data I had available. Some of the block headings might be off alignment, just started writing PHP and just need to find the functions for ensuring proper spacing.
e.g., start and stop ranges >= 29 characters total. xxx.xxx.xxx.xxx - xxx.xxx.xxx.xxx
The legend spans are currently static colorings, need to figure out how to dynamically get the colors from maybe ipTags? The only code in subnet-visual uses the IP address for reference to get the fgcolor and bgcolor based on that IP's state (2=used, 3=reserved, etc...).
../phpipam/app/subnets/subnet-visual.php
../phpipam/css/bootstrap/bootstrap-custom-dark.css
Adds in CSS for Reserved IP Addresses (ip-3) so Reserved IP Address appear differently than Used/Unused/Disabled
.ip_vis span.ip-3{background:rgba(0,0,255,0.05) !important;color:white !important}
Legend Blocks [IP]: Blue (Reserved), Green (Used), Light Gray (Unused), Dark Gray (Disabled Out-of-Range)
Block Headers are: "Starting Usable Address - End Usable Address"
Removed the "." in ".IP" for all blocks, better visual aesthetics and centering for 0-255 in spans.

