Moved towards smarty templates, support php7, switched to mysqli,

finalized language support and fixed some more bugs
master
Thomas Hooge 2 years ago
parent 76ccecca7f
commit ee582988e6
  1. 10
      about.php
  2. 57
      asset.php
  3. 28
      assetadd.php
  4. 34
      assetclass.php
  5. 39
      assetclassadd.php
  6. 12
      assetclassdel.php
  7. 43
      assetclassedit.php
  8. 40
      assetclassgroup.php
  9. 8
      assetclassgroupadd.php
  10. 12
      assetclassgroupdel.php
  11. 15
      assetclassgroupedit.php
  12. 40
      assetclassgroupview.php
  13. 61
      assetclassview.php
  14. 35
      assetdel.php
  15. 56
      assetedit.php
  16. 57
      assetview.php
  17. 16
      assigniptonode.php
  18. 82
      assignnodetoasset.php
  19. 10
      comments.php
  20. 17
      config.php
  21. 4
      dbconnect.php
  22. 7
      footer.php
  23. 73
      header.php
  24. 3
      image.php
  25. BIN
      images/bin.png
  26. BIN
      images/breadcrumb.gif
  27. BIN
      images/building.png
  28. BIN
      images/building_add.png
  29. BIN
      images/building_delete.png
  30. BIN
      images/building_edit.png
  31. BIN
      images/exclamation.png
  32. BIN
      images/link.gif
  33. BIN
      images/minus.gif
  34. BIN
      images/network-ethernet.ico
  35. BIN
      images/network-ethernet.png
  36. BIN
      images/page.png
  37. BIN
      images/plus.gif
  38. BIN
      images/report.png
  39. BIN
      images/table.png
  40. BIN
      images/table_add.png
  41. BIN
      images/table_delete.png
  42. BIN
      images/table_edit.png
  43. BIN
      images/table_go.png
  44. BIN
      images/table_save.png
  45. BIN
      images/user.png
  46. BIN
      images/user_add.png
  47. BIN
      images/user_delete.png
  48. BIN
      images/user_edit.png
  49. BIN
      images/user_female.png
  50. 5
      includes.php
  51. 32
      index.php
  52. 39
      install/install.txt
  53. 144
      install/mysql.sql
  54. 222
      lang/de.php
  55. 31
      lang/en.php
  56. 10
      lib.php
  57. BIN
      lib/arrow.gif
  58. 4
      lib/changelink.js
  59. 4
      lib/changetext.js
  60. BIN
      lib/cross.gif
  61. 130
      lib/db.class.php
  62. 78
      lib/functions.php
  63. BIN
      lib/hs.png
  64. BIN
      lib/hv.png
  65. 840
      lib/jscolor.js
  66. 11
      lib/user.class.php
  67. 483
      lib/yapter.php
  68. 93
      location.php
  69. 62
      locationadd.php
  70. 12
      locationdel.php
  71. 68
      locationedit.php
  72. 57
      locationsubnetadd.php
  73. 36
      locationsubnetdel.php
  74. 12
      locationsubnetedit.php
  75. 176
      locationview.php
  76. 14
      login.php
  77. 41
      natadd.php
  78. 37
      natdel.php
  79. 12
      natedit.php
  80. 50
      node.php
  81. 77
      nodeadd.php
  82. 14
      nodedel.php
  83. 109
      nodeedit.php
  84. 126
      nodeview.php
  85. 8
      options.php
  86. 54
      optionseditdisplay.php
  87. 8
      optionseditpassword.php
  88. 247
      search.php
  89. 165
      submit.php
  90. 53
      subnet.php
  91. 27
      subnetadd.php
  92. 37
      subnetdel.php
  93. 32
      subnetedit.php
  94. 57
      subnetlocationadd.php
  95. 40
      subnetlocationdel.php
  96. 14
      subnetlocationedit.php
  97. 325
      subnetview.php
  98. 40
      subnetvlanadd.php
  99. 38
      subnetvlandel.php
  100. 14
      subnetvlanedit.php
  101. Some files were not shown because too many files have changed in this diff Show More

@ -27,20 +27,16 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/about.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup page // setup page
// set vars // set vars
$tp->set("config_version", $config_version); $smarty->assign("config_version", $config_version);
// end page // end page
// output // output
$tp->parse(); $smarty->display("about.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -27,11 +27,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/asset.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// create letter links // create letter links
// build query // build query
@ -46,24 +43,7 @@
// run query // run query
$alphabet = $db->db_select($query); $alphabet = $db->db_select($query);
$smarty->assign("alphabet", $alphabet);
// count results
$alphabet_counter = count($alphabet);
// any letters?
if ($alphabet_counter>0) {
// get objects
foreach($alphabet AS $alphabet_letter) {
// to tpl
$tp->set("asset_letter", strtoupper($alphabet_letter['asset_letter']));
// parse every row
$tp->parse("letter_row");
}
}
// parse block
$tp->parse("letter_table");
// setup asset // setup asset
// setup current letter // setup current letter
@ -76,7 +56,8 @@
// build query // build query
$query = "SELECT $query = "SELECT
asset.asset_id AS asset_id, asset.asset_id AS asset_id,
asset.asset_name AS asset_name, IF(LENGTH(asset.asset_name)>0, asset.asset_name, '...') AS asset_name,
asset.asset_info AS asset_info,
assetclass.assetclass_id AS assetclass_id, assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name assetclass.assetclass_name AS assetclass_name
FROM FROM
@ -91,38 +72,12 @@
// run query // run query
$assets = $db->db_select($query); $assets = $db->db_select($query);
// count results
$asset_counter = count($assets);
// counter to tpl // counter to tpl
$tp->set("asset_counter", $asset_counter); $smarty->assign("assets", $assets);
// any assets?
if ($asset_counter>0) {
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']);
$tp->set("assetclass_id", $asset['assetclass_id']);
$tp->set("assetclass_name", $asset['assetclass_name']);
// parse row
$tp->parse("asset_row");
}
// parse block
$tp->parse("asset_table");
} else {
// hide block
$tp->hide("asset_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("asset.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclass // setup assetclass
// build query // build query
@ -48,29 +45,14 @@
// run query // run query
$assetclasses = $db->db_select($query); $assetclasses = $db->db_select($query);
foreach ($assetclasses as $assetclass) {
foreach($assetclasses AS $assetclass) { $assetclass_options[$assetclass['assetclass_id']] = $assetclass['assetclass_name'];
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
if($assetclass['assetclass_id']==$assetclass_id) {
$tp->set("assetclass_selected", "selected");
} else {
$tp->set("assetclass_selected", "");
} }
$smarty->assign("assetclass_options", $assetclass_options);
// parse block
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -27,11 +27,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclass.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclass // setup assetclass
// build query // build query
@ -51,38 +48,13 @@
// run query // run query
$assetclasses = $db->db_select($query); $assetclasses = $db->db_select($query);
// count results
$assetclass_counter = count($assetclasses);
// counter to tpl // counter to tpl
$tp->set("assetclass_counter", $assetclass_counter); $smarty->assign("assetclasses", $assetclasses);
// any assetclasses?
if ($assetclass_counter>0) {
// get objects
foreach($assetclasses AS $assetclass) {
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
$tp->set("assetclassgroup_id", $assetclass['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclass['assetclassgroup_name']);
// parse row
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
} else {
// hide block
$tp->hide("assetclass_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclass.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,48 +30,15 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclassgroup // setup assetclassgroup
// build query $smarty->assign("assetclassgroup_options", $db->options_assetclassgroup());
$query = "SELECT
assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name
FROM
assetclassgroup
ORDER BY
assetclassgroup.assetclassgroup_name";
// run query
$assetclassgroup = $db->db_select($query);
// get objects
foreach($assetclassgroup AS $assetclassgroup) {
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
if($assetclassgroup['assetclassgroup_id']==$assetclassgroup_id) {
$tp->set("assetclassgroup_selected", "selected");
} else {
$tp->set("assetclassgroup_selected", "");
}
// parse block
$tp->parse("assetclassgroup_row");
}
// parse block
$tp->parse("assetclassgroup_table");
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassdel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclass // setup assetclass
// build query // build query
@ -50,13 +47,12 @@
$assetclass = $db->db_select($query); $assetclass = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']); $smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']); $smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassdel.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclass // setup assetclass
// build query // build query
@ -51,45 +48,17 @@
$assetclass = $db->db_select($query); $assetclass = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']); $smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']); $smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
$smarty->assign("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
// setup assetclassgroup // setup assetclassgroup
// build query // build query
$query = "SELECT $smarty->assign("assetclassgroup_options", $db->options_assetclassgroup());
assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name
FROM
assetclassgroup
ORDER BY
assetclassgroup.assetclassgroup_name";
// run query
$assetclassgroups = $db->db_select($query);
// get objects
foreach($assetclassgroups AS $assetclassgroup) {
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
if($assetclassgroup['assetclassgroup_id']==$assetclass[0]['assetclassgroup_id']) {
$tp->set("assetclassgroup_selected", "selected");
} else {
$tp->set("assetclassgroup_selected", "");
}
// parse block
$tp->parse("assetclassgroup_row");
}
// parse block
$tp->parse("assetclassgroup_table");
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -27,17 +27,15 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassgroup.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclassgroup // setup assetclassgroup
// build query // build query
$query = "SELECT $query = "SELECT
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name assetclassgroup.assetclassgroup_name AS assetclassgroup_name,
assetclassgroup.assetclassgroup_color AS assetclassgroup_color
FROM FROM
assetclassgroup assetclassgroup
ORDER BY ORDER BY
@ -45,39 +43,11 @@
// run query // run query
$assetclassgroups = $db->db_select($query); $assetclassgroups = $db->db_select($query);
$smarty->assign("assetclassgroups", $assetclassgroups);
// count results
$assetclassgroup_counter = count($assetclassgroups);
// counter to tpl
$tp->set("assetclassgroup_counter", $assetclassgroup_counter);
// any assetclassgroups?
if ($assetclassgroup_counter>0) {
// get objects
foreach($assetclassgroups AS $assetclassgroup) {
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
// parse row
$tp->parse("assetclassgroup_row");
}
// parse block
$tp->parse("assetclassgroup_table");
} else {
// hide block
$tp->hide("assetclassgroup_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassgroup.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -27,16 +27,12 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassgroupadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassgroupadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassgroupdel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclassgroup // setup assetclassgroup
// build query // build query
@ -50,13 +47,12 @@
$assetclassgroup = $db->db_select($query); $assetclassgroup = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']); $smarty->assign("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']); $smarty->assign("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassgroupdel.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -28,13 +28,11 @@
$assetclassgroup_id = sanitize($_GET['assetclassgroup_id']); $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']);
// start output // start output
$smarty->assign("scripts", 'jscolor.js');
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassgroupedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclassgroup // setup assetclassgroup
// build query // build query
@ -51,14 +49,13 @@
$assetclassgroup = $db->db_select($query); $assetclassgroup = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']); $smarty->assign("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']); $smarty->assign("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
$tp->set("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']); $smarty->assign("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassgroupedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassgroupview.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclassgroup // setup assetclassgroup
// build query // build query
@ -51,9 +48,9 @@
$assetclassgroup = $db->db_select($query); $assetclassgroup = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']); $smarty->assign("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']); $smarty->assign("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
$tp->set("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']); $smarty->assign("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']);
// setup assetclass // setup assetclass
// build query // build query
@ -69,36 +66,11 @@
// run query // run query
$assetclasses = $db->db_select($query); $assetclasses = $db->db_select($query);
$smarty->assign("assetclasses", $assetclasses);
// count results
$assetclass_counter = count($assetclasses);
// counter to tpl
$tp->set("assetclass_counter", $assetclass_counter);
// any assets?
if ($assetclass_counter>0) {
// get objects
foreach($assetclasses AS $assetclass) {
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
// parse row
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
} else {
// hide block
$tp->hide("assetclass_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassgroupview.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,17 +30,14 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetclassview.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup assetclass // setup assetclass
// build query // build query
$query = "SELECT $query = "SELECT
assetclass.assetclass_id AS assetclass_id, assetclass.assetclass_id,
assetclass.assetclass_name AS assetclass_name, assetclass.assetclass_name,
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name assetclassgroup.assetclassgroup_name AS assetclassgroup_name
FROM FROM
@ -54,60 +51,34 @@
$assetclass = $db->db_select($query); $assetclass = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']); $smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']); $smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
$tp->set("assetclass_selected", ""); $smarty->assign("assetclass_selected", "");
$tp->set("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']); $smarty->assign("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclass[0]['assetclassgroup_name']); $smarty->assign("assetclassgroup_name", $assetclass[0]['assetclassgroup_name']);
// send to tpl
// setup asset // setup asset
// build query // build query
$query = "SELECT $query = "SELECT
asset.asset_id AS asset_id, asset_id,
asset.asset_name AS asset_name asset_name,
CONCAT(LEFT(asset_info, 80), IF(CHAR_LENGTH(asset_info)>80,'...','')) AS asset_info
FROM FROM
asset asset
WHERE WHERE
asset.assetclass_id='" . $assetclass_id . "' assetclass_id='" . $assetclass_id . "'
ORDER BY ORDER BY
asset.asset_name"; asset_name";
// run query // run query
$assets = $db->db_select($query); $assets = $db->db_select($query);
$smarty->assign("assets", $assets);
// count results
$asset_counter = count($assets);
// counter to tpl
$tp->set("asset_counter", $asset_counter);
// any assets?
if ($asset_counter>0) {
// sort using "natural order"
// ksort($assets);
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']);
// parse row
$tp->parse("asset_row");
}
// parse block
$tp->parse("asset_table");
} else {
// hide block
$tp->hide("asset_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetclassview.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetdel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup asset // setup asset
// build query // build query
@ -49,8 +46,8 @@
$asset = $db->db_select($query); $asset = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("asset_id", $asset_id); $smarty->assign("asset_id", $asset_id);
$tp->set("asset_name", $asset[0]['asset_name']); $smarty->assign("asset_name", $asset[0]['asset_name']);
// setup node // setup node
// build query // build query
@ -66,33 +63,11 @@
// run query // run query
$nodes = $db->db_select($query); $nodes = $db->db_select($query);
$smarty->assign("nodes", $nodes);
// count results
$node_counter = count($nodes);
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// set id
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetdel.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -30,15 +30,13 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup asset // setup asset
// build query // build query
$query = "SELECT $query = "SELECT
asset_id,
asset.asset_name AS asset_name, asset.asset_name AS asset_name,
asset.asset_hostname AS asset_hostname, asset.asset_hostname AS asset_hostname,
asset.asset_info AS asset_info, asset.asset_info AS asset_info,
@ -50,58 +48,14 @@
// run query // run query
$asset = $db->db_select($query); $asset = $db->db_select($query);
$smarty->assign("asset", $asset[0]);
// send to tpl
$tp->set("asset_id", $asset_id);
$tp->set("asset_name", $asset[0]['asset_name']);
$tp->set("asset_hostname", $asset[0]['asset_hostname']);
$tp->set("asset_info", $asset[0]['asset_info']);
// setup assetclass // setup assetclass
// build query $smarty->assign("assetclass_options", $db->options_assetclass());
$query = "SELECT
assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name
FROM
assetclass
ORDER BY
assetclass.assetclass_name";
// run query
$assetclasses = $db->db_select($query);
// count results
$assetclass_counter = count($assetclasses);
// any nodes?
if ($assetclass_counter>0) {
// get objects
foreach($assetclasses AS $assetclass) {
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
// set select box
if($assetclass['assetclass_id']==$asset[0]['assetclass_id']) {
$tp->set("assetclass_selected", "selected");
} else {
$tp->set("assetclass_selected", "");
}
// parse block
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
} else {
// parse block
$tp->hide("assetclass_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetedit.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -30,18 +30,15 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assetview.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup asset // setup asset
// build query // build query
$query = "SELECT $query = "SELECT
asset.asset_name AS asset_name, asset.asset_name,
asset.asset_hostname AS asset_hostname, asset.asset_hostname,
asset.asset_info AS asset_info, asset.asset_info,
assetclass.assetclass_id AS assetclass_id, assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name assetclass.assetclass_name AS assetclass_name
FROM FROM
@ -55,19 +52,20 @@
$asset = $db->db_select($query); $asset = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("asset_id", $asset_id); $smarty->assign("asset_id", $asset_id);
$tp->set("asset_name", $asset[0]['asset_name']); $smarty->assign("asset_name", $asset[0]['asset_name']);
$tp->set("asset_hostname", $asset[0]['asset_hostname']); $smarty->assign("asset_hostname", $asset[0]['asset_hostname']);
$tp->set("asset_info", nl2br($asset[0]['asset_info'])); $smarty->assign("asset_info", nl2br($asset[0]['asset_info']));
$tp->set("assetclass_id", $asset[0]['assetclass_id']); $smarty->assign("assetclass_id", $asset[0]['assetclass_id']);
$tp->set("assetclass_name", $asset[0]['assetclass_name']); $smarty->assign("assetclass_name", $asset[0]['assetclass_name']);
// setup node // setup node
// build query // build query
$query = "SELECT $query = "SELECT
node.node_id AS node_id, node_id,
node.node_ip AS node_ip node_ip,
LEFT(node_info, 40) as node_info
FROM FROM
node node
WHERE WHERE
@ -77,36 +75,11 @@
// run query // run query
$nodes = $db->db_select($query); $nodes = $db->db_select($query);
$smarty->assign("nodes", $nodes);
// count results
$node_counter = count($nodes);
// counter to tpl
$tp->set("node_counter", $node_counter);
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("assetview.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -31,11 +31,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assigniptonode.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// build query // build query
$query = "SELECT $query = "SELECT
@ -50,15 +47,14 @@
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("node_ip", $node_ip); $smarty->assign("node_ip", $node_ip);
// end page // end page
// output // output
$tp->parse(); $smarty->display("assigniptonode.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -32,16 +32,14 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/assignnodetoasset.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// to tpl // to tpl
$tp->set("node_ip", $node_ip); $smarty->assign("node_ip", $node_ip);
// setup asset // setup asset
$smarty->assign("asset_id", $asset_id);
// build query // build query
$query = "SELECT $query = "SELECT
asset.asset_id AS asset_id, asset.asset_id AS asset_id,
@ -53,80 +51,28 @@
// run query // run query
$assets = $db->db_select($query); $assets = $db->db_select($query);
foreach ($assets as $asset) {
// count results $asset_options[$asset['asset_id']] = $asset['asset_name'];
$asset_counter = count($assets);
// any assets?
if ($asset_counter>0) {
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']);
if($asset['asset_id']==$asset_id) {
$tp->set("asset_selected", "selected");
} else {
$tp->set("asset_selected", "");
}
// parse block
$tp->parse("asset_row");
}
// parse block
$tp->parse("asset_table");
} else {
// parse block
$tp->hide("asset_table");
} }
$smarty->assign("asset_options", $asset_options);
// setup subnet // setup subnet
// build query // build query
$query = "SELECT $query = "SELECT subnet_id,
subnet.subnet_id AS subnet_id, CONCAT_WS('/', subnet_address, subnet_mask) AS subnet_name
subnet.subnet_address AS subnet_address, FROM subnet
subnet.subnet_mask AS subnet_mask ORDER BY INET_ATON(subnet_address)";
FROM
subnet
ORDER BY
INET_ATON(subnet.subnet_address)";
// run query // run query
$subnets = $db->db_select($query); $subnets = $db->db_select($query);
foreach ($subnets as $subnet) {
// count results $subnet_options[$subnet['subnet_id']] = $subnet['subnet_name'];
$subnet_counter = count($subnets);
// any subnets?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
if($subnet['subnet_id']==$subnet_id) {
$tp->set("subnet_selected", "selected");
} else {
$tp->set("subnet_selected", "");
}
// parse block
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// parse block
$tp->hide("subnet_table");
} }
$smarty->assign("subnet_options", $subnet_options);
// end page // end page
// output // output
$tp->parse(); $smarty->display("assignnodetoasset.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -26,21 +26,17 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/comments.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// get error // get error
$comments = sanitize($_GET['comments']); $comments = sanitize($_GET['comments']);
// set veriables // set veriables
$tp->set("comments", $lang['lang_comments_' . $comments]); $smarty->assign("comments", $lang['lang_comments_' . $comments]);
// output // output
$tp->parse(); $smarty->display("comments.tpl");
$tp->spit();
include("footer.php"); include("footer.php");
?> ?>

@ -21,18 +21,21 @@
*****************************************************************************/ *****************************************************************************/
// version // version
$config_version = 'v0.5'; $config_version = 'v0.7';
// db connection // db connection
$config_mysql_host = 'localhost'; $config_mysql_host = 'localhost';
$config_mysql_username = 'db_user'; $config_mysql_username = 'ipreg';
$config_mysql_password = 'db_pass'; $config_mysql_password = 'changeme!';
$config_mysql_dbname = 'db_name'; $config_mysql_dbname = 'ipreg';
// error reporting
$config_yapter_error = 15; // see yapter.php for more information
// default values for IP blocks // default values for IP blocks
$config_color_blocked = 'dcdcdc'; $config_color_blocked = 'dcdcdc';
$config_color_unused = 'ffffff'; $config_color_unused = 'ffffff';
$config_color_dynamic = 'e0e0e0';
// language
$config_lang = array('de', 'en');
$config_lang_default = 'en';
?> ?>

@ -21,8 +21,8 @@
*****************************************************************************/ *****************************************************************************/
// build connection // build connection
mysql_connect($config_mysql_host,$config_mysql_username,$config_mysql_password); $dblink = mysqli_connect($config_mysql_host,$config_mysql_username,$config_mysql_password);
// select db // select db
mysql_select_db($config_mysql_dbname); mysqli_select_db($dblink, $config_mysql_dbname);
?> ?>

@ -21,14 +21,11 @@
*****************************************************************************/ *****************************************************************************/
// start page // start page
// set template
$tp = new Template("tpl/footer.tpl", $config_yapter_error);
// get version for the footer-stamp // get version for the footer-stamp
$tp->set("config_version", $config_version); $smarty->assign("config_version", $config_version);
// end page // end page
// output // output
$tp->parse(); $smarty->display("footer.tpl");
$tp->spit();
?> ?>

@ -22,13 +22,10 @@
// start page // start page
// include language file // include language file
include('lang/en.php'); include('lang/' . $_SESSION['suser_language'] . '.php');
// set template
$tp = new Template("tpl/header.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// search box // search box
// new search? // new search?
@ -51,62 +48,22 @@
// to tpl // to tpl
// set global template vars // set global template vars
$tp->set("config_version", $config_version); $smarty->assign("config_version", $config_version);
$tp->set("suser_name", $_SESSION['suser_displayname']); $smarty->assign("suser_name", $_SESSION['suser_displayname']);
$tp->set("search", $search); $smarty->assign("search", $search);
// menu // menu
// assets $smarty->assign("menu_assets", $_SESSION['suser_menu_assets']=='on');
if($_SESSION['suser_menu_assets']=='on') { $smarty->assign("menu_assetclasses", $_SESSION['suser_menu_assetclasses']=='on');
$tp->parse("menu_assets"); $smarty->assign("menu_assetclassgroups", $_SESSION['suser_menu_assetclassgroups']=='on');
} else { $smarty->assign("menu_locations", $_SESSION['suser_menu_locations']=='on');
$tp->hide("menu_assets"); $smarty->assign("menu_nodes", $_SESSION['suser_menu_nodes']=='on');
} $smarty->assign("menu_subnets", $_SESSION['suser_menu_subnets']=='on');
// assetclasses $smarty->assign("menu_users", $_SESSION['suser_menu_users']=='on');
if($_SESSION['suser_menu_assetclasses']=='on') { $smarty->assign("menu_vlans", $_SESSION['suser_menu_vlans']=='on');
$tp->parse("menu_assetclasses"); $smarty->assign("menu_zones", $_SESSION['suser_menu_zones']=='on');
} else {
$tp->hide("menu_assetclasses");
}
// assetclassgroups
if($_SESSION['suser_menu_assetclassgroups']=='on') {
$tp->parse("menu_assetclassgroups");
} else {
$tp->hide("menu_assetclassgroups");
}
// locations
if($_SESSION['suser_menu_locations']=='on') {
$tp->parse("menu_locations");
} else {
$tp->hide("menu_locations");
}
// nodes
if($_SESSION['suser_menu_nodes']=='on') {
$tp->parse("menu_nodes");
} else {
$tp->hide("menu_nodes");
}
// subnets
if($_SESSION['suser_menu_subnets']=='on') {
$tp->parse("menu_subnets");
} else {
$tp->hide("menu_subnets");
}
// users
if($_SESSION['suser_menu_users']=='on') {
$tp->parse("menu_users");
} else {
$tp->hide("menu_users");
}
// vlans
if($_SESSION['suser_menu_vlans']=='on') {
$tp->parse("menu_vlans");
} else {
$tp->hide("menu_vlans");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("header.tpl");
$tp->spit();
?> ?>

@ -46,6 +46,9 @@
case ("delete") : case ("delete") :
$png = 'page_delete'; $png = 'page_delete';
break; break;
case ("shred") :
$png = 'bin';
break;
case ("edit") : case ("edit") :
$png = 'page_edit'; $png = 'page_edit';
break; break;

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

@ -22,6 +22,7 @@
// session // session
// start session // start session
session_name('ipreg');
session_start(); session_start();
// check for user_id, if unnkown, redirect to login // check for user_id, if unnkown, redirect to login
@ -42,4 +43,8 @@
// load lib // load lib
include("lib.php"); include("lib.php");
// set language
$language = lang_getfrombrowser($config_lang, $config_lang_default, null, false);
?> ?>

@ -27,11 +27,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/index.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup asset // setup asset
// build query // build query
@ -44,7 +41,7 @@
$assets = $db->db_select($query); $assets = $db->db_select($query);
// counter to tpl // counter to tpl
$tp->set("asset_counter", $assets[0]['asset_counter']); $smarty->assign("asset_counter", $assets[0]['asset_counter']);
// setup location // setup location
// build query // build query
@ -57,7 +54,7 @@
$locations = $db->db_select($query); $locations = $db->db_select($query);
// counter to tpl // counter to tpl
$tp->set("location_counter", $locations[0]['location_counter']); $smarty->assign("location_counter", $locations[0]['location_counter']);
// setup node // setup node
// build query // build query
@ -70,7 +67,7 @@
$nodes = $db->db_select($query); $nodes = $db->db_select($query);
// counter to tpl // counter to tpl
$tp->set("node_counter", $nodes[0]['node_counter']); $smarty->assign("node_counter", $nodes[0]['node_counter']);
// setup subnet // setup subnet
// build query // build query
@ -83,7 +80,7 @@
$subnets = $db->db_select($query); $subnets = $db->db_select($query);
// counter to tpl // counter to tpl
$tp->set("subnet_counter", $subnets[0]['subnet_counter']); $smarty->assign("subnet_counter", $subnets[0]['subnet_counter']);
// setup vlan // setup vlan
// build query // build query
@ -96,12 +93,25 @@
$vlans = $db->db_select($query); $vlans = $db->db_select($query);
// counter to tpl // counter to tpl
$tp->set("vlan_counter", $vlans[0]['vlan_counter']); $smarty->assign("vlan_counter", $vlans[0]['vlan_counter']);
// setup zone
// build query
$query = "SELECT
COUNT(zone_id) AS zone_counter
FROM
zone";
// run query
$zones = $db->db_select($query);
// counter to tpl
$smarty->assign("zone_counter", $zones[0]['zone_counter']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("index.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -1,16 +1,37 @@
IP Reg Installation IP Reg Installation
1. Create database 1. Install requirements
Create a database for IP Reg on your web server, as well as a MySQL user who has all privileges for accessing and modifying it. IP Reg version 0.6 and up depends on smarty template engine.
In Debian install ist with: "apt-get install smarty3".
The GHP-GD module is also required: "apt-get install php-gd".
2. Run import 2. Create database
Import the mysql.sql file into your database, which will create the tables and some sample data. Create a database for IP Reg on your web server, as well as a MySQL user who
has all privileges for accessing and modifying it.
3. Edit config file CREATE DATABASE ipreg;
Create database-user for application with minimum necessary rights.
CREATE USER 'ipreg'@'localhost' IDENTIFIED BY '********';
GRANT SELECT, INSERT, UPDATE, DELETE ON ipreg.* TO 'ipreg'@'localhost';
3. Run import
Import the mysql.sql file into your database, which will create the tables
and some sample data.
mysql ipreg < mysql.sql
4. Edit config file
Open config.php in a text editor and fill in your database details. Open config.php in a text editor and fill in your database details.
4. Upload files 5. Upload files
Upload all files and directory's (except the install directory) to your webserver. Upload all files and directory's (except the install directory) to your
webserver.
6. Check file access rights for security
Only directory tpl_c should be writeble by webserver
5. Start using IP Reg 7. Start using IP Reg
Start your browser and login to IP Reg with the default username/password: admin/admin Start your browser and login to IP Reg with the default username/password:
admin/admin

@ -1,11 +1,11 @@
CREATE TABLE asset ( CREATE TABLE asset (
asset_id int(10) NOT NULL auto_increment, asset_id int(10) NOT NULL AUTO_INCREMENT,
asset_name varchar(100) NOT NULL, asset_name varchar(100) NOT NULL,
asset_hostname varchar(100) NOT NULL, asset_hostname varchar(100) DEFAULT NULL,
assetclass_id int(10) NOT NULL, assetclass_id int(10) NOT NULL,
asset_info text NOT NULL, asset_info text DEFAULT NULL,
PRIMARY KEY (asset_id) PRIMARY KEY (asset_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO asset (asset_name, assetclass_id) VALUES INSERT INTO asset (asset_name, assetclass_id) VALUES
('My Computer', 1), ('My Computer', 1),
@ -13,11 +13,11 @@ INSERT INTO asset (asset_name, assetclass_id) VALUES
CREATE TABLE assetclass ( CREATE TABLE assetclass (
assetclass_id int(10) NOT NULL auto_increment, assetclass_id int(10) NOT NULL AUTO_INCREMENT,
assetclassgroup_id int(10) NOT NULL, assetclassgroup_id int(10) NOT NULL,
assetclass_name varchar(100) NOT NULL, assetclass_name varchar(100) NOT NULL,
PRIMARY KEY (assetclass_id) PRIMARY KEY (assetclass_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO assetclass (assetclassgroup_id, assetclass_name) VALUES INSERT INTO assetclass (assetclassgroup_id, assetclass_name) VALUES
(1, 'PC'), (1, 'PC'),
@ -25,48 +25,52 @@ INSERT INTO assetclass (assetclassgroup_id, assetclass_name) VALUES
CREATE TABLE assetclassgroup ( CREATE TABLE assetclassgroup (
assetclassgroup_id int(10) NOT NULL auto_increment, assetclassgroup_id int(10) NOT NULL AUTO_INCREMENT,
assetclassgroup_name varchar(100) NOT NULL, assetclassgroup_name varchar(100) NOT NULL,
assetclassgroup_color varchar(6) NOT NULL, assetclassgroup_color varchar(6) NOT NULL DEFAULT '000000',
PRIMARY KEY (assetclassgroup_id) PRIMARY KEY (assetclassgroup_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO assetclassgroup (assetclassgroup_name, assetclassgroup_color) VALUES INSERT INTO assetclassgroup (assetclassgroup_name, assetclassgroup_color) VALUES
('Workstations', 000000); ('Workstations', '000000'),
('Servers', '0000CC');
CREATE TABLE location ( CREATE TABLE location (
location_id int(10) NOT NULL auto_increment, location_id int(10) NOT NULL AUTO_INCREMENT,
location_name varchar(100) NOT NULL, location_name varchar(100) NOT NULL,
location_parent int(1) NOT NULL default 0, location_parent int(10) NOT NULL DEFAULT 0,
location_info text NOT NULL, location_info text DEFAULT NULL,
PRIMARY KEY (location_id) location_sort int(11) NOT NULL DEFAULT 0,
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; PRIMARY KEY (location_id),
KEY location_sort (location_sort)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO location (location_name, location_parent) VALUES INSERT INTO location (location_name, location_parent) VALUES
('Main Office', 0); ('Main Office', 0);
CREATE TABLE nat ( CREATE TABLE nat (
nat_id int(10) NOT NULL auto_increment, nat_id int(10) NOT NULL AUTO_INCREMENT,
nat_type int(1) NOT NULL, nat_type int(1) NOT NULL,
nat_ext int(10) NOT NULL, nat_ext int(10) NOT NULL,
nat_int int(10) NOT NULL, nat_int int(10) NOT NULL,
PRIMARY KEY (nat_id) PRIMARY KEY (nat_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE node ( CREATE TABLE node (
node_id int(10) NOT NULL auto_increment, node_id int(10) NOT NULL AUTO_INCREMENT,
node_ip varchar(15) NOT NULL, node_ip varchar(45) NOT NULL,
node_mac varchar(12) NOT NULL, node_mac varchar(12) NOT NULL,
node_dns1 varchar(100) NOT NULL, node_dns1 varchar(100) DEFAULT NULL,
node_dns2 varchar(100) NOT NULL, node_dns2 varchar(100) DEFAULT NULL,
subnet_id int(10) NOT NULL, subnet_id int(10) NOT NULL,
asset_id int(10) NOT NULL, asset_id int(10) NOT NULL,
node_info text NOT NULL, zone_id int(10) DEFAULT NULL,
node_info text DEFAULT NULL,
node_type enum('v4','v6') NOT NULL DEFAULT 'v4',
PRIMARY KEY (node_id) PRIMARY KEY (node_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO node (node_ip, node_mac, subnet_id, asset_id) VALUES INSERT INTO node (node_ip, node_mac, subnet_id, asset_id) VALUES
('192.168.1.2', '001122334455', 1, 1), ('192.168.1.2', '001122334455', 1, 1),
@ -74,70 +78,100 @@ INSERT INTO node (node_ip, node_mac, subnet_id, asset_id) VALUES
CREATE TABLE subnet ( CREATE TABLE subnet (
subnet_id int(10) NOT NULL auto_increment, subnet_id int(10) NOT NULL AUTO_INCREMENT,
subnet_address varchar(15) NOT NULL, subnet_address varchar(45) NOT NULL,
subnet_mask int(2) NOT NULL, subnet_mask int(2) NOT NULL,
subnet_info text NOT NULL, subnet_dhcp_start varchar(15) DEFAULT NULL,
subnet_dhcp_end varchar(15) DEFAULT NULL,
subnet_info text DEFAULT NULL,
protocol_version tinyint(1) NOT NULL DEFAULT 4,
ntp_server varchar(45) DEFAULT NULL,
PRIMARY KEY (subnet_id) PRIMARY KEY (subnet_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO subnet (subnet_address, subnet_mask) VALUES INSERT INTO subnet (subnet_address, subnet_mask) VALUES
('192.168.0.0', 24); ('192.168.0.0', 24);
CREATE TABLE subnetlocation ( CREATE TABLE subnetlocation (
subnetlocation_id int(10) NOT NULL auto_increment, subnetlocation_id int(10) NOT NULL AUTO_INCREMENT,
subnet_id int(10) NOT NULL, subnet_id int(10) NOT NULL,
location_id int(10) NOT NULL, location_id int(10) NOT NULL,
PRIMARY KEY (subnetlocation_id) PRIMARY KEY (subnetlocation_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO subnetlocation (subnet_id, location_id) VALUES
(1, 1);
CREATE TABLE subnetvlan ( CREATE TABLE subnetvlan (
subnetvlan_id int(10) NOT NULL auto_increment, subnetvlan_id int(10) NOT NULL AUTO_INCREMENT,
subnet_id int(10) NOT NULL, subnet_id int(10) NOT NULL,
vlan_id int(10) NOT NULL, vlan_id int(10) NOT NULL,
PRIMARY KEY (subnetvlan_id) PRIMARY KEY (subnetvlan_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO subnetvlan (subnet_id, vlan_id) VALUES
(1, 1);
CREATE TABLE user ( CREATE TABLE user (
user_id int(10) NOT NULL auto_increment, user_id int(10) NOT NULL AUTO_INCREMENT,
user_name varchar(100) NOT NULL, user_name varchar(100) NOT NULL,
user_pass varchar(32) NOT NULL, user_pass varchar(32) NOT NULL,
user_displayname varchar(100) NOT NULL, user_displayname varchar(100) NOT NULL,
user_imagesize int(3) NOT NULL default 6, user_language char(2) NOT NULL DEFAULT 'en',
user_imagecount int(3) NOT NULL default 64, user_imagesize int(3) NOT NULL DEFAULT 6,
user_mac varchar(25) NOT NULL default 'xxxxxxxxxxxx', user_imagecount int(3) NOT NULL DEFAULT 64,
user_dateformat varchar(10) NOT NULL default 'd M Y H:i', user_mac varchar(25) NOT NULL DEFAULT 'xx:xx:xx:xx:xx:xx',
user_dns1suffix varchar(100) NOT NULL, user_dateformat varchar(10) NOT NULL DEFAULT 'd M Y H:i',
user_dns2suffix varchar(100) NOT NULL, user_dns1suffix varchar(100) DEFAULT NULL,
user_menu_assets varchar(2) NOT NULL default 'on', user_dns2suffix varchar(100) DEFAULT NULL,
user_menu_assetclasses varchar(2) NOT NULL default 'on', user_menu_assets varchar(2) NOT NULL DEFAULT 'on',
user_menu_assetclassgroups varchar(2) NOT NULL default 'on', user_menu_assetclasses varchar(2) NOT NULL DEFAULT 'on',
user_menu_locations varchar(2) NOT NULL default 'on', user_menu_assetclassgroups varchar(2) NOT NULL DEFAULT 'on',
user_menu_nodes varchar(2) NOT NULL default 'on', user_menu_locations varchar(2) NOT NULL DEFAULT 'on',
user_menu_subnets varchar(2) NOT NULL default 'on', user_menu_nodes varchar(2) NOT NULL DEFAULT 'on',
user_menu_users varchar(2) NOT NULL default 'on', user_menu_subnets varchar(2) NOT NULL DEFAULT 'on',
user_menu_vlans varchar(2) NOT NULL default 'on', user_menu_users varchar(2) NOT NULL DEFAULT 'on',
user_menu_vlans varchar(2) NOT NULL DEFAULT 'on',
user_menu_zones varchar(2) NOT NULL DEFAULT 'on',
user_tooltips varchar(2) NOT NULL DEFAULT 'on',
PRIMARY KEY (user_id) PRIMARY KEY (user_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO user (user_name, user_pass, user_displayname, user_imagesize, user_imagecount, user_mac, user_dateformat, user_menu_assets, user_menu_assetclasses, user_menu_assetclassgroups, user_menu_locations, user_menu_nodes, user_menu_subnets, user_menu_users, user_menu_vlans) VALUES INSERT INTO user (user_name, user_pass, user_displayname, user_imagesize, user_imagecount, user_mac, user_dateformat, user_menu_assets, user_menu_assetclasses, user_menu_assetclassgroups, user_menu_locations, user_menu_nodes, user_menu_subnets, user_menu_users, user_menu_vlans) VALUES
('admin', '21232f297a57a5a743894a0e4a801fc3', 'administrator', 6, 64, 'xxxxxxxxxxxx', 'd M Y H:i', 'on', 'on', 'on', 'on', 'on', 'on', 'on', 'on'); ('admin', '21232f297a57a5a743894a0e4a801fc3', 'administrator', 6, 64, 'xxxxxxxxxxxx', 'd M Y H:i', 'on', 'on', 'on', 'on', 'on', 'on', 'on', 'on');
CREATE TABLE vlan ( CREATE TABLE vlan (
vlan_id int(10) NOT NULL auto_increment, vlan_id int(10) NOT NULL AUTO_INCREMENT,
vlan_number int(3) NOT NULL, vlan_number int(3) NOT NULL,
vlan_name varchar(100) NOT NULL, vlan_name varchar(100) NOT NULL,
vlan_info text NOT NULL, vlan_info text DEFAULT NULL,
PRIMARY KEY (vlan_id) PRIMARY KEY (vlan_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO vlan (vlan_number, vlan_name) VALUES INSERT INTO vlan (vlan_number, vlan_name) VALUES
(1, 'DEFAULT_VLAN'); (1, 'DEFAULT_VLAN');
CREATE TABLE zone (
zone_id int(10) NOT NULL AUTO_INCREMENT,
zone_soa varchar(40) CHARACTER SET utf8 NOT NULL,
zone_hostmaster varchar(40) CHARACTER SET utf8 NOT NULL,
zone_origin varchar(40) CHARACTER SET utf8 NOT NULL,
zone_ttl_default varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '3D',
zone_refresh varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '8H',
zone_retry varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '2H',
zone_expire varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '4W',
zone_ttl varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT '1D',
zone_serial int(10) unsigned NOT NULL,
zone_ns1 varchar(20) CHARACTER SET utf8 NOT NULL,
zone_ns2 varchar(20) CHARACTER SET utf8 DEFAULT NULL,
zone_ns3 varchar(20) CHARACTER SET utf8 DEFAULT NULL,
zone_mx1 varchar(20) CHARACTER SET utf8 DEFAULT NULL,
zone_mx2 varchar(20) CHARACTER SET utf8 DEFAULT NULL,
zone_info text CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (zone_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO zone (zone_soa, zone_origin, zone_hostmaster, zone_serial, zone_ns1) VALUES
('ns1.example.com.', 'example.com.', 'hostmaster@example.com', '2023021301', 'ns1.example.com');

@ -0,0 +1,222 @@
<?php
$lang = array(
'lang_ipreg' => 'IP Reg',
'lang_asset' => 'Objekt',
'lang_assets' => 'Objekte',
'lang_assetclass' => 'Objektklasse',
'lang_assetclasses' => 'Objektklassen',
'lang_assetclassgroup' => 'Objektklassengruppe',
'lang_assetclassgroups' => 'Objektklassengruppen',
'lang_location' => 'Standort',
'lang_locations' => 'Standorte',
'lang_menu' => 'Menü',
'lang_node' => 'Knoten',
'lang_nodes' => 'Knoten',
'lang_user' => 'Benutzer',
'lang_users' => 'Benutzer',
'lang_zone' => 'Zone',
'lang_zones' => 'Zonen',
'lang_sublocation' => 'Unterstandort',
'lang_sublocations' => 'Unterstandorte',
'lang_subnet' => 'Subnetz',
'lang_subnets' => 'Subnetze',
'lang_tooltips' => 'Tooltips',
'lang_vlan' => 'VLAN',
'lang_vlans' => 'VLANs',
'lang_about' => 'Ãœber',
'lang_all' => 'Allw',
'lang_cancel' => 'Abbruch',
'lang_color' => 'Farbe',
'lang_error' => 'Fehler',
'lang_item' => 'Gegenstand',
'lang_language' => 'Sprache',
'lang_login' => 'Anmelden',
'lang_logout' => 'Abmelden',
'lang_options' => 'Optionen',
'lang_option_none' => '(kein)',
'lang_reset' => 'Zur&uuml;cksetzen',
'lang_search' => 'Suche',
'lang_statistics' => 'Statistik',
'lang_subitem' => 'Sub-Item',
'lang_submit' => 'Absenden',
'lang_unassigned' => 'Nicht zugeordnet',
'lang_warning' => 'Warnung',
'lang_asset_add' => 'Objekt hinzufügen',
'lang_asset_del' => 'Objekt löschen',
'lang_asset_edit' => 'Objekt ändern',
'lang_asset_info' => 'Objektinfo',
'lang_asset_name' => 'Objektname',
'lang_asset_hostname' => 'Hostname',
'lang_asset_none' => 'Es sind keine Objekte vorhanden',
'lang_assetclass_add' => 'Objektklasse hinzufügen',
'lang_assetclass_del' => 'Objektklasse löschen',
'lang_assetclass_edit' => 'Objektklasse ändern',
'lang_assetclass_name' => 'Objektklassenname',
'lang_assetclass_none' => 'Es sind keine Objektklassen vorhanden',
'lang_assetclassgroup_add' => 'Objektklassengruppe hinzufügen',
'lang_assetclassgroup_del' => 'Objektklassengruppe löschen',
'lang_assetclassgroup_edit' => 'Objektklassengruppe ändern',
'lang_assetclassgroup_name' => 'Objektklassengruppenname',
'lang_assetclassgroup_none' => 'Es sind keine Objektklassengruppen vorhanden',
'lang_assignnodetoasset' => 'Knoten zu Objekt hinzufügen',
'lang_assignnodetoasset_existing' => 'Knoten zu existierendem Objekt hinzufügen',
'lang_assignnodetoasset_new' => 'Knoten zu neuem Objekt hinzufügen',
'lang_assigniptonode' => 'IP zu Knoten hinzufügen',
'lang_assigniptonode_existing' => 'IP zu existierendem Knoten hinzufügen',
'lang_assigniptonode_new' => 'IP zu neuem Knoten hinzufügen',
'lang_assignlocationtosubnet' => 'Standort zu Subnetz hinzufügen',
'lang_assignlocationtosubnet_existing' => 'Assign location to existing subnet',
'lang_assignlocationtosubnet_new' => 'Assign location to new subnet',
'lang_assignsubnettovlan' => 'Assign subnet to VLAN',
'lang_assignsubnettovlan_existing' => 'Assign subnet to existing VLAN',
'lang_assignsubnettovlan_new' => 'Assign subnet to new VLAN',
'lang_assignvlantosubnet' => 'Assign VLAN to subnet',
'lang_assignvlantosubnet_existing' => 'Assign VLAN to existing subnet',
'lang_assignvlantosubnet_new' => 'Assign VLAN to new subnet',
'lang_location_add' => 'Standort hinzufügen',
'lang_location_del' => 'Standort löschen',
'lang_location_edit' => 'Standort ändern',
'lang_location_info' => 'Standortinfo',
'lang_location_name' => 'Standortname',
'lang_location_parent' => 'Ãœbergeordneter Standort',
'lang_sublocation_add' => 'Unterstandort hinzufügen',
'lang_locationsubnet' => 'Standort/Subnetz',
'lang_locationsubnet_edit' => 'Standort/Subnetz bearbeiten',
'lang_node_add' => 'Knoten hinzufügen',
'lang_node_del' => 'Knoten löschen',
'lang_node_edit' => 'Knoten ändern',
'lang_node_info' => 'Knoteninfo',
'lang_dns1' => 'DNS-Name',
'lang_dns2' => 'DNS-Alias',
'lang_ip' => 'IP-Adresse',
'lang_mac' => 'MAC-Adresse',
'lang_proto_vers' => 'Protokollversion',
'lang_nat' => 'NAT',
'lang_nat_add' => 'NAT hinzufügen',
'lang_nat_del' => 'NAT löschen',
'lang_nat_edit' => 'NAT ändern',
'lang_nat_rules' => 'NAT Regeln',
'lang_nat_type' => 'Typ',
'lang_nat_type_1' => 'Verbergen',
'lang_nat_type_2' => 'Statisch',
'lang_nat_type_3' => 'Dynamisch',
'lang_search_results_found' => 'Anzahl der gefundenen Ergebnisse: ',
'lang_subnet_add' => 'Subnetz hinzufügen',
'lang_subnet_subnetaddress' => 'Subnetzadresse',
'lang_subnet_subnetaddress_mask' => 'Subnetzadresse/Maske',
'lang_subnet_broadcastaddress' => 'Broadcastadresse',
'lang_subnet_nodesinsubnet' => 'Nodes im Subnetz',
'lang_subnet_subnetused' => 'Subnetz benutzt',
'lang_subnet_del' => 'Subnetz löschen',
'lang_subnet_edit' => 'Subnetz ändern',
'lang_subnet_info' => 'Subnetzinfo',
'lang_subnet_mask' => 'Subnetzmaske',
'lang_subnet_dhcp' => 'DHCP ausschließen',
'lang_subnet_dhcpstart' => 'DHCP Anfang',
'lang_subnet_dhcpend' => 'DHCP Ende',
'lang_subnet_ntp_server' => 'NTP-Server',
'lang_subnetlocation' => 'Subnetz/Ort',
'lang_subnetlocation_edit' => 'Subnetz/Ort bearbeiten',
'lang_subnetvlan' => 'Subnetz/VLAN',
'lang_subnetvlan_edit' => 'Subnetz/VLAN bearbeiten',
'lang_user_add' => 'Benutzer hinzufügen',
'lang_user_del' => 'Benutzer löschen',
'lang_user_displayname' => 'Anzeigename',
'lang_user_edit' => 'Benutzer bearbeiten',
'lang_user_name' => 'Benutzername',
'lang_user_password' => 'Kennwort',
'lang_user_language' => 'Sprache',
'lang_zone_add' => 'Zone hinzufügen',
'lang_zone_del' => 'Zone löschen',
'lang_zone_edit' => 'Zone bearbeiten',
'lang_vlan_add' => 'VLAN hinzufügen',
'lang_vlan_del' => 'VLAN löschen',
'lang_vlan_edit' => 'VLAN ändern',
'lang_vlan_number' => 'VLAN ID',
'lang_vlan_info' => 'VLAN Info',
'lang_vlan_new' => 'VLAN Info',
'lang_vlan_name' => 'VLAN Name',
'lang_vlansubnet' => 'VLAN/Subnetz',
'lang_vlansubnet_edit' => 'VLAN/Subnetz bearbeiten',
'lang_comments' => 'Kommentare',
'lang_comments_error' => 'Fehler',
'lang_comments_asset_del_nodes' => 'Diese Knoten werden ebenfalls gelöscht!',
'lang_comments_ipinuse' => 'IP wird bereits verwendet',
'lang_comments_notallowed' => 'Nicht erlaubt',
'lang_comments_search_nosearch' => 'Es gibt nichts zu suchen!',
'lang_comments_usernameinuse' => 'Benutzername wird bereits verwendet',
'lang_comments_invalidpass' => 'Das Kennwort ist falsch',
'lang_comments_invalidnewpass' => 'Das neue Kennwort wurde nicht korrekt eingegeben',
'lang_options_ipreg' => 'IP Reg Optionen',
'lang_options_display' => 'Anzeigeeinstellungen',
'lang_options_password' => 'Kennwort ändern',
'lang_options_imagesize' => 'Bildgröße',
'lang_options_imagesize_help' => 'Größe (in Pixel) der farbigen Quadrate in der Subnetzanzeige',
'lang_options_imagecount' => 'Bildanzahl',
'lang_options_imagecount_help' => 'Anzahl der farbigen Quadrate je Zeile in der Subnetzanzeige',
'lang_options_mac' => 'MAC-Adresse',
'lang_options_mac_help' => 'Format in der eine MAC-Adresse dargestellt wird (z.B. xx-xx-xx-xx-xx-xx)',
'lang_options_menu_help' => 'Select items to be displayed in menu',
'lang_options_dateformat' => 'Datumsformat',
'lang_options_dateformat_help' => 'Format in which dates are displayed using the php-date-format (see http://www.php.net/date for more info)',
'lang_options_dns1suffix' => 'DNS Name suffix',
'lang_options_dns1suffix_help' => 'Default DNS Name suffix für neue Knoten',
'lang_options_dns2suffix' => 'DNS Alias suffix',
'lang_options_dns2suffix_help' => 'Default DNS Alias suffix für neue Knoten',
'lang_options_currentpassword' => 'Aktuelles Kennwort',
'lang_options_currentpassword_help' => 'Bitte geben Sie hier Ihr bisheriges Kennwort ein',
'lang_options_newpassword1' => 'Neues Kennwort',
'lang_options_newpassword1_help' => 'Bitte geben Sie hier Ihr neues Kennwort ein',
'lang_options_newpassword2' => 'Neues Kennwort (Wiederholung)',
'lang_options_newpassword2_help' => 'Bitte geben Sie hier nochmals Ihr neues Kennwort ein',
'lang_options_tooltips_help' => 'Tooltips anzeigen',
'lang_options_language_help' => 'Sprache für diesen Benutzer',
'lang_about_sfprojectpage' => 'Sourceforge Project Page',
'lang_about_license' => 'Lizenz',
'lang_about_gpl' => 'GNU General Public License (GPL)',
'lang_about_smarty' => 'Smarty Template Engine',
'lang_about_iconset' => 'Silk icon set 1.3',
'lang_about_ipreg_ext' => 'IP Reg, a PHP/MySQL IPAM tool',
'lang_about_license_ext' => 'Copyright (C) 2007-2009 Wietse Warendorff (up to v0.5)<br>Copyright (C) 2011-2023 Thomas Hooge<p>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.<p>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.<p> You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.',
'lang_about_changelog' => 'Changelog (major changes only)',
'lang_about_changelog_v07' => 'v0.7 (oct 2018)',
'lang_about_changelog_v07_ext' => '- Added support for PHP7, switched to mysqli',
'lang_about_changelog_v06' => 'v0.6 (may 2011)',
'lang_about_changelog_v06_ext' => '- Moved towards smarty template engine<br />- language support finalized<br />- added german language<br />- some small bug fixes',
'lang_about_changelog_v05' => 'v0.5 (dec 2009)',
'lang_about_changelog_v05_ext' => '- Complete code rewrite<br>- Input sanitation<br>- Background image<br>- Added multiple counters<br>- HTML is now 100% W3C valid<br>More user options',
'lang_about_changelog_v04' => 'v0.4 (jun 2008)',
'lang_about_changelog_v04_ext' => '- SQL vulnerability fixed<br>- PHP-generated images in subnet overview',
'lang_about_changelog_v03' => 'v0.3 (dec 2007)',
'lang_about_changelog_v03_ext' => '- Class A subnet support<br>- Multi-language support<br>- User defined options<br>- All configuration options in one file (config.php)',
'lang_about_changelog_v02' => 'v0.2 (dec 2007)',
'lang_about_changelog_v02_ext' => '- Fixed ordering of IP addresses<br>- Fixed info fields',
'lang_about_changelog_v01' => 'v0.1 (dec 2007)',
'lang_about_changelog_v01_ext' => '- First beta release',
);
?>

@ -16,10 +16,13 @@ $lang = array(
'lang_nodes' => 'Nodes', 'lang_nodes' => 'Nodes',
'lang_user' => 'User', 'lang_user' => 'User',
'lang_users' => 'Users', 'lang_users' => 'Users',
'lang_zone' => 'Zone',
'lang_zones' => 'Zones',
'lang_sublocation' => 'Sub-location', 'lang_sublocation' => 'Sub-location',
'lang_sublocations' => 'Sub-locations', 'lang_sublocations' => 'Sub-locations',
'lang_subnet' => 'Subnet', 'lang_subnet' => 'Subnet',
'lang_subnets' => 'Subnets', 'lang_subnets' => 'Subnets',
'lang_tooltips' => 'Tooltips',
'lang_vlan' => 'VLAN', 'lang_vlan' => 'VLAN',
'lang_vlans' => 'VLANs', 'lang_vlans' => 'VLANs',
@ -33,6 +36,7 @@ $lang = array(
'lang_login' => 'Login', 'lang_login' => 'Login',
'lang_logout' => 'Logout', 'lang_logout' => 'Logout',
'lang_options' => 'Options', 'lang_options' => 'Options',
'lang_option_none' => '(none)',
'lang_reset' => 'Reset', 'lang_reset' => 'Reset',
'lang_search' => 'Search', 'lang_search' => 'Search',
'lang_statistics' => 'Statistics', 'lang_statistics' => 'Statistics',
@ -47,16 +51,19 @@ $lang = array(
'lang_asset_info' => 'Asset info', 'lang_asset_info' => 'Asset info',
'lang_asset_name' => 'Asset name', 'lang_asset_name' => 'Asset name',
'lang_asset_hostname' => 'Hostname', 'lang_asset_hostname' => 'Hostname',
'lang_asset_none' => 'There are no assets defined',
'lang_assetclass_add' => 'Add assetclass', 'lang_assetclass_add' => 'Add assetclass',
'lang_assetclass_del' => 'Delete assetclass', 'lang_assetclass_del' => 'Delete assetclass',
'lang_assetclass_edit' => 'Mofidy assetclass', 'lang_assetclass_edit' => 'Mofidy assetclass',
'lang_assetclass_name' => 'Assetclass name', 'lang_assetclass_name' => 'Assetclass name',
'lang_assetclass_none' => 'There are no assetclasses defined',
'lang_assetclassgroup_add' => 'Add assetclassgroup', 'lang_assetclassgroup_add' => 'Add assetclassgroup',
'lang_assetclassgroup_del' => 'Delete assetclassgroup', 'lang_assetclassgroup_del' => 'Delete assetclassgroup',
'lang_assetclassgroup_edit' => 'Modify assetclassgroup', 'lang_assetclassgroup_edit' => 'Modify assetclassgroup',
'lang_assetclassgroup_name' => 'Assetclass Groupname', 'lang_assetclassgroup_name' => 'Assetclass Groupname',
'lang_assetclassgroup_none' => 'There are no assetclassegroups defined',
'lang_assignnodetoasset' => 'Assign node to asset', 'lang_assignnodetoasset' => 'Assign node to asset',
'lang_assignnodetoasset_existing' => 'Assign node to existing asset', 'lang_assignnodetoasset_existing' => 'Assign node to existing asset',
@ -93,6 +100,7 @@ $lang = array(
'lang_dns2' => 'DNS Alias', 'lang_dns2' => 'DNS Alias',
'lang_ip' => 'IP Address', 'lang_ip' => 'IP Address',
'lang_mac' => 'MAC Address', 'lang_mac' => 'MAC Address',
'lang_proto_vers' => 'Protocol version',
'lang_nat' => 'NAT', 'lang_nat' => 'NAT',
'lang_nat_add' => 'Add NAT', 'lang_nat_add' => 'Add NAT',
@ -116,6 +124,10 @@ $lang = array(
'lang_subnet_edit' => 'Modify subnet', 'lang_subnet_edit' => 'Modify subnet',
'lang_subnet_info' => 'Subnet info', 'lang_subnet_info' => 'Subnet info',
'lang_subnet_mask' => 'Subnet mask', 'lang_subnet_mask' => 'Subnet mask',
'lang_subnet_dhcp' => 'Exclude DHCP',
'lang_subnet_dhcpstart' => 'DHCP Start',
'lang_subnet_dhcpend' => 'DHCP End',
'lang_subnet_ntp_server' => 'NTP Server',
'lang_subnetlocation' => 'Subnet/Location', 'lang_subnetlocation' => 'Subnet/Location',
'lang_subnetlocation_edit' => 'Edit Subnet/Location', 'lang_subnetlocation_edit' => 'Edit Subnet/Location',
@ -129,6 +141,10 @@ $lang = array(
'lang_user_name' => 'Username', 'lang_user_name' => 'Username',
'lang_user_password' => 'Password', 'lang_user_password' => 'Password',
'lang_zone_add' => 'Add zone',
'lang_zone_del' => 'Delete zone',
'lang_zone_edit' => 'Mofidy zone',
'lang_vlan_add' => 'Add VLAN', 'lang_vlan_add' => 'Add VLAN',
'lang_vlan_del' => 'Delete VLAN', 'lang_vlan_del' => 'Delete VLAN',
'lang_vlan_edit' => 'Modify VLAN', 'lang_vlan_edit' => 'Modify VLAN',
@ -136,6 +152,7 @@ $lang = array(
'lang_vlan_info' => 'VLAN info', 'lang_vlan_info' => 'VLAN info',
'lang_vlan_new' => 'VLAN info', 'lang_vlan_new' => 'VLAN info',
'lang_vlan_name' => 'VLAN name', 'lang_vlan_name' => 'VLAN name',
'lang_user_language' => 'Language',
'lang_vlansubnet' => 'VLAN/Subnet', 'lang_vlansubnet' => 'VLAN/Subnet',
'lang_vlansubnet_edit' => 'Edit VLAN/Subnet', 'lang_vlansubnet_edit' => 'Edit VLAN/Subnet',
@ -147,6 +164,8 @@ $lang = array(
'lang_comments_notallowed' => 'Not allowed', 'lang_comments_notallowed' => 'Not allowed',
'lang_comments_search_nosearch' => 'Nothing to search for!', 'lang_comments_search_nosearch' => 'Nothing to search for!',
'lang_comments_usernameinuse' => 'Username in use', 'lang_comments_usernameinuse' => 'Username in use',
'lang_comments_invalidpass' => 'Invalid password',
'lang_comments_invalidnewpass' => 'Invalid new password',
'lang_options_ipreg' => 'IP Reg options', 'lang_options_ipreg' => 'IP Reg options',
'lang_options_display' => 'Display options', 'lang_options_display' => 'Display options',
@ -170,16 +189,22 @@ $lang = array(
'lang_options_newpassword1_help' => 'Enter your new password', 'lang_options_newpassword1_help' => 'Enter your new password',
'lang_options_newpassword2' => 'Retype new password', 'lang_options_newpassword2' => 'Retype new password',
'lang_options_newpassword2_help' => 'Re-type your new password', 'lang_options_newpassword2_help' => 'Re-type your new password',
'lang_options_tooltips_help' => 'Show tooltips',
'lang_options_language_help' => 'Language for this user',
'lang_about_sfprojectpage' => 'Sourceforge Project Page', 'lang_about_sfprojectpage' => 'Sourceforge Project Page',
'lang_about_license' => 'lang_about_license', 'lang_about_license' => 'License',
'lang_about_gpl' => 'GNU General Public License (GPL)', 'lang_about_gpl' => 'GNU General Public License (GPL)',
'lang_about_yapter' => 'Yapter Template Engine', 'lang_about_smarty' => 'Smarty Template Engine',
'lang_about_iconset' => 'Silk icon set 1.3', 'lang_about_iconset' => 'Silk icon set 1.3',
'lang_about_ipreg_ext' => 'IP Reg, a PHP/MySQL IPAM tool', 'lang_about_ipreg_ext' => 'IP Reg, a PHP/MySQL IPAM tool',
'lang_about_license_ext' => 'Copyright (C) 2007-2009 Wietse Warendorff<p>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.<p>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.<p> You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.', 'lang_about_license_ext' => 'Copyright (C) 2007-2009 Wietse Warendorff (up to v0.5)<br>Copyright (C) 2011-2023 Thomas Hooge<p>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.<p>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.<p> You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.',
'lang_about_changelog' => 'Changelog (major changes only)', 'lang_about_changelog' => 'Changelog (major changes only)',
'lang_about_changelog_v07' => 'v0.7 (oct 2018)',
'lang_about_changelog_v07_ext' => '- Added support for PHP7, switched to mysqli',
'lang_about_changelog_v06' => 'v0.6 (may 2011)',
'lang_about_changelog_v06_ext' => '- Moved towards smarty template engine<br />- language support finalized<br />- added german language<br />- some small bug fixes',
'lang_about_changelog_v05' => 'v0.5 (dec 2009)', 'lang_about_changelog_v05' => 'v0.5 (dec 2009)',
'lang_about_changelog_v05_ext' => '- Complete code rewrite<br>- Input sanitation<br>- Background image<br>- Added multiple counters<br>- HTML is now 100% W3C valid<br>More user options', 'lang_about_changelog_v05_ext' => '- Complete code rewrite<br>- Input sanitation<br>- Background image<br>- Added multiple counters<br>- HTML is now 100% W3C valid<br>More user options',
'lang_about_changelog_v04' => 'v0.4 (jun 2008)', 'lang_about_changelog_v04' => 'v0.4 (jun 2008)',

@ -29,7 +29,7 @@
require("lib/db.class.php"); require("lib/db.class.php");
// create instance // create instance
$db = new Db(); $db = new Db($dblink);
// user // user
// load class // load class
@ -39,6 +39,10 @@
$user = new User(); $user = new User();
// tpl // tpl
// load class require_once('smarty3/Smarty.class.php');
include("lib/yapter.php"); $smarty = new Smarty();
$smarty->template_dir = 'tpl';
$smarty->compile_dir = 'tpl_c';
$smarty->registerPlugin('function', 'treelist', 'print_tree');
$smarty->assign("suser_tooltips", $_SESSION['suser_tooltips']);
?> ?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 B

@ -1,5 +1,5 @@
function changelink(optVal){ function changelink(optVal) {
if(optVal=="") if(optVal=="")
return false; return false;
window.location='subnetview.php?subnet_id='+optVal; window.location='subnetview.php?subnet_id='+optVal;
} }

@ -1,3 +1,3 @@
function changetext(id,newtext) { function changetext(id,newtext) {
document.getElementById(id).innerHTML=newtext document.getElementById(id).innerHTML=newtext
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

@ -21,25 +21,34 @@
*****************************************************************************/ *****************************************************************************/
class Db { class Db {
protected $dblink;
public function __construct ($dblink) {
$this->dblink = $dblink;
}
function db_delete($query) { function db_delete($query) {
// run query // run query
$sql = mysql_query($query) or die(mysql_error()); $sql = mysqli_query($this->dblink, $query) or die(mysqli_error($this->dblink));
} }
function db_insert($query) { function db_insert($query) {
// run query // run query
$sql = mysql_query($query) or die(mysql_error()); echo "<pre>$query</pre>";
$sql = mysqli_query($this->dblink, $query) or die(mysqli_error($this->dblink));
// return result // return result
return mysql_insert_id(); return mysqli_insert_id($this->dblink);
} }
function db_select($query) { function db_select($query) {
// run query // run query
$sql = mysql_query($query) or die(mysql_error()); $sql = mysqli_query($this->dblink, $query) or die(mysqli_error($this->dblink));
// loop results // loop results
while($record = mysql_fetch_assoc($sql)) { $result = array();
while($record = mysqli_fetch_assoc($sql)) {
$result[] = $record; $result[] = $record;
} }
@ -49,7 +58,116 @@
function db_update($query) { function db_update($query) {
// run query // run query
$sql = mysql_query($query) or die(mysql_error()); $sql = mysqli_query($this->dblink, $query) or die(mysqli_error($this->dblink));
} }
function options_asset($null_value=NULL) {
$options = array();
if (isset($null_value)) {
$options[0] = $null_value;
}
$sql = "SELECT asset_id, asset_name
FROM asset
ORDER BY asset_name";
$records = $this->db_select($sql);
foreach ($records as $rec) {
$options[$rec['asset_id']] = $rec['asset_name'];
}
return $options;
}
function options_assetclass($null_value=NULL) {
$options = array();
if (isset($null_value)) {
$options[0] = $null_value;
}
$sql = "SELECT assetclass_id, assetclass_name
FROM assetclass
ORDER BY assetclass_name";
$records = $this->db_select($sql);
foreach ($records as $rec) {
$options[$rec['assetclass_id']] = $rec['assetclass_name'];
}
return $options;
}
function options_assetclassgroup($null_value=NULL) {
$options = array();
if (isset($null_value)) {
$options[0] = $null_value;
}
$sql = "SELECT assetclassgroup_id, assetclassgroup_name
FROM assetclassgroup
ORDER BY assetclassgroup_name";
$records = $this->db_select($sql);
foreach ($records as $rec) {
$options[$rec['assetclassgroup_id']] = $rec['assetclassgroup_name'];
}
return $options;
}
function options_location($null_value=NULL) {
$options = array();
if (isset($null_value)) {
$options[0] = $null_value;
}
$sql = "SELECT location_id,
location_name
FROM location
ORDER BY location_name";
$records = $this->db_select($sql);
foreach ($records as $rec) {
$options[$rec['location_id']] = $rec['location_name'];
}
return $options;
}
function options_subnet($null_value=NULL) {
$options = array();
if (isset($null_value)) {
$options[0] = $null_value;
}
$sql = "SELECT subnet_id,
CONCAT_WS('/', subnet_address, subnet_mask) AS subnet_name
FROM subnet
ORDER BY INET_ATON(subnet_address)";
$records = $this->db_select($sql);
foreach ($records as $rec) {
$options[$rec['subnet_id']] = $rec['subnet_name'];
}
return $options;
}
function options_vlan($null_value=NULL) {
$options = array();
if (isset($null_value)) {
$options[0] = $null_value;
}
$sql = "SELECT vlan_id,
CONCAT_WS(' - ', vlan_number, vlan_name) AS vlan_option
FROM vlan
ORDER BY vlan_number";
$records = $this->db_select($sql);
foreach ($records as $rec) {
$options[$rec['vlan_id']] = $rec['vlan_option'];
}
return $options;
}
function options_zone($null_value=NULL) {
$options = array();
if (isset($null_value)) {
$options[0] = $null_value;
}
$sql = "SELECT zone_id, zone_origin
FROM zone
ORDER BY zone_origin";
$records = $this->db_select($sql);
foreach ($records as $rec) {
$options[$rec['zone_id']] = $rec['zone_origin'];
}
return $options;
}
} }
?> ?>

@ -70,6 +70,8 @@
// sanitize input // sanitize input
function sanitize($input) { function sanitize($input) {
global $dblink;
// trim whitespaces // trim whitespaces
$input = @trim($input); $input = @trim($input);
@ -86,9 +88,83 @@
$input = htmlentities($input,ENT_QUOTES,'UTF-8'); $input = htmlentities($input,ENT_QUOTES,'UTF-8');
// make sql ready // make sql ready
$input = mysql_real_escape_string($input); $input = mysqli_real_escape_string($dblink, $input);
// and return // and return
return $input; return $input;
} }
function mysql_nullstring($input) {
if (isset($input)) {
return $input;
} else {
return '';
}
}
function lang_getfrombrowser ($allowed_languages, $default_language, $lang_variable = null, $strict_mode = true) {
if ($lang_variable === null) {
$lang_variable = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
if (empty($lang_variable)) {
return $default_language;
}
$accepted_languages = preg_split('/,\s*/', $lang_variable);
$current_lang = $default_language;
$current_q = 0;
foreach ($accepted_languages as $accepted_language) {
$res = preg_match ('/^([a-z]{1,8}(?:-[a-z]{1,8})*)(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i',
$accepted_language, $matches);
if (!$res) {
continue;
}
$lang_code = explode ('-', $matches[1]);
if (isset($matches[2])) {
$lang_quality = (float)$matches[2];
} else {
$lang_quality = 1.0;
}
while (count ($lang_code)) {
if (in_array (strtolower (join ('-', $lang_code)), $allowed_languages)) {
if ($lang_quality > $current_q) {
$current_lang = strtolower (join ('-', $lang_code));
$current_q = $lang_quality;
break;
}
}
if ($strict_mode) {
break;
}
array_pop ($lang_code);
}
}
return $current_lang;
}
function print_tree_rec($tree, $level) {
$output = '<ul class="treelvl' . $level. '">' . "\n";
foreach ($tree as $node) {
$output .= '<li><a href="' . $node['href'] . '">' . $node['value'] . '</a>';
if ($node['children']) {
$output .= "\n" . print_tree_rec($node['children'], $level+1);
}
$output .= "</li>\n";
}
$output .= "</ul>\n";
return $output;
}
function print_tree ($params, &$smarty) {
if (empty($params['level'])) {
$level = 0;
} else {
$level = $params['level'];
}
if (empty($params['tree'])) {
return '';
} else {
return print_tree_rec($params['tree'], $level);
}
}
?> ?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

@ -0,0 +1,840 @@
/**
* jscolor, JavaScript Color Picker
*
* @version 1.3.1
* @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
* @author Jan Odvarko, http://odvarko.cz
* @created 2008-06-15
* @updated 2010-01-23
* @link http://jscolor.com
*/
var jscolor = {
dir : '', // location of jscolor directory (leave empty to autodetect)
bindClass : 'color', // class name
binding : true, // automatic binding via <input class="...">
preloading : true, // use image preloading?
install : function() {
jscolor.addEvent(window, 'load', jscolor.init);
},
init : function() {
if(jscolor.binding) {
jscolor.bind();
}
if(jscolor.preloading) {
jscolor.preload();
}
},
getDir : function() {
if(!jscolor.dir) {
var detected = jscolor.detectDir();
jscolor.dir = detected!==false ? detected : 'jscolor/';
}
return jscolor.dir;
},
detectDir : function() {
var base = location.href;
var e = document.getElementsByTagName('base');
for(var i=0; i<e.length; i+=1) {
if(e[i].href) { base = e[i].href; }
}
var e = document.getElementsByTagName('script');
for(var i=0; i<e.length; i+=1) {
if(e[i].src && /(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) {
var src = new jscolor.URI(e[i].src);
var srcAbs = src.toAbsolute(base);
srcAbs.path = srcAbs.path.replace(/[^\/]+$/, ''); // remove filename
srcAbs.query = null;
srcAbs.fragment = null;
return srcAbs.toString();
}
}
return false;
},
bind : function() {
var matchClass = new RegExp('(^|\\s)('+jscolor.bindClass+')\\s*(\\{[^}]*\\})?', 'i');
var e = document.getElementsByTagName('input');
for(var i=0; i<e.length; i+=1) {
var m;
if(!e[i].color && e[i].className && (m = e[i].className.match(matchClass))) {
var prop = {};
if(m[3]) {
try {
eval('prop='+m[3]);
} catch(eInvalidProp) {}
}
e[i].color = new jscolor.color(e[i], prop);
}
}
},
preload : function() {
for(var fn in jscolor.imgRequire) {
if(jscolor.imgRequire.hasOwnProperty(fn)) {
jscolor.loadImage(fn);
}
}
},
images : {
pad : [ 181, 101 ],
sld : [ 16, 101 ],
cross : [ 15, 15 ],
arrow : [ 7, 11 ]
},
imgRequire : {},
imgLoaded : {},
requireImage : function(filename) {
jscolor.imgRequire[filename] = true;
},
loadImage : function(filename) {
if(!jscolor.imgLoaded[filename]) {
jscolor.imgLoaded[filename] = new Image();
jscolor.imgLoaded[filename].src = jscolor.getDir()+filename;
}
},
fetchElement : function(mixed) {
return typeof mixed === 'string' ? document.getElementById(mixed) : mixed;
},
addEvent : function(el, evnt, func) {
if(el.addEventListener) {
el.addEventListener(evnt, func, false);
} else if(el.attachEvent) {
el.attachEvent('on'+evnt, func);
}
},
fireEvent : function(el, evnt) {
if(!el) {
return;
}
if(document.createEventObject) {
var ev = document.createEventObject();
el.fireEvent('on'+evnt, ev);
} else if(document.createEvent) {
var ev = document.createEvent('HTMLEvents');
ev.initEvent(evnt, true, true);
el.dispatchEvent(ev);
} else if(el['on'+evnt]) { // alternatively use the traditional event model (IE5)
el['on'+evnt]();
}
},
getElementPos : function(e) {
var e1=e, e2=e;
var x=0, y=0;
if(e1.offsetParent) {
do {
x += e1.offsetLeft;
y += e1.offsetTop;
} while(e1 = e1.offsetParent);
}
while((e2 = e2.parentNode) && e2.nodeName.toUpperCase() !== 'BODY') {
x -= e2.scrollLeft;
y -= e2.scrollTop;
}
return [x, y];
},
getElementSize : function(e) {
return [e.offsetWidth, e.offsetHeight];
},
getMousePos : function(e) {
if(!e) { e = window.event; }
if(typeof e.pageX === 'number') {
return [e.pageX, e.pageY];
} else if(typeof e.clientX === 'number') {
return [
e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft,
e.clientY + document.body.scrollTop + document.documentElement.scrollTop
];
}
},
getViewPos : function() {
if(typeof window.pageYOffset === 'number') {
return [window.pageXOffset, window.pageYOffset];
} else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
return [document.body.scrollLeft, document.body.scrollTop];
} else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
return [document.documentElement.scrollLeft, document.documentElement.scrollTop];
} else {
return [0, 0];
}
},
getViewSize : function() {
if(typeof window.innerWidth === 'number') {
return [window.innerWidth, window.innerHeight];
} else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
return [document.body.clientWidth, document.body.clientHeight];
} else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
return [document.documentElement.clientWidth, document.documentElement.clientHeight];
} else {
return [0, 0];
}
},
URI : function(uri) { // See RFC3986
this.scheme = null;
this.authority = null;
this.path = '';
this.query = null;
this.fragment = null;
this.parse = function(uri) {
var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);
this.scheme = m[3] ? m[2] : null;
this.authority = m[5] ? m[6] : null;
this.path = m[7];
this.query = m[9] ? m[10] : null;
this.fragment = m[12] ? m[13] : null;
return this;
};
this.toString = function() {
var result = '';
if(this.scheme !== null) { result = result + this.scheme + ':'; }
if(this.authority !== null) { result = result + '//' + this.authority; }
if(this.path !== null) { result = result + this.path; }
if(this.query !== null) { result = result + '?' + this.query; }
if(this.fragment !== null) { result = result + '#' + this.fragment; }
return result;
};
this.toAbsolute = function(base) {
var base = new jscolor.URI(base);
var r = this;
var t = new jscolor.URI;
if(base.scheme === null) { return false; }
if(r.scheme !== null && r.scheme.toLowerCase() === base.scheme.toLowerCase()) {
r.scheme = null;
}
if(r.scheme !== null) {
t.scheme = r.scheme;
t.authority = r.authority;
t.path = removeDotSegments(r.path);
t.query = r.query;
} else {
if(r.authority !== null) {
t.authority = r.authority;
t.path = removeDotSegments(r.path);
t.query = r.query;
} else {
if(r.path === '') { // TODO: == or === ?
t.path = base.path;
if(r.query !== null) {
t.query = r.query;
} else {
t.query = base.query;
}
} else {
if(r.path.substr(0,1) === '/') {
t.path = removeDotSegments(r.path);
} else {
if(base.authority !== null && base.path === '') { // TODO: == or === ?
t.path = '/'+r.path;
} else {
t.path = base.path.replace(/[^\/]+$/,'')+r.path;
}
t.path = removeDotSegments(t.path);
}
t.query = r.query;
}
t.authority = base.authority;
}
t.scheme = base.scheme;
}
t.fragment = r.fragment;
return t;
};
function removeDotSegments(path) {
var out = '';
while(path) {
if(path.substr(0,3)==='../' || path.substr(0,2)==='./') {
path = path.replace(/^\.+/,'').substr(1);
} else if(path.substr(0,3)==='/./' || path==='/.') {
path = '/'+path.substr(3);
} else if(path.substr(0,4)==='/../' || path==='/..') {
path = '/'+path.substr(4);
out = out.replace(/\/?[^\/]*$/, '');
} else if(path==='.' || path==='..') {
path = '';
} else {
var rm = path.match(/^\/?[^\/]*/)[0];
path = path.substr(rm.length);
out = out + rm;
}
}
return out;
}
if(uri) {
this.parse(uri);
}
},
/*
* Usage example:
* var myColor = new jscolor.color(myInputElement)
*/
color : function(target, prop) {
this.required = true; // refuse empty values?
this.adjust = true; // adjust value to uniform notation?
this.hash = false; // prefix color with # symbol?
this.caps = true; // uppercase?
this.valueElement = target; // value holder
this.styleElement = target; // where to reflect current color
this.hsv = [0, 0, 1]; // read-only 0-6, 0-1, 0-1
this.rgb = [1, 1, 1]; // read-only 0-1, 0-1, 0-1
this.pickerOnfocus = true; // display picker on focus?
this.pickerMode = 'HSV'; // HSV | HVS
this.pickerPosition = 'bottom'; // left | right | top | bottom
this.pickerFace = 10; // px
this.pickerFaceColor = 'ThreeDFace'; // CSS color
this.pickerBorder = 1; // px
this.pickerBorderColor = 'ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight'; // CSS color
this.pickerInset = 1; // px
this.pickerInsetColor = 'ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow'; // CSS color
this.pickerZIndex = 10000;
for(var p in prop) {
if(prop.hasOwnProperty(p)) {
this[p] = prop[p];
}
}
this.hidePicker = function() {
if(isPickerOwner()) {
removePicker();
}
};
this.showPicker = function() {
if(!isPickerOwner()) {
var tp = jscolor.getElementPos(target); // target pos
var ts = jscolor.getElementSize(target); // target size
var vp = jscolor.getViewPos(); // view pos
var vs = jscolor.getViewSize(); // view size
var ps = [ // picker size
2*this.pickerBorder + 4*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[0] + jscolor.images.sld[0],
2*this.pickerBorder + 2*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[1]
];
var a, b, c;
switch(this.pickerPosition.toLowerCase()) {
case 'left': a=1; b=0; c=-1; break;
case 'right':a=1; b=0; c=1; break;
case 'top': a=0; b=1; c=-1; break;
default: a=0; b=1; c=1; break;
}
var l = (ts[b]+ps[b])/2;
var pp = [ // picker pos
-vp[a]+tp[a]+ps[a] > vs[a] ?
(-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) :
tp[a],
-vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ?
(-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) :
(tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c)
];
drawPicker(pp[a], pp[b]);
}
};
this.importColor = function() {
if(!valueElement) {
this.exportColor();
} else {
if(!this.adjust) {
if(!this.fromString(valueElement.value, leaveValue)) {
styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
styleElement.style.color = styleElement.jscStyle.color;
this.exportColor(leaveValue | leaveStyle);
}
} else if(!this.required && /^\s*$/.test(valueElement.value)) {
valueElement.value = '';
styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
styleElement.style.color = styleElement.jscStyle.color;
this.exportColor(leaveValue | leaveStyle);
} else if(this.fromString(valueElement.value)) {
// OK
} else {
this.exportColor();
}
}
};
this.exportColor = function(flags) {
if(!(flags & leaveValue) && valueElement) {
var value = this.toString();
if(this.caps) { value = value.toUpperCase(); }
if(this.hash) { value = '#'+value; }
valueElement.value = value;
}
if(!(flags & leaveStyle) && styleElement) {
styleElement.style.backgroundColor =
'#'+this.toString();
styleElement.style.color =
0.213 * this.rgb[0] +
0.715 * this.rgb[1] +
0.072 * this.rgb[2]
< 0.5 ? '#FFF' : '#000';
}
if(!(flags & leavePad) && isPickerOwner()) {
redrawPad();
}
if(!(flags & leaveSld) && isPickerOwner()) {
redrawSld();
}
};
this.fromHSV = function(h, s, v, flags) { // null = don't change
h<0 && (h=0) || h>6 && (h=6);
s<0 && (s=0) || s>1 && (s=1);
v<0 && (v=0) || v>1 && (v=1);
this.rgb = HSV_RGB(
h===null ? this.hsv[0] : (this.hsv[0]=h),
s===null ? this.hsv[1] : (this.hsv[1]=s),
v===null ? this.hsv[2] : (this.hsv[2]=v)
);
this.exportColor(flags);
};
this.fromRGB = function(r, g, b, flags) { // null = don't change
r<0 && (r=0) || r>1 && (r=1);
g<0 && (g=0) || g>1 && (g=1);
b<0 && (b=0) || b>1 && (b=1);
var hsv = RGB_HSV(
r===null ? this.rgb[0] : (this.rgb[0]=r),
g===null ? this.rgb[1] : (this.rgb[1]=g),
b===null ? this.rgb[2] : (this.rgb[2]=b)
);
if(hsv[0] !== null) {
this.hsv[0] = hsv[0];
}
if(hsv[2] !== 0) {
this.hsv[1] = hsv[1];
}
this.hsv[2] = hsv[2];
this.exportColor(flags);
};
this.fromString = function(hex, flags) {
var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);
if(!m) {
return false;
} else {
if(m[1].length === 6) { // 6-char notation
this.fromRGB(
parseInt(m[1].substr(0,2),16) / 255,
parseInt(m[1].substr(2,2),16) / 255,
parseInt(m[1].substr(4,2),16) / 255,
flags
);
} else { // 3-char notation
this.fromRGB(
parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255,
parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255,
parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255,
flags
);
}
return true;
}
};
this.toString = function() {
return (
(0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) +
(0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) +
(0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1)
);
};
function RGB_HSV(r, g, b) {
var n = Math.min(Math.min(r,g),b);
var v = Math.max(Math.max(r,g),b);
var m = v - n;
if(m === 0) { return [ null, 0, v ]; }
var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m);
return [ h===6?0:h, m/v, v ];
}
function HSV_RGB(h, s, v) {
if(h === null) { return [ v, v, v ]; }
var i = Math.floor(h);
var f = i%2 ? h-i : 1-(h-i);
var m = v * (1 - s);
var n = v * (1 - s*f);
switch(i) {
case 6:
case 0: return [v,n,m];
case 1: return [n,v,m];
case 2: return [m,v,n];
case 3: return [m,n,v];
case 4: return [n,m,v];
case 5: return [v,m,n];
}
}
function removePicker() {
delete jscolor.picker.owner;
document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB);
}
function drawPicker(x, y) {
if(!jscolor.picker) {
jscolor.picker = {
box : document.createElement('div'),
boxB : document.createElement('div'),
pad : document.createElement('div'),
padB : document.createElement('div'),
padM : document.createElement('div'),
sld : document.createElement('div'),
sldB : document.createElement('div'),
sldM : document.createElement('div')
};
for(var i=0,segSize=4; i<jscolor.images.sld[1]; i+=segSize) {
var seg = document.createElement('div');
seg.style.height = segSize+'px';
seg.style.fontSize = '1px';
seg.style.lineHeight = '0';
jscolor.picker.sld.appendChild(seg);
}
jscolor.picker.sldB.appendChild(jscolor.picker.sld);
jscolor.picker.box.appendChild(jscolor.picker.sldB);
jscolor.picker.box.appendChild(jscolor.picker.sldM);
jscolor.picker.padB.appendChild(jscolor.picker.pad);
jscolor.picker.box.appendChild(jscolor.picker.padB);
jscolor.picker.box.appendChild(jscolor.picker.padM);
jscolor.picker.boxB.appendChild(jscolor.picker.box);
}
var p = jscolor.picker;
// recompute controls positions
posPad = [
x+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset,
y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ];
posSld = [
null,
y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ];
// controls interaction
p.box.onmouseup =
p.box.onmouseout = function() { target.focus(); };
p.box.onmousedown = function() { abortBlur=true; };
p.box.onmousemove = function(e) { holdPad && setPad(e); holdSld && setSld(e); };
p.padM.onmouseup =
p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change'); } };
p.padM.onmousedown = function(e) { holdPad=true; setPad(e); };
p.sldM.onmouseup =
p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change'); } };
p.sldM.onmousedown = function(e) { holdSld=true; setSld(e); };
// picker
p.box.style.width = 4*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[0] + jscolor.images.sld[0] + 'px';
p.box.style.height = 2*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[1] + 'px';
// picker border
p.boxB.style.position = 'absolute';
p.boxB.style.clear = 'both';
p.boxB.style.left = x+'px';
p.boxB.style.top = y+'px';
p.boxB.style.zIndex = THIS.pickerZIndex;
p.boxB.style.border = THIS.pickerBorder+'px solid';
p.boxB.style.borderColor = THIS.pickerBorderColor;
p.boxB.style.background = THIS.pickerFaceColor;
// pad image
p.pad.style.width = jscolor.images.pad[0]+'px';
p.pad.style.height = jscolor.images.pad[1]+'px';
// pad border
p.padB.style.position = 'absolute';
p.padB.style.left = THIS.pickerFace+'px';
p.padB.style.top = THIS.pickerFace+'px';
p.padB.style.border = THIS.pickerInset+'px solid';
p.padB.style.borderColor = THIS.pickerInsetColor;
// pad mouse area
p.padM.style.position = 'absolute';
p.padM.style.left = '0';
p.padM.style.top = '0';
p.padM.style.width = THIS.pickerFace + 2*THIS.pickerInset + jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px';
p.padM.style.height = p.box.style.height;
p.padM.style.cursor = 'crosshair';
// slider image
p.sld.style.overflow = 'hidden';
p.sld.style.width = jscolor.images.sld[0]+'px';
p.sld.style.height = jscolor.images.sld[1]+'px';
// slider border
p.sldB.style.position = 'absolute';
p.sldB.style.right = THIS.pickerFace+'px';
p.sldB.style.top = THIS.pickerFace+'px';
p.sldB.style.border = THIS.pickerInset+'px solid';
p.sldB.style.borderColor = THIS.pickerInsetColor;
// slider mouse area
p.sldM.style.position = 'absolute';
p.sldM.style.right = '0';
p.sldM.style.top = '0';
p.sldM.style.width = jscolor.images.sld[0] + jscolor.images.arrow[0] + THIS.pickerFace + 2*THIS.pickerInset + 'px';
p.sldM.style.height = p.box.style.height;
try {
p.sldM.style.cursor = 'pointer';
} catch(eOldIE) {
p.sldM.style.cursor = 'hand';
}
// load images in optimal order
switch(modeID) {
case 0: var padImg = 'hs.png'; break;
case 1: var padImg = 'hv.png'; break;
}
p.padM.style.background = "url('"+jscolor.getDir()+"cross.gif') no-repeat";
p.sldM.style.background = "url('"+jscolor.getDir()+"arrow.gif') no-repeat";
p.pad.style.background = "url('"+jscolor.getDir()+padImg+"') 0 0 no-repeat";
// place pointers
redrawPad();
redrawSld();
jscolor.picker.owner = THIS;
document.getElementsByTagName('body')[0].appendChild(p.boxB);
}
function redrawPad() {
// redraw the pad pointer
switch(modeID) {
case 0: var yComponent = 1; break;
case 1: var yComponent = 2; break;
}
var x = Math.round((THIS.hsv[0]/6) * (jscolor.images.pad[0]-1));
var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.pad[1]-1));
jscolor.picker.padM.style.backgroundPosition =
(THIS.pickerFace+THIS.pickerInset+x - Math.floor(jscolor.images.cross[0]/2)) + 'px ' +
(THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.cross[1]/2)) + 'px';
// redraw the slider image
var seg = jscolor.picker.sld.childNodes;
switch(modeID) {
case 0:
var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1);
for(var i=0; i<seg.length; i+=1) {
seg[i].style.backgroundColor = 'rgb('+
(rgb[0]*(1-i/seg.length)*100)+'%,'+
(rgb[1]*(1-i/seg.length)*100)+'%,'+
(rgb[2]*(1-i/seg.length)*100)+'%)';
}
break;
case 1:
var rgb, s, c = [ THIS.hsv[2], 0, 0 ];
var i = Math.floor(THIS.hsv[0]);
var f = i%2 ? THIS.hsv[0]-i : 1-(THIS.hsv[0]-i);
switch(i) {
case 6:
case 0: rgb=[0,1,2]; break;
case 1: rgb=[1,0,2]; break;
case 2: rgb=[2,0,1]; break;
case 3: rgb=[2,1,0]; break;
case 4: rgb=[1,2,0]; break;
case 5: rgb=[0,2,1]; break;
}
for(var i=0; i<seg.length; i+=1) {
s = 1 - 1/(seg.length-1)*i;
c[1] = c[0] * (1 - s*f);
c[2] = c[0] * (1 - s);
seg[i].style.backgroundColor = 'rgb('+
(c[rgb[0]]*100)+'%,'+
(c[rgb[1]]*100)+'%,'+
(c[rgb[2]]*100)+'%)';
}
break;
}
}
function redrawSld() {
// redraw the slider pointer
switch(modeID) {
case 0: var yComponent = 2; break;
case 1: var yComponent = 1; break;
}
var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.sld[1]-1));
jscolor.picker.sldM.style.backgroundPosition =
'0 ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.arrow[1]/2)) + 'px';
}
function isPickerOwner() {
return jscolor.picker && jscolor.picker.owner === THIS;
}
function blurTarget() {
if(valueElement === target) {
THIS.importColor();
}
if(THIS.pickerOnfocus) {
THIS.hidePicker();
}
}
function blurValue() {
if(valueElement !== target) {
THIS.importColor();
}
}
function setPad(e) {
var posM = jscolor.getMousePos(e);
var x = posM[0]-posPad[0];
var y = posM[1]-posPad[1];
switch(modeID) {
case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break;
case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break;
}
}
function setSld(e) {
var posM = jscolor.getMousePos(e);
var y = posM[1]-posPad[1];
switch(modeID) {
case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break;
case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break;
}
}
var THIS = this;
var modeID = this.pickerMode.toLowerCase()==='hvs' ? 1 : 0;
var abortBlur = false;
var
valueElement = jscolor.fetchElement(this.valueElement),
styleElement = jscolor.fetchElement(this.styleElement);
var
holdPad = false,
holdSld = false;
var
posPad,
posSld;
var
leaveValue = 1<<0,
leaveStyle = 1<<1,
leavePad = 1<<2,
leaveSld = 1<<3;
// target
jscolor.addEvent(target, 'focus', function() {
if(THIS.pickerOnfocus) { THIS.showPicker(); }
});
jscolor.addEvent(target, 'blur', function() {
if(!abortBlur) {
window.setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false; }, 0);
} else {
abortBlur = false;
}
});
// valueElement
if(valueElement) {
var updateField = function() {
THIS.fromString(valueElement.value, leaveValue);
};
jscolor.addEvent(valueElement, 'keyup', updateField);
jscolor.addEvent(valueElement, 'input', updateField);
jscolor.addEvent(valueElement, 'blur', blurValue);
valueElement.setAttribute('autocomplete', 'off');
}
// styleElement
if(styleElement) {
styleElement.jscStyle = {
backgroundColor : styleElement.style.backgroundColor,
color : styleElement.style.color
};
}
// require images
switch(modeID) {
case 0: jscolor.requireImage('hs.png'); break;
case 1: jscolor.requireImage('hv.png'); break;
}
jscolor.requireImage('cross.gif');
jscolor.requireImage('arrow.gif');
this.importColor();
}
};
jscolor.install();

@ -31,6 +31,7 @@
} }
function user_login($user_name, $user_pass) { function user_login($user_name, $user_pass) {
global $dblink;
// check user_name length // check user_name length
if($this->check_strlen($user_name)==FALSE) { if($this->check_strlen($user_name)==FALSE) {
return FALSE; return FALSE;
@ -43,13 +44,14 @@
// get user data // get user data
// initiate class // initiate class
$db = new Db(); $db = new Db($dblink);
// build query // build query
$query = "SELECT $query = "SELECT
user.user_id, user.user_id,
user.user_pass, user.user_pass,
user.user_displayname, user.user_displayname,
user.user_language,
user.user_imagesize, user.user_imagesize,
user.user_imagecount, user.user_imagecount,
user.user_mac, user.user_mac,
@ -63,7 +65,9 @@
user.user_menu_nodes, user.user_menu_nodes,
user.user_menu_subnets, user.user_menu_subnets,
user.user_menu_users, user.user_menu_users,
user.user_menu_vlans user.user_menu_vlans,
user.user_menu_zones,
user.user_tooltips
FROM FROM
user user
WHERE WHERE
@ -82,6 +86,7 @@
// all ok: user is logged in, register session data // all ok: user is logged in, register session data
$_SESSION['suser_id'] = $users[0]['user_id']; $_SESSION['suser_id'] = $users[0]['user_id'];
$_SESSION['suser_displayname'] = $users[0]['user_displayname']; $_SESSION['suser_displayname'] = $users[0]['user_displayname'];
$_SESSION['suser_language'] = $users[0]['user_language'];
$_SESSION['suser_imagesize'] = $users[0]['user_imagesize']; $_SESSION['suser_imagesize'] = $users[0]['user_imagesize'];
$_SESSION['suser_imagecount'] = $users[0]['user_imagecount']; $_SESSION['suser_imagecount'] = $users[0]['user_imagecount'];
$_SESSION['suser_mac'] = $users[0]['user_mac']; $_SESSION['suser_mac'] = $users[0]['user_mac'];
@ -96,6 +101,8 @@
$_SESSION['suser_menu_subnets'] = $users[0]['user_menu_subnets']; $_SESSION['suser_menu_subnets'] = $users[0]['user_menu_subnets'];
$_SESSION['suser_menu_users'] = $users[0]['user_menu_users']; $_SESSION['suser_menu_users'] = $users[0]['user_menu_users'];
$_SESSION['suser_menu_vlans'] = $users[0]['user_menu_vlans']; $_SESSION['suser_menu_vlans'] = $users[0]['user_menu_vlans'];
$_SESSION['suser_menu_zones'] = $users[0]['user_menu_zones'];
$_SESSION['suser_tooltips'] = $users[0]['user_tooltips'];
} else { } else {
return FALSE; return FALSE;
} }

@ -1,483 +0,0 @@
<?php
/*****************************************************************************
$Id: yapter.php,v 1.24 2006/01/31 07:30:28 nvie Exp $
Yapter 2.14b2 - Yet Another PHP Template Engine ®
Copyright (C) 2001-2003 Vincent Driessen
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
For more information, visit http://yapter.sf.net/ or contact us at
nvie@users.sourceforge.net
The full terms of the GNU Lesser General Public License that apply to Yapter
can be found at http://yapter.sf.net/LICENSE
*****************************************************************************/
// Define Yapter's warning levels
define('E_YAPTER_NONE', 0); // Be completely silent
define('E_YAPTER_NOTICE', 1); // Report notices
define('E_YAPTER_WARNING', 2); // Report warnings
define('E_YAPTER_ERROR', 4); // Report errors
define('E_YAPTER_DIE_ON_ERROR', 8); // Die on errors
define('E_YAPTER_ALL', 15); // Report errors, warnings and notices
// Define Yapter's ignore levels
define('E_YAPTER_IGN_UNKNOWN_VARS', 16); // Ignore unknown variables
define('E_YAPTER_AUTO_HIDE_BLOCK', 32); // Automaticly hide unparsed blocks
class Template {
var $_ROOT = '__DOCUMENT_ROOT';
var $parseUnknownVars = false; // Defines whether unknown variables should be removed or left alone
var $blox = array(); // $blox[blockname]['content'] holds the template's content
// $blox[blockname]['numlines'] holds the number of lines in the block
// $blox[blockname]['parsed'] holds an array with the parsed data
// $blox[$_ROOT] always holds the main template
var $blockDefs = array(); // Keeps track of all block-definitions from which multiple blocks...
// ...can be created instances of
var $vars = array(); // This array contains all variables. All are accessible from all blocks.
var $warningLevel; // The level of verbosity Yapter complies with (see the E_* defines above)
var $startTime; // Holds the start time of the script, so that it can compare it to the...
// ...end time to calculate the execution time. (For debugging purposes only.)
var $missing_list; // List of variable names that are declared but never set.
/////////////////////////////////////////////////////////////////////
function error($msg)
{
if ($this->warningLevel & E_YAPTER_ERROR)
if ($this->warningLevel & E_YAPTER_DIE_ON_ERROR )
// if DIE_ON_ERROR is set, then do die on error!
die("<br />\n<b>Yapter error</b>: ".$msg."<br />\n"); // Die here!
else
// else just barf out the message
echo "<br />\n<b>Yapter error</b>: ".$msg."<br />\n";
}
function warning($msg)
{
if ($this->warningLevel & E_YAPTER_WARNING)
echo "<br />\n<b>Yapter warning</b>: ".$msg."<br />\n";
}
function notice($msg)
{
if ($this->warningLevel & E_YAPTER_NOTICE)
echo "<br />\n<b>Yapter notice</b>: ".$msg."<br />\n";
}
function warn_var_not_set($varname)
{
if (!in_array($varname, $this->missing_list) && !($this->warningLevel & E_YAPTER_IGN_UNKNOWN_VARS)) {
$this->missing_list[] = $varname; // Add it to the list...
// ...and print a warning once.
$this->warning('Variable <b>'.htmlspecialchars($varname).'</b> found, but never assigned a value. (This message is shown only once for each variable.)');
}
}
/////////////////////////////////////////////////////////////////////
function Template($file, $level = E_YAPTER_ALL)
{
if (is_bool($level)) {
//
// Rationale:
// =========
// Older Yapter versions had the possibility of turning
// on the so called "debug mode" with a bool parameter
// as the second argument to this constructor.
// However, since debug mode was dropped and the
// warning level support was built in, it was a logical
// step of replacing the second parameter.
//
// However, to prevent people from making mistakes,
// we'll check if the user passed a boolean parameter.
// If so, he or she is probably using debug mode, and
// we'll issue a notice in these cases.
//
// Thanks to Ivo Koster.
//
$this->notice('Debug mode is not supported anymore since Yapter version 2.12.');
$this->warningLevel = E_YAPTER_ALL;
}
else
$this->warningLevel = (int)$level;
$this->startTime = $this->getmicrotime();
$this->addBlockFromFile($this->_ROOT, $file);
$this->missing_list = array();
}
/* setParseMode(): specifies to parse unknown variables or not */
function setParseMode($parseUnknownVars)
{
$this->parseUnknownVars = (bool)$parseUnknownVars;
}
/* setWarningLevel(): sets the level of verbosity which Yapter should obey */
function setWarningLevel($level)
{
$this->warningLevel = $level;
}
/* addBlock(): adds a new block to the blox-array */
function addBlock($blockname, $content)
{
$this->blox[$blockname]['content'] = $content;
$this->blox[$blockname]['numlines'] = sizeof($this->blox[$blockname]['content']);
$this->blox[$blockname]['parsed'] = '';
$this->prepare($blockname);
}
/* addBlockFromFile(): adds a new block, filling it with the specified's file contents */
function addBlockFromFile($blockname, $file)
{
$content = @file($file) or $this->error('Cannot open template file <b>'.htmlspecialchars($file).'</b>!');
//--- eliminate double block def mod -klp
// if ($blockname != $this->_ROOT)
// $this->addBlockDef($blockname, $content);
$this->addBlock($blockname, $content);
}
/* addBlockDef(): adds a block definition to the block-definition array from which other blocks can be copied */
function addBlockDef($blockdef, $content)
{
/* if (isset($this->blockDefs[$blockdef]))
$this->error('Block "'.htmlspecialchars($blockdef).'" allready exists. I cannot create it twice.');
else
$this->blockDefs[$blockdef] = $content;
*/
$this->blockDefs[$blockdef] = $content;
}
/* addBlockFromDef(): copies a block from the block definition array */
function addBlockFromDef($blockname, $blockdef)
{
$this->addBlock($blockname, $this->blockDefs[$blockdef]);
}
/* prepare(): handles subprocessing of templates found in the main template file */
function prepare($blockname)
{
$currblockcontents = array();
$block = &$this->blox[$blockname];
for ($i = 0; $i < $block['numlines']; $i++) {
if (isset($block['content'][$i]))
$line = $block['content'][$i];
else
continue;
// Try to find a tag-definition on this line
if (preg_match('/\[(INCLUDE|BLOCK|END|REUSE|SET) ([A-Za-z0-9_.\/-]+)( AS ([A-Za-z0-9_-]+))?]/', $line, $matches)) {
$type = $matches[1];
$name = (!empty($matches[4])) ? $matches[4] : $matches[2];
if ($type == 'END' && !isset($currblockdef))
$this->error('"[END '.$name.']" found without matching "[BLOCK '.$name.']" or "[SET '.$name.']"');
if ($type == 'END' && $matches[2] == $currblockdef) {
if (isset($matches[4]))
$this->error('Given "AS"-parameter not allowed in END-tags!');
// End the current block definition: add the block to the blox-array
//--- if wrapper mod -klp
if (isset($currblockdef) && isset($currblockcontents) && isset($currblockname)) {
$this->addBlockDef($currblockdef, $currblockcontents);
$this->addBlockFromDef($currblockname, $currblockdef);
}
// Now, try to remove the block from the template definition, replacing it with a var
for ($j = $i; $j >= $currblockstart; $j--) {
if ($j == $currblockstart && $currblocktype == 'BLOCK')
$block['content'][$j] = "{" . $currblockname . "}";
else
unset($block['content'][$j]);
}
// unset these thingies for further preparing
unset($currblocktype);
unset($currblockstart);
unset($currblockname);
unset($currblockdef);
$currblockcontents = array();
} elseif (($type == 'SET' || $type == 'BLOCK') && !isset($currblockname)) {
if ($type == 'BLOCK') {
// Start block definition
$currblocktype = $type;
$currblockstart = $i;
$currblockname = $name;
$currblockdef = $matches[2];
} else { // SET-tag
// Start block definition
if (isset($matches[4]))
$this->error('Given "AS"-parameter not allowed in SET-tags!');
$currblocktype = $type;
$currblockstart = $i;
$currblockname = $matches[2];
$currblockdef = $matches[2];
}
} elseif ($type == 'INCLUDE' && !isset($currblockname)) {
// Make this line a variable...
$block['content'][$i] = "{" . $name . "}\n";
// ...and include the given file...
$this->addBlockFromFile($name, $matches[2]);
} elseif ($type == 'REUSE' && !isset($currblockname)) {
if (!isset($matches[4]))
$this->error('Missing "AS"-parameter in [REUSE <b>$name</b>] tag!');
// Make this line a variable...
$block['content'][$i] = "{" . $matches[4] . "}\n";
// ...and get this REUSE value from the block definition list...
$this->addBlockFromDef($matches[4], $matches[2]);
} elseif ($currblockname != $name) {
if ($currblockname)
$currblockcontents[] = $line;
}
} else {
// No tag-definition... just normal text so do nothing here
if (!empty($currblockname))
$currblockcontents[] = $line;
}
}
}
/* parse(): parses the specified block, filling variables and nested blockdefs */
function parse($blockname = '')
{
if (!$blockname)
$blockname = $this->_ROOT;
if (!isset($this->blox[$blockname]))
$this->error('Block "'.htmlspecialchars($blockname).'" does not exist.');
$block = &$this->blox[$blockname];
$parsed = $block['content'];
// Loop through all the lines of the template and parse variables one-by-one
for ($i = 0; $i < $block['numlines']; $i++) {
if (!isset($parsed[$i]))
continue;
$line = $parsed[$i];
// Look for variables in this line, processing it character-by-character
unset($start);
unset($buffer);
for ($j = 0; $j < strlen($line); $j++) {
$char = $line[$j];
if (!isset($start) && $char == '{')
$start = $j;
elseif (isset($start) && $char == '}') {
// The sequence {} is not a valid variable value
if (!isset($buffer)) {
unset($start);
continue;
} else {
// Gotcha! Now replace this variable with its contents
// First, check to see if it's a variable or a block that has to be parsed
if (isset($this->vars[$buffer]))
$value = $this->vars[$buffer];
elseif (isset($this->blox[$buffer])) {
if ($this->blox[$buffer]['parsed']) {
// The value must be filled with the parsed data from the $buffer block
$value = @implode('', $this->blox[$buffer]['parsed']);
} elseif ($this->warningLevel & E_YAPTER_AUTO_HIDE_BLOCK) {
// Automaticly hide unparsed bloks
$value = "";
} else {
// Make the recursive call now
$value = @implode('', $this->parse($buffer));
}
} else {
// No variable or block name found by the name of $buffer
// First, issue a warning!
$this->warn_var_not_set($buffer);
if ($this->parseUnknownVars) {
// Unable to find variable, replace this one with an empty
// string silently.
$value = '';
} else {
// Unable to find variable, leave this one alone...
unset($start);
unset($buffer);
continue;
}
}
$part1 = substr($line, 0, $start);
$part2 = substr($line, $start + strlen($buffer) + 2);
$line = $part1 . $value . $part2;
$j += strlen($value) - (strlen($buffer) + 2);
unset($start);
unset($buffer);
}
} elseif (isset($start)) {
// Check to see $char is a proper character (range: [A-Za-z0-9_./-])
// In Yapter 2.13b2, I've added the '/' char as well, to support inclusion
// from Unix paths, like '../../foo.tpl'
if (($char >= 'a' && $char <= 'z') || ($char >= '0' && $char <= '9') || ($char >= 'A' && $char <= 'Z') || ($char == '_') || ($char == '.') || ($char == '-') || ($char == '/')) {
if (!empty($buffer))
$buffer .= $char;
else
$buffer = $char;
} else {
unset($start);
unset($buffer);
}
}
}
$parsed[$i] = $line;
}
if (is_array($this->blox[$blockname]['parsed'])) {
$this->blox[$blockname]['parsed'] = array_merge($this->blox[$blockname]['parsed'], $parsed);
} else {
//--- array cast mod -klp
$this->blox[$blockname]['parsed'] = (array) $parsed;
}
return $this->blox[$blockname]['parsed'];
}
/* set(): assigns a value to a variabele inside curly brackets ('{' and '}') */
function set($varname, $value)
{
if (isset($value))
$this->vars[$varname] = $value;
else
$this->warning('Trying to set <b>'.htmlspecialchars($varname).'</b> to NULL. Variable not set.');
}
/* setVars(): assigns values to variables for each element in the given array
Contributed by: Raniz
*/
function setVars($variables)
{
if (!is_array($variables))
$this->error('Value passed to setVars is not an array.');
foreach($variables as $varname => $value)
$this->vars[$varname] = $value;
}
/* setFile(): assigns the contents of a file to a variabele inside curly brackets ('{' and '}') */
function setFile($varname, $filename)
{
if (!file_exists($filename))
$this->error('Cannot open file "'.htmlspecialchars($filename).'" for inclusion in "'.htmlspecialchars($varname).'".');
$value = implode('', file($filename));
$this->set($varname, $value);
}
/* getVar(): returns the value of the 'varname' variable */
function getVar($varname)
{
if ($this->vars[$varname])
return $this->vars[$varname];
else
return false;
}
/* getBlock(): returns the content of the 'blockname' block */
function getBlockContent($blockname)
{
if ($this->$blox[$blockname]['content'])
return @implode('', $this->$blox[$blockname]['content']);
else
return false;
}
/* replace(): replaces the content of one block by another */
function replace($block, $byblock)
{
if (!isset($this->blox[$block]))
$this->error('Block "'.htmlspecialchars($block).'" does not exist.');
if (!isset($this->blox[$byblock]))
$this->error('Block "'.htmlspecialchars($block).'" does not exist.');
$this->blox[$block]['content'] = $this->blox[$byblock]['content'];
$this->blox[$block]['numlines'] = $this->blox[$byblock]['numlines'];
}
/* hide(): hides all the contents of the given block */
function hide($block)
{
if (!isset($this->blox[$block]))
$this->error('Block "'.htmlspecialchars($block).'" does not exist.');
$this->blox[$block]['content'] = array();
$this->blox[$block]['numlines'] = 0;
}
/* clear(): resets the parsed data to an empty string again and defines the block as 'unparsed' */
function clear($blockname)
{
if (!isset($this->blox[$blockname]))
$this->error('Block "'.htmlspecialchars($blockname).'" does not exist.');
$this->blox[$blockname]['parsed'] = '';
unset($this->vars[$blockname]); // often, a variabele is set whenever a block should be discarded...
// ...now reset such a variable to make sure the block is not overriden
}
/* getContents(): gets the final contents to be outputted on the screen */
function getContents($blockname = '')
{
if ($blockname == '') $blockname = $this->_ROOT;
$parsed = $this->blox[$blockname]['parsed'];
if ($parsed)
return implode('', $parsed);
else
return false;
}
/* spit(): ouputs contents to screen */
function spit()
{
echo $this->getContents();
}
function getmicrotime()
{
/* I got this getmicrotime()-function from the PHP.net website, but it seems to be
buggy, while it sometimes displays a negative execution time when you substract
the current time with the starting time of the script... I only noticed it at
my Windows localhost machine, not on *nix servers. Is anybody familiar with this
behaviour? Any information about this is welcome at nvie@users.sourceforge.net
for your co-operation. */
list($usec, $sec) = explode(' ', microtime());
return ((float)$usec + (float)$sec);
}
function execTime()
{
return round($this->getmicrotime() - $this->startTime, 5);
}
function executionTime()
{
echo "<p>\n\nThe execution time is <b>".$this->execTime()."</b> seconds.<br>\n";
}
}
?>

@ -27,100 +27,43 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/location.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// start location // start location
// look for locations // look for locations
// build query // build query
$query = "SELECT $query = "SELECT
location.location_id AS location_id, location_id AS id,
location.location_name AS location_name, location_name AS value,
location.location_parent AS location_parent location_parent AS parent_id
FROM FROM
location location
ORDER BY ORDER BY location_parent, location_sort, location_name";
location.location_name";
// run query // run query
$locations = $db->db_select($query); $locations = $db->db_select($query);
// count results function build_tree($parent_id, $level) {
$location_counter = count($locations); global $locations;
$children = array();
// counter to tpl foreach ($locations as $key => $location) {
$tp->set("location_counter", $location_counter); if ($location['parent_id'] == $parent_id) {
unset($location['parent_id']);
// any loactions? $location['children'] = build_tree($location['id'], $level+1);
if ($location_counter>0) { $location['level'] = $level;
// get objects $location['href'] = 'locationview.php?location_id=' . $location['id'];
foreach($locations AS $location) { $children[] = $location;
// create arrays
$location_names[$location['location_id']] = $location['location_name'];
$parents[$location['location_parent']][] = $location['location_id'];
} }
} }
// look for parents
// function to look for parents and create a new array for every child
function location($parents, $parent = 0) {
// loop array to check
foreach($parents[$parent] as $child) {
if(isset($parents[$child])) {
// element has children
$children[$child] = location($parents, $child);
} else {
// no children, set NULL
$children[$child] = NULL;
}
}
// and again...
return $children; return $children;
} }
$tree = build_tree(0, 0);
// to tpl $smarty->assign("locations", $tree);
// recursive children check to template
function checkchildren($locations, $level) {
// include template class
global $tp;
// import location names
global $location_names;
// action!
foreach ($locations as $parent=>$child) {
// send vars to template
$tp->set("location_id", $parent);
$tp->set("location_name", $location_names[$parent]);
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
$tp->parse("location_row");
// any children?
if($child != "") {
// yes, so do the loop again!
checkchildren($child, $level+1);
}
}
// parse and clear for the next round
$tp->parse("location_table");
$tp->clear("location_table");
}
// assemble the tree
$tree = location($parents);
// check for values and build template
checkchildren($tree, 0);
// end page // end page
// output // output
$tp->parse(); $smarty->display("location.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -30,23 +30,19 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/locationadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// ************* <option value="0">{$lang_option_none}</option>
// start parent // start parent
// look for locations // look for locations
// build query // build query
$query = "SELECT $query = "SELECT location_id, location_name, location_parent, location_sort
location.location_id AS location_id, FROM location
location.location_name AS location_name, ORDER BY location_parent, location_sort, location_name";
location.location_parent AS location_parent
FROM
location
ORDER BY
location.location_name";
// run query // run query
$locations = $db->db_select($query); $locations = $db->db_select($query);
@ -82,57 +78,31 @@
return $children; return $children;
} }
// to tpl
// recursive children check to template // recursive children check to template
function checkchildren($locations, $level) { function checkchildren($locations, $level) {
// include template class global $location_options;
global $tp;
// import location names
global $location_names; global $location_names;
// import location names
global $location_parent; global $location_parent;
// action!
foreach ($locations as $parent=>$child) { foreach ($locations as $parent=>$child) {
// send vars to template $row = str_repeat("-&nbsp;&nbsp;", $level) . $location_names[$parent];
$tp->set("location_id", $parent); $location_options[$parent] = $row;
$tp->set("location_name", $location_names[$parent]); if(isset($child)) {
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
// set parent selected
if($parent==$location_parent) {
$tp->set("location_selected", "selected");
} else {
$tp->set("location_selected", "");
}
// parse block
$tp->parse("location_row");
// any children?
if($child != "") {
// yes, so do the loop again!
checkchildren($child, $level+1); checkchildren($child, $level+1);
} }
} }
// parse and clear for the next round
$tp->parse("location_table");
$tp->clear("location_table");
} }
// assemble the tree
$tree = location($parents); $tree = location($parents);
$location_options = array(0 => '-');
// check for values and build template
checkchildren($tree, 0); checkchildren($tree, 0);
$smarty->assign("location_options", $location_options);
$smarty->assign("location_parent", $location_parent);
// end page // end page
// output // output
$tp->parse(); $smarty->display("locationadd.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/locationdel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup location // setup location
// build query // build query
@ -49,13 +46,12 @@
$location = $db->db_select($query); $location = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("location_id", $location_id); $smarty->assign("location_id", $location_id);
$tp->set("location_name", $location[0]['location_name']); $smarty->assign("location_name", $location[0]['location_name']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("locationdel.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -30,18 +30,16 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/locationedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup location // setup location
// build query // build query
$query = "SELECT $query = "SELECT
location.location_name AS location_name, location_name,
location.location_parent AS location_parent, location_parent,
location.location_info AS location_info location_info,
location_sort
FROM FROM
location location
WHERE WHERE
@ -54,9 +52,10 @@
$location_parent = $location[0]['location_parent']; $location_parent = $location[0]['location_parent'];
// send to tpl // send to tpl
$tp->set("location_id", $location_id); $smarty->assign("location_id", $location_id);
$tp->set("location_name", $location[0]['location_name']); $smarty->assign("location_name", $location[0]['location_name']);
$tp->set("location_info", $location[0]['location_info']); $smarty->assign("location_info", $location[0]['location_info']);
$smarty->assign("location_sort", $location[0]['location_sort']);
// setup parent location // setup parent location
// look for locations // look for locations
@ -77,7 +76,7 @@
$location_counter = count($locations); $location_counter = count($locations);
// counter to tpl // counter to tpl
$tp->set("location_counter", $location_counter); $smarty->assign("location_counter", $location_counter);
// any loactions? // any loactions?
if ($location_counter>0) { if ($location_counter>0) {
@ -107,60 +106,31 @@
return $children; return $children;
} }
// to tpl
// recursive children check to template // recursive children check to template
function checkchildren($locations, $level) { function checkchildren($locations, $level) {
// include template class global $location_options;
global $tp;
// import location names
global $location_names; global $location_names;
// import current id
global $location_id;
// import parent
global $location_parent; global $location_parent;
// action!
foreach ($locations as $parent=>$child) { foreach ($locations as $parent=>$child) {
// send vars to template $row = str_repeat("-&nbsp;&nbsp;", $level) . $location_names[$parent];
$tp->set("parentlocation_id", $parent); $location_options[$parent] = $row;
$tp->set("parentlocation_name", $location_names[$parent]); if(isset($child)) {
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
// set parent selected
if($parent==$location_parent) {
$tp->set("parentlocation_selected", "selected");
} else {
$tp->set("parentlocation_selected", "");
}
// parse block
$tp->parse("parentlocation_row");
// any children?
if($child != "") {
// yes, so do the loop again!
checkchildren($child, $level+1); checkchildren($child, $level+1);
} }
} }
// parse and clear for the next round
$tp->parse("parentlocation_table");
$tp->clear("parentlocation_table");
} }
// assemble the tree
$tree = location($parents); $tree = location($parents);
$location_options = array(0 => '-');
// check for values and build template
checkchildren($tree, 0); checkchildren($tree, 0);
$smarty->assign("location_options", $location_options);
$smarty->assign("location_parent", $location_parent);
// end page // end page
// output // output
$tp->parse(); $smarty->display("locationedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/locationsubnetadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup location // setup location
// build query // build query
@ -48,59 +45,15 @@
// run query // run query
$location = $db->db_select($query); $location = $db->db_select($query);
$tp->set("location_id", $location_id); $smarty->assign("location_id", $location_id);
$tp->set("location_name", $location[0]['location_name']); $smarty->assign("location_name", $location[0]['location_name']);
// setup subnet // setup subnet
// build query $smarty->assign("subnet_options", $db->options_subnet());
$query = " SELECT
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address,
subnet.subnet_mask AS subnet_mask
FROM
subnet
WHERE
subnet.subnet_id NOT IN (
SELECT
subnet_id
FROM
subnetlocation
WHERE
location_id=" . $location_id . "
)
ORDER BY
INET_ATON(subnet.subnet_address)";
// run query
$subnets = $db->db_select($query);
// count results
$subnet_counter = count($subnets);
// any locations?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
// parse row
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// hide block
$tp->hide("subnet_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("locationsubnetadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/locationsubnetdel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup location // setup location
// build query // build query
@ -48,8 +45,8 @@
// run query // run query
$location = $db->db_select($query); $location = $db->db_select($query);
$tp->set("location_id", $location_id); $smarty->assign("location_id", $location_id);
$tp->set("location_name", $location[0]['location_name']); $smarty->assign("location_name", $location[0]['location_name']);
// setup subnet // setup subnet
// build query // build query
@ -68,34 +65,11 @@
// run query // run query
$subnets = $db->db_select($query); $subnets = $db->db_select($query);
$smarty->assign($subnets);
// count results
$subnet_counter = count($subnets);
// any locations?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
// parse row
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// hide block
$tp->hide("subnet_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("locationsubnetdel.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/locationsubnetedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup location // setup location
// build query // build query
@ -49,13 +46,12 @@
$location = $db->db_select($query); $location = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("location_id", $location_id); $smarty->assign("location_id", $location_id);
$tp->set("location_name", $location[0]['location_name']); $smarty->assign("location_name", $location[0]['location_name']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("locationsubnetedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,135 +30,57 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/locationview.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// start locationcrumb // start locationcrumb
// get locations // get location crumbs
// build query
$query = "SELECT $query = "SELECT location_id AS id,
location.location_id AS location_id, location_name AS name,
location.location_name AS location_name, location_parent AS parent_id,
location.location_parent AS location_parent location_info
FROM FROM location
location"; WHERE location_id=" . $location_id;
// run query
$locations = $db->db_select($query);
// count results
$location_counter = count($locations);
// counter to tpl
$tp->set("location_counter", $location_counter);
// any loactions?
if ($location_counter>0) {
// get objects
foreach($locations AS $location) {
// create arrays
$location_names[$location['location_id']] = $location['location_name'];
$parents[$location['location_id']] = $location['location_parent'];
}
}
// build parents array
// function to build array with parents for this location
function parent($location_id) {
// use names index
global $parents;
global $crumbs;
global $location_names;
// fill array with this value
$crumbs[$location_id] = $location_id;
if (($parents[$location_id])>0) {
// still not on top, so do it again
parent($parents[$location_id]);
}
// return the array
return $location_id;
}
// build parents
parent($location_id);
// to tpl
// loop in reverse order
foreach (array_reverse($crumbs) as $key=>$val) {
// send vars to template
$tp->set("location_id", $val);
$tp->set("location_name", $location_names[$val]);
// include seperator?
if (($key>0) ? $tp->set("seperator", ".&nbsp;") : $tp->set("seperator", ""));
// parse block
$tp->parse("locationcrumb_row");
}
// parse block
$tp->parse("locationcrumb_table");
// setup location
// build query
$query = "SELECT
location.location_info AS location_info
FROM
location
WHERE
location.location_id=" . $location_id;
// run query
$location = $db->db_select($query); $location = $db->db_select($query);
$location[0]['url'] = 'locationview.php?location_id=' . $location[0]['id'];
$crumbs[] = $location[0];
$level = 1;
while ($crumbs[0]['parent_id'] != 0) {
$query = "SELECT location_id AS id,
location_name AS name,
location_parent AS parent_id
FROM location
WHERE location_id=" . $crumbs[0]['parent_id'];
$result = $db->db_select($query);
$result[0]['url'] = 'locationview.php?location_id=' . $result[0]['id'];
array_unshift($crumbs, $result[0]);
$level++;
}
// send to tpl // send to tpl
$tp->set("location_id", $location_id); $smarty->assign("location_id", $location_id);
$tp->set("location_info", nl2br($location[0]['location_info'])); $smarty->assign("location_info", nl2br($location[0]['location_info']));
$smarty->assign("crumbs", $crumbs);
// setup sublocations // setup sublocations
// build query // build query
$query = "SELECT $query = "SELECT
location.location_id AS sublocation_id, location_id AS sublocation_id,
location.location_name AS sublocation_name location_name AS sublocation_name,
LEFT(location_info, 40) AS info_short,
CHAR_LENGTH(location_info) AS info_length
FROM FROM
location location
WHERE WHERE
location.location_parent=" . $location_id . " location_parent=" . $location_id . "
ORDER BY ORDER BY
location.location_name"; location_name";
// run query // run query
$sublocations = $db->db_select($query); $sublocations = $db->db_select($query);
$smarty->assign("sublocations", $sublocations);
// count results
$sublocation_counter = count($sublocations);
// counter to tpl
$tp->set("sublocation_counter", $sublocation_counter);
// any nodes?
if ($sublocation_counter>0) {
// get objects
foreach($sublocations AS $sublocation) {
// send to tpl
$tp->set("sublocation_id", $sublocation['sublocation_id']);
$tp->set("sublocation_name", $sublocation['sublocation_name']);
// parse row
$tp->parse("sublocation_row");
}
// parse block
$tp->parse("sublocation_table");
} else {
// hide block
$tp->hide("sublocation_table");
}
// setup subnets // setup subnets
// build query // build query
@ -177,37 +99,11 @@
// run query // run query
$subnets = $db->db_select($query); $subnets = $db->db_select($query);
$smarty->assign("subnets", $subnets);
// count results
$subnet_counter = count($subnets);
// counter to tpl
$tp->set("subnet_counter", $subnet_counter);
// any nodes?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
// parse row
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// hide block
$tp->hide("subnet_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("locationview.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -22,6 +22,7 @@
// session // session
// start session // start session
session_name('ipreg');
session_start(); session_start();
// headers // headers
@ -37,7 +38,8 @@
include("lib.php"); include("lib.php");
// include language file // include language file
include('lang/en.php'); $language = lang_getfrombrowser($config_lang, $config_lang_default, null, false);
include('lang/' . $language . '.php');
// try login? // try login?
// check for submit // check for submit
@ -60,19 +62,15 @@
} }
// start output // start output
// set template
$tp = new Template("tpl/login.tpl", $config_yapter_error);
// get version for the footer-stamp // get version for the footer-stamp
$tp->set("config_version", $config_version); $smarty->assign("config_version", $config_version);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// end page // end page
// output // output
$tp->parse(); $smarty->display("login.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/natadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup node_ext // setup node_ext
// build query // build query
@ -48,8 +45,8 @@
// run query // run query
$node = $db->db_select($query); $node = $db->db_select($query);
$tp->set("node_id_ext", $node_id); $smarty->assign("node_id_ext", $node_id);
$tp->set("node_ip_ext", $node[0]['node_ip_ext']); $smarty->assign("node_ip_ext", $node[0]['node_ip_ext']);
// setup node_int // setup node_int
// build query // build query
@ -76,35 +73,19 @@
// run query // run query
$nodes = $db->db_select($query); $nodes = $db->db_select($query);
foreach ($nodes as $rec) {
// count results $node_options[$rec['node_id_int']] = $rec['node_ip_int'] . '/' . $rec['asset_name'];
$node_counter = count($nodes);
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("asset_name", $node['asset_name']);
$tp->set("node_id_int", $node['node_id_int']);
$tp->set("node_ip_int", $node['node_ip_int']);
// parse row
$tp->parse("node_row");
} }
$smarty->assign("node_options", $node_options);
// parse block $nat_type_options[1] = $lang['lang_nat_type_1'];
$tp->parse("node_table"); $nat_type_options[2] = $lang['lang_nat_type_2'];
} else { $nat_type_options[3] = $lang['lang_nat_type_3'];
// hide block $smarty->assign("nat_type_options", $nat_type_options);
$tp->hide("node_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("natadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/natdel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup node_ext // setup node_ext
// build query // build query
@ -48,8 +45,8 @@
// run query // run query
$node = $db->db_select($query); $node = $db->db_select($query);
$tp->set("node_id_ext", $node_id); $smarty->assign("node_id_ext", $node_id);
$tp->set("node_ip_ext", $node[0]['node_ip_ext']); $smarty->assign("node_ip_ext", $node[0]['node_ip_ext']);
// setup node // setup node
// build query // build query
@ -70,35 +67,13 @@
// run query // run query
$nodes = $db->db_select($query); $nodes = $db->db_select($query);
$smarty->assign("nodes", $nodes);
// count results // *** <option value="{node_id_int}">{node_ip_int}/{asset_name}</option>
$node_counter = count($nodes);
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("asset_name", $node['asset_name']);
$tp->set("node_id_int", $node['node_id_int']);
$tp->set("node_ip_int", $node['node_ip_int']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("natdel.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/natedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup node // setup node
// build query // build query
@ -48,13 +45,12 @@
// run query // run query
$node = $db->db_select($query); $node = $db->db_select($query);
$tp->set("node_id", $node_id); $smarty->assign("node_id", $node_id);
$tp->set("node_ip", $node[0]['node_ip']); $smarty->assign("node_ip", $node[0]['node_ip']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("natedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -27,11 +27,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/node.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// start node // start node
// setup view // setup view
@ -44,18 +41,19 @@
$subnet_view = "AND node.subnet_id=" . $subnet_id; $subnet_view = "AND node.subnet_id=" . $subnet_id;
// to tpl // to tpl
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
} else { } else {
// to tpl // to tpl
$tp->set("subnet_id", ""); $smarty->assign("subnet_id", "");
} }
// build query // build query
$query = "SELECT $query = "SELECT
asset.asset_id AS asset_id, asset.asset_id,
asset.asset_name AS asset_name, REPLACE(asset.asset_name, ' ', '&nbsp;') AS asset_name,
node.node_id AS node_id, asset.asset_info,
node.node_ip AS node_ip node.node_id,
node.node_ip
FROM FROM
asset, asset,
node node
@ -69,39 +67,11 @@
// run query // run query
$nodes = $db->db_select($query); $nodes = $db->db_select($query);
$smarty->assign("nodes", $nodes);
// count results
$node_counter = count($nodes);
// counter to tpl
$tp->set("node_counter", $node_counter);
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("asset_id", $node['asset_id']);
$tp->set("asset_name", $node['asset_name']);
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("node.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -31,86 +31,23 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/nodeadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// set vars // set vars
$tp->set("user_dns1suffix", $_SESSION['suser_dns1suffix']); $smarty->assign("user_dns1suffix", $_SESSION['suser_dns1suffix']);
$tp->set("user_dns2suffix", $_SESSION['suser_dns2suffix']); $smarty->assign("user_dns2suffix", $_SESSION['suser_dns2suffix']);
$tp->set("node_ip", $node_ip); $smarty->assign("node_ip", $node_ip);
// setup subnet // setup subnet
// build query $smarty->assign("subnet_options", $db->options_subnet());
$query = "SELECT
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address,
subnet.subnet_mask AS subnet_mask
FROM
subnet
ORDER BY
INET_ATON(subnet.subnet_address)";
// run query
$subnets = $db->db_select($query);
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
// set subnet selected
if($subnet['subnet_id']==$subnet_id) {
$tp->set("subnet_selected", "selected");
} else {
$tp->set("subnet_selected", "");
}
// parse block
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
// setup assetclass // setup assetclass
// build query $smarty->assign("assetclass_options", $db->options_assetclass());
$query = "SELECT
assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name
FROM
assetclass
ORDER BY
assetclass.assetclass_name";
// run query
$assetclasses = $db->db_select($query);
foreach($assetclasses AS $assetclass) {
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
if($assetclass['assetclass_id']==$assetclass_id) {
$tp->set("assetclass_selected", "selected");
} else {
$tp->set("assetclass_selected", "");
}
// parse block
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
// end page // end page
// output // output
$tp->parse(); $smarty->display("nodeadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/nodedel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup node // setup node
// build query // build query
@ -50,14 +47,13 @@
$node = $db->db_select($query); $node = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("node_id", $node_id); $smarty->assign("node_id", $node_id);
$tp->set("asset_id", $node[0]['asset_id']); $smarty->assign("asset_id", $node[0]['asset_id']);
$tp->set("node_ip", $node[0]['node_ip']); $smarty->assign("node_ip", $node[0]['node_ip']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("nodedel.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/nodeedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup node // setup node
// build query // build query
@ -46,7 +43,8 @@
node.node_dns1 AS node_dns1, node.node_dns1 AS node_dns1,
node.node_dns2 AS node_dns2, node.node_dns2 AS node_dns2,
node.node_info AS node_info, node.node_info AS node_info,
subnet.subnet_id AS subnet_id subnet.subnet_id AS subnet_id,
node.zone_id AS zone_id
FROM FROM
asset, asset,
node, node,
@ -59,100 +57,29 @@
// run query // run query
$node = $db->db_select($query); $node = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("node_id", $node[0]['node_id']); $smarty->assign("node_id", $node[0]['node_id']);
$tp->set("node_ip", $node[0]['node_ip']); $smarty->assign("node_ip", $node[0]['node_ip']);
$tp->set("node_mac", write_mac($node[0]['node_mac'])); $smarty->assign("node_mac", write_mac($node[0]['node_mac']));
$tp->set("node_dns1", $node[0]['node_dns1']); $smarty->assign("node_dns1", $node[0]['node_dns1']);
$tp->set("node_dns2", $node[0]['node_dns2']); $smarty->assign("node_dns2", $node[0]['node_dns2']);
$tp->set("node_info", $node[0]['node_info']); $smarty->assign("node_info", $node[0]['node_info']);
$smarty->assign("asset_id", $node[0]['asset_id']);
$smarty->assign("subnet_id", $node[0]['subnet_id']);
$smarty->assign("zone_id", $node[0]['zone_id']);
// setup asset // setup asset
// build query $smarty->assign("asset_options", $db->options_asset());
$query = "SELECT
asset.asset_id AS asset_id,
asset.asset_name AS asset_name
FROM
asset
ORDER BY
asset.asset_name";
// run query
$assets = $db->db_select($query);
// count results
$asset_counter = count($assets);
// any assets?
if ($asset_counter>0) {
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']);
if($asset['asset_id']==$node[0]['asset_id']) {
$tp->set("asset_selected", "selected");
} else {
$tp->set("asset_selected", "");
}
// parse block
$tp->parse("asset_row");
}
// parse block
$tp->parse("asset_table");
} else {
// parse block
$tp->hide("asset_table");
}
// setup subnet // setup subnet
// build query $smarty->assign("subnet_options", $db->options_subnet());
$query = "SELECT
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address,
subnet.subnet_mask AS subnet_mask
FROM
subnet
ORDER BY
INET_ATON(subnet.subnet_address)";
// run query // setup zone
$subnets = $db->db_select($query); $smarty->assign("zone_options", $db->options_zone("(keine)"));
// count results
$subnet_counter = count($subnets);
// any subnets?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
if($subnet['subnet_id']==$node[0]['subnet_id']) {
$tp->set("subnet_selected", "selected");
} else {
$tp->set("subnet_selected", "");
}
// parse block
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// parse block
$tp->hide("subnet_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("nodeedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,73 +30,37 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/nodeview.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup node // setup node
// build query // build query
$query = "SELECT $query = "SELECT
asset.asset_id AS asset_id, asset.asset_id,
asset.asset_name AS asset_name, asset.asset_name,
node.node_id AS node_id, node.node_id,
node.node_ip AS node_ip, node.node_ip,
node.node_mac AS node_mac, node.node_mac,
node.node_dns1 AS node_dns1, node.node_dns1,
node.node_dns2 AS node_dns2, node.node_dns2,
node.node_info AS node_info, node.node_info,
subnet.subnet_id AS subnet_id, node.node_type,
subnet.subnet_address AS subnet_address, subnet.subnet_id,
subnet.subnet_mask AS subnet_mask subnet.subnet_address,
subnet.subnet_mask,
zone.zone_origin
FROM FROM
asset, node
node, JOIN asset USING (asset_id)
subnet JOIN subnet USING (subnet_id)
LEFT JOIN zone USING (zone_id)
WHERE WHERE
asset.asset_id=node.asset_id node.node_id=" . $node_id;
AND node.node_id=" . $node_id . "
AND subnet.subnet_id=node.subnet_id";
// run query // run query
$nodes = $db->db_select($query); $node = $db->db_select($query);
$node[0]['node_mac'] = write_mac($node[0]['node_mac']);
// count results $smarty->assign("node", $node[0]);
$node_counter = count($nodes);
// counter to tpl
$tp->set("node_counter", $node_counter);
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("asset_id", $node['asset_id']);
$tp->set("asset_name", $node['asset_name']);
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
$tp->set("node_mac", write_mac($node['node_mac']));
$tp->set("node_dns1", $node['node_dns1']);
$tp->set("node_dns2", $node['node_dns2']);
$tp->set("node_info", nl2br($node['node_info']));
$tp->set("subnet_id", $node['subnet_id']);
$tp->set("subnet_address", $node['subnet_address']);
$tp->set("subnet_mask", $node['subnet_mask']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// setup nat // setup nat
// build query // build query
@ -129,53 +93,13 @@
INET_ATON(node_int.node_ip)"; INET_ATON(node_int.node_ip)";
// run query // run query
$nats = $db->db_select($query); $natrules = $db->db_select($query);
// count results
$nat_counter = count($nats);
// counter to tpl // counter to tpl
$tp->set("nat_counter", $nat_counter); $smarty->assign("natrules", $natrules);
// any nodes?
if ($nat_counter>0) {
// get objects
foreach($nats AS $nat) {
if($node_id==$nat['nat_ext']) {
// send to tpl
$tp->set("nat_asset_id", $nat['asset_id_int']);
$tp->set("nat_asset_name", $nat['asset_name_int']);
$tp->set("nat_type", $lang['lang_nat_type_' . $nat['nat_type']]);
$tp->set("nat_node_id", $nat['nat_int']);
$tp->set("nat_node_ip", $nat['node_ip_int']);
} else if($node_id==$nat['nat_int']) {
// send to tpl
$tp->set("nat_asset_id", $nat['asset_id_ext']);
$tp->set("nat_asset_name", $nat['asset_name_ext']);
$tp->set("nat_type", $lang['lang_nat_type_' . $nat['nat_type']]);
$tp->set("nat_node_id", $nat['nat_ext']);
$tp->set("nat_node_ip", $nat['node_ip_ext']);
}
// parse row
$tp->parse("nat_row");
}
// parse block
$tp->parse("nat_table");
} else {
// hide block
$tp->hide("nat_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("nodeview.tpl");
$tp->spit();
include("footer.php"); include("footer.php");
?> ?>

@ -27,16 +27,12 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/options.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// end page // end page
// output // output
$tp->parse(); $smarty->display("options.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -27,11 +27,9 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/optionseditdisplay.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
$smarty->assign("language", $language);
// setup options // setup options
// set menu checkboxes // set menu checkboxes
@ -83,28 +81,42 @@
} else { } else {
$user_menu_vlans_checked = ''; $user_menu_vlans_checked = '';
} }
// zones
if($_SESSION['suser_menu_zones']=='on') {
$user_menu_zones_checked = 'checked';
} else {
$user_menu_zones_checked = '';
}
// tooltips
if($_SESSION['suser_tooltips']=='on') {
$user_tooltips_checked = 'checked';
} else {
$user_tooltips_checked = '';
}
// send to tpl // send to tpl
$tp->set("user_id", $_SESSION['suser_id']); $smarty->assign("user_id", $_SESSION['suser_id']);
$tp->set("user_imagesize", $_SESSION['suser_imagesize']); $smarty->assign("user_imagesize", $_SESSION['suser_imagesize']);
$tp->set("user_imagecount", $_SESSION['suser_imagecount']); $smarty->assign("user_imagecount", $_SESSION['suser_imagecount']);
$tp->set("user_mac", $_SESSION['suser_mac']); $smarty->assign("user_mac", $_SESSION['suser_mac']);
$tp->set("user_dateformat", $_SESSION['suser_dateformat']); $smarty->assign("user_dateformat", $_SESSION['suser_dateformat']);
$tp->set("user_dns1suffix", $_SESSION['suser_dns1suffix']); $smarty->assign("user_dns1suffix", $_SESSION['suser_dns1suffix']);
$tp->set("user_dns2suffix", $_SESSION['suser_dns2suffix']); $smarty->assign("user_dns2suffix", $_SESSION['suser_dns2suffix']);
$tp->set("user_menu_assets_checked", $user_menu_assets_checked); $smarty->assign("user_language", $_SESSION['suser_language']);
$tp->set("user_menu_assetclasses_checked", $user_menu_assetclasses_checked); $smarty->assign("user_menu_assets_checked", $user_menu_assets_checked);
$tp->set("user_menu_assetclassgroups_checked", $user_menu_assetclassgroups_checked); $smarty->assign("user_menu_assetclasses_checked", $user_menu_assetclasses_checked);
$tp->set("user_menu_locations_checked", $user_menu_locations_checked); $smarty->assign("user_menu_assetclassgroups_checked", $user_menu_assetclassgroups_checked);
$tp->set("user_menu_nodes_checked", $user_menu_nodes_checked); $smarty->assign("user_menu_locations_checked", $user_menu_locations_checked);
$tp->set("user_menu_subnets_checked", $user_menu_subnets_checked); $smarty->assign("user_menu_nodes_checked", $user_menu_nodes_checked);
$tp->set("user_menu_users_checked", $user_menu_users_checked); $smarty->assign("user_menu_subnets_checked", $user_menu_subnets_checked);
$tp->set("user_menu_vlans_checked", $user_menu_vlans_checked); $smarty->assign("user_menu_users_checked", $user_menu_users_checked);
$smarty->assign("user_menu_vlans_checked", $user_menu_vlans_checked);
$smarty->assign("user_menu_zones_checked", $user_menu_zones_checked);
$smarty->assign("user_tooltips_checked", $user_tooltips_checked);
// end page // end page
// output // output
$tp->parse(); $smarty->display("optionseditdisplay.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -27,16 +27,12 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/optionseditpassword.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// end page // end page
// output // output
$tp->parse(); $smarty->display("optionseditpassword.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -27,27 +27,17 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/search.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// get string that was searched for ($search is allready set in header.php) // get string that was searched for ($search is already set in header.php)
if (empty($search)) { if (empty($search)) {
// parse nosearch box // parse nosearch box
$tp->parse("nosearch"); $smarty->assign("nosearch", TRUE);
// hide others
$tp->hide("asset");
$tp->hide("location");
$tp->hide("node");
$tp->hide("subnet");
$tp->hide("vlan");
$tp->hide("resultcount");
} else { } else {
// hide nosearch box // hide nosearch box
$tp->hide("nosearch"); $smarty->assign("nosearch", FALSE);
$smarty->assign("search", $search);
// set needle // set needle
$needle = '%' . $search . '%'; $needle = '%' . $search . '%';
@ -58,8 +48,9 @@
// setup asset // setup asset
// build query // build query
$query = "SELECT $query = "SELECT
asset.asset_id AS asset_id, asset.asset_id AS id,
asset.asset_name AS asset_name asset.asset_name AS name,
asset.asset_info AS description
FROM FROM
asset asset
WHERE WHERE
@ -71,45 +62,14 @@
// run query // run query
$assets = $db->db_select($query); $assets = $db->db_select($query);
$resultcounter += count($assets);
// count results $smarty->assign("assets", $assets);
$counter = count($assets);
// counter to tpl
$tp->set("counter", $counter);
// any assets?
if ($counter>0) {
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("item_name", $lang['lang_assets']);
$tp->set("item", "asset");
$tp->set("id", $asset['asset_id']);
$tp->set("name", $asset['asset_name']);
// parse block
$tp->parse("row");
// update counter
$resultcounter++;
}
// parse block
$tp->parse("asset");
} else {
// parse block
$tp->hide("asset");
}
// clear row
$tp->clear("row");
// setup location // setup location
// build query // build query
$query = "SELECT $query = "SELECT
location.location_id AS location_id, location.location_id AS id,
location.location_name AS location_name location.location_name AS name
FROM FROM
location location
WHERE WHERE
@ -120,45 +80,14 @@
// run query // run query
$locations = $db->db_select($query); $locations = $db->db_select($query);
$resultcounter += count($locations);
// count results $smarty->assign("locations", $locations);
$counter = count($locations);
// counter to tpl
$tp->set("counter", $counter);
// any locations?
if ($counter>0) {
// get objects
foreach($locations AS $location) {
// send to tpl
$tp->set("item_name", $lang['lang_locations']);
$tp->set("item", "location");
$tp->set("id", $location['location_id']);
$tp->set("name", $location['location_name']);
// parse block
$tp->parse("row");
// update counter
$resultcounter++;
}
// parse block
$tp->parse("location");
} else {
// parse block
$tp->hide("location");
}
// clear row
$tp->clear("row");
// setup node // setup node
// build query // build query
$query = "SELECT $query = "SELECT
node.node_id AS node_id, node.node_id AS id,
node.node_ip AS node_ip node.node_ip AS ip
FROM FROM
node node
WHERE WHERE
@ -172,45 +101,14 @@
// run query // run query
$nodes = $db->db_select($query); $nodes = $db->db_select($query);
$resultcounter += count($nodes);
// count results $smarty->assign("nodes", $nodes);
$counter = count($nodes);
// counter to tpl
$tp->set("counter", $counter);
// any nodes?
if ($counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("item_name", $lang['lang_nodes']);
$tp->set("item", "node");
$tp->set("id", $node['node_id']);
$tp->set("name", $node['node_ip']);
// parse block
$tp->parse("row");
// update counter
$resultcounter++;
}
// parse block
$tp->parse("node");
} else {
// parse block
$tp->hide("node");
}
// clear row
$tp->clear("row");
// setup subnet // setup subnet
// build query // build query
$query = "SELECT $query = "SELECT
subnet.subnet_id AS subnet_id, subnet.subnet_id AS id,
subnet.subnet_address AS subnet_address subnet.subnet_address AS address
FROM FROM
subnet subnet
WHERE WHERE
@ -221,45 +119,14 @@
// run query // run query
$subnets = $db->db_select($query); $subnets = $db->db_select($query);
$resultcounter += count($subnets);
// count results $smarty->assign("subnets", $subnets);
$counter = count($subnets);
// counter to tpl
$tp->set("counter", $counter);
// any subnets?
if ($counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("item_name", $lang['lang_subnets']);
$tp->set("item", "subnet");
$tp->set("id", $subnet['subnet_id']);
$tp->set("name", $subnet['subnet_address']);
// parse block
$tp->parse("row");
// update counter
$resultcounter++;
}
// parse block
$tp->parse("subnet");
} else {
// parse block
$tp->hide("subnet");
}
// clear row
$tp->clear("row");
// setup vlan // setup vlan
// build query // build query
$query = "SELECT $query = "SELECT
vlan.vlan_id AS vlan_id, vlan.vlan_id AS id,
vlan.vlan_name AS vlan_name vlan.vlan_name AS name
FROM FROM
vlan vlan
WHERE WHERE
@ -270,51 +137,41 @@
// run query // run query
$vlans = $db->db_select($query); $vlans = $db->db_select($query);
$resultcounter += count($vlans);
$smarty->assign("vlans", $vlans);
// count results // setup zone
$counter = count($vlans); // build query
$query = "SELECT
// counter to tpl zone_id AS id,
$tp->set("counter", $counter); zone_origin AS origin
FROM
// any vlans? zone
if ($counter>0) { WHERE
// get objects zone_origin LIKE '" . $needle . "'
foreach($vlans AS $vlan) { OR zone_soa LIKE '" . $needle . "'
// send to tpl OR zone_hostmaster LIKE '" . $needle . "'
$tp->set("item_name", $lang['lang_vlans']); OR zone_ns1 LIKE '" . $needle . "'
$tp->set("item", "vlan"); OR zone_ns2 LIKE '" . $needle . "'
$tp->set("id", $vlan['vlan_id']); OR zone_ns3 LIKE '" . $needle . "'
$tp->set("name", $vlan['vlan_name']); OR zone_mx1 LIKE '" . $needle . "'
OR zone_mx2 LIKE '" . $needle . "'
// parse block OR zone_info LIKE '" . $needle . "'
$tp->parse("row"); ORDER BY
zone_origin";
// update counter
$resultcounter++;
}
// parse block
$tp->parse("vlan");
} else {
// parse block
$tp->hide("vlan");
}
// clear row
$tp->clear("row");
// to tpl // run query
$tp->set("resultcounter", $resultcounter); $zones = $db->db_select($query);
$resultcounter += count($zones);
$smarty->assign("zones", $zones);
// parse block // grand totals
$tp->parse("resultcount"); $smarty->assign("resultcounter", $resultcounter);
} }
// end page // end page
// output // output
$tp->parse(); $smarty->display("search.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -181,14 +181,14 @@
case ("assetclassgroup") : case ("assetclassgroup") :
// get variables // get variables
$assetclassgroup_name = sanitize($_POST['assetclassgroup_name']); $assetclassgroup_name = sanitize($_POST['assetclassgroup_name']);
$assetclassgroup_color = preg_replace("|[^A-Z0-9]|", "", strtoupper(sanitize($_POST['assetclassgroup_color']))); $assetclassgroup_color = preg_replace("|[^a-zA-Z0-9]|", "", strtoupper(sanitize($_POST['assetclassgroup_color'])));
// build query // build query
$query = "INSERT $query = "INSERT
INTO INTO
assetclassgroup( assetclassgroup(
assetclassgroup.assetclassgroup_name, assetclassgroup.assetclassgroup_name,
assetclassgroupassetclassgroup_color assetclassgroup.assetclassgroup_color
) )
VALUE VALUE
( (
@ -306,7 +306,7 @@
)"; )";
// run query // run query
$location_id = $db->db_update($query); $location_id = $db->db_insert($query);
// redirect // redirect
header_location("locationview.php?location_id=" . $location_id); header_location("locationview.php?location_id=" . $location_id);
@ -330,7 +330,7 @@
)"; )";
// run query // run query
$location_id = $db->db_insert($query); $newid = $db->db_insert($query);
// redirect // redirect
header_location("locationview.php?location_id=" . $location_id); header_location("locationview.php?location_id=" . $location_id);
@ -594,6 +594,69 @@
// redirect // redirect
header_location("vlanview.php?vlan_id=" . $vlan_id); header_location("vlanview.php?vlan_id=" . $vlan_id);
break; break;
case ("zone") :
// get variables
$zone_origin = sanitize($_POST['zone_origin']);
$zone_ttl_default = sanitize($_POST['zone_ttl_default']);
$zone_soa = sanitize($_POST['zone_soa']);
$zone_hostmaster = sanitize($_POST['zone_hostmaster']);
$zone_refresh = sanitize($_POST['zone_refresh']);
$zone_retry = sanitize($_POST['zone_retry']);
$zone_expire = sanitize($_POST['zone_expire']);
$zone_ttl = sanitize($_POST['zone_ttl']);
$zone_serial = sanitize($_POST['zone_serial']);
$zone_ns1 = sanitize($_POST['zone_ns1']);
$zone_ns2 = sanitize($_POST['zone_ns2']);
$zone_ns3 = sanitize($_POST['zone_ns3']);
$zone_mx1 = sanitize($_POST['zone_mx1']);
$zone_mx2 = sanitize($_POST['zone_mx2']);
$zone_info = sanitize($_POST['zone_info']);
// build query
$query = "INSERT
INTO
zone(
zone.zone_origin,
zone.zone_ttl_default,
zone.zone_soa,
zone.zone_hostmaster,
zone.zone_refresh,
zone.zone_retry,
zone.zone_expire,
zone.zone_ttl,
zone.zone_serial,
zone.zone_ns1,
zone.zone_ns2,
zone.zone_ns3,
zone.zone_mx1,
zone.zone_mx2,
zone.zone_info
)
VALUE
(
'$zone_origin',
'$zone_ttl_default',
'$zone_soa',
'$zone_hostmaster',
'$zone_refresh',
'$zone_retry',
'$zone_expire',
'$zone_ttl',
'$zone_serial',
'$zone_ns1',
'$zone_ns2',
'$zone_ns3',
'$zone_mx1',
'$zone_mx2',
'$zone_info'
)";
// run query
$zoneid = $db->db_insert($query);
// redirect
header_location("zoneview.php?zone_id=" . $zoneid);
break;
} }
} }
@ -854,6 +917,23 @@
// redirect // redirect
header_location("vlanview.php?vlan_id=" . $vlan_id); header_location("vlanview.php?vlan_id=" . $vlan_id);
break; break;
case ("zone") :
// get variables
$zone_id = sanitize($_POST['zone_id']);
// build query
$query = "DELETE
FROM
zone
WHERE
zone_id=" . $zone_id;
// run query
$db->db_delete($query);
// redirect
header_location("zone.php");
break;
} }
} }
@ -958,6 +1038,7 @@
$node_dns1 = sanitize($_POST['node_dns1']); $node_dns1 = sanitize($_POST['node_dns1']);
$node_dns2 = sanitize($_POST['node_dns2']); $node_dns2 = sanitize($_POST['node_dns2']);
$node_info = sanitize($_POST['node_info']); $node_info = sanitize($_POST['node_info']);
$zone_id = sanitize($_POST['zone_id']);
// update db // update db
$query = "UPDATE $query = "UPDATE
@ -969,7 +1050,8 @@
node.node_mac='$node_mac', node.node_mac='$node_mac',
node.node_dns1='$node_dns1', node.node_dns1='$node_dns1',
node.node_dns2='$node_dns2', node.node_dns2='$node_dns2',
node.node_info='$node_info' node.node_info='$node_info',
node.zone_id='$zone_id'
WHERE WHERE
node.node_id=" . $node_id; node.node_id=" . $node_id;
@ -982,6 +1064,7 @@
case ("optionsdisplay") : case ("optionsdisplay") :
// get variables // get variables
$user_id = $_SESSION['suser_id']; $user_id = $_SESSION['suser_id'];
$user_language = $_POST['user_language'];
$user_imagesize = sanitize($_POST['user_imagesize']); $user_imagesize = sanitize($_POST['user_imagesize']);
$user_imagecount = sanitize($_POST['user_imagecount']); $user_imagecount = sanitize($_POST['user_imagecount']);
$user_mac = sanitize($_POST['user_mac']); $user_mac = sanitize($_POST['user_mac']);
@ -996,11 +1079,14 @@
$user_menu_subnets = sanitize($_POST['user_menu_subnets']); $user_menu_subnets = sanitize($_POST['user_menu_subnets']);
$user_menu_users = sanitize($_POST['user_menu_users']); $user_menu_users = sanitize($_POST['user_menu_users']);
$user_menu_vlans = sanitize($_POST['user_menu_vlans']); $user_menu_vlans = sanitize($_POST['user_menu_vlans']);
$user_menu_zones = sanitize($_POST['user_menu_zones']);
$user_tooltips = sanitize($_POST['user_tooltips']);
// update db // update db
$query = "UPDATE $query = "UPDATE
user user
SET SET
user.user_language='" . $user_language . "',
user.user_imagesize='" . $user_imagesize . "', user.user_imagesize='" . $user_imagesize . "',
user.user_imagecount='" . $user_imagecount . "', user.user_imagecount='" . $user_imagecount . "',
user.user_mac='" . $user_mac . "', user.user_mac='" . $user_mac . "',
@ -1014,11 +1100,14 @@
user.user_menu_nodes='" . $user_menu_nodes . "', user.user_menu_nodes='" . $user_menu_nodes . "',
user.user_menu_subnets='" . $user_menu_subnets . "', user.user_menu_subnets='" . $user_menu_subnets . "',
user.user_menu_users='" . $user_menu_users . "', user.user_menu_users='" . $user_menu_users . "',
user.user_menu_vlans='" . $user_menu_vlans . "' user.user_menu_vlans='" . $user_menu_vlans . "',
user.user_menu_zones='" . $user_menu_zones . "',
user.user_tooltips='" . $user_tooltips . "'
WHERE WHERE
user.user_id=" . $user_id; user.user_id=" . $user_id;
// update session // update session
$_SESSION['suser_language'] = $user_language;
$_SESSION['suser_imagesize'] = $user_imagesize; $_SESSION['suser_imagesize'] = $user_imagesize;
$_SESSION['suser_imagecount'] = $user_imagecount; $_SESSION['suser_imagecount'] = $user_imagecount;
$_SESSION['suser_mac'] = $user_mac; $_SESSION['suser_mac'] = $user_mac;
@ -1033,6 +1122,8 @@
$_SESSION['suser_menu_subnets'] = $user_menu_subnets; $_SESSION['suser_menu_subnets'] = $user_menu_subnets;
$_SESSION['suser_menu_users'] = $user_menu_users; $_SESSION['suser_menu_users'] = $user_menu_users;
$_SESSION['suser_menu_vlans'] = $user_menu_vlans; $_SESSION['suser_menu_vlans'] = $user_menu_vlans;
$_SESSION['suser_menu_zones'] = $user_menu_zones;
$_SESSION['suser_tooltips'] = $user_tooltips;
// run query // run query
$db->db_update($query); $db->db_update($query);
@ -1081,18 +1172,26 @@
// get variables // get variables
$subnet_id = sanitize($_POST['subnet_id']); $subnet_id = sanitize($_POST['subnet_id']);
$subnet_address= sanitize($_POST['subnet_address']); $subnet_address= sanitize($_POST['subnet_address']);
$subnet_proto_vers = sanitize($_POST['subnet_proto_vers']);
$subnet_mask = sanitize($_POST['subnet_mask']); $subnet_mask = sanitize($_POST['subnet_mask']);
$subnet_dhcpstart = sanitize($_POST['subnet_dhcpstart']);
$subnet_dhcpend = sanitize($_POST['subnet_dhcpend']);
$subnet_ntp_server = sanitize($_POST['subnet_ntp_server']);
$subnet_info = sanitize($_POST['subnet_info']); $subnet_info = sanitize($_POST['subnet_info']);
// update db // update db
$query = "UPDATE $query = "UPDATE
subnet subnet
SET SET
subnet.subnet_address='$subnet_address', subnet_address='$subnet_address',
subnet.subnet_mask='$subnet_mask', subnet_mask='$subnet_mask',
subnet.subnet_info='$subnet_info' subnet_dhcp_start='$subnet_dhcpstart',
subnet_dhcp_end='$subnet_dhcpend',
subnet_info='$subnet_info',
protocol_version=$subnet_proto_vers,
ntp_server='$subnet_ntp_server'
WHERE WHERE
subnet.subnet_id=" . $subnet_id; subnet_id=" . $subnet_id;
// run query // run query
$db->db_update($query); $db->db_update($query);
@ -1144,6 +1243,52 @@
// redirect // redirect
header_location("vlanview.php?vlan_id=" . $vlan_id); header_location("vlanview.php?vlan_id=" . $vlan_id);
break; break;
case ("zone") :
// get variables
$zone_id = sanitize($_POST['zone_id']);
$zone_origin = sanitize($_POST['zone_origin']);
$zone_ttl_default = sanitize($_POST['zone_ttl_default']);
$zone_soa = sanitize($_POST['zone_soa']);
$zone_hostmaster = sanitize($_POST['zone_hostmaster']);
$zone_refresh = sanitize($_POST['zone_refresh']);
$zone_retry = sanitize($_POST['zone_retry']);
$zone_expire = sanitize($_POST['zone_expire']);
$zone_ttl = sanitize($_POST['zone_ttl']);
$zone_serial = sanitize($_POST['zone_serial']);
$zone_ns1 = sanitize($_POST['zone_ns1']);
$zone_ns2 = sanitize($_POST['zone_ns2']);
$zone_ns3 = sanitize($_POST['zone_ns3']);
$zone_mx1 = sanitize($_POST['zone_mx1']);
$zone_mx2 = sanitize($_POST['zone_mx2']);
$zone_info = sanitize($_POST['zone_info']);
// update db
$query = "UPDATE
zone
SET
zone_origin='$zone_origin',
zone_ttl_default='$zone_ttl_default',
zone_soa='$zone_soa',
zone_hostmaster='$zone_hostmaster',
zone_refresh='$zone_refresh',
zone_retry='$zone_retry',
zone_expire='$zone_expire',
zone_ttl='$zone_ttl',
zone_serial='$zone_serial',
zone_ns1='$zone_ns1',
zone_ns2='$zone_ns2',
zone_ns3='$zone_ns3',
zone_mx1='$zone_mx1',
zone_mx2='$zone_mx2',
zone_info='$zone_info'
WHERE
zone_id=" . $zone_id;
// run query
$db->db_update($query);
// redirect
header_location("zoneview.php?zone_id=" . $zone_id);
break;
} }
} }
} }

@ -27,64 +27,37 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnet.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
$query = "SELECT $query = "SELECT
subnet.subnet_id AS subnet_id, s.subnet_id,
subnet.subnet_address AS subnet_address, s.subnet_address,
subnet.subnet_mask AS subnet_mask, s.subnet_mask,
s.ntp_server,
LEFT(s.subnet_info, 40) AS subnet_info,
CHAR_LENGTH(s.subnet_info) AS subnet_length,
COUNT(node.subnet_id) AS node_counter COUNT(node.subnet_id) AS node_counter
FROM FROM
subnet subnet AS s
LEFT JOIN LEFT JOIN
node node
ON ON
node.subnet_id=subnet.subnet_id node.subnet_id=s.subnet_id
GROUP BY GROUP BY
subnet.subnet_id s.subnet_id
ORDER BY ORDER BY
INET_ATON(subnet.subnet_address)"; INET_ATON(s.subnet_address)";
// run query // run query
$subnets = $db->db_select($query); $subnets = $db->db_select($query);
$smarty->assign("subnets", $subnets);
// count results
$subnet_counter = count($subnets);
// counter to tpl
$tp->set("subnet_counter", $subnet_counter);
// any subnets?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
$tp->set("node_counter", $subnet['node_counter']);
// parse row
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// hide block
$tp->hide("subnet_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnet.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,16 +30,31 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup vlan
// build query
$query = "SELECT
vlan.vlan_id AS vlan_id,
vlan.vlan_number AS vlan_number,
vlan.vlan_name AS vlan_name
FROM
vlan
ORDER BY
vlan.vlan_name";
// run query
$vlans = $db->db_select($query);
$vlan_options[0] = $lang['lang_option_none'];
foreach ($vlans as $vlan) {
$vlan_options[$vlan['vlan_id']] = $vlan['vlan_name'];
}
$smarty->assign("vlan_options", $vlan_options);
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetdel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
@ -50,9 +47,9 @@
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// setup node // setup node
// build query // build query
@ -68,33 +65,11 @@
// run query // run query
$nodes = $db->db_select($query); $nodes = $db->db_select($query);
$smarty->assign("nodes", $nodes);
// count results
$node_counter = count($nodes);
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// set id
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetdel.tpl");
$tp->spit();
// footer // footer
include("footer.php"); include("footer.php");

@ -30,36 +30,40 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
$query = "SELECT $query = "SELECT
subnet.subnet_address AS subnet_address, subnet_address,
subnet.subnet_mask AS subnet_mask, subnet_mask,
subnet.subnet_info AS subnet_info protocol_version,
subnet_dhcp_start,
subnet_dhcp_end,
ntp_server,
subnet_info AS subnet_info
FROM FROM
subnet subnet
WHERE WHERE
subnet.subnet_id=" . $subnet_id; subnet_id=" . $subnet_id;
// run query // run query
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
// send to tpl // send to tpl
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_info", $subnet[0]['subnet_info']); $smarty->assign("subnet_proto_vers", $subnet[0]['protocol_version']);
$smarty->assign("subnet_dhcpstart", $subnet[0]['subnet_dhcp_start']);
$smarty->assign("subnet_dhcpend", $subnet[0]['subnet_dhcp_end']);
$smarty->assign("subnet_ntp_server", $subnet[0]['ntp_server']);
$smarty->assign("subnet_info", $subnet[0]['subnet_info']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetlocationadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
@ -49,59 +46,17 @@
// run query // run query
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// start parent // start parent
// build query // build query
$query = "SELECT $smarty->assign("location_options", $db->options_location());
location.location_id AS location_id,
location.location_name AS location_name,
location.location_parent AS location_parent
FROM
location
WHERE
location.location_id NOT IN (
SELECT
location_id
FROM
subnetlocation
WHERE
subnet_id=" . $subnet_id . "
)
ORDER BY
location.location_name";
// run query
$locations = $db->db_select($query);
// count results
$location_counter = count($locations);
// any locations?
if ($location_counter>0) {
// get objects
foreach($locations AS $location) {
// send to tpl
$tp->set("location_id", $location['location_id']);
$tp->set("location_name", $location['location_name']);
// parse row
$tp->parse("location_row");
}
// parse block
$tp->parse("location_table");
} else {
// hide block
$tp->hide("location_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetlocationadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetlocationdel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
@ -49,9 +46,9 @@
// run query // run query
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// setup location // setup location
// build query // build query
@ -68,34 +65,17 @@
location.location_name"; location.location_name";
// run query // run query
$locations = $db->db_select($query); $records = $db->db_select($query);
$locations = array();
// count results foreach ($records as $rec) {
$location_counter = count($locations); $locations[$rec['location_id']] = $rec['location_name'];
// any locations?
if ($location_counter>0) {
// get objects
foreach($locations AS $location) {
// send to tpl
$tp->set("location_id", $location['location_id']);
$tp->set("location_name", $location['location_name']);
// parse row
$tp->parse("location_row");
} }
$smarty->assign("location_options", $locations);
// parse block
$tp->parse("location_table");
} else {
// hide block
$tp->hide("location_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetlocationdel.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetlocationedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
@ -49,14 +46,13 @@
// run query // run query
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetlocationedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -33,20 +33,22 @@
} }
// start output // start output
$smarty->assign("scripts",'changetext.js');
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetview.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
$query = "SELECT $query = "SELECT
subnet.subnet_address AS subnet_address, subnet.subnet_address,
subnet.subnet_mask AS subnet_mask, subnet.subnet_mask,
subnet.subnet_info AS subnet_info, subnet.subnet_dhcp_start,
subnet.subnet_dhcp_end,
subnet.subnet_info,
subnet.protocol_version,
subnet.ntp_server,
COUNT(node.subnet_id) AS node_counter COUNT(node.subnet_id) AS node_counter
FROM FROM
subnet subnet
@ -65,22 +67,30 @@
// set needed variables // set needed variables
$subnet_address = $subnet[0]['subnet_address']; $subnet_address = $subnet[0]['subnet_address'];
$subnet_mask = $subnet[0]['subnet_mask']; $subnet_mask = $subnet[0]['subnet_mask'];
$subnet_dhcpstart = $subnet[0]['subnet_dhcp_start'];
$subnet_dhcpend = $subnet[0]['subnet_dhcp_end'];
$subnet_proto_vers = $subnet[0]['protocol_version'];
$subnet_ntp_server = $subnet[0]['ntp_server'];
// set counters // set counters
$host_counter = pow(2,(32-$subnet_mask)); $host_counter = pow(2,(32-$subnet_mask));
$node_counter = $subnet[0]['node_counter']; $node_counter = $subnet[0]['node_counter'];
$subnet_usedpercentage = round((($node_counter/($host_counter-2))*100),1); $subnet_usedpercentage = round((($node_counter/($host_counter-2))*100), 1);
// send to tpl // send to tpl
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet_address); $smarty->assign("subnet_address", $subnet_address);
$tp->set("subnet_mask", $subnet_mask); $smarty->assign("subnet_mask", $subnet_mask);
$tp->set("subnet_info", nl2br($subnet[0]['subnet_info'])); $smarty->assign("subnet_dhcpstart", $subnet_dhcpstart);
$tp->set("node_counter", $node_counter); $smarty->assign("subnet_dhcpend", $subnet_dhcpend);
$tp->set("subnet_usedpercentage", $subnet_usedpercentage); $smarty->assign("subnet_info", nl2br($subnet[0]['subnet_info']));
$tp->set("config_color_unused", $config_color_unused); $smarty->assign("subnet_proto_vers", $subnet_proto_vers);
$tp->set("host_counter", $host_counter-2); $smarty->assign("subnet_ntp_server", $subnet_ntp_server);
$tp->set("free_counter", (($host_counter-2)-$node_counter)); $smarty->assign("node_counter", $node_counter);
$smarty->assign("subnet_usedpercentage", $subnet_usedpercentage);
$smarty->assign("config_color_unused", $config_color_unused);
$smarty->assign("host_counter", $host_counter-2);
$smarty->assign("free_counter", (($host_counter-2)-$node_counter));
// setup subnet // setup subnet
// split up the range // split up the range
@ -109,19 +119,19 @@
$broadcast_address = $iprange1 . '.' . $iprange2 . '.' . $iprange3 . '.' . ($iprange4+$i-1); $broadcast_address = $iprange1 . '.' . $iprange2 . '.' . $iprange3 . '.' . ($iprange4+$i-1);
// to tpl // to tpl
$tp->set("iprange1", $iprange1); $smarty->assign("iprange1", $iprange1);
$tp->set("iprange2", $iprange2); $smarty->assign("iprange2", $iprange2);
$tp->set("iprange3", $iprange3); $smarty->assign("iprange3", $iprange3);
$tp->set("iprange4", $iprange4); $smarty->assign("iprange4", $iprange4);
$tp->set("subnetmask1", 255); $smarty->assign("subnetmask1", 255);
$tp->set("subnetmask2", 255); $smarty->assign("subnetmask2", 255);
$tp->set("subnetmask3", 255); $smarty->assign("subnetmask3", 255);
$tp->set("subnetmask4", 256-$host_counter); $smarty->assign("subnetmask4", 256-$host_counter);
// no pagination needed // no pagination needed
$tp->parse("noselect"); $smarty->assign("noselect", TRUE);
$tp->hide("one_select"); $smarty->assign("one_select", FALSE);
$tp->hide("two_select"); $smarty->assign("two_select", FALSE);
// set displayed nodes // set displayed nodes
$nodes_displayed = $host_counter; $nodes_displayed = $host_counter;
@ -145,36 +155,34 @@
$broadcast_address = $iprange1 . '.' . $iprange2 . '.' . ($iprange3+$i-1) . '.255'; $broadcast_address = $iprange1 . '.' . $iprange2 . '.' . ($iprange3+$i-1) . '.255';
// to tpl // to tpl
$tp->set("iprange1", $iprange1); $smarty->assign("iprange1", $iprange1);
$tp->set("iprange2", $iprange2); $smarty->assign("iprange2", $iprange2);
// loop addresses in range3 // loop addresses in range3
for($i=$iprange3;$i<(pow(2,(32-$subnet_mask))/256);$i++) { for($i=$iprange3;$i<(pow(2,(32-$subnet_mask))/256);$i++) {
// send to tpl // send to tpl
$tp->set("iprange3", $i); $smarty->assign("iprange3", $i);
$tp->set("iprange4", 0); $smarty->assign("iprange4", 0);
// set select box // set select box
if($i==$page2) { if($i==$page2) {
$tp->set("row_selected", "selected"); $smarty->assign("row_selected", "selected");
} else { } else {
$tp->set("row_selected", ""); $smarty->assign("row_selected", "");
} }
// parse block
$tp->parse("one_select_row");
} }
$tp->set("subnetmask1", 255); $smarty->assign("subnetmask1", 255);
$tp->set("subnetmask2", 255); $smarty->assign("subnetmask2", 255);
$tp->set("subnetmask3", 256-($host_counter/256)); $smarty->assign("subnetmask3", 256-($host_counter/256));
$tp->set("subnetmask4", 0); $smarty->assign("subnetmask4", 0);
// one select box // one select box
$tp->hide("noselect"); $smarty->assign("noselect", FALSE);
$tp->parse("one_select"); $smarty->assign("one_select", TRUE);
$tp->hide("two_select"); $smarty->assign("two_select", FALSE);
// set displayed nodes // set displayed nodes
$nodes_displayed = 256; $nodes_displayed = 256;
@ -199,23 +207,23 @@
$broadcast_address = $iprange1 . '.' . ($iprange2+$i-1) . '.255.255'; $broadcast_address = $iprange1 . '.' . ($iprange2+$i-1) . '.255.255';
// to tpl // to tpl
$tp->set("iprange1", $iprange1); $smarty->assign("iprange1", $iprange1);
$tp->set("iprange2", $iprange2); $smarty->assign("iprange2", $iprange2);
// loop addresses in range 2 // loop addresses in range 2
for($i=$iprange2;$i<(pow(2,(24-$subnet_mask))/256);$i++) { for($i=$iprange2;$i<(pow(2,(24-$subnet_mask))/256);$i++) {
// send to tpl // send to tpl
$tp->set("iprange1", $iprange1); $smarty->assign("iprange1", $iprange1);
$tp->set("iprange2", $i); $smarty->assign("iprange2", $i);
$tp->set("iprange3", $page3); $smarty->assign("iprange3", $page3);
$tp->set("iprange4", $iprange4); $smarty->assign("iprange4", $iprange4);
// set select box // set select box
if($i==$page2) { if($i==$page2) {
$tp->set("row1_selected", "selected"); $smarty->assign("row1_selected", "selected");
} else { } else {
$tp->set("row1_selected", ""); $smarty->assign("row1_selected", "");
} }
// parse block // parse block
@ -225,32 +233,32 @@
// loop addresses in range 3 // loop addresses in range 3
for($i=0;$i<256;$i++) { for($i=0;$i<256;$i++) {
// send to tpl // send to tpl
$tp->set("iprange1", $iprange1); $smarty->assign("iprange1", $iprange1);
$tp->set("iprange2", $page2); $smarty->assign("iprange2", $page2);
$tp->set("iprange3", $i); $smarty->assign("iprange3", $i);
$tp->set("iprange4", $iprange4); $smarty->assign("iprange4", $iprange4);
// set select box // set select box
if($i==$page3) { if($i==$page3) {
$tp->set("row2_selected", "selected"); $smarty->assign("row2_selected", "selected");
} else { } else {
$tp->set("row2_selected", ""); $smarty->assign("row2_selected", "");
} }
// parse block // parse block
$tp->parse("two_select_row2"); $tp->parse("two_select_row2");
} }
$tp->set("subnetmask1", 255); $smarty->assign("subnetmask1", 255);
$tp->set("subnetmask2", 256-($host_counter/65536)); $smarty->assign("subnetmask2", 256-($host_counter/65536));
$tp->set("subnetmask3", 0); $smarty->assign("subnetmask3", 0);
$tp->set("subnetmask4", 0); $smarty->assign("subnetmask4", 0);
// one select box // one select box
$tp->hide("noselect"); $smarty->assign("noselect", FALSE);
$tp->hide("one_select"); $smarty->assign("one_select", FALSE);
$tp->parse("two_select"); $smarty->assign("two_select", TRUE);
// set displayed nodes // set displayed nodes
$nodes_displayed = 256; $nodes_displayed = 256;
@ -259,10 +267,10 @@
// get nodes for this subnetview and implement the values into the array // get nodes for this subnetview and implement the values into the array
// build query // build query
$query = "SELECT $query = "SELECT
asset.asset_name AS asset_name, asset.asset_name,
assetclassgroup.assetclassgroup_color AS assetclassgroup_color, assetclassgroup.assetclassgroup_color,
node.node_id AS node_id, node.node_id,
node.node_ip AS node_ip node.node_ip
FROM FROM
asset, asset,
assetclass, assetclass,
@ -304,50 +312,65 @@
$subnet[$broadcast_address] = array("broadcast_address"); $subnet[$broadcast_address] = array("broadcast_address");
} }
$dhcpstart = 0;
if ($subnet_dhcpstart && $subnet_dhcpend) {
$dhcpstart = ip2long($subnet_dhcpstart);
$dhcpend = ip2long($subnet_dhcpend);
}
// loop subnet-array and send to template // loop subnet-array and send to template
// start counter // start counter
$i=1; // $i=1;
// loop subnet-array // loop subnet-array
foreach($subnet AS $node_ip => $node) { foreach($subnet AS $node_ip => $node) {
// make new line? // make new line?
if(($i%$_SESSION['suser_imagecount']==0 && $i!=$nodes_displayed) ? $tr="</tr><tr>" : $tr=""); // if(($i%$_SESSION['suser_imagecount']==0 && $i!=$nodes_displayed) ? $tr="</tr><tr>" : $tr="");
// check if node-ip in DHCP-area
$subnet[$node_ip]["dynamic"] = False;
if ($dhcpstart > 0) {
$ipval = ip2long($node_ip);
if (($ipval >= $dhcpstart) and ($ipval <= $dhcpend)) {
$subnet[$node_ip]["dynamic"] = True;
}
}
// check node // check node
if(empty($node)) { if (empty($node)) {
// empty node to tpl // empty node to tpl
$tp->set("url", 'assigniptonode.php?subnet_id=' . $subnet_id . '&amp;node_ip='. $node_ip); $subnet[$node_ip]["url"] = 'assigniptonode.php?subnet_id=' . $subnet_id . '&amp;node_ip='. $node_ip;
$tp->set("remotetext", $node_ip); $subnet[$node_ip]["remotetext"] = $node_ip;
$tp->set("assetclassgroup_color", $config_color_unused); if ($subnet[$node_ip]["dynamic"]) {
} else if ($node[0]=="subnet_address") { $subnet[$node_ip]["assetclassgroup_color"] = $config_color_dynamic;
} else {
$subnet[$node_ip]["assetclassgroup_color"] = $config_color_unused;
}
} else if (array_key_exists(0, $node) && $node[0]=="subnet_address") {
// subnet address to tpl // subnet address to tpl
$tp->set("url", ""); $subnet[$node_ip]["url"] = "";
$tp->set("remotetext", $node_ip . '&nbsp;' . $lang['lang_subnet_subnetaddress']); $subnet[$node_ip]["remotetext"] = $node_ip . '&nbsp;' . $lang['lang_subnet_subnetaddress'];
$tp->set("assetclassgroup_color", $config_color_blocked); $subnet[$node_ip]["assetclassgroup_color"] = $config_color_blocked;
} else if ($node[0]=="broadcast_address") { } else if (array_key_exists(0, $node) && $node[0]=="broadcast_address") {
// broadcast address to tpl // broadcast address to tpl
$tp->set("url", ""); $subnet[$node_ip]["url"] = "";
$tp->set("remotetext", $node_ip . '&nbsp;' . $lang['lang_subnet_broadcastaddress']); $subnet[$node_ip]["remotetext"] = $node_ip . '&nbsp;' . $lang['lang_subnet_broadcastaddress'];
$tp->set("assetclassgroup_color", $config_color_blocked); $subnet[$node_ip]["assetclassgroup_color"] = $config_color_blocked;
} else { } else {
// node to tpl // node to tpl
$tp->set("url", 'nodeview.php?node_id=' . $node['node_id']); $subnet[$node_ip]["url"] = 'nodeview.php?node_id=' . $node['node_id'];
$tp->set("remotetext", $node_ip . '&nbsp;' . $node['asset_name']); $subnet[$node_ip]["remotetext"] = $node_ip . '&nbsp;' . $node['asset_name'];
$tp->set("assetclassgroup_color", $node['assetclassgroup_color']); $subnet[$node_ip]["assetclassgroup_color"] = $node['assetclassgroup_color'];
} }
// set other vars
$tp->set("tr", $tr);
// parse block
$tp->parse("node_row");
// update counter // update counter
$i++; // $i++;
} }
// parse block $smarty->assign("subnet", $subnet);
$tp->parse("node_table"); $smarty->assign("imagewrap", $_SESSION['suser_imagecount']);
// setup vlan // setup vlan
// build query // build query
@ -366,31 +389,7 @@
// run query // run query
$vlans = $db->db_select($query); $vlans = $db->db_select($query);
$smarty->assign("vlans", $vlans);
// count results
$vlan_counter = count($vlans);
// counter to tpl
$tp->set("vlan_counter", $vlan_counter);
// any nodes?
if ($vlan_counter>0) {
// get objects
foreach($vlans AS $vlan) {
// send to tpl
$tp->set("vlan_id", $vlan['vlan_id']);
$tp->set("vlan_name", $vlan['vlan_name']);
$tp->set("vlan_number", $vlan['vlan_number']);
// parse block
$tp->parse("vlan_row");
}
// parse block
$tp->parse("vlan_table");
} else {
// parse block
$tp->hide("vlan_table");
}
// setup location // setup location
// build query // build query
@ -410,89 +409,31 @@
// run query // run query
$locations = $db->db_select($query); $locations = $db->db_select($query);
$smarty->assign("locations", $locations);
// count results
$location_counter = count($locations);
// counter to tpl
$tp->set("location_counter", $location_counter);
// any nodes?
if ($location_counter>0) {
// get objects
foreach($locations AS $location) {
// send to tpl
$tp->set("location_id", $location['location_id']);
$tp->set("location_name", $location['location_name']);
// parse block
$tp->parse("location_row");
}
// parse block
$tp->parse("location_table");
} else {
// parse block
$tp->hide("location_table");
}
// setup assetclassgroup // setup assetclassgroup
// build query // build query
$query = "SELECT $query = "SELECT
assetclassgroup.assetclassgroup_id, assetclassgroup_id AS id,
assetclassgroup.assetclassgroup_name, assetclassgroup_name AS name,
assetclassgroup.assetclassgroup_color, assetclassgroup_color AS color,
(SELECT COUNT(assetclass_id) AS counter
COUNT(node.node_id) FROM subnet
FROM LEFT JOIN node USING (subnet_id)
asset, LEFT JOIN asset USING (asset_id)
assetclass, LEFT JOIN assetclass USING (assetclass_id)
node LEFT JOIN assetclassgroup USING (assetclassgroup_id)
WHERE WHERE subnet_id=" . $subnet_id . "
asset.assetclass_id=assetclass.assetclass_id GROUP BY assetclass_id
AND assetclass.assetclassgroup_id=assetclassgroup.assetclassgroup_id ORDER BY counter DESC";
AND node.asset_id=asset.asset_id
AND node.subnet_id=" . $subnet_id . ") AS node_counter
FROM
assetclassgroup
GROUP BY
assetclassgroup.assetclassgroup_id
ORDER BY
assetclassgroup.assetclassgroup_name";
// run query // run query
$assetclassgroups = $db->db_select($query); $assetclassgroups = $db->db_select($query);
$smarty->assign("assetclassgroups", $assetclassgroups);
// count results
$assetclassgroup_counter = count($assetclassgroups);
// counter to tpl
$tp->set("assetclassgroup_counter", $assetclassgroup_counter);
// any nodes?
if ($assetclassgroup_counter>0) {
// get objects
foreach($assetclassgroups AS $assetclassgroup) {
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
$tp->set("assetclassgroup_color", $assetclassgroup['assetclassgroup_color']);
$tp->set("assetclassgroup_node_counter", $assetclassgroup['node_counter']);
// parse block
$tp->parse("assetclassgroup_row");
}
// parse block
$tp->parse("assetclassgroup_table");
} else {
// parse block
$tp->hide("assetclassgroup_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetview.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetvlanadd.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
@ -49,9 +46,9 @@
// run query // run query
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// setup vlan // setup vlan
// build query // build query
@ -75,34 +72,17 @@
// run query // run query
$vlans = $db->db_select($query); $vlans = $db->db_select($query);
foreach ($vlans as $vlan) {
// count results $vlan_options[$vlan['vlan_id']] = $vlan['vlan_name'];
$vlan_counter = count($vlans);
// any vlans?
if ($vlan_counter>0) {
// get objects
foreach($vlans AS $vlan) {
// send to tpl
$tp->set("vlan_id", $vlan['vlan_id']);
$tp->set("vlan_number", $vlan['vlan_number']);
$tp->set("vlan_name", $vlan['vlan_name']);
// parse row
$tp->parse("vlan_row");
} }
$smarty->assign("vlan_options", $vlan_options);
// $smarty->assign("vlans", $vlans);
// parse block
$tp->parse("vlan_table");
} else {
// hide block
$tp->hide("vlan_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetvlanadd.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetvlandel.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
@ -49,9 +46,9 @@
// run query // run query
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// setup vlan // setup vlan
// build query // build query
@ -70,34 +67,11 @@
// run query // run query
$vlans = $db->db_select($query); $vlans = $db->db_select($query);
$smarty->assign("vlans", $vlans);
// count results
$vlan_counter = count($vlans);
// any vlans?
if ($vlan_counter>0) {
// get objects
foreach($vlans AS $vlan) {
// send to tpl
$tp->set("vlan_id", $vlan['vlan_id']);
$tp->set("vlan_number", $vlan['vlan_number']);
$tp->set("vlan_name", $vlan['vlan_name']);
// parse row
$tp->parse("vlan_row");
}
// parse block
$tp->parse("vlan_table");
} else {
// hide block
$tp->hide("vlan_table");
}
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetvlandel.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

@ -30,11 +30,8 @@
// start output // start output
include("header.php"); include("header.php");
// set template
$tp = new Template("tpl/subnetvlanedit.tpl", $config_yapter_error);
// set language variables // set language variables
$tp->setvars($lang); $smarty->assign($lang);
// setup subnet // setup subnet
// build query // build query
@ -49,14 +46,13 @@
// run query // run query
$subnet = $db->db_select($query); $subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// end page // end page
// output // output
$tp->parse(); $smarty->display("subnetvlanedit.tpl");
$tp->spit();
// end output // end output
include("footer.php"); include("footer.php");

Some files were not shown because too many files have changed in this diff Show More