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. 122
      install/mysql.sql
  54. 222
      lang/de.php
  55. 31
      lang/en.php
  56. 10
      lib.php
  57. BIN
      lib/arrow.gif
  58. BIN
      lib/cross.gif
  59. 130
      lib/db.class.php
  60. 78
      lib/functions.php
  61. BIN
      lib/hs.png
  62. BIN
      lib/hv.png
  63. 840
      lib/jscolor.js
  64. 11
      lib/user.class.php
  65. 483
      lib/yapter.php
  66. 93
      location.php
  67. 62
      locationadd.php
  68. 12
      locationdel.php
  69. 68
      locationedit.php
  70. 57
      locationsubnetadd.php
  71. 36
      locationsubnetdel.php
  72. 12
      locationsubnetedit.php
  73. 176
      locationview.php
  74. 14
      login.php
  75. 41
      natadd.php
  76. 37
      natdel.php
  77. 12
      natedit.php
  78. 50
      node.php
  79. 77
      nodeadd.php
  80. 14
      nodedel.php
  81. 107
      nodeedit.php
  82. 126
      nodeview.php
  83. 8
      options.php
  84. 54
      optionseditdisplay.php
  85. 8
      optionseditpassword.php
  86. 247
      search.php
  87. 165
      submit.php
  88. 53
      subnet.php
  89. 27
      subnetadd.php
  90. 37
      subnetdel.php
  91. 32
      subnetedit.php
  92. 57
      subnetlocationadd.php
  93. 40
      subnetlocationdel.php
  94. 14
      subnetlocationedit.php
  95. 321
      subnetview.php
  96. 40
      subnetvlanadd.php
  97. 38
      subnetvlandel.php
  98. 14
      subnetvlanedit.php
  99. 60
      tpl/about.tpl
  100. 44
      tpl/asset.tpl
  101. Some files were not shown because too many files have changed in this diff Show More

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

@ -27,11 +27,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/asset.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// create letter links
// build query
@ -46,24 +43,7 @@
// run query
$alphabet = $db->db_select($query);
// 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");
$smarty->assign("alphabet", $alphabet);
// setup asset
// setup current letter
@ -76,7 +56,8 @@
// build query
$query = "SELECT
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_name AS assetclass_name
FROM
@ -91,38 +72,12 @@
// run query
$assets = $db->db_select($query);
// count results
$asset_counter = count($assets);
// counter to tpl
$tp->set("asset_counter", $asset_counter);
// 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");
}
$smarty->assign("assets", $assets);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("asset.tpl");
// end output
include("footer.php");

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup assetclass
// build query
@ -48,29 +45,14 @@
// 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", "");
foreach ($assetclasses as $assetclass) {
$assetclass_options[$assetclass['assetclass_id']] = $assetclass['assetclass_name'];
}
// parse block
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
$smarty->assign("assetclass_options", $assetclass_options);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetadd.tpl");
// end output
include("footer.php");

@ -27,11 +27,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetclass.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup assetclass
// build query
@ -51,38 +48,13 @@
// run query
$assetclasses = $db->db_select($query);
// count results
$assetclass_counter = count($assetclasses);
// counter to tpl
$tp->set("assetclass_counter", $assetclass_counter);
// 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");
}
$smarty->assign("assetclasses", $assetclasses);
// parse block
$tp->parse("assetclass_table");
} else {
// hide block
$tp->hide("assetclass_table");
}
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetclass.tpl");
// end output
include("footer.php");

@ -30,48 +30,15 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetclassadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup assetclassgroup
// build query
$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");
$smarty->assign("assetclassgroup_options", $db->options_assetclassgroup());
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetclassadd.tpl");
// end output
include("footer.php");

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

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetclassedit.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup assetclass
// build query
@ -51,45 +48,17 @@
$assetclass = $db->db_select($query);
// send to tpl
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']);
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']);
$smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
$smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
$smarty->assign("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
// setup assetclassgroup
// build query
$query = "SELECT
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");
$smarty->assign("assetclassgroup_options", $db->options_assetclassgroup());
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetclassedit.tpl");
// end output
include("footer.php");

@ -27,17 +27,15 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetclassgroup.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup assetclassgroup
// build query
$query = "SELECT
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
assetclassgroup
ORDER BY
@ -45,39 +43,11 @@
// run query
$assetclassgroups = $db->db_select($query);
// 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");
}
$smarty->assign("assetclassgroups", $assetclassgroups);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetclassgroup.tpl");
// end output
include("footer.php");

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

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

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

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetclassgroupview.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup assetclassgroup
// build query
@ -51,9 +48,9 @@
$assetclassgroup = $db->db_select($query);
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
$tp->set("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']);
$smarty->assign("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
$smarty->assign("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
$smarty->assign("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']);
// setup assetclass
// build query
@ -69,36 +66,11 @@
// run query
$assetclasses = $db->db_select($query);
// 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");
}
$smarty->assign("assetclasses", $assetclasses);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetclassgroupview.tpl");
// end output
include("footer.php");

@ -30,17 +30,14 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetclassview.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup assetclass
// build query
$query = "SELECT
assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name,
assetclass.assetclass_id,
assetclass.assetclass_name,
assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name
FROM
@ -54,60 +51,34 @@
$assetclass = $db->db_select($query);
// send to tpl
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']);
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']);
$tp->set("assetclass_selected", "");
$smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
$smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
$smarty->assign("assetclass_selected", "");
$tp->set("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclass[0]['assetclassgroup_name']);
$smarty->assign("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
$smarty->assign("assetclassgroup_name", $assetclass[0]['assetclassgroup_name']);
// send to tpl
// setup asset
// build query
$query = "SELECT
asset.asset_id AS asset_id,
asset.asset_name AS asset_name
asset_id,
asset_name,
CONCAT(LEFT(asset_info, 80), IF(CHAR_LENGTH(asset_info)>80,'...','')) AS asset_info
FROM
asset
WHERE
asset.assetclass_id='" . $assetclass_id . "'
assetclass_id='" . $assetclass_id . "'
ORDER BY
asset.asset_name";
asset_name";
// run query
$assets = $db->db_select($query);
// 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");
}
$smarty->assign("assets", $assets);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetclassview.tpl");
// footer
include("footer.php");

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetdel.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup asset
// build query
@ -49,8 +46,8 @@
$asset = $db->db_select($query);
// send to tpl
$tp->set("asset_id", $asset_id);
$tp->set("asset_name", $asset[0]['asset_name']);
$smarty->assign("asset_id", $asset_id);
$smarty->assign("asset_name", $asset[0]['asset_name']);
// setup node
// build query
@ -66,33 +63,11 @@
// run query
$nodes = $db->db_select($query);
// 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");
}
$smarty->assign("nodes", $nodes);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetdel.tpl");
// footer
include("footer.php");

@ -30,15 +30,13 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetedit.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup asset
// build query
$query = "SELECT
asset_id,
asset.asset_name AS asset_name,
asset.asset_hostname AS asset_hostname,
asset.asset_info AS asset_info,
@ -50,58 +48,14 @@
// run query
$asset = $db->db_select($query);
// 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']);
$smarty->assign("asset", $asset[0]);
// setup assetclass
// build query
$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");
}
$smarty->assign("assetclass_options", $db->options_assetclass());
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetedit.tpl");
// footer
include("footer.php");

@ -30,18 +30,15 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetview.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup asset
// build query
$query = "SELECT
asset.asset_name AS asset_name,
asset.asset_hostname AS asset_hostname,
asset.asset_info AS asset_info,
asset.asset_name,
asset.asset_hostname,
asset.asset_info,
assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name
FROM
@ -55,19 +52,20 @@
$asset = $db->db_select($query);
// 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", nl2br($asset[0]['asset_info']));
$smarty->assign("asset_id", $asset_id);
$smarty->assign("asset_name", $asset[0]['asset_name']);
$smarty->assign("asset_hostname", $asset[0]['asset_hostname']);
$smarty->assign("asset_info", nl2br($asset[0]['asset_info']));
$tp->set("assetclass_id", $asset[0]['assetclass_id']);
$tp->set("assetclass_name", $asset[0]['assetclass_name']);
$smarty->assign("assetclass_id", $asset[0]['assetclass_id']);
$smarty->assign("assetclass_name", $asset[0]['assetclass_name']);
// setup node
// build query
$query = "SELECT
node.node_id AS node_id,
node.node_ip AS node_ip
node_id,
node_ip,
LEFT(node_info, 40) as node_info
FROM
node
WHERE
@ -77,36 +75,11 @@
// run query
$nodes = $db->db_select($query);
// 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");
}
$smarty->assign("nodes", $nodes);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assetview.tpl");
// footer
include("footer.php");

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

@ -32,16 +32,14 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/assignnodetoasset.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// to tpl
$tp->set("node_ip", $node_ip);
$smarty->assign("node_ip", $node_ip);
// setup asset
$smarty->assign("asset_id", $asset_id);
// build query
$query = "SELECT
asset.asset_id AS asset_id,
@ -53,80 +51,28 @@
// 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']==$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");
foreach ($assets as $asset) {
$asset_options[$asset['asset_id']] = $asset['asset_name'];
}
$smarty->assign("asset_options", $asset_options);
// setup subnet
// build query
$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)";
$query = "SELECT subnet_id,
CONCAT_WS('/', subnet_address, subnet_mask) AS subnet_name
FROM subnet
ORDER BY INET_ATON(subnet_address)";
// run query
$subnets = $db->db_select($query);
// 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']==$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");
foreach ($subnets as $subnet) {
$subnet_options[$subnet['subnet_id']] = $subnet['subnet_name'];
}
$smarty->assign("subnet_options", $subnet_options);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("assignnodetoasset.tpl");
// end output
include("footer.php");

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

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

@ -21,8 +21,8 @@
*****************************************************************************/
// 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
mysql_select_db($config_mysql_dbname);
mysqli_select_db($dblink, $config_mysql_dbname);
?>

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

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

@ -46,6 +46,9 @@
case ("delete") :
$png = 'page_delete';
break;
case ("shred") :
$png = 'bin';
break;
case ("edit") :
$png = 'page_edit';
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
// start session
session_name('ipreg');
session_start();
// check for user_id, if unnkown, redirect to login
@ -42,4 +43,8 @@
// load lib
include("lib.php");
// set language
$language = lang_getfrombrowser($config_lang, $config_lang_default, null, false);
?>

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

@ -1,16 +1,37 @@
IP Reg Installation
1. Create database
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.
1. Install requirements
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
Import the mysql.sql file into your database, which will create the tables and some sample data.
2. Create database
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.
4. Upload files
Upload all files and directory's (except the install directory) to your webserver.
5. Upload files
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
Start your browser and login to IP Reg with the default username/password: admin/admin
7. Start using IP Reg
Start your browser and login to IP Reg with the default username/password:
admin/admin

@ -1,9 +1,9 @@
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_hostname varchar(100) NOT NULL,
asset_hostname varchar(100) DEFAULT NULL,
assetclass_id int(10) NOT NULL,
asset_info text NOT NULL,
asset_info text DEFAULT NULL,
PRIMARY KEY (asset_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
@ -13,7 +13,7 @@ INSERT INTO asset (asset_name, assetclass_id) VALUES
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,
assetclass_name varchar(100) NOT NULL,
PRIMARY KEY (assetclass_id)
@ -25,22 +25,25 @@ INSERT INTO assetclass (assetclassgroup_id, assetclass_name) VALUES
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_color varchar(6) NOT NULL,
assetclassgroup_color varchar(6) NOT NULL DEFAULT '000000',
PRIMARY KEY (assetclassgroup_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO assetclassgroup (assetclassgroup_name, assetclassgroup_color) VALUES
('Workstations', 000000);
('Workstations', '000000'),
('Servers', '0000CC');
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_parent int(1) NOT NULL default 0,
location_info text NOT NULL,
PRIMARY KEY (location_id)
location_parent int(10) NOT NULL DEFAULT 0,
location_info text DEFAULT NULL,
location_sort int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (location_id),
KEY location_sort (location_sort)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO location (location_name, location_parent) VALUES
@ -48,23 +51,24 @@ INSERT INTO location (location_name, location_parent) VALUES
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_ext int(10) NOT NULL,
nat_int int(10) NOT NULL,
PRIMARY KEY (nat_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE node (
node_id int(10) NOT NULL auto_increment,
node_ip varchar(15) NOT NULL,
node_id int(10) NOT NULL AUTO_INCREMENT,
node_ip varchar(45) NOT NULL,
node_mac varchar(12) NOT NULL,
node_dns1 varchar(100) NOT NULL,
node_dns2 varchar(100) NOT NULL,
node_dns1 varchar(100) DEFAULT NULL,
node_dns2 varchar(100) DEFAULT NULL,
subnet_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)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
@ -74,56 +78,62 @@ INSERT INTO node (node_ip, node_mac, subnet_id, asset_id) VALUES
CREATE TABLE subnet (
subnet_id int(10) NOT NULL auto_increment,
subnet_address varchar(15) NOT NULL,
subnet_id int(10) NOT NULL AUTO_INCREMENT,
subnet_address varchar(45) 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)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO subnet (subnet_address, subnet_mask) VALUES
('192.168.0.0', 24);
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,
location_id int(10) NOT NULL,
PRIMARY KEY (subnetlocation_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO subnetlocation (subnet_id, location_id) VALUES
(1, 1);
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,
vlan_id int(10) NOT NULL,
PRIMARY KEY (subnetvlan_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO subnetvlan (subnet_id, vlan_id) VALUES
(1, 1);
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_pass varchar(32) NOT NULL,
user_displayname varchar(100) NOT NULL,
user_imagesize int(3) NOT NULL default 6,
user_imagecount int(3) NOT NULL default 64,
user_mac varchar(25) NOT NULL default 'xxxxxxxxxxxx',
user_dateformat varchar(10) NOT NULL default 'd M Y H:i',
user_dns1suffix varchar(100) NOT NULL,
user_dns2suffix varchar(100) NOT NULL,
user_menu_assets varchar(2) NOT NULL default 'on',
user_menu_assetclasses varchar(2) NOT NULL default 'on',
user_menu_assetclassgroups varchar(2) NOT NULL default 'on',
user_menu_locations varchar(2) NOT NULL default 'on',
user_menu_nodes varchar(2) NOT NULL default 'on',
user_menu_subnets 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_language char(2) NOT NULL DEFAULT 'en',
user_imagesize int(3) NOT NULL DEFAULT 6,
user_imagecount int(3) NOT NULL DEFAULT 64,
user_mac varchar(25) NOT NULL DEFAULT 'xx:xx:xx:xx:xx:xx',
user_dateformat varchar(10) NOT NULL DEFAULT 'd M Y H:i',
user_dns1suffix varchar(100) DEFAULT NULL,
user_dns2suffix varchar(100) DEFAULT NULL,
user_menu_assets varchar(2) NOT NULL DEFAULT 'on',
user_menu_assetclasses varchar(2) NOT NULL DEFAULT 'on',
user_menu_assetclassgroups varchar(2) NOT NULL DEFAULT 'on',
user_menu_locations varchar(2) NOT NULL DEFAULT 'on',
user_menu_nodes varchar(2) NOT NULL DEFAULT 'on',
user_menu_subnets 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)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
@ -132,12 +142,36 @@ INSERT INTO user (user_name, user_pass, user_displayname, user_imagesize, user_i
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_name varchar(100) NOT NULL,
vlan_info text NOT NULL,
vlan_info text DEFAULT NULL,
PRIMARY KEY (vlan_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO vlan (vlan_number, vlan_name) VALUES
(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_user' => 'User',
'lang_users' => 'Users',
'lang_zone' => 'Zone',
'lang_zones' => 'Zones',
'lang_sublocation' => 'Sub-location',
'lang_sublocations' => 'Sub-locations',
'lang_subnet' => 'Subnet',
'lang_subnets' => 'Subnets',
'lang_tooltips' => 'Tooltips',
'lang_vlan' => 'VLAN',
'lang_vlans' => 'VLANs',
@ -33,6 +36,7 @@ $lang = array(
'lang_login' => 'Login',
'lang_logout' => 'Logout',
'lang_options' => 'Options',
'lang_option_none' => '(none)',
'lang_reset' => 'Reset',
'lang_search' => 'Search',
'lang_statistics' => 'Statistics',
@ -47,16 +51,19 @@ $lang = array(
'lang_asset_info' => 'Asset info',
'lang_asset_name' => 'Asset name',
'lang_asset_hostname' => 'Hostname',
'lang_asset_none' => 'There are no assets defined',
'lang_assetclass_add' => 'Add assetclass',
'lang_assetclass_del' => 'Delete assetclass',
'lang_assetclass_edit' => 'Mofidy assetclass',
'lang_assetclass_name' => 'Assetclass name',
'lang_assetclass_none' => 'There are no assetclasses defined',
'lang_assetclassgroup_add' => 'Add assetclassgroup',
'lang_assetclassgroup_del' => 'Delete assetclassgroup',
'lang_assetclassgroup_edit' => 'Modify assetclassgroup',
'lang_assetclassgroup_name' => 'Assetclass Groupname',
'lang_assetclassgroup_none' => 'There are no assetclassegroups defined',
'lang_assignnodetoasset' => 'Assign node to asset',
'lang_assignnodetoasset_existing' => 'Assign node to existing asset',
@ -93,6 +100,7 @@ $lang = array(
'lang_dns2' => 'DNS Alias',
'lang_ip' => 'IP Address',
'lang_mac' => 'MAC Address',
'lang_proto_vers' => 'Protocol version',
'lang_nat' => 'NAT',
'lang_nat_add' => 'Add NAT',
@ -116,6 +124,10 @@ $lang = array(
'lang_subnet_edit' => 'Modify subnet',
'lang_subnet_info' => 'Subnet info',
'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_edit' => 'Edit Subnet/Location',
@ -129,6 +141,10 @@ $lang = array(
'lang_user_name' => 'Username',
'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_del' => 'Delete VLAN',
'lang_vlan_edit' => 'Modify VLAN',
@ -136,6 +152,7 @@ $lang = array(
'lang_vlan_info' => 'VLAN info',
'lang_vlan_new' => 'VLAN info',
'lang_vlan_name' => 'VLAN name',
'lang_user_language' => 'Language',
'lang_vlansubnet' => 'VLAN/Subnet',
'lang_vlansubnet_edit' => 'Edit VLAN/Subnet',
@ -147,6 +164,8 @@ $lang = array(
'lang_comments_notallowed' => 'Not allowed',
'lang_comments_search_nosearch' => 'Nothing to search for!',
'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_display' => 'Display options',
@ -170,16 +189,22 @@ $lang = array(
'lang_options_newpassword1_help' => 'Enter your new password',
'lang_options_newpassword2' => 'Retype 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_license' => 'lang_about_license',
'lang_about_license' => 'License',
'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_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_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)',

@ -29,7 +29,7 @@
require("lib/db.class.php");
// create instance
$db = new Db();
$db = new Db($dblink);
// user
// load class
@ -39,6 +39,10 @@
$user = new User();
// tpl
// load class
include("lib/yapter.php");
require_once('smarty3/Smarty.class.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

@ -21,25 +21,34 @@
*****************************************************************************/
class Db {
protected $dblink;
public function __construct ($dblink) {
$this->dblink = $dblink;
}
function db_delete($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) {
// 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 mysql_insert_id();
return mysqli_insert_id($this->dblink);
}
function db_select($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
while($record = mysql_fetch_assoc($sql)) {
$result = array();
while($record = mysqli_fetch_assoc($sql)) {
$result[] = $record;
}
@ -49,7 +58,116 @@
function db_update($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
function sanitize($input) {
global $dblink;
// trim whitespaces
$input = @trim($input);
@ -86,9 +88,83 @@
$input = htmlentities($input,ENT_QUOTES,'UTF-8');
// make sql ready
$input = mysql_real_escape_string($input);
$input = mysqli_real_escape_string($dblink, $input);
// and return
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) {
global $dblink;
// check user_name length
if($this->check_strlen($user_name)==FALSE) {
return FALSE;
@ -43,13 +44,14 @@
// get user data
// initiate class
$db = new Db();
$db = new Db($dblink);
// build query
$query = "SELECT
user.user_id,
user.user_pass,
user.user_displayname,
user.user_language,
user.user_imagesize,
user.user_imagecount,
user.user_mac,
@ -63,7 +65,9 @@
user.user_menu_nodes,
user.user_menu_subnets,
user.user_menu_users,
user.user_menu_vlans
user.user_menu_vlans,
user.user_menu_zones,
user.user_tooltips
FROM
user
WHERE
@ -82,6 +86,7 @@
// all ok: user is logged in, register session data
$_SESSION['suser_id'] = $users[0]['user_id'];
$_SESSION['suser_displayname'] = $users[0]['user_displayname'];
$_SESSION['suser_language'] = $users[0]['user_language'];
$_SESSION['suser_imagesize'] = $users[0]['user_imagesize'];
$_SESSION['suser_imagecount'] = $users[0]['user_imagecount'];
$_SESSION['suser_mac'] = $users[0]['user_mac'];
@ -96,6 +101,8 @@
$_SESSION['suser_menu_subnets'] = $users[0]['user_menu_subnets'];
$_SESSION['suser_menu_users'] = $users[0]['user_menu_users'];
$_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 {
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
include("header.php");
// set template
$tp = new Template("tpl/location.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// start location
// look for locations
// build query
$query = "SELECT
location.location_id AS location_id,
location.location_name AS location_name,
location.location_parent AS location_parent
location_id AS id,
location_name AS value,
location_parent AS parent_id
FROM
location
ORDER BY
location.location_name";
ORDER BY location_parent, location_sort, location_name";
// 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_parent']][] = $location['location_id'];
function build_tree($parent_id, $level) {
global $locations;
$children = array();
foreach ($locations as $key => $location) {
if ($location['parent_id'] == $parent_id) {
unset($location['parent_id']);
$location['children'] = build_tree($location['id'], $level+1);
$location['level'] = $level;
$location['href'] = 'locationview.php?location_id=' . $location['id'];
$children[] = $location;
}
}
// 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;
}
// to tpl
// 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);
$tree = build_tree(0, 0);
$smarty->assign("locations", $tree);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("location.tpl");
// footer
include("footer.php");

@ -30,23 +30,19 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/locationadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// ************* <option value="0">{$lang_option_none}</option>
// start parent
// look for locations
// build query
$query = "SELECT
location.location_id AS location_id,
location.location_name AS location_name,
location.location_parent AS location_parent
FROM
location
ORDER BY
location.location_name";
$query = "SELECT location_id, location_name, location_parent, location_sort
FROM location
ORDER BY location_parent, location_sort, location_name";
// run query
$locations = $db->db_select($query);
@ -82,57 +78,31 @@
return $children;
}
// to tpl
// recursive children check to template
function checkchildren($locations, $level) {
// include template class
global $tp;
// import location names
global $location_options;
global $location_names;
// import location names
global $location_parent;
// 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));
// 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!
$row = str_repeat("-&nbsp;&nbsp;", $level) . $location_names[$parent];
$location_options[$parent] = $row;
if(isset($child)) {
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
$location_options = array(0 => '-');
checkchildren($tree, 0);
$smarty->assign("location_options", $location_options);
$smarty->assign("location_parent", $location_parent);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("locationadd.tpl");
// footer
include("footer.php");

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

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

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/locationsubnetadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup location
// build query
@ -48,59 +45,15 @@
// run query
$location = $db->db_select($query);
$tp->set("location_id", $location_id);
$tp->set("location_name", $location[0]['location_name']);
$smarty->assign("location_id", $location_id);
$smarty->assign("location_name", $location[0]['location_name']);
// setup subnet
// build query
$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");
}
$smarty->assign("subnet_options", $db->options_subnet());
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("locationsubnetadd.tpl");
// end output
include("footer.php");

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/locationsubnetdel.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup location
// build query
@ -48,8 +45,8 @@
// run query
$location = $db->db_select($query);
$tp->set("location_id", $location_id);
$tp->set("location_name", $location[0]['location_name']);
$smarty->assign("location_id", $location_id);
$smarty->assign("location_name", $location[0]['location_name']);
// setup subnet
// build query
@ -68,34 +65,11 @@
// 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");
}
$smarty->assign($subnets);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("locationsubnetdel.tpl");
// end output
include("footer.php");

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

@ -30,135 +30,57 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/locationview.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// start locationcrumb
// get locations
// build query
$query = "SELECT
location.location_id AS location_id,
location.location_name AS location_name,
location.location_parent AS location_parent
FROM
location";
// 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
// get location crumbs
$query = "SELECT location_id AS id,
location_name AS name,
location_parent AS parent_id,
location_info
FROM location
WHERE location_id=" . $location_id;
$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
$tp->set("location_id", $location_id);
$tp->set("location_info", nl2br($location[0]['location_info']));
$smarty->assign("location_id", $location_id);
$smarty->assign("location_info", nl2br($location[0]['location_info']));
$smarty->assign("crumbs", $crumbs);
// setup sublocations
// build query
$query = "SELECT
location.location_id AS sublocation_id,
location.location_name AS sublocation_name
location_id AS sublocation_id,
location_name AS sublocation_name,
LEFT(location_info, 40) AS info_short,
CHAR_LENGTH(location_info) AS info_length
FROM
location
WHERE
location.location_parent=" . $location_id . "
location_parent=" . $location_id . "
ORDER BY
location.location_name";
location_name";
// run query
$sublocations = $db->db_select($query);
// 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");
}
$smarty->assign("sublocations", $sublocations);
// setup subnets
// build query
@ -177,37 +99,11 @@
// run query
$subnets = $db->db_select($query);
// 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");
}
$smarty->assign("subnets", $subnets);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("locationview.tpl");
// footer
include("footer.php");

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

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

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/natdel.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup node_ext
// build query
@ -48,8 +45,8 @@
// run query
$node = $db->db_select($query);
$tp->set("node_id_ext", $node_id);
$tp->set("node_ip_ext", $node[0]['node_ip_ext']);
$smarty->assign("node_id_ext", $node_id);
$smarty->assign("node_ip_ext", $node[0]['node_ip_ext']);
// setup node
// build query
@ -70,35 +67,13 @@
// run 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) {
// 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");
}
// *** <option value="{node_id_int}">{node_ip_int}/{asset_name}</option>
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("natdel.tpl");
// end output
include("footer.php");

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

@ -27,11 +27,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/node.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// start node
// setup view
@ -44,18 +41,19 @@
$subnet_view = "AND node.subnet_id=" . $subnet_id;
// to tpl
$tp->set("subnet_id", $subnet_id);
$smarty->assign("subnet_id", $subnet_id);
} else {
// to tpl
$tp->set("subnet_id", "");
$smarty->assign("subnet_id", "");
}
// build query
$query = "SELECT
asset.asset_id AS asset_id,
asset.asset_name AS asset_name,
node.node_id AS node_id,
node.node_ip AS node_ip
asset.asset_id,
REPLACE(asset.asset_name, ' ', '&nbsp;') AS asset_name,
asset.asset_info,
node.node_id,
node.node_ip
FROM
asset,
node
@ -69,39 +67,11 @@
// run query
$nodes = $db->db_select($query);
// 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");
}
$smarty->assign("nodes", $nodes);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("node.tpl");
// end output
include("footer.php");

@ -31,86 +31,23 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/nodeadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// set vars
$tp->set("user_dns1suffix", $_SESSION['suser_dns1suffix']);
$tp->set("user_dns2suffix", $_SESSION['suser_dns2suffix']);
$tp->set("node_ip", $node_ip);
$smarty->assign("user_dns1suffix", $_SESSION['suser_dns1suffix']);
$smarty->assign("user_dns2suffix", $_SESSION['suser_dns2suffix']);
$smarty->assign("node_ip", $node_ip);
// setup subnet
// build query
$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");
$smarty->assign("subnet_options", $db->options_subnet());
// setup assetclass
// build query
$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");
$smarty->assign("assetclass_options", $db->options_assetclass());
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("nodeadd.tpl");
// end output
include("footer.php");

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

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/nodeedit.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup node
// build query
@ -46,7 +43,8 @@
node.node_dns1 AS node_dns1,
node.node_dns2 AS node_dns2,
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
asset,
node,
@ -60,99 +58,28 @@
$node = $db->db_select($query);
// send to tpl
$tp->set("node_id", $node[0]['node_id']);
$tp->set("node_ip", $node[0]['node_ip']);
$tp->set("node_mac", write_mac($node[0]['node_mac']));
$tp->set("node_dns1", $node[0]['node_dns1']);
$tp->set("node_dns2", $node[0]['node_dns2']);
$tp->set("node_info", $node[0]['node_info']);
$smarty->assign("node_id", $node[0]['node_id']);
$smarty->assign("node_ip", $node[0]['node_ip']);
$smarty->assign("node_mac", write_mac($node[0]['node_mac']));
$smarty->assign("node_dns1", $node[0]['node_dns1']);
$smarty->assign("node_dns2", $node[0]['node_dns2']);
$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
// build query
$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");
}
$smarty->assign("asset_options", $db->options_asset());
// setup subnet
// build query
$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);
$smarty->assign("subnet_options", $db->options_subnet());
// 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");
}
// setup zone
$smarty->assign("zone_options", $db->options_zone("(keine)"));
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("nodeedit.tpl");
// end output
include("footer.php");

@ -30,73 +30,37 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/nodeview.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup node
// build query
$query = "SELECT
asset.asset_id AS asset_id,
asset.asset_name AS asset_name,
node.node_id AS node_id,
node.node_ip AS node_ip,
node.node_mac AS node_mac,
node.node_dns1 AS node_dns1,
node.node_dns2 AS node_dns2,
node.node_info AS node_info,
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address,
subnet.subnet_mask AS subnet_mask
asset.asset_id,
asset.asset_name,
node.node_id,
node.node_ip,
node.node_mac,
node.node_dns1,
node.node_dns2,
node.node_info,
node.node_type,
subnet.subnet_id,
subnet.subnet_address,
subnet.subnet_mask,
zone.zone_origin
FROM
asset,
node,
subnet
node
JOIN asset USING (asset_id)
JOIN subnet USING (subnet_id)
LEFT JOIN zone USING (zone_id)
WHERE
asset.asset_id=node.asset_id
AND node.node_id=" . $node_id . "
AND subnet.subnet_id=node.subnet_id";
node.node_id=" . $node_id;
// run query
$nodes = $db->db_select($query);
// 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']);
$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");
}
$node = $db->db_select($query);
$node[0]['node_mac'] = write_mac($node[0]['node_mac']);
$smarty->assign("node", $node[0]);
// setup nat
// build query
@ -129,53 +93,13 @@
INET_ATON(node_int.node_ip)";
// run query
$nats = $db->db_select($query);
// count results
$nat_counter = count($nats);
$natrules = $db->db_select($query);
// counter to tpl
$tp->set("nat_counter", $nat_counter);
// 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");
}
$smarty->assign("natrules", $natrules);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("nodeview.tpl");
include("footer.php");
?>

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

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

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

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

@ -181,14 +181,14 @@
case ("assetclassgroup") :
// get variables
$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
$query = "INSERT
INTO
assetclassgroup(
assetclassgroup.assetclassgroup_name,
assetclassgroupassetclassgroup_color
assetclassgroup.assetclassgroup_color
)
VALUE
(
@ -306,7 +306,7 @@
)";
// run query
$location_id = $db->db_update($query);
$location_id = $db->db_insert($query);
// redirect
header_location("locationview.php?location_id=" . $location_id);
@ -330,7 +330,7 @@
)";
// run query
$location_id = $db->db_insert($query);
$newid = $db->db_insert($query);
// redirect
header_location("locationview.php?location_id=" . $location_id);
@ -594,6 +594,69 @@
// redirect
header_location("vlanview.php?vlan_id=" . $vlan_id);
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
header_location("vlanview.php?vlan_id=" . $vlan_id);
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_dns2 = sanitize($_POST['node_dns2']);
$node_info = sanitize($_POST['node_info']);
$zone_id = sanitize($_POST['zone_id']);
// update db
$query = "UPDATE
@ -969,7 +1050,8 @@
node.node_mac='$node_mac',
node.node_dns1='$node_dns1',
node.node_dns2='$node_dns2',
node.node_info='$node_info'
node.node_info='$node_info',
node.zone_id='$zone_id'
WHERE
node.node_id=" . $node_id;
@ -982,6 +1064,7 @@
case ("optionsdisplay") :
// get variables
$user_id = $_SESSION['suser_id'];
$user_language = $_POST['user_language'];
$user_imagesize = sanitize($_POST['user_imagesize']);
$user_imagecount = sanitize($_POST['user_imagecount']);
$user_mac = sanitize($_POST['user_mac']);
@ -996,11 +1079,14 @@
$user_menu_subnets = sanitize($_POST['user_menu_subnets']);
$user_menu_users = sanitize($_POST['user_menu_users']);
$user_menu_vlans = sanitize($_POST['user_menu_vlans']);
$user_menu_zones = sanitize($_POST['user_menu_zones']);
$user_tooltips = sanitize($_POST['user_tooltips']);
// update db
$query = "UPDATE
user
SET
user.user_language='" . $user_language . "',
user.user_imagesize='" . $user_imagesize . "',
user.user_imagecount='" . $user_imagecount . "',
user.user_mac='" . $user_mac . "',
@ -1014,11 +1100,14 @@
user.user_menu_nodes='" . $user_menu_nodes . "',
user.user_menu_subnets='" . $user_menu_subnets . "',
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
user.user_id=" . $user_id;
// update session
$_SESSION['suser_language'] = $user_language;
$_SESSION['suser_imagesize'] = $user_imagesize;
$_SESSION['suser_imagecount'] = $user_imagecount;
$_SESSION['suser_mac'] = $user_mac;
@ -1033,6 +1122,8 @@
$_SESSION['suser_menu_subnets'] = $user_menu_subnets;
$_SESSION['suser_menu_users'] = $user_menu_users;
$_SESSION['suser_menu_vlans'] = $user_menu_vlans;
$_SESSION['suser_menu_zones'] = $user_menu_zones;
$_SESSION['suser_tooltips'] = $user_tooltips;
// run query
$db->db_update($query);
@ -1081,18 +1172,26 @@
// get variables
$subnet_id = sanitize($_POST['subnet_id']);
$subnet_address= sanitize($_POST['subnet_address']);
$subnet_proto_vers = sanitize($_POST['subnet_proto_vers']);
$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']);
// update db
$query = "UPDATE
subnet
SET
subnet.subnet_address='$subnet_address',
subnet.subnet_mask='$subnet_mask',
subnet.subnet_info='$subnet_info'
subnet_address='$subnet_address',
subnet_mask='$subnet_mask',
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
subnet.subnet_id=" . $subnet_id;
subnet_id=" . $subnet_id;
// run query
$db->db_update($query);
@ -1144,6 +1243,52 @@
// redirect
header_location("vlanview.php?vlan_id=" . $vlan_id);
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
include("header.php");
// set template
$tp = new Template("tpl/subnet.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup subnet
// build query
$query = "SELECT
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address,
subnet.subnet_mask AS subnet_mask,
s.subnet_id,
s.subnet_address,
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
FROM
subnet
subnet AS s
LEFT JOIN
node
ON
node.subnet_id=subnet.subnet_id
node.subnet_id=s.subnet_id
GROUP BY
subnet.subnet_id
s.subnet_id
ORDER BY
INET_ATON(subnet.subnet_address)";
INET_ATON(s.subnet_address)";
// run query
$subnets = $db->db_select($query);
// 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");
}
$smarty->assign("subnets", $subnets);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("subnet.tpl");
// end output
include("footer.php");

@ -30,16 +30,31 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/subnetadd.tpl", $config_yapter_error);
// 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
// output
$tp->parse();
$tp->spit();
$smarty->display("subnetadd.tpl");
// end output
include("footer.php");

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/subnetdel.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup subnet
// build query
@ -50,9 +47,9 @@
$subnet = $db->db_select($query);
// send to tpl
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']);
$smarty->assign("subnet_id", $subnet_id);
$smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// setup node
// build query
@ -68,33 +65,11 @@
// run query
$nodes = $db->db_select($query);
// 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");
}
$smarty->assign("nodes", $nodes);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("subnetdel.tpl");
// footer
include("footer.php");

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

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/subnetlocationadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup subnet
// build query
@ -49,59 +46,17 @@
// run query
$subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']);
$smarty->assign("subnet_id", $subnet_id);
$smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// start parent
// build query
$query = "SELECT
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");
}
$smarty->assign("location_options", $db->options_location());
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("subnetlocationadd.tpl");
// end output
include("footer.php");

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

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

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

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/subnetvlanadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup subnet
// build query
@ -49,9 +46,9 @@
// run query
$subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']);
$smarty->assign("subnet_id", $subnet_id);
$smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// setup vlan
// build query
@ -75,34 +72,17 @@
// run query
$vlans = $db->db_select($query);
// 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");
foreach ($vlans as $vlan) {
$vlan_options[$vlan['vlan_id']] = $vlan['vlan_name'];
}
$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
// output
$tp->parse();
$tp->spit();
$smarty->display("subnetvlanadd.tpl");
// end output
include("footer.php");

@ -30,11 +30,8 @@
// start output
include("header.php");
// set template
$tp = new Template("tpl/subnetvlandel.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
$smarty->assign($lang);
// setup subnet
// build query
@ -49,9 +46,9 @@
// run query
$subnet = $db->db_select($query);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']);
$smarty->assign("subnet_id", $subnet_id);
$smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
// setup vlan
// build query
@ -70,34 +67,11 @@
// run query
$vlans = $db->db_select($query);
// 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");
}
$smarty->assign("vlans", $vlans);
// end page
// output
$tp->parse();
$tp->spit();
$smarty->display("subnetvlandel.tpl");
// end output
include("footer.php");

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

@ -1,17 +1,15 @@
<table class="title">
<tr>
<td class="header">
{lang_about}
{$lang_about}
</td>
</tr>
</table>
<p>
<table class="info">
<tr>
<td class="header">
{lang_ipreg} {config_version}
{$lang_ipreg} {$config_version}
</td>
<td class="header_right">
&nbsp;
@ -19,7 +17,7 @@
</tr>
<tr>
<td class="label">
{lang_about_sfprojectpage}
{$lang_about_sfprojectpage}
</td>
<td class="value">
<a href="http://sourceforge.net/projects/ipreg">http://sourceforge.net/projects/ipreg</a>
@ -27,23 +25,23 @@
</tr>
<tr>
<td class="label">
{lang_about_license}
{$lang_about_license}
</td>
<td class="value">
<a href="gpl-3.0.txt">{lang_about_gpl}</a>
<a href="gpl-3.0.txt">{$lang_about_gpl}</a>
</td>
</tr>
<tr>
<td class="label">
{lang_about_yapter}
{$lang_about_smarty}
</td>
<td class="value">
<a href="http://yapter.sourceforge.net/">http://yapter.sourceforge.net</a>
<a href="http://www.smarty.net/">http://www.smarty.net</a>
</td>
</tr>
<tr>
<td class="label">
{lang_about_iconset}
{$lang_about_iconset}
</td>
<td class="value">
<a href="http://www.famfamfam.com/lab/icons/silk/">http://www.famfamfam.com/lab/icons/silk/</a>
@ -56,12 +54,12 @@
<table class="info">
<tr>
<td class="header">
{lang_about_ipreg_ext}
{$lang_about_ipreg_ext}
</td>
</tr>
<tr>
<td class="label">
{lang_about_license_ext}
{$lang_about_license_ext}
</td>
</tr>
</table>
@ -71,7 +69,7 @@
<table class="info">
<tr>
<td class="header">
{lang_about_changelog}
{$lang_about_changelog}
</td>
<td class="header_right">
&nbsp;
@ -79,40 +77,56 @@
</tr>
<tr>
<td class="label">
{lang_about_changelog_v05}
{$lang_about_changelog_v07}
</td>
<td class="value">
{$lang_about_changelog_v07_ext}
</td>
</tr>
<tr>
<td class="label">
{$lang_about_changelog_v06}
</td>
<td class="value">
{$lang_about_changelog_v06_ext}
</td>
</tr>
<tr>
<td class="label">
{$lang_about_changelog_v05}
</td>
<td class="value">
{lang_about_changelog_v05_ext}
{$lang_about_changelog_v05_ext}
</td>
</tr>
<td class="label">
{lang_about_changelog_v04}
{$lang_about_changelog_v04}
</td>
<td class="value">
{lang_about_changelog_v04_ext}
{$lang_about_changelog_v04_ext}
</td>
</tr>
<td class="label">
{lang_about_changelog_v03}
{$lang_about_changelog_v03}
</td>
<td class="value">
{lang_about_changelog_v03_ext}
{$lang_about_changelog_v03_ext}
</td>
</tr>
<tr>
<td class="label">
{lang_about_changelog_v02}
{$lang_about_changelog_v02}
</td>
<td class="value">
{lang_about_changelog_v02_ext}
{$lang_about_changelog_v02_ext}
</td>
</tr>
<tr>
<td class="label">
{lang_about_changelog_v01}
{$lang_about_changelog_v01}
</td>
<td class="value">
{lang_about_changelog_v01_ext}
{$lang_about_changelog_v01_ext}
</td>
</tr>
</table>

@ -1,49 +1,53 @@
<table class="title">
<tr>
<td class="header">
{lang_assets} ({asset_counter})
{$lang_assets} ({$assets|@count})
</td>
<td align="right">
<a href="assetadd.php"><img src="image.php?icon=add" alt="{lang_asset_add}"></a>
<a href="assetadd.php"><img src="image.php?icon=add" alt="{$lang_asset_add}" {if $suser_tooltips}title="{$lang_asset_add}" {/if}/></a>
</td>
</tr>
</table>
<p>
[BLOCK letter_table AS letter_table]
<table class="submenu">
<table class="submenu initials">
<tr>
[BLOCK letter_row]
{foreach item=letter from=$alphabet}
<td>
<a href="asset.php?asset_letter={asset_letter}">{asset_letter}</a>&nbsp;
<a href="asset.php?asset_letter={$letter.asset_letter}">{$letter.asset_letter}</a>&nbsp;
</td>
[END letter_row]
{/foreach}
</tr>
</table>
[END letter_table]
<p>
[BLOCK asset_table AS asset_table]
<table class="info">
<tr>
<td class="header">
{lang_asset_name}
{$lang_asset_name}
</td>
<td class="header">
{lang_assetclass_name}
{$lang_assetclass_name}
</td>
<td class="header">
{$lang_asset_info}
</td>
</tr>
[BLOCK asset_row]
{foreach item=asset from=$assets}
<tr>
<td class="label">
<a href="assetview.php?asset_id={asset_id}">{asset_name}</a>
<a href="assetview.php?asset.id={$asset.asset_id}">{$asset.asset_name}</a>
</td>
<td class="value">
<a href="assetclassview.php?assetclass_id={assetclass_id}">{assetclass_name}</a>
<a href="assetclassview.php?assetclass_id={$asset.assetclass_id}">{$asset.assetclass_name}</a>
</td>
<td class="value">
{$asset.asset_info}
</td>
</tr>
{foreachelse}
<tr>
<td colspan="2">
{$lang_asset_none}
</td>
</tr>
[END asset_row]
{/foreach}
</table>
[END asset_table]

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