8 Commits
v0.5 ... v0.8

198 changed files with 11459 additions and 13577 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
*~
tpl_c/*.php
config.php

View File

@@ -1,47 +1,16 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful, include("header.php");
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the $smarty->display("about.tpl");
GNU General Public License for more details.
include("footer.php");
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/
// start page
// includes
include("includes.php");
// start output
include("header.php");
// set template
$tp = new Template("tpl/about.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
// setup page
// set vars
$tp->set("config_version", $config_version);
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?> ?>

184
asset.php
View File

@@ -1,129 +1,55 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of include("header.php");
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
// create letter links
You should have received a copy of the GNU General Public License $query = "SELECT
along with this program. If not, see <http://www.gnu.org/licenses/>. SUBSTRING(UPPER(asset.asset_name),1,1) AS asset_letter
FROM
For more information, visit http://sourceforge.net/projects/ipreg, asset
or contact me at wietsew@users.sourceforge.net GROUP BY
*****************************************************************************/ asset_letter
ORDER BY
// start page asset_letter";
// includes
include("includes.php"); $alphabet = $db->db_select($query);
$smarty->assign("alphabet", $alphabet);
// start output
include("header.php"); // setup current letter
if(isset($_GET['asset_letter'])) {
// set template $asset_letter = sanitize($_GET['asset_letter']);
$tp = new Template("tpl/asset.tpl", $config_yapter_error); } else {
$asset_letter = $alphabet[0]['asset_letter'];
// set language variables }
$tp->setvars($lang);
$query = "SELECT
// create letter links a.asset_id,
// build query IF(LENGTH(a.asset_name)>0, a.asset_name, '...') AS asset_name,
$query = "SELECT a.asset_info,
SUBSTRING(UPPER(asset.asset_name),1,1) AS asset_letter c.assetclass_id,
FROM c.assetclass_name
asset FROM
GROUP BY asset AS a LEFT OUTER JOIN assetclass AS c USING (assetclass_id)
asset_letter WHERE
ORDER BY SUBSTRING(a.asset_name,1,1) = '" . $asset_letter . "'
asset_letter"; ORDER BY
a.asset_name";
// run query
$alphabet = $db->db_select($query); $assets = $db->db_select($query);
// count results $smarty->assign("assets", $assets);
$alphabet_counter = count($alphabet);
$smarty->display("asset.tpl");
// any letters?
if ($alphabet_counter>0) { include("footer.php");
// get objects ?>
foreach($alphabet AS $alphabet_letter) {
// to tpl
$tp->set("asset_letter", strtoupper($alphabet_letter['asset_letter']));
// parse every row
$tp->parse("letter_row");
}
}
// parse block
$tp->parse("letter_table");
// setup asset
// setup current letter
if(isset($_GET['asset_letter'])) {
$asset_letter = sanitize($_GET['asset_letter']);
} else {
$asset_letter = $alphabet[0]['asset_letter'];
}
// build query
$query = "SELECT
asset.asset_id AS asset_id,
asset.asset_name AS asset_name,
assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name
FROM
asset,
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");
?>

View File

@@ -1,77 +1,33 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of if((isset($_GET['assetclass_id'])) ? $assetclass_id = sanitize($_GET['assetclass_id']) : $assetclass_id = "");
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. include("header.php");
You should have received a copy of the GNU General Public License $query = "SELECT
along with this program. If not, see <http://www.gnu.org/licenses/>. assetclass_id,
assetclass_name
For more information, visit http://sourceforge.net/projects/ipreg, FROM
or contact me at wietsew@users.sourceforge.net assetclass
*****************************************************************************/ ORDER BY
assetclass_name";
// start page
// includes $assetclasses = $db->db_select($query);
include("includes.php"); foreach ($assetclasses as $assetclass) {
$assetclass_options[$assetclass['assetclass_id']] = $assetclass['assetclass_name'];
// get id }
if((isset($_GET['assetclass_id'])) ? $assetclass_id = sanitize($_GET['assetclass_id']) : $assetclass_id = "");
$smarty->assign("assetclass_options", $assetclass_options);
// start output $smarty->display("assetadd.tpl");
include("header.php");
include("footer.php");
// set template
$tp = new Template("tpl/assetadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
// 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");
?> ?>

View File

@@ -1,89 +1,30 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful, include("header.php");
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the $query = "SELECT
GNU General Public License for more details. a.assetclass_id,
a.assetclass_name,
You should have received a copy of the GNU General Public License g.assetclassgroup_id,
along with this program. If not, see <http://www.gnu.org/licenses/>. g.assetclassgroup_name,
g.assetclassgroup_color
For more information, visit http://sourceforge.net/projects/ipreg, FROM
or contact me at wietsew@users.sourceforge.net assetclass AS a LEFT OUTER JOIN assetclassgroup AS g USING (assetclassgroup_id)
*****************************************************************************/ ORDER BY
a.assetclass_name";
// start page
// includes $assetclasses = $db->db_select($query);
include("includes.php");
$smarty->assign("assetclasses", $assetclasses);
// start output $smarty->display("assetclass.tpl");
include("header.php");
include("footer.php");
// set template ?>
$tp = new Template("tpl/assetclass.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
// setup assetclass
// build query
$query = "SELECT
assetclass.assetclass_id AS assetclass_id,
assetclass.assetclass_name AS assetclass_name,
assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name
FROM
assetclass,
assetclassgroup
WHERE
assetclassgroup.assetclassgroup_id=assetclass.assetclassgroup_id
ORDER BY
assetclass.assetclass_name";
// run query
$assetclasses = $db->db_select($query);
// count results
$assetclass_counter = count($assetclasses);
// counter to tpl
$tp->set("assetclass_counter", $assetclass_counter);
// any assetclasses?
if ($assetclass_counter>0) {
// get objects
foreach($assetclasses AS $assetclass) {
// send to tpl
$tp->set("assetclass_id", $assetclass['assetclass_id']);
$tp->set("assetclass_name", $assetclass['assetclass_name']);
$tp->set("assetclassgroup_id", $assetclass['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclass['assetclassgroup_name']);
// parse row
$tp->parse("assetclass_row");
}
// 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");
?>

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,43 +1,16 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful, include("header.php");
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the $smarty->display("assetclassgroupadd.tpl");
GNU General Public License for more details.
include("footer.php");
You should have received a copy of the GNU General Public License ?>
along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/
// start page
// includes
include("includes.php");
// start output
include("header.php");
// set template
$tp = new Template("tpl/assetclassgroupadd.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

View File

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

View File

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

View File

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

View File

@@ -1,114 +1,51 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of $assetclass_id = sanitize($_GET['assetclass_id']);
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. include("header.php");
You should have received a copy of the GNU General Public License $query = "SELECT
along with this program. If not, see <http://www.gnu.org/licenses/>. a.assetclass_id, a.assetclass_name,
g.assetclassgroup_id, g.assetclassgroup_name, g.assetclassgroup_color
For more information, visit http://sourceforge.net/projects/ipreg, FROM
or contact me at wietsew@users.sourceforge.net assetclass AS a LEFT OUTER JOIN assetclassgroup AS g USING (assetclassgroup_id)
*****************************************************************************/ WHERE
a.assetclass_id=" . $assetclass_id;
// start page
// includes $assetclass = $db->db_select($query);
include("includes.php");
$smarty->assign("assetclass_id", $assetclass[0]['assetclass_id']);
// get id $smarty->assign("assetclass_name", $assetclass[0]['assetclass_name']);
$assetclass_id = sanitize($_GET['assetclass_id']); $smarty->assign("assetclass_selected", "");
// start output $smarty->assign("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
include("header.php"); $smarty->assign("assetclassgroup_name", $assetclass[0]['assetclassgroup_name']);
$smarty->assign("assetclassgroup_color", $assetclass[0]['assetclassgroup_color']);
// set template
$tp = new Template("tpl/assetclassview.tpl", $config_yapter_error); $query = "SELECT
asset_id,
// set language variables asset_name,
$tp->setvars($lang); CONCAT(LEFT(asset_info, 80), IF(CHAR_LENGTH(asset_info)>80,'...','')) AS asset_info
FROM
// setup assetclass asset
// build query WHERE
$query = "SELECT assetclass_id='" . $assetclass_id . "'
assetclass.assetclass_id AS assetclass_id, ORDER BY
assetclass.assetclass_name AS assetclass_name, asset_name";
assetclassgroup.assetclassgroup_id AS assetclassgroup_id,
assetclassgroup.assetclassgroup_name AS assetclassgroup_name $assets = $db->db_select($query);
FROM $smarty->assign("assets", $assets);
assetclass,
assetclassgroup $smarty->display("assetclassview.tpl");
WHERE
assetclass.assetclass_id=" . $assetclass_id . " include("footer.php");
AND assetclassgroup.assetclassgroup_id=assetclass.assetclassgroup_id"; ?>
// run query
$assetclass = $db->db_select($query);
// send to tpl
$tp->set("assetclass_id", $assetclass[0]['assetclass_id']);
$tp->set("assetclass_name", $assetclass[0]['assetclass_name']);
$tp->set("assetclass_selected", "");
$tp->set("assetclassgroup_id", $assetclass[0]['assetclassgroup_id']);
$tp->set("assetclassgroup_name", $assetclass[0]['assetclassgroup_name']);
// setup asset
// build query
$query = "SELECT
asset.asset_id AS asset_id,
asset.asset_name AS asset_name
FROM
asset
WHERE
asset.assetclass_id='" . $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) {
// 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");
?>

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,133 +1,49 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of $asset_id = sanitize($_GET['asset_id']);
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the $node_ip = sanitize($_GET['node_ip']);
GNU General Public License for more details. $subnet_id = sanitize($_GET['subnet_id']);
You should have received a copy of the GNU General Public License include("header.php");
along with this program. If not, see <http://www.gnu.org/licenses/>.
$smarty->assign("node_ip", $node_ip);
For more information, visit http://sourceforge.net/projects/ipreg, $smarty->assign("asset_id", $asset_id);
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ $query = "SELECT
asset_id,
// start page asset_name
// includes FROM
include("includes.php"); asset
ORDER BY
// get id asset_name";
$asset_id = sanitize($_GET['asset_id']);
$node_ip = sanitize($_GET['node_ip']); $assets = $db->db_select($query);
$subnet_id = sanitize($_GET['subnet_id']); foreach ($assets as $asset) {
$asset_options[$asset['asset_id']] = $asset['asset_name'];
// start output }
include("header.php"); $smarty->assign("asset_options", $asset_options);
// set template $query = "SELECT subnet_id,
$tp = new Template("tpl/assignnodetoasset.tpl", $config_yapter_error); CONCAT_WS('/', subnet_address, subnet_mask) AS subnet_name
FROM subnet
// set language variables ORDER BY INET_ATON(subnet_address)";
$tp->setvars($lang);
$subnets = $db->db_select($query);
// to tpl foreach ($subnets as $subnet) {
$tp->set("node_ip", $node_ip); $subnet_options[$subnet['subnet_id']] = $subnet['subnet_name'];
}
// setup asset $smarty->assign("subnet_options", $subnet_options);
// build query
$query = "SELECT $smarty->display("assignnodetoasset.tpl");
asset.asset_id AS asset_id,
asset.asset_name AS asset_name include("footer.php");
FROM ?>
asset
ORDER BY
asset.asset_name";
// run query
$assets = $db->db_select($query);
// count results
$asset_counter = count($assets);
// any assets?
if ($asset_counter>0) {
// get objects
foreach($assets AS $asset) {
// send to tpl
$tp->set("asset_id", $asset['asset_id']);
$tp->set("asset_name", $asset['asset_name']);
if($asset['asset_id']==$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']==$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");
?>

View File

@@ -1,46 +1,22 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of include("header.php");
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
$comments = sanitize($_GET['comments']);
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. $smarty->assign("comments", $lang['lang_comments_' . $comments]);
For more information, visit http://sourceforge.net/projects/ipreg, $smarty->display("comments.tpl");
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ include("footer.php");
?>
// includes
include("includes.php");
// start output
include("header.php");
// set template
$tp = new Template("tpl/comments.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
// get error
$comments = sanitize($_GET['comments']);
// set veriables
$tp->set("comments", $lang['lang_comments_' . $comments]);
// output
$tp->parse();
$tp->spit();
include("footer.php");
?>

View File

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

24
config.php-sample Normal file
View File

@@ -0,0 +1,24 @@
<?php
/*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2007-2009 Wietse Warendorff (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
SPDX-License-Identifier: GPL-3.0-or-later
*****************************************************************************/
// db connection
$config_mysql_host = 'localhost';
$config_mysql_username = 'ipreg';
$config_mysql_password = 'changeme!';
$config_mysql_dbname = 'ipreg';
// default values for IP blocks
$config_color_blocked = 'dcdcdc';
$config_color_unused = 'ffffff';
$config_color_dynamic = 'e0e0e0';
// language
$config_lang_default = 'en';
?>

View File

@@ -1,28 +1,13 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
$dblink = mysqli_connect($config_mysql_host,$config_mysql_username,$config_mysql_password);
This program is distributed in the hope that it will be useful, mysqli_select_db($dblink, $config_mysql_dbname);
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ?>
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/
// build connection
mysql_connect($config_mysql_host,$config_mysql_username,$config_mysql_password);
// select db
mysql_select_db($config_mysql_dbname);
?>

View File

@@ -1,34 +1,13 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
$smarty->assign("config_version", $config_version);
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of $smarty->display("footer.tpl");
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/
// start page
// set template
$tp = new Template("tpl/footer.tpl", $config_yapter_error);
// get version for the footer-stamp
$tp->set("config_version", $config_version);
// end page
// output
$tp->parse();
$tp->spit();
?> ?>

View File

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

187
image.php
View File

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

BIN
images/arrow_left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

BIN
images/arrow_right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

BIN
images/bin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

BIN
images/breadcrumb.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 B

BIN
images/building.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 B

BIN
images/building_add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

BIN
images/building_delete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 B

BIN
images/building_edit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 731 B

BIN
images/exclamation.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

BIN
images/link.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

BIN
images/minus.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

BIN
images/network-ethernet.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
images/network-ethernet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

BIN
images/page.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

BIN
images/plus.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

BIN
images/report.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

BIN
images/table.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

BIN
images/table_add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

BIN
images/table_delete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

BIN
images/table_edit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

BIN
images/table_go.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

BIN
images/table_save.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

BIN
images/user.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

BIN
images/user_add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

BIN
images/user_delete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

BIN
images/user_edit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

BIN
images/user_female.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 663 B

View File

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

177
index.php
View File

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

View File

@@ -1,16 +1,55 @@
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 it with: "apt-get install smarty3".
2. Run import The PHP-GD module is also required: "apt-get install php-gd".
Import the mysql.sql file into your database, which will create the tables and some sample data.
3. Edit config file 2. Create database
Open config.php in a text editor and fill in your database details. 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.
4. Upload files
Upload all files and directory's (except the install directory) to your webserver. CREATE DATABASE ipreg;
5. Start using IP Reg Create database-user for application with minimum necessary rights.
Start your browser and login to IP Reg with the default username/password: admin/admin
CREATE USER 'ipreg'@'localhost' IDENTIFIED BY '********';
GRANT SELECT, INSERT, UPDATE, DELETE ON ipreg.* TO 'ipreg'@'localhost';
3. Run database import
Import the mysql.sql file into your database, which will create the tables
mysql ipreg < mysql.sql
Optional import some sample data
mysql ipreg < mysql_sample.sql
4. Upload files
Upload all files and directories (except the install directory) to your
webserver.
5. Create and edit config file
Rename sample configfile config.php-sample:
mv config.php-sample config.php
Open config.php in a text editor and fill in your database details.
6. Check file access rights for security
Only directory tpl_c should be writeble by webserver.
Configfile should be readable by webserver but not writeable.
chmod 640 config.php
chgrp www-data config.php
chown www-data tpl_c
7. Start using IP Reg
Start your browser and login to IP Reg with the default username/password:
admin/admin

View File

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

56
install/mysql_sample.sql Normal file
View File

@@ -0,0 +1,56 @@
INSERT INTO asset (asset_name, assetclass_id) VALUES
('Computer', 1),
('Server', 3),
('Printer', 4),
('Firewall', 6);
INSERT INTO assetclass (assetclassgroup_id, assetclass_name) VALUES
(1, 'Desktop'),
(1, 'Notebook'),
(2, 'Server'),
(3, 'Printer'),
(4, 'Switch'),
(4, 'Firewall'),
(5, 'Scanner');
INSERT INTO assetclassgroup (assetclassgroup_name, assetclassgroup_color) VALUES
('Personal Computer', '000000'),
('Servers', '0000CC'),
('Periphery', '00CC00'),
('Network', 'CCCC00'),
('Miscellaneous', 'CC0000');
INSERT INTO location (location_name, location_parent) VALUES
('Main Office', 0),
('Branch Office A', 1),
('Branch Office B', 1);
INSERT INTO node (node_ip, node_mac, subnet_id, asset_id) VALUES
('192.168.0.10', '001122334455', 1, 1),
('192.168.0.11', 'aabbccddeeff', 1, 2),
('192.168.0.12', '775544881199', 1, 3),
('192.168.0.1', '667755441122', 1, 4),
('192.168.1.1', '667755441123', 2, 4),
('192.168.10.1', '667755441124', 3, 4),
('192.168.20.1', '667755441125', 4, 4);
INSERT INTO subnet (subnet_address, subnet_mask) VALUES
('192.168.0.0', 24),
('192.168.1.0', 24),
('192.168.10.0', 24),
('192.168.20.0', 24);
INSERT INTO subnetlocation (subnet_id, location_id) VALUES
(1, 1),
(2, 1),
(3, 2),
(4, 3);
INSERT INTO subnetvlan (subnet_id, vlan_id) VALUES
(1, 1);
INSERT INTO vlan (vlan_number, vlan_name) VALUES
(1, 'DEFAULT_VLAN');
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');

229
lang/de.php Normal file
View File

@@ -0,0 +1,229 @@
<?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_location_none' => 'Es sind keine Standorte vorhanden',
'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_node_none' => 'Es sind keine Knoten vorhanden',
'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_subnet_none' => 'Es sind keine Subnetze vorhanden',
'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_zone_none' => 'Es sind keine Zonen vorhanden',
'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_vlan_none' => 'Es sind keine VLANs vorhanden',
'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_projectpage' => 'Aktuelle Projektseite',
'lang_about_sfprojectpage' => 'Sourceforge Projektseite',
'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_v08' => 'v0.8 (feb 2023)',
'lang_about_changelog_v08_ext' => '- Some small improvements and bugfixing<br>- Code simplification as preparation for big refactoring',
'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',
);
?>

View File

@@ -1,196 +1,229 @@
<?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_location_none' => 'There are no locations defined',
'lang_dns1' => 'DNS name',
'lang_dns2' => 'DNS Alias', 'lang_locationsubnet' => 'Location/Subnet',
'lang_ip' => 'IP Address', 'lang_locationsubnet_edit' => 'Edit Location/Subnet',
'lang_mac' => 'MAC Address',
'lang_node_add' => 'Add node',
'lang_nat' => 'NAT', 'lang_node_del' => 'Delete node',
'lang_nat_add' => 'Add NAT', 'lang_node_edit' => 'Modify node',
'lang_nat_del' => 'Delete NAT', 'lang_node_info' => 'Node info',
'lang_nat_edit' => 'Modify NAT', 'lang_node_none' => 'There are no nodes defined',
'lang_nat_rules' => 'NAT Rules', 'lang_dns1' => 'DNS name',
'lang_nat_type' => 'Type', 'lang_dns2' => 'DNS Alias',
'lang_nat_type_1' => 'Hide', 'lang_ip' => 'IP Address',
'lang_nat_type_2' => 'Static', 'lang_mac' => 'MAC Address',
'lang_nat_type_3' => 'Dynamic', 'lang_proto_vers' => 'Protocol version',
'lang_search_results_found' => 'Total results found', 'lang_nat' => 'NAT',
'lang_nat_add' => 'Add NAT',
'lang_subnet_add' => 'Add subnet', 'lang_nat_del' => 'Delete NAT',
'lang_subnet_subnetaddress' => 'Subnet address', 'lang_nat_edit' => 'Modify NAT',
'lang_subnet_subnetaddress_mask' => 'Subnet address/Mask', 'lang_nat_rules' => 'NAT Rules',
'lang_subnet_broadcastaddress' => 'Broadcast address', 'lang_nat_type' => 'Type',
'lang_subnet_nodesinsubnet' => 'Nodes in subnet', 'lang_nat_type_1' => 'Hide',
'lang_subnet_subnetused' => 'Subnet used', 'lang_nat_type_2' => 'Static',
'lang_subnet_del' => 'Delete subnet', 'lang_nat_type_3' => 'Dynamic',
'lang_subnet_edit' => 'Modify subnet',
'lang_subnet_info' => 'Subnet info', 'lang_search_results_found' => 'Total results found',
'lang_subnet_mask' => 'Subnet mask',
'lang_subnet_add' => 'Add subnet',
'lang_subnetlocation' => 'Subnet/Location', 'lang_subnet_subnetaddress' => 'Subnet address',
'lang_subnetlocation_edit' => 'Edit Subnet/Location', 'lang_subnet_subnetaddress_mask' => 'Subnet address/Mask',
'lang_subnetvlan' => 'Subnet/VLAN', 'lang_subnet_broadcastaddress' => 'Broadcast address',
'lang_subnetvlan_edit' => 'Edit Subnet/VLAN', 'lang_subnet_nodesinsubnet' => 'Nodes in subnet',
'lang_subnet_subnetused' => 'Subnet used',
'lang_user_add' => 'Add user', 'lang_subnet_del' => 'Delete subnet',
'lang_user_del' => 'Delete user', 'lang_subnet_edit' => 'Modify subnet',
'lang_user_displayname' => 'Displayname', 'lang_subnet_info' => 'Subnet info',
'lang_user_edit' => 'Mofidy user', 'lang_subnet_mask' => 'Subnet mask',
'lang_user_name' => 'Username', 'lang_subnet_dhcp' => 'Exclude DHCP',
'lang_user_password' => 'Password', 'lang_subnet_dhcpstart' => 'DHCP Start',
'lang_subnet_dhcpend' => 'DHCP End',
'lang_vlan_add' => 'Add VLAN', 'lang_subnet_ntp_server' => 'NTP Server',
'lang_vlan_del' => 'Delete VLAN', 'lang_subnet_none' => 'There are no subnets defined',
'lang_vlan_edit' => 'Modify VLAN',
'lang_vlan_number' => 'VLAN ID', 'lang_subnetlocation' => 'Subnet/Location',
'lang_vlan_info' => 'VLAN info', 'lang_subnetlocation_edit' => 'Edit Subnet/Location',
'lang_vlan_new' => 'VLAN info', 'lang_subnetvlan' => 'Subnet/VLAN',
'lang_vlan_name' => 'VLAN name', 'lang_subnetvlan_edit' => 'Edit Subnet/VLAN',
'lang_vlansubnet' => 'VLAN/Subnet', 'lang_user_add' => 'Add user',
'lang_vlansubnet_edit' => 'Edit VLAN/Subnet', 'lang_user_del' => 'Delete user',
'lang_user_displayname' => 'Displayname',
'lang_comments' => 'Comments', 'lang_user_edit' => 'Mofidy user',
'lang_comments_error' => 'Error', 'lang_user_name' => 'Username',
'lang_comments_asset_del_nodes' => 'These nodes will also be deleted!', 'lang_user_password' => 'Password',
'lang_comments_ipinuse' => 'IP in use',
'lang_comments_notallowed' => 'Not allowed', 'lang_zone_add' => 'Add zone',
'lang_comments_search_nosearch' => 'Nothing to search for!', 'lang_zone_del' => 'Delete zone',
'lang_comments_usernameinuse' => 'Username in use', 'lang_zone_edit' => 'Mofidy zone',
'lang_zone_none' => 'There are no zones defined',
'lang_options_ipreg' => 'IP Reg options',
'lang_options_display' => 'Display options', 'lang_vlan_add' => 'Add VLAN',
'lang_options_password' => 'Change password', 'lang_vlan_del' => 'Delete VLAN',
'lang_options_imagesize' => 'Imagesize', 'lang_vlan_edit' => 'Modify VLAN',
'lang_options_imagesize_help' => 'Size (in pixels) of colored square on subnetview', 'lang_vlan_number' => 'VLAN ID',
'lang_options_imagecount' => 'Imagecount', 'lang_vlan_info' => 'VLAN info',
'lang_options_imagecount_help' => 'Nr of colored squares per row on subnetview', 'lang_vlan_new' => 'VLAN info',
'lang_options_mac' => 'MAC Address', 'lang_vlan_name' => 'VLAN name',
'lang_options_mac_help' => 'Format in which a MAC address is displayed (e.g. xx-xx-xx-xx-xx-xx)', 'lang_vlan_none' => 'There are no VLANs defined',
'lang_options_menu_help' => 'Select items to be displayed in menu', 'lang_user_language' => 'Language',
'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_vlansubnet' => 'VLAN/Subnet',
'lang_options_dns1suffix' => 'DNS Name suffix', 'lang_vlansubnet_edit' => 'Edit VLAN/Subnet',
'lang_options_dns1suffix_help' => 'Default DNS Name suffix when creating a new node',
'lang_options_dns2suffix' => 'DNS Alias suffix', 'lang_comments' => 'Comments',
'lang_options_dns2suffix_help' => 'Default DNS Alias suffix when creating a new node', 'lang_comments_error' => 'Error',
'lang_options_currentpassword' => 'Current password', 'lang_comments_asset_del_nodes' => 'These nodes will also be deleted!',
'lang_options_currentpassword_help' => 'Enter your current password', 'lang_comments_ipinuse' => 'IP in use',
'lang_options_newpassword1' => 'New password', 'lang_comments_notallowed' => 'Not allowed',
'lang_options_newpassword1_help' => 'Enter your new password', 'lang_comments_search_nosearch' => 'Nothing to search for!',
'lang_options_newpassword2' => 'Retype new password', 'lang_comments_usernameinuse' => 'Username in use',
'lang_options_newpassword2_help' => 'Re-type your new password', 'lang_comments_invalidpass' => 'Invalid password',
'lang_comments_invalidnewpass' => 'Invalid new password',
'lang_about_sfprojectpage' => 'Sourceforge Project Page',
'lang_about_license' => 'lang_about_license', 'lang_options_ipreg' => 'IP Reg options',
'lang_about_gpl' => 'GNU General Public License (GPL)', 'lang_options_display' => 'Display options',
'lang_about_yapter' => 'Yapter Template Engine', 'lang_options_password' => 'Change password',
'lang_about_iconset' => 'Silk icon set 1.3', 'lang_options_imagesize' => 'Imagesize',
'lang_about_ipreg_ext' => 'IP Reg, a PHP/MySQL IPAM tool', 'lang_options_imagesize_help' => 'Size (in pixels) of colored square on subnetview',
'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_imagecount' => 'Imagecount',
'lang_options_imagecount_help' => 'Nr of colored squares per row on subnetview',
'lang_about_changelog' => 'Changelog (major changes only)', 'lang_options_mac' => 'MAC Address',
'lang_about_changelog_v05' => 'v0.5 (dec 2009)', 'lang_options_mac_help' => 'Format in which a MAC address is displayed (e.g. xx-xx-xx-xx-xx-xx)',
'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_menu_help' => 'Select items to be displayed in menu',
'lang_about_changelog_v04' => 'v0.4 (jun 2008)', 'lang_options_dateformat' => 'Date format',
'lang_about_changelog_v04_ext' => '- SQL vulnerability fixed<br>- PHP-generated images in subnet overview', '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_v03' => 'v0.3 (dec 2007)', 'lang_options_dns1suffix' => 'DNS Name suffix',
'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_dns1suffix_help' => 'Default DNS Name suffix when creating a new node',
'lang_about_changelog_v02' => 'v0.2 (dec 2007)', 'lang_options_dns2suffix' => 'DNS Alias suffix',
'lang_about_changelog_v02_ext' => '- Fixed ordering of IP addresses<br>- Fixed info fields', 'lang_options_dns2suffix_help' => 'Default DNS Alias suffix when creating a new node',
'lang_about_changelog_v01' => 'v0.1 (dec 2007)', 'lang_options_currentpassword' => 'Current password',
'lang_about_changelog_v01_ext' => '- First beta release', 'lang_options_currentpassword_help' => 'Enter your current password',
'lang_options_newpassword1' => 'New password',
); 'lang_options_newpassword1_help' => 'Enter your new password',
'lang_options_newpassword2' => 'Retype new password',
?> 'lang_options_newpassword2_help' => 'Re-type your new password',
'lang_options_tooltips_help' => 'Show tooltips',
'lang_options_language_help' => 'Language for this user',
'lang_about_projectpage' => 'Current Project Page',
'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_v08' => 'v0.8 (feb 2023)',
'lang_about_changelog_v08_ext' => '- Some small improvements and bugfixing<br>- Code simplification as preparation for big refactoring',
'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',
);
?>

75
lib.php
View File

@@ -1,44 +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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
// global version string
This program is distributed in the hope that it will be useful, $config_version = 'v0.8';
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // available languages
GNU General Public License for more details. $config_lang = array('de', 'en');
You should have received a copy of the GNU General Public License include("lib/functions.php");
along with this program. If not, see <http://www.gnu.org/licenses/>.
require("lib/db.class.php");
For more information, visit http://sourceforge.net/projects/ipreg, $db = new Db($dblink);
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/ require("lib/user.class.php");
$user = new User();
// functions
include("lib/functions.php"); require_once('smarty3/Smarty.class.php');
$smarty = new Smarty();
// classes $smarty->template_dir = 'tpl';
// db $smarty->compile_dir = 'tpl_c';
// load class $smarty->registerPlugin('function', 'treelist', 'print_tree');
require("lib/db.class.php"); $smarty->assign("suser_tooltips", $_SESSION['suser_tooltips']);
// create instance ?>
$db = new Db();
// user
// load class
require("lib/user.class.php");
// create instance
$user = new User();
// tpl
// load class
include("lib/yapter.php");
?>

BIN
lib/arrow.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 B

View File

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

View File

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

BIN
lib/cross.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

View File

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

View File

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

BIN
lib/hs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
lib/hv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

840
lib/jscolor.js Normal file
View File

@@ -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();

View File

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

View File

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

View File

@@ -1,127 +1,46 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of include("header.php");
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. $query = "SELECT
location_id AS id,
You should have received a copy of the GNU General Public License location_name AS value,
along with this program. If not, see <http://www.gnu.org/licenses/>. location_parent AS parent_id
FROM
For more information, visit http://sourceforge.net/projects/ipreg, location
or contact me at wietsew@users.sourceforge.net ORDER BY location_parent, location_sort, location_name";
*****************************************************************************/
$locations = $db->db_select($query);
// start page
// includes // function for recursion
include("includes.php"); function build_tree($parent_id, $level) {
global $locations;
// start output $children = array();
include("header.php"); foreach ($locations as $key => $location) {
if ($location['parent_id'] == $parent_id) {
// set template unset($location['parent_id']);
$tp = new Template("tpl/location.tpl", $config_yapter_error); $location['children'] = build_tree($location['id'], $level+1);
$location['level'] = $level;
// set language variables $location['href'] = 'locationview.php?location_id=' . $location['id'];
$tp->setvars($lang); $children[] = $location;
}
// start location }
// look for locations return $children;
// build query }
$query = "SELECT
location.location_id AS location_id, $tree = build_tree(0, 0);
location.location_name AS location_name, $smarty->assign("locations", $tree);
location.location_parent AS location_parent
FROM $smarty->display("location.tpl");
location
ORDER BY include("footer.php");
location.location_name"; ?>
// run query
$locations = $db->db_select($query);
// count results
$location_counter = count($locations);
// counter to tpl
$tp->set("location_counter", $location_counter);
// any loactions?
if ($location_counter>0) {
// get objects
foreach($locations AS $location) {
// create arrays
$location_names[$location['location_id']] = $location['location_name'];
$parents[$location['location_parent']][] = $location['location_id'];
}
}
// look for parents
// function to look for parents and create a new array for every child
function location($parents, $parent = 0) {
// loop array to check
foreach($parents[$parent] as $child) {
if(isset($parents[$child])) {
// element has children
$children[$child] = location($parents, $child);
} else {
// no children, set NULL
$children[$child] = NULL;
}
}
// and again...
return $children;
}
// to tpl
// recursive children check to template
function checkchildren($locations, $level) {
// include template class
global $tp;
// import location names
global $location_names;
// action!
foreach ($locations as $parent=>$child) {
// send vars to template
$tp->set("location_id", $parent);
$tp->set("location_name", $location_names[$parent]);
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
$tp->parse("location_row");
// any children?
if($child != "") {
// yes, so do the loop again!
checkchildren($child, $level+1);
}
}
// parse and clear for the next round
$tp->parse("location_table");
$tp->clear("location_table");
}
// assemble the tree
$tree = location($parents);
// check for values and build template
checkchildren($tree, 0);
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?>

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,102 +1,47 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of $location_id = sanitize($_GET['location_id']);
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. include("header.php");
You should have received a copy of the GNU General Public License // location
along with this program. If not, see <http://www.gnu.org/licenses/>. $query = "SELECT
location_name
For more information, visit http://sourceforge.net/projects/ipreg, FROM
or contact me at wietsew@users.sourceforge.net location
*****************************************************************************/ WHERE
location_id=" . $location_id;
// start page
// includes $location = $db->db_select($query);
include("includes.php");
$smarty->assign("location_id", $location_id);
// get ip and id $smarty->assign("location_name", $location[0]['location_name']);
$location_id = sanitize($_GET['location_id']);
// subnet
// start output $query = "SELECT
include("header.php"); s.subnet_id,
s.subnet_address,
// set template s.subnet_mask
$tp = new Template("tpl/locationsubnetdel.tpl", $config_yapter_error); FROM
subnetlocation AS l LEFT JOIN subnet AS s USING (subnet_id)
// set language variables WHERE
$tp->setvars($lang); l.location_id=" . $location_id . "
ORDER BY
// setup location INET_ATON(s.subnet_address)";
// build query
$query = "SELECT $subnets = $db->db_select($query);
location.location_name AS location_name $smarty->assign($subnets);
FROM
location $smarty->display("locationsubnetdel.tpl");
WHERE
location.location_id=" . $location_id; include("footer.php");
?>
// run query
$location = $db->db_select($query);
$tp->set("location_id", $location_id);
$tp->set("location_name", $location[0]['location_name']);
// setup subnet
// build query
$query = "SELECT
subnet.subnet_id AS subnet_id,
subnet.subnet_address AS subnet_address,
subnet.subnet_mask AS subnet_mask
FROM
subnetlocation,
subnet
WHERE
subnetlocation.location_id=" . $location_id . "
AND subnet.subnet_id=subnetlocation.subnet_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");
?>

View File

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

View File

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

126
login.php
View File

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

View File

@@ -1,33 +1,17 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of // user logout: clear session
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the $_SESSION = array();
GNU General Public License for more details.
// redirect to start page
You should have received a copy of the GNU General Public License header("Location: index.php");
along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/
// start page
// includes
include("includes.php");
// logout
// user logout
$user->user_logout();
// redirect
header("Location: index.php");
?> ?>

View File

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

View File

@@ -1,105 +1,55 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of $node_id = sanitize($_GET['node_id']);
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. include("header.php");
You should have received a copy of the GNU General Public License // node_ext
along with this program. If not, see <http://www.gnu.org/licenses/>. $query = "SELECT
node_ip AS node_ip_ext
For more information, visit http://sourceforge.net/projects/ipreg, FROM
or contact me at wietsew@users.sourceforge.net node
*****************************************************************************/ WHERE
node_id=" . $node_id;
// start page
// includes $node = $db->db_select($query);
include("includes.php");
$smarty->assign("node_id_ext", $node_id);
// get ip and id $smarty->assign("node_ip_ext", $node[0]['node_ip_ext']);
$node_id = sanitize($_GET['node_id']);
// options
// start output $query = "SELECT
include("header.php"); a.asset_name,
n.node_ip,
// set template x.nat_ext
$tp = new Template("tpl/natdel.tpl", $config_yapter_error); FROM
asset AS a,
// set language variables nat AS x,
$tp->setvars($lang); node AS n
WHERE
// setup node_ext x.nat_ext=" . $node_id . "
// build query AND n.node_id=x.nat_int
$query = "SELECT AND a.asset_id=n.asset_id
node.node_ip AS node_ip_ext ORDER BY
FROM INET_ATON(n.node_ip)";
node
WHERE $nodes = $db->db_select($query);
node.node_id=" . $node_id;
$options = array();
// run query foreach ($nodes as $rec) {
$node = $db->db_select($query); $options[$rec['nat_ext']] = $rec['node_ip'] . '/' . $rec['asset_name'];
}
$tp->set("node_id_ext", $node_id); $smarty->assign("nat_options", $options);
$tp->set("node_ip_ext", $node[0]['node_ip_ext']); $smarty->display("natdel.tpl");
// setup node include("footer.php");
// build query ?>
$query = "SELECT
asset.asset_name AS asset_name,
node.node_id AS node_id_int,
node.node_ip AS node_ip_int
FROM
asset,
nat,
node
WHERE
nat.nat_ext=" . $node_id . "
AND node.node_id=nat.nat_int
AND asset.asset_id=node.asset_id
ORDER BY
INET_ATON(node.node_ip)";
// run query
$nodes = $db->db_select($query);
// count results
$node_counter = count($nodes);
// any nodes?
if ($node_counter>0) {
// get objects
foreach($nodes AS $node) {
// send to tpl
$tp->set("asset_name", $node['asset_name']);
$tp->set("node_id_int", $node['node_id_int']);
$tp->set("node_ip_int", $node['node_ip_int']);
// parse row
$tp->parse("node_row");
}
// 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");
?>

View File

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

148
node.php
View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,43 +1,16 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful, include("header.php");
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the $smarty->display("options.tpl");
GNU General Public License for more details.
include("footer.php");
You should have received a copy of the GNU General Public License ?>
along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/
// start page
// includes
include("includes.php");
// start output
include("header.php");
// set template
$tp = new Template("tpl/options.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

View File

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

View File

@@ -1,43 +1,16 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful, include("header.php");
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the $smarty->display("optionseditpassword.tpl");
GNU General Public License for more details.
include("footer.php");
You should have received a copy of the GNU General Public License ?>
along with this program. If not, see <http://www.gnu.org/licenses/>.
For more information, visit http://sourceforge.net/projects/ipreg,
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/
// start page
// includes
include("includes.php");
// start output
include("header.php");
// set template
$tp = new Template("tpl/optionseditpassword.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

View File

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

2242
submit.php

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -1,46 +1,35 @@
<?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 (up to v0.5)
Copyright (C) 2011-2023 Thomas Hooge
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 SPDX-License-Identifier: GPL-3.0-or-later
the Free Software Foundation, either version 3 of the License, or *****************************************************************************/
(at your option) any later version.
include("includes.php");
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of if((isset($_GET['vlan_id'])) ? $vlan_id = sanitize($_GET['vlan_id']) : $vlan_id = "");
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. include("header.php");
You should have received a copy of the GNU General Public License $query = "SELECT
along with this program. If not, see <http://www.gnu.org/licenses/>. vlan_id,
vlan_number,
For more information, visit http://sourceforge.net/projects/ipreg, vlan_name
or contact me at wietsew@users.sourceforge.net FROM
*****************************************************************************/ vlan
ORDER BY
// start page vlan_name";
// includes
include("includes.php"); $vlans = $db->db_select($query);
$vlan_options[0] = $lang['lang_option_none'];
// get id foreach ($vlans as $vlan) {
if((isset($_GET['vlan_id'])) ? $vlan_id = sanitize($_GET['vlan_id']) : $vlan_id = ""); $vlan_options[$vlan['vlan_id']] = $vlan['vlan_name'];
}
// start output $smarty->assign("vlan_options", $vlan_options);
include("header.php");
$smarty->display("subnetadd.tpl");
// set template
$tp = new Template("tpl/subnetadd.tpl", $config_yapter_error); include("footer.php");
?>
// set language variables
$tp->setvars($lang);
// end page
// output
$tp->parse();
$tp->spit();
// end output
include("footer.php");
?>

View File

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

View File

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

View File

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

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