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. 88
      about.php
  2. 213
      asset.php
  3. 134
      assetadd.php
  4. 148
      assetclass.php
  5. 121
      assetclassadd.php
  6. 120
      assetclassdel.php
  7. 159
      assetclassedit.php
  8. 136
      assetclassgroup.php
  9. 80
      assetclassgroupadd.php
  10. 120
      assetclassgroupdel.php
  11. 125
      assetclassgroupedit.php
  12. 180
      assetclassgroupview.php
  13. 199
      assetclassview.php
  14. 171
      assetdel.php
  15. 168
      assetedit.php
  16. 199
      assetview.php
  17. 124
      assigniptonode.php
  18. 210
      assignnodetoasset.php
  19. 86
      comments.php
  20. 77
      config.php
  21. 56
      dbconnect.php
  22. 63
      footer.php
  23. 179
      header.php
  24. 213
      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. 93
      includes.php
  51. 224
      index.php
  52. 39
      install/install.txt
  53. 320
      install/mysql.sql
  54. 222
      lang/de.php
  55. 417
      lang/en.php
  56. 92
      lib.php
  57. BIN
      lib/arrow.gif
  58. 10
      lib/changelink.js
  59. 6
      lib/changetext.js
  60. BIN
      lib/cross.gif
  61. 228
      lib/db.class.php
  62. 264
      lib/functions.php
  63. BIN
      lib/hs.png
  64. BIN
      lib/hv.png
  65. 840
      lib/jscolor.js
  66. 237
      lib/user.class.php
  67. 483
      lib/yapter.php
  68. 195
      location.php
  69. 246
      locationadd.php
  70. 118
      locationdel.php
  71. 302
      locationedit.php
  72. 165
      locationsubnetadd.php
  73. 176
      locationsubnetdel.php
  74. 118
      locationsubnetedit.php
  75. 322
      locationview.php
  76. 154
      login.php
  77. 201
      natadd.php
  78. 183
      natdel.php
  79. 116
      natedit.php
  80. 186
      node.php
  81. 169
      nodeadd.php
  82. 122
      nodedel.php
  83. 243
      nodeedit.php
  84. 286
      nodeview.php
  85. 80
      options.php
  86. 232
      optionseditdisplay.php
  87. 80
      optionseditpassword.php
  88. 499
      search.php
  89. 2461
      submit.php
  90. 155
      subnet.php
  91. 105
      subnetadd.php
  92. 175
      subnetdel.php
  93. 136
      subnetedit.php
  94. 169
      subnetlocationadd.php
  95. 184
      subnetlocationdel.php
  96. 120
      subnetlocationedit.php
  97. 939
      subnetview.php
  98. 196
      subnetvlanadd.php
  99. 180
      subnetvlandel.php
  100. 120
      subnetvlanedit.php
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,47 +1,43 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/about.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup page
$tp->setvars($lang); // set vars
$smarty->assign("config_version", $config_version);
// setup page
// set vars // end page
$tp->set("config_version", $config_version); // output
$smarty->display("about.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,129 +1,84 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/asset.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // create letter links
$tp->setvars($lang); // build query
$query = "SELECT
// create letter links SUBSTRING(UPPER(asset.asset_name),1,1) AS asset_letter
// build query FROM
$query = "SELECT asset
SUBSTRING(UPPER(asset.asset_name),1,1) AS asset_letter GROUP BY
FROM asset_letter
asset ORDER BY
GROUP BY asset_letter";
asset_letter
ORDER BY // run query
asset_letter"; $alphabet = $db->db_select($query);
$smarty->assign("alphabet", $alphabet);
// run query
$alphabet = $db->db_select($query); // setup asset
// setup current letter
// count results if(isset($_GET['asset_letter'])) {
$alphabet_counter = count($alphabet); $asset_letter = sanitize($_GET['asset_letter']);
} else {
// any letters? $asset_letter = $alphabet[0]['asset_letter'];
if ($alphabet_counter>0) { }
// get objects
foreach($alphabet AS $alphabet_letter) { // build query
// to tpl $query = "SELECT
$tp->set("asset_letter", strtoupper($alphabet_letter['asset_letter'])); asset.asset_id AS asset_id,
IF(LENGTH(asset.asset_name)>0, asset.asset_name, '...') AS asset_name,
// parse every row asset.asset_info AS asset_info,
$tp->parse("letter_row"); assetclass.assetclass_id AS assetclass_id,
} assetclass.assetclass_name AS assetclass_name
} FROM
asset,
// parse block assetclass
$tp->parse("letter_table"); WHERE
SUBSTRING(asset.asset_name,1,1) = '" . $asset_letter . "'
// setup asset AND assetclass.assetclass_id=asset.assetclass_id
// setup current letter ORDER BY
if(isset($_GET['asset_letter'])) { asset.asset_name";
$asset_letter = sanitize($_GET['asset_letter']);
} else { // run query
$asset_letter = $alphabet[0]['asset_letter']; $assets = $db->db_select($query);
}
// counter to tpl
// build query $smarty->assign("assets", $assets);
$query = "SELECT
asset.asset_id AS asset_id, // end page
asset.asset_name AS asset_name, // output
assetclass.assetclass_id AS assetclass_id, $smarty->display("asset.tpl");
assetclass.assetclass_name AS assetclass_name
FROM // end output
asset, include("footer.php");
assetclass ?>
WHERE
SUBSTRING(asset.asset_name,1,1) = '" . $asset_letter . "'
AND assetclass.assetclass_id=asset.assetclass_id
ORDER BY
asset.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) {
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']);
$tp->set("assetclass_id", $asset['assetclass_id']);
$tp->set("assetclass_name", $asset['assetclass_name']);
// parse row
$tp->parse("asset_row");
}
// parse block
$tp->parse("asset_table");
} else {
// hide block
$tp->hide("asset_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

@ -1,77 +1,59 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
if((isset($_GET['assetclass_id'])) ? $assetclass_id = sanitize($_GET['assetclass_id']) : $assetclass_id = ""); if((isset($_GET['assetclass_id'])) ? $assetclass_id = sanitize($_GET['assetclass_id']) : $assetclass_id = "");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclass
$tp->setvars($lang); // build query
$query = "SELECT
// setup assetclass assetclass.assetclass_id AS assetclass_id,
// build query assetclass.assetclass_name AS assetclass_name
$query = "SELECT FROM
assetclass.assetclass_id AS assetclass_id, assetclass
assetclass.assetclass_name AS assetclass_name ORDER BY
FROM assetclass.assetclass_name";
assetclass
ORDER BY // run query
assetclass.assetclass_name"; $assetclasses = $db->db_select($query);
foreach ($assetclasses as $assetclass) {
// run query $assetclass_options[$assetclass['assetclass_id']] = $assetclass['assetclass_name'];
$assetclasses = $db->db_select($query); }
$smarty->assign("assetclass_options", $assetclass_options);
foreach($assetclasses AS $assetclass) {
// send to tpl // end page
$tp->set("assetclass_id", $assetclass['assetclass_id']); // output
$tp->set("assetclass_name", $assetclass['assetclass_name']); $smarty->display("assetadd.tpl");
if($assetclass['assetclass_id']==$assetclass_id) { // end output
$tp->set("assetclass_selected", "selected"); include("footer.php");
} else {
$tp->set("assetclass_selected", "");
}
// parse block
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,89 +1,61 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclass.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclass
$tp->setvars($lang); // build query
$query = "SELECT
// setup assetclass assetclass.assetclass_id AS assetclass_id,
// build query assetclass.assetclass_name AS assetclass_name,
$query = "SELECT assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclass.assetclass_id AS assetclass_id, assetclassgroup.assetclassgroup_name AS assetclassgroup_name
assetclass.assetclass_name AS assetclass_name, FROM
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, assetclass,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name assetclassgroup
FROM WHERE
assetclass, assetclassgroup.assetclassgroup_id=assetclass.assetclassgroup_id
assetclassgroup ORDER BY
WHERE assetclass.assetclass_name";
assetclassgroup.assetclassgroup_id=assetclass.assetclassgroup_id
ORDER BY // run query
assetclass.assetclass_name"; $assetclasses = $db->db_select($query);
// run query // counter to tpl
$assetclasses = $db->db_select($query); $smarty->assign("assetclasses", $assetclasses);
// count results
$assetclass_counter = count($assetclasses); // end page
// output
// counter to tpl $smarty->display("assetclass.tpl");
$tp->set("assetclass_counter", $assetclass_counter);
// end output
// any assetclasses? include("footer.php");
if ($assetclass_counter>0) {
// get objects
foreach($assetclasses AS $assetclass) {
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
$tp->set("assetclassgroup_id", $assetclass['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclass['assetclassgroup_name']);
// parse row
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
} else {
// hide block
$tp->hide("assetclass_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,78 +1,45 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
if((isset($_GET['assetclassgroup_id'])) ? $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']) : $assetclassgroup_id = ""); if((isset($_GET['assetclassgroup_id'])) ? $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']) : $assetclassgroup_id = "");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclassadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclassgroup
$tp->setvars($lang); $smarty->assign("assetclassgroup_options", $db->options_assetclassgroup());
// setup assetclassgroup // end page
// build query // output
$query = "SELECT $smarty->display("assetclassadd.tpl");
assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name // end output
FROM include("footer.php");
assetclassgroup
ORDER BY
assetclassgroup.assetclassgroup_name";
// run query
$assetclassgroup = $db->db_select($query);
// get objects
foreach($assetclassgroup AS $assetclassgroup) {
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
if($assetclassgroup['assetclassgroup_id']==$assetclassgroup_id) {
$tp->set("assetclassgroup_selected", "selected");
} else {
$tp->set("assetclassgroup_selected", "");
}
// parse block
$tp->parse("assetclassgroup_row");
}
// parse block
$tp->parse("assetclassgroup_table");
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,63 +1,59 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$assetclass_id = sanitize($_GET['assetclass_id']); $assetclass_id = sanitize($_GET['assetclass_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclassdel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclass
$tp->setvars($lang); // build query
$query = "SELECT
// setup assetclass assetclass.assetclass_id AS assetclass_id,
// build query assetclass.assetclass_name AS assetclass_name
$query = "SELECT FROM
assetclass.assetclass_id AS assetclass_id, assetclass
assetclass.assetclass_name AS assetclass_name WHERE
FROM assetclass.assetclass_id=" . $assetclass_id;
assetclass
WHERE // run query
assetclass.assetclass_id=" . $assetclass_id; $assetclass = $db->db_select($query);
// run query // send to tpl
$assetclass = $db->db_select($query); $smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
$smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
// send to tpl
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']); // end page
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']); // output
$smarty->display("assetclassdel.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,96 +1,65 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$assetclass_id = sanitize($_GET['assetclass_id']); $assetclass_id = sanitize($_GET['assetclass_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclassedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclass
$tp->setvars($lang); // build query
$query = "SELECT
// setup assetclass assetclass.assetclass_id AS assetclass_id,
// build query assetclass.assetclass_name AS assetclass_name,
$query = "SELECT assetclass.assetclassgroup_id AS assetclassgroup_id
assetclass.assetclass_id AS assetclass_id, FROM
assetclass.assetclass_name AS assetclass_name, assetclass
assetclass.assetclassgroup_id AS assetclassgroup_id WHERE
FROM assetclass.assetclass_id=" . $assetclass_id;
assetclass
WHERE // run query
assetclass.assetclass_id=" . $assetclass_id; $assetclass = $db->db_select($query);
// run query // send to tpl
$assetclass = $db->db_select($query); $smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
$smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
// send to tpl $smarty->assign("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']);
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']); // setup assetclassgroup
// build query
// setup assetclassgroup $smarty->assign("assetclassgroup_options", $db->options_assetclassgroup());
// build query
$query = "SELECT // end page
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, // output
assetclassgroup.assetclassgroup_name AS assetclassgroup_name $smarty->display("assetclassedit.tpl");
FROM
assetclassgroup // end output
ORDER BY include("footer.php");
assetclassgroup.assetclassgroup_name";
// run query
$assetclassgroups = $db->db_select($query);
// get objects
foreach($assetclassgroups AS $assetclassgroup) {
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
if($assetclassgroup['assetclassgroup_id']==$assetclass[0]['assetclassgroup_id']) {
$tp->set("assetclassgroup_selected", "selected");
} else {
$tp->set("assetclassgroup_selected", "");
}
// parse block
$tp->parse("assetclassgroup_row");
}
// parse block
$tp->parse("assetclassgroup_table");
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,84 +1,54 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclassgroup.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclassgroup
$tp->setvars($lang); // build query
$query = "SELECT
// setup assetclassgroup assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
// build query assetclassgroup.assetclassgroup_name AS assetclassgroup_name,
$query = "SELECT assetclassgroup.assetclassgroup_color AS assetclassgroup_color
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, FROM
assetclassgroup.assetclassgroup_name AS assetclassgroup_name assetclassgroup
FROM ORDER BY
assetclassgroup assetclassgroup.assetclassgroup_name";
ORDER BY
assetclassgroup.assetclassgroup_name"; // run query
$assetclassgroups = $db->db_select($query);
// run query $smarty->assign("assetclassgroups", $assetclassgroups);
$assetclassgroups = $db->db_select($query);
// end page
// count results // output
$assetclassgroup_counter = count($assetclassgroups); $smarty->display("assetclassgroup.tpl");
// counter to tpl // end output
$tp->set("assetclassgroup_counter", $assetclassgroup_counter); include("footer.php");
// any assetclassgroups?
if ($assetclassgroup_counter>0) {
// get objects
foreach($assetclassgroups AS $assetclassgroup) {
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
$tp->set("assetclassgroup_id", $assetclassgroup['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup['assetclassgroup_name']);
// parse row
$tp->parse("assetclassgroup_row");
}
// parse block
$tp->parse("assetclassgroup_table");
} else {
// hide block
$tp->hide("assetclassgroup_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,43 +1,39 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclassgroupadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // end page
$tp->setvars($lang); // output
$smarty->display("assetclassgroupadd.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,63 +1,59 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$assetclassgroup_id = sanitize($_GET['assetclassgroup_id']); $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclassgroupdel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclassgroup
$tp->setvars($lang); // build query
$query = "SELECT
// setup assetclassgroup assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
// build query assetclassgroup.assetclassgroup_name AS assetclassgroup_name
$query = "SELECT FROM
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, assetclassgroup
assetclassgroup.assetclassgroup_name AS assetclassgroup_name WHERE
FROM assetclassgroup.assetclassgroup_id=" . $assetclassgroup_id;
assetclassgroup
WHERE // run query
assetclassgroup.assetclassgroup_id=" . $assetclassgroup_id; $assetclassgroup = $db->db_select($query);
// run query // send to tpl
$assetclassgroup = $db->db_select($query); $smarty->assign("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
$smarty->assign("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
// send to tpl
$tp->set("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']); // end page
$tp->set("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']); // output
$smarty->display("assetclassgroupdel.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,65 +1,62 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$assetclassgroup_id = sanitize($_GET['assetclassgroup_id']); $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']);
// start output // start output
include("header.php"); $smarty->assign("scripts", 'jscolor.js');
include("header.php");
// set template
$tp = new Template("tpl/assetclassgroupedit.tpl", $config_yapter_error); // set language variables
$smarty->assign($lang);
// set language variables
$tp->setvars($lang); // setup assetclassgroup
// build query
// setup assetclassgroup $query = "SELECT
// build query assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
$query = "SELECT assetclassgroup.assetclassgroup_name AS assetclassgroup_name,
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, assetclassgroup.assetclassgroup_color AS assetclassgroup_color
assetclassgroup.assetclassgroup_name AS assetclassgroup_name, FROM
assetclassgroup.assetclassgroup_color AS assetclassgroup_color assetclassgroup
FROM WHERE
assetclassgroup assetclassgroup.assetclassgroup_id=" . $assetclassgroup_id;
WHERE
assetclassgroup.assetclassgroup_id=" . $assetclassgroup_id; // run query
$assetclassgroup = $db->db_select($query);
// run query
$assetclassgroup = $db->db_select($query); // send to tpl
$smarty->assign("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
// send to tpl $smarty->assign("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
$tp->set("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']); $smarty->assign("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']);
$tp->set("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
$tp->set("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']); // end page
// output
// end page $smarty->display("assetclassgroupedit.tpl");
// output
$tp->parse(); // end output
$tp->spit(); include("footer.php");
// end output
include("footer.php");
?> ?>

@ -1,105 +1,77 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$assetclassgroup_id = sanitize($_GET['assetclassgroup_id']); $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclassgroupview.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclassgroup
$tp->setvars($lang); // build query
$query = "SELECT
// setup assetclassgroup assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
// build query assetclassgroup.assetclassgroup_name AS assetclassgroup_name,
$query = "SELECT assetclassgroup.assetclassgroup_color AS assetclassgroup_color
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, FROM
assetclassgroup.assetclassgroup_name AS assetclassgroup_name, assetclassgroup
assetclassgroup.assetclassgroup_color AS assetclassgroup_color WHERE
FROM assetclassgroup.assetclassgroup_id=" . $assetclassgroup_id;
assetclassgroup
WHERE // run query
assetclassgroup.assetclassgroup_id=" . $assetclassgroup_id; $assetclassgroup = $db->db_select($query);
// run query // send to tpl
$assetclassgroup = $db->db_select($query); $smarty->assign("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
$smarty->assign("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']);
// send to tpl $smarty->assign("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']);
$tp->set("assetclassgroup_id", $assetclassgroup[0]['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclassgroup[0]['assetclassgroup_name']); // setup assetclass
$tp->set("assetclassgroup_color", $assetclassgroup[0]['assetclassgroup_color']); // build query
$query = "SELECT
// setup assetclass assetclass.assetclass_id AS assetclass_id,
// build query assetclass.assetclass_name AS assetclass_name
$query = "SELECT FROM
assetclass.assetclass_id AS assetclass_id, assetclass
assetclass.assetclass_name AS assetclass_name WHERE
FROM assetclass.assetclassgroup_id=" . $assetclassgroup_id . "
assetclass ORDER BY
WHERE assetclass.assetclass_name";
assetclass.assetclassgroup_id=" . $assetclassgroup_id . "
ORDER BY // run query
assetclass.assetclass_name"; $assetclasses = $db->db_select($query);
$smarty->assign("assetclasses", $assetclasses);
// run query
$assetclasses = $db->db_select($query); // end page
// output
// count results $smarty->display("assetclassgroupview.tpl");
$assetclass_counter = count($assetclasses);
// end output
// counter to tpl include("footer.php");
$tp->set("assetclass_counter", $assetclass_counter);
// any assets?
if ($assetclass_counter>0) {
// get objects
foreach($assetclasses AS $assetclass) {
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
// parse row
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
} else {
// hide block
$tp->hide("assetclass_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,114 +1,85 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$assetclass_id = sanitize($_GET['assetclass_id']); $assetclass_id = sanitize($_GET['assetclass_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetclassview.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup assetclass
$tp->setvars($lang); // build query
$query = "SELECT
// setup assetclass assetclass.assetclass_id,
// build query assetclass.assetclass_name,
$query = "SELECT assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclass.assetclass_id AS assetclass_id, assetclassgroup.assetclassgroup_name AS assetclassgroup_name
assetclass.assetclass_name AS assetclass_name, FROM
assetclassgroup.assetclassgroup_id AS assetclassgroup_id, assetclass,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name assetclassgroup
FROM WHERE
assetclass, assetclass.assetclass_id=" . $assetclass_id . "
assetclassgroup AND assetclassgroup.assetclassgroup_id=assetclass.assetclassgroup_id";
WHERE
assetclass.assetclass_id=" . $assetclass_id . " // run query
AND assetclassgroup.assetclassgroup_id=assetclass.assetclassgroup_id"; $assetclass = $db->db_select($query);
// run query // send to tpl
$assetclass = $db->db_select($query); $smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
$smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
// send to tpl $smarty->assign("assetclass_selected", "");
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']);
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']); $smarty->assign("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
$tp->set("assetclass_selected", ""); $smarty->assign("assetclassgroup_name", $assetclass[0]['assetclassgroup_name']);
$tp->set("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']); // send to tpl
$tp->set("assetclassgroup_name", $assetclass[0]['assetclassgroup_name']); // setup asset
// build query
// setup asset $query = "SELECT
// build query asset_id,
$query = "SELECT asset_name,
asset.asset_id AS asset_id, CONCAT(LEFT(asset_info, 80), IF(CHAR_LENGTH(asset_info)>80,'...','')) AS asset_info
asset.asset_name AS asset_name FROM
FROM asset
asset WHERE
WHERE assetclass_id='" . $assetclass_id . "'
asset.assetclass_id='" . $assetclass_id . "' ORDER BY
ORDER BY asset_name";
asset.asset_name";
// run query
// run query $assets = $db->db_select($query);
$assets = $db->db_select($query); $smarty->assign("assets", $assets);
// count results // end page
$asset_counter = count($assets); // output
$smarty->display("assetclassview.tpl");
// counter to tpl
$tp->set("asset_counter", $asset_counter); // footer
include("footer.php");
// any assets? ?>
if ($asset_counter>0) {
// sort using "natural order"
// ksort($assets);
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']);
// parse row
$tp->parse("asset_row");
}
// parse block
$tp->parse("asset_table");
} else {
// hide block
$tp->hide("asset_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?>

@ -1,99 +1,74 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$asset_id = sanitize($_GET['asset_id']); $asset_id = sanitize($_GET['asset_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetdel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup asset
$tp->setvars($lang); // build query
$query = "SELECT
// setup asset asset.asset_name AS asset_name
// build query FROM
$query = "SELECT asset
asset.asset_name AS asset_name WHERE
FROM asset.asset_id=" . $asset_id;
asset
WHERE // run query
asset.asset_id=" . $asset_id; $asset = $db->db_select($query);
// run query // send to tpl
$asset = $db->db_select($query); $smarty->assign("asset_id", $asset_id);
$smarty->assign("asset_name", $asset[0]['asset_name']);
// send to tpl
$tp->set("asset_id", $asset_id); // setup node
$tp->set("asset_name", $asset[0]['asset_name']); // build query
$query = "SELECT
// setup node node.node_id AS node_id,
// build query node.node_ip AS node_ip
$query = "SELECT FROM
node.node_id AS node_id, node
node.node_ip AS node_ip WHERE
FROM node.asset_id=" . $asset_id . "
node ORDER BY
WHERE INET_ATON(node.node_ip)";
node.asset_id=" . $asset_id . "
ORDER BY // run query
INET_ATON(node.node_ip)"; $nodes = $db->db_select($query);
$smarty->assign("nodes", $nodes);
// run query
$nodes = $db->db_select($query); // end page
// output
// count results $smarty->display("assetdel.tpl");
$node_counter = count($nodes);
// footer
// any nodes? include("footer.php");
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// set id
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?> ?>

@ -1,108 +1,62 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$asset_id = sanitize($_GET['asset_id']); $asset_id = sanitize($_GET['asset_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup asset
$tp->setvars($lang); // build query
$query = "SELECT
// setup asset asset_id,
// build query asset.asset_name AS asset_name,
$query = "SELECT asset.asset_hostname AS asset_hostname,
asset.asset_name AS asset_name, asset.asset_info AS asset_info,
asset.asset_hostname AS asset_hostname, asset.assetclass_id AS assetclass_id
asset.asset_info AS asset_info, FROM
asset.assetclass_id AS assetclass_id asset
FROM WHERE
asset asset.asset_id=" . $asset_id;
WHERE
asset.asset_id=" . $asset_id; // run query
$asset = $db->db_select($query);
// run query $smarty->assign("asset", $asset[0]);
$asset = $db->db_select($query);
// setup assetclass
// send to tpl $smarty->assign("assetclass_options", $db->options_assetclass());
$tp->set("asset_id", $asset_id);
$tp->set("asset_name", $asset[0]['asset_name']); // end page
$tp->set("asset_hostname", $asset[0]['asset_hostname']); // output
$tp->set("asset_info", $asset[0]['asset_info']); $smarty->display("assetedit.tpl");
// setup assetclass // footer
// build query include("footer.php");
$query = "SELECT
assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name
FROM
assetclass
ORDER BY
assetclass.assetclass_name";
// run query
$assetclasses = $db->db_select($query);
// count results
$assetclass_counter = count($assetclasses);
// any nodes?
if ($assetclass_counter>0) {
// get objects
foreach($assetclasses AS $assetclass) {
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
// set select box
if($assetclass['assetclass_id']==$asset[0]['assetclass_id']) {
$tp->set("assetclass_selected", "selected");
} else {
$tp->set("assetclass_selected", "");
}
// parse block
$tp->parse("assetclass_row");
}
// parse block
$tp->parse("assetclass_table");
} else {
// parse block
$tp->hide("assetclass_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?> ?>

@ -1,113 +1,86 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$asset_id = sanitize($_GET['asset_id']); $asset_id = sanitize($_GET['asset_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assetview.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup asset
$tp->setvars($lang); // build query
$query = "SELECT
// setup asset asset.asset_name,
// build query asset.asset_hostname,
$query = "SELECT asset.asset_info,
asset.asset_name AS asset_name, assetclass.assetclass_id AS assetclass_id,
asset.asset_hostname AS asset_hostname, assetclass.assetclass_name AS assetclass_name
asset.asset_info AS asset_info, FROM
assetclass.assetclass_id AS assetclass_id, asset,
assetclass.assetclass_name AS assetclass_name assetclass
FROM WHERE
asset, asset.asset_id=" . $asset_id . "
assetclass AND assetclass.assetclass_id=asset.assetclass_id";
WHERE
asset.asset_id=" . $asset_id . " // run query
AND assetclass.assetclass_id=asset.assetclass_id"; $asset = $db->db_select($query);
// run query // send to tpl
$asset = $db->db_select($query); $smarty->assign("asset_id", $asset_id);
$smarty->assign("asset_name", $asset[0]['asset_name']);
// send to tpl $smarty->assign("asset_hostname", $asset[0]['asset_hostname']);
$tp->set("asset_id", $asset_id); $smarty->assign("asset_info", nl2br($asset[0]['asset_info']));
$tp->set("asset_name", $asset[0]['asset_name']);
$tp->set("asset_hostname", $asset[0]['asset_hostname']); $smarty->assign("assetclass_id", $asset[0]['assetclass_id']);
$tp->set("asset_info", nl2br($asset[0]['asset_info'])); $smarty->assign("assetclass_name", $asset[0]['assetclass_name']);
$tp->set("assetclass_id", $asset[0]['assetclass_id']); // setup node
$tp->set("assetclass_name", $asset[0]['assetclass_name']); // build query
$query = "SELECT
// setup node node_id,
// build query node_ip,
$query = "SELECT LEFT(node_info, 40) as node_info
node.node_id AS node_id, FROM
node.node_ip AS node_ip node
FROM WHERE
node node.asset_id=" . $asset_id . "
WHERE ORDER BY
node.asset_id=" . $asset_id . " INET_ATON(node.node_ip)";
ORDER BY
INET_ATON(node.node_ip)"; // run query
$nodes = $db->db_select($query);
// run query $smarty->assign("nodes", $nodes);
$nodes = $db->db_select($query);
// end page
// count results // output
$node_counter = count($nodes); $smarty->display("assetview.tpl");
// counter to tpl // footer
$tp->set("node_counter", $node_counter); include("footer.php");
?>
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?>

@ -1,65 +1,61 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$node_ip = sanitize($_GET['node_ip']); $node_ip = sanitize($_GET['node_ip']);
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assigniptonode.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // build query
$tp->setvars($lang); $query = "SELECT
subnet.subnet_address AS subnet_address,
// build query subnet.subnet_mask AS subnet_mask
$query = "SELECT FROM
subnet.subnet_address AS subnet_address, subnet
subnet.subnet_mask AS subnet_mask WHERE
FROM subnet.subnet_id=" . $subnet_id;
subnet
WHERE // run query
subnet.subnet_id=" . $subnet_id; $subnet = $db->db_select($query);
// run query // send to tpl
$subnet = $db->db_select($query); $smarty->assign("subnet_id", $subnet_id);
$smarty->assign("subnet_address", $subnet[0]['subnet_address']);
// send to tpl $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_id", $subnet_id); $smarty->assign("node_ip", $node_ip);
$tp->set("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); // end page
$tp->set("node_ip", $node_ip); // output
$smarty->display("assigniptonode.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,133 +1,79 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$asset_id = sanitize($_GET['asset_id']); $asset_id = sanitize($_GET['asset_id']);
$node_ip = sanitize($_GET['node_ip']); $node_ip = sanitize($_GET['node_ip']);
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/assignnodetoasset.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // to tpl
$tp->setvars($lang); $smarty->assign("node_ip", $node_ip);
// to tpl // setup asset
$tp->set("node_ip", $node_ip); $smarty->assign("asset_id", $asset_id);
// build query
// setup asset $query = "SELECT
// build query asset.asset_id AS asset_id,
$query = "SELECT asset.asset_name AS asset_name
asset.asset_id AS asset_id, FROM
asset.asset_name AS asset_name asset
FROM ORDER BY
asset asset.asset_name";
ORDER BY
asset.asset_name"; // run query
$assets = $db->db_select($query);
// run query foreach ($assets as $asset) {
$assets = $db->db_select($query); $asset_options[$asset['asset_id']] = $asset['asset_name'];
}
// count results $smarty->assign("asset_options", $asset_options);
$asset_counter = count($assets);
// setup subnet
// any assets? // build query
if ($asset_counter>0) { $query = "SELECT subnet_id,
// get objects CONCAT_WS('/', subnet_address, subnet_mask) AS subnet_name
foreach($assets AS $asset) { FROM subnet
// send to tpl ORDER BY INET_ATON(subnet_address)";
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']); // run query
$subnets = $db->db_select($query);
if($asset['asset_id']==$asset_id) { foreach ($subnets as $subnet) {
$tp->set("asset_selected", "selected"); $subnet_options[$subnet['subnet_id']] = $subnet['subnet_name'];
} else { }
$tp->set("asset_selected", ""); $smarty->assign("subnet_options", $subnet_options);
}
// end page
// parse block // output
$tp->parse("asset_row"); $smarty->display("assignnodetoasset.tpl");
}
// parse block // end output
$tp->parse("asset_table"); include("footer.php");
} else {
// parse block
$tp->hide("asset_table");
}
// 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);
// 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");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,46 +1,42 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/comments.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // get error
$tp->setvars($lang); $comments = sanitize($_GET['comments']);
// get error // set veriables
$comments = sanitize($_GET['comments']); $smarty->assign("comments", $lang['lang_comments_' . $comments]);
// set veriables // output
$tp->set("comments", $lang['lang_comments_' . $comments]); $smarty->display("comments.tpl");
// output include("footer.php");
$tp->parse();
$tp->spit();
include("footer.php");
?> ?>

@ -1,38 +1,41 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// version // version
$config_version = 'v0.5'; $config_version = 'v0.7';
// db connection // db connection
$config_mysql_host = 'localhost'; $config_mysql_host = 'localhost';
$config_mysql_username = 'db_user'; $config_mysql_username = 'ipreg';
$config_mysql_password = 'db_pass'; $config_mysql_password = 'changeme!';
$config_mysql_dbname = 'db_name'; $config_mysql_dbname = 'ipreg';
// error reporting // default values for IP blocks
$config_yapter_error = 15; // see yapter.php for more information $config_color_blocked = 'dcdcdc';
$config_color_unused = 'ffffff';
// default values for IP blocks $config_color_dynamic = 'e0e0e0';
$config_color_blocked = 'dcdcdc';
$config_color_unused = 'ffffff'; // language
$config_lang = array('de', 'en');
$config_lang_default = 'en';
?> ?>

@ -1,28 +1,28 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// build connection // build connection
mysql_connect($config_mysql_host,$config_mysql_username,$config_mysql_password); $dblink = mysqli_connect($config_mysql_host,$config_mysql_username,$config_mysql_password);
// select db // select db
mysql_select_db($config_mysql_dbname); mysqli_select_db($dblink, $config_mysql_dbname);
?> ?>

@ -1,34 +1,31 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// set template
$tp = new Template("tpl/footer.tpl", $config_yapter_error); // get version for the footer-stamp
$smarty->assign("config_version", $config_version);
// get version for the footer-stamp
$tp->set("config_version", $config_version); // end page
// output
// end page $smarty->display("footer.tpl");
// output
$tp->parse();
$tp->spit();
?> ?>

@ -1,112 +1,69 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// include language file // include language file
include('lang/en.php'); include('lang/' . $_SESSION['suser_language'] . '.php');
// set template // set language variables
$tp = new Template("tpl/header.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // search box
$tp->setvars($lang); // new search?
if (isset($_POST['search'])) {
// search box // set var
// new search? $search = sanitize($_POST['search']);
if (isset($_POST['search'])) {
// set var // store var
$search = sanitize($_POST['search']); $_SESSION['search'] = $search;
} else {
// store var // check for stored var
$_SESSION['search'] = $search; if(isset($_SESSION['search'])) {
} else { // set var
// check for stored var $search = $_SESSION['search'];
if(isset($_SESSION['search'])) { } else {
// set var // empty var
$search = $_SESSION['search']; $search = '';
} else { }
// empty var }
$search = '';
} // to tpl
} // set global template vars
$smarty->assign("config_version", $config_version);
// to tpl $smarty->assign("suser_name", $_SESSION['suser_displayname']);
// set global template vars $smarty->assign("search", $search);
$tp->set("config_version", $config_version);
$tp->set("suser_name", $_SESSION['suser_displayname']); // menu
$tp->set("search", $search); $smarty->assign("menu_assets", $_SESSION['suser_menu_assets']=='on');
$smarty->assign("menu_assetclasses", $_SESSION['suser_menu_assetclasses']=='on');
// menu $smarty->assign("menu_assetclassgroups", $_SESSION['suser_menu_assetclassgroups']=='on');
// assets $smarty->assign("menu_locations", $_SESSION['suser_menu_locations']=='on');
if($_SESSION['suser_menu_assets']=='on') { $smarty->assign("menu_nodes", $_SESSION['suser_menu_nodes']=='on');
$tp->parse("menu_assets"); $smarty->assign("menu_subnets", $_SESSION['suser_menu_subnets']=='on');
} else { $smarty->assign("menu_users", $_SESSION['suser_menu_users']=='on');
$tp->hide("menu_assets"); $smarty->assign("menu_vlans", $_SESSION['suser_menu_vlans']=='on');
} $smarty->assign("menu_zones", $_SESSION['suser_menu_zones']=='on');
// assetclasses
if($_SESSION['suser_menu_assetclasses']=='on') { // end page
$tp->parse("menu_assetclasses"); // output
} else { $smarty->display("header.tpl");
$tp->hide("menu_assetclasses");
}
// assetclassgroups
if($_SESSION['suser_menu_assetclassgroups']=='on') {
$tp->parse("menu_assetclassgroups");
} else {
$tp->hide("menu_assetclassgroups");
}
// locations
if($_SESSION['suser_menu_locations']=='on') {
$tp->parse("menu_locations");
} else {
$tp->hide("menu_locations");
}
// nodes
if($_SESSION['suser_menu_nodes']=='on') {
$tp->parse("menu_nodes");
} else {
$tp->hide("menu_nodes");
}
// subnets
if($_SESSION['suser_menu_subnets']=='on') {
$tp->parse("menu_subnets");
} else {
$tp->hide("menu_subnets");
}
// users
if($_SESSION['suser_menu_users']=='on') {
$tp->parse("menu_users");
} else {
$tp->hide("menu_users");
}
// vlans
if($_SESSION['suser_menu_vlans']=='on') {
$tp->parse("menu_vlans");
} else {
$tp->hide("menu_vlans");
}
// end page
// output
$tp->parse();
$tp->spit();
?> ?>

@ -1,106 +1,109 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// icon image // icon image
if(isset($_GET['icon'])) { if(isset($_GET['icon'])) {
// get desired image // get desired image
$icon = sanitize($_GET['icon']); $icon = sanitize($_GET['icon']);
// switch selected // switch selected
switch($icon) { switch($icon) {
case ("add") : case ("add") :
$png = 'page_add'; $png = 'page_add';
break; break;
case ("back") : case ("back") :
$png = 'control_rewind_blue'; $png = 'control_rewind_blue';
break; break;
case ("cancel") : case ("cancel") :
$png = 'control_rewind_blue'; $png = 'control_rewind_blue';
break; break;
case ("comment") : case ("comment") :
$png = 'comment'; $png = 'comment';
break; break;
case ("delete") : case ("delete") :
$png = 'page_delete'; $png = 'page_delete';
break; break;
case ("edit") : case ("shred") :
$png = 'page_edit'; $png = 'bin';
break; break;
case ("error") : case ("edit") :
$png = 'error'; $png = 'page_edit';
break; break;
case ("help") : case ("error") :
$png = 'help'; $png = 'error';
break; break;
case ("logo") : case ("help") :
$png = 'logo'; $png = 'help';
break; break;
case ("next") : case ("logo") :
$png = 'control_fastforward_blue'; $png = 'logo';
break; break;
case ("save") : case ("next") :
$png = 'page_save'; $png = 'control_fastforward_blue';
break; break;
case ("search") : case ("save") :
$png = 'magnifier'; $png = 'page_save';
break; break;
} case ("search") :
$png = 'magnifier';
// get image break;
$image = imagecreatefrompng("images/" . $png . ".png"); }
// alpha blending // get image
imagealphablending($image, true); $image = imagecreatefrompng("images/" . $png . ".png");
// save alphablending setting // alpha blending
imagesavealpha($image, true); imagealphablending($image, true);
// display image // save alphablending setting
header('Content-type: image/png'); imagesavealpha($image, true);
imagepng($image);
imagedestroy($image); // display image
} header('Content-type: image/png');
imagepng($image);
// colored block imagedestroy($image);
if(isset($_GET['color'])) { }
// get desired color
$color = sanitize($_GET['color']); // colored block
if(isset($_GET['color'])) {
// create base image // get desired color
$image = imagecreatetruecolor($_SESSION['suser_imagesize'], $_SESSION['suser_imagesize']); $color = sanitize($_GET['color']);
// build color // create base image
$color = imagecolorallocate($image, hexdec(substr($color,0,2)), hexdec(substr($color,2,2)), hexdec(substr($color,4,2))); $image = imagecreatetruecolor($_SESSION['suser_imagesize'], $_SESSION['suser_imagesize']);
// fill image with color // build color
imagefill($image, 0, 0, $color); $color = imagecolorallocate($image, hexdec(substr($color,0,2)), hexdec(substr($color,2,2)), hexdec(substr($color,4,2)));
// display image // fill image with color
header('Content-type: image/png'); imagefill($image, 0, 0, $color);
imagepng($image);
imagedestroy($image); // display image
} header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
}
?> ?>

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

@ -1,45 +1,50 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// session // session
// start session // start session
session_start(); session_name('ipreg');
session_start();
// check for user_id, if unnkown, redirect to login
if(empty($_SESSION['suser_id'])) { // check for user_id, if unnkown, redirect to login
// redirect if(empty($_SESSION['suser_id'])) {
header("Location: login.php"); // redirect
exit; header("Location: login.php");
} exit;
}
// headers
// raw http headers // headers
header("Content-Type: text/html; charset=utf-8"); // raw http headers
header("Content-Type: text/html; charset=utf-8");
// includes
// includes // includes
include("config.php"); // includes
include("dbconnect.php"); include("config.php");
include("dbconnect.php");
// load lib
include("lib.php"); // load lib
include("lib.php");
// set language
$language = lang_getfrombrowser($config_lang, $config_lang_default, null, false);
?> ?>

@ -1,108 +1,118 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/index.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup asset
$tp->setvars($lang); // build query
$query = "SELECT
// setup asset COUNT(asset.asset_id) AS asset_counter
// build query FROM
$query = "SELECT asset";
COUNT(asset.asset_id) AS asset_counter
FROM // run query
asset"; $assets = $db->db_select($query);
// run query // counter to tpl
$assets = $db->db_select($query); $smarty->assign("asset_counter", $assets[0]['asset_counter']);
// counter to tpl // setup location
$tp->set("asset_counter", $assets[0]['asset_counter']); // build query
$query = "SELECT
// setup location COUNT(location.location_id) AS location_counter
// build query FROM
$query = "SELECT location";
COUNT(location.location_id) AS location_counter
FROM // run query
location"; $locations = $db->db_select($query);
// run query // counter to tpl
$locations = $db->db_select($query); $smarty->assign("location_counter", $locations[0]['location_counter']);
// counter to tpl // setup node
$tp->set("location_counter", $locations[0]['location_counter']); // build query
$query = "SELECT
// setup node COUNT(node.node_id) AS node_counter
// build query FROM
$query = "SELECT node";
COUNT(node.node_id) AS node_counter
FROM // run query
node"; $nodes = $db->db_select($query);
// run query // counter to tpl
$nodes = $db->db_select($query); $smarty->assign("node_counter", $nodes[0]['node_counter']);
// counter to tpl // setup subnet
$tp->set("node_counter", $nodes[0]['node_counter']); // build query
$query = "SELECT
// setup subnet COUNT(subnet.subnet_id) AS subnet_counter
// build query FROM
$query = "SELECT subnet";
COUNT(subnet.subnet_id) AS subnet_counter
FROM // run query
subnet"; $subnets = $db->db_select($query);
// run query // counter to tpl
$subnets = $db->db_select($query); $smarty->assign("subnet_counter", $subnets[0]['subnet_counter']);
// counter to tpl // setup vlan
$tp->set("subnet_counter", $subnets[0]['subnet_counter']); // build query
$query = "SELECT
// setup vlan COUNT(vlan.vlan_id) AS vlan_counter
// build query FROM
$query = "SELECT vlan";
COUNT(vlan.vlan_id) AS vlan_counter
FROM // run query
vlan"; $vlans = $db->db_select($query);
// run query // counter to tpl
$vlans = $db->db_select($query); $smarty->assign("vlan_counter", $vlans[0]['vlan_counter']);
// counter to tpl // setup zone
$tp->set("vlan_counter", $vlans[0]['vlan_counter']); // build query
$query = "SELECT
// end page COUNT(zone_id) AS zone_counter
// output FROM
$tp->parse(); zone";
$tp->spit();
// run query
// footer $zones = $db->db_select($query);
include("footer.php");
// counter to tpl
$smarty->assign("zone_counter", $zones[0]['zone_counter']);
// end page
// output
$smarty->display("index.tpl");
// footer
include("footer.php");
?> ?>

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

@ -1,143 +1,177 @@
CREATE TABLE asset ( CREATE TABLE asset (
asset_id int(10) NOT NULL auto_increment, asset_id int(10) NOT NULL AUTO_INCREMENT,
asset_name varchar(100) NOT NULL, asset_name varchar(100) NOT NULL,
asset_hostname varchar(100) NOT NULL, asset_hostname varchar(100) DEFAULT NULL,
assetclass_id int(10) NOT NULL, assetclass_id int(10) NOT NULL,
asset_info text NOT NULL, asset_info text DEFAULT NULL,
PRIMARY KEY (asset_id) PRIMARY KEY (asset_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO asset (asset_name, assetclass_id) VALUES INSERT INTO asset (asset_name, assetclass_id) VALUES
('My Computer', 1), ('My Computer', 1),
('My Server', 2); ('My Server', 2);
CREATE TABLE assetclass ( CREATE TABLE assetclass (
assetclass_id int(10) NOT NULL auto_increment, assetclass_id int(10) NOT NULL AUTO_INCREMENT,
assetclassgroup_id int(10) NOT NULL, assetclassgroup_id int(10) NOT NULL,
assetclass_name varchar(100) NOT NULL, assetclass_name varchar(100) NOT NULL,
PRIMARY KEY (assetclass_id) PRIMARY KEY (assetclass_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO assetclass (assetclassgroup_id, assetclass_name) VALUES INSERT INTO assetclass (assetclassgroup_id, assetclass_name) VALUES
(1, 'PC'), (1, 'PC'),
(2, 'Server'); (2, 'Server');
CREATE TABLE assetclassgroup ( CREATE TABLE assetclassgroup (
assetclassgroup_id int(10) NOT NULL auto_increment, assetclassgroup_id int(10) NOT NULL AUTO_INCREMENT,
assetclassgroup_name varchar(100) NOT NULL, assetclassgroup_name varchar(100) NOT NULL,
assetclassgroup_color varchar(6) NOT NULL, assetclassgroup_color varchar(6) NOT NULL DEFAULT '000000',
PRIMARY KEY (assetclassgroup_id) PRIMARY KEY (assetclassgroup_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO assetclassgroup (assetclassgroup_name, assetclassgroup_color) VALUES INSERT INTO assetclassgroup (assetclassgroup_name, assetclassgroup_color) VALUES
('Workstations', 000000); ('Workstations', '000000'),
('Servers', '0000CC');
CREATE TABLE location (
location_id int(10) NOT NULL auto_increment, CREATE TABLE location (
location_name varchar(100) NOT NULL, location_id int(10) NOT NULL AUTO_INCREMENT,
location_parent int(1) NOT NULL default 0, location_name varchar(100) NOT NULL,
location_info text NOT NULL, location_parent int(10) NOT NULL DEFAULT 0,
PRIMARY KEY (location_id) location_info text DEFAULT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; location_sort int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (location_id),
INSERT INTO location (location_name, location_parent) VALUES KEY location_sort (location_sort)
('Main Office', 0); ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO location (location_name, location_parent) VALUES
CREATE TABLE nat ( ('Main Office', 0);
nat_id int(10) NOT NULL auto_increment,
nat_type int(1) NOT NULL,
nat_ext int(10) NOT NULL, CREATE TABLE nat (
nat_int int(10) NOT NULL, nat_id int(10) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (nat_id) nat_type int(1) NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; nat_ext int(10) NOT NULL,
nat_int int(10) NOT NULL,
PRIMARY KEY (nat_id)
CREATE TABLE node ( ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
node_id int(10) NOT NULL auto_increment,
node_ip varchar(15) NOT NULL, CREATE TABLE node (
node_mac varchar(12) NOT NULL, node_id int(10) NOT NULL AUTO_INCREMENT,
node_dns1 varchar(100) NOT NULL, node_ip varchar(45) NOT NULL,
node_dns2 varchar(100) NOT NULL, node_mac varchar(12) NOT NULL,
subnet_id int(10) NOT NULL, node_dns1 varchar(100) DEFAULT NULL,
asset_id int(10) NOT NULL, node_dns2 varchar(100) DEFAULT NULL,
node_info text NOT NULL, subnet_id int(10) NOT NULL,
PRIMARY KEY (node_id) asset_id int(10) NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; zone_id int(10) DEFAULT NULL,
node_info text DEFAULT NULL,
INSERT INTO node (node_ip, node_mac, subnet_id, asset_id) VALUES node_type enum('v4','v6') NOT NULL DEFAULT 'v4',
('192.168.1.2', '001122334455', 1, 1), PRIMARY KEY (node_id)
('192.168.1.1', 'aabbccddeeff', 1, 2); ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO node (node_ip, node_mac, subnet_id, asset_id) VALUES
CREATE TABLE subnet ( ('192.168.1.2', '001122334455', 1, 1),
subnet_id int(10) NOT NULL auto_increment, ('192.168.1.1', 'aabbccddeeff', 1, 2);
subnet_address varchar(15) NOT NULL,
subnet_mask int(2) NOT NULL,
subnet_info text NOT NULL, CREATE TABLE subnet (
PRIMARY KEY (subnet_id) subnet_id int(10) NOT NULL AUTO_INCREMENT,
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; subnet_address varchar(45) NOT NULL,
subnet_mask int(2) NOT NULL,
subnet_dhcp_start varchar(15) DEFAULT NULL,
INSERT INTO subnet (subnet_address, subnet_mask) VALUES subnet_dhcp_end varchar(15) DEFAULT NULL,
('192.168.0.0', 24); subnet_info text DEFAULT NULL,
protocol_version tinyint(1) NOT NULL DEFAULT 4,
ntp_server varchar(45) DEFAULT NULL,
CREATE TABLE subnetlocation ( PRIMARY KEY (subnet_id)
subnetlocation_id int(10) NOT NULL auto_increment, ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
subnet_id int(10) NOT NULL,
location_id int(10) NOT NULL, INSERT INTO subnet (subnet_address, subnet_mask) VALUES
PRIMARY KEY (subnetlocation_id) ('192.168.0.0', 24);
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
INSERT INTO subnetlocation (subnet_id, location_id) VALUES CREATE TABLE subnetlocation (
(1, 1); subnetlocation_id int(10) NOT NULL AUTO_INCREMENT,
subnet_id int(10) NOT NULL,
location_id int(10) NOT NULL,
CREATE TABLE subnetvlan ( PRIMARY KEY (subnetlocation_id)
subnetvlan_id int(10) NOT NULL auto_increment, ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
subnet_id int(10) NOT NULL,
vlan_id int(10) NOT NULL,
PRIMARY KEY (subnetvlan_id) CREATE TABLE subnetvlan (
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; subnetvlan_id int(10) NOT NULL AUTO_INCREMENT,
subnet_id int(10) NOT NULL,
vlan_id int(10) NOT NULL,
CREATE TABLE user ( PRIMARY KEY (subnetvlan_id)
user_id int(10) NOT NULL auto_increment, ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
user_name varchar(100) NOT NULL,
user_pass varchar(32) NOT NULL, INSERT INTO subnetvlan (subnet_id, vlan_id) VALUES
user_displayname varchar(100) NOT NULL, (1, 1);
user_imagesize int(3) NOT NULL default 6,
user_imagecount int(3) NOT NULL default 64,
user_mac varchar(25) NOT NULL default 'xxxxxxxxxxxx', CREATE TABLE user (
user_dateformat varchar(10) NOT NULL default 'd M Y H:i', user_id int(10) NOT NULL AUTO_INCREMENT,
user_dns1suffix varchar(100) NOT NULL, user_name varchar(100) NOT NULL,
user_dns2suffix varchar(100) NOT NULL, user_pass varchar(32) NOT NULL,
user_menu_assets varchar(2) NOT NULL default 'on', user_displayname varchar(100) NOT NULL,
user_menu_assetclasses varchar(2) NOT NULL default 'on', user_language char(2) NOT NULL DEFAULT 'en',
user_menu_assetclassgroups varchar(2) NOT NULL default 'on', user_imagesize int(3) NOT NULL DEFAULT 6,
user_menu_locations varchar(2) NOT NULL default 'on', user_imagecount int(3) NOT NULL DEFAULT 64,
user_menu_nodes varchar(2) NOT NULL default 'on', user_mac varchar(25) NOT NULL DEFAULT 'xx:xx:xx:xx:xx:xx',
user_menu_subnets varchar(2) NOT NULL default 'on', user_dateformat varchar(10) NOT NULL DEFAULT 'd M Y H:i',
user_menu_users varchar(2) NOT NULL default 'on', user_dns1suffix varchar(100) DEFAULT NULL,
user_menu_vlans varchar(2) NOT NULL default 'on', user_dns2suffix varchar(100) DEFAULT NULL,
PRIMARY KEY (user_id) user_menu_assets varchar(2) NOT NULL DEFAULT 'on',
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; user_menu_assetclasses varchar(2) NOT NULL DEFAULT 'on',
user_menu_assetclassgroups varchar(2) NOT NULL DEFAULT 'on',
INSERT INTO user (user_name, user_pass, user_displayname, user_imagesize, user_imagecount, user_mac, user_dateformat, user_menu_assets, user_menu_assetclasses, user_menu_assetclassgroups, user_menu_locations, user_menu_nodes, user_menu_subnets, user_menu_users, user_menu_vlans) VALUES user_menu_locations varchar(2) NOT NULL DEFAULT 'on',
('admin', '21232f297a57a5a743894a0e4a801fc3', 'administrator', 6, 64, 'xxxxxxxxxxxx', 'd M Y H:i', 'on', 'on', 'on', 'on', 'on', 'on', 'on', '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',
CREATE TABLE vlan ( user_menu_vlans varchar(2) NOT NULL DEFAULT 'on',
vlan_id int(10) NOT NULL auto_increment, user_menu_zones varchar(2) NOT NULL DEFAULT 'on',
vlan_number int(3) NOT NULL, user_tooltips varchar(2) NOT NULL DEFAULT 'on',
vlan_name varchar(100) NOT NULL, PRIMARY KEY (user_id)
vlan_info text NOT NULL, ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
PRIMARY KEY (vlan_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; INSERT INTO user (user_name, user_pass, user_displayname, user_imagesize, user_imagecount, user_mac, user_dateformat, user_menu_assets, user_menu_assetclasses, user_menu_assetclassgroups, user_menu_locations, user_menu_nodes, user_menu_subnets, user_menu_users, user_menu_vlans) VALUES
('admin', '21232f297a57a5a743894a0e4a801fc3', 'administrator', 6, 64, 'xxxxxxxxxxxx', 'd M Y H:i', 'on', 'on', 'on', 'on', 'on', 'on', 'on', 'on');
INSERT INTO vlan (vlan_number, vlan_name) VALUES
(1, 'DEFAULT_VLAN');
CREATE TABLE vlan (
vlan_id int(10) NOT NULL AUTO_INCREMENT,
vlan_number int(3) NOT NULL,
vlan_name varchar(100) 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',
);
?>

@ -1,196 +1,221 @@
<?php <?php
$lang = array( $lang = array(
'lang_ipreg' => 'IP Reg', 'lang_ipreg' => 'IP Reg',
'lang_asset' => 'Asset', 'lang_asset' => 'Asset',
'lang_assets' => 'Assets', 'lang_assets' => 'Assets',
'lang_assetclass' => 'Assetclass', 'lang_assetclass' => 'Assetclass',
'lang_assetclasses' => 'Assetclasses', 'lang_assetclasses' => 'Assetclasses',
'lang_assetclassgroup' => 'Assetclassgroup', 'lang_assetclassgroup' => 'Assetclassgroup',
'lang_assetclassgroups' => 'Assetclassgroups', 'lang_assetclassgroups' => 'Assetclassgroups',
'lang_location' => 'Location', 'lang_location' => 'Location',
'lang_locations' => 'Locations', 'lang_locations' => 'Locations',
'lang_menu' => 'Menu', 'lang_menu' => 'Menu',
'lang_node' => 'Node', 'lang_node' => 'Node',
'lang_nodes' => 'Nodes', 'lang_nodes' => 'Nodes',
'lang_user' => 'User', 'lang_user' => 'User',
'lang_users' => 'Users', 'lang_users' => 'Users',
'lang_sublocation' => 'Sub-location', 'lang_zone' => 'Zone',
'lang_sublocations' => 'Sub-locations', 'lang_zones' => 'Zones',
'lang_subnet' => 'Subnet', 'lang_sublocation' => 'Sub-location',
'lang_subnets' => 'Subnets', 'lang_sublocations' => 'Sub-locations',
'lang_vlan' => 'VLAN', 'lang_subnet' => 'Subnet',
'lang_vlans' => 'VLANs', 'lang_subnets' => 'Subnets',
'lang_tooltips' => 'Tooltips',
'lang_about' => 'About', 'lang_vlan' => 'VLAN',
'lang_all' => 'All', 'lang_vlans' => 'VLANs',
'lang_cancel' => 'Cancel',
'lang_color' => 'Color', 'lang_about' => 'About',
'lang_error' => 'Error', 'lang_all' => 'All',
'lang_item' => 'Item', 'lang_cancel' => 'Cancel',
'lang_language' => 'Language', 'lang_color' => 'Color',
'lang_login' => 'Login', 'lang_error' => 'Error',
'lang_logout' => 'Logout', 'lang_item' => 'Item',
'lang_options' => 'Options', 'lang_language' => 'Language',
'lang_reset' => 'Reset', 'lang_login' => 'Login',
'lang_search' => 'Search', 'lang_logout' => 'Logout',
'lang_statistics' => 'Statistics', 'lang_options' => 'Options',
'lang_subitem' => 'Sub-Item', 'lang_option_none' => '(none)',
'lang_submit' => 'Submit', 'lang_reset' => 'Reset',
'lang_unassigned' => 'Unassigned', 'lang_search' => 'Search',
'lang_warning' => 'Warning', 'lang_statistics' => 'Statistics',
'lang_subitem' => 'Sub-Item',
'lang_asset_add' => 'Add asset', 'lang_submit' => 'Submit',
'lang_asset_del' => 'Delete asset', 'lang_unassigned' => 'Unassigned',
'lang_asset_edit' => 'Modify asset', 'lang_warning' => 'Warning',
'lang_asset_info' => 'Asset info',
'lang_asset_name' => 'Asset name', 'lang_asset_add' => 'Add asset',
'lang_asset_hostname' => 'Hostname', 'lang_asset_del' => 'Delete asset',
'lang_asset_edit' => 'Modify asset',
'lang_assetclass_add' => 'Add assetclass', 'lang_asset_info' => 'Asset info',
'lang_assetclass_del' => 'Delete assetclass', 'lang_asset_name' => 'Asset name',
'lang_assetclass_edit' => 'Mofidy assetclass', 'lang_asset_hostname' => 'Hostname',
'lang_assetclass_name' => 'Assetclass name', 'lang_asset_none' => 'There are no assets defined',
'lang_assetclassgroup_add' => 'Add assetclassgroup', 'lang_assetclass_add' => 'Add assetclass',
'lang_assetclassgroup_del' => 'Delete assetclassgroup', 'lang_assetclass_del' => 'Delete assetclass',
'lang_assetclassgroup_edit' => 'Modify assetclassgroup', 'lang_assetclass_edit' => 'Mofidy assetclass',
'lang_assetclassgroup_name' => 'Assetclass Groupname', 'lang_assetclass_name' => 'Assetclass name',
'lang_assetclass_none' => 'There are no assetclasses defined',
'lang_assignnodetoasset' => 'Assign node to asset',
'lang_assignnodetoasset_existing' => 'Assign node to existing asset', 'lang_assetclassgroup_add' => 'Add assetclassgroup',
'lang_assignnodetoasset_new' => 'Assign node to new asset', 'lang_assetclassgroup_del' => 'Delete assetclassgroup',
'lang_assigniptonode' => 'Assign IP to node', 'lang_assetclassgroup_edit' => 'Modify assetclassgroup',
'lang_assigniptonode_existing' => 'Assign IP to existing node', 'lang_assetclassgroup_name' => 'Assetclass Groupname',
'lang_assigniptonode_new' => 'Assign IP to new node', 'lang_assetclassgroup_none' => 'There are no assetclassegroups defined',
'lang_assignlocationtosubnet' => 'Assign location to subnet',
'lang_assignlocationtosubnet_existing' => 'Assign location to existing subnet', 'lang_assignnodetoasset' => 'Assign node to asset',
'lang_assignlocationtosubnet_new' => 'Assign location to new subnet', 'lang_assignnodetoasset_existing' => 'Assign node to existing asset',
'lang_assignsubnettovlan' => 'Assign subnet to VLAN', 'lang_assignnodetoasset_new' => 'Assign node to new asset',
'lang_assignsubnettovlan_existing' => 'Assign subnet to existing VLAN', 'lang_assigniptonode' => 'Assign IP to node',
'lang_assignsubnettovlan_new' => 'Assign subnet to new VLAN', 'lang_assigniptonode_existing' => 'Assign IP to existing node',
'lang_assignvlantosubnet' => 'Assign VLAN to subnet', 'lang_assigniptonode_new' => 'Assign IP to new node',
'lang_assignvlantosubnet_existing' => 'Assign VLAN to existing subnet', 'lang_assignlocationtosubnet' => 'Assign location to subnet',
'lang_assignvlantosubnet_new' => 'Assign VLAN to new subnet', 'lang_assignlocationtosubnet_existing' => 'Assign location to existing subnet',
'lang_assignlocationtosubnet_new' => 'Assign location to new subnet',
'lang_location_add' => 'Add location', 'lang_assignsubnettovlan' => 'Assign subnet to VLAN',
'lang_location_del' => 'Delete location', 'lang_assignsubnettovlan_existing' => 'Assign subnet to existing VLAN',
'lang_location_edit' => 'Mofidy location', 'lang_assignsubnettovlan_new' => 'Assign subnet to new VLAN',
'lang_location_info' => 'Location info', 'lang_assignvlantosubnet' => 'Assign VLAN to subnet',
'lang_location_name' => 'Location name', 'lang_assignvlantosubnet_existing' => 'Assign VLAN to existing subnet',
'lang_location_parent' => 'Parent', 'lang_assignvlantosubnet_new' => 'Assign VLAN to new subnet',
'lang_sublocation_add' => 'Add Sub-location',
'lang_location_add' => 'Add location',
'lang_locationsubnet' => 'Location/Subnet', 'lang_location_del' => 'Delete location',
'lang_locationsubnet_edit' => 'Edit Location/Subnet', 'lang_location_edit' => 'Mofidy location',
'lang_location_info' => 'Location info',
'lang_node_add' => 'Add node', 'lang_location_name' => 'Location name',
'lang_node_del' => 'Delete node', 'lang_location_parent' => 'Parent',
'lang_node_edit' => 'Modify node', 'lang_sublocation_add' => 'Add Sub-location',
'lang_node_info' => 'Node info',
'lang_dns1' => 'DNS name', 'lang_locationsubnet' => 'Location/Subnet',
'lang_dns2' => 'DNS Alias', 'lang_locationsubnet_edit' => 'Edit Location/Subnet',
'lang_ip' => 'IP Address',
'lang_mac' => 'MAC Address', 'lang_node_add' => 'Add node',
'lang_node_del' => 'Delete node',
'lang_nat' => 'NAT', 'lang_node_edit' => 'Modify node',
'lang_nat_add' => 'Add NAT', 'lang_node_info' => 'Node info',
'lang_nat_del' => 'Delete NAT', 'lang_dns1' => 'DNS name',
'lang_nat_edit' => 'Modify NAT', 'lang_dns2' => 'DNS Alias',
'lang_nat_rules' => 'NAT Rules', 'lang_ip' => 'IP Address',
'lang_nat_type' => 'Type', 'lang_mac' => 'MAC Address',
'lang_nat_type_1' => 'Hide', 'lang_proto_vers' => 'Protocol version',
'lang_nat_type_2' => 'Static',
'lang_nat_type_3' => 'Dynamic', 'lang_nat' => 'NAT',
'lang_nat_add' => 'Add NAT',
'lang_search_results_found' => 'Total results found', 'lang_nat_del' => 'Delete NAT',
'lang_nat_edit' => 'Modify NAT',
'lang_subnet_add' => 'Add subnet', 'lang_nat_rules' => 'NAT Rules',
'lang_subnet_subnetaddress' => 'Subnet address', 'lang_nat_type' => 'Type',
'lang_subnet_subnetaddress_mask' => 'Subnet address/Mask', 'lang_nat_type_1' => 'Hide',
'lang_subnet_broadcastaddress' => 'Broadcast address', 'lang_nat_type_2' => 'Static',
'lang_subnet_nodesinsubnet' => 'Nodes in subnet', 'lang_nat_type_3' => 'Dynamic',
'lang_subnet_subnetused' => 'Subnet used',
'lang_subnet_del' => 'Delete subnet', 'lang_search_results_found' => 'Total results found',
'lang_subnet_edit' => 'Modify subnet',
'lang_subnet_info' => 'Subnet info', 'lang_subnet_add' => 'Add subnet',
'lang_subnet_mask' => 'Subnet mask', 'lang_subnet_subnetaddress' => 'Subnet address',
'lang_subnet_subnetaddress_mask' => 'Subnet address/Mask',
'lang_subnetlocation' => 'Subnet/Location', 'lang_subnet_broadcastaddress' => 'Broadcast address',
'lang_subnetlocation_edit' => 'Edit Subnet/Location', 'lang_subnet_nodesinsubnet' => 'Nodes in subnet',
'lang_subnetvlan' => 'Subnet/VLAN', 'lang_subnet_subnetused' => 'Subnet used',
'lang_subnetvlan_edit' => 'Edit Subnet/VLAN', 'lang_subnet_del' => 'Delete subnet',
'lang_subnet_edit' => 'Modify subnet',
'lang_user_add' => 'Add user', 'lang_subnet_info' => 'Subnet info',
'lang_user_del' => 'Delete user', 'lang_subnet_mask' => 'Subnet mask',
'lang_user_displayname' => 'Displayname', 'lang_subnet_dhcp' => 'Exclude DHCP',
'lang_user_edit' => 'Mofidy user', 'lang_subnet_dhcpstart' => 'DHCP Start',
'lang_user_name' => 'Username', 'lang_subnet_dhcpend' => 'DHCP End',
'lang_user_password' => 'Password', 'lang_subnet_ntp_server' => 'NTP Server',
'lang_vlan_add' => 'Add VLAN', 'lang_subnetlocation' => 'Subnet/Location',
'lang_vlan_del' => 'Delete VLAN', 'lang_subnetlocation_edit' => 'Edit Subnet/Location',
'lang_vlan_edit' => 'Modify VLAN', 'lang_subnetvlan' => 'Subnet/VLAN',
'lang_vlan_number' => 'VLAN ID', 'lang_subnetvlan_edit' => 'Edit Subnet/VLAN',
'lang_vlan_info' => 'VLAN info',
'lang_vlan_new' => 'VLAN info', 'lang_user_add' => 'Add user',
'lang_vlan_name' => 'VLAN name', 'lang_user_del' => 'Delete user',
'lang_user_displayname' => 'Displayname',
'lang_vlansubnet' => 'VLAN/Subnet', 'lang_user_edit' => 'Mofidy user',
'lang_vlansubnet_edit' => 'Edit VLAN/Subnet', 'lang_user_name' => 'Username',
'lang_user_password' => 'Password',
'lang_comments' => 'Comments',
'lang_comments_error' => 'Error', 'lang_zone_add' => 'Add zone',
'lang_comments_asset_del_nodes' => 'These nodes will also be deleted!', 'lang_zone_del' => 'Delete zone',
'lang_comments_ipinuse' => 'IP in use', 'lang_zone_edit' => 'Mofidy zone',
'lang_comments_notallowed' => 'Not allowed',
'lang_comments_search_nosearch' => 'Nothing to search for!', 'lang_vlan_add' => 'Add VLAN',
'lang_comments_usernameinuse' => 'Username in use', 'lang_vlan_del' => 'Delete VLAN',
'lang_vlan_edit' => 'Modify VLAN',
'lang_options_ipreg' => 'IP Reg options', 'lang_vlan_number' => 'VLAN ID',
'lang_options_display' => 'Display options', 'lang_vlan_info' => 'VLAN info',
'lang_options_password' => 'Change password', 'lang_vlan_new' => 'VLAN info',
'lang_options_imagesize' => 'Imagesize', 'lang_vlan_name' => 'VLAN name',
'lang_options_imagesize_help' => 'Size (in pixels) of colored square on subnetview', 'lang_user_language' => 'Language',
'lang_options_imagecount' => 'Imagecount',
'lang_options_imagecount_help' => 'Nr of colored squares per row on subnetview', 'lang_vlansubnet' => 'VLAN/Subnet',
'lang_options_mac' => 'MAC Address', 'lang_vlansubnet_edit' => 'Edit VLAN/Subnet',
'lang_options_mac_help' => 'Format in which a MAC address is displayed (e.g. xx-xx-xx-xx-xx-xx)',
'lang_options_menu_help' => 'Select items to be displayed in menu', 'lang_comments' => 'Comments',
'lang_options_dateformat' => 'Date format', 'lang_comments_error' => 'Error',
'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_comments_asset_del_nodes' => 'These nodes will also be deleted!',
'lang_options_dns1suffix' => 'DNS Name suffix', 'lang_comments_ipinuse' => 'IP in use',
'lang_options_dns1suffix_help' => 'Default DNS Name suffix when creating a new node', 'lang_comments_notallowed' => 'Not allowed',
'lang_options_dns2suffix' => 'DNS Alias suffix', 'lang_comments_search_nosearch' => 'Nothing to search for!',
'lang_options_dns2suffix_help' => 'Default DNS Alias suffix when creating a new node', 'lang_comments_usernameinuse' => 'Username in use',
'lang_options_currentpassword' => 'Current password', 'lang_comments_invalidpass' => 'Invalid password',
'lang_options_currentpassword_help' => 'Enter your current password', 'lang_comments_invalidnewpass' => 'Invalid new password',
'lang_options_newpassword1' => 'New password',
'lang_options_newpassword1_help' => 'Enter your new password', 'lang_options_ipreg' => 'IP Reg options',
'lang_options_newpassword2' => 'Retype new password', 'lang_options_display' => 'Display options',
'lang_options_newpassword2_help' => 'Re-type your new password', 'lang_options_password' => 'Change password',
'lang_options_imagesize' => 'Imagesize',
'lang_about_sfprojectpage' => 'Sourceforge Project Page', 'lang_options_imagesize_help' => 'Size (in pixels) of colored square on subnetview',
'lang_about_license' => 'lang_about_license', 'lang_options_imagecount' => 'Imagecount',
'lang_about_gpl' => 'GNU General Public License (GPL)', 'lang_options_imagecount_help' => 'Nr of colored squares per row on subnetview',
'lang_about_yapter' => 'Yapter Template Engine', 'lang_options_mac' => 'MAC Address',
'lang_about_iconset' => 'Silk icon set 1.3', 'lang_options_mac_help' => 'Format in which a MAC address is displayed (e.g. xx-xx-xx-xx-xx-xx)',
'lang_about_ipreg_ext' => 'IP Reg, a PHP/MySQL IPAM tool', 'lang_options_menu_help' => 'Select items to be displayed in menu',
'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_options_dateformat' => 'Date format',
'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_about_changelog' => 'Changelog (major changes only)', 'lang_options_dns1suffix' => 'DNS Name suffix',
'lang_about_changelog_v05' => 'v0.5 (dec 2009)', 'lang_options_dns1suffix_help' => 'Default DNS Name suffix when creating a new node',
'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_options_dns2suffix' => 'DNS Alias suffix',
'lang_about_changelog_v04' => 'v0.4 (jun 2008)', 'lang_options_dns2suffix_help' => 'Default DNS Alias suffix when creating a new node',
'lang_about_changelog_v04_ext' => '- SQL vulnerability fixed<br>- PHP-generated images in subnet overview', 'lang_options_currentpassword' => 'Current password',
'lang_about_changelog_v03' => 'v0.3 (dec 2007)', 'lang_options_currentpassword_help' => 'Enter your current password',
'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_options_newpassword1' => 'New password',
'lang_about_changelog_v02' => 'v0.2 (dec 2007)', 'lang_options_newpassword1_help' => 'Enter your new password',
'lang_about_changelog_v02_ext' => '- Fixed ordering of IP addresses<br>- Fixed info fields', 'lang_options_newpassword2' => 'Retype new password',
'lang_about_changelog_v01' => 'v0.1 (dec 2007)', 'lang_options_newpassword2_help' => 'Re-type your new password',
'lang_about_changelog_v01_ext' => '- First beta release', 'lang_options_tooltips_help' => 'Show tooltips',
'lang_options_language_help' => 'Language for this user',
);
'lang_about_sfprojectpage' => 'Sourceforge Project Page',
?> 'lang_about_license' => 'License',
'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',
);
?>

@ -1,44 +1,48 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// functions // functions
include("lib/functions.php"); include("lib/functions.php");
// classes // classes
// db // db
// load class // load class
require("lib/db.class.php"); require("lib/db.class.php");
// create instance // create instance
$db = new Db(); $db = new Db($dblink);
// user // user
// load class // load class
require("lib/user.class.php"); require("lib/user.class.php");
// create instance // create instance
$user = new User(); $user = new User();
// tpl // tpl
// load class require_once('smarty3/Smarty.class.php');
include("lib/yapter.php"); $smarty = new Smarty();
?> $smarty->template_dir = 'tpl';
$smarty->compile_dir = 'tpl_c';
$smarty->registerPlugin('function', 'treelist', 'print_tree');
$smarty->assign("suser_tooltips", $_SESSION['suser_tooltips']);
?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 B

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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

@ -1,55 +1,173 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
class Db { class Db {
function db_delete($query) {
// run query protected $dblink;
$sql = mysql_query($query) or die(mysql_error());
} public function __construct ($dblink) {
$this->dblink = $dblink;
function db_insert($query) { }
// run query
$sql = mysql_query($query) or die(mysql_error()); function db_delete($query) {
// run query
// return result $sql = mysqli_query($this->dblink, $query) or die(mysqli_error($this->dblink));
return mysql_insert_id(); }
}
function db_insert($query) {
function db_select($query) { // run query
// run query echo "<pre>$query</pre>";
$sql = mysql_query($query) or die(mysql_error()); $sql = mysqli_query($this->dblink, $query) or die(mysqli_error($this->dblink));
// loop results // return result
while($record = mysql_fetch_assoc($sql)) { return mysqli_insert_id($this->dblink);
$result[] = $record; }
}
function db_select($query) {
// return array // run query
return $result; $sql = mysqli_query($this->dblink, $query) or die(mysqli_error($this->dblink));
}
// loop results
function db_update($query) { $result = array();
// run query while($record = mysqli_fetch_assoc($sql)) {
$sql = mysql_query($query) or die(mysql_error()); $result[] = $record;
} }
}
?> // return array
return $result;
}
function db_update($query) {
// run query
$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;
}
}
?>

@ -1,94 +1,170 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// strip mac address to 12 char string // strip mac address to 12 char string
function strip_mac($mac) { function strip_mac($mac) {
// strip chars we don't need // strip chars we don't need
$mac = preg_replace("|[^a-fA-F0-9]|", "", $mac); $mac = preg_replace("|[^a-fA-F0-9]|", "", $mac);
// capitalize (just because it looks better eh) // capitalize (just because it looks better eh)
$mac = strtoupper($mac); $mac = strtoupper($mac);
// and return // and return
return ($mac); return ($mac);
} }
// rebuild mac address // rebuild mac address
function write_mac($mac) { function write_mac($mac) {
// check string length // check string length
if (strlen($mac)!=12) { if (strlen($mac)!=12) {
// if the MAC is empty, or for whatever reason incorrect, just return // if the MAC is empty, or for whatever reason incorrect, just return
return $mac; return $mac;
} else { } else {
// count to 12... // count to 12...
for($i=0;$i<12;$i++) { for($i=0;$i<12;$i++) {
// ... and strip mac to pieces // ... and strip mac to pieces
${"mac".$i} = $mac{$i}; ${"mac".$i} = $mac{$i};
} }
// get user preference // get user preference
$user_mac = $_SESSION['suser_mac']; $user_mac = $_SESSION['suser_mac'];
// count to 12 again... // count to 12 again...
for($i=0;$i<12;$i++) { for($i=0;$i<12;$i++) {
// ... and replace user preference with pieces // ... and replace user preference with pieces
$user_mac = preg_replace("/x/", ${"mac".$i}, $user_mac, 1); $user_mac = preg_replace("/x/", ${"mac".$i}, $user_mac, 1);
} }
// and return // and return
return $user_mac; return $user_mac;
} }
} }
// redirect page // redirect page
function header_location($location) { function header_location($location) {
// send header // send header
header("location: " . $location); header("location: " . $location);
// exit to be sure // exit to be sure
exit; exit;
} }
// sanitize input // sanitize input
function sanitize($input) { function sanitize($input) {
// trim whitespaces global $dblink;
$input = @trim($input);
// trim whitespaces
// magic quotes enabled? $input = @trim($input);
if(get_magic_quotes_gpc()) {
// strip slashes // magic quotes enabled?
$input = stripslashes($input); if(get_magic_quotes_gpc()) {
} // strip slashes
$input = stripslashes($input);
// convert to utf-8 }
iconv("UTF-8", "UTF-8", $input);
// convert to utf-8
// convert special chars iconv("UTF-8", "UTF-8", $input);
$input = htmlentities($input,ENT_QUOTES,'UTF-8');
// convert special chars
// make sql ready $input = htmlentities($input,ENT_QUOTES,'UTF-8');
$input = mysql_real_escape_string($input);
// make sql ready
// and return $input = mysqli_real_escape_string($dblink, $input);
return $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();

@ -1,115 +1,122 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
class User { class User {
function check_strlen($string) { function check_strlen($string) {
// check length // check length
if(strlen($string)<1) { if(strlen($string)<1) {
return FALSE; return FALSE;
} else { } else {
return TRUE; return TRUE;
} }
} }
function user_login($user_name, $user_pass) { function user_login($user_name, $user_pass) {
// check user_name length global $dblink;
if($this->check_strlen($user_name)==FALSE) { // check user_name length
return FALSE; if($this->check_strlen($user_name)==FALSE) {
} return FALSE;
}
// check user_pass length
if($this->check_strlen($user_pass)==FALSE) { // check user_pass length
return FALSE; if($this->check_strlen($user_pass)==FALSE) {
} return FALSE;
}
// get user data
// initiate class // get user data
$db = new Db(); // initiate class
$db = new Db($dblink);
// build query
$query = "SELECT // build query
user.user_id, $query = "SELECT
user.user_pass, user.user_id,
user.user_displayname, user.user_pass,
user.user_imagesize, user.user_displayname,
user.user_imagecount, user.user_language,
user.user_mac, user.user_imagesize,
user.user_dateformat, user.user_imagecount,
user.user_dns1suffix, user.user_mac,
user.user_dns2suffix, user.user_dateformat,
user.user_menu_assets, user.user_dns1suffix,
user.user_menu_assetclasses, user.user_dns2suffix,
user.user_menu_assetclassgroups, user.user_menu_assets,
user.user_menu_locations, user.user_menu_assetclasses,
user.user_menu_nodes, user.user_menu_assetclassgroups,
user.user_menu_subnets, user.user_menu_locations,
user.user_menu_users, user.user_menu_nodes,
user.user_menu_vlans user.user_menu_subnets,
FROM user.user_menu_users,
user user.user_menu_vlans,
WHERE user.user_menu_zones,
user.user_name='" . $user_name . "'"; user.user_tooltips
FROM
// run query user
$users = $db->db_select($query); WHERE
user.user_name='" . $user_name . "'";
// count results
$user_counter = count($users); // run query
$users = $db->db_select($query);
// any users?
if ($user_counter>0) { // count results
// compare passwords $user_counter = count($users);
if(!strcmp(md5($user_pass), $users[0]['user_pass'])) {
// all ok: user is logged in, register session data // any users?
$_SESSION['suser_id'] = $users[0]['user_id']; if ($user_counter>0) {
$_SESSION['suser_displayname'] = $users[0]['user_displayname']; // compare passwords
$_SESSION['suser_imagesize'] = $users[0]['user_imagesize']; if(!strcmp(md5($user_pass), $users[0]['user_pass'])) {
$_SESSION['suser_imagecount'] = $users[0]['user_imagecount']; // all ok: user is logged in, register session data
$_SESSION['suser_mac'] = $users[0]['user_mac']; $_SESSION['suser_id'] = $users[0]['user_id'];
$_SESSION['suser_dateformat'] = $users[0]['user_dateformat']; $_SESSION['suser_displayname'] = $users[0]['user_displayname'];
$_SESSION['suser_dns1suffix'] = $users[0]['user_dns1suffix']; $_SESSION['suser_language'] = $users[0]['user_language'];
$_SESSION['suser_dns2suffix'] = $users[0]['user_dns2suffix']; $_SESSION['suser_imagesize'] = $users[0]['user_imagesize'];
$_SESSION['suser_menu_assets'] = $users[0]['user_menu_assets']; $_SESSION['suser_imagecount'] = $users[0]['user_imagecount'];
$_SESSION['suser_menu_assetclasses'] = $users[0]['user_menu_assetclasses']; $_SESSION['suser_mac'] = $users[0]['user_mac'];
$_SESSION['suser_menu_assetclassgroups'] = $users[0]['user_menu_assetclassgroups']; $_SESSION['suser_dateformat'] = $users[0]['user_dateformat'];
$_SESSION['suser_menu_locations'] = $users[0]['user_menu_locations']; $_SESSION['suser_dns1suffix'] = $users[0]['user_dns1suffix'];
$_SESSION['suser_menu_nodes'] = $users[0]['user_menu_nodes']; $_SESSION['suser_dns2suffix'] = $users[0]['user_dns2suffix'];
$_SESSION['suser_menu_subnets'] = $users[0]['user_menu_subnets']; $_SESSION['suser_menu_assets'] = $users[0]['user_menu_assets'];
$_SESSION['suser_menu_users'] = $users[0]['user_menu_users']; $_SESSION['suser_menu_assetclasses'] = $users[0]['user_menu_assetclasses'];
$_SESSION['suser_menu_vlans'] = $users[0]['user_menu_vlans']; $_SESSION['suser_menu_assetclassgroups'] = $users[0]['user_menu_assetclassgroups'];
} else { $_SESSION['suser_menu_locations'] = $users[0]['user_menu_locations'];
return FALSE; $_SESSION['suser_menu_nodes'] = $users[0]['user_menu_nodes'];
} $_SESSION['suser_menu_subnets'] = $users[0]['user_menu_subnets'];
} else { $_SESSION['suser_menu_users'] = $users[0]['user_menu_users'];
return FALSE; $_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'];
// no errors found, return } else {
return TRUE; return FALSE;
} }
} else {
function user_logout() { return FALSE;
// clear and destroy session }
$_SESSION = array();
} // no errors found, return
} return TRUE;
?> }
function user_logout() {
// clear and destroy session
$_SESSION = array();
}
}
?>

@ -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";
}
}
?>

@ -1,127 +1,70 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/location.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // start location
$tp->setvars($lang); // look for locations
// build query
// start location $query = "SELECT
// look for locations location_id AS id,
// build query location_name AS value,
$query = "SELECT location_parent AS parent_id
location.location_id AS location_id, FROM
location.location_name AS location_name, location
location.location_parent AS location_parent ORDER BY location_parent, location_sort, location_name";
FROM
location // run query
ORDER BY $locations = $db->db_select($query);
location.location_name";
function build_tree($parent_id, $level) {
// run query global $locations;
$locations = $db->db_select($query); $children = array();
foreach ($locations as $key => $location) {
// count results if ($location['parent_id'] == $parent_id) {
$location_counter = count($locations); unset($location['parent_id']);
$location['children'] = build_tree($location['id'], $level+1);
// counter to tpl $location['level'] = $level;
$tp->set("location_counter", $location_counter); $location['href'] = 'locationview.php?location_id=' . $location['id'];
$children[] = $location;
// any loactions? }
if ($location_counter>0) { }
// get objects return $children;
foreach($locations AS $location) { }
// create arrays $tree = build_tree(0, 0);
$location_names[$location['location_id']] = $location['location_name']; $smarty->assign("locations", $tree);
$parents[$location['location_parent']][] = $location['location_id'];
} // end page
} // output
$smarty->display("location.tpl");
// look for parents
// function to look for parents and create a new array for every child // footer
function location($parents, $parent = 0) { include("footer.php");
// 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);
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?> ?>

@ -1,139 +1,109 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$location_parent = sanitize($_GET['location_parent']); $location_parent = sanitize($_GET['location_parent']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/locationadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables
$tp->setvars($lang); // ************* <option value="0">{$lang_option_none}</option>
// start parent
// look for locations // start parent
// build query // look for locations
$query = "SELECT // build query
location.location_id AS location_id, $query = "SELECT location_id, location_name, location_parent, location_sort
location.location_name AS location_name, FROM location
location.location_parent AS location_parent ORDER BY location_parent, location_sort, location_name";
FROM
location // run query
ORDER BY $locations = $db->db_select($query);
location.location_name";
// count results
// run query $location_counter = count($locations);
$locations = $db->db_select($query);
// any loactions?
// count results if ($location_counter>0) {
$location_counter = count($locations); // get objects
foreach($locations AS $location) {
// any loactions? // create arrays
if ($location_counter>0) { $location_names[$location['location_id']] = $location['location_name'];
// get objects $parents[$location['location_parent']][] = $location['location_id'];
foreach($locations AS $location) { }
// create arrays }
$location_names[$location['location_id']] = $location['location_name'];
$parents[$location['location_parent']][] = $location['location_id']; // look for parents
} // function to look for parents and create a new array for every child
} function location($parents, $parent = 0) {
// loop array to check
// look for parents foreach($parents[$parent] as $child) {
// function to look for parents and create a new array for every child if(isset($parents[$child])) {
function location($parents, $parent = 0) { // element has children
// loop array to check $children[$child] = location($parents, $child);
foreach($parents[$parent] as $child) { } else {
if(isset($parents[$child])) { // no children, set NULL
// element has children $children[$child] = NULL;
$children[$child] = location($parents, $child); }
} else { }
// no children, set NULL
$children[$child] = NULL; // and again...
} return $children;
} }
// and again... // recursive children check to template
return $children; function checkchildren($locations, $level) {
} global $location_options;
global $location_names;
// to tpl global $location_parent;
// recursive children check to template
function checkchildren($locations, $level) { foreach ($locations as $parent=>$child) {
// include template class $row = str_repeat("-&nbsp;&nbsp;", $level) . $location_names[$parent];
global $tp; $location_options[$parent] = $row;
if(isset($child)) {
// import location names checkchildren($child, $level+1);
global $location_names; }
}
// import location names
global $location_parent; }
// action! $tree = location($parents);
foreach ($locations as $parent=>$child) { $location_options = array(0 => '-');
// send vars to template checkchildren($tree, 0);
$tp->set("location_id", $parent); $smarty->assign("location_options", $location_options);
$tp->set("location_name", $location_names[$parent]); $smarty->assign("location_parent", $location_parent);
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
// end page
// set parent selected // output
if($parent==$location_parent) { $smarty->display("locationadd.tpl");
$tp->set("location_selected", "selected");
} else { // footer
$tp->set("location_selected", ""); include("footer.php");
}
// parse block
$tp->parse("location_row");
// any children?
if($child != "") {
// yes, so do the loop again!
checkchildren($child, $level+1);
}
}
// parse and clear for the next round
$tp->parse("location_table");
$tp->clear("location_table");
}
// assemble the tree
$tree = location($parents);
// check for values and build template
checkchildren($tree, 0);
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?> ?>

@ -1,62 +1,58 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$location_id = sanitize($_GET['location_id']); $location_id = sanitize($_GET['location_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/locationdel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup location
$tp->setvars($lang); // build query
$query = "SELECT
// setup location location.location_name AS location_name
// build query FROM
$query = "SELECT location
location.location_name AS location_name WHERE
FROM location.location_id=" . $location_id;
location
WHERE // run query
location.location_id=" . $location_id; $location = $db->db_select($query);
// run query // send to tpl
$location = $db->db_select($query); $smarty->assign("location_id", $location_id);
$smarty->assign("location_name", $location[0]['location_name']);
// send to tpl
$tp->set("location_id", $location_id); // end page
$tp->set("location_name", $location[0]['location_name']); // output
$smarty->display("locationdel.tpl");
// end page
// output // footer
$tp->parse(); include("footer.php");
$tp->spit();
// footer
include("footer.php");
?> ?>

@ -1,167 +1,137 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$location_id = sanitize($_GET['location_id']); $location_id = sanitize($_GET['location_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/locationedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup location
$tp->setvars($lang); // build query
$query = "SELECT
// setup location location_name,
// build query location_parent,
$query = "SELECT location_info,
location.location_name AS location_name, location_sort
location.location_parent AS location_parent, FROM
location.location_info AS location_info location
FROM WHERE
location location.location_id=" . $location_id;
WHERE
location.location_id=" . $location_id; // run query
$location = $db->db_select($query);
// run query
$location = $db->db_select($query); // get parent
$location_parent = $location[0]['location_parent'];
// get parent
$location_parent = $location[0]['location_parent']; // send to tpl
$smarty->assign("location_id", $location_id);
// send to tpl $smarty->assign("location_name", $location[0]['location_name']);
$tp->set("location_id", $location_id); $smarty->assign("location_info", $location[0]['location_info']);
$tp->set("location_name", $location[0]['location_name']); $smarty->assign("location_sort", $location[0]['location_sort']);
$tp->set("location_info", $location[0]['location_info']);
// setup parent location
// setup parent location // look for locations
// look for locations // build query
// build query $query = "SELECT
$query = "SELECT location.location_id AS location_id,
location.location_id AS location_id, location.location_name AS location_name,
location.location_name AS location_name, location.location_parent AS location_parent
location.location_parent AS location_parent FROM
FROM location
location ORDER BY
ORDER BY location.location_name";
location.location_name";
// run query
// run query $locations = $db->db_select($query);
$locations = $db->db_select($query);
// count results
// count results $location_counter = count($locations);
$location_counter = count($locations);
// counter to tpl
// counter to tpl $smarty->assign("location_counter", $location_counter);
$tp->set("location_counter", $location_counter);
// any loactions?
// any loactions? if ($location_counter>0) {
if ($location_counter>0) { // get objects
// get objects foreach($locations AS $location) {
foreach($locations AS $location) { // create arrays
// create arrays $location_names[$location['location_id']] = $location['location_name'];
$location_names[$location['location_id']] = $location['location_name']; $parents[$location['location_parent']][] = $location['location_id'];
$parents[$location['location_parent']][] = $location['location_id']; }
} }
}
// look for parents
// look for parents // function to look for parents and create a new array for every child
// function to look for parents and create a new array for every child function location($parents, $parent = 0) {
function location($parents, $parent = 0) { // loop array to check
// loop array to check foreach($parents[$parent] as $child) {
foreach($parents[$parent] as $child) { if(isset($parents[$child])) {
if(isset($parents[$child])) { // element has children
// element has children $children[$child] = location($parents, $child);
$children[$child] = location($parents, $child); } else {
} else { // no children, set NULL
// no children, set NULL $children[$child] = NULL;
$children[$child] = NULL; }
} }
}
// and again...
// and again... return $children;
return $children; }
}
// recursive children check to template
// to tpl function checkchildren($locations, $level) {
// recursive children check to template global $location_options;
function checkchildren($locations, $level) { global $location_names;
// include template class global $location_parent;
global $tp;
foreach ($locations as $parent=>$child) {
// import location names $row = str_repeat("-&nbsp;&nbsp;", $level) . $location_names[$parent];
global $location_names; $location_options[$parent] = $row;
if(isset($child)) {
// import current id checkchildren($child, $level+1);
global $location_id; }
}
// import parent }
global $location_parent;
$tree = location($parents);
// action! $location_options = array(0 => '-');
foreach ($locations as $parent=>$child) { checkchildren($tree, 0);
// send vars to template $smarty->assign("location_options", $location_options);
$tp->set("parentlocation_id", $parent); $smarty->assign("location_parent", $location_parent);
$tp->set("parentlocation_name", $location_names[$parent]);
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
// end page
// set parent selected // output
if($parent==$location_parent) { $smarty->display("locationedit.tpl");
$tp->set("parentlocation_selected", "selected");
} else { // end output
$tp->set("parentlocation_selected", ""); include("footer.php");
}
// parse block
$tp->parse("parentlocation_row");
// any children?
if($child != "") {
// yes, so do the loop again!
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
checkchildren($tree, 0);
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,107 +1,60 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$location_id = sanitize($_GET['location_id']); $location_id = sanitize($_GET['location_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/locationsubnetadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup location
$tp->setvars($lang); // build query
$query = "SELECT
// setup location location.location_name AS location_name
// build query FROM
$query = "SELECT location
location.location_name AS location_name WHERE
FROM location.location_id=" . $location_id;
location
WHERE // run query
location.location_id=" . $location_id; $location = $db->db_select($query);
// run query $smarty->assign("location_id", $location_id);
$location = $db->db_select($query); $smarty->assign("location_name", $location[0]['location_name']);
$tp->set("location_id", $location_id); // setup subnet
$tp->set("location_name", $location[0]['location_name']); $smarty->assign("subnet_options", $db->options_subnet());
// setup subnet // end page
// build query // output
$query = " SELECT $smarty->display("locationsubnetadd.tpl");
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address, // end output
subnet.subnet_mask AS subnet_mask include("footer.php");
FROM
subnet
WHERE
subnet.subnet_id NOT IN (
SELECT
subnet_id
FROM
subnetlocation
WHERE
location_id=" . $location_id . "
)
ORDER BY
INET_ATON(subnet.subnet_address)";
// run query
$subnets = $db->db_select($query);
// count results
$subnet_counter = count($subnets);
// any locations?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
// parse row
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// hide block
$tp->hide("subnet_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,102 +1,76 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$location_id = sanitize($_GET['location_id']); $location_id = sanitize($_GET['location_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/locationsubnetdel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup location
$tp->setvars($lang); // build query
$query = "SELECT
// setup location location.location_name AS location_name
// build query FROM
$query = "SELECT location
location.location_name AS location_name WHERE
FROM location.location_id=" . $location_id;
location
WHERE // run query
location.location_id=" . $location_id; $location = $db->db_select($query);
// run query $smarty->assign("location_id", $location_id);
$location = $db->db_select($query); $smarty->assign("location_name", $location[0]['location_name']);
$tp->set("location_id", $location_id); // setup subnet
$tp->set("location_name", $location[0]['location_name']); // build query
$query = "SELECT
// setup subnet subnet.subnet_id AS subnet_id,
// build query subnet.subnet_address AS subnet_address,
$query = "SELECT subnet.subnet_mask AS subnet_mask
subnet.subnet_id AS subnet_id, FROM
subnet.subnet_address AS subnet_address, subnetlocation,
subnet.subnet_mask AS subnet_mask subnet
FROM WHERE
subnetlocation, subnetlocation.location_id=" . $location_id . "
subnet AND subnet.subnet_id=subnetlocation.subnet_id
WHERE ORDER BY
subnetlocation.location_id=" . $location_id . " INET_ATON(subnet.subnet_address)";
AND subnet.subnet_id=subnetlocation.subnet_id
ORDER BY // run query
INET_ATON(subnet.subnet_address)"; $subnets = $db->db_select($query);
$smarty->assign($subnets);
// run query
$subnets = $db->db_select($query); // end page
// output
// count results $smarty->display("locationsubnetdel.tpl");
$subnet_counter = count($subnets);
// end output
// any locations? include("footer.php");
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
// parse row
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// hide block
$tp->hide("subnet_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,62 +1,58 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$location_id = sanitize($_GET['location_id']); $location_id = sanitize($_GET['location_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/locationsubnetedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup location
$tp->setvars($lang); // build query
$query = "SELECT
// setup location location.location_name AS location_name
// build query FROM
$query = "SELECT location
location.location_name AS location_name WHERE
FROM location.location_id=" . $location_id;
location
WHERE // run query
location.location_id=" . $location_id; $location = $db->db_select($query);
// run query // send to tpl
$location = $db->db_select($query); $smarty->assign("location_id", $location_id);
$smarty->assign("location_name", $location[0]['location_name']);
// send to tpl
$tp->set("location_id", $location_id); // end page
$tp->set("location_name", $location[0]['location_name']); // output
$smarty->display("locationsubnetedit.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,214 +1,110 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$location_id = sanitize($_GET['location_id']); $location_id = sanitize($_GET['location_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/locationview.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // start locationcrumb
$tp->setvars($lang); // get location crumbs
// start locationcrumb $query = "SELECT location_id AS id,
// get locations location_name AS name,
// build query location_parent AS parent_id,
$query = "SELECT location_info
location.location_id AS location_id, FROM location
location.location_name AS location_name, WHERE location_id=" . $location_id;
location.location_parent AS location_parent $location = $db->db_select($query);
FROM $location[0]['url'] = 'locationview.php?location_id=' . $location[0]['id'];
location"; $crumbs[] = $location[0];
$level = 1;
// run query while ($crumbs[0]['parent_id'] != 0) {
$locations = $db->db_select($query); $query = "SELECT location_id AS id,
location_name AS name,
// count results location_parent AS parent_id
$location_counter = count($locations); FROM location
WHERE location_id=" . $crumbs[0]['parent_id'];
// counter to tpl $result = $db->db_select($query);
$tp->set("location_counter", $location_counter); $result[0]['url'] = 'locationview.php?location_id=' . $result[0]['id'];
array_unshift($crumbs, $result[0]);
// any loactions? $level++;
if ($location_counter>0) { }
// get objects
foreach($locations AS $location) { // send to tpl
// create arrays $smarty->assign("location_id", $location_id);
$location_names[$location['location_id']] = $location['location_name']; $smarty->assign("location_info", nl2br($location[0]['location_info']));
$parents[$location['location_id']] = $location['location_parent']; $smarty->assign("crumbs", $crumbs);
}
}
// setup sublocations
// build parents array // build query
// function to build array with parents for this location $query = "SELECT
function parent($location_id) { location_id AS sublocation_id,
// use names index location_name AS sublocation_name,
global $parents; LEFT(location_info, 40) AS info_short,
global $crumbs; CHAR_LENGTH(location_info) AS info_length
global $location_names; FROM
location
// fill array with this value WHERE
$crumbs[$location_id] = $location_id; location_parent=" . $location_id . "
if (($parents[$location_id])>0) { ORDER BY
// still not on top, so do it again location_name";
parent($parents[$location_id]);
} // run query
$sublocations = $db->db_select($query);
// return the array $smarty->assign("sublocations", $sublocations);
return $location_id;
} // setup subnets
// build query
// build parents $query = "SELECT
parent($location_id); subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address,
// to tpl subnet.subnet_mask AS subnet_mask
// loop in reverse order FROM
foreach (array_reverse($crumbs) as $key=>$val) { subnet,
// send vars to template subnetlocation
$tp->set("location_id", $val); WHERE
$tp->set("location_name", $location_names[$val]); subnetlocation.location_id=" . $location_id . "
AND subnetlocation.subnet_id=subnet.subnet_id
// include seperator? ORDER BY
if (($key>0) ? $tp->set("seperator", ".&nbsp;") : $tp->set("seperator", "")); INET_ATON(subnet.subnet_address)";
// parse block // run query
$tp->parse("locationcrumb_row"); $subnets = $db->db_select($query);
} $smarty->assign("subnets", $subnets);
// parse block // end page
$tp->parse("locationcrumb_table"); // output
$smarty->display("locationview.tpl");
// setup location
// build query // footer
$query = "SELECT include("footer.php");
location.location_info AS location_info
FROM
location
WHERE
location.location_id=" . $location_id;
// run query
$location = $db->db_select($query);
// send to tpl
$tp->set("location_id", $location_id);
$tp->set("location_info", nl2br($location[0]['location_info']));
// setup sublocations
// build query
$query = "SELECT
location.location_id AS sublocation_id,
location.location_name AS sublocation_name
FROM
location
WHERE
location.location_parent=" . $location_id . "
ORDER BY
location.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");
}
// setup subnets
// build query
$query = "SELECT
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address,
subnet.subnet_mask AS subnet_mask
FROM
subnet,
subnetlocation
WHERE
subnetlocation.location_id=" . $location_id . "
AND subnetlocation.subnet_id=subnet.subnet_id
ORDER BY
INET_ATON(subnet.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 nodes?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
// parse row
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// hide block
$tp->hide("subnet_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?> ?>

@ -1,79 +1,77 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// session // session
// start session // start session
session_start(); session_name('ipreg');
session_start();
// headers
// raw http headers // headers
header("Content-Type: text/html; charset=utf-8"); // raw http headers
header("Content-Type: text/html; charset=utf-8");
// includes
// includes // includes
include("config.php"); // includes
include("dbconnect.php"); include("config.php");
include("dbconnect.php");
// load lib
include("lib.php"); // load lib
include("lib.php");
// include language file
include('lang/en.php'); // include language file
$language = lang_getfrombrowser($config_lang, $config_lang_default, null, false);
// try login? include('lang/' . $language . '.php');
// check for submit
if ($_SERVER['REQUEST_METHOD']=="POST" ) { // try login?
/// get post info // check for submit
$user_name = sanitize($_POST['user_name']); if ($_SERVER['REQUEST_METHOD']=="POST" ) {
$user_pass = sanitize($_POST['user_pass']); /// get post info
$user_name = sanitize($_POST['user_name']);
// login $user_pass = sanitize($_POST['user_pass']);
$login = $user->user_login($user_name, $user_pass);
// login
if($login==TRUE) { $login = $user->user_login($user_name, $user_pass);
// redirect
header_location("index.php"); if($login==TRUE) {
} else { // redirect
// not ok, break session header_location("index.php");
$_SESSION = array(); } else {
session_destroy(); // not ok, break session
} $_SESSION = array();
} session_destroy();
}
// start output }
// set template
$tp = new Template("tpl/login.tpl", $config_yapter_error); // start output
// get version for the footer-stamp
// get version for the footer-stamp $smarty->assign("config_version", $config_version);
$tp->set("config_version", $config_version);
// set language variables
// set language variables $smarty->assign($lang);
$tp->setvars($lang);
// end page
// end page // output
// output $smarty->display("login.tpl");
$tp->parse();
$tp->spit(); // end output
include("footer.php");
// end output
include("footer.php");
?> ?>

@ -1,111 +1,92 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$node_id = sanitize($_GET['node_id']); $node_id = sanitize($_GET['node_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/natadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup node_ext
$tp->setvars($lang); // build query
$query = "SELECT
// setup node_ext node.node_ip AS node_ip_ext
// build query FROM
$query = "SELECT node
node.node_ip AS node_ip_ext WHERE
FROM node.node_id=" . $node_id;
node
WHERE // run query
node.node_id=" . $node_id; $node = $db->db_select($query);
// run query $smarty->assign("node_id_ext", $node_id);
$node = $db->db_select($query); $smarty->assign("node_ip_ext", $node[0]['node_ip_ext']);
$tp->set("node_id_ext", $node_id); // setup node_int
$tp->set("node_ip_ext", $node[0]['node_ip_ext']); // build query
$query = "SELECT
// setup node_int asset.asset_name AS asset_name,
// build query node.node_id AS node_id_int,
$query = "SELECT node.node_ip AS node_ip_int
asset.asset_name AS asset_name, FROM
node.node_id AS node_id_int, asset,
node.node_ip AS node_ip_int node
FROM WHERE
asset, node.node_id NOT IN (
node SELECT
WHERE nat_int
node.node_id NOT IN ( FROM
SELECT nat
nat_int WHERE
FROM nat_ext=" . $node_id . "
nat )
WHERE AND node.node_id!=" . $node_id . "
nat_ext=" . $node_id . " AND asset.asset_id=node.asset_id
) ORDER BY
AND node.node_id!=" . $node_id . " INET_ATON(node.node_ip)";
AND asset.asset_id=node.asset_id
ORDER BY // run query
INET_ATON(node.node_ip)"; $nodes = $db->db_select($query);
foreach ($nodes as $rec) {
// run query $node_options[$rec['node_id_int']] = $rec['node_ip_int'] . '/' . $rec['asset_name'];
$nodes = $db->db_select($query); }
$smarty->assign("node_options", $node_options);
// count results
$node_counter = count($nodes); $nat_type_options[1] = $lang['lang_nat_type_1'];
$nat_type_options[2] = $lang['lang_nat_type_2'];
// any nodes? $nat_type_options[3] = $lang['lang_nat_type_3'];
if ($node_counter>0) { $smarty->assign("nat_type_options", $nat_type_options);
// get objects
foreach($nodes AS $node) { // end page
// send to tpl // output
$tp->set("asset_name", $node['asset_name']); $smarty->display("natadd.tpl");
$tp->set("node_id_int", $node['node_id_int']); // end output
$tp->set("node_ip_int", $node['node_ip_int']); include("footer.php");
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,105 +1,80 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$node_id = sanitize($_GET['node_id']); $node_id = sanitize($_GET['node_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/natdel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup node_ext
$tp->setvars($lang); // build query
$query = "SELECT
// setup node_ext node.node_ip AS node_ip_ext
// build query FROM
$query = "SELECT node
node.node_ip AS node_ip_ext WHERE
FROM node.node_id=" . $node_id;
node
WHERE // run query
node.node_id=" . $node_id; $node = $db->db_select($query);
// run query $smarty->assign("node_id_ext", $node_id);
$node = $db->db_select($query); $smarty->assign("node_ip_ext", $node[0]['node_ip_ext']);
$tp->set("node_id_ext", $node_id); // setup node
$tp->set("node_ip_ext", $node[0]['node_ip_ext']); // build query
$query = "SELECT
// setup node asset.asset_name AS asset_name,
// build query node.node_id AS node_id_int,
$query = "SELECT node.node_ip AS node_ip_int
asset.asset_name AS asset_name, FROM
node.node_id AS node_id_int, asset,
node.node_ip AS node_ip_int nat,
FROM node
asset, WHERE
nat, nat.nat_ext=" . $node_id . "
node AND node.node_id=nat.nat_int
WHERE AND asset.asset_id=node.asset_id
nat.nat_ext=" . $node_id . " ORDER BY
AND node.node_id=nat.nat_int INET_ATON(node.node_ip)";
AND asset.asset_id=node.asset_id
ORDER BY // run query
INET_ATON(node.node_ip)"; $nodes = $db->db_select($query);
$smarty->assign("nodes", $nodes);
// run query
$nodes = $db->db_select($query); // *** <option value="{node_id_int}">{node_ip_int}/{asset_name}</option>
// count results // end page
$node_counter = count($nodes); // output
$smarty->display("natdel.tpl");
// any nodes?
if ($node_counter>0) { // end output
// get objects include("footer.php");
foreach($nodes AS $node) {
// send to tpl
$tp->set("asset_name", $node['asset_name']);
$tp->set("node_id_int", $node['node_id_int']);
$tp->set("node_ip_int", $node['node_ip_int']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,61 +1,57 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$node_id = sanitize($_GET['node_id']); $node_id = sanitize($_GET['node_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/natedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup node
$tp->setvars($lang); // build query
$query = "SELECT
// setup node node.node_ip AS node_ip
// build query FROM
$query = "SELECT node
node.node_ip AS node_ip WHERE
FROM node.node_id=" . $node_id;
node
WHERE // run query
node.node_id=" . $node_id; $node = $db->db_select($query);
// run query $smarty->assign("node_id", $node_id);
$node = $db->db_select($query); $smarty->assign("node_ip", $node[0]['node_ip']);
$tp->set("node_id", $node_id); // end page
$tp->set("node_ip", $node[0]['node_ip']); // output
$smarty->display("natedit.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,108 +1,78 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/node.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // start node
$tp->setvars($lang); // setup view
// subnet
// start node if(isset($_GET['subnet_id'])) {
// setup view // get id
// subnet $subnet_id = sanitize($_GET['subnet_id']);
if(isset($_GET['subnet_id'])) {
// get id // build query part
$subnet_id = sanitize($_GET['subnet_id']); $subnet_view = "AND node.subnet_id=" . $subnet_id;
// build query part // to tpl
$subnet_view = "AND node.subnet_id=" . $subnet_id; $smarty->assign("subnet_id", $subnet_id);
} else {
// to tpl // to tpl
$tp->set("subnet_id", $subnet_id); $smarty->assign("subnet_id", "");
} else { }
// to tpl
$tp->set("subnet_id", ""); // build query
} $query = "SELECT
asset.asset_id,
// build query REPLACE(asset.asset_name, ' ', '&nbsp;') AS asset_name,
$query = "SELECT asset.asset_info,
asset.asset_id AS asset_id, node.node_id,
asset.asset_name AS asset_name, node.node_ip
node.node_id AS node_id, FROM
node.node_ip AS node_ip asset,
FROM node
asset, WHERE
node asset.asset_id=node.asset_id
WHERE " . $subnet_view . "
asset.asset_id=node.asset_id GROUP BY
" . $subnet_view . " node.node_id
GROUP BY ORDER BY
node.node_id INET_ATON(node.node_ip)";
ORDER BY
INET_ATON(node.node_ip)"; // run query
$nodes = $db->db_select($query);
// run query $smarty->assign("nodes", $nodes);
$nodes = $db->db_select($query);
// end page
// count results // output
$node_counter = count($nodes); $smarty->display("node.tpl");
// counter to tpl // end output
$tp->set("node_counter", $node_counter); include("footer.php");
?>
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("asset_id", $node['asset_id']);
$tp->set("asset_name", $node['asset_name']);
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

@ -1,117 +1,54 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// check for set ip and/or subnet_id // check for set ip and/or subnet_id
if ((isset($_GET['node_ip'])) ? $node_ip = sanitize($_GET['node_ip']) : $node_ip = ''); if ((isset($_GET['node_ip'])) ? $node_ip = sanitize($_GET['node_ip']) : $node_ip = '');
if ((isset($_GET['subnet_id'])) ? $subnet_id = sanitize($_GET['subnet_id']) : $subnet_id = ''); if ((isset($_GET['subnet_id'])) ? $subnet_id = sanitize($_GET['subnet_id']) : $subnet_id = '');
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/nodeadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // set vars
$tp->setvars($lang); $smarty->assign("user_dns1suffix", $_SESSION['suser_dns1suffix']);
$smarty->assign("user_dns2suffix", $_SESSION['suser_dns2suffix']);
// set vars $smarty->assign("node_ip", $node_ip);
$tp->set("user_dns1suffix", $_SESSION['suser_dns1suffix']);
$tp->set("user_dns2suffix", $_SESSION['suser_dns2suffix']); // setup subnet
$tp->set("node_ip", $node_ip); $smarty->assign("subnet_options", $db->options_subnet());
// setup subnet // setup assetclass
// build query $smarty->assign("assetclass_options", $db->options_assetclass());
$query = "SELECT
subnet.subnet_id AS subnet_id, // end page
subnet.subnet_address AS subnet_address, // output
subnet.subnet_mask AS subnet_mask $smarty->display("nodeadd.tpl");
FROM
subnet // end output
ORDER BY include("footer.php");
INET_ATON(subnet.subnet_address)";
// run query
$subnets = $db->db_select($query);
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
// set subnet selected
if($subnet['subnet_id']==$subnet_id) {
$tp->set("subnet_selected", "selected");
} else {
$tp->set("subnet_selected", "");
}
// parse block
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
// setup assetclass
// 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");
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,64 +1,60 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$node_id = sanitize($_GET['node_id']); $node_id = sanitize($_GET['node_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/nodedel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup node
$tp->setvars($lang); // build query
$query = "SELECT
// setup node node.asset_id AS asset_id,
// build query node.node_ip AS node_ip
$query = "SELECT FROM
node.asset_id AS asset_id, node
node.node_ip AS node_ip WHERE
FROM node.node_id=" . $node_id;
node
WHERE // run query
node.node_id=" . $node_id; $node = $db->db_select($query);
// run query // send to tpl
$node = $db->db_select($query); $smarty->assign("node_id", $node_id);
$smarty->assign("asset_id", $node[0]['asset_id']);
// send to tpl $smarty->assign("node_ip", $node[0]['node_ip']);
$tp->set("node_id", $node_id);
$tp->set("asset_id", $node[0]['asset_id']); // end page
$tp->set("node_ip", $node[0]['node_ip']); // output
$smarty->display("nodedel.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,159 +1,86 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$node_id = sanitize($_GET['node_id']); $node_id = sanitize($_GET['node_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/nodeedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup node
$tp->setvars($lang); // build query
$query = "SELECT
// setup node asset.asset_id AS asset_id,
// build query node.node_id AS node_id,
$query = "SELECT node.node_ip AS node_ip,
asset.asset_id AS asset_id, node.node_mac AS node_mac,
node.node_id AS node_id, node.node_dns1 AS node_dns1,
node.node_ip AS node_ip, node.node_dns2 AS node_dns2,
node.node_mac AS node_mac, node.node_info AS node_info,
node.node_dns1 AS node_dns1, subnet.subnet_id AS subnet_id,
node.node_dns2 AS node_dns2, node.zone_id AS zone_id
node.node_info AS node_info, FROM
subnet.subnet_id AS subnet_id asset,
FROM node,
asset, subnet
node, WHERE
subnet asset.asset_id=node.asset_id
WHERE AND node.node_id=" . $node_id . "
asset.asset_id=node.asset_id AND subnet.subnet_id=node.subnet_id";
AND node.node_id=" . $node_id . "
AND subnet.subnet_id=node.subnet_id"; // run query
$node = $db->db_select($query);
// run query
$node = $db->db_select($query); // send to tpl
$smarty->assign("node_id", $node[0]['node_id']);
// send to tpl $smarty->assign("node_ip", $node[0]['node_ip']);
$tp->set("node_id", $node[0]['node_id']); $smarty->assign("node_mac", write_mac($node[0]['node_mac']));
$tp->set("node_ip", $node[0]['node_ip']); $smarty->assign("node_dns1", $node[0]['node_dns1']);
$tp->set("node_mac", write_mac($node[0]['node_mac'])); $smarty->assign("node_dns2", $node[0]['node_dns2']);
$tp->set("node_dns1", $node[0]['node_dns1']); $smarty->assign("node_info", $node[0]['node_info']);
$tp->set("node_dns2", $node[0]['node_dns2']); $smarty->assign("asset_id", $node[0]['asset_id']);
$tp->set("node_info", $node[0]['node_info']); $smarty->assign("subnet_id", $node[0]['subnet_id']);
$smarty->assign("zone_id", $node[0]['zone_id']);
// setup asset
// build query // setup asset
$query = "SELECT $smarty->assign("asset_options", $db->options_asset());
asset.asset_id AS asset_id,
asset.asset_name AS asset_name // setup subnet
FROM $smarty->assign("subnet_options", $db->options_subnet());
asset
ORDER BY // setup zone
asset.asset_name"; $smarty->assign("zone_options", $db->options_zone("(keine)"));
// run query // end page
$assets = $db->db_select($query); // output
$smarty->display("nodeedit.tpl");
// count results
$asset_counter = count($assets); // end output
include("footer.php");
// any assets?
if ($asset_counter>0) {
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']);
if($asset['asset_id']==$node[0]['asset_id']) {
$tp->set("asset_selected", "selected");
} else {
$tp->set("asset_selected", "");
}
// parse block
$tp->parse("asset_row");
}
// parse block
$tp->parse("asset_table");
} else {
// parse block
$tp->hide("asset_table");
}
// setup subnet
// 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);
// count results
$subnet_counter = count($subnets);
// any subnets?
if ($subnet_counter>0) {
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
if($subnet['subnet_id']==$node[0]['subnet_id']) {
$tp->set("subnet_selected", "selected");
} else {
$tp->set("subnet_selected", "");
}
// parse block
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// parse block
$tp->hide("subnet_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,181 +1,105 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$node_id = sanitize($_GET['node_id']); $node_id = sanitize($_GET['node_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/nodeview.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup node
$tp->setvars($lang); // build query
$query = "SELECT
// setup node asset.asset_id,
// build query asset.asset_name,
$query = "SELECT node.node_id,
asset.asset_id AS asset_id, node.node_ip,
asset.asset_name AS asset_name, node.node_mac,
node.node_id AS node_id, node.node_dns1,
node.node_ip AS node_ip, node.node_dns2,
node.node_mac AS node_mac, node.node_info,
node.node_dns1 AS node_dns1, node.node_type,
node.node_dns2 AS node_dns2, subnet.subnet_id,
node.node_info AS node_info, subnet.subnet_address,
subnet.subnet_id AS subnet_id, subnet.subnet_mask,
subnet.subnet_address AS subnet_address, zone.zone_origin
subnet.subnet_mask AS subnet_mask FROM
FROM node
asset, JOIN asset USING (asset_id)
node, JOIN subnet USING (subnet_id)
subnet LEFT JOIN zone USING (zone_id)
WHERE WHERE
asset.asset_id=node.asset_id node.node_id=" . $node_id;
AND node.node_id=" . $node_id . "
AND subnet.subnet_id=node.subnet_id"; // run query
$node = $db->db_select($query);
// run query $node[0]['node_mac'] = write_mac($node[0]['node_mac']);
$nodes = $db->db_select($query); $smarty->assign("node", $node[0]);
// count results // setup nat
$node_counter = count($nodes); // build query
$query = "SELECT
// counter to tpl asset_ext.asset_id AS asset_id_ext,
$tp->set("node_counter", $node_counter); asset_int.asset_id AS asset_id_int,
asset_ext.asset_name AS asset_name_ext,
// any nodes? asset_int.asset_name AS asset_name_int,
if ($node_counter>0) { nat.nat_id AS nat_id,
// get objects nat.nat_type AS nat_type,
foreach($nodes AS $node) { nat.nat_ext AS nat_ext,
// send to tpl nat.nat_int AS nat_int,
$tp->set("asset_id", $node['asset_id']); node_ext.node_ip AS node_ip_ext,
$tp->set("asset_name", $node['asset_name']); node_int.node_ip AS node_ip_int
FROM
$tp->set("node_id", $node['node_id']); asset asset_ext,
$tp->set("node_ip", $node['node_ip']); asset asset_int,
$tp->set("node_mac", write_mac($node['node_mac'])); nat,
$tp->set("node_dns1", $node['node_dns1']); node node_ext,
$tp->set("node_dns2", $node['node_dns2']); node node_int
$tp->set("node_info", nl2br($node['node_info'])); WHERE
(nat.nat_ext=" . $node_id . "
$tp->set("subnet_id", $node['subnet_id']); OR nat.nat_int=" . $node_id . ")
$tp->set("subnet_address", $node['subnet_address']); AND node_ext.node_id=nat.nat_ext
$tp->set("subnet_mask", $node['subnet_mask']); AND node_int.node_id=nat.nat_int
AND asset_ext.asset_id=node_ext.asset_id
// parse row AND asset_int.asset_id=node_int.asset_id
$tp->parse("node_row"); ORDER BY
} INET_ATON(node_ext.node_ip),
INET_ATON(node_int.node_ip)";
// parse block
$tp->parse("node_table"); // run query
} else { $natrules = $db->db_select($query);
// hide block // counter to tpl
$tp->hide("node_table"); $smarty->assign("natrules", $natrules);
}
// end page
// setup nat // output
// build query $smarty->display("nodeview.tpl");
$query = "SELECT
asset_ext.asset_id AS asset_id_ext, include("footer.php");
asset_int.asset_id AS asset_id_int, ?>
asset_ext.asset_name AS asset_name_ext,
asset_int.asset_name AS asset_name_int,
nat.nat_id AS nat_id,
nat.nat_type AS nat_type,
nat.nat_ext AS nat_ext,
nat.nat_int AS nat_int,
node_ext.node_ip AS node_ip_ext,
node_int.node_ip AS node_ip_int
FROM
asset asset_ext,
asset asset_int,
nat,
node node_ext,
node node_int
WHERE
(nat.nat_ext=" . $node_id . "
OR nat.nat_int=" . $node_id . ")
AND node_ext.node_id=nat.nat_ext
AND node_int.node_id=nat.nat_int
AND asset_ext.asset_id=node_ext.asset_id
AND asset_int.asset_id=node_int.asset_id
ORDER BY
INET_ATON(node_ext.node_ip),
INET_ATON(node_int.node_ip)";
// run query
$nats = $db->db_select($query);
// count results
$nat_counter = count($nats);
// 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");
}
// end page
// output
$tp->parse();
$tp->spit();
include("footer.php");
?>

@ -1,43 +1,39 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/options.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // end page
$tp->setvars($lang); // output
$smarty->display("options.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,111 +1,123 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/optionseditdisplay.tpl", $config_yapter_error); $smarty->assign($lang);
$smarty->assign("language", $language);
// set language variables
$tp->setvars($lang); // setup options
// set menu checkboxes
// setup options // assets
// set menu checkboxes if($_SESSION['suser_menu_assets']=='on') {
// assets $user_menu_assets_checked = 'checked';
if($_SESSION['suser_menu_assets']=='on') { } else {
$user_menu_assets_checked = 'checked'; $user_menu_assets_checked = '';
} else { }
$user_menu_assets_checked = ''; // assetclasses
} if($_SESSION['suser_menu_assetclasses']=='on') {
// assetclasses $user_menu_assetclasses_checked = 'checked';
if($_SESSION['suser_menu_assetclasses']=='on') { } else {
$user_menu_assetclasses_checked = 'checked'; $user_menu_assetclasses_checked = '';
} else { }
$user_menu_assetclasses_checked = ''; // assetclassgroups
} if($_SESSION['suser_menu_assetclassgroups']=='on') {
// assetclassgroups $user_menu_assetclassgroups_checked = 'checked';
if($_SESSION['suser_menu_assetclassgroups']=='on') { } else {
$user_menu_assetclassgroups_checked = 'checked'; $user_menu_assetclassgroups_checked = '';
} else { }
$user_menu_assetclassgroups_checked = ''; // locations
} if($_SESSION['suser_menu_locations']=='on') {
// locations $user_menu_locations_checked = 'checked';
if($_SESSION['suser_menu_locations']=='on') { } else {
$user_menu_locations_checked = 'checked'; $user_menu_locations_checked = '';
} else { }
$user_menu_locations_checked = ''; // nodes
} if($_SESSION['suser_menu_nodes']=='on') {
// nodes $user_menu_nodes_checked = 'checked';
if($_SESSION['suser_menu_nodes']=='on') { } else {
$user_menu_nodes_checked = 'checked'; $user_menu_nodes_checked = '';
} else { }
$user_menu_nodes_checked = ''; // subnets
} if($_SESSION['suser_menu_subnets']=='on') {
// subnets $user_menu_subnets_checked = 'checked';
if($_SESSION['suser_menu_subnets']=='on') { } else {
$user_menu_subnets_checked = 'checked'; $user_menu_subnets_checked = '';
} else { }
$user_menu_subnets_checked = ''; // users
} if($_SESSION['suser_menu_users']=='on') {
// users $user_menu_users_checked = 'checked';
if($_SESSION['suser_menu_users']=='on') { } else {
$user_menu_users_checked = 'checked'; $user_menu_users_checked = '';
} else { }
$user_menu_users_checked = ''; // vlans
} if($_SESSION['suser_menu_vlans']=='on') {
// vlans $user_menu_vlans_checked = 'checked';
if($_SESSION['suser_menu_vlans']=='on') { } else {
$user_menu_vlans_checked = 'checked'; $user_menu_vlans_checked = '';
} else { }
$user_menu_vlans_checked = ''; // zones
} if($_SESSION['suser_menu_zones']=='on') {
$user_menu_zones_checked = 'checked';
// send to tpl } else {
$tp->set("user_id", $_SESSION['suser_id']); $user_menu_zones_checked = '';
$tp->set("user_imagesize", $_SESSION['suser_imagesize']); }
$tp->set("user_imagecount", $_SESSION['suser_imagecount']); // tooltips
$tp->set("user_mac", $_SESSION['suser_mac']); if($_SESSION['suser_tooltips']=='on') {
$tp->set("user_dateformat", $_SESSION['suser_dateformat']); $user_tooltips_checked = 'checked';
$tp->set("user_dns1suffix", $_SESSION['suser_dns1suffix']); } else {
$tp->set("user_dns2suffix", $_SESSION['suser_dns2suffix']); $user_tooltips_checked = '';
$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); // send to tpl
$tp->set("user_menu_locations_checked", $user_menu_locations_checked); $smarty->assign("user_id", $_SESSION['suser_id']);
$tp->set("user_menu_nodes_checked", $user_menu_nodes_checked); $smarty->assign("user_imagesize", $_SESSION['suser_imagesize']);
$tp->set("user_menu_subnets_checked", $user_menu_subnets_checked); $smarty->assign("user_imagecount", $_SESSION['suser_imagecount']);
$tp->set("user_menu_users_checked", $user_menu_users_checked); $smarty->assign("user_mac", $_SESSION['suser_mac']);
$tp->set("user_menu_vlans_checked", $user_menu_vlans_checked); $smarty->assign("user_dateformat", $_SESSION['suser_dateformat']);
$smarty->assign("user_dns1suffix", $_SESSION['suser_dns1suffix']);
// end page $smarty->assign("user_dns2suffix", $_SESSION['suser_dns2suffix']);
// output $smarty->assign("user_language", $_SESSION['suser_language']);
$tp->parse(); $smarty->assign("user_menu_assets_checked", $user_menu_assets_checked);
$tp->spit(); $smarty->assign("user_menu_assetclasses_checked", $user_menu_assetclasses_checked);
$smarty->assign("user_menu_assetclassgroups_checked", $user_menu_assetclassgroups_checked);
// end output $smarty->assign("user_menu_locations_checked", $user_menu_locations_checked);
include("footer.php"); $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
$smarty->display("optionseditdisplay.tpl");
// end output
include("footer.php");
?> ?>

@ -1,43 +1,39 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/optionseditpassword.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // end page
$tp->setvars($lang); // output
$smarty->display("optionseditpassword.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,321 +1,178 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/search.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // get string that was searched for ($search is already set in header.php)
$tp->setvars($lang); if (empty($search)) {
// parse nosearch box
// get string that was searched for ($search is allready set in header.php) $smarty->assign("nosearch", TRUE);
if (empty($search)) { } else {
// parse nosearch box // hide nosearch box
$tp->parse("nosearch"); $smarty->assign("nosearch", FALSE);
$smarty->assign("search", $search);
// hide others
$tp->hide("asset"); // set needle
$tp->hide("location"); $needle = '%' . $search . '%';
$tp->hide("node");
$tp->hide("subnet"); // set counter
$tp->hide("vlan"); $resultcounter = 0;
$tp->hide("resultcount");
} else { // setup asset
// hide nosearch box // build query
$tp->hide("nosearch"); $query = "SELECT
asset.asset_id AS id,
// set needle asset.asset_name AS name,
$needle = '%' . $search . '%'; asset.asset_info AS description
FROM
// set counter asset
$resultcounter = 0; WHERE
asset.asset_name LIKE '" . $needle . "'
// setup asset OR asset.asset_hostname LIKE '" . $needle . "'
// build query OR asset.asset_info LIKE '" . $needle . "'
$query = "SELECT ORDER BY
asset.asset_id AS asset_id, asset.asset_name";
asset.asset_name AS asset_name
FROM // run query
asset $assets = $db->db_select($query);
WHERE $resultcounter += count($assets);
asset.asset_name LIKE '" . $needle . "' $smarty->assign("assets", $assets);
OR asset.asset_hostname LIKE '" . $needle . "'
OR asset.asset_info LIKE '" . $needle . "' // setup location
ORDER BY // build query
asset.asset_name"; $query = "SELECT
location.location_id AS id,
// run query location.location_name AS name
$assets = $db->db_select($query); FROM
location
// count results WHERE
$counter = count($assets); location.location_name LIKE '" . $needle . "'
OR location.location_info LIKE '" . $needle . "'
// counter to tpl ORDER BY
$tp->set("counter", $counter); location.location_name";
// any assets? // run query
if ($counter>0) { $locations = $db->db_select($query);
// get objects $resultcounter += count($locations);
foreach($assets AS $asset) { $smarty->assign("locations", $locations);
// send to tpl
$tp->set("item_name", $lang['lang_assets']); // setup node
$tp->set("item", "asset"); // build query
$tp->set("id", $asset['asset_id']); $query = "SELECT
$tp->set("name", $asset['asset_name']); node.node_id AS id,
node.node_ip AS ip
// parse block FROM
$tp->parse("row"); node
WHERE
// update counter node.node_ip LIKE '" . $needle . "'
$resultcounter++; OR node.node_mac LIKE '" . $needle . "'
} OR node.node_dns1 LIKE '" . $needle . "'
OR node.node_dns2 LIKE '" . $needle . "'
// parse block OR node.node_info LIKE '" . $needle . "'
$tp->parse("asset"); ORDER BY
} else { node.node_ip";
// parse block
$tp->hide("asset"); // run query
} $nodes = $db->db_select($query);
$resultcounter += count($nodes);
// clear row $smarty->assign("nodes", $nodes);
$tp->clear("row");
// setup subnet
// setup location // build query
// build query $query = "SELECT
$query = "SELECT subnet.subnet_id AS id,
location.location_id AS location_id, subnet.subnet_address AS address
location.location_name AS location_name FROM
FROM subnet
location WHERE
WHERE subnet.subnet_address LIKE '" . $needle . "'
location.location_name LIKE '" . $needle . "' OR subnet.subnet_info LIKE '" . $needle . "'
OR location.location_info LIKE '" . $needle . "' ORDER BY
ORDER BY subnet.subnet_address";
location.location_name";
// run query
// run query $subnets = $db->db_select($query);
$locations = $db->db_select($query); $resultcounter += count($subnets);
$smarty->assign("subnets", $subnets);
// count results
$counter = count($locations); // setup vlan
// build query
// counter to tpl $query = "SELECT
$tp->set("counter", $counter); vlan.vlan_id AS id,
vlan.vlan_name AS name
// any locations? FROM
if ($counter>0) { vlan
// get objects WHERE
foreach($locations AS $location) { vlan.vlan_name LIKE '" . $needle . "'
// send to tpl OR vlan.vlan_info LIKE '" . $needle . "'
$tp->set("item_name", $lang['lang_locations']); ORDER BY
$tp->set("item", "location"); vlan.vlan_name";
$tp->set("id", $location['location_id']);
$tp->set("name", $location['location_name']); // run query
$vlans = $db->db_select($query);
// parse block $resultcounter += count($vlans);
$tp->parse("row"); $smarty->assign("vlans", $vlans);
// update counter // setup zone
$resultcounter++; // build query
} $query = "SELECT
zone_id AS id,
// parse block zone_origin AS origin
$tp->parse("location"); FROM
} else { zone
// parse block WHERE
$tp->hide("location"); zone_origin LIKE '" . $needle . "'
} OR zone_soa LIKE '" . $needle . "'
OR zone_hostmaster LIKE '" . $needle . "'
// clear row OR zone_ns1 LIKE '" . $needle . "'
$tp->clear("row"); OR zone_ns2 LIKE '" . $needle . "'
OR zone_ns3 LIKE '" . $needle . "'
// setup node OR zone_mx1 LIKE '" . $needle . "'
// build query OR zone_mx2 LIKE '" . $needle . "'
$query = "SELECT OR zone_info LIKE '" . $needle . "'
node.node_id AS node_id, ORDER BY
node.node_ip AS node_ip zone_origin";
FROM
node // run query
WHERE $zones = $db->db_select($query);
node.node_ip LIKE '" . $needle . "' $resultcounter += count($zones);
OR node.node_mac LIKE '" . $needle . "' $smarty->assign("zones", $zones);
OR node.node_dns1 LIKE '" . $needle . "'
OR node.node_dns2 LIKE '" . $needle . "' // grand totals
OR node.node_info LIKE '" . $needle . "' $smarty->assign("resultcounter", $resultcounter);
ORDER BY }
node.node_ip";
// end page
// run query // output
$nodes = $db->db_select($query); $smarty->display("search.tpl");
// count results // end output
$counter = count($nodes); include("footer.php");
?>
// counter to tpl
$tp->set("counter", $counter);
// any nodes?
if ($counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("item_name", $lang['lang_nodes']);
$tp->set("item", "node");
$tp->set("id", $node['node_id']);
$tp->set("name", $node['node_ip']);
// parse block
$tp->parse("row");
// update counter
$resultcounter++;
}
// parse block
$tp->parse("node");
} else {
// parse block
$tp->hide("node");
}
// clear row
$tp->clear("row");
// setup subnet
// build query
$query = "SELECT
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address
FROM
subnet
WHERE
subnet.subnet_address LIKE '" . $needle . "'
OR subnet.subnet_info LIKE '" . $needle . "'
ORDER BY
subnet.subnet_address";
// 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");
// setup vlan
// build query
$query = "SELECT
vlan.vlan_id AS vlan_id,
vlan.vlan_name AS vlan_name
FROM
vlan
WHERE
vlan.vlan_name LIKE '" . $needle . "'
OR vlan.vlan_info LIKE '" . $needle . "'
ORDER BY
vlan.vlan_name";
// run query
$vlans = $db->db_select($query);
// 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");
// to tpl
$tp->set("resultcounter", $resultcounter);
// parse block
$tp->parse("resultcount");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

File diff suppressed because it is too large Load Diff

@ -1,91 +1,64 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnet.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet s.subnet_id,
// build query s.subnet_address,
$query = "SELECT s.subnet_mask,
subnet.subnet_id AS subnet_id, s.ntp_server,
subnet.subnet_address AS subnet_address, LEFT(s.subnet_info, 40) AS subnet_info,
subnet.subnet_mask AS subnet_mask, CHAR_LENGTH(s.subnet_info) AS subnet_length,
COUNT(node.subnet_id) AS node_counter COUNT(node.subnet_id) AS node_counter
FROM FROM
subnet subnet AS s
LEFT JOIN LEFT JOIN
node node
ON ON
node.subnet_id=subnet.subnet_id node.subnet_id=s.subnet_id
GROUP BY GROUP BY
subnet.subnet_id s.subnet_id
ORDER BY ORDER BY
INET_ATON(subnet.subnet_address)"; INET_ATON(s.subnet_address)";
// run query // run query
$subnets = $db->db_select($query); $subnets = $db->db_select($query);
$smarty->assign("subnets", $subnets);
// count results
$subnet_counter = count($subnets); // end page
// output
// counter to tpl $smarty->display("subnet.tpl");
$tp->set("subnet_counter", $subnet_counter);
// end output
// any subnets? include("footer.php");
if ($subnet_counter>0) { ?>
// get objects
foreach($subnets AS $subnet) {
// send to tpl
$tp->set("subnet_id", $subnet['subnet_id']);
$tp->set("subnet_address", $subnet['subnet_address']);
$tp->set("subnet_mask", $subnet['subnet_mask']);
$tp->set("node_counter", $subnet['node_counter']);
// parse row
$tp->parse("subnet_row");
}
// parse block
$tp->parse("subnet_table");
} else {
// hide block
$tp->hide("subnet_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

@ -1,46 +1,61 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
if((isset($_GET['vlan_id'])) ? $vlan_id = sanitize($_GET['vlan_id']) : $vlan_id = ""); if((isset($_GET['vlan_id'])) ? $vlan_id = sanitize($_GET['vlan_id']) : $vlan_id = "");
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup vlan
$tp->setvars($lang); // build query
$query = "SELECT
// end page vlan.vlan_id AS vlan_id,
// output vlan.vlan_number AS vlan_number,
$tp->parse(); vlan.vlan_name AS vlan_name
$tp->spit(); FROM
vlan
// end output ORDER BY
include("footer.php"); 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
$smarty->display("subnetadd.tpl");
// end output
include("footer.php");
?> ?>

@ -1,101 +1,76 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetdel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet subnet.subnet_address AS subnet_address,
// build query subnet.subnet_mask AS subnet_mask
$query = "SELECT FROM
subnet.subnet_address AS subnet_address, subnet
subnet.subnet_mask AS subnet_mask WHERE
FROM subnet.subnet_id=" . $subnet_id;
subnet
WHERE // run query
subnet.subnet_id=" . $subnet_id; $subnet = $db->db_select($query);
// run query // send to tpl
$subnet = $db->db_select($query); $smarty->assign("subnet_id", $subnet_id);
$smarty->assign("subnet_address", $subnet[0]['subnet_address']);
// send to tpl $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); // setup node
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); // build query
$query = "SELECT
// setup node node.node_id AS node_id,
// build query node.node_ip AS node_ip
$query = "SELECT FROM
node.node_id AS node_id, node
node.node_ip AS node_ip WHERE
FROM node.subnet_id=" . $subnet_id . "
node ORDER BY
WHERE INET_ATON(node.node_ip)";
node.subnet_id=" . $subnet_id . "
ORDER BY // run query
INET_ATON(node.node_ip)"; $nodes = $db->db_select($query);
$smarty->assign("nodes", $nodes);
// run query
$nodes = $db->db_select($query); // end page
// output
// count results $smarty->display("subnetdel.tpl");
$node_counter = count($nodes);
// footer
// any nodes? include("footer.php");
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// set id
$tp->set("node_id", $node['node_id']);
$tp->set("node_ip", $node['node_ip']);
// parse row
$tp->parse("node_row");
}
// parse block
$tp->parse("node_table");
} else {
// hide block
$tp->hide("node_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?> ?>

@ -1,66 +1,70 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet subnet_address,
// build query subnet_mask,
$query = "SELECT protocol_version,
subnet.subnet_address AS subnet_address, subnet_dhcp_start,
subnet.subnet_mask AS subnet_mask, subnet_dhcp_end,
subnet.subnet_info AS subnet_info ntp_server,
FROM subnet_info AS subnet_info
subnet FROM
WHERE subnet
subnet.subnet_id=" . $subnet_id; WHERE
subnet_id=" . $subnet_id;
// run query
$subnet = $db->db_select($query); // run query
$subnet = $db->db_select($query);
// send to tpl
$tp->set("subnet_id", $subnet_id); // send to tpl
$tp->set("subnet_address", $subnet[0]['subnet_address']); $smarty->assign("subnet_id", $subnet_id);
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$tp->set("subnet_info", $subnet[0]['subnet_info']); $smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$smarty->assign("subnet_proto_vers", $subnet[0]['protocol_version']);
// end page $smarty->assign("subnet_dhcpstart", $subnet[0]['subnet_dhcp_start']);
// output $smarty->assign("subnet_dhcpend", $subnet[0]['subnet_dhcp_end']);
$tp->parse(); $smarty->assign("subnet_ntp_server", $subnet[0]['ntp_server']);
$tp->spit(); $smarty->assign("subnet_info", $subnet[0]['subnet_info']);
// end output // end page
include("footer.php"); // output
?> $smarty->display("subnetedit.tpl");
// end output
include("footer.php");
?>

@ -1,108 +1,63 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetlocationadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet subnet.subnet_address AS subnet_address,
// build query subnet.subnet_mask AS subnet_mask
$query = "SELECT FROM
subnet.subnet_address AS subnet_address, subnet
subnet.subnet_mask AS subnet_mask WHERE
FROM subnet.subnet_id=" . $subnet_id;
subnet
WHERE // run query
subnet.subnet_id=" . $subnet_id; $subnet = $db->db_select($query);
// run query $smarty->assign("subnet_id", $subnet_id);
$subnet = $db->db_select($query); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); // start parent
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); // build query
$smarty->assign("location_options", $db->options_location());
// start parent
// build query // end page
$query = "SELECT // output
location.location_id AS location_id, $smarty->display("subnetlocationadd.tpl");
location.location_name AS location_name,
location.location_parent AS location_parent // end output
FROM include("footer.php");
location
WHERE
location.location_id NOT IN (
SELECT
location_id
FROM
subnetlocation
WHERE
subnet_id=" . $subnet_id . "
)
ORDER BY
location.location_name";
// run query
$locations = $db->db_select($query);
// count results
$location_counter = count($locations);
// any locations?
if ($location_counter>0) {
// get objects
foreach($locations AS $location) {
// send to tpl
$tp->set("location_id", $location['location_id']);
$tp->set("location_name", $location['location_name']);
// parse row
$tp->parse("location_row");
}
// parse block
$tp->parse("location_table");
} else {
// hide block
$tp->hide("location_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,102 +1,82 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetlocationdel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet subnet.subnet_address AS subnet_address,
// build query subnet.subnet_mask AS subnet_mask
$query = "SELECT FROM
subnet.subnet_address AS subnet_address, subnet
subnet.subnet_mask AS subnet_mask WHERE
FROM subnet.subnet_id=" . $subnet_id;
subnet
WHERE // run query
subnet.subnet_id=" . $subnet_id; $subnet = $db->db_select($query);
// run query $smarty->assign("subnet_id", $subnet_id);
$subnet = $db->db_select($query); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); // setup location
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); // build query
$query = "SELECT
// setup location location.location_id AS location_id,
// build query location.location_name AS location_name
$query = "SELECT FROM
location.location_id AS location_id, subnetlocation,
location.location_name AS location_name location
FROM WHERE
subnetlocation, subnetlocation.subnet_id=" . $subnet_id . "
location AND location.location_id=subnetlocation.location_id
WHERE ORDER BY
subnetlocation.subnet_id=" . $subnet_id . " location.location_name";
AND location.location_id=subnetlocation.location_id
ORDER BY // run query
location.location_name"; $records = $db->db_select($query);
$locations = array();
// run query foreach ($records as $rec) {
$locations = $db->db_select($query); $locations[$rec['location_id']] = $rec['location_name'];
}
// count results $smarty->assign("location_options", $locations);
$location_counter = count($locations);
// any locations? // end page
if ($location_counter>0) { // output
// get objects $smarty->display("subnetlocationdel.tpl");
foreach($locations AS $location) {
// send to tpl // end output
$tp->set("location_id", $location['location_id']); include("footer.php");
$tp->set("location_name", $location['location_name']); ?>
// parse row
$tp->parse("location_row");
}
// parse block
$tp->parse("location_table");
} else {
// hide block
$tp->hide("location_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

@ -1,63 +1,59 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetlocationedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet subnet.subnet_address AS subnet_address,
// build query subnet.subnet_mask AS subnet_mask
$query = "SELECT FROM
subnet.subnet_address AS subnet_address, subnet
subnet.subnet_mask AS subnet_mask WHERE
FROM subnet.subnet_id=" . $subnet_id;
subnet
WHERE // run query
subnet.subnet_id=" . $subnet_id; $subnet = $db->db_select($query);
// run query $smarty->assign("subnet_id", $subnet_id);
$subnet = $db->db_select($query); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); // end page
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); // output
$smarty->display("subnetlocationedit.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,499 +1,440 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get id // get id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// get page // get page
if(isset($_GET['page'])) { if(isset($_GET['page'])) {
$page = sanitize($_GET['page']); $page = sanitize($_GET['page']);
} }
// start output // start output
include("header.php"); $smarty->assign("scripts",'changetext.js');
include("header.php");
// set template
$tp = new Template("tpl/subnetview.tpl", $config_yapter_error); // set language variables
$smarty->assign($lang);
// set language variables
$tp->setvars($lang); // setup subnet
// build query
// setup subnet $query = "SELECT
// build query subnet.subnet_address,
$query = "SELECT subnet.subnet_mask,
subnet.subnet_address AS subnet_address, subnet.subnet_dhcp_start,
subnet.subnet_mask AS subnet_mask, subnet.subnet_dhcp_end,
subnet.subnet_info AS subnet_info, subnet.subnet_info,
COUNT(node.subnet_id) AS node_counter subnet.protocol_version,
FROM subnet.ntp_server,
subnet COUNT(node.subnet_id) AS node_counter
LEFT JOIN FROM
node subnet
ON LEFT JOIN
node.subnet_id=subnet.subnet_id node
WHERE ON
subnet.subnet_id=" . $subnet_id . " node.subnet_id=subnet.subnet_id
GROUP BY WHERE
subnet.subnet_id"; subnet.subnet_id=" . $subnet_id . "
GROUP BY
// run query subnet.subnet_id";
$subnet = $db->db_select($query);
// run query
// set needed variables $subnet = $db->db_select($query);
$subnet_address = $subnet[0]['subnet_address'];
$subnet_mask = $subnet[0]['subnet_mask']; // set needed variables
$subnet_address = $subnet[0]['subnet_address'];
// set counters $subnet_mask = $subnet[0]['subnet_mask'];
$host_counter = pow(2,(32-$subnet_mask)); $subnet_dhcpstart = $subnet[0]['subnet_dhcp_start'];
$node_counter = $subnet[0]['node_counter']; $subnet_dhcpend = $subnet[0]['subnet_dhcp_end'];
$subnet_usedpercentage = round((($node_counter/($host_counter-2))*100),1); $subnet_proto_vers = $subnet[0]['protocol_version'];
$subnet_ntp_server = $subnet[0]['ntp_server'];
// send to tpl
$tp->set("subnet_id", $subnet_id); // set counters
$tp->set("subnet_address", $subnet_address); $host_counter = pow(2,(32-$subnet_mask));
$tp->set("subnet_mask", $subnet_mask); $node_counter = $subnet[0]['node_counter'];
$tp->set("subnet_info", nl2br($subnet[0]['subnet_info'])); $subnet_usedpercentage = round((($node_counter/($host_counter-2))*100), 1);
$tp->set("node_counter", $node_counter);
$tp->set("subnet_usedpercentage", $subnet_usedpercentage); // send to tpl
$tp->set("config_color_unused", $config_color_unused); $smarty->assign("subnet_id", $subnet_id);
$tp->set("host_counter", $host_counter-2); $smarty->assign("subnet_address", $subnet_address);
$tp->set("free_counter", (($host_counter-2)-$node_counter)); $smarty->assign("subnet_mask", $subnet_mask);
$smarty->assign("subnet_dhcpstart", $subnet_dhcpstart);
// setup subnet $smarty->assign("subnet_dhcpend", $subnet_dhcpend);
// split up the range $smarty->assign("subnet_info", nl2br($subnet[0]['subnet_info']));
$iprange = explode('.', $subnet_address); $smarty->assign("subnet_proto_vers", $subnet_proto_vers);
$iprange1 = $iprange[0]; $smarty->assign("subnet_ntp_server", $subnet_ntp_server);
$iprange2 = $iprange[1]; $smarty->assign("node_counter", $node_counter);
$iprange3 = $iprange[2]; $smarty->assign("subnet_usedpercentage", $subnet_usedpercentage);
$iprange4 = $iprange[3]; $smarty->assign("config_color_unused", $config_color_unused);
$smarty->assign("host_counter", $host_counter-2);
// create empty subnet-array $smarty->assign("free_counter", (($host_counter-2)-$node_counter));
$subnet = array();
// setup subnet
// determine range (Class A/B/C) // split up the range
if ($subnet_mask>=24) { $iprange = explode('.', $subnet_address);
// Class C $iprange1 = $iprange[0];
// fill subnet-array with addresses we want to see $iprange2 = $iprange[1];
for($i=0;$i<$host_counter;$i++) { $iprange3 = $iprange[2];
// build ip $iprange4 = $iprange[3];
$ip = $iprange1 . '.' . $iprange2 . '.' . $iprange3 . '.' . ($iprange4+$i);
// create empty subnet-array
// fill subnet-array $subnet = array();
$subnet[$ip] = array();
} // determine range (Class A/B/C)
if ($subnet_mask>=24) {
// calculate broadcast address // Class C
$broadcast_address = $iprange1 . '.' . $iprange2 . '.' . $iprange3 . '.' . ($iprange4+$i-1); // fill subnet-array with addresses we want to see
for($i=0;$i<$host_counter;$i++) {
// to tpl // build ip
$tp->set("iprange1", $iprange1); $ip = $iprange1 . '.' . $iprange2 . '.' . $iprange3 . '.' . ($iprange4+$i);
$tp->set("iprange2", $iprange2);
$tp->set("iprange3", $iprange3); // fill subnet-array
$tp->set("iprange4", $iprange4); $subnet[$ip] = array();
$tp->set("subnetmask1", 255); }
$tp->set("subnetmask2", 255);
$tp->set("subnetmask3", 255); // calculate broadcast address
$tp->set("subnetmask4", 256-$host_counter); $broadcast_address = $iprange1 . '.' . $iprange2 . '.' . $iprange3 . '.' . ($iprange4+$i-1);
// no pagination needed // to tpl
$tp->parse("noselect"); $smarty->assign("iprange1", $iprange1);
$tp->hide("one_select"); $smarty->assign("iprange2", $iprange2);
$tp->hide("two_select"); $smarty->assign("iprange3", $iprange3);
$smarty->assign("iprange4", $iprange4);
// set displayed nodes $smarty->assign("subnetmask1", 255);
$nodes_displayed = $host_counter; $smarty->assign("subnetmask2", 255);
} else if ($subnet_mask>=16) { $smarty->assign("subnetmask3", 255);
// Class B $smarty->assign("subnetmask4", 256-$host_counter);
// which part do we want to see?
if((empty($page)) ? $page=$subnet_address : $page=$page); // no pagination needed
$page = explode('.', $page); $smarty->assign("noselect", TRUE);
$page2 = $page[2]; $smarty->assign("one_select", FALSE);
$smarty->assign("two_select", FALSE);
// fill subnet-array with addresses we want to see
for($i=0;$i<256;$i++) { // set displayed nodes
// build ip $nodes_displayed = $host_counter;
$ip = $iprange1 . '.' . $iprange2 . '.' . $page2 . '.' . $i; } else if ($subnet_mask>=16) {
// Class B
// fill subnet-array // which part do we want to see?
$subnet[$ip] = array(); if((empty($page)) ? $page=$subnet_address : $page=$page);
} $page = explode('.', $page);
$page2 = $page[2];
// calculate broadcast address
$broadcast_address = $iprange1 . '.' . $iprange2 . '.' . ($iprange3+$i-1) . '.255'; // fill subnet-array with addresses we want to see
for($i=0;$i<256;$i++) {
// to tpl // build ip
$tp->set("iprange1", $iprange1); $ip = $iprange1 . '.' . $iprange2 . '.' . $page2 . '.' . $i;
$tp->set("iprange2", $iprange2);
// fill subnet-array
// loop addresses in range3 $subnet[$ip] = array();
for($i=$iprange3;$i<(pow(2,(32-$subnet_mask))/256);$i++) { }
// send to tpl
$tp->set("iprange3", $i); // calculate broadcast address
$tp->set("iprange4", 0); $broadcast_address = $iprange1 . '.' . $iprange2 . '.' . ($iprange3+$i-1) . '.255';
// set select box // to tpl
if($i==$page2) { $smarty->assign("iprange1", $iprange1);
$tp->set("row_selected", "selected"); $smarty->assign("iprange2", $iprange2);
} else { // loop addresses in range3
$tp->set("row_selected", ""); for($i=$iprange3;$i<(pow(2,(32-$subnet_mask))/256);$i++) {
} // send to tpl
$smarty->assign("iprange3", $i);
// parse block $smarty->assign("iprange4", 0);
$tp->parse("one_select_row");
} // set select box
if($i==$page2) {
$tp->set("subnetmask1", 255); $smarty->assign("row_selected", "selected");
$tp->set("subnetmask2", 255);
$tp->set("subnetmask3", 256-($host_counter/256)); } else {
$tp->set("subnetmask4", 0); $smarty->assign("row_selected", "");
}
// one select box
$tp->hide("noselect"); }
$tp->parse("one_select");
$tp->hide("two_select"); $smarty->assign("subnetmask1", 255);
$smarty->assign("subnetmask2", 255);
// set displayed nodes $smarty->assign("subnetmask3", 256-($host_counter/256));
$nodes_displayed = 256; $smarty->assign("subnetmask4", 0);
} else {
// Class A // one select box
// which part do we want to see? $smarty->assign("noselect", FALSE);
if((empty($page)) ? $page=$subnet_address : $page=$page); $smarty->assign("one_select", TRUE);
$page = explode('.', $page); $smarty->assign("two_select", FALSE);
$page2 = $page[1];
$page3 = $page[2]; // set displayed nodes
$nodes_displayed = 256;
// fill subnet-array with addresses we want to see } else {
for($i=0;$i<256;$i++) { // Class A
// build ip // which part do we want to see?
$ip = $iprange1 . '.' . $page2 . '.' . $page3 . '.' . $i; if((empty($page)) ? $page=$subnet_address : $page=$page);
$page = explode('.', $page);
// fill subnet-array $page2 = $page[1];
$subnet[$ip] = array(); $page3 = $page[2];
}
// fill subnet-array with addresses we want to see
// calculate broadcast address for($i=0;$i<256;$i++) {
$broadcast_address = $iprange1 . '.' . ($iprange2+$i-1) . '.255.255'; // build ip
$ip = $iprange1 . '.' . $page2 . '.' . $page3 . '.' . $i;
// to tpl
$tp->set("iprange1", $iprange1); // fill subnet-array
$tp->set("iprange2", $iprange2); $subnet[$ip] = array();
}
// loop addresses in range 2
for($i=$iprange2;$i<(pow(2,(24-$subnet_mask))/256);$i++) { // calculate broadcast address
// send to tpl $broadcast_address = $iprange1 . '.' . ($iprange2+$i-1) . '.255.255';
$tp->set("iprange1", $iprange1);
$tp->set("iprange2", $i); // to tpl
$tp->set("iprange3", $page3); $smarty->assign("iprange1", $iprange1);
$tp->set("iprange4", $iprange4); $smarty->assign("iprange2", $iprange2);
// set select box // loop addresses in range 2
if($i==$page2) { for($i=$iprange2;$i<(pow(2,(24-$subnet_mask))/256);$i++) {
$tp->set("row1_selected", "selected"); // send to tpl
$smarty->assign("iprange1", $iprange1);
} else { $smarty->assign("iprange2", $i);
$tp->set("row1_selected", ""); $smarty->assign("iprange3", $page3);
} $smarty->assign("iprange4", $iprange4);
// parse block // set select box
$tp->parse("two_select_row1"); if($i==$page2) {
} $smarty->assign("row1_selected", "selected");
// loop addresses in range 3 } else {
for($i=0;$i<256;$i++) { $smarty->assign("row1_selected", "");
// send to tpl }
$tp->set("iprange1", $iprange1);
$tp->set("iprange2", $page2); // parse block
$tp->set("iprange3", $i); $tp->parse("two_select_row1");
$tp->set("iprange4", $iprange4); }
// set select box // loop addresses in range 3
if($i==$page3) { for($i=0;$i<256;$i++) {
$tp->set("row2_selected", "selected"); // send to tpl
$smarty->assign("iprange1", $iprange1);
} else { $smarty->assign("iprange2", $page2);
$tp->set("row2_selected", ""); $smarty->assign("iprange3", $i);
} $smarty->assign("iprange4", $iprange4);
// parse block // set select box
$tp->parse("two_select_row2"); if($i==$page3) {
} $smarty->assign("row2_selected", "selected");
$tp->set("subnetmask1", 255); } else {
$tp->set("subnetmask2", 256-($host_counter/65536)); $smarty->assign("row2_selected", "");
$tp->set("subnetmask3", 0); }
$tp->set("subnetmask4", 0);
// parse block
// one select box $tp->parse("two_select_row2");
$tp->hide("noselect"); }
$tp->hide("one_select");
$tp->parse("two_select"); $smarty->assign("subnetmask1", 255);
$smarty->assign("subnetmask2", 256-($host_counter/65536));
// set displayed nodes $smarty->assign("subnetmask3", 0);
$nodes_displayed = 256; $smarty->assign("subnetmask4", 0);
}
// one select box
// get nodes for this subnetview and implement the values into the array $smarty->assign("noselect", FALSE);
// build query $smarty->assign("one_select", FALSE);
$query = "SELECT $smarty->assign("two_select", TRUE);
asset.asset_name AS asset_name,
assetclassgroup.assetclassgroup_color AS assetclassgroup_color, // set displayed nodes
node.node_id AS node_id, $nodes_displayed = 256;
node.node_ip AS node_ip }
FROM
asset, // get nodes for this subnetview and implement the values into the array
assetclass, // build query
assetclassgroup, $query = "SELECT
node asset.asset_name,
WHERE assetclassgroup.assetclassgroup_color,
node.node_ip IN ('".implode("','",array_keys($subnet))."') node.node_id,
AND node.subnet_id='$subnet_id' node.node_ip
AND asset.asset_id=node.asset_id FROM
AND assetclass.assetclass_id=asset.assetclass_id asset,
AND assetclassgroup.assetclassgroup_id=assetclass.assetclassgroup_id"; assetclass,
assetclassgroup,
// run query node
$nodes = $db->db_select($query); WHERE
node.node_ip IN ('".implode("','",array_keys($subnet))."')
// count results AND node.subnet_id='$subnet_id'
$node_counter = count($nodes); AND asset.asset_id=node.asset_id
AND assetclass.assetclass_id=asset.assetclass_id
// any nodes? AND assetclassgroup.assetclassgroup_id=assetclass.assetclassgroup_id";
if ($node_counter>0) {
// get objects // run query
foreach($nodes AS $node) { $nodes = $db->db_select($query);
// add node-values to ip in subnet-array
$subnet[$node['node_ip']] = $node; // count results
$node_counter = count($nodes);
}
} // any nodes?
if ($node_counter>0) {
// replace ip's in subnet-array (if necessary) // get objects
// check for subnet address foreach($nodes AS $node) {
if(array_key_exists($subnet_address, $subnet)) { // add node-values to ip in subnet-array
// replace $subnet[$node['node_ip']] = $node;
$subnet[$subnet_address] = array("subnet_address");
} }
}
// check for broadcast address
if(array_key_exists($broadcast_address, $subnet)) { // replace ip's in subnet-array (if necessary)
// replace // check for subnet address
$subnet[$broadcast_address] = array("broadcast_address"); if(array_key_exists($subnet_address, $subnet)) {
} // replace
$subnet[$subnet_address] = array("subnet_address");
// loop subnet-array and send to template }
// start counter
$i=1; // check for broadcast address
if(array_key_exists($broadcast_address, $subnet)) {
// loop subnet-array // replace
foreach($subnet AS $node_ip => $node) { $subnet[$broadcast_address] = array("broadcast_address");
// make new line? }
if(($i%$_SESSION['suser_imagecount']==0 && $i!=$nodes_displayed) ? $tr="</tr><tr>" : $tr="");
$dhcpstart = 0;
// check node if ($subnet_dhcpstart && $subnet_dhcpend) {
if(empty($node)) { $dhcpstart = ip2long($subnet_dhcpstart);
// empty node to tpl $dhcpend = ip2long($subnet_dhcpend);
$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); // loop subnet-array and send to template
} else if ($node[0]=="subnet_address") { // start counter
// subnet address to tpl // $i=1;
$tp->set("url", ""); // loop subnet-array
$tp->set("remotetext", $node_ip . '&nbsp;' . $lang['lang_subnet_subnetaddress']); foreach($subnet AS $node_ip => $node) {
$tp->set("assetclassgroup_color", $config_color_blocked);
} else if ($node[0]=="broadcast_address") { // make new line?
// broadcast address to tpl // if(($i%$_SESSION['suser_imagecount']==0 && $i!=$nodes_displayed) ? $tr="</tr><tr>" : $tr="");
$tp->set("url", "");
$tp->set("remotetext", $node_ip . '&nbsp;' . $lang['lang_subnet_broadcastaddress']); // check if node-ip in DHCP-area
$tp->set("assetclassgroup_color", $config_color_blocked); $subnet[$node_ip]["dynamic"] = False;
} else { if ($dhcpstart > 0) {
// node to tpl $ipval = ip2long($node_ip);
$tp->set("url", 'nodeview.php?node_id=' . $node['node_id']); if (($ipval >= $dhcpstart) and ($ipval <= $dhcpend)) {
$tp->set("remotetext", $node_ip . '&nbsp;' . $node['asset_name']); $subnet[$node_ip]["dynamic"] = True;
$tp->set("assetclassgroup_color", $node['assetclassgroup_color']); }
} }
// set other vars // check node
$tp->set("tr", $tr); if (empty($node)) {
// empty node to tpl
// parse block $subnet[$node_ip]["url"] = 'assigniptonode.php?subnet_id=' . $subnet_id . '&amp;node_ip='. $node_ip;
$tp->parse("node_row"); $subnet[$node_ip]["remotetext"] = $node_ip;
if ($subnet[$node_ip]["dynamic"]) {
// update counter $subnet[$node_ip]["assetclassgroup_color"] = $config_color_dynamic;
$i++; } else {
} $subnet[$node_ip]["assetclassgroup_color"] = $config_color_unused;
}
// parse block
$tp->parse("node_table"); } else if (array_key_exists(0, $node) && $node[0]=="subnet_address") {
// subnet address to tpl
// setup vlan $subnet[$node_ip]["url"] = "";
// build query $subnet[$node_ip]["remotetext"] = $node_ip . '&nbsp;' . $lang['lang_subnet_subnetaddress'];
$query = "SELECT $subnet[$node_ip]["assetclassgroup_color"] = $config_color_blocked;
vlan.vlan_id AS vlan_id, } else if (array_key_exists(0, $node) && $node[0]=="broadcast_address") {
vlan.vlan_name AS vlan_name, // broadcast address to tpl
vlan.vlan_number AS vlan_number $subnet[$node_ip]["url"] = "";
FROM $subnet[$node_ip]["remotetext"] = $node_ip . '&nbsp;' . $lang['lang_subnet_broadcastaddress'];
subnetvlan, $subnet[$node_ip]["assetclassgroup_color"] = $config_color_blocked;
vlan } else {
WHERE // node to tpl
subnetvlan.subnet_id=" . $subnet_id . " $subnet[$node_ip]["url"] = 'nodeview.php?node_id=' . $node['node_id'];
AND vlan.vlan_id=subnetvlan.vlan_id $subnet[$node_ip]["remotetext"] = $node_ip . '&nbsp;' . $node['asset_name'];
ORDER BY $subnet[$node_ip]["assetclassgroup_color"] = $node['assetclassgroup_color'];
vlan.vlan_name"; }
// run query
$vlans = $db->db_select($query); // update counter
// $i++;
// count results }
$vlan_counter = count($vlans);
$smarty->assign("subnet", $subnet);
// counter to tpl $smarty->assign("imagewrap", $_SESSION['suser_imagecount']);
$tp->set("vlan_counter", $vlan_counter);
// setup vlan
// any nodes? // build query
if ($vlan_counter>0) { $query = "SELECT
// get objects vlan.vlan_id AS vlan_id,
foreach($vlans AS $vlan) { vlan.vlan_name AS vlan_name,
// send to tpl vlan.vlan_number AS vlan_number
$tp->set("vlan_id", $vlan['vlan_id']); FROM
$tp->set("vlan_name", $vlan['vlan_name']); subnetvlan,
$tp->set("vlan_number", $vlan['vlan_number']); vlan
WHERE
// parse block subnetvlan.subnet_id=" . $subnet_id . "
$tp->parse("vlan_row"); AND vlan.vlan_id=subnetvlan.vlan_id
} ORDER BY
// parse block vlan.vlan_name";
$tp->parse("vlan_table");
} else { // run query
// parse block $vlans = $db->db_select($query);
$tp->hide("vlan_table"); $smarty->assign("vlans", $vlans);
}
// setup location
// setup location // build query
// build query $query = "SELECT
$query = "SELECT location.location_id,
location.location_id, location.location_name
location.location_name FROM
FROM location
location LEFT JOIN
LEFT JOIN subnetlocation
subnetlocation ON
ON subnetlocation.location_id=location.location_id
subnetlocation.location_id=location.location_id WHERE
WHERE subnetlocation.subnet_id=". $subnet_id . "
subnetlocation.subnet_id=". $subnet_id . " ORDER BY
ORDER BY location.location_name";
location.location_name";
// run query
// run query $locations = $db->db_select($query);
$locations = $db->db_select($query); $smarty->assign("locations", $locations);
// count results // setup assetclassgroup
$location_counter = count($locations); // build query
$query = "SELECT
// counter to tpl assetclassgroup_id AS id,
$tp->set("location_counter", $location_counter); assetclassgroup_name AS name,
assetclassgroup_color AS color,
// any nodes? COUNT(assetclass_id) AS counter
if ($location_counter>0) { FROM subnet
// get objects LEFT JOIN node USING (subnet_id)
foreach($locations AS $location) { LEFT JOIN asset USING (asset_id)
// send to tpl LEFT JOIN assetclass USING (assetclass_id)
$tp->set("location_id", $location['location_id']); LEFT JOIN assetclassgroup USING (assetclassgroup_id)
$tp->set("location_name", $location['location_name']); WHERE subnet_id=" . $subnet_id . "
GROUP BY assetclass_id
// parse block ORDER BY counter DESC";
$tp->parse("location_row");
} // run query
// parse block $assetclassgroups = $db->db_select($query);
$tp->parse("location_table"); $smarty->assign("assetclassgroups", $assetclassgroups);
} else {
// parse block // end page
$tp->hide("location_table"); // output
} $smarty->display("subnetview.tpl");
// setup assetclassgroup // end output
// build query include("footer.php");
$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";
// 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");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

@ -1,109 +1,89 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetvlanadd.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet subnet.subnet_address AS subnet_address,
// build query subnet.subnet_mask AS subnet_mask
$query = "SELECT FROM
subnet.subnet_address AS subnet_address, subnet
subnet.subnet_mask AS subnet_mask WHERE
FROM subnet.subnet_id=" . $subnet_id;
subnet
WHERE // run query
subnet.subnet_id=" . $subnet_id; $subnet = $db->db_select($query);
// run query $smarty->assign("subnet_id", $subnet_id);
$subnet = $db->db_select($query); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); // setup vlan
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); // build query
$query = " SELECT
// setup vlan vlan.vlan_id AS vlan_id,
// build query vlan.vlan_number AS vlan_number,
$query = " SELECT vlan.vlan_name AS vlan_name
vlan.vlan_id AS vlan_id, FROM
vlan.vlan_number AS vlan_number, vlan
vlan.vlan_name AS vlan_name WHERE
FROM vlan.vlan_id NOT IN (
vlan SELECT
WHERE vlan_id
vlan.vlan_id NOT IN ( FROM
SELECT subnetvlan
vlan_id WHERE
FROM subnet_id=" . $subnet_id . "
subnetvlan )
WHERE ORDER BY
subnet_id=" . $subnet_id . " vlan.vlan_number";
)
ORDER BY // run query
vlan.vlan_number"; $vlans = $db->db_select($query);
foreach ($vlans as $vlan) {
// run query $vlan_options[$vlan['vlan_id']] = $vlan['vlan_name'];
$vlans = $db->db_select($query); }
$smarty->assign("vlan_options", $vlan_options);
// count results
$vlan_counter = count($vlans); // $smarty->assign("vlans", $vlans);
// any vlans?
if ($vlan_counter>0) { // end page
// get objects // output
foreach($vlans AS $vlan) { $smarty->display("subnetvlanadd.tpl");
// send to tpl
$tp->set("vlan_id", $vlan['vlan_id']); // end output
$tp->set("vlan_number", $vlan['vlan_number']); include("footer.php");
$tp->set("vlan_name", $vlan['vlan_name']);
// parse row
$tp->parse("vlan_row");
}
// parse block
$tp->parse("vlan_table");
} else {
// hide block
$tp->hide("vlan_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,104 +1,78 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetvlandel.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet subnet.subnet_address AS subnet_address,
// build query subnet.subnet_mask AS subnet_mask
$query = "SELECT FROM
subnet.subnet_address AS subnet_address, subnet
subnet.subnet_mask AS subnet_mask WHERE
FROM subnet.subnet_id=" . $subnet_id;
subnet
WHERE // run query
subnet.subnet_id=" . $subnet_id; $subnet = $db->db_select($query);
// run query $smarty->assign("subnet_id", $subnet_id);
$subnet = $db->db_select($query); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); // setup vlan
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); // build query
$query = "SELECT
// setup vlan vlan.vlan_id AS vlan_id,
// build query vlan.vlan_number AS vlan_number,
$query = "SELECT vlan.vlan_name AS vlan_name
vlan.vlan_id AS vlan_id, FROM
vlan.vlan_number AS vlan_number, subnetvlan,
vlan.vlan_name AS vlan_name vlan
FROM WHERE
subnetvlan, subnetvlan.subnet_id=" . $subnet_id . "
vlan AND vlan.vlan_id=subnetvlan.vlan_id
WHERE ORDER BY
subnetvlan.subnet_id=" . $subnet_id . " vlan.vlan_number";
AND vlan.vlan_id=subnetvlan.vlan_id
ORDER BY // run query
vlan.vlan_number"; $vlans = $db->db_select($query);
$smarty->assign("vlans", $vlans);
// run query
$vlans = $db->db_select($query); // end page
// output
// count results $smarty->display("subnetvlandel.tpl");
$vlan_counter = count($vlans);
// end output
// any vlans? include("footer.php");
if ($vlan_counter>0) {
// get objects
foreach($vlans AS $vlan) {
// send to tpl
$tp->set("vlan_id", $vlan['vlan_id']);
$tp->set("vlan_number", $vlan['vlan_number']);
$tp->set("vlan_name", $vlan['vlan_name']);
// parse row
$tp->parse("vlan_row");
}
// parse block
$tp->parse("vlan_table");
} else {
// hide block
$tp->hide("vlan_table");
}
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

@ -1,63 +1,59 @@
<?php <?php
/***************************************************************************** /*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg, For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ *****************************************************************************/
// start page // start page
// includes // includes
include("includes.php"); include("includes.php");
// get ip and id // get ip and id
$subnet_id = sanitize($_GET['subnet_id']); $subnet_id = sanitize($_GET['subnet_id']);
// start output // start output
include("header.php"); include("header.php");
// set template // set language variables
$tp = new Template("tpl/subnetvlanedit.tpl", $config_yapter_error); $smarty->assign($lang);
// set language variables // setup subnet
$tp->setvars($lang); // build query
$query = "SELECT
// setup subnet subnet.subnet_address AS subnet_address,
// build query subnet.subnet_mask AS subnet_mask
$query = "SELECT FROM
subnet.subnet_address AS subnet_address, subnet
subnet.subnet_mask AS subnet_mask WHERE
FROM subnet.subnet_id=" . $subnet_id;
subnet
WHERE // run query
subnet.subnet_id=" . $subnet_id; $subnet = $db->db_select($query);
// run query $smarty->assign("subnet_id", $subnet_id);
$subnet = $db->db_select($query); $smarty->assign("subnet_address", $subnet[0]['subnet_address']);
$smarty->assign("subnet_mask", $subnet[0]['subnet_mask']);
$tp->set("subnet_id", $subnet_id);
$tp->set("subnet_address", $subnet[0]['subnet_address']); // end page
$tp->set("subnet_mask", $subnet[0]['subnet_mask']); // output
$smarty->display("subnetvlanedit.tpl");
// end page
// output // end output
$tp->parse(); include("footer.php");
$tp->spit();
// end output
include("footer.php");
?> ?>

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