From 2efd4ad0ab06b2bba5764240c43f5a1fc8dbdc6f Mon Sep 17 00:00:00 2001 From: Thomas Hooge Date: Mon, 13 Feb 2023 08:34:23 +0100 Subject: [PATCH] First commit based on v0.1 --- asset.php | 23 ++++ assetadd.php | 80 +++++++++++++ assetclass.php | 23 ++++ assetclassadd.php | 63 ++++++++++ assetclassedit.php | 78 +++++++++++++ assetclassgroupview.php | 51 +++++++++ assetclassview.php | 70 ++++++++++++ assetdel.php | 17 +++ assetedit.php | 96 ++++++++++++++++ assetview.php | 158 +++++++++++++++++++++++++ assigniptoasset.php | 115 +++++++++++++++++++ assigniptonode.php | 59 ++++++++++ assignlocationtosubnet.php | 53 +++++++++ assignsubnettolocation.php | 58 ++++++++++ assignvlantosubnet.php | 53 +++++++++ config.php | 17 +++ dbconnect.php | 4 + footer.php | 20 ++++ functions.php | 69 +++++++++++ header.php | 65 +++++++++++ images/arrow.gif | Bin 0 -> 54 bytes images/black.jpg | Bin 0 -> 302 bytes images/blue.jpg | Bin 0 -> 305 bytes images/cross.jpg | Bin 0 -> 2095 bytes images/green.jpg | Bin 0 -> 305 bytes images/grey.jpg | Bin 0 -> 302 bytes images/orange.jpg | Bin 0 -> 305 bytes images/red.jpg | Bin 0 -> 305 bytes index.php | 81 +++++++++++++ install/install.sql | 136 ++++++++++++++++++++++ install/install.txt | 18 +++ location.php | 48 ++++++++ locationadd.php | 62 ++++++++++ locationedit.php | 87 ++++++++++++++ locationview.php | 90 +++++++++++++++ login.php | 89 ++++++++++++++ logout.php | 11 ++ nodeadd.php | 191 +++++++++++++++++++++++++++++++ nodedel.php | 23 ++++ nodeedit.php | 129 +++++++++++++++++++++ nodelist.php | 80 +++++++++++++ nodeview.php | 109 ++++++++++++++++++ options.php | 77 +++++++++++++ search.php | 103 +++++++++++++++++ style.css | 39 +++++++ subnet.php | 23 ++++ subnetadd.php | 54 +++++++++ subnetedit.php | 100 ++++++++++++++++ subnetview.php | 229 +++++++++++++++++++++++++++++++++++++ useradd.php | 70 ++++++++++++ useredit.php | 47 ++++++++ userpassedit.php | 75 ++++++++++++ vlan.php | 23 ++++ vlanadd.php | 53 +++++++++ vlanedit.php | 72 ++++++++++++ vlanview.php | 83 ++++++++++++++ 56 files changed, 3374 insertions(+) create mode 100644 asset.php create mode 100644 assetadd.php create mode 100644 assetclass.php create mode 100644 assetclassadd.php create mode 100644 assetclassedit.php create mode 100644 assetclassgroupview.php create mode 100644 assetclassview.php create mode 100644 assetdel.php create mode 100644 assetedit.php create mode 100644 assetview.php create mode 100644 assigniptoasset.php create mode 100644 assigniptonode.php create mode 100644 assignlocationtosubnet.php create mode 100644 assignsubnettolocation.php create mode 100644 assignvlantosubnet.php create mode 100644 config.php create mode 100644 dbconnect.php create mode 100644 footer.php create mode 100644 functions.php create mode 100644 header.php create mode 100644 images/arrow.gif create mode 100644 images/black.jpg create mode 100644 images/blue.jpg create mode 100644 images/cross.jpg create mode 100644 images/green.jpg create mode 100644 images/grey.jpg create mode 100644 images/orange.jpg create mode 100644 images/red.jpg create mode 100644 index.php create mode 100644 install/install.sql create mode 100644 install/install.txt create mode 100644 location.php create mode 100644 locationadd.php create mode 100644 locationedit.php create mode 100644 locationview.php create mode 100644 login.php create mode 100644 logout.php create mode 100644 nodeadd.php create mode 100644 nodedel.php create mode 100644 nodeedit.php create mode 100644 nodelist.php create mode 100644 nodeview.php create mode 100644 options.php create mode 100644 search.php create mode 100644 style.css create mode 100644 subnet.php create mode 100644 subnetadd.php create mode 100644 subnetedit.php create mode 100644 subnetview.php create mode 100644 useradd.php create mode 100644 useredit.php create mode 100644 userpassedit.php create mode 100644 vlan.php create mode 100644 vlanadd.php create mode 100644 vlanedit.php create mode 100644 vlanview.php diff --git a/asset.php b/asset.php new file mode 100644 index 0000000..7a688cb --- /dev/null +++ b/asset.php @@ -0,0 +1,23 @@ + + + + + + + +'; + } +?> + +
+ Asset:
+
' . $row->asset_name . '
+ + \ No newline at end of file diff --git a/assetadd.php b/assetadd.php new file mode 100644 index 0000000..4020431 --- /dev/null +++ b/assetadd.php @@ -0,0 +1,80 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $asset_name = $_POST['asset_name']; + $hostname = $_POST['hostname']; + $assetclass_id = $_POST['assetclass_id']; + $asset_info = $_POST['asset_info']; + mysql_query("INSERT INTO asset (asset_name, hostname, assetclass_id, asset_info) VALUE ('$asset_name', '$hostname', '$assetclass_id', '$asset_info')") or die(mysql_error()); + $asset_id = mysql_insert_id(); + + header_location("assetview.php?asset_id=" . $asset_id); + } +?> + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ Add asset:
+
+ Asset name: + + +
+ Hostname: + + +
+ Asset class: + + +
+ Asset info: + + +
+ +
+
+ + \ No newline at end of file diff --git a/assetclass.php b/assetclass.php new file mode 100644 index 0000000..1ebdd87 --- /dev/null +++ b/assetclass.php @@ -0,0 +1,23 @@ + + + + + + + +'; + } +?> + +
+ Assetclass:
+
' . $row->assetclass_name . '
+ + \ No newline at end of file diff --git a/assetclassadd.php b/assetclassadd.php new file mode 100644 index 0000000..636bf35 --- /dev/null +++ b/assetclassadd.php @@ -0,0 +1,63 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $assetclass_name = $_POST['assetclass_name']; + $assetclassgroup_id = $_POST['assetclassgroup_id']; + mysql_query("INSERT INTO assetclass (assetclass_name, assetclassgroup_id) VALUE ('$assetclass_name', '$assetclassgroup_id')") or die(mysql_error()); + $assetclass_id = mysql_insert_id(); + + header_location("assetclassview.php?assetclass_id=" . $assetclass_id); + } +?> + +
+ + + + + + + + + + + + + + + +
+ Add new assetclass:
+
+ Assetclass name: + + +
+ Assetclass Group:
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/assetclassedit.php b/assetclassedit.php new file mode 100644 index 0000000..90063d4 --- /dev/null +++ b/assetclassedit.php @@ -0,0 +1,78 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $assetclass_id = $_POST['assetclass_id']; + $assetclass_name = $_POST['assetclass_name']; + $assetclassgroup_id = $_POST['assetclassgroup_id']; + mysql_query("UPDATE assetclass SET assetclass_name='$assetclass_name', assetclassgroup_id='$assetclassgroup_id' WHERE assetclass_id='$assetclass_id'") or die(mysql_error()); + + header_location("assetclassview.php?assetclass_id=" . $assetclass_id); + } + + $assetclass_id = $_GET['assetclass_id']; + + // get current information + $result = mysql_query("SELECT assetclass_name, assetclassgroup_id FROM assetclass WHERE assetclass_id='$assetclass_id'"); + while ($row = mysql_fetch_object($result)) { + $assetclass_name = $row->assetclass_name; + $assetclassgroup_id = $row->assetclassgroup_id; + } +?> + +
+ + + + + + + + + + + + + + + + +
+ Edit assetclass:
+
+ Assetclass name: + + +
+ Assetclass Group:
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/assetclassgroupview.php b/assetclassgroupview.php new file mode 100644 index 0000000..31abeb9 --- /dev/null +++ b/assetclassgroupview.php @@ -0,0 +1,51 @@ +assetclassgroup_name; + $color = $row->color; + } +?> + + + + + + + + + + + + + + +
+ Assetclass Groupname: + + +
+ Color: + + +
+ Assetclass(es): + + +assetclass_id . '">' . $row->assetclass_name . '
'; + } +?> + +
+ + \ No newline at end of file diff --git a/assetclassview.php b/assetclassview.php new file mode 100644 index 0000000..22c290c --- /dev/null +++ b/assetclassview.php @@ -0,0 +1,70 @@ +assetclass_name; + $assetclassgroup_id = $row->assetclassgroup_id; + $assetclassgroup_name = $row->assetclassgroup_name; + } +?> + + + + + + + + + + + + + + +
+ Assetclass Name: + + +
+ Assetclass Groupname: + + +
+ Asset(s):
+
+ +asset_id . '">' . $row->asset_name . '
'; + } +?> + +
+ +

+ += 2) { +?> + + + + + +
+ Modify assetclass +
+ + \ No newline at end of file diff --git a/assetdel.php b/assetdel.php new file mode 100644 index 0000000..a6dfec0 --- /dev/null +++ b/assetdel.php @@ -0,0 +1,17 @@ += 2) { + + $asset_id = $_GET['asset_id']; + mysql_query("DELETE FROM asset WHERE asset_id='$asset_id'") or die(mysql_error()); + mysql_query("DELETE FROM node WHERE asset_id='$asset_id'") or die(mysql_error()); + + header("Location: asset.php"); + + // end display only if admin + } + + include("footer.php"); +?> \ No newline at end of file diff --git a/assetedit.php b/assetedit.php new file mode 100644 index 0000000..e796a64 --- /dev/null +++ b/assetedit.php @@ -0,0 +1,96 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $asset_id = $_POST['asset_id']; + $asset_name = $_POST['asset_name']; + $hostname = $_POST['hostname']; + $assetclass_id = $_POST['assetclass_id']; + $asset_info = $_POST['asset_info']; + mysql_query("UPDATE asset SET asset_name='$asset_name', hostname='$hostname', assetclass_id='$assetclass_id', asset_info='$asset_info' WHERE asset_id='$asset_id'") or die(mysql_error()); + + header_location("assetview.php?asset_id=" . $asset_id); + } + + $asset_id = $_GET['asset_id']; + + // get current information + $result = mysql_query("SELECT asset_name, hostname, assetclass_id, asset_info FROM asset WHERE asset_id='$asset_id'"); + while ($row = mysql_fetch_object($result)) { + $asset_name = $row->asset_name; + $hostname = $row->hostname; + $assetclass_id = $row->assetclass_id; + $asset_info = $row->asset_info; + } +?> + +

+ + + + + + + + + + + + + + + + + + + + + + + + +
+ Edit asset:
+
+ Asset name: + + +
+ Hostname: + + +
+ Asset class: + + +
+ Asset info: + + +
+ +
+
+ + \ No newline at end of file diff --git a/assetview.php b/assetview.php new file mode 100644 index 0000000..f1c1533 --- /dev/null +++ b/assetview.php @@ -0,0 +1,158 @@ +asset_name; + $hostname = $row->hostname; + $asset_info = $row->asset_info; + $assetclass_id = $row->assetclass_id; + $assetclass_name = $row->assetclass_name; + } +?> + + + + + + + + + + + + + + + + + + +
+ Asset name: + + +
+ Hostname: + + +
+ Asset class: + + +
+ Asset info: + + +
+ +node_id; + $ip = $row->ip; + $mac = write_mac($row->mac); + $dns1 = $row->dns1; + $dns2 = $row->dns2; + $subnet_id = $row->subnet_id; + $node_info = $row->node_info; + $subnet_address = $row->subnet_address; + $subnet_mask = $row->subnet_mask; + $nodecount++; +?> + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+   + + Node # +
+ IP Address: + + +
+ Subnet: + + / +
+ MAC Address: + + +
+ DNS name: + + +
+ DNS alias: + + +
+ Node info: + + +
+ += 2) { +?> + +

+ + + + + + + + +
+ Modify asset +
+ Delete asset +
+ + \ No newline at end of file diff --git a/assigniptoasset.php b/assigniptoasset.php new file mode 100644 index 0000000..70b0f3b --- /dev/null +++ b/assigniptoasset.php @@ -0,0 +1,115 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $ip = $_POST['ip']; + $mac = strip_mac($_POST['mac']); + $subnet_id = $_POST['subnet_id']; + $asset_id = $_POST['asset_id']; + $node_info = $_POST['node_info']; + + // DNS1 + if (!empty($_POST['dns1']) && isset($_POST['dns1suffix'])) { + $dns1 = $_POST['dns1'] . $config_dns1suffix; + } else { + $dns1 = $_POST['dns1']; + } + + // DNS2 + if (!empty($_POST['dns2']) && isset($_POST['dns2suffix'])) { + $dns2 = $_POST['dns2'] . $config_dns2suffix; + } else { + $dns2 = $_POST['dns2']; + } + + mysql_query("INSERT INTO node (ip, mac, dns1, dns2, subnet_id, asset_id, node_info) VALUE ('$ip', '$mac', '$dns1', '$dns2', '$subnet_id', '$asset_id', '$node_info')") or die(mysql_error()); + + header_location("assetview.php?asset_id=" . $asset_id); + } + + $ip = $_GET['ip']; + $subnet_id = $_GET['subnet_id']; +?> + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Assign :
+
+ Asset: + + +
+ MAC address: + + +
+ DNS name: + + + + +
+ DNS alias: + + + + +
+ Node info: + + +
+ +
+
+ + \ No newline at end of file diff --git a/assigniptonode.php b/assigniptonode.php new file mode 100644 index 0000000..24c34ae --- /dev/null +++ b/assigniptonode.php @@ -0,0 +1,59 @@ +subnet_address; + $subnet_mask = $row->subnet_mask; + } +?> + + + + + + + + + + +
+ IP: + + +
+ Subnet: + + / +
+ += 2) { +?> + +

+ + + + + + + + +
+ Assign IP to asset +
+ Create new asset +
+ + \ No newline at end of file diff --git a/assignlocationtosubnet.php b/assignlocationtosubnet.php new file mode 100644 index 0000000..edb6e3f --- /dev/null +++ b/assignlocationtosubnet.php @@ -0,0 +1,53 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $location_id = $_POST['location_id']; + $subnet_id = $_POST['subnet_id']; + + mysql_query("INSERT INTO subnetlocation (location_id, subnet_id) VALUE ('$location_id', '$subnet_id')") or die(mysql_error()); + + header("Location: location.php"); + } + + $location_id = $_GET['location_id']; +?> + +

+ + + + + + + + + +
+ Assign to:
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/assignsubnettolocation.php b/assignsubnettolocation.php new file mode 100644 index 0000000..29ea59c --- /dev/null +++ b/assignsubnettolocation.php @@ -0,0 +1,58 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $location_id = $_POST['location_id']; + $subnet_id = $_POST['subnet_id']; + + mysql_query("INSERT INTO subnetlocation (location_id, subnet_id) VALUE ('$location_id', '$subnet_id')") or die(mysql_error()); + + header("Location: subnet.php"); + } + + $subnet_id = $_GET['subnet_id']; +?> + +
+ + + + + + + + + +
+ Assign to:
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/assignvlantosubnet.php b/assignvlantosubnet.php new file mode 100644 index 0000000..4744d47 --- /dev/null +++ b/assignvlantosubnet.php @@ -0,0 +1,53 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $vlan_id = $_POST['vlan_id']; + $subnet_id = $_POST['subnet_id']; + + mysql_query("UPDATE subnet SET vlan_id='$vlan_id' WHERE subnet_id='$subnet_id'") or die(mysql_error()); + + header("location: vlan.php"); + } + + $vlan_id = $_GET['vlan_id']; +?> + +
+ + + + + + + + + +
+ Assign to:
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/config.php b/config.php new file mode 100644 index 0000000..cec84b7 --- /dev/null +++ b/config.php @@ -0,0 +1,17 @@ + \ No newline at end of file diff --git a/dbconnect.php b/dbconnect.php new file mode 100644 index 0000000..3b1007c --- /dev/null +++ b/dbconnect.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/footer.php b/footer.php new file mode 100644 index 0000000..ce69cc7 --- /dev/null +++ b/footer.php @@ -0,0 +1,20 @@ + + +
+ + + + + +
+ IP Reg +
+ + + + + \ No newline at end of file diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..1ae6e4c --- /dev/null +++ b/functions.php @@ -0,0 +1,69 @@ +location_name); + + // repeat + location_name($row->parent, '.'); + } + + // count total no. of found locations + $location_count = count($location_name); + + // display location for every array value + for ($i = 0; $i < $location_count; $i++ ) { + echo '' . $location_name[$i] . '' . $seperator; + } + } + + // calculate page for pagination (pagination is used in subnetview.php) + function page($ip) { + $iprange = explode('.', $ip); + $iprange3 = $iprange[2]; + + return $iprange3; + } +?> \ No newline at end of file diff --git a/header.php b/header.php new file mode 100644 index 0000000..0bb996a --- /dev/null +++ b/header.php @@ -0,0 +1,65 @@ + + +
+ IP Reg + + +
+ +
+ + + + + +
+ View by: Asset - + Assetclass - + Location - + Subnet - + VLAN  + .: + +displayname . ' - '; + } +?> + + Options - + Log out +
+
+ +
\ No newline at end of file diff --git a/images/arrow.gif b/images/arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2e8788efb8d296b3071977f82b98783ea063a4b GIT binary patch literal 54 zcmZ?wbhEHb7wuuQL)(cV|G*i+2usIGGApesbZ5ey8IL*R%V`3o93drD0I2Ib7S Rnelg|OtP3ADpb9{y#YzwA8P;r literal 0 HcmV?d00001 diff --git a/images/blue.jpg b/images/blue.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8eda18a23f0b2eb77d84e3bb06ed81cf4ec5920 GIT binary patch literal 305 zcmZXOI|{-;5QhKB>?0GS$%41=5F$uGZLBRdRu)zk_8u&Shw#yO0PzIEx;_XbegpIP z*d4~7{0;fEm=vH0C_}*C;l{hwW)Fe_Fc0d1-l*Iz*C?xC$X{_lRKuZT6*4QW-e{vg z7-Ma0tr1BQk+cahvsPM+k#0vi-K-bLvd^PmNxxI`Up@H>E{1_&a)=zUBY(s!oZUo- ZTFOe^GJyLt{(_V#Y-Wcc2L0#4pI@VZAMyYI literal 0 HcmV?d00001 diff --git a/images/cross.jpg b/images/cross.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a37ce9c4a84acc60b81b8c5f807618d0474ce22f GIT binary patch literal 2095 zcmbtUdr(wm6hHU9yDZCIcNdU9Ox`{wl*g{pFexDT8XpK~Qa0nV5M+h2tJ%vGurx<& z!S_t#@KDRi91trk$3&$kH4!E!&78yC24Y6C0~lb3?j*af{_E9hcCgkQ~<~8&pjWC0e@?E=! zBQcm^APfD_9xIJJ`zS(d-bW0u9KZC5#&weP6I06n$)kHRPb z>7v@7AhLpGc&Xn*Azc$JKsFRY0XXqTtEp)ZKh#MQB2Rc$@!00Mq#R`$VFpjhOc7zl z(5#+d_7j5f8mdcnt;V=C;`1jqtR;gTCHC8(fP<0 zKfT`15@<46Or}6tPi^p~g2z4M>*M2V@HH9?Mzg_SFcW7mtB=V4rGWB1$Qt|zkz+!D zl^ITElxuhdjB<*Zf-D7w8WJYP;gIlxC~34hALj8S&IC7nH@Pjhf7YLUwOSZHF9g!`r2)$T7J2^_sHoBzxFN6UG>5CeP1R^hK|{ z`QeWJU;l9Fw?AZHS!ByoPLe2CDTUzZ5j-+j5n>Wz*164u!HES;U9n;I_QImlf+rog4+p?fnoZ*rGyIJ@Oj zcTS~bJod#Kwlh1=?yx=R&#zmxrg~t@$2X=_Jlr1k-JI~*FZKtu4;->|DX{r=_xmmV z$NT1`b+#!m{`4IMzPxwr&^rof{`|RGf&F{lRp4B)a+zu~m>yFmdQ>lfA0&bUN5l>} zFdF7V9ZxQCRW&U{l(s{L>_&<1aM6?s25j6770GVoS) z1=5r}MGd^bu_6P5sz$D!S#MRdNDWmjN*p@Y$*`QvgMhM5OcPB@QP$=dce!LyRn;Er zZ|@2#Eb0zVj!Q4CsL6KLTc<^qRUWnlWH?+Wn>#cS#adn9$dauosa3TL&u5Ma>bc%a zl%2D3{WewIPZ9Uz8876m-mvqtZ+>j;ygxR6=HmRfHtzbo?x)K)AB=l$R@SR;f3*9+ z(Z(yc9;#Eo3D{1N*KpkH!-JS8q#(sLlaIR67> z@4>k{x9-M-#)FY(o=@xz*sZ{XxO29Fj0fMQUo7jX?76dK)|G~cL|&s;v8tv-?;_HsbPl7#5`#nBt>?gaU0*R83uFZ}h=^b6OX+22{yzo_E( xf!3B~)~xrU4y<0;8oa4Dz9D{Y)^QWRckOJ;nzoy53F9C3G$xPb60$kv^50C%SsDNU literal 0 HcmV?d00001 diff --git a/images/green.jpg b/images/green.jpg new file mode 100644 index 0000000000000000000000000000000000000000..901e8b4f88a643b8e2ce572a037126733b2683e4 GIT binary patch literal 305 zcmZXOOA5j;5QhKhBx%xjP9%a9)QxA*3W5t)F5J2BE?%PxkKn?`#si2~h_Onc^&6PS zM>34NxCe?!IW9o~Q2Bs+!j86!^$r99VCK~e*|6Hom#AuQ$lY;3(89iB;WG;IGA8Ll%q)d8N|`h^ahhkIJZ~QTO7fk$|Jupbuo?=A$s(}CmfQ(be|8s5 a)Kl6NJph}tb0UO?51^o=61=sEudPSXo$E*n6-D9>CIQ;{n7gtZS4&;x{mlkKJM1 z)jd$m%UKBufXWBl6Lz{^Zx0{{086i4$R^cpwLw*TL+*|vf)4f_3!hm?@j)utqLkL5 z*2OEx9um{_H-6XrOdh W3=ClZjJqLW@|)RWgz@FnxaJM00wD$f literal 0 HcmV?d00001 diff --git a/images/red.jpg b/images/red.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8915766fb007cfb0ffcf512cb0d517b25db03829 GIT binary patch literal 305 zcmZXOI|{-;5QhKB>?4zh$rggQ5kUfKqgT*aSy)-vd$1H9!bjr)#4D`p10nGnn8(NN zF#hCkD5uq=0!2U_0{#v+-mNx!5EOuUP!IG*^>(>N-2_AaiUXn_96DAZv(oB?Hu{Y* z*2dNvkt7kx+7L5qrNtP@Q%Uop7buGNqi@MRQ~Td<@(o-J1HzhO-$5L XR?3b6+@J9mWK3Z*I}9=4{=%Q1p0*y{ literal 0 HcmV?d00001 diff --git a/index.php b/index.php new file mode 100644 index 0000000..36c5aaa --- /dev/null +++ b/index.php @@ -0,0 +1,81 @@ + + + + + + +
+ IP Reg +
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Statistics: +
+ Assets: + + +
+ Locations: + + +
+ Nodes: + + +
+ Subnets: + + +
+ VLANs: + + +
+ + \ No newline at end of file diff --git a/install/install.sql b/install/install.sql new file mode 100644 index 0000000..f0f930d --- /dev/null +++ b/install/install.sql @@ -0,0 +1,136 @@ +-- +-- Table structure for table `asset` +-- + +CREATE TABLE `asset` ( + `asset_id` int(10) NOT NULL auto_increment, + `asset_name` varchar(100) NOT NULL default '', + `hostname` varchar(100) NOT NULL default '', + `assetclass_id` int(10) NOT NULL default '0', + `asset_info` text NOT NULL, + PRIMARY KEY (`asset_id`) +) ; + +-- +-- Table structure for table `assetclass` +-- + +CREATE TABLE `assetclass` ( + `assetclass_id` int(10) NOT NULL auto_increment, + `assetclassgroup_id` int(10) NOT NULL default '0', + `assetclass_name` varchar(100) NOT NULL default '', + PRIMARY KEY (`assetclass_id`) +) ; + +INSERT INTO `assetclass` VALUES ('', 1, 'Access device'); +INSERT INTO `assetclass` VALUES ('', 1, 'Firewall'); +INSERT INTO `assetclass` VALUES ('', 1, 'HUB'); +INSERT INTO `assetclass` VALUES ('', 1, 'Router'); +INSERT INTO `assetclass` VALUES ('', 1, 'Switch'); +INSERT INTO `assetclass` VALUES ('', 2, 'Server'); +INSERT INTO `assetclass` VALUES ('', 2, 'NAS'); +INSERT INTO `assetclass` VALUES ('', 3, 'IP Phone'); +INSERT INTO `assetclass` VALUES ('', 4, 'Laptop'); +INSERT INTO `assetclass` VALUES ('', 4, 'PC'); +INSERT INTO `assetclass` VALUES ('', 4, 'Printer'); +INSERT INTO `assetclass` VALUES ('', 4, 'Thin Client'); + +-- +-- Table structure for table `assetclassgroup` +-- + +CREATE TABLE `assetclassgroup` ( + `assetclassgroup_id` int(10) NOT NULL auto_increment, + `assetclassgroup_name` varchar(100) NOT NULL default '', + `color` varchar(10) NOT NULL default '', + PRIMARY KEY (`assetclassgroup_id`) +) ; + +INSERT INTO `assetclassgroup` VALUES ('', 'Network', 'green'); +INSERT INTO `assetclassgroup` VALUES ('', 'Servers', 'red'); +INSERT INTO `assetclassgroup` VALUES ('', 'VOIP', 'orange'); +INSERT INTO `assetclassgroup` VALUES ('', 'Workstations', 'blue'); +INSERT INTO `assetclassgroup` VALUES ('', 'Other', 'black'); + +-- +-- Table structure for table `location` +-- + +CREATE TABLE `location` ( + `location_id` int(10) NOT NULL auto_increment, + `location_name` varchar(100) NOT NULL default '', + `parent` int(1) NOT NULL default '0', + `location_info` text NOT NULL, + PRIMARY KEY (`location_id`) +) ; + +-- +-- Table structure for table `node` +-- + +CREATE TABLE `node` ( + `node_id` int(10) NOT NULL auto_increment, + `ip` varchar(15) NOT NULL default '', + `mac` varchar(12) NOT NULL default '', + `dns1` varchar(100) NOT NULL default '', + `dns2` varchar(100) NOT NULL default '', + `subnet_id` int(10) NOT NULL default '0', + `asset_id` int(10) NOT NULL default '0', + `node_info` text NOT NULL, + PRIMARY KEY (`node_id`) +) ; + +-- +-- Table structure for table `subnet` +-- + +CREATE TABLE `subnet` ( + `subnet_id` int(10) NOT NULL auto_increment, + `subnet_address` varchar(15) NOT NULL default '', + `subnet_mask` int(2) NOT NULL default '0', + `vlan_id` int(10) NOT NULL default '0', + `subnet_info` text NOT NULL, + PRIMARY KEY (`subnet_id`) +) ; + +-- +-- Table structure for table `subnetlocation` +-- + +CREATE TABLE `subnetlocation` ( + `subnetlocation_id` int(10) NOT NULL auto_increment, + `subnet_id` int(10) NOT NULL default '0', + `location_id` int(10) NOT NULL default '0', + PRIMARY KEY (`subnetlocation_id`) +) ; + +-- +-- Table structure for table `user` +-- + +CREATE TABLE `user` ( + `user_id` int(10) NOT NULL auto_increment, + `user_name` varchar(100) NOT NULL default '', + `user_pass` varchar(32) NOT NULL default '', + `user_level` int(1) NOT NULL default '0', + `displayname` varchar(100) NOT NULL default '', + PRIMARY KEY (`user_id`) +) ; + +-- +-- Dumping data for table `user` +-- + +INSERT INTO `user` VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 2, 'admin'); + +-- +-- Table structure for table `vlan` +-- + +CREATE TABLE `vlan` ( + `vlan_id` int(10) NOT NULL auto_increment, + `vlan_number` int(3) NOT NULL default '0', + `vlan_name` varchar(100) NOT NULL default '', + `vlan_info` text NOT NULL, + PRIMARY KEY (`vlan_id`) +) ; \ No newline at end of file diff --git a/install/install.txt b/install/install.txt new file mode 100644 index 0000000..ec41738 --- /dev/null +++ b/install/install.txt @@ -0,0 +1,18 @@ +--- +--- IP Reg 0.1 +--- http://ipreg.sourceforge.net +--- + +Installation instructions + +1) Copy all files to your webserver + +2) Create your MYSQL-database + +3) Use install.sql to create the tables and insert the first data + +4) Update config.php with your settings + +5) Start your browser, log in with admin/admin + +6) Please report your comments at http://ipreg.sourceforge.net \ No newline at end of file diff --git a/location.php b/location.php new file mode 100644 index 0000000..314e587 --- /dev/null +++ b/location.php @@ -0,0 +1,48 @@ +subnet_id . '">' . $row->subnet_address . '/' . $row->subnet_mask . '
'; + } + + return $subnet; + } + + // displaysubnet link (or not) + if (isset($_GET['displaysubnet'])) { + $displaysubnetlink = '(hide subnets)'; + } else { + $displaysubnetlink = '(display subnets)'; + } + + // "menu" + function display_children($parent, $level) { + $result = mysql_query("SELECT location_id, location_name FROM location WHERE parent='$parent' ORDER BY location_name"); + while ($row = mysql_fetch_object($result)) { + if (isset($_GET['displaysubnet'])) { + $displaysubnet = display_subnet($row->location_id); + } else { + $displaysubnet = ''; + } + echo '' . str_repeat('   ',$level) . '' . $row->location_name . ' ' . $displaysubnet . ''; + display_children($row->location_id, $level+1); + } + } +?> + + + + + + +
+ Location: +
+ + \ No newline at end of file diff --git a/locationadd.php b/locationadd.php new file mode 100644 index 0000000..d68bb59 --- /dev/null +++ b/locationadd.php @@ -0,0 +1,62 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $location_name = $_POST['location_name']; + $parent = $_POST['parent']; + mysql_query("INSERT INTO location (location_name, parent) VALUE ('$location_name', '$parent')") or die(mysql_error()); + $location_id = mysql_insert_id(); + + header_location("locationview.php?location_id=" . $location_id); + } +?> + +

+ + + + + + + + + + + + + + + +
+ Add new location:
+
+ Location name: + + +
+ Parent: + + +
+ +
+
+ + \ No newline at end of file diff --git a/locationedit.php b/locationedit.php new file mode 100644 index 0000000..9d5f1ee --- /dev/null +++ b/locationedit.php @@ -0,0 +1,87 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $location_id = $_POST['location_id']; + $location_name = $_POST['location_name']; + $parent = $_POST['parent']; + $location_info = $_POST['location_info']; + mysql_query("UPDATE location SET location_name='$location_name', parent='$parent', location_info='$location_info' WHERE location_id='$location_id'") or die(mysql_error()); + + header_location("locationview.php?location_id=" . $location_id); + } + + $location_id = $_GET['location_id']; + + // get current information + $result = mysql_query("SELECT location_name, parent, location_info FROM location WHERE location_id='$location_id'"); + while ($row = mysql_fetch_object($result)) { + $location_name = $row->location_name; + $location_info = $row->location_info; + $parent = $row->parent; + } +?> + +
+ + + + + + + + + + + + + + + + + + + + +
+ Edit location:
+
+ Location name: + + +
+ Parent: + + +
+ Location info: + + +
+ +
+
+ + \ No newline at end of file diff --git a/locationview.php b/locationview.php new file mode 100644 index 0000000..d043cb4 --- /dev/null +++ b/locationview.php @@ -0,0 +1,90 @@ +location_info; + } +?> + + + + + + + + + + + + + + + + + + +
+ Location name: + + +
+ Location info: + + +
+ Subnet(s): + + +subnet_id . '">' . $row->subnet_address . '/' . $row->subnet_mask . '
'; + } +?> + +
+ Sub-location(s): + + +location_id . '">' . $row->location_name . '
'; + } +?> + +
+ += 2) { +?> + +

+ + + + + + + + +
+ Modify location +
+ Assign subnet +
+ + \ No newline at end of file diff --git a/login.php b/login.php new file mode 100644 index 0000000..8dcda3a --- /dev/null +++ b/login.php @@ -0,0 +1,89 @@ + "" && trim($_POST['user_pass']) <> "") { + $user_name = $_POST['user_name']; + $result = mysql_query("SELECT user_id, user_pass, user_level FROM user WHERE user_name='$user_name'") or die(mysql_error()); + + if(mysql_num_rows($result) > 0) { + if(!strcmp(md5($_POST['user_pass']), mysql_result($result, 0, "user_pass"))) { + // all ok, user logged in + $_SESSION['suser_id'] = mysql_result($result, 0, "user_id"); + $_SESSION['suser_level'] = mysql_result($result, 0, "user_level"); + + header("Location: index.php"); + } else { + // not ok, break session + $_SESSION = array(); + session_destroy(); + } + // clear mysql-result + mysql_free_result($result); + } + } + echo 'Error!'; + } +?> + + +

+ IP Reg + + +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + +
+ IP Reg +
+ Username: + + +
+ Password: + + +
+ +
+
+ +
+ + + + + +
+ IP Reg +
+ + + \ No newline at end of file diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..5e2e145 --- /dev/null +++ b/logout.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/nodeadd.php b/nodeadd.php new file mode 100644 index 0000000..bb201c5 --- /dev/null +++ b/nodeadd.php @@ -0,0 +1,191 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $ip = str_replace(' ', '', $_POST['ip']); + + // IP in use? + $result = mysql_query("SELECT * FROM node WHERE ip='$ip'"); + if (mysql_num_rows($result)!=0) { + echo 'IP in use!'; + exit; + } else { + $asset_name = $_POST['asset_name']; + $hostname = $_POST['hostname']; + $assetclass_id = $_POST['assetclass_id']; + mysql_query("INSERT INTO asset (asset_name, hostname, assetclass_id) VALUE ('$asset_name', '$hostname', '$assetclass_id')") or die(mysql_error()); + + // get asset_id for new node + $asset_id = mysql_insert_id(); + $mac = strip_mac($_POST['mac']); + + // DNS1 + if (!empty($_POST['dns1']) && isset($_POST['dns1suffix'])) { + $dns1 = $_POST['dns1'] . $config_dns1suffix; + } else { + $dns1 = $_POST['dns1']; + } + + // DNS2 + if (!empty($_POST['dns2']) && isset($_POST['dns2suffix'])) { + $dns2 = $_POST['dns2'] . $config_dns2suffix; + } else { + $dns2 = $_POST['dns2']; + } + + $subnet_id = $_POST['subnet_id']; + mysql_query("INSERT INTO node (ip, mac, dns1, dns2, subnet_id, asset_id) VALUE ('$ip', '$mac', '$dns1', '$dns2', '$subnet_id', '$asset_id')") or die(mysql_error()); + $node_id = mysql_insert_id(); + + header_location("assetview.php?asset_id=" . $asset_id); + } + } + + // check for ip + if (isset($_GET['ip'])) { + $ip = $_GET['ip']; + } else { + $ip = ""; + } + // check for subnet_id + if (isset($_GET['subnet_id'])) { + $subnet_id = $_GET['subnet_id']; + } else { + $subnet_id = ''; + } +?> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Add new node:
+
+ Asset name: + + + + * +
+ Hostname: + + + +   +
+ IP Address: + + + + * +
+ Subnet:
+
+ + + * +
+ Asset class: + + + + * +
+ MAC Address: + + + +   +
+ DNS name: + + + + +
+ DNS alias: + + + + +
+ +
+
+ + \ No newline at end of file diff --git a/nodedel.php b/nodedel.php new file mode 100644 index 0000000..12929c1 --- /dev/null +++ b/nodedel.php @@ -0,0 +1,23 @@ += 2) { + + $node_id = $_GET['node_id']; + + // get asset id + $result = mysql_query("SELECT asset_id FROM node WHERE node_id='$node_id'") or die(mysql_error()); + $asset_id = mysql_result($result, 0, "asset_id"); + + // delete node + mysql_query("DELETE FROM node WHERE node_id='$node_id'") or die(mysql_error()); + + // redirect + header("Location: assetview.php?asset_id=" . $asset_id); + + // end display only if admin + } + + include("footer.php"); +?> \ No newline at end of file diff --git a/nodeedit.php b/nodeedit.php new file mode 100644 index 0000000..142c597 --- /dev/null +++ b/nodeedit.php @@ -0,0 +1,129 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $node_id = $_POST['node_id']; + $subnet_id = $_POST['subnet_id']; + $mac = strip_mac($_POST['mac']); + $dns1 = $_POST['dns1']; + $dns2 = $_POST['dns2']; + $node_info = $_POST['node_info']; + mysql_query("UPDATE node SET subnet_id='$subnet_id', mac='$mac', dns1='$dns1', dns2='$dns2', node_info='$node_info' WHERE node_id='$node_id'") or die(mysql_error()); + + header_location("nodeview.php?node_id=" . $node_id); + } + + $node_id = $_GET['node_id']; + + // get node info + $result = mysql_query("SELECT a.asset_name, n.ip, n.mac, n.dns1, n.dns2, n.subnet_id, n.node_info FROM asset a, node n WHERE node_id='$node_id' AND a.asset_id=n.asset_id"); + while ($row = mysql_fetch_object($result)) { + $ip = $row->ip; + $subnet_id = $row->subnet_id; + $mac = $row->mac; + $dns1 = $row->dns1; + $dns2 = $row->dns2; + $node_info = $row->node_info; + $asset_name = $row->asset_name; + } +?> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Edit node:
+
+ Asset: + + +
+ IP Address: + + +
+ Subnet:
+
+ + + * +
+ MAC Address: + + +
+ DNS name: + + +
+ DNS alias: + + +
+ Node info: + + +
+ +
+
+ + \ No newline at end of file diff --git a/nodelist.php b/nodelist.php new file mode 100644 index 0000000..103e649 --- /dev/null +++ b/nodelist.php @@ -0,0 +1,80 @@ + + + + + + + + + + + + +asset_id; + $asset_name = $row->asset_name; + $hostname = $row->hostname; + $node_id = $row->node_id; + $ip = $row->ip; + $mac = write_mac($row->mac); + $dns1 = $row->dns1; + $dns2 = $row->dns2; +?> + + + + + + + + + + + + +
+ IP Address: + + Asset name: + + Hostname: + + MAC Address: + + DNS name: + + DNS alias: +
+ + + + + + + + + + + +
+ + \ No newline at end of file diff --git a/nodeview.php b/nodeview.php new file mode 100644 index 0000000..9a913e3 --- /dev/null +++ b/nodeview.php @@ -0,0 +1,109 @@ +asset_id; + $asset_name = $row->asset_name; + $ip = $row->ip; + $mac = write_mac($row->mac); + $dns1 = $row->dns1; + $dns2 = $row->dns2; + $node_info = $row->node_info; + $subnet_id = $row->subnet_id; + $subnet_address = $row->subnet_address; + $subnet_mask = $row->subnet_mask; + } +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IP Address: + + +
+ Subnet + + / +
 
+ Asset name: + + +
+ MAC Address: + + +
+ DNS name: + + +
+ DNS alias: + + +
+ Node info: + + +
+ += 2) { +?> + +

+ + + + + + + + +
+ Modify node +
+ Delete node +
+ + \ No newline at end of file diff --git a/options.php b/options.php new file mode 100644 index 0000000..51a27a7 --- /dev/null +++ b/options.php @@ -0,0 +1,77 @@ += 2) { +?> + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ IP Reg options +
+ Add new asset +
+ Add new assetclass +
+ Add new location +
+ Add new node +
+ Add new user +
+ Add new subnet +
+ Add new vlan +
+ + +

+ + + + + + + + + + + +
+ Personal options +
+ Modify settings +
+ Modify password +
+ + \ No newline at end of file diff --git a/search.php b/search.php new file mode 100644 index 0000000..b64da98 --- /dev/null +++ b/search.php @@ -0,0 +1,103 @@ +'; + + // look for asset + $result = mysql_query("SELECT asset_id, asset_name FROM asset WHERE asset_name LIKE '$needle' OR asset_info LIKE '%$needle%' ORDER BY asset_name"); + if (mysql_num_rows($result)>0) { + echo 'Asset(s):'; + } + while ($row = mysql_fetch_object($result)) { + echo '' . $row->asset_name . ''; + $resultcounter++; + } + + // look for location + $result = mysql_query("SELECT location_id, location_name FROM location WHERE location_name LIKE '$needle' OR location_info LIKE '%$needle%' ORDER BY location_name"); + if (mysql_num_rows($result)>0) { + echo 'Location(s):'; + } + while ($row = mysql_fetch_object($result)) { + echo '' . $row->location_name . ''; + $resultcounter++; + } + + // look for ip + $result = mysql_query("SELECT node_id, ip FROM node WHERE ip LIKE '$needle' ORDER BY ip"); + if (mysql_num_rows($result)>0) { + echo 'Registered IP(s):'; + } + while ($row = mysql_fetch_object($result)) { + echo '' . $row->ip . ''; + $resultcounter++; + } + + // look for mac + $mac = strip_mac($needle); + $result = mysql_query("SELECT node_id, mac FROM node WHERE mac LIKE '$mac' ORDER BY mac"); + if (mysql_num_rows($result)>0) { + echo 'MAC(s):'; + } + while ($row = mysql_fetch_object($result)) { + echo '' . write_mac($row->mac) . ''; + $resultcounter++; + } + + // look for dns1 + $result = mysql_query("SELECT node_id, dns1 FROM node WHERE dns1 LIKE '$needle' ORDER BY dns1"); + if (mysql_num_rows($result)>0) { + echo 'DNS name(s):'; + } + while ($row = mysql_fetch_object($result)) { + echo '' . $row->dns1 . ''; + $resultcounter++; + } + + // look for dns2 + $result = mysql_query("SELECT node_id, dns2 FROM node WHERE dns2 LIKE '$needle' ORDER BY dns2"); + if (mysql_num_rows($result)>0) { + echo 'DNS alias(es):'; + } + while ($row = mysql_fetch_object($result)) { + echo '' . $row->dns2 . ''; + $resultcounter++; + } + + // look for subnet + $result = mysql_query("SELECT subnet_id, subnet_address FROM subnet WHERE subnet_address LIKE '$needle' OR subnet_info LIKE '%$needle%' ORDER BY subnet_address"); + if (mysql_num_rows($result)>0) { + echo 'Subnet(s):'; + } + while ($row = mysql_fetch_object($result)) { + echo '' . $row->subnet_address . ''; + $resultcounter++; + } + + // look for vlan + $result = mysql_query("SELECT vlan_id, vlan_name FROM vlan WHERE vlan_name LIKE '$needle' OR vlan_info LIKE '%$needle%' ORDER BY vlan_name"); + if (mysql_num_rows($result)>0) { + echo 'VLAN(s):'; + } + while ($row = mysql_fetch_object($result)) { + echo '' . $row->vlan_name . ''; + $resultcounter++; + } + + echo ' '; + echo 'Results found: ' . $resultcounter . ''; + + echo ''; + + include("footer.php"); +?> \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..399be96 --- /dev/null +++ b/style.css @@ -0,0 +1,39 @@ +body { + background-color: #FFFFFF; + color: #000000; + font-family: Verdana, Arial, Helvetica, Sans-serif; + margin: 12px; + margin-top: 12px; + font-size: 70%; +} + +a { + color: #466A8D; +} + +a:hover { + color: #E1B100; +} + +input { + font-size: 100%; + position: relative; + top: -2px; + font-family: Verdana, Arial, Helvetica, Sans-serif; +} + +select { + font-size: 100%; + font-family: Verdana, Sans-serif; + position: relative; + top: -2px; +} + +table { + font-size: 100%; +} + +td { + vertical-align: top; + height: 18px; +} \ No newline at end of file diff --git a/subnet.php b/subnet.php new file mode 100644 index 0000000..24ac45b --- /dev/null +++ b/subnet.php @@ -0,0 +1,23 @@ + + + + + + + +'; + } +?> + +
+ Subnet:
+
' . $row->subnet_address . '/' . $row->subnet_mask . '
+ + \ No newline at end of file diff --git a/subnetadd.php b/subnetadd.php new file mode 100644 index 0000000..abee6b3 --- /dev/null +++ b/subnetadd.php @@ -0,0 +1,54 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $subnet_address= $_POST['subnet_address']; + $subnet_mask = $_POST['subnet_mask']; + mysql_query("INSERT INTO subnet (subnet_address, subnet_mask) VALUE ('$subnet_address', '$subnet_mask')") or die(mysql_error()); + $subnet_id = mysql_insert_id(); + + header_location("subnetview.php?subnet_id=" . $subnet_id); + } +?> + +

+ + + + + + + + + + + + + + + +
+ Add new subnet:
+
+ Subnet Address: + + +
+ Subnet Mask: + + (16-30) +
+ +
+
+ + \ No newline at end of file diff --git a/subnetedit.php b/subnetedit.php new file mode 100644 index 0000000..5a12ef6 --- /dev/null +++ b/subnetedit.php @@ -0,0 +1,100 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $subnet_id = $_POST['subnet_id']; + $subnet_address= $_POST['subnet_address']; + $subnet_mask = $_POST['subnet_mask']; + $vlan_id = $_POST['vlan_id']; + $subnet_info = $_POST['subnet_info']; + + mysql_query("UPDATE subnet SET subnet_address='$subnet_address', subnet_mask='$subnet_mask', vlan_id='$vlan_id', subnet_info='$subnet_info' WHERE subnet_id='$subnet_id'") or die(mysql_error()); + + header_location("subnetview.php?subnet_id=" . $subnet_id); + } + + $subnet_id = $_GET['subnet_id']; + + // get current information + $result = mysql_query("SELECT subnet_address, subnet_mask, vlan_id, subnet_info FROM subnet WHERE subnet_id='$subnet_id'"); + while ($row = mysql_fetch_object($result)) { + $subnet_address = $row->subnet_address; + $subnet_mask = $row->subnet_mask; + $vlan_id = $row->vlan_id; + $subnet_info = $row->subnet_info; + } +?> + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ Edit subnet:
+
+ Subnet Address: + + +
+ Subnet Mask: + + +
+ VLAN + + +
+ Subnet info: + + +
+ +
+
+ + \ No newline at end of file diff --git a/subnetview.php b/subnetview.php new file mode 100644 index 0000000..cb17fcf --- /dev/null +++ b/subnetview.php @@ -0,0 +1,229 @@ + + + + + +subnet_address; + $subnet_mask = $row->subnet_mask; + $vlan_id = $row->vlan_id; + $subnet_info = $row->subnet_info; + } + + // determine current range + $iprange = explode('.', $subnet_address); + $iprange1 = $iprange[0]; + $iprange2 = $iprange[1]; + $iprange3 = $iprange[2]; + $iprange4 = $iprange[3]; + + // calculate no. of hosts + $hostcount = pow(2,(32-$subnet_mask)); + + // is there a need for pagination? + if ($hostcount>256) { + $maxdisplayedip = 256; + + // calculate broadcast address and create pagination + if ($hostcount>65536) { + // class A subnet + echo 'Class A subnets (>65536 nodes) are not supported'; + exit; + } else { + // class B subnet + $broadcast_address = $iprange1 . '.' . $iprange2 . '.' . ($hostcount/256-1) . '.255'; + + $pagination = 'Page: '; + } + } else { + // // class C subnet so no pagination needed, set static variables + $pagination = ' '; + $page = 0; + $maxdisplayedip = $hostcount; + $broadcast_address = $iprange1 . '.' . $iprange2 . '.' . $iprange3 . '.' . ($iprange4+$hostcount-1); + } +?> + + + + + + + +'; + + for ($i=1;$i<=$maxdisplayedip;$i++) { + // build current ip + $ip = $iprange1 . '.' . $iprange2 . '.' . ($iprange3+$page) . '.' . ($i+$iprange4-1); + + // disable subnet_address and broadcast_address + if ($ip==$subnet_address) { + echo ''; + } else if ($ip==$broadcast_address) { + echo ''; + } else { + // check for current ip address + $result = mysql_query("SELECT a.asset_name, acg.color, n.node_id FROM asset a, assetclass ac, assetclassgroup acg, node n WHERE n.ip='$ip' AND a.asset_id=n.asset_id AND ac.assetclass_id=a.assetclass_id AND acg.assetclassgroup_id=ac.assetclassgroup_id"); + if (mysql_num_rows($result)==0) { + // ip not in use + echo ''; + } else { + // ip in use + while ($row = mysql_fetch_object($result)) { + $node_id = $row->node_id; + echo ''; + } + } + } + + if ($i%64==0) { + echo ''; + } + } +?> + + + +
+ Subnet: + + +
+   +
+ + + + + + + +
+ + + + + + + + + + + + + +
+ VLAN(s): + + + vlan_id . '">' . $row->vlan_name . ' ('. $row->vlan_number . ')'; + } + ?> + +
+ Location(s): + + + location_id, '') . '
'; + } + ?> + +
+ Subnet info: + + +
+
+   + + + + + + +'; + } +?> +
+ Unassigned +
' . $row->assetclassgroup_name . '
+
+ +

+ += 2) { +?> + + + + + + + + + + + + + + +
+ Modify subnet +
+ Assign location +
+ View assigned IP addresses in subnet +
+ + \ No newline at end of file diff --git a/useradd.php b/useradd.php new file mode 100644 index 0000000..a7e3ad4 --- /dev/null +++ b/useradd.php @@ -0,0 +1,70 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + // check for unique username + $result = mysql_query("SELECT user_name FROM user WHERE user_name='$user_name'") or die(mysql_error()); + if(mysql_num_rows($result) == 0) { + $user_name = $_POST['user_name']; + $user_pass = md5($config_user_pass); + $user_level = $_POST['user_level']; + $displayname = $_POST['user_name']; + mysql_query("INSERT INTO user (user_name, user_pass, user_level, displayname) VALUE ('$user_name', '$user_pass', '$user_level', '$displayname')") or die(mysql_error()); + + header_location("options.php"); + } + echo 'Error!'; + } +?> + +

+ + + + + + + + + + + + + + + + + + + +
+ Add user:
+
+ Username: + + +
+ Password: + + +
+ Level: + +
+ +
+
+ + \ No newline at end of file diff --git a/useredit.php b/useredit.php new file mode 100644 index 0000000..f65ff9d --- /dev/null +++ b/useredit.php @@ -0,0 +1,47 @@ +displayname; + } +?> + +
+ + + + + + + + + + + +
+ Modify settings:
+
+ Displayname: + + +
+ +
+
+ + \ No newline at end of file diff --git a/userpassedit.php b/userpassedit.php new file mode 100644 index 0000000..de10972 --- /dev/null +++ b/userpassedit.php @@ -0,0 +1,75 @@ + "" && trim($_POST['user_passnew1']) && trim($_POST['user_passnew2']) && trim($_POST['user_passnew1']) == trim($_POST['user_passnew2'])) { + $user_passold = $_POST['user_passold']; + $user_passnew = md5($_POST['user_passnew1']); + + $result = mysql_query("SELECT user_pass FROM user WHERE user_id='$suser_id'") or die(mysql_error()); + // check current pass + if(!strcmp(md5($user_passold), mysql_result($result, 0, "user_pass"))) { + // ok, update pass + mysql_query("UPDATE user SET user_pass='$user_passnew' WHERE user_id='$suser_id'") or die(mysql_error()); + + header_location("options.php"); + } + } + + // not ok + echo 'Error!'; + } + + // get current information + $result = mysql_query("SELECT displayname FROM user WHERE user_id='$suser_id'"); + while ($row = mysql_fetch_object($result)) { + $displayname = $row->displayname; + } +?> + +
+ + + + + + + + + + + + + + + + + + + +
+ Modify settings:
+
+ Current password: + + +
+ New password: + + +
+ Retype new password: + + +
+ +
+
+ + \ No newline at end of file diff --git a/vlan.php b/vlan.php new file mode 100644 index 0000000..1eeef11 --- /dev/null +++ b/vlan.php @@ -0,0 +1,23 @@ + + + + + + + +'; + } +?> + +
+ VLAN:
+
' . $row->vlan_name . ' ('. $row->vlan_number . ')
+ + \ No newline at end of file diff --git a/vlanadd.php b/vlanadd.php new file mode 100644 index 0000000..ebd64c9 --- /dev/null +++ b/vlanadd.php @@ -0,0 +1,53 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $vlan_name = $_POST['vlan_name']; + $vlan_number= $_POST['vlan_number']; + mysql_query("INSERT INTO vlan (vlan_name, vlan_number) VALUE ('$vlan_name', '$vlan_number')") or die(mysql_error()); + + header("Location: vlan.php"); + } +?> + +
+ + + + + + + + + + + + + + + +
+ Add new VLAN:
+
+ VLAN name: + + +
+ VLAN ID: + + +
+ +
+
+ + \ No newline at end of file diff --git a/vlanedit.php b/vlanedit.php new file mode 100644 index 0000000..c876865 --- /dev/null +++ b/vlanedit.php @@ -0,0 +1,72 @@ += 2) { + + // check for submit + if ($_SERVER['REQUEST_METHOD']=="POST" ) { + $vlan_id = $_POST['vlan_id']; + $vlan_name = $_POST['vlan_name']; + $vlan_number = $_POST['vlan_number']; + $vlan_info = $_POST['vlan_info']; + mysql_query("UPDATE vlan SET vlan_name='$vlan_name', vlan_number='$vlan_number', vlan_info='$vlan_info' WHERE vlan_id='$vlan_id'") or die(mysql_error()); + + header_location("vlanview.php?vlan_id=" . $vlan_id); + } + + // get current information + $result = mysql_query("SELECT vlan_name, vlan_number, vlan_info FROM vlan WHERE vlan_id='$vlan_id'"); + while ($row = mysql_fetch_object($result)) { + $vlan_name = $row->vlan_name; + $vlan_number = $row->vlan_number; + $vlan_info = $row->vlan_info; + } +?> + +
+ + + + + + + + + + + + + + + + + + + + +
+ Edit VLAN:
+
+ VLAN name: + + +
+ VLAN ID: + + +
+ VLAN info: + + +
+ +
+
+ + \ No newline at end of file diff --git a/vlanview.php b/vlanview.php new file mode 100644 index 0000000..b1e71bd --- /dev/null +++ b/vlanview.php @@ -0,0 +1,83 @@ +vlan_name; + $vlan_number = $row->vlan_number; + $vlan_info = $row->vlan_info; + } +?> + + + + + + + + + + + + + + + + + + +
+ VLAN name: + + +
+ VLAN ID: + + +
+ VLAN info: + + +
+ Subnet(s): + +subnet_id . '">' . $row->subnet_address . '
'; + } +?> + +
+ += 2) { +?> + +

+ + + + + + + + +
+ Modify +
+ Assign subnet +
+ + \ No newline at end of file