diff --git a/about.php b/about.php new file mode 100644 index 0000000..304560a --- /dev/null +++ b/about.php @@ -0,0 +1,44 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/about.tpl"); + + // set language variables + $tp->setvars($lang); + + // set vars + $tp->set("config_version", $config_version); + + // output + $tp->parse(); + $tp->spit(); + + // end output + include("footer.php"); +?> \ No newline at end of file diff --git a/asset.php b/asset.php index a76ceb6..5778c80 100644 --- a/asset.php +++ b/asset.php @@ -1,6 +1,34 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + // includes + include("includes.php"); + + // check authorisation + $auth = auth("asset", $config_auth_assetview, 0); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/asset.tpl"); @@ -8,10 +36,12 @@ $tp->setvars($lang); // get asset info - $result = mysql_query("SELECT asset_id, asset_name FROM asset ORDER BY asset_name") or die(mysql_error()); + $result = mysql_query("SELECT a.asset_id, a.asset_name, a.assetclass_id, ac.assetclass_name FROM asset a, assetclass ac WHERE ac.assetclass_id=a.assetclass_id ORDER BY a.asset_name") or die(mysql_error()); for ($i=0;$row=mysql_fetch_object($result);$i++) { $tp->set("asset_id", $row->asset_id); $tp->set("asset_name", $row->asset_name); + $tp->set("assetclass_id", $row->assetclass_id); + $tp->set("assetclass_name", $row->assetclass_name); $tp->parse("assetrow"); } if (($i>0) ? $tp->parse("asset") : $tp->hide("asset")); diff --git a/assetadd.php b/assetadd.php index b513161..0f9318a 100644 --- a/assetadd.php +++ b/assetadd.php @@ -1,4 +1,35 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + if((isset($_GET['assetclass_id'])) ? $assetclass_id = $_GET['assetclass_id'] : $assetclass_id = ""); + + // check authorisation + $auth = auth("asset", $config_auth_assetadd, 0); + + // start output include("header.php"); // set template @@ -10,6 +41,7 @@ // get assetclassgroup information $result = mysql_query("SELECT assetclass_id, assetclass_name FROM assetclass ORDER BY assetclass_name") or die(mysql_error()); for ($i=0;$row=mysql_fetch_object($result);$i++) { + if (($row->assetclass_id==$assetclass_id) ? $tp->set("assetclass_selected", "selected") : $tp->set("assetclass_selected", "")); $tp->set("assetclass_id", $row->assetclass_id); $tp->set("assetclass_name", $row->assetclass_name); $tp->parse("assetclassrow"); diff --git a/assetclass.php b/assetclass.php index c563576..f529765 100644 --- a/assetclass.php +++ b/assetclass.php @@ -1,4 +1,32 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("assetclass", $config_auth_assetclassview, 0); + + // start output include("header.php"); // set template diff --git a/assetclassadd.php b/assetclassadd.php index 05dd0ad..ee55068 100644 --- a/assetclassadd.php +++ b/assetclassadd.php @@ -1,4 +1,35 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + if((isset($_GET['assetclassgroup_id'])) ? $assetclassgroup_id = $_GET['assetclassgroup_id'] : $assetclassgroup_id = ""); + + // check authorisation + $auth = auth("assetclass", $config_auth_assetclassadd, $assetclass_id); + + // start output include("header.php"); // set template @@ -10,6 +41,7 @@ // get assetclassgroup information $result = mysql_query("SELECT assetclassgroup_id, assetclassgroup_name FROM assetclassgroup ORDER BY assetclassgroup_name") or die(mysql_error()); for ($i=0;$row=mysql_fetch_object($result);$i++) { + if (($row->assetclassgroup_id==$assetclassgroup_id) ? $tp->set("assetclassgroup_selected", "selected") : $tp->set("assetclassgroup_selected", "")); $tp->set("assetclassgroup_id", $row->assetclassgroup_id); $tp->set("assetclassgroup_name", $row->assetclassgroup_name); $tp->parse("assetclassgrouprow"); diff --git a/assetclassdel.php b/assetclassdel.php index 78fb7c4..b2d9d1b 100644 --- a/assetclassdel.php +++ b/assetclassdel.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $assetclass_id = $_GET['assetclass_id']; + // check authorisation + $auth = auth("assetclass", $config_auth_assetclassdel, $assetclass_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/assetclassdel.tpl"); diff --git a/assetclassedit.php b/assetclassedit.php index c52165f..e4659ed 100644 --- a/assetclassedit.php +++ b/assetclassedit.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $assetclass_id = $_GET['assetclass_id']; + // check authorisation + $auth = auth("assetclass", $config_auth_assetclassedit, $assetclass_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/assetclassedit.tpl"); diff --git a/assetclassgroup.php b/assetclassgroup.php new file mode 100644 index 0000000..9df6b8f --- /dev/null +++ b/assetclassgroup.php @@ -0,0 +1,53 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("assetclassgroup", $config_auth_assetclassgroupview, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/assetclassgroup.tpl"); + + // set language variables + $tp->setvars($lang); + + // get asset info + $result = mysql_query("SELECT assetclassgroup_id, assetclassgroup_name FROM assetclassgroup ORDER BY assetclassgroup_name") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("assetclassgroup_id", $row->assetclassgroup_id); + $tp->set("assetclassgroup_name", $row->assetclassgroup_name); + $tp->parse("assetclassgrouprow"); + } + if (($i>0) ? $tp->parse("assetclassgroup") : $tp->hide("assetclassgroup")); + + // output + $tp->parse(); + $tp->spit(); + + // end output + include("footer.php"); +?> \ No newline at end of file diff --git a/assetclassgroupadd.php b/assetclassgroupadd.php new file mode 100644 index 0000000..6aa986d --- /dev/null +++ b/assetclassgroupadd.php @@ -0,0 +1,43 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("assetclassgroup", $config_auth_assetclassgroupadd, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/assetclassgroupadd.tpl"); + + // set language variables + $tp->setvars($lang); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/assetclassgroupdel.php b/assetclassgroupdel.php new file mode 100644 index 0000000..75c3b1b --- /dev/null +++ b/assetclassgroupdel.php @@ -0,0 +1,52 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + $assetclassgroup_id = $_GET['assetclassgroup_id']; + + // check authorisation + $auth = auth("assetclassgroup", $config_auth_assetclassgroupdel, $assetclassgroup_id); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/assetclassgroupdel.tpl"); + + // set language variables + $tp->setvars($lang); + + // get assetclass info + $result = mysql_query("SELECT assetclassgroup_id, assetclassgroup_name FROM assetclassgroup WHERE assetclassgroup_id='$assetclassgroup_id'") or die(mysql_error()); + $row=mysql_fetch_object($result); + $tp->set("assetclassgroup_id", $row->assetclassgroup_id); + $tp->set("assetclassgroup_name", $row->assetclassgroup_name); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/assetclassgroupedit.php b/assetclassgroupedit.php new file mode 100644 index 0000000..8f54a16 --- /dev/null +++ b/assetclassgroupedit.php @@ -0,0 +1,53 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + $assetclassgroup_id = $_GET['assetclassgroup_id']; + + // check authorisation + $auth = auth("assetclassgroup", $config_auth_assetclassgroupedit, $assetclassgroup_id); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/assetclassgroupedit.tpl"); + + // set language variables + $tp->setvars($lang); + + // get assetclass information + $result = mysql_query("SELECT assetclassgroup_name, color FROM assetclassgroup WHERE assetclassgroup_id='$assetclassgroup_id'") or die(mysql_error()); + $row=mysql_fetch_object($result); + $tp->set("assetclassgroup_id", $assetclassgroup_id); + $tp->set("assetclassgroup_name", $row->assetclassgroup_name); + $tp->set("color", $row->color); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/assetclassgroupview.php b/assetclassgroupview.php index d31c6bc..1d76af6 100644 --- a/assetclassgroupview.php +++ b/assetclassgroupview.php @@ -1,18 +1,47 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $assetclassgroup_id = $_GET['assetclassgroup_id']; + // check authorisation + $auth = auth("assetclassgroup", $config_auth_assetclassgroupview, $assetclassgroup_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/assetclassgroupview.tpl"); // set language variables $tp->setvars($lang); - + // get assetclassgroup info $result = mysql_query("SELECT assetclassgroup_name, color FROM assetclassgroup WHERE assetclassgroup_id='$assetclassgroup_id'") or die(mysql_error()); $row=mysql_fetch_object($result); + $tp->set("assetclassgroup_id", $assetclassgroup_id); $tp->set("assetclassgroup_name", $row->assetclassgroup_name); $tp->set("color", $row->color); @@ -23,21 +52,7 @@ $tp->parse("assetclassrow"); } if (($i>0) ? $tp->parse("assetclass") : $tp->hide("assetclass")); - - // display options - if($_SESSION['suser_level'] >= $config_userlevel_assetclassgroupedit) { - $tp->set("assetclassgroup_id", $assetclassgroup_id); - $tp->parse("assetclassgroupedit"); - } else { - $tp->hide("assetclassgroupedit"); - } - if($_SESSION['suser_level'] >= $config_userlevel_assetclassgroupdel) { - $tp->set("assetclassgroup_id", $assetclassgroup_id); - $tp->parse("assetclassgroupdel"); - } else { - $tp->hide("assetclassgroupdel"); - } - + // output $tp->parse(); $tp->spit(); diff --git a/assetclassview.php b/assetclassview.php index 1491fe6..ace8005 100644 --- a/assetclassview.php +++ b/assetclassview.php @@ -1,8 +1,36 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $assetclass_id = $_GET['assetclass_id']; + + // check authorisation + $auth = auth("assetclass", $config_auth_assetclassview, $assetclass_id); + + // start output + include("header.php"); // set template $tp = new Template("tpl/assetclassview.tpl"); @@ -13,6 +41,7 @@ // get assetclassgroup info $result = mysql_query("SELECT ac.assetclassgroup_id, ac.assetclass_name, acg.assetclassgroup_name FROM assetclass ac, assetclassgroup acg WHERE ac.assetclass_id='$assetclass_id' AND acg.assetclassgroup_id=ac.assetclassgroup_id") or die(mysql_error()); $row = mysql_fetch_object($result); + $tp->set("assetclass_id", $assetclass_id); $tp->set("assetclass_name", $row->assetclass_name); $tp->set("assetclassgroup_id", $row->assetclassgroup_id); $tp->set("assetclassgroup_name", $row->assetclassgroup_name); @@ -25,21 +54,7 @@ $tp->parse("assetrow"); } if (($i>0) ? $tp->parse("asset") : $tp->hide("asset")); - - // display options - if($_SESSION['suser_level'] >= $config_userlevel_assetclassedit) { - $tp->set("assetclass_id", $assetclass_id); - $tp->parse("assetclassedit"); - } else { - $tp->hide("assetclassedit"); - } - if($_SESSION['suser_level'] >= $config_userlevel_assetclassdel) { - $tp->set("assetclass_id", $assetclass_id); - $tp->parse("assetclassdel"); - } else { - $tp->hide("assetclassdel"); - } - + // output $tp->parse(); $tp->spit(); diff --git a/assetdel.php b/assetdel.php index b636b28..44a8da4 100644 --- a/assetdel.php +++ b/assetdel.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $asset_id = $_GET['asset_id']; + // check authorisation + $auth = auth("asset", $config_auth_assetdel, $asset_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/assetdel.tpl"); diff --git a/assetedit.php b/assetedit.php index 0b952f3..0d54efc 100644 --- a/assetedit.php +++ b/assetedit.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $asset_id = $_GET['asset_id']; + // check authorisation + $auth = auth("asset", $config_auth_assetedit, $asset_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/assetedit.tpl"); diff --git a/assetview.php b/assetview.php index 3febf71..24cb793 100644 --- a/assetview.php +++ b/assetview.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $asset_id = $_GET['asset_id']; + // check authorisation + auth("asset", $config_auth_assetview, $asset_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/assetview.tpl"); @@ -13,6 +41,7 @@ // get asset info $result = mysql_query("SELECT a.asset_name, a.hostname, a.asset_info, ac.assetclass_id, ac.assetclass_name FROM asset a, assetclass ac WHERE a.asset_id='$asset_id' AND ac.assetclass_id=a.assetclass_id") or die(mysql_error()); $row=mysql_fetch_object($result); + $tp->set("asset_id", $asset_id); $tp->set("asset_name", $row->asset_name); $tp->set("hostname", $row->hostname); $tp->set("asset_info", nl2br($row->asset_info)); @@ -35,20 +64,6 @@ $tp->parse("noderow"); } if (($i>0) ? $tp->parse("node") : $tp->hide("node")); - - // display options - if($_SESSION['suser_level'] >= $config_userlevel_assetedit) { - $tp->set("asset_id", $asset_id); - $tp->parse("assetedit"); - } else { - $tp->hide("assetedit"); - } - if($_SESSION['suser_level'] >= $config_userlevel_assetdel) { - $tp->set("asset_id", $asset_id); - $tp->parse("assetdel"); - } else { - $tp->hide("assetdel"); - } // output $tp->parse(); diff --git a/assigniptoasset.php b/assigniptoasset.php index 5f29f3e..157f3df 100644 --- a/assigniptoasset.php +++ b/assigniptoasset.php @@ -1,10 +1,39 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get asset_id, ip or subnet_id + if((isset($_GET['asset_id'])) ? $asset_id = $_GET['asset_id'] : $asset_id = ""); if((isset($_GET['ip'])) ? $ip = $_GET['ip'] : $ip = ""); + if((isset($_GET['subnet_id'])) ? $subnet_id = $_GET['subnet_id'] : $subnet_id = ""); + // check authorisation + $auth = auth("assigniptoasset", $config_auth_assigniptoasset, 0); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/assigniptoasset.tpl"); @@ -12,31 +41,33 @@ $tp->setvars($lang); // set variables + $tp->set("asset_id", $asset_id); $tp->set("ip", $ip); $tp->set("subnet_id", $subnet_id); $tp->set("config_dns1suffix", $config_dns1suffix); $tp->set("config_dns2suffix", $config_dns2suffix); - // get subnet info - $result = mysql_query("SELECT subnet_id, subnet_address, subnet_mask FROM subnet ORDER BY INET_ATON(subnet_address)") or die(mysql_error()); - for ($i=0;$row=mysql_fetch_object($result);$i++) { - if (($row->subnet_id==$subnet_id) ? $tp->set("selected", "selected") : $tp->set("selected", "")); - $tp->set("subnet_id", $row->subnet_id); - $tp->set("subnet_address", $row->subnet_address); - $tp->set("subnet_mask", $row->subnet_mask); - $tp->parse("subnetrow"); - } - if (($i>0) ? $tp->parse("subnet") : $tp->hide("subnet")); - // get asset info $result = mysql_query("SELECT asset_id, asset_name FROM asset ORDER BY asset_name") or die(mysql_error()); for ($i=0;$row=mysql_fetch_object($result);$i++) { + if (($row->asset_id==$asset_id) ? $tp->set("asset_selected", "selected") : $tp->set("asset_selected", "")); $tp->set("asset_id", $row->asset_id); $tp->set("asset_name", $row->asset_name); $tp->parse("assetrow"); } if (($i>0) ? $tp->parse("asset") : $tp->hide("asset")); + // get subnet info + $result = mysql_query("SELECT subnet_id, subnet_address, subnet_mask FROM subnet ORDER BY INET_ATON(subnet_address)") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + if (($row->subnet_id==$subnet_id) ? $tp->set("subnet_selected", "selected") : $tp->set("subnet_selected", "")); + $tp->set("subnet_id", $row->subnet_id); + $tp->set("subnet_address", $row->subnet_address); + $tp->set("subnet_mask", $row->subnet_mask); + $tp->parse("subnetrow"); + } + if (($i>0) ? $tp->parse("subnet") : $tp->hide("subnet")); + // output $tp->parse(); $tp->spit(); diff --git a/assigniptonode.php b/assigniptonode.php index 74816c7..9c3b9d7 100644 --- a/assigniptonode.php +++ b/assigniptonode.php @@ -1,4 +1,29 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output include("header.php"); // get ip and id @@ -20,19 +45,7 @@ $row = mysql_fetch_object($result); $tp->set("subnet_address", $row->subnet_address); $tp->set("subnet_mask", $row->subnet_mask); - - // display options - if($_SESSION['suser_level'] >= $config_userlevel_assigniptonode) { - $tp->parse("assigniptonode"); - } else { - $tp->hide("assigniptonode"); - } - if($_SESSION['suser_level'] >= $config_userlevel_nodeadd) { - $tp->parse("nodeadd"); - } else { - $tp->hide("nodeadd"); - } - + // output $tp->parse(); $tp->spit(); diff --git a/assignlocationtosubnet.php b/assignlocationtosubnet.php index 2be2a6a..3a7fefd 100644 --- a/assignlocationtosubnet.php +++ b/assignlocationtosubnet.php @@ -1,4 +1,29 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output include("header.php"); // get id diff --git a/assignsubnettolocation.php b/assignsubnettolocation.php deleted file mode 100644 index 1998a21..0000000 --- a/assignsubnettolocation.php +++ /dev/null @@ -1,58 +0,0 @@ -= 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: subnetview.php?subnet_id=" . $subnet_id); - } - - $subnet_id = $_GET['subnet_id']; -?> - -
- - - - - - - - - -
- Assign to:
-
- -
- -
-
- - \ No newline at end of file diff --git a/assignvlantosubnet.php b/assignvlantosubnet.php index c877fb6..0ed0650 100644 --- a/assignvlantosubnet.php +++ b/assignvlantosubnet.php @@ -1,4 +1,29 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output include("header.php"); // set template diff --git a/comments.php b/comments.php new file mode 100644 index 0000000..8107c3a --- /dev/null +++ b/comments.php @@ -0,0 +1,46 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/comments.tpl"); + + // set language variables + $tp->setvars($lang); + + // get error + $comments = $_GET['comments']; + + // set veriables + $tp->set("comments", $lang['lang_comments_' . $comments]); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/config.php b/config.php index fb1f1ca..4c32a17 100644 --- a/config.php +++ b/config.php @@ -1,52 +1,89 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + // version - $config_version = 'v0.3'; + $config_version = 'v0.4b'; // db connection - $mysql_host = "localhost"; - $mysql_username = "db_user"; - $mysql_password = "db_pass"; - $mysql_dbname = "db_name"; + $config_mysql_host = "localhost"; + $config_mysql_username = ''; + $config_mysql_password = ''; + $config_mysql_dbname = ''; - // standard password for new users - $config_user_lang = "en"; - $config_user_pass = "welcome"; - - // set userlevels - $config_userlevel_assetadd = 2; - $config_userlevel_assetdel = 2; - $config_userlevel_assetedit = 2; - $config_userlevel_assetview = 1; - $config_userlevel_assetclassadd = 2; - $config_userlevel_assetclassdel = 2; - $config_userlevel_assetclassedit = 2; - $config_userlevel_assetclassview = 1; - $config_userlevel_assetclassgroupadd = 2; - $config_userlevel_assetclassgroupdel = 2; - $config_userlevel_assetclassgroupedit = 2; - $config_userlevel_assetclassgroupview = 1; - $config_userlevel_locationadd = 2; - $config_userlevel_locationdel = 2; - $config_userlevel_locationedit = 2; - $config_userlevel_locationview = 1; - $config_userlevel_nodeadd = 2; - $config_userlevel_nodedel = 2; - $config_userlevel_nodeedit = 2; - $config_userlevel_nodeview = 1; - $config_userlevel_subnetadd = 2; - $config_userlevel_subnetdel = 2; - $config_userlevel_subnetedit = 2; - $config_userlevel_subnetview = 1; - $config_userlevel_useradd = 2; - $config_userlevel_userdel = 2; - $config_userlevel_useredit = 2; - $config_userlevel_userview = 1; - $config_userlevel_vlanadd = 2; - $config_userlevel_vlandel = 2; - $config_userlevel_vlanedit = 2; - $config_userlevel_vlanview = 1; + // default settings for new users + $config_user_lang = 'en'; + $config_user_pass = 'welcome'; // domain suffix for dns input fields - $config_dns1suffix = '.yourdomain.com'; - $config_dns2suffix = '.yourdomain.com'; + $config_dns1suffix = '.domain.com'; + $config_dns2suffix = '.domain.com'; + + // default colors for IP blocks + $config_color_blocked = 'FFFFFF'; + $config_color_unused = 'D3D3D3'; + + // set userlevels + $config_auth_assetadd = 2; + $config_auth_assetdel = 2; + $config_auth_assetedit = 2; + $config_auth_assetview = 1; + $config_auth_assetclassadd = 2; + $config_auth_assetclassdel = 2; + $config_auth_assetclassedit = 2; + $config_auth_assetclassview = 1; + $config_auth_assetclassgroupadd = 2; + $config_auth_assetclassgroupdel = 2; + $config_auth_assetclassgroupedit = 2; + $config_auth_assetclassgroupview = 1; + $config_auth_assigniptoasset = 2; + $config_auth_assigniptonode = 2; + $config_auth_assignlocationtosubnet = 2; + $config_auth_assignvlantosubnet = 2; + $config_auth_locationadd = 2; + $config_auth_locationdel = 2; + $config_auth_locationedit = 2; + $config_auth_locationview = 1; + $config_auth_nodeadd = 2; + $config_auth_nodedel = 2; + $config_auth_nodeedit = 2; + $config_auth_nodeview = 1; + $config_auth_subnetadd = 2; + $config_auth_subnetdel = 2; + $config_auth_subnetedit = 2; + $config_auth_subnetview = 1; + $config_auth_useradd = 2; + $config_auth_userdel = 2; + $config_auth_useredit = 2; + $config_auth_userview = 1; + $config_auth_userclassadd = 2; + $config_auth_userclassdel = 2; + $config_auth_userclassedit = 2; + $config_auth_userclassview = 1; + $config_auth_userclassauthadd = 2; + $config_auth_userclassauthdel = 2; + $config_auth_userclassauthedit = 2; + $config_auth_userclassauthview = 1; + $config_auth_vlanadd = 2; + $config_auth_vlandel = 2; + $config_auth_vlanedit = 2; + $config_auth_vlanview = 1; ?> \ No newline at end of file diff --git a/dbconnect.php b/dbconnect.php index 3b1007c..4452c46 100644 --- a/dbconnect.php +++ b/dbconnect.php @@ -1,4 +1,25 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + mysql_connect($config_mysql_host,$config_mysql_username,$config_mysql_password); + mysql_select_db($config_mysql_dbname); ?> \ No newline at end of file diff --git a/error.php b/error.php deleted file mode 100644 index f70c603..0000000 --- a/error.php +++ /dev/null @@ -1,21 +0,0 @@ -setvars($lang); - - // get error - $error = $_GET['error']; - - // set veriables - $tp->set("error", $lang['lang_error_' . $error]); - - // output - $tp->parse(); - $tp->spit(); - - include("footer.php"); -?> \ No newline at end of file diff --git a/footer.php b/footer.php index f6f394e..82dc529 100644 --- a/footer.php +++ b/footer.php @@ -1,4 +1,25 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + // set template $tp = new Template("tpl/footer.tpl"); diff --git a/functions.php b/functions.php index 8ab1ecd..620644c 100644 --- a/functions.php +++ b/functions.php @@ -1,13 +1,34 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + // strip mac address to 12 char string function strip_mac($mac) { - $mac = str_replace('-', '', $mac); - $mac = str_replace(':', '', $mac); - $mac = str_replace('.', '', $mac); - $mac = str_replace(',', '', $mac); - $mac = str_replace(' ', '', $mac); + // strip chars we don't need + $mac = preg_replace("|[^a-fA-F0-9]|", "", $mac); + + // capotolize (just because it looks better eh) $mac = strtoupper($mac); + // and return return ($mac); } @@ -17,24 +38,22 @@ // if the MAC is empty, or for whatever reason incorrect, just return return $mac; } else { - // length is good, continue - $mac1 = substr($mac, 0, 2); - $mac2 = substr($mac, 2, 2); - $mac3 = substr($mac, 4, 2); - $mac4 = substr($mac, 6, 2); - $mac5 = substr($mac, 8, 2); - $mac6 = substr($mac, 10, 2); + // length is ok, continue + // strip mac to pieces + for($i=0;$i<12;$i++) { + ${"mac".$i} = $mac{$i}; + } + + // get user preference + $user_mac = $_SESSION['suser_mac']; - // check session for preference (if 0, do nothing), if changed: update useredit.php too! - if ($_SESSION['suser_mac']==1) { - $mac = $mac1 . '-' . $mac2 . '-' . $mac3 . '-' . $mac4 . '-' . $mac5 . '-' . $mac6; - } else if ($_SESSION['suser_mac']==2) { - $mac = $mac1 . ':' . $mac2 . ':' . $mac3 . ':' . $mac4 . ':' . $mac5 . ':' . $mac6; - } else if ($_SESSION['suser_mac']==3) { - $mac = $mac1 . $mac2 . $mac3 . '-' . $mac4 . $mac5 . $mac6; + // replace user preference with pieces + for($i=0;$i<12;$i++) { + $user_mac = preg_replace("/x/", ${"mac".$i}, $user_mac, 1); } - return $mac; + // and return + return $user_mac; } } @@ -43,4 +62,40 @@ header("location: " . $location); exit; } + + // authorisation check + function auth($item, $min_auth, $item_id) { + // get user_id + $suser_id = $_SESSION['suser_id']; + + // set base auth to 0 + $auth = 0; + + // check for global rights + $result = mysql_query("SELECT uc.auth FROM userclassauth uc, useruserclass u WHERE u.user_id='$suser_id' AND uc.userclass_id=u.userclass_id AND uc.item='ipreg' AND uc.id=0 ORDER BY uc.ordering DESC LIMIT 1") or die(mysql_error()); + while ($row = mysql_fetch_object($result)) { + $auth = $row->auth; + } + + // check specific auth for this item + $result = mysql_query("SELECT uc.auth FROM userclassauth uc, useruserclass u WHERE u.user_id='$suser_id' AND uc.userclass_id=u.userclass_id AND uc.item='$item' AND uc.id=0 ORDER BY uc.ordering DESC LIMIT 1") or die(mysql_error()); + while ($row = mysql_fetch_object($result)) { + $auth = $row->auth; + } + + // and for a specific ID (if set) + if($item_id>0) { + $result = mysql_query("SELECT uc.auth FROM userclassauth uc, useruserclass u WHERE u.user_id='$suser_id' AND uc.userclass_id=u.userclass_id AND uc.item='$item' AND uc.id='$item_id' ORDER BY uc.ordering DESC LIMIT 1") or die(mysql_error()); + while ($row = mysql_fetch_object($result)) { + $auth = $row->auth; + } + } + + if($auth<$min_auth) { + // not allowed -> redirect + header_location("comments.php?comments=notallowed"); + } else { + return $auth; + } + } ?> \ No newline at end of file diff --git a/gpl-3.0.txt b/gpl-3.0.txt new file mode 100644 index 0000000..e587591 --- /dev/null +++ b/gpl-3.0.txt @@ -0,0 +1,621 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/header.php b/header.php index 11cf978..b8f72e8 100644 --- a/header.php +++ b/header.php @@ -1,17 +1,24 @@ login - if(empty($_SESSION['suser_id'])) { - header("Location: login.php"); - exit; - } + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . - // includes - include("config.php"); - include("dbconnect.php"); - include("functions.php"); - include("yapter.php"); + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ // include language file include('lang/' . $_SESSION['suser_lang'] . '.php'); @@ -22,7 +29,7 @@ // set language variables $tp->setvars($lang); - // fill search box + // set search box if (isset($_POST['search'])) { $search = $_POST['search']; $_SESSION['search'] = $search; @@ -34,8 +41,8 @@ } } - // give these to the templates too - $tp->set("suser_displayname", $_SESSION['suser_displayname']); + // set global template vars + $tp->set("config_version", $config_version); $tp->set("search", $search); // output diff --git a/image.php b/image.php new file mode 100644 index 0000000..c601429 --- /dev/null +++ b/image.php @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/images/add.gif b/images/add.gif new file mode 100644 index 0000000..3d9e239 Binary files /dev/null and b/images/add.gif differ diff --git a/images/arrow.gif b/images/arrow.gif deleted file mode 100644 index b2e8788..0000000 Binary files a/images/arrow.gif and /dev/null differ diff --git a/images/black.jpg b/images/black.jpg deleted file mode 100644 index 6f6430d..0000000 Binary files a/images/black.jpg and /dev/null differ diff --git a/images/blue.jpg b/images/blue.jpg deleted file mode 100644 index f8eda18..0000000 Binary files a/images/blue.jpg and /dev/null differ diff --git a/images/check.gif b/images/check.gif new file mode 100644 index 0000000..1ca168e Binary files /dev/null and b/images/check.gif differ diff --git a/images/comments.gif b/images/comments.gif new file mode 100644 index 0000000..93a2f71 Binary files /dev/null and b/images/comments.gif differ diff --git a/images/cross.jpg b/images/cross.jpg deleted file mode 100644 index a37ce9c..0000000 Binary files a/images/cross.jpg and /dev/null differ diff --git a/images/del.gif b/images/del.gif new file mode 100644 index 0000000..2ca8b23 Binary files /dev/null and b/images/del.gif differ diff --git a/images/edit.gif b/images/edit.gif new file mode 100644 index 0000000..137a605 Binary files /dev/null and b/images/edit.gif differ diff --git a/images/green.jpg b/images/green.jpg deleted file mode 100644 index 901e8b4..0000000 Binary files a/images/green.jpg and /dev/null differ diff --git a/images/grey.jpg b/images/grey.jpg deleted file mode 100644 index 87461ba..0000000 Binary files a/images/grey.jpg and /dev/null differ diff --git a/images/next.gif b/images/next.gif new file mode 100644 index 0000000..2ea99c4 Binary files /dev/null and b/images/next.gif differ diff --git a/images/orange.jpg b/images/orange.jpg deleted file mode 100644 index 3a4b8c3..0000000 Binary files a/images/orange.jpg and /dev/null differ diff --git a/images/prev.gif b/images/prev.gif new file mode 100644 index 0000000..d546382 Binary files /dev/null and b/images/prev.gif differ diff --git a/images/red.jpg b/images/red.jpg deleted file mode 100644 index 8915766..0000000 Binary files a/images/red.jpg and /dev/null differ diff --git a/images/save.gif b/images/save.gif new file mode 100644 index 0000000..fb05012 Binary files /dev/null and b/images/save.gif differ diff --git a/images/search.gif b/images/search.gif new file mode 100644 index 0000000..f739e32 Binary files /dev/null and b/images/search.gif differ diff --git a/images/warning.gif b/images/warning.gif deleted file mode 100644 index 2e964d2..0000000 Binary files a/images/warning.gif and /dev/null differ diff --git a/includes.php b/includes.php new file mode 100644 index 0000000..ad47f71 --- /dev/null +++ b/includes.php @@ -0,0 +1,83 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + session_start(); + + // check for user_id, if unnkown -> login + if(empty($_SESSION['suser_id'])) { + header("Location: login.php"); + exit; + } + + // includes + include("config.php"); + include("dbconnect.php"); + include("functions.php"); + include("yapter.php"); + + // auth items + $authitems = array( + 'ipreg' => array( + 'name' => 'IP Reg', + ), + 'asset' => array( + 'name' => 'Asset', + 'item_id' => 'asset_id', + 'item_name' => 'asset_name', + ), + 'assetclass' => array( + 'name' => 'Assetclass', + 'item_id' => 'assetclass_id', + 'item_name' => 'assetclass_name', + ), + 'location' => array( + 'name' => 'Location', + 'item_id' => 'location_id', + 'item_name' => 'location_name', + ), + 'node' => array( + 'name' => 'Node', + 'item_id' => 'node_id', + 'item_name' => 'ip', + ), + 'subnet' => array( + 'name' => 'Subnet', + 'item_id' => 'subnet_id', + 'item_name' => 'subnet_address', + ), + 'user' => array( + 'name' => 'User', + 'item_id' => 'user_id', + 'item_name' => 'user_name', + ), + 'userclass' => array( + 'name' => 'Userclass', + 'item_id' => 'userclass_id', + 'item_name' => 'userclass_name', + ), + 'vlan' => array( + 'name' => 'VLAN', + 'item_id' => 'vlan_id', + 'item_name' => 'vlan_name', + ), + ); +?> \ No newline at end of file diff --git a/index.php b/index.php index 8f7f945..1249fab 100644 --- a/index.php +++ b/index.php @@ -1,4 +1,29 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output include("header.php"); // set template diff --git a/install/install.sql b/install/install.sql index dab2b31..760f43e 100644 --- a/install/install.sql +++ b/install/install.sql @@ -1,12 +1,4 @@ --- --- Database: `ipreg` --- - --- -------------------------------------------------------- - --- --- Table structure for table `asset` --- +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; CREATE TABLE `asset` ( `asset_id` int(10) NOT NULL auto_increment, @@ -15,73 +7,32 @@ CREATE TABLE `asset` ( `assetclass_id` int(10) NOT NULL default '0', `asset_info` text NOT NULL, PRIMARY KEY (`asset_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; - --- --- Dumping data for table `asset` --- - -INSERT INTO `asset` VALUES (1, 'My Router', 'Router', 4, 'This is my router'); -INSERT INTO `asset` VALUES (2, 'My PC', 'PC', 10, 'This is my workstation'); +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; --- -------------------------------------------------------- - --- --- Table structure for table `assetclass` --- +INSERT INTO `asset` (`asset_id`, `asset_name`, `hostname`, `assetclass_id`, `asset_info`) VALUES +(1, 'TestPC', 'TestPC', 1, 'This is just a test PC'); 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`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=13 ; - --- --- Dumping data for table `assetclass` --- - -INSERT INTO `assetclass` VALUES (1, 1, 'Access device'); -INSERT INTO `assetclass` VALUES (2, 1, 'Firewall'); -INSERT INTO `assetclass` VALUES (3, 1, 'HUB'); -INSERT INTO `assetclass` VALUES (4, 1, 'Router'); -INSERT INTO `assetclass` VALUES (5, 1, 'Switch'); -INSERT INTO `assetclass` VALUES (6, 2, 'Server'); -INSERT INTO `assetclass` VALUES (7, 2, 'NAS'); -INSERT INTO `assetclass` VALUES (8, 3, 'IP Phone'); -INSERT INTO `assetclass` VALUES (9, 4, 'Laptop'); -INSERT INTO `assetclass` VALUES (10, 4, 'PC'); -INSERT INTO `assetclass` VALUES (11, 4, 'Printer'); -INSERT INTO `assetclass` VALUES (12, 4, 'Thin Client'); - --- -------------------------------------------------------- - --- --- Table structure for table `assetclassgroup` --- +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; + +INSERT INTO `assetclass` (`assetclass_id`, `assetclassgroup_id`, `assetclass_name`) VALUES +(1, 1, 'PC'), +(2, 2, 'Switch'); CREATE TABLE `assetclassgroup` ( `assetclassgroup_id` int(10) NOT NULL auto_increment, `assetclassgroup_name` varchar(100) NOT NULL default '', - `color` varchar(10) NOT NULL default '', + `color` varchar(6) NOT NULL, PRIMARY KEY (`assetclassgroup_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; - --- --- Dumping data for table `assetclassgroup` --- +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; -INSERT INTO `assetclassgroup` VALUES (1, 'Network', 'red'); -INSERT INTO `assetclassgroup` VALUES (2, 'Servers', 'green'); -INSERT INTO `assetclassgroup` VALUES (3, 'VOIP', 'orange'); -INSERT INTO `assetclassgroup` VALUES (4, 'Workstations', 'blue'); -INSERT INTO `assetclassgroup` VALUES (5, 'Other', 'black'); - --- -------------------------------------------------------- - --- --- Table structure for table `location` --- +INSERT INTO `assetclassgroup` (`assetclassgroup_id`, `assetclassgroup_name`, `color`) VALUES +(1, 'Workstations', '000000'), +(2, 'Network', 'FF0000'); CREATE TABLE `location` ( `location_id` int(10) NOT NULL auto_increment, @@ -89,26 +40,10 @@ CREATE TABLE `location` ( `parent` int(1) NOT NULL default '0', `location_info` text NOT NULL, PRIMARY KEY (`location_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ; - --- --- Dumping data for table `location` --- - -INSERT INTO `location` VALUES (1, 'Head Office', 0, ''); -INSERT INTO `location` VALUES (2, '1st floor', 1, ''); -INSERT INTO `location` VALUES (3, '2nd floor', 1, ''); -INSERT INTO `location` VALUES (4, 'Administration', 2, ''); -INSERT INTO `location` VALUES (5, 'Finance', 2, ''); -INSERT INTO `location` VALUES (6, 'Branch office', 0, ''); -INSERT INTO `location` VALUES (7, 'Planning', 3, ''); -INSERT INTO `location` VALUES (8, 'Logistics', 6, ''); +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; --- -------------------------------------------------------- - --- --- Table structure for table `node` --- +INSERT INTO `location` (`location_id`, `location_name`, `parent`, `location_info`) VALUES +(1, 'Main Office', 0, 'Our Main Office Building'); CREATE TABLE `node` ( `node_id` int(10) NOT NULL auto_increment, @@ -120,20 +55,10 @@ CREATE TABLE `node` ( `asset_id` int(10) NOT NULL default '0', `node_info` text NOT NULL, PRIMARY KEY (`node_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; - --- --- Dumping data for table `node` --- - -INSERT INTO `node` VALUES (1, '192.168.0.1', 'aabbcc112233', 'router1', '', 1, 1, ''); -INSERT INTO `node` VALUES (2, '192.168.0.11', 'aa11bb22cc33', 'pc1', '', 1, 2, ''); +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; --- -------------------------------------------------------- - --- --- Table structure for table `subnet` --- +INSERT INTO `node` (`node_id`, `ip`, `mac`, `dns1`, `dns2`, `subnet_id`, `asset_id`, `node_info`) VALUES +(1, '192.168.0.1', '', '', '', 1, 1, ''); CREATE TABLE `subnet` ( `subnet_id` int(10) NOT NULL auto_increment, @@ -142,38 +67,20 @@ CREATE TABLE `subnet` ( `vlan_id` int(10) NOT NULL default '0', `subnet_info` text NOT NULL, PRIMARY KEY (`subnet_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; - --- --- Dumping data for table `subnet` --- - -INSERT INTO `subnet` VALUES (1, '192.168.0.0', 24, 1, ''); - --- -------------------------------------------------------- +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; --- --- Table structure for table `subnetlocation` --- +INSERT INTO `subnet` (`subnet_id`, `subnet_address`, `subnet_mask`, `vlan_id`, `subnet_info`) VALUES +(1, '192.168.0.1', 24, 1, ''); 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`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; - --- --- Dumping data for table `subnetlocation` --- - -INSERT INTO `subnetlocation` VALUES (1, 1, 1); - --- -------------------------------------------------------- +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; --- --- Table structure for table `user` --- +INSERT INTO `subnetlocation` (`subnetlocation_id`, `subnet_id`, `location_id`) VALUES +(1, 1, 1); CREATE TABLE `user` ( `user_id` int(10) NOT NULL auto_increment, @@ -181,22 +88,47 @@ CREATE TABLE `user` ( `user_pass` varchar(32) NOT NULL default '', `user_level` int(1) NOT NULL default '0', `user_displayname` varchar(100) NOT NULL default '', - `user_mac` int(1) NOT NULL default '0', + `user_mac` varchar(25) NOT NULL default 'xxxxxxxxxxxx', `user_lang` varchar(3) NOT NULL default '', PRIMARY KEY (`user_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; --- --- Dumping data for table `user` --- +INSERT INTO `user` (`user_id`, `user_name`, `user_pass`, `user_level`, `user_displayname`, `user_mac`, `user_lang`) VALUES +(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 2, 'admin', 'xxxxxxxxxxxx', 'en'); -INSERT INTO `user` VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 2, 'Administrator', 0, 'en'); +CREATE TABLE `userclass` ( + `userclass_id` int(10) NOT NULL auto_increment, + `userclass_name` varchar(100) collate latin1_general_ci NOT NULL, + PRIMARY KEY (`userclass_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ; --- -------------------------------------------------------- +INSERT INTO `userclass` (`userclass_id`, `userclass_name`) VALUES +(1, 'IP Reg Administrators'); --- --- Table structure for table `vlan` --- +CREATE TABLE `userclassauth` ( + `userclassauth_id` int(10) NOT NULL auto_increment, + `ordering` int(3) NOT NULL, + `userclass_id` int(10) NOT NULL, + `item` varchar(100) collate latin1_general_ci NOT NULL, + `id` int(10) NOT NULL, + `auth` int(1) NOT NULL, + PRIMARY KEY (`userclassauth_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ; + + +INSERT INTO `userclassauth` (`userclassauth_id`, `ordering`, `userclass_id`, `item`, `id`, `auth`) VALUES +(1, 1, 1, 'ipreg', 0, 2); + +CREATE TABLE `useruserclass` ( + `useruserclass_id` int(10) NOT NULL auto_increment, + `user_id` int(10) NOT NULL, + `userclass_id` int(10) NOT NULL, + PRIMARY KEY (`useruserclass_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ; + + +INSERT INTO `useruserclass` (`useruserclass_id`, `user_id`, `userclass_id`) VALUES +(1, 1, 1); CREATE TABLE `vlan` ( `vlan_id` int(10) NOT NULL auto_increment, @@ -204,10 +136,7 @@ CREATE TABLE `vlan` ( `vlan_name` varchar(100) NOT NULL default '', `vlan_info` text NOT NULL, PRIMARY KEY (`vlan_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; - --- --- Dumping data for table `vlan` --- +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; -INSERT INTO `vlan` VALUES (1, 1, 'DEFAULT_VLAN', ''); \ No newline at end of file +INSERT INTO `vlan` (`vlan_id`, `vlan_number`, `vlan_name`, `vlan_info`) VALUES +(1, 1, 'VLAN', 'Default VLAN'); \ No newline at end of file diff --git a/install/install.txt b/install/install.txt index 747f64e..1073ce1 100644 --- a/install/install.txt +++ b/install/install.txt @@ -1,18 +1,18 @@ --- ---- IP Reg ---- http://ipreg.sourceforge.net +--- IP Reg 0.4 +--- http://sourceforge.net/projects/ipreg --- Installation instructions -1) Copy all files to your webserver +1) Create your MYSQL-database -2) Create your MYSQL-database +2) Use install.sql to create the tables and insert the first data -3) Use install.sql to create the tables and insert the first data +3) Update config.php with your settings -4) Update config.php with your settings +4) Copy all files to your webserver (exclude install directory) 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 +6) Please report your comments at http://www.newtree.nl/ipreg \ No newline at end of file diff --git a/lang/en.php b/lang/en.php index ea39a8c..c0f6c33 100644 --- a/lang/en.php +++ b/lang/en.php @@ -11,6 +11,10 @@ $lang = array( 'lang_locations' => 'Locations', 'lang_node' => 'Node', 'lang_nodes' => 'Nodes', + 'lang_user' => 'User', + 'lang_users' => 'Users', + 'lang_userclass' => 'Userclass', + 'lang_userclasses' => 'Userclasses', 'lang_sublocation' => 'Sub-location', 'lang_sublocations' => 'Sub-locations', 'lang_subnet' => 'Subnet', @@ -18,9 +22,13 @@ $lang = array( 'lang_vlan' => 'VLAN', 'lang_vlans' => 'VLANs', + 'lang_about' => 'About', + 'lang_all' => 'All', + 'lang_cancel' => 'Cancel', 'lang_color' => 'Color', 'lang_error' => 'Error', 'lang_header_viewby' => 'View by', + 'lang_item' => 'Item', 'lang_language' => 'Language', 'lang_login' => 'Login', 'lang_logout' => 'Logout', @@ -28,8 +36,10 @@ $lang = array( 'lang_reset' => 'Reset', 'lang_search' => 'Search!', 'lang_statistics' => 'Statistics', + 'lang_subitem' => 'Sub-Item', 'lang_submit' => 'Submit', 'lang_unassigned' => 'Unassigned', + 'lang_userclassauth' => 'Authorization', 'lang_asset_add' => 'Add asset', 'lang_asset_del' => 'Delete asset', @@ -43,6 +53,10 @@ $lang = array( 'lang_assetclass_edit' => 'Mofidy assetclass', 'lang_assetclass_name' => 'Assetclass name', + 'lang_userclassauth_add' => 'Add authorization', + 'lang_userclassauth_del' => 'Delete authorization', + 'lang_userclassauth_edit' => 'Mofidy authorization', + 'lang_assetclassgroup_add' => 'Add assetclassgroup', 'lang_assetclassgroup_del' => 'Delete assetclassgroup', 'lang_assetclassgroup_edit' => 'Modify assetclassgroup', @@ -51,19 +65,14 @@ $lang = array( 'lang_assigniptoasset' => 'Assign IP to asset', 'lang_assignlocationtosubnet' => 'Assign location to subnet', 'lang_assignvlantosubnet' => 'Assign VLAN to subnet', - - 'lang_error_ipinuse' => 'IP in use', - 'lang_error_locationisparent' => 'This location has sub-locations', - 'lang_error_notallowed' => 'Not allowed', - 'lang_error_usernameinuse' => 'Username in use', - 'lang_goback' => 'Go back', - + 'lang_location_add' => 'Add location', 'lang_location_del' => 'Delete location', 'lang_location_edit' => 'Mofidy location', 'lang_location_info' => 'Location info', 'lang_location_name' => 'Location name', 'lang_location_parent' => 'Parent', + 'lang_sublocation_add' => 'Add Sub-location', 'lang_node_add' => 'Add node', 'lang_node_del' => 'Delete node', @@ -97,6 +106,11 @@ $lang = array( 'lang_user_passnew2' => 'Retype new password', 'lang_user_passold' => 'Current password', + 'lang_userclass_add' => 'Add userclass', + 'lang_userclass_del' => 'Delete userclass', + 'lang_userclass_edit' => 'Modify userclass', + 'lang_userclass_name' => 'Userclass name', + 'lang_vlan_add' => 'Add VLAN', 'lang_vlan_del' => 'Delete VLAN', 'lang_vlan_edit' => 'Modify VLAN', @@ -104,9 +118,13 @@ $lang = array( 'lang_vlan_info' => 'VLAN info', 'lang_vlan_name' => 'VLAN name', - 'lang_warning_asset_del_nodes' => 'These nodes will also be deleted!', - 'lang_warning_search_nosearch' => 'Nothing to search for!', - + 'lang_comments' => 'Comments', + 'lang_comments_asset_del_nodes' => 'These nodes will also be deleted!', + 'lang_comments_ipinuse' => 'IP in use', + 'lang_comments_notallowed' => 'Not allowed', + 'lang_comments_search_nosearch' => 'Nothing to search for!', + 'lang_comments_usernameinuse' => 'Username in use', + 'lang_options_ipreg' => 'IP Reg options', 'lang_options_password_edit' => 'Modify password', 'lang_options_personal' => 'Personal options', diff --git a/location.php b/location.php index 791e056..4cece4a 100644 --- a/location.php +++ b/location.php @@ -1,4 +1,32 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("location", $config_auth_locationview, 0); + + // start output include("header.php"); // set template @@ -41,13 +69,13 @@ if($val != "") { $tp->set("location_id", $location_id); $tp->set("location_name", $location_names[$location_id]); - $tp->set("nbsp", str_repeat("   ",$level)); + $tp->set("nbsp", str_repeat("-  ",$level)); $tp->parse("locationrow"); checkchildren($val, $level+1); } else { $tp->set("location_id", $location_id); $tp->set("location_name", $location_names[$location_id]); - $tp->set("nbsp", str_repeat("   ",$level)); + $tp->set("nbsp", str_repeat("-  ",$level)); $tp->parse("locationrow"); } } diff --git a/locationadd.php b/locationadd.php index d349f2d..c84ad1f 100644 --- a/locationadd.php +++ b/locationadd.php @@ -1,4 +1,35 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + if((isset($_GET['location_id'])) ? $location_id = $_GET['location_id'] : $location_id = ""); + + // check authorisation + $auth = auth("location", $config_auth_locationadd, 0); + + // start output include("header.php"); // set template @@ -10,6 +41,7 @@ // get location info $result = mysql_query("SELECT location_id, location_name FROM location ORDER BY location_name"); for ($i=0;$row=mysql_fetch_object($result);$i++) { + if (($row->location_id==$location_id) ? $tp->set("location_selected", "selected") : $tp->set("location_selected", "")); $tp->set("location_id", $row->location_id); $tp->set("location_name", $row->location_name); $tp->parse("locationrow"); diff --git a/locationdel.php b/locationdel.php index 96450b6..d33b3c8 100644 --- a/locationdel.php +++ b/locationdel.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $location_id = $_GET['location_id']; + // check authorisation + $auth = auth("location", $config_auth_locationdel, $location_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/locationdel.tpl"); diff --git a/locationedit.php b/locationedit.php index 5cc1d6e..c1f17dd 100644 --- a/locationedit.php +++ b/locationedit.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $location_id = $_GET['location_id']; + // check authorisation + $auth = auth("location", $config_auth_locationedit, $location_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/locationedit.tpl"); diff --git a/locationview.php b/locationview.php index ef918bf..b01bd99 100644 --- a/locationview.php +++ b/locationview.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $location_id = $_GET['location_id']; + // check authorisation + $auth = auth("location", $config_auth_locationview, $location_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/locationview.tpl"); @@ -76,26 +104,6 @@ } if (($i>0) ? $tp->parse("sublocation") : $tp->hide("sublocation")); - // display options - if($_SESSION['suser_level'] >= $config_userlevel_assignlocationtosubnet) { - $tp->set("location_id", $location_id); - $tp->parse("assignlocationtosubnet"); - } else { - $tp->hide("assignlocationtosubnet"); - } - if($_SESSION['suser_level'] >= $config_userlevel_locationedit) { - $tp->set("location_id", $location_id); - $tp->parse("locationedit"); - } else { - $tp->hide("locationedit"); - } - if($_SESSION['suser_level'] >= $config_userlevel_locationdel) { - $tp->set("location_id", $location_id); - $tp->parse("locationdel"); - } else { - $tp->hide("locationdel"); - } - // output $tp->parse(); $tp->spit(); diff --git a/login.php b/login.php index 7729994..4f0ea6d 100644 --- a/login.php +++ b/login.php @@ -1,10 +1,34 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // start session with default language session_start(); + include('lang/en.php'); // includes include("config.php"); include("dbconnect.php"); include("functions.php"); + include("yapter.php"); // check for submit if ($_SERVER['REQUEST_METHOD']=="POST" ) { @@ -21,7 +45,7 @@ $_SESSION['suser_mac'] = mysql_result($result, 0, "user_mac"); $_SESSION['suser_lang'] = mysql_result($result, 0, "user_lang"); - header("Location: index.php"); + header_location("index.php"); } else { // not ok, break session $_SESSION = array(); @@ -31,61 +55,18 @@ mysql_free_result($result); } } - echo 'Error!'; } -?> - - -
- IP Reg - - -
- -
+ + // start output + // set template + $tp = new Template("tpl/login.tpl"); -
+ // set language variables + $tp->setvars($lang); + + // output + $tp->parse(); + $tp->spit(); -
- - - - - - - - - - - - - - - -
- IP Reg -
- Username: - - -
- Password: - - -
- -
-
- -
- - - - - -
- IP Reg -
- - - \ No newline at end of file + include("footer.php"); +?> \ No newline at end of file diff --git a/logout.php b/logout.php index d48cba9..a6fcc99 100644 --- a/logout.php +++ b/logout.php @@ -1,4 +1,25 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + session_start(); // clear and destroy session diff --git a/nodeadd.php b/nodeadd.php index 601a08b..7d02cda 100644 --- a/nodeadd.php +++ b/nodeadd.php @@ -1,4 +1,32 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("node", $config_auth_nodeadd, 0); + + // start output include("header.php"); // set template diff --git a/nodedel.php b/nodedel.php index 0bd323d..b1f317e 100644 --- a/nodedel.php +++ b/nodedel.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $node_id = $_GET['node_id']; + // check authorisation + $auth = auth("node", $config_auth_nodedel, $node_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/nodedel.tpl"); diff --git a/nodeedit.php b/nodeedit.php index 582a605..d3472f8 100644 --- a/nodeedit.php +++ b/nodeedit.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $node_id = $_GET['node_id']; + // check authorisation + $auth = auth("node", $config_auth_nodeedit, $node_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/nodeedit.tpl"); @@ -11,21 +39,31 @@ $tp->setvars($lang); // 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") or die(mysql_error()); + $result = mysql_query("SELECT asset_id, ip, mac, dns1, dns2, subnet_id, node_info FROM node WHERE node_id='$node_id'") or die(mysql_error()); $row = mysql_fetch_object($result); + $asset_id = $row->asset_id; $subnet_id = $row->subnet_id; $tp->set("node_id", $node_id); - $tp->set("asset_name", $row->asset_name); $tp->set("ip", $row->ip); - $tp->set("mac", write_mac($row->mac)); + $tp->set("mac", $row->mac); $tp->set("dns1", $row->dns1); $tp->set("dns2", $row->dns2); - $tp->set("node_info", nl2br($row->node_info)); + $tp->set("node_info", $row->node_info); + + // get asset info + $result = mysql_query("SELECT asset_id, asset_name FROM asset ORDER BY asset_name") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + if (($row->asset_id==$asset_id) ? $tp->set("asset_selected", "selected") : $tp->set("asset_selected", "")); + $tp->set("asset_id", $row->asset_id); + $tp->set("asset_name", $row->asset_name); + $tp->parse("assetrow"); + } + if (($i>0) ? $tp->parse("asset") : $tp->hide("asset")); // get subnet info $result = mysql_query("SELECT subnet_id, subnet_address, subnet_mask FROM subnet ORDER BY INET_ATON(subnet_address)") or die(mysql_error()); for ($i=0;$row=mysql_fetch_object($result);$i++) { - if (($row->subnet_id==$subnet_id) ? $tp->set("selected", "selected") : $tp->set("selected", "")); + if (($row->subnet_id==$subnet_id) ? $tp->set("subnet_selected", "selected") : $tp->set("subnet_selected", "")); $tp->set("subnet_id", $row->subnet_id); $tp->set("subnet_address", $row->subnet_address); $tp->set("subnet_mask", $row->subnet_mask); diff --git a/nodelist.php b/nodelist.php index bee9d89..a795dc1 100644 --- a/nodelist.php +++ b/nodelist.php @@ -1,9 +1,38 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + // get id $subnet_id = $_GET['subnet_id']; + // check authorisation + $auth = auth("node", $config_auth_nodeview, 0); + $auth = auth("subnet", $config_auth_subnetview, $subnet_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/nodelist.tpl"); diff --git a/nodeview.php b/nodeview.php index 97d30d3..08e66fa 100644 --- a/nodeview.php +++ b/nodeview.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $node_id = $_GET['node_id']; + // check authorisation + $auth = auth("node", $config_auth_nodeview, $node_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/nodeview.tpl"); @@ -13,6 +41,7 @@ // get node info $result = mysql_query("SELECT a.asset_name, a.asset_id, n.ip, n.mac, n.dns1, n.dns2, n.node_info, s.subnet_id, s.subnet_address, s.subnet_mask FROM asset a, node n, subnet s WHERE n.node_id='$node_id' AND a.asset_id=n.asset_id AND s.subnet_id=n.subnet_id") or die(mysql_error()); $row = mysql_fetch_object($result); + $tp->set("node_id", $node_id); $tp->set("asset_id", $row->asset_id); $tp->set("asset_name", $row->asset_name); $tp->set("ip", $row->ip); @@ -23,21 +52,7 @@ $tp->set("subnet_id", $row->subnet_id); $tp->set("subnet_address", $row->subnet_address); $tp->set("subnet_mask", $row->subnet_mask); - - // display options - if($_SESSION['suser_level'] >= $config_userlevel_nodeedit) { - $tp->set("node_id", $node_id); - $tp->parse("nodeedit"); - } else { - $tp->hide("nodeedit"); - } - if($_SESSION['suser_level'] >= $config_userlevel_nodedel) { - $tp->set("node_id", $node_id); - $tp->parse("nodedel"); - } else { - $tp->hide("nodedel"); - } - + // output $tp->parse(); $tp->spit(); diff --git a/options.php b/options.php index 4ef0443..3f551cd 100644 --- a/options.php +++ b/options.php @@ -1,4 +1,29 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output include("header.php"); // set template @@ -6,20 +31,7 @@ // set language variables $tp->setvars($lang); - - // display options - if(($_SESSION['suser_level'] >= $config_userlevel_assetadd) ? $tp->parse("assetadd") : $tp->hide("assetadd")); - if(($_SESSION['suser_level'] >= $config_userlevel_assetclassadd) ? $tp->parse("assetclassadd") : $tp->hide("assetclassadd")); - if(($_SESSION['suser_level'] >= $config_userlevel_locationadd) ? $tp->parse("locationadd") : $tp->hide("locationadd")); - if(($_SESSION['suser_level'] >= $config_userlevel_nodeadd) ? $tp->parse("nodeadd") : $tp->hide("nodeadd")); - if(($_SESSION['suser_level'] >= $config_userlevel_useradd) ? $tp->parse("useradd") : $tp->hide("useradd")); - if(($_SESSION['suser_level'] >= $config_userlevel_subnetadd) ? $tp->parse("subnetadd") : $tp->hide("subnetadd")); - if(($_SESSION['suser_level'] >= $config_userlevel_vlanadd) ? $tp->parse("vlanadd") : $tp->hide("vlanadd")); - - if(($_SESSION['suser_level'] >= $config_userlevel_assigniptoasset) ? $tp->parse("assigniptoasset") : $tp->hide("assigniptoasset")); - if(($_SESSION['suser_level'] >= $config_userlevel_assignlocationtosubnet) ? $tp->parse("assignlocationtosubnet") : $tp->hide("assignlocationtosubnet")); - if(($_SESSION['suser_level'] >= $config_userlevel_assignvlantosubnet) ? $tp->parse("assignvlantosubnet") : $tp->hide("assignvlantosubnet")); - + // output $tp->parse(); $tp->spit(); diff --git a/search.php b/search.php index 1508dd4..cc71c72 100644 --- a/search.php +++ b/search.php @@ -1,4 +1,29 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output include("header.php"); // set template diff --git a/style.css b/style.css deleted file mode 100644 index 399be96..0000000 --- a/style.css +++ /dev/null @@ -1,39 +0,0 @@ -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/submit.php b/submit.php index d913903..bf52614 100644 --- a/submit.php +++ b/submit.php @@ -1,53 +1,80 @@ login - if(empty($_SESSION['suser_id'])) { - header("Location: login.php"); - exit; - } + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ // includes - include("config.php"); - include("dbconnect.php"); - include("functions.php"); + include("includes.php"); // check for submit - if ($_SERVER['REQUEST_METHOD']=="POST" ) { + if ($_SERVER['REQUEST_METHOD']=="POST") { // check for action if (isset($_POST['add'])) { switch ($_POST['add']) { case ("asset") : + // get variables + $asset_name = $_POST['asset_name']; + $hostname = $_POST['hostname']; + $assetclass_id = $_POST['assetclass_id']; + $asset_info = $_POST['asset_info']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_assetadd) { - // get variables - $asset_name = $_POST['asset_name']; - $hostname = $_POST['hostname']; - $assetclass_id = $_POST['assetclass_id']; - $asset_info = $_POST['asset_info']; - - // update db - 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(); - - // redirect - header_location("assetview.php?asset_id=" . $asset_id); - } + auth("asset", $config_auth_assetadd, 0); + + // update db + 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(); + + // redirect + header_location("assetview.php?asset_id=" . $asset_id); break; case ("assetclass") : + // get variables + $assetclass_name = $_POST['assetclass_name']; + $assetclassgroup_id = $_POST['assetclassgroup_id']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_assetclassadd) { - // get variables - $assetclass_name = $_POST['assetclass_name']; - $assetclassgroup_id = $_POST['assetclassgroup_id']; - - // update db - mysql_query("INSERT INTO assetclass (assetclass_name, assetclassgroup_id) VALUE ('$assetclass_name', '$assetclassgroup_id')") or die(mysql_error()); - $assetclass_id = mysql_insert_id(); - - // redirect - header_location("assetclassview.php?assetclass_id=" . $assetclass_id); - } + auth("assetclass", $config_auth_assetclassadd, 0); + + // update db + mysql_query("INSERT INTO assetclass (assetclass_name, assetclassgroup_id) VALUE ('$assetclass_name', '$assetclassgroup_id')") or die(mysql_error()); + $assetclass_id = mysql_insert_id(); + + // redirect + header_location("assetclassview.php?assetclass_id=" . $assetclass_id); + break; + case ("assetclassgroup") : + // get variables + $assetclassgroup_name = $_POST['assetclassgroup_name']; + $color = strtoupper($_POST['color']); + $color = preg_replace("|[^a-zA-Z0-9]|", "", $color); + + // check permission + auth("assetclassgroup", $config_auth_assetclassgroupadd, 0); + + // update db + mysql_query("INSERT INTO assetclassgroup (assetclassgroup_name, color) VALUE ('$assetclassgroup_name', '$color')") or die(mysql_error()); + $assetclassgroup_id = mysql_insert_id(); + + // redirect + header_location("assetclassgroupview.php?assetclassgroup_id=" . $assetclassgroup_id); break; case ("assigniptoasset") : // check permission @@ -97,100 +124,133 @@ } break; case ("location") : + // get variables + $location_name = $_POST['location_name']; + $parent = $_POST['parent']; + $location_info = $_POST['location_info']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_locationadd) { - // get variables - $location_name = $_POST['location_name']; - $parent = $_POST['parent']; - + auth("location", $config_auth_locationadd, 0); + + // update db + mysql_query("INSERT INTO location (location_name, parent, location_info) VALUE ('$location_name', '$parent', '$location_info')") or die(mysql_error()); + $location_id = mysql_insert_id(); + + // redirect + header_location("locationview.php?location_id=" . $location_id); + break; + case ("node") : + // get variables + $asset_name = $_POST['asset_name']; + $hostname = $_POST['hostname']; + $assetclass_id = $_POST['assetclass_id']; + $ip = $_POST['ip']; + $mac = strip_mac($_POST['mac']); + if ((!empty($_POST['dns1']) && isset($_POST['dns1suffix'])) ? $dns1 = $_POST['dns1'] . $config_dns1suffix : $dns1 = $_POST['dns1']); + if ((!empty($_POST['dns2']) && isset($_POST['dns2suffix'])) ? $dns2 = $_POST['dns2'] . $config_dns2suffix : $dns2 = $_POST['dns2']); + $subnet_id = $_POST['subnet_id']; + + // check permission + auth("node", $config_auth_nodeadd, 0); + + $result = mysql_query("SELECT * FROM node WHERE ip='$ip'") or die(mysql_error()); + if (mysql_num_rows($result) == 0) { // update db - mysql_query("INSERT INTO location (location_name, parent) VALUE ('$location_name', '$parent')") or die(mysql_error()); - $location_id = mysql_insert_id(); + mysql_query("INSERT INTO asset (asset_name, hostname, assetclass_id) VALUE ('$asset_name', '$hostname', '$assetclass_id')") or die(mysql_error()); + $asset_id = mysql_insert_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(); // redirect - header_location("locationview.php?location_id=" . $location_id); + header_location("assetview.php?asset_id=" . $asset_id); } + // display error + $comments = "ipinuse"; break; - case ("node") : + case ("subnet") : + // get variables + $subnet_address= $_POST['subnet_address']; + $subnet_mask = $_POST['subnet_mask']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_nodeadd) { - $result = mysql_query("SELECT * FROM node WHERE ip='$ip'") or die(mysql_error()); - if (mysql_num_rows($result) == 0) { - // get variables - $asset_name = $_POST['asset_name']; - $hostname = $_POST['hostname']; - $assetclass_id = $_POST['assetclass_id']; - $ip = $_POST['ip']; - $mac = strip_mac($_POST['mac']); - if ((!empty($_POST['dns1']) && isset($_POST['dns1suffix'])) ? $dns1 = $_POST['dns1'] . $config_dns1suffix : $dns1 = $_POST['dns1']); - if ((!empty($_POST['dns2']) && isset($_POST['dns2suffix'])) ? $dns2 = $_POST['dns2'] . $config_dns2suffix : $dns2 = $_POST['dns2']); - $subnet_id = $_POST['subnet_id']; - - // update db - mysql_query("INSERT INTO asset (asset_name, hostname, assetclass_id) VALUE ('$asset_name', '$hostname', '$assetclass_id')") or die(mysql_error()); - $asset_id = mysql_insert_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(); - - // redirect - header_location("assetview.php?asset_id=" . $asset_id); - } - // display error - $error = "ipinuse"; - } + auth("subnet", $config_auth_subnetadd, 0); + + // update db + mysql_query("INSERT INTO subnet (subnet_address, subnet_mask) VALUE ('$subnet_address', '$subnet_mask')") or die(mysql_error()); + $subnet_id = mysql_insert_id(); + + // redirect + header_location("subnetview.php?subnet_id=" . $subnet_id); break; - case ("subnet") : + case ("user") : + // get variables + $user_name = $_POST['user_name']; + $user_pass = md5($config_user_pass); + $user_level = $_POST['user_level']; + $displayname = $_POST['user_name']; + $user_lang = $config_user_lang; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_subnetadd) { - // get variables - $subnet_address= $_POST['subnet_address']; - $subnet_mask = $_POST['subnet_mask']; - + auth("user", $config_auth_useradd, 0); + + // 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) { // update db - mysql_query("INSERT INTO subnet (subnet_address, subnet_mask) VALUE ('$subnet_address', '$subnet_mask')") or die(mysql_error()); - $subnet_id = mysql_insert_id(); - + mysql_query("INSERT INTO user (user_name, user_pass, user_level, user_displayname, user_lang) VALUE ('$user_name', '$user_pass', '$user_level', '$displayname', '$user_lang')") or die(mysql_error()); + $user_id = mysql_insert_id(); + // redirect - header_location("subnetview.php?subnet_id=" . $subnet_id); + header_location("userview.php?user_id=" . $user_id); } + // display error + $comments = "usernameinuse"; break; - case ("user") : + case ("userclass") : + // get variables + $userclass_name = $_POST['userclass_name']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_useradd) { - // 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) { - // get variables - $user_name = $_POST['user_name']; - $user_pass = md5($config_user_pass); - $user_level = $_POST['user_level']; - $displayname = $_POST['user_name']; - $user_lang = $config_user_lang; - - // update db - mysql_query("INSERT INTO user (user_name, user_pass, user_level, user_displayname, user_lang) VALUE ('$user_name', '$user_pass', '$user_level', '$displayname', '$user_lang')") or die(mysql_error()); - - // redirect - header_location("options.php"); - } - // display error - $error = "usernameinuse"; - } + auth("userclass", $config_auth_userclassadd, 0); + + // update db + mysql_query("INSERT INTO userclass (userclass_name) VALUE ('$userclass_name')") or die(mysql_error()); + $userclass_id = mysql_insert_id(); + + // redirect + header_location("userclassview.php?userclass_id=" . $userclass_id); + break; + case ("userclassauth") : + // get variables + $userclass_id = $_POST['userclass_id']; + $authitem = $_POST['authitem']; + $item_id = $_POST['item_id']; + $auth = $_POST['auth']; + + // check permission + auth("userclassauth", $config_auth_userclassauthadd, 0); + + // update db + mysql_query("INSERT INTO userclassauth (userclass_id, item, id, auth) VALUE ('$userclass_id', '$authitem', '$item_id', '$auth')") or die(mysql_error()); + $userclassauth_id = mysql_insert_id(); + + // redirect + header_location("userclassauth.php"); break; case ("vlan") : + // get variables + $vlan_name = $_POST['vlan_name']; + $vlan_number= $_POST['vlan_number']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_vlanadd) { - // get variables - $vlan_name = $_POST['vlan_name']; - $vlan_number= $_POST['vlan_number']; - - // update db - mysql_query("INSERT INTO vlan (vlan_name, vlan_number) VALUE ('$vlan_name', '$vlan_number')") or die(mysql_error()); - $vlan_id = mysql_insert_id(); - - // redirect - header_location("vlan.php?vlan_id=" . $vlan_id); - } + auth("vlan", $config_auth_vlanadd, 0); + + // update db + mysql_query("INSERT INTO vlan (vlan_name, vlan_number) VALUE ('$vlan_name', '$vlan_number')") or die(mysql_error()); + $vlan_id = mysql_insert_id(); + + // redirect + header_location("vlan.php?vlan_id=" . $vlan_id); break; } } @@ -198,95 +258,165 @@ if (isset($_POST['edit'])) { switch ($_POST['edit']) { case ("asset") : - if($_SESSION['suser_level'] >= $config_userlevel_assetedit) { - // get variables - $asset_id = $_POST['asset_id']; - $asset_name = $_POST['asset_name']; - $hostname = $_POST['hostname']; - $assetclass_id = $_POST['assetclass_id']; - $asset_info = $_POST['asset_info']; - - // update db - 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()) or die(mysql_error()); - - // redirect - header_location("assetview.php?asset_id=" . $asset_id); - } + // get variables + $asset_id = $_POST['asset_id']; + $asset_name = $_POST['asset_name']; + $hostname = $_POST['hostname']; + $assetclass_id = $_POST['assetclass_id']; + $asset_info = $_POST['asset_info']; + + // check permission + auth("asset", $config_auth_assetedit, $asset_id); + + // update db + 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()) or die(mysql_error()); + + // redirect + header_location("assetview.php?asset_id=" . $asset_id); break; case ("assetclass") : + // get variables + $assetclass_id = $_POST['assetclass_id']; + $assetclass_name = $_POST['assetclass_name']; + $assetclassgroup_id = $_POST['assetclassgroup_id']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_assetclassedit) { - // get variables - $assetclass_id = $_POST['assetclass_id']; - $assetclass_name = $_POST['assetclass_name']; - $assetclassgroup_id = $_POST['assetclassgroup_id']; - - // update db - mysql_query("UPDATE assetclass SET assetclass_name='$assetclass_name', assetclassgroup_id='$assetclassgroup_id' WHERE assetclass_id='$assetclass_id'") or die(mysql_error()); - - // redirect - header_location("assetclassview.php?assetclass_id=" . $assetclass_id); - } + auth("assetclass", $config_auth_assetclassedit, $assetclass_id); + + // update db + mysql_query("UPDATE assetclass SET assetclass_name='$assetclass_name', assetclassgroup_id='$assetclassgroup_id' WHERE assetclass_id='$assetclass_id'") or die(mysql_error()); + + // redirect + header_location("assetclassview.php?assetclass_id=" . $assetclass_id); + break; + case ("assetclassgroup") : + // get variables + $assetclassgroup_id = $_POST['assetclassgroup_id']; + $assetclassgroup_name = $_POST['assetclassgroup_name']; + $color = strtoupper($_POST['color']); + $color = preg_replace("|[^a-zA-Z0-9]|", "", $color); + + // check permission + auth("assetclassgroup", $config_auth_assetclassgroupedit, $assetclassgroup_id); + + // update db + mysql_query("UPDATE assetclassgroup SET assetclassgroup_name='$assetclassgroup_name', color='$color' WHERE assetclassgroup_id='$assetclassgroup_id'") or die(mysql_error()); + + // redirect + header_location("assetclassgroupview.php?assetclassgroup_id=" . $assetclassgroup_id); + break; + case ("location") : + // get variables + $location_id = $_POST['location_id']; + $location_name = $_POST['location_name']; + $parent = $_POST['parent']; + $location_info = $_POST['location_info']; + + // check permission + auth("location", $config_auth_locationedit, $location_id); + + // update db + mysql_query("UPDATE location SET location_name='$location_name', parent='$parent', location_info='$location_info' WHERE location_id='$location_id'") or die(mysql_error()) or die(mysql_error()); + + // redirect + header_location("locationview.php?location_id=" . $location_id); break; case ("node") : + // get variables + $node_id = $_POST['node_id']; + $asset_id = $_POST['asset_id']; + $subnet_id = $_POST['subnet_id']; + $mac = strip_mac($_POST['mac']); + $dns1 = $_POST['dns1']; + $dns2 = $_POST['dns2']; + $node_info = $_POST['node_info']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_nodeedit) { - // get variables - $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']; - - // update db - 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()); - - // redirect - header_location("nodeview.php?node_id=" . $node_id); - } + auth("node", $config_auth_nodeedit, $node_id); + + // update db + mysql_query("UPDATE node SET asset_id='$asset_id', subnet_id='$subnet_id', mac='$mac', dns1='$dns1', dns2='$dns2', node_info='$node_info' WHERE node_id='$node_id'") or die(mysql_error()); + + // redirect + header_location("nodeview.php?node_id=" . $node_id); break; case ("subnet") : + // get variables + $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']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_subnetedit) { - // get variables - $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']; - - // update db - 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()); - - // redirect - header_location("subnetview.php?subnet_id=" . $subnet_id); - } + auth("subnet", $config_auth_subnetedit, $subnet_id); + + // update db + 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()); + + // redirect + header_location("subnetview.php?subnet_id=" . $subnet_id); break; case ("user") : // get variables + $user_id = $_POST['user_id']; + $user_name = $_POST['user_name']; $user_displayname = $_POST['user_displayname']; $user_mac = $_POST['user_mac']; $user_lang = $_POST['user_lang']; - //update db - mysql_query("UPDATE user SET user_displayname='$user_displayname', user_mac='$user_mac', user_lang='$user_lang' WHERE user_id='$suser_id'") or die(mysql_error()); + // check permission + auth("user", $config_auth_useredit, $user_id); - // update session - $_SESSION['suser_displayname'] = $user_displayname; - $_SESSION['suser_mac'] = $user_mac; - $_SESSION['suser_lang'] = $user_lang; + // update db + mysql_query("UPDATE user SET user_displayname='$user_displayname', user_mac='$user_mac', user_lang='$user_lang' WHERE user_id='$user_id'") or die(mysql_error()); + // procedure to update useruserclass table + // 1) delete current users + mysql_query("DELETE FROM useruserclass WHERE user_id='$user_id'") or die(mysql_error()); + + // 2) loop checkbox array for userclass_id + foreach( $_POST['userclass_id'] AS $userclass_id) { + // and insert + mysql_query("INSERT INTO useruserclass (user_id, userclass_id) VALUE ('$user_id', '$userclass_id')") or die(mysql_error()); + } + + // redirect + header_location("userview.php?user_id=" . $user_id); + break; + case ("userclass") : + // get variables + $userclass_id = $_POST['userclass_id']; + $userclass_name = $_POST['userclass_name']; + + // check permission + auth("userclass", $config_auth_userclassedit, $userclass_id); + + // update db + mysql_query("UPDATE userclass SET userclass_name='$userclass_name' WHERE userclass_id='$userclass_id'") or die(mysql_error()); + + // procedure to update useruserclass table + // 1) delete current users + mysql_query("DELETE FROM useruserclass WHERE userclass_id='$userclass_id'") or die(mysql_error()); + + // 2) loop checkbox array for user_id + foreach($_POST['user_id'] AS $user_id) { + // and insert + mysql_query("INSERT INTO useruserclass (user_id, userclass_id) VALUE ('$user_id', '$userclass_id')") or die(mysql_error()); + } + // redirect - header_location("options.php"); + header_location("userclassview.php?userclass_id=" . $userclass_id); break; case ("userpass") : // check variables if (trim($_POST['user_passold']) <> "" && trim($_POST['user_passnew1']) && trim($_POST['user_passnew2']) && trim($_POST['user_passnew1']) == trim($_POST['user_passnew2'])) { + $suser_id = $_SESSION['suser_id']; + // get variables $user_passold = $_POST['user_passold']; $user_passnew = md5($_POST['user_passnew1']); - + // get current pass $result = mysql_query("SELECT user_pass FROM user WHERE user_id='$suser_id'") or die(mysql_error()); // check current pass @@ -303,20 +433,20 @@ echo 'Error!'; break; case ("vlan") : + // get variables + $vlan_id = $_POST['vlan_id']; + $vlan_name = $_POST['vlan_name']; + $vlan_number = $_POST['vlan_number']; + $vlan_info = $_POST['vlan_info']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_vlanedit) { - // get variables - $vlan_id = $_POST['vlan_id']; - $vlan_name = $_POST['vlan_name']; - $vlan_number = $_POST['vlan_number']; - $vlan_info = $_POST['vlan_info']; - - // update db - 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()); - - // redirect - header_location("vlanview.php?vlan_id=" . $vlan_id); - } + auth("vlan", $config_auth_vlanedit, $vlan_id); + + // update db + 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()); + + // redirect + header_location("vlanview.php?vlan_id=" . $vlan_id); break; } } @@ -324,96 +454,134 @@ if (isset($_POST['del'])) { switch ($_POST['del']) { case ("asset") : - if($_SESSION['suser_level'] >= $config_userlevel_assetdel) { - // get variables - $asset_id = $_POST['asset_id']; - - // update db - 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()); - - // redirect - header_location("asset.php"); - } + // get variables + $asset_id = $_POST['asset_id']; + + // check permission + auth("asset", $config_auth_assetdel, $asset_id); + + // update db + 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()); + + // redirect + header_location("asset.php"); break; case ("assetclass") : + // get variables + $assetclass_id = $_POST['assetclass_id']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_assetclassdel) { - // get variables - $assetclass_id = $_POST['assetclass_id']; - - // update db - mysql_query("DELETE FROM assetclass WHERE assetclass_id='$assetclass_id'") or die(mysql_error()); - - // redirect - header_location("assetclass.php"); - } + auth("assetclass", $config_auth_assetclassdel, $assetclass_id); + + // update db + mysql_query("DELETE FROM assetclass WHERE assetclass_id='$assetclass_id'") or die(mysql_error()); + + // redirect + header_location("assetclass.php"); + break; + case ("assetclassgroup") : + // get variables + $assetclassgroup_id = $_POST['assetclassgroup_id']; + + // check permission + auth("assetclassgroup", $config_auth_assetclassgroupdel, $assetclassgroup_id); + + // update db + mysql_query("DELETE FROM assetclassgroup WHERE assetclassgroup_id='$assetclassgroup_id'") or die(mysql_error()); + + // redirect + header_location("assetclassgroup.php"); break; case ("location") : - if($_SESSION['suser_level'] >= $config_userlevel_locationdel) { - // get variables - $location_id = $_POST['location_id']; - - $result = mysql_query("SELECT location_id FROM location WHERE parent='$location_id'") or die(mysql_error()); - if (mysql_num_rows($result) == 0) { - // update db - mysql_query("DELETE FROM location WHERE location_id='$location_id'") or die(mysql_error()); - - // redirect - header_location("location.php"); - } - // display error - $error = "locationisparent"; - } + // get variables + $location_id = $_POST['location_id']; + + // check permission + auth("location", $config_auth_locationdel, $location_id); + + // update db + mysql_query("DELETE FROM location WHERE location_id='$location_id'") or die(mysql_error()); + + // redirect + header_location("location.php"); break; case ("node") : + // get variables + $node_id = $_POST['node_id']; + $asset_id = $_POST['asset_id']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_nodedel) { - // get variables - $node_id = $_POST['node_id']; - $asset_id = $_POST['asset_id']; - - // update db - mysql_query("DELETE FROM node WHERE node_id='$node_id'") or die(mysql_error()); - - // redirect - header_location("assetview.php?asset_id=" . $asset_id); - } + auth("node", $config_auth_nodedel, $node_id); + + // update db + mysql_query("DELETE FROM node WHERE node_id='$node_id'") or die(mysql_error()); + + // redirect + header_location("assetview.php?asset_id=" . $asset_id); break; case ("subnet") : - if($_SESSION['suser_level'] >= $config_userlevel_subnetdel) { - // get variables - $subnet_id = $_POST['subnet_id']; - - // update db - mysql_query("DELETE FROM subnet WHERE subnet_id='$subnet_id'") or die(mysql_error()); - mysql_query("DELETE FROM node WHERE subnet_id='$subnet_id'") or die(mysql_error()); - - // redirect - header_location("asset.php"); - } + // get variables + $subnet_id = $_POST['subnet_id']; + + // check permission + auth("subnet", $config_auth_subnetdel, $subnet_id); + + // update db + mysql_query("DELETE FROM subnet WHERE subnet_id='$subnet_id'") or die(mysql_error()); + mysql_query("DELETE FROM node WHERE subnet_id='$subnet_id'") or die(mysql_error()); + + // redirect + header_location("subnet.php"); + break; + case ("user") : + // get variables + $user_id = $_POST['user_id']; + + // check permission + auth("user", $config_auth_userdel, $user_id); + + // update db + mysql_query("DELETE FROM user WHERE user_id='$user_id'") or die(mysql_error()); + + // redirect + header_location("user.php"); + break; + case ("userclass") : + // get variables + $userclass_id = $_POST['userclass_id']; + + // check permission + auth("userclass", $config_auth_userclassdel, $userclass_id); + + // update db + mysql_query("DELETE FROM userclass WHERE userclass_id='$userclass_id'") or die(mysql_error()); + + // redirect + header_location("userclass.php"); break; case ("vlan") : + // get variables + $vlan_id = $_POST['vlan_id']; + // check permission - if($_SESSION['suser_level'] >= $config_userlevel_vlandel) { - // get variables - $vlan_id = $_POST['vlan_id']; - - // update db - mysql_query("DELETE FROM vlan WHERE vlan_id='$vlan_id'") or die(mysql_error()); - - // redirect - header_location("vlan.php"); - } + auth("vlan", $config_auth_vlandel, $vlan_id); + + // update db + mysql_query("DELETE FROM vlan WHERE vlan_id='$vlan_id'") or die(mysql_error()); + + // redirect + header_location("vlan.php"); break; } } } + // still not redirected, check for error - if(empty($error)) { - $error = "notallowed"; + if(empty($comments)) { + $comments = "notallowed"; } // redirect - header_location("error.php?error=" . $error); + header_location("comments.php?comments=" . $comments); ?> \ No newline at end of file diff --git a/subnet.php b/subnet.php index cd83adb..62815ee 100644 --- a/subnet.php +++ b/subnet.php @@ -1,4 +1,32 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("subnet", $config_auth_subnetview, 0); + + // start output include("header.php"); // set template diff --git a/subnetadd.php b/subnetadd.php index 29602f9..451385d 100644 --- a/subnetadd.php +++ b/subnetadd.php @@ -1,4 +1,32 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("subnet", $config_auth_subnetadd, 0); + + // start output include("header.php"); // set template diff --git a/subnetdel.php b/subnetdel.php index eed6b60..3382da5 100644 --- a/subnetdel.php +++ b/subnetdel.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $subnet_id = $_GET['subnet_id']; + // check authorisation + $auth = auth("subnet", $config_auth_subnetdel, $subnet_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/subnetdel.tpl"); diff --git a/subnetedit.php b/subnetedit.php index 3060e04..0036f2f 100644 --- a/subnetedit.php +++ b/subnetedit.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $subnet_id = $_GET['subnet_id']; + // check authorisation + $auth = auth("subnet", $config_auth_subnetedit, $subnet_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/subnetedit.tpl"); diff --git a/subnetview.php b/subnetview.php index cb55e2b..9f57b55 100644 --- a/subnetview.php +++ b/subnetview.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $subnet_id = $_GET['subnet_id']; + // check authorisation + $auth = auth("subnet", $config_auth_subnetview, $subnet_id); + + // start output + include("header.php"); + // get page if(isset($_GET['page'])) { $page = $_GET['page']; @@ -136,15 +164,15 @@ if(empty($node)) { $tp->set("url", 'assigniptonode.php?subnet_id=' . $subnet_id . '&ip='. $ip); $tp->set("remotetext", $ip); - $tp->set("color", 'grey'); + $tp->set("color", $config_color_unused); } else if ($node[0]=="subnet_address") { $tp->set("url", ""); $tp->set("remotetext", $ip . ' ' . $lang['lang_subnet_subnetaddress']); - $tp->set("color", 'cross'); + $tp->set("color", $config_color_blocked); } else if ($node[0]=="broadcast_address") { $tp->set("url", ""); $tp->set("remotetext", $ip . ' ' . $lang['lang_subnet_broadcastaddress']); - $tp->set("color", 'cross'); + $tp->set("color", $config_color_blocked); } else { $tp->set("url", 'nodeview.php?node_id=' . $node['node_id']); $tp->set("remotetext", $ip . ' ' . $node['asset_name']); @@ -175,8 +203,8 @@ } if (($i>0) ? $tp->parse("location") : $tp->hide("location")); - // get assetclass info - $result = mysql_query("SELECT assetclassgroup_id, assetclassgroup_name, color FROM assetclassgroup ORDER BY assetclassgroup_id") or die(mysql_error()); + // get assetclassgroup info + $result = mysql_query("SELECT assetclassgroup_id, assetclassgroup_name, color FROM assetclassgroup ORDER BY assetclassgroup_name") or die(mysql_error()); for ($i=0;$row=mysql_fetch_object($result);$i++) { $tp->set("assetclassgroup_id", $row->assetclassgroup_id); $tp->set("assetclassgroup_name", $row->assetclassgroup_name); @@ -184,30 +212,7 @@ $tp->parse("assetclassgrouprow"); } if (($i>0) ? $tp->parse("assetclassgroup") : $tp->hide("assetclassgroup")); - - // display options - if($_SESSION['suser_level'] >= $config_userlevel_assignlocationtosubnet) { - $tp->parse("assignlocationtosubnet"); - } else { - $tp->hide("assignlocationtosubnet"); - } - if($_SESSION['suser_level'] >= $config_userlevel_assignvlantosubnet) { - $tp->set("vlan_id", $vlan_id); - $tp->parse("assignvlantosubnet"); - } else { - $tp->hide("assignvlantosubnet"); - } - if($_SESSION['suser_level'] >= $config_userlevel_subnetedit) { - $tp->parse("subnetedit"); - } else { - $tp->hide("subnetedit"); - } - if($_SESSION['suser_level'] >= $config_userlevel_subnetdel) { - $tp->parse("subnetdel"); - } else { - $tp->hide("subnetdel"); - } - + // output $tp->parse(); $tp->spit(); diff --git a/tpl/about.tpl b/tpl/about.tpl new file mode 100644 index 0000000..157d8ec --- /dev/null +++ b/tpl/about.tpl @@ -0,0 +1,73 @@ + + + + +
+ IP Reg {config_version} +
+ +

+ + + + + + + + + + +
+ Sourceforge Project Page: + + http://sourceforge.net/projects/ipreg +
+ License: + + GNU General Public License (GPL) +
+ +

+ + + + + + + + + + +
+ Yapter Template Engine + + http://yapter.sourceforge.net +
+ OWeb2 Images + + http://www.oweb2.com/free-web20-icons-pack +
+ +

+ + + + + +
+ IP Reg, a PHP/MySQL IPAM tool
+ Copyright (C) 2008 Wietse Warendorff

+ + This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.

+ + This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.

+ + You should have received a copy of the GNU General Public License
+ along with this program. If not, see http://www.gnu.org/licenses/. +

\ No newline at end of file diff --git a/tpl/asset.tpl b/tpl/asset.tpl index 1d3d322..573f96b 100644 --- a/tpl/asset.tpl +++ b/tpl/asset.tpl @@ -1,8 +1,24 @@ + + + + + +
+ {lang_assets}: + + +
+ +

+ [BLOCK table AS asset] + [BLOCK assetrow] @@ -10,6 +26,9 @@ + [END assetrow]
+ {lang_asset_name} + - {lang_asset}:
+ {lang_assetclass_name}
{asset_name} + {assetclass_name} +
diff --git a/tpl/assetadd.tpl b/tpl/assetadd.tpl index d1ef669..4eb7904 100644 --- a/tpl/assetadd.tpl +++ b/tpl/assetadd.tpl @@ -1,11 +1,20 @@

- + +
- + +
- {lang_asset_add}:
+
+ {lang_asset_add}: + +
+ +

+ + @@ -44,10 +53,6 @@ - - -
{lang_asset_name}: @@ -30,7 +39,7 @@
- -
+

\ No newline at end of file diff --git a/tpl/assetclass.tpl b/tpl/assetclass.tpl index c282232..9152bd2 100644 --- a/tpl/assetclass.tpl +++ b/tpl/assetclass.tpl @@ -1,10 +1,16 @@ - [BLOCK table AS assetclass] - +
+ +
{lang_assetclass}:
+ +
+ + [BLOCK table AS assetclass] + [BLOCK assetclassrow]
diff --git a/tpl/assetclassadd.tpl b/tpl/assetclassadd.tpl index 31f0f3d..b13fa14 100644 --- a/tpl/assetclassadd.tpl +++ b/tpl/assetclassadd.tpl @@ -1,11 +1,20 @@
- + +
- + +
+ {lang_assetclass_add}:
+ +
+ +

+ + [END table] - - -
{lang_assetclass_name}: @@ -22,16 +31,11 @@
- -

\ No newline at end of file diff --git a/tpl/assetclassdel.tpl b/tpl/assetclassdel.tpl index 22984bd..8bd54ed 100644 --- a/tpl/assetclassdel.tpl +++ b/tpl/assetclassdel.tpl @@ -1,10 +1,14 @@
- + +
+
- {lang_assetclass_del}
+ {lang_assetclass_del}:
+
+
@@ -21,14 +25,4 @@
- -

- - - - - -
- -
\ No newline at end of file diff --git a/tpl/assetclassedit.tpl b/tpl/assetclassedit.tpl index d908ac6..8149c85 100644 --- a/tpl/assetclassedit.tpl +++ b/tpl/assetclassedit.tpl @@ -1,12 +1,21 @@

- + +
- + +
+ {lang_assetclass_edit}:
+ +
+ +

+ + [END table] - - -
{lang_assetclass_name}: @@ -29,10 +38,5 @@
- -

\ No newline at end of file diff --git a/tpl/assetclassgroup.tpl b/tpl/assetclassgroup.tpl new file mode 100644 index 0000000..c8d1d25 --- /dev/null +++ b/tpl/assetclassgroup.tpl @@ -0,0 +1,22 @@ + + + + + +
+ {lang_assetclassgroups}: + + +
+ + [BLOCK table AS assetclassgroup] + + [BLOCK assetclassgrouprow] + + + + [END assetclassgrouprow] +
+ {assetclassgroup_name} +
+ [END table] \ No newline at end of file diff --git a/tpl/assetclassgroupadd.tpl b/tpl/assetclassgroupadd.tpl new file mode 100644 index 0000000..4cad8e4 --- /dev/null +++ b/tpl/assetclassgroupadd.tpl @@ -0,0 +1,35 @@ +
+ + + + + + + +
+ {lang_assetclassgroup_add}:
+
+ +
+ +

+ + + + + + + + + + +
+ {lang_assetclassgroup_name}: + + +
+ {lang_color}: + + +
+

\ No newline at end of file diff --git a/tpl/assetclassgroupdel.tpl b/tpl/assetclassgroupdel.tpl new file mode 100644 index 0000000..ac99895 --- /dev/null +++ b/tpl/assetclassgroupdel.tpl @@ -0,0 +1,28 @@ +
+ + + + + + + + +
+ {lang_assetclassgroup_del}:
+
+ +
+ +

+ + + + + + +
+ {lang_assetclassgroup_name}: + + {assetclassgroup_name} +
+

\ No newline at end of file diff --git a/tpl/assetclassgroupedit.tpl b/tpl/assetclassgroupedit.tpl new file mode 100644 index 0000000..f43e53c --- /dev/null +++ b/tpl/assetclassgroupedit.tpl @@ -0,0 +1,36 @@ +
+ + + + + + + + +
+ {lang_assetclassgroup_edit}:
+
+ +
+ +

+ + + + + + + + + + +
+ {lang_assetclassgroup_name}: + + +
+ {lang_color}: + + +
+

\ No newline at end of file diff --git a/tpl/assetclassgroupview.tpl b/tpl/assetclassgroupview.tpl index 5905985..f1d81de 100644 --- a/tpl/assetclassgroupview.tpl +++ b/tpl/assetclassgroupview.tpl @@ -1,7 +1,22 @@ + + + + + +
+ {lang_assetclassgroup}:
+
+ + + +
+ +

+ [BLOCK table AS assetclass] [END table] -
- Assetclass Groupname: + {lang_assetclassgroup_name}: {assetclassgroup_name} @@ -9,15 +24,15 @@
- Color: + {lang_color}: - +
- Assetclass(es): + {lang_assetclasses}: @@ -27,23 +42,4 @@
- -

- - - [BLOCK assetclassgroupedit] - - - - [END assetclassgroupedit] - [BLOCK assetclassgroupdel] - - - - [END assetclassgroupdel]
-  {lang_assetclassgroup_edit} -
-  {lang_assetclassgroup_del} -
\ No newline at end of file diff --git a/tpl/assetclassview.tpl b/tpl/assetclassview.tpl index 0be2897..62ea029 100644 --- a/tpl/assetclassview.tpl +++ b/tpl/assetclassview.tpl @@ -1,3 +1,18 @@ + + + + + +
+ {lang_assetclass}:
+
+ + + +
+ +

+ [END table] -
@@ -27,23 +42,4 @@
- -

- - - [BLOCK assetclassedit] - - - - [END assetclassedit] - [BLOCK assetclassdel] - - - - [END assetclassdel]
-  {lang_assetclass_edit} -
-  {lang_assetclass_del} -
\ No newline at end of file diff --git a/tpl/assetdel.tpl b/tpl/assetdel.tpl index 04ee402..b334d43 100644 --- a/tpl/assetdel.tpl +++ b/tpl/assetdel.tpl @@ -1,12 +1,21 @@

- + +
+ +
- {lang_asset_del}
+ {lang_asset_del}: +
+
+ +

+ +
{lang_asset_name}: @@ -23,7 +32,7 @@ [BLOCK noderow] @@ -39,13 +48,4 @@
-  {lang_warning_asset_del_nodes} +  {lang_comments_asset_del_nodes}
[END table] -

- - - - - -
- -
\ No newline at end of file diff --git a/tpl/assetedit.tpl b/tpl/assetedit.tpl index f6bf1da..3bb51e7 100644 --- a/tpl/assetedit.tpl +++ b/tpl/assetedit.tpl @@ -1,12 +1,21 @@

- + +
- + +
- {lang_asset_add}:
+
+ {lang_asset_edit}:
+
+
+ +

+ + - - -
{lang_asset_name}: @@ -45,10 +54,6 @@
- -
+

\ No newline at end of file diff --git a/tpl/assetview.tpl b/tpl/assetview.tpl index aeb4464..31023fb 100644 --- a/tpl/assetview.tpl +++ b/tpl/assetview.tpl @@ -1,3 +1,18 @@ + + + + + +
+ {lang_asset}: + + + + +
+ +

+ [END noderow]
@@ -96,23 +111,4 @@
- [END table] - -

- - - [BLOCK assetedit] - - - - [END assetedit] - [BLOCK assetdel] - - - - [END assetdel] -
-  {lang_asset_edit} -
-  {lang_asset_del} -
\ No newline at end of file + [END table] \ No newline at end of file diff --git a/tpl/assigniptoasset.tpl b/tpl/assigniptoasset.tpl index 0af08ba..b880439 100644 --- a/tpl/assigniptoasset.tpl +++ b/tpl/assigniptoasset.tpl @@ -1,11 +1,20 @@

- + +
- + +
+ {lang_assigniptoasset}: + +
+ +

+ + @@ -36,7 +45,7 @@ @@ -80,10 +89,5 @@ - - -
{lang_ip}: @@ -22,7 +31,7 @@
- -

\ No newline at end of file diff --git a/tpl/assigniptonode.tpl b/tpl/assigniptonode.tpl index b0d9b8b..6804da4 100644 --- a/tpl/assigniptonode.tpl +++ b/tpl/assigniptonode.tpl @@ -20,19 +20,10 @@

- [BLOCK assigniptonode] - [END assigniptonode] - [BLOCK nodeadd] - - - - [END nodeadd]
-  {lang_assigniptoasset} + {lang_assigniptoasset} / {lang_node_new}
-  {lang_node_new} -
\ No newline at end of file diff --git a/tpl/comments.tpl b/tpl/comments.tpl new file mode 100644 index 0000000..9bbca44 --- /dev/null +++ b/tpl/comments.tpl @@ -0,0 +1,7 @@ + + + + +
+  {lang_comments}: {comments}
+
\ No newline at end of file diff --git a/tpl/error.tpl b/tpl/error.tpl deleted file mode 100644 index 729ee8e..0000000 --- a/tpl/error.tpl +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
-  {lang_error}: {error}
-
- << {lang_goback} -
\ No newline at end of file diff --git a/tpl/header.tpl b/tpl/header.tpl index 3d822a1..f023603 100644 --- a/tpl/header.tpl +++ b/tpl/header.tpl @@ -1,25 +1,24 @@ - IP Reg + IP Reg {config_version} -

+ diff --git a/tpl/index.tpl b/tpl/index.tpl index 0b700cc..c632776 100644 --- a/tpl/index.tpl +++ b/tpl/index.tpl @@ -1,7 +1,7 @@
{lang_header_viewby}: {lang_asset} - - {lang_assetclass} - {lang_location} - {lang_subnet} - {lang_vlan}  - .:  + .:  - {suser_displayname} - + {lang_about} - {lang_options} - {lang_logout}
- IP Reg
+ IP Reg
diff --git a/tpl/location.tpl b/tpl/location.tpl index f7dc655..8283708 100644 --- a/tpl/location.tpl +++ b/tpl/location.tpl @@ -1,10 +1,18 @@ - [BLOCK table AS location] - +
+ +
{lang_locations}:
+ +
+ +

+ + [BLOCK table AS location] + [BLOCK locationrow] - [BLOCK assetadd] - - - - [END assetadd] - [BLOCK assetclassadd] - - - - [END assetclassadd] - [BLOCK locationadd] + +
diff --git a/tpl/locationadd.tpl b/tpl/locationadd.tpl index 65e7009..3b4e3c9 100644 --- a/tpl/locationadd.tpl +++ b/tpl/locationadd.tpl @@ -1,11 +1,20 @@ - + +
- + +
+ {lang_location_add}:
+ +
+ +

+ + - [END table] + [END table] - +
{lang_location_name}: @@ -23,16 +32,20 @@
- + + {lang_location_info}: + +
+ \ No newline at end of file diff --git a/tpl/locationdel.tpl b/tpl/locationdel.tpl index 690a481..3b63280 100644 --- a/tpl/locationdel.tpl +++ b/tpl/locationdel.tpl @@ -1,18 +1,14 @@

- - - - + +
- {lang_location_del}
-
-
- {lang_location_name}: + {lang_location_del}:
- {location_name} + +
@@ -21,9 +17,13 @@ - +
- + + {lang_location_name}: + + {location_name}
+
\ No newline at end of file diff --git a/tpl/locationedit.tpl b/tpl/locationedit.tpl index a4dccf8..5eef1c8 100644 --- a/tpl/locationedit.tpl +++ b/tpl/locationedit.tpl @@ -1,12 +1,21 @@
- + +
- + +
+ {lang_location_edit}:
+ +
+ +

+ + - - -
{lang_location_name}: @@ -38,10 +47,6 @@
- -
+

\ No newline at end of file diff --git a/tpl/locationview.tpl b/tpl/locationview.tpl index 3b40303..6982260 100644 --- a/tpl/locationview.tpl +++ b/tpl/locationview.tpl @@ -1,3 +1,18 @@ + + + + + +
+ {lang_location}:
+
+ + + +
+ +

+ -
@@ -44,30 +59,4 @@ [END table]
- -

- - - [BLOCK assignlocationtosubnet] - - - - [END assignlocationtosubnet] - [BLOCK locationedit] - - - - [END locationedit] - [BLOCK locationdel] - - - - [END locationdel]
-  {lang_assignlocationtosubnet} -
-  {lang_location_edit} -
-  {lang_location_del} -
\ No newline at end of file diff --git a/tpl/login.tpl b/tpl/login.tpl new file mode 100644 index 0000000..8e8b81b --- /dev/null +++ b/tpl/login.tpl @@ -0,0 +1,43 @@ + + + + IP Reg + + + + + +

+ +


+ +
+ + + + + + + + + + + + + + + +
+ IP Reg +
+ Username: + + +
+ Password: + + +
+ +
+
\ No newline at end of file diff --git a/tpl/nodeadd.tpl b/tpl/nodeadd.tpl index 629a79e..907c3b4 100644 --- a/tpl/nodeadd.tpl +++ b/tpl/nodeadd.tpl @@ -1,11 +1,20 @@
- + +
- + +
+ {lang_node_add}:
+ +
+ +

+ + - - -
{lang_asset_name}: @@ -82,10 +91,6 @@  {config_dns2suffix}
- -
+

\ No newline at end of file diff --git a/tpl/nodedel.tpl b/tpl/nodedel.tpl index 64122eb..eab32ce 100644 --- a/tpl/nodedel.tpl +++ b/tpl/nodedel.tpl @@ -2,29 +2,29 @@ - + +
- - - -
- {lang_node_del}
+ {lang_node_del}:
- {lang_ip}: - - {ip} + +

- + +
- + {lang_ip}: + + {ip}
+ \ No newline at end of file diff --git a/tpl/nodeedit.tpl b/tpl/nodeedit.tpl index 06022df..d5fc3d8 100644 --- a/tpl/nodeedit.tpl +++ b/tpl/nodeedit.tpl @@ -1,26 +1,41 @@

- + +
- + +
+ {lang_node_edit}:
+ +
+ +

+ + + [BLOCK table AS asset] + [END table] [BLOCK table AS subnet] @@ -31,7 +46,7 @@ @@ -69,10 +84,6 @@ - - -
- {lang_asset_name}: + {lang_asset}: - {asset_name}: +
{lang_ip} - {ip} +
- -
+

\ No newline at end of file diff --git a/tpl/nodeview.tpl b/tpl/nodeview.tpl index a51f81b..6038a9d 100644 --- a/tpl/nodeview.tpl +++ b/tpl/nodeview.tpl @@ -1,3 +1,17 @@ + + + + + +
+ {lang_node}:
+
+ + +
+ +

+ -
@@ -65,23 +79,4 @@ {node_info}
- -

- - - [BLOCK nodeedit] - - - - [END nodeedit] - [BLOCK nodedel] - - - - [END nodedel]
-  {lang_node_edit} -
-  {lang_node_del} -
\ No newline at end of file diff --git a/tpl/options.tpl b/tpl/options.tpl index ac62edb..599650e 100644 --- a/tpl/options.tpl +++ b/tpl/options.tpl @@ -4,81 +4,52 @@ {lang_options_ipreg}

-  {lang_asset_add} -
-  {lang_assetclass_add} -
+ + + + - [END locationadd] - [BLOCK nodeadd] - [END nodeadd] - [BLOCK subnetadd] - [END subnetadd] - [BLOCK useradd] - [END useradd] - [BLOCK vlanadd] - - [END vlanadd] -
-  {lang_location_add} + {lang_assetclasses}
-  {lang_node_add} + {lang_assetclassgroups}
-  {lang_subnet_add} + {lang_assigniptoasset}
-  {lang_user_add} + {lang_assignlocationtosubnet}
-  {lang_vlan_add} + {lang_assignvlantosubnet}
- -

- - - [BLOCK assigniptoasset] + - [END assigniptoasset] - [BLOCK assignlocationtosubnet] - [END assignlocationtosubnet] - [BLOCK assignvlantosubnet] - [END assignvlantosubnet]
-  {lang_assigniptoasset} + {lang_userclassauth}
-  {lang_assignlocationtosubnet} + {lang_users}
-  {lang_assignvlantosubnet} + {lang_userclasses}

@@ -86,17 +57,14 @@ - - - -
- {lang_options_personal} + Personal options
-  {lang_options_settings_edit} + {lang_options_password_edit}
-  {lang_options_password_edit} -
\ No newline at end of file +

+ +

\ No newline at end of file diff --git a/tpl/search.tpl b/tpl/search.tpl index 91cc261..c510aa9 100644 --- a/tpl/search.tpl +++ b/tpl/search.tpl @@ -2,12 +2,24 @@
-  {lang_warning_search_nosearch} +  {lang_comments_search_nosearch}
[END nosearch] + [BLOCK resultcount] + + + + +
+ {lang_search_results_found}: {resultcounter} +
+ [END resultcount] + +

+ [BLOCK table AS asset] @@ -28,14 +40,4 @@ [REUSE table AS location] [REUSE table AS node] [REUSE table AS subnet] - [REUSE table AS vlan] - - [BLOCK resultcount] -
- - - -
- {lang_search_results_found}: {resultcounter} -
- [END resultcount] \ No newline at end of file + [REUSE table AS vlan] \ No newline at end of file diff --git a/tpl/subnet.tpl b/tpl/subnet.tpl index e7c1346..371a5cc 100644 --- a/tpl/subnet.tpl +++ b/tpl/subnet.tpl @@ -1,10 +1,18 @@ - [BLOCK table AS subnet] - +
+ +
{lang_subnet}:
+ +
+ +

+ + [BLOCK table AS subnet] + [BLOCK subnetrow]
diff --git a/tpl/subnetadd.tpl b/tpl/subnetadd.tpl index f8d7020..1f891f5 100644 --- a/tpl/subnetadd.tpl +++ b/tpl/subnetadd.tpl @@ -1,14 +1,23 @@
- + +
- + +
+ {lang_subnet_add}:
+ +
+ +

+ + - - -
- {lang_subnet_address}: + {lang_subnet_subnetaddress}: @@ -22,10 +31,5 @@  (8-30)
- -

\ No newline at end of file diff --git a/tpl/subnetdel.tpl b/tpl/subnetdel.tpl index 4b2881b..293ebc1 100644 --- a/tpl/subnetdel.tpl +++ b/tpl/subnetdel.tpl @@ -4,7 +4,7 @@ @@ -23,7 +23,7 @@
- {lang_subnet_del}
+ {lang_subnet_del}
[BLOCK noderow] @@ -38,14 +38,5 @@ [END noderow]
-  {lang_warning_asset_del_nodes} +  {lang_comments_asset_del_nodes}
[END table] - -

- - - - -
- -
\ No newline at end of file diff --git a/tpl/subnetedit.tpl b/tpl/subnetedit.tpl index 894a7ec..0428238 100644 --- a/tpl/subnetedit.tpl +++ b/tpl/subnetedit.tpl @@ -1,12 +1,21 @@

- + +
- + +
+ {lang_subnet_edit}:
+ +
+ +

+ + - - -
{lang_subnet_subnetaddress}: @@ -46,10 +55,5 @@
- -

\ No newline at end of file diff --git a/tpl/subnetview.tpl b/tpl/subnetview.tpl index 8323081..39a3db1 100644 --- a/tpl/subnetview.tpl +++ b/tpl/subnetview.tpl @@ -11,13 +11,28 @@ } + + + + + +
+ {lang_subnet}: + + + +
+ +

+ +
- {lang_subnet}: {subnet_address}/{subnet_mask} + {lang_subnet_subnetaddress}: {subnet_address}/{subnet_mask} {pagination} @@ -32,7 +47,7 @@ [BLOCK iprow] - {tr} + {tr} [END iprow]
@@ -96,15 +111,10 @@
[BLOCK table AS assetclassgroup] - - - [BLOCK assetclassgrouprow] [END assetclassgrouprow] @@ -112,42 +122,4 @@ [END table] -
-  {lang_unassigned} -
-  {assetclassgroup_name} +  {assetclassgroup_name}
- -

- - - [BLOCK assignlocationtosubnet] - - - - [END assignlocationtosubnet] - [BLOCK assignvlantosubnet] - - - - [END assignvlantosubnet] - [BLOCK subnetedit] - - - - [END subnetedit] - [BLOCK subnetdel] - - - - [END subnetdel] - - -
-  {lang_assignlocationtosubnet} -
-  {lang_assignvlantosubnet} -
-  {lang_subnet_edit} -
-  {lang_subnet_del} -
-  View assigned IP addresses in subnet -
\ No newline at end of file diff --git a/tpl/user.tpl b/tpl/user.tpl new file mode 100644 index 0000000..f2d7663 --- /dev/null +++ b/tpl/user.tpl @@ -0,0 +1,22 @@ + + + + + +
+ {lang_user}:
+
+ +
+ + [BLOCK table AS user] + + [BLOCK userrow] + + + + [END userrow] +
+ {user_displayname} +
+ [END table] \ No newline at end of file diff --git a/tpl/useradd.tpl b/tpl/useradd.tpl index 5297243..29cc2ac 100644 --- a/tpl/useradd.tpl +++ b/tpl/useradd.tpl @@ -1,11 +1,20 @@

- + +
- + +
- {lang_user_add}:
+
+ {lang_user_add}: + +
+ +

+ + - - -
{lang_user_name}: @@ -32,10 +41,5 @@
- -

\ No newline at end of file diff --git a/tpl/userclass.tpl b/tpl/userclass.tpl new file mode 100644 index 0000000..c5c2530 --- /dev/null +++ b/tpl/userclass.tpl @@ -0,0 +1,22 @@ + + + + + +
+ {lang_userclass}: + + +
+ + [BLOCK table AS userclass] + + [BLOCK userclassrow] + + + + [END userclassrow] +
+ {userclass_name} +
+ [END table] \ No newline at end of file diff --git a/tpl/userclassadd.tpl b/tpl/userclassadd.tpl new file mode 100644 index 0000000..9490889 --- /dev/null +++ b/tpl/userclassadd.tpl @@ -0,0 +1,27 @@ +
+ + + + + + + +
+ {lang_userclass_add}:
+
+ +
+ +

+ + + + + + +
+ {lang_userclass_name}: + + +
+

\ No newline at end of file diff --git a/tpl/userclassauth.tpl b/tpl/userclassauth.tpl new file mode 100644 index 0000000..3297b66 --- /dev/null +++ b/tpl/userclassauth.tpl @@ -0,0 +1,53 @@ + + + + + +
+ {lang_userclassauth}: + + +
+ +

+ + [BLOCK table AS uca] + + + + + + + + + [BLOCK ucarow] + + + + + + + + [END ucarow] +
+ # + + {lang_userclass}: + + {lang_item}: + + {lang_subitem}: + + {lang_userclassauth}: +
+ {count} + + {userclass_name} + + {item_name} + + {subitem_name} + + {auth} +
+ [END table] \ No newline at end of file diff --git a/tpl/userclassauthadd.tpl b/tpl/userclassauthadd.tpl new file mode 100644 index 0000000..3cea0af --- /dev/null +++ b/tpl/userclassauthadd.tpl @@ -0,0 +1,33 @@ +

+ + + + + + +
+ {lang_userclassauth_add}: + + +
+ +

+ + + [BLOCK table AS userclass] + + + + + [END table] +
+ {lang_userclass_name}: + + +
+ +

\ No newline at end of file diff --git a/tpl/userclassauthadditem.tpl b/tpl/userclassauthadditem.tpl new file mode 100644 index 0000000..3f80573 --- /dev/null +++ b/tpl/userclassauthadditem.tpl @@ -0,0 +1,42 @@ +
+ + + + + + + +
+ {lang_userclassauth_add}: + + +
+ +

+ + + + + + + [BLOCK table AS item] + + + + + [END table] +
+ {lang_userclass_name}: + + {userclass_name} +
+ {lang_item}: + + +
+ +

\ No newline at end of file diff --git a/tpl/userclassauthaddsubitem.tpl b/tpl/userclassauthaddsubitem.tpl new file mode 100644 index 0000000..f0b3aac --- /dev/null +++ b/tpl/userclassauthaddsubitem.tpl @@ -0,0 +1,63 @@ +
+ + + + + + + + + +
+ {lang_userclassauth_add}: + + +
+ +

+ + + + + + + [BLOCK table AS item] + + + + + [END table] + [BLOCK table AS items] + + + + + [END table] + + + + +
+ {lang_userclass_name}: + + {userclass_name} +
+ {lang_item}: + + {authitem_name} +
+ {lang_subitem}: + + +
+ {lang_userclassauth}: + + +
+ +

\ No newline at end of file diff --git a/tpl/userclassdel.tpl b/tpl/userclassdel.tpl new file mode 100644 index 0000000..3d42a1c --- /dev/null +++ b/tpl/userclassdel.tpl @@ -0,0 +1,28 @@ +
+ + + + + + + + +
+ {lang_userclass_del}:
+
+ +
+ +

+ + + + + + +
+ {lang_userclass_name}: + + {userclass_name} +
+

\ No newline at end of file diff --git a/tpl/userclassedit.tpl b/tpl/userclassedit.tpl new file mode 100644 index 0000000..f6e8867 --- /dev/null +++ b/tpl/userclassedit.tpl @@ -0,0 +1,48 @@ +
+ + + + + + + + +
+ {lang_userclass_edit}:
+
+ +
+ +

+ + + + + + +
+ {lang_userclass_name}: + + +
+ +

+ + + [BLOCK table AS user] + + + + [BLOCK userrow] + + + + [END userrow] + [END table] +
+ {lang_users}: +
+ {user_displayname} +
+ +

\ No newline at end of file diff --git a/tpl/userclassview.tpl b/tpl/userclassview.tpl new file mode 100644 index 0000000..5376289 --- /dev/null +++ b/tpl/userclassview.tpl @@ -0,0 +1,36 @@ + + + + + +
+ {lang_userclass}: + + + +
+ +

+ + + + + + + [BLOCK table AS user] + + + + + [END table] +
+ {lang_userclass_name}: + + {userclass_name} +
+ {lang_users}: + + [BLOCK userrow] + {user_displayname}
+ [END userrow] +
\ No newline at end of file diff --git a/tpl/userdel.tpl b/tpl/userdel.tpl new file mode 100644 index 0000000..349e3f1 --- /dev/null +++ b/tpl/userdel.tpl @@ -0,0 +1,28 @@ +

+ + + + + + + + +
+ {lang_user_del}:
+
+ +
+ +

+ + + + + + +
+ {lang_user_name}: + + {user_name} +
+

\ No newline at end of file diff --git a/tpl/useredit.tpl b/tpl/useredit.tpl index 049399e..732e6a1 100644 --- a/tpl/useredit.tpl +++ b/tpl/useredit.tpl @@ -1,9 +1,27 @@
+ + + + + + + +
+ {lang_user_edit}:
+
+ +
+ +

+ - + @@ -19,12 +37,7 @@ {lang_mac}: @@ -32,15 +45,28 @@ {lang_language}: + +
- {lang_options_settings_edit}:
+
+ {lang_user_name}: + +
- +
- + +
+ +

+ + + [BLOCK table AS userclass] + + + [BLOCK userclassrow] - + [END userclassrow] + [END table]
+ {lang_userclasses}:
- + + {userclass_name}
+

\ No newline at end of file diff --git a/tpl/userview.tpl b/tpl/userview.tpl new file mode 100644 index 0000000..614a4b8 --- /dev/null +++ b/tpl/userview.tpl @@ -0,0 +1,60 @@ + + + + + +
+ {lang_user}: + + + +
+ +

+ + + + + + + + + + + + + + + + + + + [BLOCK table AS userclass] + + + + + [END table] +
+ {lang_user_name}: + + {user_name} +
+ {lang_user_displayname}: + + {user_displayname} +
+ {lang_mac}: + + {user_mac} +
+ {lang_language}: + + {user_lang} +
+ {lang_userclasses}: + + [BLOCK userclassrow] + {userclass_name}
+ [END userclassrow] +
\ No newline at end of file diff --git a/tpl/vlan.tpl b/tpl/vlan.tpl index 3c33a34..fcbb4bb 100644 --- a/tpl/vlan.tpl +++ b/tpl/vlan.tpl @@ -1,10 +1,16 @@ - [BLOCK table AS vlan] - +
+ +
- {lang_vlan}:
+ {lang_vlan}: +
+
+ + [BLOCK table AS vlan] + [BLOCK vlanrow]
diff --git a/tpl/vlanadd.tpl b/tpl/vlanadd.tpl index 192a628..d094a0e 100644 --- a/tpl/vlanadd.tpl +++ b/tpl/vlanadd.tpl @@ -1,11 +1,20 @@
- + +
- + +
- {lang_vlan_add}:
+
+ {lang_vlan_add}: + +
+ +

+ + - - -
{lang_vlan_name}: @@ -22,10 +31,6 @@
- -
+

\ No newline at end of file diff --git a/tpl/vlandel.tpl b/tpl/vlandel.tpl index 4d05877..fb1b625 100644 --- a/tpl/vlandel.tpl +++ b/tpl/vlandel.tpl @@ -1,18 +1,14 @@
- - - - + +
- {lang_vlan_del}
-
-
- {lang_vlan_name}: + {lang_vlan_del}: - {vlan_name} ({vlan_number}) + +
@@ -21,9 +17,13 @@ - +
- + + {lang_vlan_name}: + + {vlan_name} ({vlan_number})
+
\ No newline at end of file diff --git a/tpl/vlanedit.tpl b/tpl/vlanedit.tpl index e78b073..ad644b2 100644 --- a/tpl/vlanedit.tpl +++ b/tpl/vlanedit.tpl @@ -1,12 +1,21 @@
- + +
- + +
+ {lang_vlan_edit}:
+ +
+ +

+ + - - -
{lang_vlan_name}: @@ -31,10 +40,5 @@
- -

\ No newline at end of file diff --git a/tpl/vlanview.tpl b/tpl/vlanview.tpl index 9e203a2..07b110a 100644 --- a/tpl/vlanview.tpl +++ b/tpl/vlanview.tpl @@ -1,26 +1,32 @@ - +
- +
- {lang_vlan_name}: + {lang_vlan}: - {vlan_name} + + +
+ +

+ + @@ -35,30 +41,12 @@ [END table] -
- {lang_vlan_number}: + {lang_vlan_name}: - {vlan_number} + {vlan_name}
- {lang_vlan_info}: + {lang_vlan_number}: - {vlan_info} + {vlan_number}
- -

- - - [BLOCK assignvlantosubnet] - - [END assignvlantosubnet] - [BLOCK vlanedit] - - - - [END vlanedit] - [BLOCK vlandel] - - - [END vlandel] +
-  {lang_assignvlantosubnet} -
-  {lang_vlan_edit} + {lang_vlan_info}:
-  {lang_vlan_del} + {vlan_info}
\ No newline at end of file diff --git a/user.php b/user.php new file mode 100644 index 0000000..1574262 --- /dev/null +++ b/user.php @@ -0,0 +1,52 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("user", $config_auth_userview, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/user.tpl"); + + // set language variables + $tp->setvars($lang); + + // get user info + $result = mysql_query("SELECT user_id, user_displayname FROM user ORDER BY user_displayname") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("user_id", $row->user_id); + $tp->set("user_displayname", $row->user_displayname); + $tp->parse("userrow"); + } + if (($i>0) ? $tp->parse("user") : $tp->hide("user")); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/useradd.php b/useradd.php index b542f70..95713c1 100644 --- a/useradd.php +++ b/useradd.php @@ -1,4 +1,32 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("user", $config_auth_useradd, 0); + + // start output include("header.php"); // set template diff --git a/userclass.php b/userclass.php new file mode 100644 index 0000000..f2c5b37 --- /dev/null +++ b/userclass.php @@ -0,0 +1,52 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("userclass", $config_auth_userclassview, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclass.tpl"); + + // set language variables + $tp->setvars($lang); + + // get userclass info + $result = mysql_query("SELECT userclass_id, userclass_name FROM userclass ORDER BY userclass_name") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("userclass_id", $row->userclass_id); + $tp->set("userclass_name", $row->userclass_name); + $tp->parse("userclassrow"); + } + if (($i>0) ? $tp->parse("userclass") : $tp->hide("userclass")); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userclassadd.php b/userclassadd.php new file mode 100644 index 0000000..d35a3c9 --- /dev/null +++ b/userclassadd.php @@ -0,0 +1,43 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("userclass", $config_auth_userclassadd, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclassadd.tpl"); + + // set language variables + $tp->setvars($lang); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userclassauth.php b/userclassauth.php new file mode 100644 index 0000000..e0edadd --- /dev/null +++ b/userclassauth.php @@ -0,0 +1,70 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("userclassauth", $config_auth_userclassauthview, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclassauth.tpl"); + + // set language variables + $tp->setvars($lang); + + // get userclassauth info + $result = mysql_query("SELECT uc.userclass_id, uc.userclass_name, uca.userclassauth_id, uca.item, uca.id, uca.auth FROM userclass uc, userclassauth uca WHERE uc.userclass_id=uca.userclass_id ORDER BY uc.userclass_name, item, id, auth") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("count", $i+1); + $tp->set("userclass_id", $row->userclass_id); + $tp->set("userclass_name", $row->userclass_name); + $tp->set("item_name", $authitems[$row->item]['name']); + $tp->set("auth", $row->auth); + + // check for set id + if($row->id>0) { + // id set + $item = $row->item; + $txt_item_id = $authitems[$row->item]['item_id']; + $txt_item_name = $authitems[$row->item]['item_name']; + $subresult = mysql_query("SELECT $txt_item_id AS item_id, $txt_item_name AS item_name FROM $item") or die(mysql_error()); + $subrow=mysql_fetch_object($subresult); + $tp->set("subitem_name", $subrow->item_name); + } else { + // no id, so make output empty + $tp->set("subitem_name", ""); + } + + $tp->parse("ucarow"); + } + if (($i>0) ? $tp->parse("uca") : $tp->hide("uca")); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userclassauthadd.php b/userclassauthadd.php new file mode 100644 index 0000000..abfb1d7 --- /dev/null +++ b/userclassauthadd.php @@ -0,0 +1,52 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("userclassauthadd", $config_auth_userclassauthadd, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclassauthadd.tpl"); + + // set language variables + $tp->setvars($lang); + + // get userclass info + $result = mysql_query("SELECT userclass_id, userclass_name FROM userclass ORDER BY userclass_name") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("userclass_id", $row->userclass_id); + $tp->set("userclass_name", $row->userclass_name); + $tp->parse("userclassrow"); + } + if (($i>0) ? $tp->parse("userclass") : $tp->hide("userclass")); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userclassauthadditem.php b/userclassauthadditem.php new file mode 100644 index 0000000..cb38883 --- /dev/null +++ b/userclassauthadditem.php @@ -0,0 +1,60 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get vars + $userclass_id = $_POST['userclass_id']; + + // check authorisation + $auth = auth("userclassauthadd", $config_auth_userclassauthadd, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclassauthadditem.tpl"); + + // set language variables + $tp->setvars($lang); + + // get userclass info + $result = mysql_query("SELECT userclass_name FROM userclass WHERE userclass_id='$userclass_id'") or die(mysql_error()); + $row = mysql_fetch_object($result); + $tp->set("userclass_id", $userclass_id); + $tp->set("userclass_name", $row->userclass_name); + + // loop authitem array to display items + foreach($authitems AS $authitem => $authitem_name) { + $tp->set("authitem", $authitem); + $tp->set("authitem_name", $authitem_name['name']); + $tp->parse("itemrow"); + } + $tp->parse("item"); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userclassauthaddsubitem.php b/userclassauthaddsubitem.php new file mode 100644 index 0000000..4c750fd --- /dev/null +++ b/userclassauthaddsubitem.php @@ -0,0 +1,70 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get vars + $userclass_id = $_POST['userclass_id']; + $item = $_POST['item']; + + // check authorisation + $auth = auth("userclassauthadd", $config_auth_userclassauthadd, 0); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclassauthaddsubitem.tpl"); + + // set language variables + $tp->setvars($lang); + + // get userclass info + $result = mysql_query("SELECT userclass_name FROM userclass WHERE userclass_id='$userclass_id'") or die(mysql_error()); + $row = mysql_fetch_object($result); + $tp->set("userclass_id", $userclass_id); + $tp->set("userclass_name", $row->userclass_name); + $tp->set("authitem", $item); + $tp->set("authitem_name", $authitems[$item]['name']); + + // get subitem info + if($item=="ipreg") { + $tp->hide("items"); + } else { + $txt_item_id = $authitems[$item]['item_id']; + $txt_item_name = $authitems[$item]['item_name']; + $result = mysql_query("SELECT $txt_item_id AS item_id, $txt_item_name AS item_name FROM $item ORDER BY $txt_item_name") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("item_id", $row->item_id); + $tp->set("item_name", $row->item_name); + $tp->parse("itemrow"); + } + if (($i>0) ? $tp->parse("items") : $tp->hide("items")); + } + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userclassdel.php b/userclassdel.php new file mode 100644 index 0000000..70e7333 --- /dev/null +++ b/userclassdel.php @@ -0,0 +1,52 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + $userclass_id = $_GET['userclass_id']; + + // check authorisation + $auth = auth("userclass", $config_auth_userclassdel, $userclass_id); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclassdel.tpl"); + + // set language variables + $tp->setvars($lang); + + // get assetclass info + $result = mysql_query("SELECT userclass_id, userclass_name FROM userclass WHERE userclass_id='$userclass_id'") or die(mysql_error()); + $row=mysql_fetch_object($result); + $tp->set("userclass_id", $row->userclass_id); + $tp->set("userclass_name", $row->userclass_name); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userclassedit.php b/userclassedit.php new file mode 100644 index 0000000..b365557 --- /dev/null +++ b/userclassedit.php @@ -0,0 +1,62 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get user_id + $userclass_id = $_GET['userclass_id']; + + // check authorisation + $auth = auth("userclass", $config_auth_userclass, $userclass_id); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclassedit.tpl"); + + // set language variables + $tp->setvars($lang); + + // get userclass info + $result = mysql_query("SELECT userclass_name FROM userclass WHERE userclass_id='$userclass_id'") or die(mysql_error()); + $row = mysql_fetch_object($result); + $tp->set("userclass_id", $userclass_id); + $tp->set("userclass_name", $row->userclass_name); + + // get user info + $result = mysql_query("SELECT u.user_id, u.user_displayname, (SELECT uuc.user_id FROM useruserclass uuc WHERE uuc.userclass_id='$userclass_id' AND uuc.user_id=u.user_id) AS member FROM user u ORDER BY u.user_name") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("user_id", $row->user_id); + $tp->set("user_displayname", $row->user_displayname); + if((is_null($row->member)) ? $tp->set("checked", "") : $tp->set("checked", "checked")); + $tp->parse("userrow"); + } + if (($i>0) ? $tp->parse("user") : $tp->hide("user")); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userclassview.php b/userclassview.php new file mode 100644 index 0000000..78a078c --- /dev/null +++ b/userclassview.php @@ -0,0 +1,61 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + $userclass_id = $_GET['userclass_id']; + + // check authorisation + $auth = auth("userclass", $config_auth_userclassview, $userclass_id); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userclassview.tpl"); + + // set language variables + $tp->setvars($lang); + + // get userclass info + $result = mysql_query("SELECT userclass_name FROM userclass WHERE userclass_id='$userclass_id'") or die(mysql_error()); + $row=mysql_fetch_object($result); + $tp->set("userclass_id", $userclass_id); + $tp->set("userclass_name", $row->userclass_name); + + // get user info + $result = mysql_query("SELECT u.user_id, u.user_displayname FROM user u, useruserclass uuc WHERE uuc.userclass_id='$userclass_id' AND u.user_id=uuc.user_id ORDER BY u.user_displayname") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("user_id", $row->user_id); + $tp->set("user_displayname", $row->user_displayname); + $tp->parse("userrow"); + } + if (($i>0) ? $tp->parse("user") : $tp->hide("user")); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/userdel.php b/userdel.php new file mode 100644 index 0000000..177f23a --- /dev/null +++ b/userdel.php @@ -0,0 +1,52 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + $user_id = $_GET['user_id']; + + // check authorisation + $auth = auth("user", $config_auth_userdel, $user_id); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userdel.tpl"); + + // set language variables + $tp->setvars($lang); + + // get assetclass info + $result = mysql_query("SELECT user_id, user_name FROM user WHERE user_id='$user_id'") or die(mysql_error()); + $row=mysql_fetch_object($result); + $tp->set("user_id", $row->user_id); + $tp->set("user_name", $row->user_name); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/useredit.php b/useredit.php index 7516182..b7f7806 100644 --- a/useredit.php +++ b/useredit.php @@ -1,8 +1,36 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get user_id - $suser_id = $_SESSION['suser_id']; + $user_id = $_GET['user_id']; + + // check authorisation + $auth = auth("user", $config_auth_useredit, $user_id); + + // start output + include("header.php"); // set template $tp = new Template("tpl/useredit.tpl"); @@ -10,10 +38,24 @@ // set language variables $tp->setvars($lang); - // get user information - $tp->set("user_displayname", $_SESSION['suser_displayname']); - $tp->set("user_mac", $_SESSION['suser_mac']); - $tp->set("user_lang", $_SESSION['suser_lang']); + // get user info + $result = mysql_query("SELECT user_name, user_displayname, user_mac, user_lang FROM user WHERE user_id='$user_id'") or die(mysql_error()); + $row = mysql_fetch_object($result); + $tp->set("user_id", $user_id); + $tp->set("user_name", $row->user_name); + $tp->set("user_displayname", $row->user_displayname); + $tp->set("user_mac", $row->user_mac); + $tp->set("user_lang", $row->user_lang); + + // get userclass info + $result = mysql_query("SELECT uc.userclass_id, uc.userclass_name, (SELECT uuc.userclass_id FROM useruserclass uuc WHERE uuc.user_id='$user_id' AND uuc.userclass_id=uc.userclass_id) AS member FROM userclass uc") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("userclass_id", $row->userclass_id); + $tp->set("userclass_name", $row->userclass_name); + if((is_null($row->member)) ? $tp->set("checked", "") : $tp->set("checked", "checked")); + $tp->parse("userclassrow"); + } + if (($i>0) ? $tp->parse("userclass") : $tp->hide("userclass")); // output $tp->parse(); diff --git a/userpassedit.php b/userpassedit.php index 957c873..487e822 100644 --- a/userpassedit.php +++ b/userpassedit.php @@ -1,4 +1,29 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // start output include("header.php"); // set template diff --git a/userview.php b/userview.php new file mode 100644 index 0000000..77fd349 --- /dev/null +++ b/userview.php @@ -0,0 +1,65 @@ +. + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // get id + $user_id = $_GET['user_id']; + + // check authorisation + $auth = auth("user", $config_auth_userview, $user_id); + + // start output + include("header.php"); + + // set template + $tp = new Template("tpl/userview.tpl"); + + // set language variables + $tp->setvars($lang); + + // get user info + $result = mysql_query("SELECT user_name, user_displayname, user_mac, user_lang FROM user WHERE user_id='$user_id'") or die(mysql_error()); + $row=mysql_fetch_object($result); + $tp->set("user_id", $user_id); + $tp->set("user_name", $row->user_name); + $tp->set("user_displayname", $row->user_displayname); + $tp->set("user_mac", $row->user_mac); + $tp->set("user_lang", $row->user_lang); + + // get userclass info + $result = mysql_query("SELECT uc.userclass_id, uc.userclass_name FROM userclass uc, useruserclass uuc WHERE uuc.user_id='$user_id' AND uuc.userclass_id=uc.userclass_id ORDER BY uc.userclass_name") or die(mysql_error()); + for ($i=0;$row=mysql_fetch_object($result);$i++) { + $tp->set("userclass_id", $row->userclass_id); + $tp->set("userclass_name", $row->userclass_name); + $tp->set("userclasscount", $i+1); + $tp->parse("userclassrow"); + } + if (($i>0) ? $tp->parse("userclass") : $tp->hide("userclass")); + + // output + $tp->parse(); + $tp->spit(); + + include("footer.php"); +?> \ No newline at end of file diff --git a/vlan.php b/vlan.php index a0727cb..311a335 100644 --- a/vlan.php +++ b/vlan.php @@ -1,4 +1,32 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("vlan", $config_auth_vlanview, 0); + + // start output include("header.php"); // set template diff --git a/vlanadd.php b/vlanadd.php index a7d9d2b..68cfda9 100644 --- a/vlanadd.php +++ b/vlanadd.php @@ -1,4 +1,32 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); + + // check authorisation + $auth = auth("vlan", $config_auth_vlanadd, 0); + + // start output include("header.php"); // set template diff --git a/vlandel.php b/vlandel.php index c5476ad..c740a71 100644 --- a/vlandel.php +++ b/vlandel.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $vlan_id = $_GET['vlan_id']; + // check authorisation + $auth = auth("vlan", $config_auth_vlandel, $vlan_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/vlandel.tpl"); diff --git a/vlanedit.php b/vlanedit.php index e203fa2..ed6c8f5 100644 --- a/vlanedit.php +++ b/vlanedit.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $vlan_id = $_GET['vlan_id']; + // check authorisation + $auth = auth("vlan", $config_auth_vlanedit, $vlan_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/vlanedit.tpl"); diff --git a/vlanview.php b/vlanview.php index f65dc13..70b3898 100644 --- a/vlanview.php +++ b/vlanview.php @@ -1,9 +1,37 @@ . + + For more information, visit http://sourceforge.net/projects/ipreg, + or contact me at wietsew@users.sourceforge.net + *****************************************************************************/ + + // includes + include("includes.php"); // get id $vlan_id = $_GET['vlan_id']; + // check authorisation + $auth = auth("vlan", $config_auth_vlanview, $vlan_id); + + // start output + include("header.php"); + // set template $tp = new Template("tpl/vlanview.tpl"); @@ -27,27 +55,7 @@ $tp->parse("subnetrow"); } if (($i>0) ? $tp->parse("subnet") : $tp->hide("subnet")); - - // display options - if($_SESSION['suser_level'] >= $config_userlevel_assignvlantosubnet) { - $tp->set("vlan_id", $vlan_id); - $tp->parse("assignvlantosubnet"); - } else { - $tp->hide("assignvlantosubnet"); - } - if($_SESSION['suser_level'] >= $config_userlevel_vlanedit) { - $tp->set("vlan_id", $vlan_id); - $tp->parse("vlanedit"); - } else { - $tp->hide("vlanedit"); - } - if($_SESSION['suser_level'] >= $config_userlevel_vlandel) { - $tp->set("vlan_id", $vlan_id); - $tp->parse("vlandel"); - } else { - $tp->hide("vlandel"); - } - + // output $tp->parse(); $tp->spit();