Compare commits
	
		
			5 Commits 
		
	
	
		
			f0992b4b64
			...
			78b97c5094
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  Thomas Hooge | 78b97c5094 | 3 years ago | 
|  Thomas Hooge | 7cfcaeb9d7 | 3 years ago | 
|  Thomas Hooge | 32bd592098 | 3 years ago | 
|  Thomas Hooge | c63b500d77 | 3 years ago | 
|  Thomas Hooge | ccdcfb968c | 3 years ago | 
| @ -1,36 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| if((isset($_GET['assetclass_id'])) ? $assetclass_id = sanitize($_GET['assetclass_id']) : $assetclass_id = ""); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT assetclass_id, assetclass_name |  | ||||||
|         FROM assetclass |  | ||||||
| 	ORDER BY assetclass_name"; |  | ||||||
| $sth = $dbh->query($sql); |  | ||||||
| 
 |  | ||||||
| $types = db_load_enum('asset','asset_type'); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("type_ids", $types); |  | ||||||
| $smarty->assign("type_names", $types); |  | ||||||
| $smarty->assign("type_selected", $types[0]); |  | ||||||
| 
 |  | ||||||
| $assetclass_options = array(); |  | ||||||
| foreach ($sth->fetchAll(PDO::FETCH_NUM) as $rec) { |  | ||||||
|     $assetclass_options[$rec[0]] = $rec[1]; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| $smarty->assign("assetclass_options", $assetclass_options); |  | ||||||
| $smarty->display("assetadd.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,20 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| if((isset($_GET['assetclassgroup_id'])) ? $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']) : $assetclassgroup_id = ""); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("assetclassgroup_options", db_get_options_assetclassgroup()); |  | ||||||
| $smarty->display("assetclassadd.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,26 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $assetclass_id = sanitize($_GET['assetclass_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT assetclass_id AS id, assetclass_name AS name |  | ||||||
|         FROM assetclass |  | ||||||
| 	WHERE assetclass_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$assetclass_id]); |  | ||||||
| $smarty->assign("assetclass", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetclassdel.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,30 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $assetclass_id = sanitize($_GET['assetclass_id']); |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $sql = "SELECT assetclass_id AS id, assetclass_name AS name, |  | ||||||
|             assetclass_description AS description, |  | ||||||
|             assetclassgroup_id AS group_id |  | ||||||
|         FROM assetclass |  | ||||||
|         WHERE assetclass_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$assetclass_id]); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("assetclass", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("assetclassgroup_options", db_get_options_assetclassgroup()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetclassedit.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,18 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("scripts", 'jscolor.js'); |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $smarty->display("assetclassgroupadd.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,26 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT assetclassgroup_id AS id, assetclassgroup_name AS name |  | ||||||
|         FROM assetclassgroup |  | ||||||
|         WHERE assetclassgroup_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$assetclassgroup_id]); |  | ||||||
| $smarty->assign("assetclassgroup", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetclassgroupdel.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,30 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("scripts", 'jscolor.js'); |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT assetclassgroup_id AS id, assetclassgroup_name AS name, |  | ||||||
|             assetclassgroup_color AS color, |  | ||||||
|             assetclassgroup_description AS description |  | ||||||
|         FROM assetclassgroup |  | ||||||
|         WHERE assetclassgroup_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$assetclassgroup_id]); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("assetclassgroup", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetclassgroupedit.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,37 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $assetclassgroup_id = sanitize($_GET['assetclassgroup_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT assetclassgroup_id AS id, |  | ||||||
|             assetclassgroup_name AS name, |  | ||||||
|             assetclassgroup_color AS color, |  | ||||||
|             assetclassgroup_description AS description |  | ||||||
|         FROM assetclassgroup |  | ||||||
|         WHERE assetclassgroup_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$assetclassgroup_id]); |  | ||||||
| $smarty->assign("assetclassgroup", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT assetclass_id, assetclass_name |  | ||||||
|         FROM assetclass |  | ||||||
|         WHERE assetclassgroup_id=? |  | ||||||
|         ORDER BY assetclass_name"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$assetclassgroup_id]); |  | ||||||
| $smarty->assign("assetclasses", $sth->fetchAll(PDO::FETCH_ASSOC)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetclassgroupview.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,37 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $assetclass_id = sanitize($_GET['assetclass_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT a.assetclass_id, a.assetclass_name, g.assetclassgroup_id, |  | ||||||
|             a.assetclass_description, |  | ||||||
|             g.assetclassgroup_name, g.assetclassgroup_color |  | ||||||
| 	FROM assetclass AS a LEFT OUTER JOIN assetclassgroup AS g USING (assetclassgroup_id) |  | ||||||
| 	WHERE a.assetclass_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$assetclass_id]); |  | ||||||
| $smarty->assign("assetclass", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT asset_id, asset_name, |  | ||||||
|             CONCAT(LEFT(asset_info, 80), IF(CHAR_LENGTH(asset_info)>80,'...','')) AS asset_info |  | ||||||
| 	FROM asset |  | ||||||
| 	WHERE assetclass_id=? |  | ||||||
| 	ORDER BY asset_name"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$assetclass_id]); |  | ||||||
| $smarty->assign("assets", $sth->fetchAll(PDO::FETCH_ASSOC)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetclassview.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,31 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $asset_id = sanitize($_GET['asset_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| // asset to delete	 |  | ||||||
| $sth = $dbh->prepare("SELECT asset_name FROM asset WHERE asset_id=?"); |  | ||||||
| $sth->execute([$asset_id]); |  | ||||||
| $smarty->assign("asset_id", $asset_id); |  | ||||||
| $smarty->assign("asset_name", $sth->fetchColumn()); |  | ||||||
| 
 |  | ||||||
| // nodes to delete |  | ||||||
| $sql = "SELECT node_id, node_ip FROM node WHERE asset_id=? ORDER BY INET_ATON(node_ip)"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$asset_id]); |  | ||||||
| $smarty->assign("nodes", $sth->fetchAll(PDO::FETCH_ASSOC)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetdel.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,33 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $asset_id = sanitize($_GET['asset_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 	 |  | ||||||
| $sql = "SELECT asset_id, asset_name, asset_hostname, asset_info, asset_intf, |  | ||||||
|             assetclass_id, asset_type |  | ||||||
| 	FROM asset |  | ||||||
| 	WHERE asset_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$asset_id]); |  | ||||||
| $smarty->assign("asset", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| // Type selection |  | ||||||
| $smarty->assign("type_ids", ['active', 'passive']); |  | ||||||
| $smarty->assign("type_names", ['Active', 'Passive']); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("assetclass_options", db_get_options_assetclass()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetedit.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,41 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| if (isset($_GET['asset_id']) && (!empty($_GET['asset_id']))) { |  | ||||||
|     $asset_id = sanitize($_GET['asset_id']); |  | ||||||
| } else { |  | ||||||
|     header_location("comments.php?comments=error"); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT a.asset_id, a.asset_name, a.asset_hostname, a.asset_info, |  | ||||||
|             a.asset_intf, a.asset_type, c.assetclass_id, c.assetclass_name |  | ||||||
|         FROM asset AS a LEFT OUTER JOIN assetclass AS c USING (assetclass_id) |  | ||||||
|         WHERE a.asset_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$asset_id]); |  | ||||||
| $asset = $sth->fetch(PDO::FETCH_OBJ); |  | ||||||
| $smarty->assign("asset", $asset); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT node_id, node_ip,  |  | ||||||
|             CONCAT(LEFT(node_info, 40), IF(CHAR_LENGTH(node_info)>40,'...','')) AS node_info |  | ||||||
|         FROM node |  | ||||||
|         WHERE asset_id=? |  | ||||||
|         ORDER BY INET_ATON(node_ip)"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$asset_id]); |  | ||||||
| $smarty->assign("nodes", $sth->fetchAll(PDO::FETCH_ASSOC)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assetview.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,29 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $node_ip = sanitize($_GET['node_ip']); |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask  |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| $smarty->assign("node_ip", $node_ip); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assigniptonode.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,28 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $asset_id = sanitize($_GET['asset_id']); |  | ||||||
| $node_ip = sanitize($_GET['node_ip']); |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("node_ip", $node_ip); |  | ||||||
| $smarty->assign("asset_id", $asset_id); |  | ||||||
| $smarty->assign("subnet_id", $subnet_id); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("asset_options", db_get_options_asset()); |  | ||||||
| $smarty->assign("subnet_options",  db_get_options_subnet()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("assignnodetoasset.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,22 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| $comments = sanitize($_GET['comments']); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("comments", $lang['lang_comments_' . $comments]); |  | ||||||
| 
 |  | ||||||
| $smarty->display("comments.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,75 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $location_parent = sanitize($_GET['location_parent']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| // *************   <option value="0">{$lang_option_none}</option> |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT location_id AS id, location_name AS name, |  | ||||||
|             location_parent AS parent, location_sort AS sort |  | ||||||
|         FROM location |  | ||||||
|         ORDER BY location_parent, location_sort, location_name"; |  | ||||||
| $sth = $dbh->query($sql); |  | ||||||
| $locations = $sth->fetchAll(); |  | ||||||
| 
 |  | ||||||
| if (count($locations) > 0) { |  | ||||||
|     foreach ($locations AS $location) { |  | ||||||
|         $location_names[$location['id']] = $location['name']; |  | ||||||
|         $parents[$location['parent']][] = $location['id']; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // look for parents |  | ||||||
| // function to look for parents and create a new array for every child |  | ||||||
| function location($parents, $parent = 0) { |  | ||||||
|     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; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|     return $children; |  | ||||||
| } |  | ||||||
| 		 |  | ||||||
| // recursive children check to template |  | ||||||
| function checkchildren($locations, $level) { |  | ||||||
| 	global $location_options; |  | ||||||
| 	global $location_names; |  | ||||||
| 	global $location_parent; |  | ||||||
| 
 |  | ||||||
| 	foreach ($locations as $parent=>$child) { |  | ||||||
| 		$row = str_repeat("-  ", $level) . $location_names[$parent]; |  | ||||||
| 		$location_options[$parent] = $row; |  | ||||||
| 		if (isset($child)) { |  | ||||||
| 			checkchildren($child, $level+1); |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| $tree = location($parents); |  | ||||||
| 
 |  | ||||||
| // create tree option list |  | ||||||
| $location_options = array(0 => '-'); |  | ||||||
| checkchildren($tree, 0); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("location_options", $location_options); |  | ||||||
| $smarty->assign("location_parent", $location_parent); |  | ||||||
| 	 |  | ||||||
| $smarty->display("locationadd.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,24 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $location_id = sanitize($_GET['location_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $sql = "SELECT location_id AS id, location_name AS name FROM location WHERE location_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| $smarty->assign("location", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("locationdel.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,98 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $location_id = sanitize($_GET['location_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| // location			 |  | ||||||
| $sql = "SELECT location_id AS id, location_name AS name, location_parent AS parent, |  | ||||||
|             location_info AS info, location_sort AS sort |  | ||||||
|         FROM location |  | ||||||
|         WHERE location_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| $location = $sth->fetch(PDO::FETCH_OBJ); |  | ||||||
| 		 |  | ||||||
| $location_parent = $location->parent; |  | ||||||
| 
 |  | ||||||
| $smarty->assign("location", $location); |  | ||||||
| 
 |  | ||||||
| /*$smarty->assign("location_id", $location_id); |  | ||||||
| $smarty->assign("location_name", $location[0]['location_name']); |  | ||||||
| $smarty->assign("location_info", $location[0]['location_info']); |  | ||||||
| $smarty->assign("location_sort", $location[0]['location_sort']); */ |  | ||||||
| 
 |  | ||||||
| // parent location |  | ||||||
| $sql = "SELECT location_id, location_name, location_parent |  | ||||||
|         FROM location |  | ||||||
|         WHERE location_id != ? |  | ||||||
|         ORDER BY location_name"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| 		 |  | ||||||
| $locations = $sth->fetchAll(); |  | ||||||
| 
 |  | ||||||
| $location_counter = count($locations); |  | ||||||
| 			 |  | ||||||
| $smarty->assign("location_counter", $location_counter); |  | ||||||
| 			 |  | ||||||
| // any loactions? |  | ||||||
| if ($location_counter>0) { |  | ||||||
| 	foreach($locations AS $location) { |  | ||||||
| 		$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; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // recursive children check to template |  | ||||||
| function checkchildren($locations, $level) { |  | ||||||
| 	global $location_options; |  | ||||||
| 	global $location_names; |  | ||||||
| 	global $location_parent; |  | ||||||
| 	 |  | ||||||
| 	foreach ($locations as $parent=>$child) { |  | ||||||
| 		$row = str_repeat("-  ", $level) . $location_names[$parent]; |  | ||||||
| 		$location_options[$parent] = $row; |  | ||||||
| 		if(isset($child)) { |  | ||||||
| 			checkchildren($child, $level+1); |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 		 |  | ||||||
| $tree = location($parents); |  | ||||||
| $location_options = array(0 => '-'); |  | ||||||
| checkchildren($tree, 0); |  | ||||||
| $smarty->assign("location_options", $location_options); |  | ||||||
| $smarty->assign("location_parent", $location_parent); |  | ||||||
| 
 |  | ||||||
| $smarty->display("locationedit.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,28 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $location_id = sanitize($_GET['location_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $sql = "SELECT location_id AS id, location_name AS name |  | ||||||
|         FROM location |  | ||||||
|         WHERE location_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| $smarty->assign("location", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("subnet_options", db_get_options_subnet()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("locationsubnetadd.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,44 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $location_id = sanitize($_GET['location_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| // location		 |  | ||||||
| $sql = "SELECT location_id AS id, location_name AS name |  | ||||||
|         FROM location |  | ||||||
|         WHERE location_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| $smarty->assign("location", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 	 |  | ||||||
| 	 |  | ||||||
| // subnet |  | ||||||
| $sql = "SELECT |  | ||||||
| 		s.subnet_id, |  | ||||||
| 		s.subnet_address, |  | ||||||
| 		s.subnet_mask |  | ||||||
| 	FROM |  | ||||||
| 		subnetlocation AS l LEFT JOIN subnet AS s USING (subnet_id) |  | ||||||
| 	WHERE |  | ||||||
| 		l.location_id=? |  | ||||||
| 	ORDER BY |  | ||||||
| 		INET_ATON(s.subnet_address)"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| 
 |  | ||||||
| $smarty->assign($sth->fetchAll()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("locationsubnetdel.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,26 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $location_id = sanitize($_GET['location_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT location_id AS id, location_name AS name |  | ||||||
|         FROM location |  | ||||||
|         WHERE location_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| $smarty->assign("location", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 	 |  | ||||||
| $smarty->display("locationsubnetedit.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,67 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $location_id = sanitize($_GET['location_id']); |  | ||||||
| if ((isset($_GET['id'])) ? $id = sanitize($_GET['id']) : $id = ''); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| 	 |  | ||||||
| // base location |  | ||||||
| $sql = "SELECT location_id AS id, location_name AS name, |  | ||||||
|             location_parent AS parent_id, location_info AS info, |  | ||||||
|             CONCAT('locationview.php?location_id=', location_id) AS url |  | ||||||
| 	    FROM location |  | ||||||
| 	    WHERE location_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| $location = $sth->fetch(PDO::FETCH_OBJ); |  | ||||||
| $smarty->assign("location", $location); |  | ||||||
| 
 |  | ||||||
| // crumbs |  | ||||||
| $crumbs[] = $location; |  | ||||||
| $sql = "SELECT location_id AS id, location_name AS name, |  | ||||||
|             location_parent AS parent_id, |  | ||||||
|             CONCAT('locationview.php?location_id=', location_id) AS url |  | ||||||
| 	    FROM location |  | ||||||
| 	    WHERE location_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| while ($crumbs[0]->parent_id != 0) { |  | ||||||
| 	$sth->execute([$crumbs[0]->parent_id]); |  | ||||||
| 	$result = $sth->fetch(PDO::FETCH_OBJ); |  | ||||||
| 	array_unshift($crumbs, $result); |  | ||||||
| } |  | ||||||
| $smarty->assign("crumbs", $crumbs); |  | ||||||
| 
 |  | ||||||
| // sublocations		 |  | ||||||
| $sql = "SELECT location_id AS sublocation_id, location_name AS sublocation_name, |  | ||||||
|             LEFT(location_info, 40) AS info_short, |  | ||||||
|             CHAR_LENGTH(location_info) AS info_length |  | ||||||
|         FROM location |  | ||||||
|         WHERE location_parent=? |  | ||||||
|         ORDER BY location_name"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| $smarty->assign("sublocations", $sth->fetchAll()); |  | ||||||
| 	 |  | ||||||
| // subnets |  | ||||||
| $sql = "SELECT s.subnet_id, s.subnet_address, s.subnet_mask |  | ||||||
|         FROM subnet AS s LEFT JOIN subnetlocation AS l USING (subnet_id) |  | ||||||
| 	    WHERE l.location_id=? |  | ||||||
| 	    ORDER BY INET_ATON(s.subnet_address)"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$location_id]); |  | ||||||
| $smarty->assign("subnets", $sth->fetchAll()); |  | ||||||
| 	 |  | ||||||
| $smarty->display("locationview.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,65 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 	 |  | ||||||
| $node_id = sanitize($_GET['node_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 	 |  | ||||||
| // node_ext |  | ||||||
| $sql = "SELECT node_ip AS node_ip_ext |  | ||||||
|         FROM node |  | ||||||
|         WHERE node_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$node_id]); |  | ||||||
| 
 |  | ||||||
| $node = $sth->fetch(PDO::FETCH_OBJ); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("node_id_ext", $node_id); |  | ||||||
| $smarty->assign("node_ip_ext", $node->node_ip_ext); |  | ||||||
| 
 |  | ||||||
| // node_int |  | ||||||
| $sql = "SELECT |  | ||||||
| 		a.asset_name, |  | ||||||
| 		n.node_id AS node_id_int, |  | ||||||
| 		n.node_ip AS node_ip_int |  | ||||||
| 	FROM |  | ||||||
| 		asset AS a LEFT JOIN node AS n USING (asset_id) |  | ||||||
| 	WHERE |  | ||||||
| 		n.node_id NOT IN ( |  | ||||||
| 			SELECT |  | ||||||
| 				nat_int |  | ||||||
| 			FROM |  | ||||||
| 				nat |  | ||||||
| 			WHERE |  | ||||||
| 				nat_ext=? |  | ||||||
| 		) |  | ||||||
| 		AND n.node_id!=? |  | ||||||
| 	ORDER BY |  | ||||||
| 		INET_ATON(n.node_ip)"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$node_id, $node_id]); |  | ||||||
| 
 |  | ||||||
| $nodes = $sth->fetchAll(); |  | ||||||
| 
 |  | ||||||
| foreach ($nodes as $rec) { |  | ||||||
|      $node_options[$rec['node_id_int']] = $rec['node_ip_int'] . '/' . $rec['asset_name']; |  | ||||||
| } |  | ||||||
| $smarty->assign("node_options", $node_options); |  | ||||||
| 
 |  | ||||||
| $nat_type_options[1] = $lang['lang_nat_type_1']; |  | ||||||
| $nat_type_options[2] = $lang['lang_nat_type_2']; |  | ||||||
| $nat_type_options[3] = $lang['lang_nat_type_3']; |  | ||||||
| $smarty->assign("nat_type_options", $nat_type_options); |  | ||||||
| 
 |  | ||||||
| $smarty->display("natadd.tpl"); |  | ||||||
| 	 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,40 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $node_id = sanitize($_GET['node_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| // node_ext |  | ||||||
| $sth = $dbh->prepare("SELECT node_id AS id_ext, node_ip AS ip_ext FROM node WHERE node_id=?"); |  | ||||||
| $sth->execute([$node_id]); |  | ||||||
| $smarty->assign("node", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| // options |  | ||||||
| $sql = "SELECT x.nat_id, n.node_ip, a.asset_name |  | ||||||
| 	FROM nat AS x |  | ||||||
| 	    LEFT JOIN node AS n ON (x.nat_int=n.node_id) |  | ||||||
| 	    LEFT JOIN asset AS a USING (asset_id)  |  | ||||||
| 	WHERE x.nat_ext=? |  | ||||||
| 	ORDER BY INET_ATON(n.node_ip)"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$node_id]); |  | ||||||
| $nats = $sth->fetchAll(); |  | ||||||
| 
 |  | ||||||
| $options = array(); |  | ||||||
| foreach ($nats as $rec) { |  | ||||||
|     $options[$rec['nat_id']] = $rec['node_ip'] . '/' . $rec['asset_name']; |  | ||||||
| } |  | ||||||
| $smarty->assign("nat_options", $options); |  | ||||||
| $smarty->display("natdel.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,24 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $node_id = sanitize($_GET['node_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT node_id AS id, node_ip AS ip FROM node WHERE node.node_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$node_id]); |  | ||||||
| $smarty->assign("node", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("natedit.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,27 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| 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 = ''); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("user_dns1suffix", $_SESSION['suser_dns1suffix']); |  | ||||||
| $smarty->assign("user_dns2suffix", $_SESSION['suser_dns2suffix']); |  | ||||||
| $smarty->assign("node_ip", $node_ip); |  | ||||||
| $smarty->assign("subnet_id", $subnet_id); |  | ||||||
| 	 |  | ||||||
| $smarty->assign("subnet_options", db_get_options_subnet()); |  | ||||||
| $smarty->assign("assetclass_options", db_get_options_assetclass()); |  | ||||||
| $smarty->display("nodeadd.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,24 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $node_id = sanitize($_GET['node_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT node_id AS id, node_ip AS ip, asset_id FROM node WHERE node_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$node_id]); |  | ||||||
| $smarty->assign("node", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 	 |  | ||||||
| $smarty->display("nodedel.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,32 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $node_id = sanitize($_GET['node_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT node_id AS id, node_ip AS ip, node_mac AS mac, |  | ||||||
|             node_dns1 AS dns1, node_dns2 AS dns2, node_info AS info, |  | ||||||
|             zone_id, asset_id, subnet_id |  | ||||||
| 	FROM node |  | ||||||
| 	WHERE node_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$node_id]); |  | ||||||
| $smarty->assign("node", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("asset_options", db_get_options_asset()); |  | ||||||
| $smarty->assign("subnet_options", db_get_options_subnet()); |  | ||||||
| $smarty->assign("zone_options", db_get_options_zone('(keine)')); |  | ||||||
| 
 |  | ||||||
| $smarty->display("nodeedit.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,89 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| if (isset($_GET['node_id']) && (!empty($_GET['node_id']))) { |  | ||||||
|     $node_id = sanitize($_GET['node_id']); |  | ||||||
| } else { |  | ||||||
|     // redirect to error page |  | ||||||
|     header_location("comments.php?comments=error"); |  | ||||||
|     exit; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| // node |  | ||||||
| $sql = "SELECT |  | ||||||
|             asset.asset_id, |  | ||||||
|             asset.asset_name, |  | ||||||
|             node.node_id AS id, |  | ||||||
|             node.node_ip AS ip, |  | ||||||
|             node.node_mac AS mac, |  | ||||||
|             node.node_dns1 AS dns1, |  | ||||||
|             node.node_dns2 AS dns2, |  | ||||||
|             node.node_info AS info, |  | ||||||
|             node.node_type AS type, |  | ||||||
|             subnet.subnet_id, |  | ||||||
|             subnet.subnet_address, |  | ||||||
|             subnet.subnet_mask, |  | ||||||
|             zone.zone_origin |  | ||||||
|         FROM |  | ||||||
|             node |  | ||||||
|             LEFT JOIN asset USING (asset_id) |  | ||||||
|             LEFT JOIN subnet USING (subnet_id) |  | ||||||
|             LEFT JOIN zone USING (zone_id) |  | ||||||
|         WHERE |  | ||||||
|             node.node_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$node_id]); |  | ||||||
| 
 |  | ||||||
| $node = $sth->fetch(PDO::FETCH_OBJ); |  | ||||||
| $node->mac = write_mac($node->mac); |  | ||||||
| $smarty->assign("node", $node); |  | ||||||
| 
 |  | ||||||
| // nat |  | ||||||
| $sql = "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, |  | ||||||
|             node_int.node_id AS node_id_int, |  | ||||||
|             node_ext.node_id AS node_id_ext |  | ||||||
|         FROM |  | ||||||
|             asset AS asset_ext, |  | ||||||
|             asset AS asset_int, |  | ||||||
|             nat, |  | ||||||
|             node AS node_ext, |  | ||||||
|             node AS 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)"; |  | ||||||
| 
 |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute(['node_id' => $node_id]); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("natrules", $sth->fetchAll()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("nodeview.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,99 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $smarty->assign("language", $language); |  | ||||||
| 
 |  | ||||||
| 	 |  | ||||||
| if($_SESSION['suser_menu_assets']=='on') { |  | ||||||
| 	$user_menu_assets_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_assets_checked = ''; |  | ||||||
| } |  | ||||||
| // assetclasses |  | ||||||
| if($_SESSION['suser_menu_assetclasses']=='on') { |  | ||||||
| 	$user_menu_assetclasses_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_assetclasses_checked = ''; |  | ||||||
| } |  | ||||||
| // assetclassgroups |  | ||||||
| if($_SESSION['suser_menu_assetclassgroups']=='on') { |  | ||||||
| 	$user_menu_assetclassgroups_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_assetclassgroups_checked = ''; |  | ||||||
| } |  | ||||||
| // cables |  | ||||||
| if($_SESSION['suser_menu_cables']=='on') { |  | ||||||
| 	$user_menu_cables_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_cables_checked = ''; |  | ||||||
| } |  | ||||||
| // locations |  | ||||||
| if($_SESSION['suser_menu_locations']=='on') { |  | ||||||
| 	$user_menu_locations_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_locations_checked = ''; |  | ||||||
| } |  | ||||||
| // nodes |  | ||||||
| if($_SESSION['suser_menu_nodes']=='on') { |  | ||||||
| 	$user_menu_nodes_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_nodes_checked = ''; |  | ||||||
| } |  | ||||||
| // subnets |  | ||||||
| if($_SESSION['suser_menu_subnets']=='on') { |  | ||||||
| 	$user_menu_subnets_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_subnets_checked = ''; |  | ||||||
| } |  | ||||||
| // vlans |  | ||||||
| if($_SESSION['suser_menu_vlans']=='on') { |  | ||||||
| 	$user_menu_vlans_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_vlans_checked = ''; |  | ||||||
| } |  | ||||||
| // zones |  | ||||||
| if($_SESSION['suser_menu_zones']=='on') { |  | ||||||
| 	$user_menu_zones_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_menu_zones_checked = ''; |  | ||||||
| } |  | ||||||
| // tooltips |  | ||||||
| if($_SESSION['suser_tooltips']=='on') { |  | ||||||
| 	$user_tooltips_checked = 'checked'; |  | ||||||
| } else { |  | ||||||
| 	$user_tooltips_checked = ''; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| $smarty->assign("user_id", $_SESSION['suser_id']); |  | ||||||
| $smarty->assign("user_imagesize", $_SESSION['suser_imagesize']); |  | ||||||
| $smarty->assign("user_imagecount", $_SESSION['suser_imagecount']); |  | ||||||
| $smarty->assign("user_mac", $_SESSION['suser_mac']); |  | ||||||
| $smarty->assign("user_dateformat", $_SESSION['suser_dateformat']); |  | ||||||
| $smarty->assign("user_dns1suffix", $_SESSION['suser_dns1suffix']); |  | ||||||
| $smarty->assign("user_dns2suffix", $_SESSION['suser_dns2suffix']); |  | ||||||
| $smarty->assign("user_language", $_SESSION['suser_language']); |  | ||||||
| $smarty->assign("user_menu_assets_checked", $user_menu_assets_checked); |  | ||||||
| $smarty->assign("user_menu_assetclasses_checked", $user_menu_assetclasses_checked); |  | ||||||
| $smarty->assign("user_menu_assetclassgroups_checked", $user_menu_assetclassgroups_checked); |  | ||||||
| $smarty->assign("user_menu_cables_checked", $user_menu_cables_checked); |  | ||||||
| $smarty->assign("user_menu_locations_checked", $user_menu_locations_checked); |  | ||||||
| $smarty->assign("user_menu_nodes_checked", $user_menu_nodes_checked); |  | ||||||
| $smarty->assign("user_menu_subnets_checked", $user_menu_subnets_checked); |  | ||||||
| $smarty->assign("user_menu_vlans_checked", $user_menu_vlans_checked); |  | ||||||
| $smarty->assign("user_menu_zones_checked", $user_menu_zones_checked); |  | ||||||
| $smarty->assign("user_tooltips_checked", $user_tooltips_checked); |  | ||||||
| 
 |  | ||||||
| $smarty->display("optionseditdisplay.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,16 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $smarty->display("optionseditpassword.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,815 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| if ($_SERVER['REQUEST_METHOD'] != "POST") { |  | ||||||
|     header_location("comments.php?comments=" . $comments); |  | ||||||
|     exit; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| if (isset($_POST['redirect'])) { |  | ||||||
|     switch ($_POST['redirect']) { |  | ||||||
| 
 |  | ||||||
|         case ("assigniptonode") : |  | ||||||
|             $node_ip = sanitize($_POST['node_ip']); |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             switch ($_POST['action']) { |  | ||||||
|                 case ("assignnodetoasset") : |  | ||||||
|                     header_location("assignnodetoasset.php?subnet_id=" . $subnet_id . "&node_ip=" . $node_ip); |  | ||||||
|                 break; |  | ||||||
|                 case ("nodeadd") : |  | ||||||
|                     header_location("nodeadd.php?subnet_id=" . $subnet_id . "&node_ip=" . $node_ip); |  | ||||||
|                 break; |  | ||||||
|             } |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("locationsubnet") : |  | ||||||
|             $location_id = sanitize($_POST['location_id']); |  | ||||||
| 
 |  | ||||||
|             switch ($_POST['action']) { |  | ||||||
|                 case ("locationsubnetadd") : |  | ||||||
|                     header_location("locationsubnetadd.php?location_id=" . $location_id); |  | ||||||
|                 break; |  | ||||||
|                 case ("locationsubnetdel") : |  | ||||||
|                     header_location("locationsubnetdel.php?location_id=" . $location_id); |  | ||||||
|                 break; |  | ||||||
|             } |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("nat") : |  | ||||||
|             $node_id = sanitize($_POST['node_id']); |  | ||||||
| 
 |  | ||||||
|             switch ($_POST['action']) { |  | ||||||
|                 case ("natadd") : |  | ||||||
|                     header_location("natadd.php?node_id=" . $node_id); |  | ||||||
|                     break; |  | ||||||
|                 case ("natdel") : |  | ||||||
|                     header_location("natdel.php?node_id=" . $node_id); |  | ||||||
|                     break; |  | ||||||
|             } |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnetlocation") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             switch ($_POST['action']) { |  | ||||||
|                 case ("subnetlocationadd") : |  | ||||||
|                     header_location("subnetlocationadd.php?subnet_id=" . $subnet_id); |  | ||||||
|                     break; |  | ||||||
|                 case ("subnetlocationdel") : |  | ||||||
|                     header_location("subnetlocationdel.php?subnet_id=" . $subnet_id); |  | ||||||
|                     break; |  | ||||||
|             } |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnetvlan") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             switch ($_POST['action']) { |  | ||||||
|                 case ("subnetvlanadd") : |  | ||||||
|                     header_location("subnetvlanadd.php?subnet_id=" . $subnet_id); |  | ||||||
|                     break; |  | ||||||
|                 case ("subnetvlandel") : |  | ||||||
|                     header_location("subnetvlandel.php?subnet_id=" . $subnet_id); |  | ||||||
|                     break; |  | ||||||
|             } |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("vlansubnet") : |  | ||||||
|             $vlan_id = sanitize($_POST['vlan_id']); |  | ||||||
| 
 |  | ||||||
|             switch ($_POST['action']) { |  | ||||||
|                 case ("vlansubnetadd") : |  | ||||||
|                     header_location("vlansubnetadd.php?vlan_id=" . $vlan_id); |  | ||||||
|                     break; |  | ||||||
|                 case ("vlansubnetdel") : |  | ||||||
|                     header_location("vlansubnetdel.php?vlan_id=" . $vlan_id); |  | ||||||
|                     break; |  | ||||||
|             } |  | ||||||
|             break; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| if (isset($_POST['add'])) { |  | ||||||
|     switch ($_POST['add']) { |  | ||||||
| 
 |  | ||||||
|         case ("asset") : |  | ||||||
|             $name = sanitize($_POST['asset_name']); |  | ||||||
|             $hostname = sanitize($_POST['asset_hostname']); |  | ||||||
|             $assetclass_id = sanitize($_POST['assetclass_id']); |  | ||||||
|             $info = sanitize($_POST['asset_info']); |  | ||||||
|             $intf = sanitize($_POST['asset_intf']); |  | ||||||
|             $asset_type = sanitize($_POST['asset_type']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO asset |  | ||||||
|                         (asset_name, asset_hostname, assetclass_id, asset_info, |  | ||||||
|                          asset_intf, asset_type) |  | ||||||
|                     VALUE  |  | ||||||
|                         (?, ?, ?, ?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$name, $hostname, $assetclass_id, $info, $intf, $asset_type]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetview.php?asset_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("assetclass") : |  | ||||||
|             $name = sanitize($_POST['assetclass_name']); |  | ||||||
|             $description = sanitize($_POST['assetclass_description']); |  | ||||||
|             $group_id = sanitize($_POST['assetclassgroup_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO assetclass |  | ||||||
|                           (assetclass_name, assetclass_description, assetclassgroup_id) |  | ||||||
|                 VALUE |  | ||||||
|                     (?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$name, $description, $group_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetclassview.php?assetclass_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("assetclassgroup") : |  | ||||||
|             $name = sanitize($_POST['acg_name']); |  | ||||||
|             $color = preg_replace("|[^a-zA-Z0-9]|", "", strtoupper(sanitize($_POST['acg_color']))); |  | ||||||
|             $desc = sanitize($_POST['acg_description']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO assetclassgroup |  | ||||||
|                         (assetclassgroup_name, assetclassgroup_color, assetclassgroup_description) |  | ||||||
|                     VALUE |  | ||||||
|                         (?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$name, $color, $desc]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetclassgroupview.php?assetclassgroup_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("assignnodetoasset") : |  | ||||||
|             $node_ip = sanitize($_POST['node_ip']); |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
|             $asset_id = sanitize($_POST['asset_id']); |  | ||||||
|             $node_mac = strip_mac(sanitize($_POST['node_mac'])); |  | ||||||
|             if ((!empty($_POST['node_dns1']) && isset($_POST['node_dns1suffix'])) ? $node_dns1 = sanitize($_POST['node_dns1']) . $config_dns1suffix : $node_dns1 = sanitize($_POST['node_dns1'])); |  | ||||||
|             if ((!empty($_POST['node_dns2']) && isset($_POST['node_dns2suffix'])) ? $node_dns2 = sanitize($_POST['node_dns2']) . $config_dns2suffix : $node_dns2 = sanitize($_POST['node_dns2'])); |  | ||||||
|             $node_info = $_POST['node_info']; |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO node ( |  | ||||||
|                         node_ip, |  | ||||||
|                         node_mac, |  | ||||||
|                         node_dns1, |  | ||||||
|                         node_dns2, |  | ||||||
|                         subnet_id, |  | ||||||
|                         asset_id, |  | ||||||
|                         node_info) |  | ||||||
|                     VALUE |  | ||||||
|                         (?, ?, ?, ?, ?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$node_ip, $node_mac, $node_dns1, $node_dns2, |  | ||||||
|                            $subnet_id, $asset_id, $node_info]); |  | ||||||
| 
 |  | ||||||
|             header_location("nodeview.php?node_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("assignlocationtosubnet") : |  | ||||||
|             $location_id = sanitize($_POST['location_id']); |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO subnetlocation (location_id, subnet_id) |  | ||||||
|                     VALUE (?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$location_id, $subnet_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("Location: location.php?location_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("assignsubnettovlan") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
|             $vlan_id = sanitize($_POST['vlan_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE subnet SET vlan_id=? WHERE subnet_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$vlan_id, $subnet_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("subnetview.php?subnet_id=" . $subnet_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("location") : |  | ||||||
|             $name = sanitize($_POST['location_name']); |  | ||||||
|             $parent = sanitize($_POST['location_parent']); |  | ||||||
|             $info = sanitize($_POST['location_info']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO location ( |  | ||||||
|                         location_name, location_parent, location_info |  | ||||||
|                     ) |  | ||||||
|                     VALUE (?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$name, $parent, $info]); |  | ||||||
| 
 |  | ||||||
|             header_location("locationview.php?location_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("locationsubnet") : |  | ||||||
|             $location_id = sanitize($_POST['location_id']); |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO subnetlocation (location_id, subnet_id) |  | ||||||
|                     VALUE (?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$location_id, $subnet_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("locationview.php?location_id=" . $location_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("nat") : |  | ||||||
|             $node_id_ext = sanitize($_POST['node_id_ext']); |  | ||||||
|             $node_id_int = sanitize($_POST['node_id_int']); |  | ||||||
|             $nat_type = sanitize($_POST['nat_type']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO nat (nat_ext, nat_int, nat_type) |  | ||||||
|                     VALUE (?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$node_id_ext, $node_id_int, $nat_type]); |  | ||||||
| 
 |  | ||||||
|             header_location("nodeview.php?node_id=" . $node_id_ext); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("node") : |  | ||||||
|             $asset_name = sanitize($_POST['asset_name']); |  | ||||||
|             $asset_hostname = sanitize($_POST['asset_hostname']); |  | ||||||
|             $assetclass_id = sanitize($_POST['assetclass_id']); |  | ||||||
|             $ip = sanitize($_POST['node_ip']); |  | ||||||
|             $mac = strip_mac(sanitize($_POST['node_mac'])); |  | ||||||
|             if ((!empty($_POST['node_dns1']) && isset($_POST['dns1suffix'])) ? $dns1 = sanitize($_POST['node_dns1']) . $config_dns1suffix : $dns1 = sanitize($_POST['node_dns1'])); |  | ||||||
|             if ((!empty($_POST['node_dns2']) && isset($_POST['dns2suffix'])) ? $dns2 = sanitize($_POST['node_dns2']) . $config_dns2suffix : $dns2 = sanitize($_POST['node_dns2'])); |  | ||||||
|             $node_info = sanitize($_POST['node_info']); |  | ||||||
|             $subnet_id = $_POST['subnet_id']; |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO asset (asset_name, asset_hostname, assetclass_id) |  | ||||||
|                        VALUE (?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$asset_name, $asset_hostname, $assetclass_id]); |  | ||||||
|             $asset_id = $dbh->lastInsertId(); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO node ( |  | ||||||
|                         node_ip, node_mac, node_dns1, node_dns2, node_info, |  | ||||||
|                         subnet_id, asset_id |  | ||||||
|                     ) |  | ||||||
|                     VALUE (?, ?, ?, ?, ?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$ip, $mac, $dns1, $dns2, $node_info, $subnet_id, $asset_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("nodeview.php?node_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnet") : |  | ||||||
|             $subnet_address= sanitize($_POST['subnet_address']); |  | ||||||
|             $subnet_mask = sanitize($_POST['subnet_mask']); |  | ||||||
|             $subnet_info = sanitize($_POST['subnet_info']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO subnet (subnet_address, subnet_mask, subnet_info) |  | ||||||
|                     VALUE (?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$subnet_address, $subnet_mask, $subnet_info]); |  | ||||||
| 
 |  | ||||||
|             header_location("subnetview.php?subnet_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnetlocation") : |  | ||||||
|             $location_id = sanitize($_POST['location_id']); |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO subnetlocation (location_id, subnet_id) |  | ||||||
|                     VALUE (?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$location_id, $subnet_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("subnetview.php?subnet_id=" . $subnet_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnetvlan") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
|             $vlan_id = sanitize($_POST['vlan_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO subnetvlan (subnet_id, vlan_id) |  | ||||||
|                     VALUE (?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$subnet_id, $vlan_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("subnetview.php?subnet_id=" . $subnet_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("user") : |  | ||||||
|             $user_name = strtolower(sanitize($_POST['user_name'])); |  | ||||||
|             $user_displayname = sanitize($_POST['user_displayname']); |  | ||||||
|             $user_password = md5(sanitize($_POST['user_password'])); |  | ||||||
| 
 |  | ||||||
|             // check if username exists |  | ||||||
|             $sth = $dbh->prepare("SELECT COUNT(*) FROM user WHERE user_name=?"); |  | ||||||
|             $sth->execute([$user_name]); |  | ||||||
| 
 |  | ||||||
|             if ($sth->fetchColumn() == 0) { |  | ||||||
|                 $sql = "INSERT INTO user (user_name, user_displayname, user_pass) |  | ||||||
|                         VALUE (?, ?, ?)"; |  | ||||||
|                 $sth = $dbh->prepare($sql); |  | ||||||
|                 $sth->execute([$user_name, $user_displayname, $user_password]); |  | ||||||
| 
 |  | ||||||
|                 header_location("userview.php?user_id=" . $dbh->lastInsertId()); |  | ||||||
|                 break; |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             $comments = "usernameinuse"; |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("vlan") : |  | ||||||
|             $vlan_name = sanitize($_POST['vlan_name']); |  | ||||||
|             $vlan_number = sanitize($_POST['vlan_number']); |  | ||||||
|             $vlan_info = sanitize($_POST['vlan_info']); |  | ||||||
|             $vlan_color = sanitize($_POST['vlan_color']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO vlan (vlan_name, vlan_number, vlan_color, vlan_info) |  | ||||||
|                     VALUE (?, ?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$vlan_name, $vlan_number, $vlan_color, $vlan_info]); |  | ||||||
| 
 |  | ||||||
|             header_location("vlanview.php?vlan_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("vlansubnet") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
|             $vlan_id = sanitize($_POST['vlan_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO subnetvlan (subnet_id, vlan_id) |  | ||||||
|                     VALUE (?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$subnet_id, $vlan_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("vlanview.php?vlan_id=" . $vlan_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("zone") : |  | ||||||
|             $zone_origin = sanitize($_POST['zone_origin']); |  | ||||||
|             $zone_ttl_default = sanitize($_POST['zone_ttl_default']); |  | ||||||
|             $zone_soa = sanitize($_POST['zone_soa']); |  | ||||||
|             $zone_hostmaster = sanitize($_POST['zone_hostmaster']); |  | ||||||
|             $zone_refresh = sanitize($_POST['zone_refresh']); |  | ||||||
|             $zone_retry = sanitize($_POST['zone_retry']); |  | ||||||
|             $zone_expire = sanitize($_POST['zone_expire']); |  | ||||||
|             $zone_ttl = sanitize($_POST['zone_ttl']); |  | ||||||
|             $zone_serial = sanitize($_POST['zone_serial']); |  | ||||||
|             $zone_ns1 = sanitize($_POST['zone_ns1']); |  | ||||||
|             $zone_ns2 = sanitize($_POST['zone_ns2']); |  | ||||||
|             $zone_ns3 = sanitize($_POST['zone_ns3']); |  | ||||||
|             $zone_mx1 = sanitize($_POST['zone_mx1']); |  | ||||||
|             $zone_mx2 = sanitize($_POST['zone_mx2']); |  | ||||||
|             $zone_info = sanitize($_POST['zone_info']); |  | ||||||
| 
 |  | ||||||
|             $sql = "INSERT INTO zone ( |  | ||||||
|                         zone_origin, zone_ttl_default, zone_soa, zone_hostmaster, |  | ||||||
|                         zone_refresh, zone_retry, zone_expire, zone_ttl, zone_serial, |  | ||||||
|                         zone_ns1, zone_ns2, zone_ns3, zone_mx1, zone_mx2, zone_info) |  | ||||||
|                     VALUE (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$zone_origin, $zone_ttl_default, $zone_soa, $zone_hostmaster, |  | ||||||
|                            $zone_refresh, $zone_retry, $zone_expire, $zone_ttl, $zone_serial, |  | ||||||
|                         $zone_ns1, $zone_ns2, $zone_ns3, $zone_mx1, $zone_mx2, $zone_info]); |  | ||||||
| 
 |  | ||||||
|             header_location("zoneview.php?zone_id=" . $dbh->lastInsertId()); |  | ||||||
|             break; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| if (isset($_POST['del'])) { |  | ||||||
|     switch ($_POST['del']) { |  | ||||||
| 
 |  | ||||||
|         case ("asset") : |  | ||||||
|             $asset_id = sanitize($_POST['asset_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM asset WHERE asset_id=?"); |  | ||||||
|             $sth->execute([$asset_id]); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM node WHERE asset_id=?"); |  | ||||||
|             $sth->execute([$asset_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("asset.php"); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("assetclass") : |  | ||||||
|             $assetclass_id = sanitize($_POST['assetclass_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM assetclass WHERE assetclass_id=?"); |  | ||||||
|             $sth->execute([$assetclass_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetclass.php"); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("assetclassgroup") : |  | ||||||
|             $assetclassgroup_id = sanitize($_POST['assetclassgroup_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM assetclassgroup WHERE assetclassgroup_id=?"); |  | ||||||
|             $sth->execute([$assetclassgroup_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetclassgroup.php"); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("location") : |  | ||||||
|             $location_id = sanitize($_POST['location_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM location WHERE location_id=?"); |  | ||||||
|             $sth->execute([$location_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("location.php"); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("locationsubnet") : |  | ||||||
|             $location_id = sanitize($_POST['location_id']); |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM subnetlocation WHERE location_id=? AND subnet_id=?"); |  | ||||||
|             $sth->execute([$location_id, $subnet_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("locationview.php?location_id=" . $location_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("nat") : |  | ||||||
|             $nat_id = sanitize($_POST['nat_id']); |  | ||||||
|             $node_id_ext = sanitize($_POST['node_id_ext']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM nat WHERE nat_id=?"); |  | ||||||
|             $sth->execute([$nat_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("nodeview.php?node_id=" . $node_id_ext); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("node") : |  | ||||||
|             $node_id = sanitize($_POST['node_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM node WHERE node_id=?"); |  | ||||||
|             $sth->execute([$node_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetview.php?asset_id=" . $asset_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnet") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM subnet WHERE subnet_id=?"); |  | ||||||
|             $sth->execute([$subnet_id]); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM node WHERE subnet_id=?"); |  | ||||||
|             $sth->execute([$subnet_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("subnet.php"); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnetlocation") : |  | ||||||
|             $location_id = sanitize($_POST['location_id']); |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM subnetlocation WHERE location_id=? AND subnet_id=?"); |  | ||||||
|             $sth->execute([$location_id, $subnet_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("subnetview.php?subnet_id=" . $subnet_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnetvlan") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
|             $vlan_id = sanitize($_POST['vlan_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM subnetvlan WHERE subnet_id=? AND vlan_id=?"); |  | ||||||
|             $sth->execute([$subnet_id, $vlan_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("subnetview.php?subnet_id=" . $subnet_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("user") : |  | ||||||
|             $user_id = sanitize($_POST['user_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM user WHERE user_id=?"); |  | ||||||
|             $sth->execute([$user_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("user.php"); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("vlan") : |  | ||||||
|             $vlan_id = sanitize($_POST['vlan_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM vlan WHERE vlan_id=?"); |  | ||||||
|             $sth->execute([$vlan_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("vlan.php"); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("vlansubnet") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
|             $vlan_id = sanitize($_POST['vlan_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM subnetvlan WHERE subnet_id=? AND vlan_id=?"); |  | ||||||
|             $sth->execute([$subnet_id, $vlan_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("vlanview.php?vlan_id=" . $vlan_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("zone") : |  | ||||||
|             $zone_id = sanitize($_POST['zone_id']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("DELETE FROM zone WHERE zone_id=?"); |  | ||||||
|             $sth->execute([$zone_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("zone.php"); |  | ||||||
|             break; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| if (isset($_POST['edit'])) { |  | ||||||
|     switch ($_POST['edit']) { |  | ||||||
| 
 |  | ||||||
|         case ("asset") : |  | ||||||
|             $asset_id = sanitize($_POST['asset_id']); |  | ||||||
|             $asset_name = sanitize($_POST['asset_name']); |  | ||||||
|             $asset_info = sanitize($_POST['asset_info']); |  | ||||||
|             $asset_intf = sanitize($_POST['asset_intf']); |  | ||||||
|             $asset_hostname = sanitize($_POST['asset_hostname']); |  | ||||||
|             $assetclass_id = sanitize($_POST['assetclass_id']); |  | ||||||
|             $asset_type = sanitize($_POST['asset_type']); |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE asset SET |  | ||||||
|                         asset_name=?, asset_info=?, asset_hostname=?, |  | ||||||
|                         assetclass_id=?, asset_intf=?, asset_type=? |  | ||||||
|                     WHERE asset_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$asset_name, $asset_info, $asset_hostname,  |  | ||||||
|                            $assetclass_id, $asset_intf, $asset_type, |  | ||||||
|                            $asset_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetview.php?asset_id=" . $asset_id); |  | ||||||
| 
 |  | ||||||
|         case ("assetclass") : |  | ||||||
|             $id = sanitize($_POST['assetclass_id']); |  | ||||||
|             $name = sanitize($_POST['assetclass_name']); |  | ||||||
|             $description = sanitize($_POST['assetclass_description']); |  | ||||||
|             $group_id = sanitize($_POST['assetclassgroup_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE assetclass SET |  | ||||||
|                         assetclass_name=?, assetclass_description=?,  |  | ||||||
|                         assetclassgroup_id=? |  | ||||||
|                     WHERE assetclass_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$name, $description, $group_id, $id]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetclassview.php?assetclass_id=" . $id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("assetclassgroup") : |  | ||||||
|             $acg_id = sanitize($_POST['acg_id']); |  | ||||||
|             $acg_name = sanitize($_POST['acg_name']); |  | ||||||
|             $acg_desc = sanitize($_POST['acg_description']); |  | ||||||
|             $acg_color = preg_replace("|[^a-zA-Z0-9]|", "", strtoupper(sanitize($_POST['acg_color']))); |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE assetclassgroup SET |  | ||||||
|                         assetclassgroup_name=?, assetclassgroup_color=?, assetclassgroup_description=? |  | ||||||
|                     WHERE assetclassgroup_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$acg_name, $acg_color, $acg_desc, $acg_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("assetclassgroupview.php?assetclassgroup_id=" . $acg_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("location") : |  | ||||||
|             $location_id = sanitize($_POST['location_id']); |  | ||||||
|             $location_name = sanitize($_POST['location_name']); |  | ||||||
|             $location_info = sanitize($_POST['location_info']); |  | ||||||
|             $parentlocation_id = sanitize($_POST['parentlocation_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE location SET |  | ||||||
|                         location_name=?, location_parent=?, location_info=? |  | ||||||
|                 WHERE location_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$location_name, $parentlocation_id, $location_info, $location_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("locationview.php?location_id=" . $location_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("node") : |  | ||||||
|             $node_id = sanitize($_POST['node_id']); |  | ||||||
|             $asset_id = sanitize($_POST['asset_id']); |  | ||||||
|             $node_ip = sanitize($_POST['node_ip']); |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
|             $node_mac = strip_mac(sanitize($_POST['node_mac'])); |  | ||||||
|             $node_dns1 = sanitize($_POST['node_dns1']); |  | ||||||
|             $node_dns2 = sanitize($_POST['node_dns2']); |  | ||||||
|             $node_info = sanitize($_POST['node_info']); |  | ||||||
|             $zone_id = sanitize($_POST['zone_id']); |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE node SET |  | ||||||
|                         asset_id=?, node_ip=?, subnet_id=?, node_mac=?, |  | ||||||
|                         node_dns1=?, node_dns2=?, node_info=?, zone_id=? |  | ||||||
|                     WHERE node_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$asset_id, $node_ip, $subnet_id, $node_mac,  |  | ||||||
|                            $node_dns1, $node_dns2, $node_info, $zone_id, |  | ||||||
|                            $node_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("nodeview.php?node_id=" . $node_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("optionsdisplay") : |  | ||||||
|             $id = $_SESSION['suser_id']; |  | ||||||
|             $language = $_POST['user_language']; |  | ||||||
|             $imagesize = sanitize($_POST['user_imagesize']); |  | ||||||
|             $imagecount = sanitize($_POST['user_imagecount']); |  | ||||||
|             $mac = sanitize($_POST['user_mac']); |  | ||||||
|             $dateformat = sanitize($_POST['user_dateformat']); |  | ||||||
|             $dns1suffix = sanitize($_POST['user_dns1suffix']); |  | ||||||
|             $dns2suffix = sanitize($_POST['user_dns2suffix']); |  | ||||||
|             $tooltips = sanitize($_POST['user_tooltips']); |  | ||||||
| 
 |  | ||||||
|             $menu_assets = sanitize($_POST['user_menu_assets']); |  | ||||||
|             $menu_assetclasses = sanitize($_POST['user_menu_assetclasses']); |  | ||||||
|             $menu_assetclassgroups = sanitize($_POST['user_menu_assetclassgroups']); |  | ||||||
|             $menu_cables = sanitize($_POST['user_menu_cables']); |  | ||||||
|             $menu_locations = sanitize($_POST['user_menu_locations']); |  | ||||||
|             $menu_nodes = sanitize($_POST['user_menu_nodes']); |  | ||||||
|             $menu_subnets = sanitize($_POST['user_menu_subnets']); |  | ||||||
|             $menu_vlans = sanitize($_POST['user_menu_vlans']); |  | ||||||
|             $menu_zones = sanitize($_POST['user_menu_zones']); |  | ||||||
| 
 |  | ||||||
|             // construct menu set |  | ||||||
|             $menu = array(); |  | ||||||
|             if ($menu_assets) $menu[] = 'asset'; |  | ||||||
|             if ($menu_assetclasses) $menu[] = 'class'; |  | ||||||
|             if ($menu_assetclassgroups) $menu[] = 'group'; |  | ||||||
|             if ($menu_cables) $menu[] = 'cable'; |  | ||||||
|             if ($menu_locations) $menu[] = 'location'; |  | ||||||
|             if ($menu_nodes) $menu[] = 'node'; |  | ||||||
|             if ($menu_subnets) $menu[] = 'subnet'; |  | ||||||
|             if ($menu_vlans) $menu[] = 'vlan'; |  | ||||||
|             if ($menu_zones) $menu[] = 'zone'; |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE user SET |  | ||||||
|                     user_language=?, user_imagesize=?, user_imagecount=?, |  | ||||||
|                     user_mac=?, user_dateformat=?, user_dns1suffix=?, |  | ||||||
|                     user_dns2suffix=?, user_tooltips=?, user_menu=? |  | ||||||
|                 WHERE |  | ||||||
|                     user_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$language, $imagesize, $imagecount, |  | ||||||
|                            $mac, $dateformat, $dns1suffix, |  | ||||||
|                            $dns2suffix, $tooltips, implode(',', $menu), |  | ||||||
|                            $id]); |  | ||||||
| 
 |  | ||||||
|             $_SESSION['suser_language'] = $language; |  | ||||||
|             $_SESSION['suser_imagesize'] = $imagesize; |  | ||||||
|             $_SESSION['suser_imagecount'] = $imagecount; |  | ||||||
|             $_SESSION['suser_mac'] = $mac; |  | ||||||
|             $_SESSION['suser_dateformat'] = $dateformat; |  | ||||||
|             $_SESSION['suser_dns1suffix'] = $dns1suffix; |  | ||||||
|             $_SESSION['suser_dns2suffix'] = $dns2suffix; |  | ||||||
|             $_SESSION['suser_menu_assets'] = $menu_assets; |  | ||||||
|             $_SESSION['suser_menu_assetclasses'] = $menu_assetclasses; |  | ||||||
|             $_SESSION['suser_menu_assetclassgroups'] = $menu_assetclassgroups; |  | ||||||
|             $_SESSION['suser_menu_cables'] = $menu_cables; |  | ||||||
|             $_SESSION['suser_menu_locations'] = $menu_locations; |  | ||||||
|             $_SESSION['suser_menu_nodes'] = $menu_nodes; |  | ||||||
|             $_SESSION['suser_menu_subnets'] = $menu_subnets; |  | ||||||
|             $_SESSION['suser_menu_vlans'] = $menu_vlans; |  | ||||||
|             $_SESSION['suser_menu_zones'] = $menu_zones; |  | ||||||
|             $_SESSION['suser_tooltips'] = $tooltips; |  | ||||||
| 
 |  | ||||||
|             header_location("options.php"); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("optionspassword") : |  | ||||||
|             $user_id = $_SESSION['suser_id']; |  | ||||||
|             $currentpass = sanitize($_POST['user_currentpass']); |  | ||||||
|             $newpass1 = sanitize($_POST['user_newpass1']); |  | ||||||
|             $newpass2 = sanitize($_POST['user_newpass2']); |  | ||||||
| 
 |  | ||||||
|             $sth = $dbh->prepare("SELECT user_pass FROM user WHERE user_id=?"); |  | ||||||
|             $sth->execute([$user_id]); |  | ||||||
| 
 |  | ||||||
|             $userpass = $sth->fetchColumn();; |  | ||||||
| 
 |  | ||||||
|             if (password_verify($currentpass, $userpass)) { |  | ||||||
|                 if (!strcmp($newpass1, $newpass2)) { |  | ||||||
|                     $sth = $dbh->prepare("UPDATE user SET user_pass=? WHERE user_id=?"); |  | ||||||
|                     $newhash = password_hash($newpass1, PASSWORD_BCRYPT); |  | ||||||
|                     $sth->execute([$newhash, $user_id]); |  | ||||||
|                     header_location("options.php"); |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|             // TODO generate errormessages here |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("subnet") : |  | ||||||
|             $subnet_id = sanitize($_POST['subnet_id']); |  | ||||||
|             $subnet_address= sanitize($_POST['subnet_address']); |  | ||||||
|             $subnet_proto_vers = sanitize($_POST['subnet_proto_vers']); |  | ||||||
|             $subnet_mask = sanitize($_POST['subnet_mask']); |  | ||||||
|             $subnet_dhcpstart = sanitize($_POST['subnet_dhcpstart']); |  | ||||||
|             $subnet_dhcpend = sanitize($_POST['subnet_dhcpend']); |  | ||||||
|             $subnet_ntp_server = sanitize($_POST['subnet_ntp_server']); |  | ||||||
|             $subnet_info = sanitize($_POST['subnet_info']); |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE subnet SET |  | ||||||
|                         subnet_address=?, subnet_mask=?, subnet_dhcp_start=?, |  | ||||||
|                         subnet_dhcp_end=?, subnet_info=?, protocol_version=?, |  | ||||||
|                         ntp_server=? |  | ||||||
|                     WHERE subnet_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$subnet_address, $subnet_mask, $subnet_dhcpstart, |  | ||||||
|                            $subnet_dhcpend, $subnet_info, $subnet_proto_vers, |  | ||||||
|                            $subnet_ntp_server, $subnet_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("subnetview.php?subnet_id=" . $subnet_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("user") : |  | ||||||
|             $user_id = sanitize($_POST['user_id']); |  | ||||||
|             $user_name = sanitize($_POST['user_name']); |  | ||||||
|             $user_displayname = sanitize($_POST['user_displayname']); |  | ||||||
|             $user_realm = sanitize($_POST['user_realm']); |  | ||||||
|             // roles |  | ||||||
|             $role_add = sanitize($_POST['role_add']); |  | ||||||
|             $role_edit = sanitize($_POST['role_edit']); |  | ||||||
|             $role_delete = sanitize($_POST['role_delete']); |  | ||||||
|             $role_manage = sanitize($_POST['role_manage']); |  | ||||||
|             $role_admin = sanitize($_POST['role_admin']); |  | ||||||
| 
 |  | ||||||
|             // construct menu set |  | ||||||
|             $role = array(); |  | ||||||
|             if ($role_add) $role[] = 'add'; |  | ||||||
|             if ($role_edit) $role[] = 'edit'; |  | ||||||
|             if ($role_delete) $role[] = 'delete'; |  | ||||||
|             if ($role_manage) $role[] = 'manage'; |  | ||||||
|             if ($role_admin) $role[] = 'admin'; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE user SET |  | ||||||
|                         user_name=?, user_displayname=?, user_realm=?, |  | ||||||
|                         user_role=? |  | ||||||
|                     WHERE user_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$user_name ,$user_displayname, $user_realm, |  | ||||||
|                            implode(',', $role), $user_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("userview.php?user_id=" . $user_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("vlan") : |  | ||||||
|             $vlan_id = sanitize($_POST['vlan_id']); |  | ||||||
|             $vlan_name = sanitize($_POST['vlan_name']); |  | ||||||
|             $vlan_number = sanitize($_POST['vlan_number']); |  | ||||||
|             $vlan_info = sanitize($_POST['vlan_info']); |  | ||||||
|             $vlan_color = sanitize($_POST['vlan_color']); |  | ||||||
| 
 |  | ||||||
|             $sql = "UPDATE vlan SET vlan_name=?, vlan_number=?, vlan_color=?, vlan_info=? WHERE vlan_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$vlan_name, $vlan_number, $vlan_color, $vlan_info, $vlan_id]); |  | ||||||
| 
 |  | ||||||
|             header_location("vlanview.php?vlan_id=" . $vlan_id); |  | ||||||
|             break; |  | ||||||
| 
 |  | ||||||
|         case ("zone") : |  | ||||||
|             $id = sanitize($_POST['zone_id']); |  | ||||||
|             $origin = sanitize($_POST['zone_origin']); |  | ||||||
|             $ttl_default = sanitize($_POST['zone_ttl_default']); |  | ||||||
|             $soa = sanitize($_POST['zone_soa']); |  | ||||||
|             $hostmaster = sanitize($_POST['zone_hostmaster']); |  | ||||||
|             $refresh = sanitize($_POST['zone_refresh']); |  | ||||||
|             $retry = sanitize($_POST['zone_retry']); |  | ||||||
|             $expire = sanitize($_POST['zone_expire']); |  | ||||||
|             $ttl = sanitize($_POST['zone_ttl']); |  | ||||||
|             $serial = sanitize($_POST['zone_serial']); |  | ||||||
|             $ns1 = sanitize($_POST['zone_ns1']); |  | ||||||
|             $ns2 = sanitize($_POST['zone_ns2']); |  | ||||||
|             $ns3 = sanitize($_POST['zone_ns3']); |  | ||||||
|             $mx1 = sanitize($_POST['zone_mx1']); |  | ||||||
|             $mx2 = sanitize($_POST['zone_mx2']); |  | ||||||
|             $info = sanitize($_POST['zone_info']); |  | ||||||
|             $sql = "UPDATE zone SET |  | ||||||
|                         zone_origin=?, zone_ttl_default=?, zone_soa=?, zone_hostmaster=?, |  | ||||||
|                         zone_refresh=?, zone_retry=?, zone_expire=?, zone_ttl=?, zone_serial=?, |  | ||||||
|                         zone_ns1=?, zone_ns2=?, zone_ns3=?, zone_mx1=?, zone_mx2=?, zone_info=? |  | ||||||
|                     WHERE zone_id=?"; |  | ||||||
|             $sth = $dbh->prepare($sql); |  | ||||||
|             $sth->execute([$origin, $ttl_default, $soa, $hostmaster, $refresh, $retry, |  | ||||||
|                            $expire, $ttl, $serial, $ns1, $ns2, $ns3, $mx1, $mx2, $info, |  | ||||||
|                            $id]); |  | ||||||
| 
 |  | ||||||
|             header_location("zoneview.php?zone_id=" . $zone_id); |  | ||||||
|             break; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // still not redirected, check for error |  | ||||||
| if(empty($comments)) { |  | ||||||
|     $comments = "error"; |  | ||||||
| } |  | ||||||
| header_location("comments.php?comments=" . $comments); |  | ||||||
| ?> |  | ||||||
| @ -1,21 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| if((isset($_GET['vlan_id'])) ? $vlan_id = sanitize($_GET['vlan_id']) : $vlan_id = ""); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("vlan_options", db_get_options_vlan($lang['lang_option_none'])); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetadd.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,36 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 	 |  | ||||||
| // subnet |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| // node		 |  | ||||||
| $sql = "SELECT node_id AS id, node_ip AS ip |  | ||||||
|         FROM node |  | ||||||
|         WHERE subnet_id=? |  | ||||||
|         ORDER BY INET_ATON(node_ip)"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("nodes", $sth->fetchAll()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetdel.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,29 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask, |  | ||||||
|             protocol_version AS proto_vers, subnet_dhcp_start AS dhcp_start, |  | ||||||
|             subnet_dhcp_end AS dhcp_end, ntp_server, subnet_info AS info |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetedit.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,28 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 	 |  | ||||||
| $smarty->assign("location_options", db_get_options_location()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetlocationadd.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,42 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 
 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| // subnet |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| // locations for subnet |  | ||||||
| $sql = "SELECT l.location_id, l.location_name |  | ||||||
|         FROM subnetlocation AS s LEFT JOIN location USING (location_id) |  | ||||||
|         WHERE s.subnet_id=? |  | ||||||
|         ORDER BY l.location_name"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id] |  | ||||||
| $records = $sth->fetchAll(); |  | ||||||
| 
 |  | ||||||
| $locations = array(); |  | ||||||
| foreach ($records as $rec) { |  | ||||||
|     $locations[$rec['location_id']] = $rec['location_name']; |  | ||||||
| } |  | ||||||
| $smarty->assign("location_options", $locations); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetlocationdel.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,27 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 	 |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 	 |  | ||||||
| $smarty->display("subnetlocationedit.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,364 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 
 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 
 |  | ||||||
| if(isset($_GET['page'])) { |  | ||||||
|     $page = sanitize($_GET['page']); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| $smarty->assign("scripts",'changetext.js'); |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| // subnet |  | ||||||
| $sql = "SELECT |  | ||||||
|             s.subnet_id AS id,  |  | ||||||
|             s.subnet_address AS address, |  | ||||||
|             s.subnet_mask AS mask, |  | ||||||
|             s.subnet_dhcp_start AS dhcp_start, |  | ||||||
|             s.subnet_dhcp_end AS dhcp_end, |  | ||||||
|             s.subnet_info AS info, |  | ||||||
|             s.protocol_version AS proto_vers, |  | ||||||
|             s.ntp_server, |  | ||||||
|             COUNT(node.subnet_id) AS node_counter |  | ||||||
|         FROM |  | ||||||
|             subnet AS s LEFT JOIN node USING (subnet_id) |  | ||||||
|         WHERE |  | ||||||
|             s.subnet_id=? |  | ||||||
|         GROUP BY |  | ||||||
|             s.subnet_id"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| 
 |  | ||||||
| $subnet = $sth->fetch(PDO::FETCH_OBJ); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("subnet", $subnet); |  | ||||||
| 
 |  | ||||||
| // set counters |  | ||||||
| $host_counter = pow(2, (32-$subnet->mask)); |  | ||||||
| $node_counter = $subnet->node_counter; |  | ||||||
| $subnet_usedpercentage = round((($node_counter/($host_counter-2))*100), 1); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("node_counter", $node_counter); |  | ||||||
| $smarty->assign("subnet_usedpercentage", $subnet_usedpercentage); |  | ||||||
| $smarty->assign("config_color_unused", $config_color_unused); |  | ||||||
| $smarty->assign("host_counter", $host_counter-2); |  | ||||||
| $smarty->assign("free_counter", (($host_counter-2)-$node_counter)); |  | ||||||
| 
 |  | ||||||
| // subnet |  | ||||||
| 
 |  | ||||||
| // split up the range |  | ||||||
| $iprange = explode('.', $subnet->address); |  | ||||||
| $iprange1 = $iprange[0]; |  | ||||||
| $iprange2 = $iprange[1]; |  | ||||||
| $iprange3 = $iprange[2]; |  | ||||||
| $iprange4 = $iprange[3]; |  | ||||||
| 
 |  | ||||||
| // create empty subnet-array |  | ||||||
| $subnetdata = array(); |  | ||||||
| 
 |  | ||||||
| // determine range (Class A/B/C) |  | ||||||
| if ($subnet->mask >= 24) { |  | ||||||
|     // Class C |  | ||||||
|     // fill subnet-array with addresses we want to see |  | ||||||
|     for($i=0; $i<$host_counter; $i++) { |  | ||||||
|         // build ip |  | ||||||
|         $ip = $iprange1 . '.' . $iprange2 . '.' . $iprange3 . '.' . ($iprange4+$i); |  | ||||||
| 
 |  | ||||||
|         // fill subnet-array |  | ||||||
|         $subnetdata[$ip] = array(); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     // calculate broadcast address |  | ||||||
|     $broadcast_address = $iprange1 . '.' . $iprange2 . '.' . $iprange3 .  '.' . ($iprange4+$i-1); |  | ||||||
| 
 |  | ||||||
|     // to tpl |  | ||||||
|     $smarty->assign("iprange1", $iprange1); |  | ||||||
|     $smarty->assign("iprange2", $iprange2); |  | ||||||
|     $smarty->assign("iprange3", $iprange3); |  | ||||||
|     $smarty->assign("iprange4", $iprange4); |  | ||||||
|     $smarty->assign("subnetmask1", 255); |  | ||||||
|     $smarty->assign("subnetmask2", 255); |  | ||||||
|     $smarty->assign("subnetmask3", 255); |  | ||||||
|     $smarty->assign("subnetmask4", 256-$host_counter); |  | ||||||
| 
 |  | ||||||
|     // no pagination needed |  | ||||||
|     $smarty->assign("noselect", TRUE); |  | ||||||
|     $smarty->assign("one_select", FALSE); |  | ||||||
|     $smarty->assign("two_select", FALSE); |  | ||||||
| 
 |  | ||||||
|     // set displayed nodes |  | ||||||
|     $nodes_displayed = $host_counter; |  | ||||||
| 
 |  | ||||||
| } else if ($subnet->mask >= 16) { |  | ||||||
|     // Class B |  | ||||||
|     // which part do we want to see? |  | ||||||
|     if ((empty($page)) ? $page = $subnet->address : $page = $page); |  | ||||||
|     $page = explode('.', $page); |  | ||||||
|     $page2 = $page[2]; |  | ||||||
| 
 |  | ||||||
|     // fill subnet-array with addresses we want to see |  | ||||||
|     for($i=0; $i<256; $i++) { |  | ||||||
|         // build ip |  | ||||||
|         $ip = $iprange1 . '.' . $iprange2 . '.' . $page2 .  '.' . $i; |  | ||||||
| 
 |  | ||||||
|         // fill subnet-array |  | ||||||
|         $subnetdata[$ip] = array(); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     // calculate broadcast address |  | ||||||
|     $broadcast_address = $iprange1 . '.' . $iprange2 . '.' . ($iprange3+$i-1) .  '.255'; |  | ||||||
| 
 |  | ||||||
|     // to tpl |  | ||||||
|     $smarty->assign("iprange1", $iprange1); |  | ||||||
|     $smarty->assign("iprange2", $iprange2); |  | ||||||
| 
 |  | ||||||
|     // loop addresses in range3 |  | ||||||
|     for ($i=$iprange3; $i<(pow(2,(32-$subnet->mask))/256); $i++) { |  | ||||||
|         // send to tpl |  | ||||||
|         $smarty->assign("iprange3", $i); |  | ||||||
|         $smarty->assign("iprange4", 0); |  | ||||||
| 
 |  | ||||||
|         // set select box |  | ||||||
|         if ($i == $page2) { |  | ||||||
|             $smarty->assign("row_selected", "selected"); |  | ||||||
| 
 |  | ||||||
|         } else { |  | ||||||
|             $smarty->assign("row_selected", ""); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     $smarty->assign("subnetmask1", 255); |  | ||||||
|     $smarty->assign("subnetmask2", 255); |  | ||||||
|     $smarty->assign("subnetmask3", 256-($host_counter/256)); |  | ||||||
|     $smarty->assign("subnetmask4", 0); |  | ||||||
| 
 |  | ||||||
|     // one select box |  | ||||||
|     $smarty->assign("noselect", FALSE); |  | ||||||
|     $smarty->assign("one_select", TRUE); |  | ||||||
|     $smarty->assign("two_select", FALSE); |  | ||||||
| 
 |  | ||||||
|     // set displayed nodes |  | ||||||
|     $nodes_displayed = 256; |  | ||||||
| } else { |  | ||||||
|     // Class A |  | ||||||
|     // which part do we want to see? |  | ||||||
|     if ((empty($page)) ? $page = $subnet->address : $page = $page); |  | ||||||
|     $page = explode('.', $page); |  | ||||||
|     $page2 = $page[1]; |  | ||||||
|     $page3 = $page[2]; |  | ||||||
| 
 |  | ||||||
|     // fill subnet-array with addresses we want to see |  | ||||||
|     for($i=0; $i<256; $i++) { |  | ||||||
|         // build ip |  | ||||||
|         $ip = $iprange1 . '.' . $page2 . '.' . $page3 .  '.' . $i; |  | ||||||
| 
 |  | ||||||
|         // fill subnet-array |  | ||||||
|         $subnetdata[$ip] = array(); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     // calculate broadcast address |  | ||||||
|     $broadcast_address = $iprange1 . '.' . ($iprange2+$i-1) . '.255.255'; |  | ||||||
| 
 |  | ||||||
|     // to tpl |  | ||||||
|     $smarty->assign("iprange1", $iprange1); |  | ||||||
|     $smarty->assign("iprange2", $iprange2); |  | ||||||
| 
 |  | ||||||
|     // loop addresses in range 2 |  | ||||||
|     for ($i=$iprange2; $i<(pow(2,(24-$subnet->mask))/256); $i++) { |  | ||||||
|         // send to tpl |  | ||||||
|         $smarty->assign("iprange1", $iprange1); |  | ||||||
|         $smarty->assign("iprange2", $i); |  | ||||||
|         $smarty->assign("iprange3", $page3); |  | ||||||
|         $smarty->assign("iprange4", $iprange4); |  | ||||||
| 
 |  | ||||||
|         // set select box |  | ||||||
|         if($i == $page2) { |  | ||||||
|             $smarty->assign("row1_selected", "selected"); |  | ||||||
| 
 |  | ||||||
|         } else { |  | ||||||
|             $smarty->assign("row1_selected", ""); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     // loop addresses in range 3 |  | ||||||
|     for ($i=0; $i<256; $i++) { |  | ||||||
|         // send to tpl |  | ||||||
|         $smarty->assign("iprange1", $iprange1); |  | ||||||
|         $smarty->assign("iprange2", $page2); |  | ||||||
|         $smarty->assign("iprange3", $i); |  | ||||||
|         $smarty->assign("iprange4", $iprange4); |  | ||||||
| 
 |  | ||||||
|         // set select box |  | ||||||
|         if($i==$page3) { |  | ||||||
|             $smarty->assign("row2_selected", "selected"); |  | ||||||
| 
 |  | ||||||
|         } else { |  | ||||||
|             $smarty->assign("row2_selected", ""); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     $smarty->assign("subnetmask1", 255); |  | ||||||
|     $smarty->assign("subnetmask2", 256-($host_counter/65536)); |  | ||||||
|     $smarty->assign("subnetmask3", 0); |  | ||||||
|     $smarty->assign("subnetmask4", 0); |  | ||||||
| 
 |  | ||||||
|     // one select box |  | ||||||
|     $smarty->assign("noselect", FALSE); |  | ||||||
|     $smarty->assign("one_select", FALSE); |  | ||||||
|     $smarty->assign("two_select", TRUE); |  | ||||||
| 
 |  | ||||||
|     // set displayed nodes |  | ||||||
|     $nodes_displayed = 256; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // get nodes for this subnetview and implement the values into the array |  | ||||||
| $sql = "SELECT a.asset_name, g.assetclassgroup_color, n.node_id, n.node_ip |  | ||||||
|         FROM |  | ||||||
|             asset AS a, |  | ||||||
|             assetclass AS c, |  | ||||||
|             assetclassgroup AS g, |  | ||||||
|             node AS n |  | ||||||
|     WHERE |  | ||||||
|         n.node_ip IN ('".implode("','",array_keys($subnetdata))."') |  | ||||||
|         AND n.subnet_id=? |  | ||||||
|         AND a.asset_id=n.asset_id |  | ||||||
|         AND c.assetclass_id=a.assetclass_id |  | ||||||
|         AND g.assetclassgroup_id=c.assetclassgroup_id"; |  | ||||||
| 
 |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| 
 |  | ||||||
| $nodes = $sth->fetchAll(); |  | ||||||
| $smarty->assign("nodes", $nodes); |  | ||||||
| 
 |  | ||||||
| if (count($nodes) > 0) { |  | ||||||
|     foreach ($nodes AS $node) { |  | ||||||
|         $subnetdata[$node['node_ip']] = $node; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // replace ip's in subnet-array (if necessary) |  | ||||||
| // check for subnet address |  | ||||||
| if (array_key_exists($subnet->address, $subnet)) { |  | ||||||
|     // replace |  | ||||||
|     $subnetdata[$subnet->address] = array("subnet_address"); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // check for broadcast address |  | ||||||
| if (array_key_exists($broadcast_address, $subnet)) { |  | ||||||
|     // replace |  | ||||||
|     $subnetdata[$broadcast_address] = array("broadcast_address"); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| $dhcpstart = 0; |  | ||||||
| if ($subnet->dhcp_start && $subnet->dhcp_end) { |  | ||||||
|     $dhcpstart = ip2long($subnet->dhcp_start); |  | ||||||
|     $dhcpend = ip2long($subnet->dhcp_end); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
|         // loop subnet-array and send to template |  | ||||||
|             // start counter |  | ||||||
| //            $i=1; |  | ||||||
|             // loop subnet-array |  | ||||||
| foreach ($subnetdata AS $node_ip => $node) { |  | ||||||
| 
 |  | ||||||
| // make new line? |  | ||||||
| //   if(($i%$_SESSION['suser_imagecount']==0 && $i!=$nodes_displayed) ? $tr="</tr><tr>" : $tr=""); |  | ||||||
| 
 |  | ||||||
|     // check if node-ip in DHCP-area |  | ||||||
|     $subnetdata[$node_ip]["dynamic"] = false; |  | ||||||
|     if ($dhcpstart > 0) { |  | ||||||
|         $ipval = ip2long($node_ip); |  | ||||||
|         if (($ipval >= $dhcpstart) and ($ipval <= $dhcpend)) { |  | ||||||
|             $subnetdata[$node_ip]["dynamic"] = true; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     // check node |  | ||||||
|     if (empty($node)) { |  | ||||||
|         // empty node to tpl |  | ||||||
|         $subnetdata[$node_ip]["url"] = 'assigniptonode.php?subnet_id=' . $subnet_id . '&node_ip='. $node_ip; |  | ||||||
|         $subnetdata[$node_ip]["remotetext"] = $node_ip; |  | ||||||
|         if ($subnetdata[$node_ip]["dynamic"]) { |  | ||||||
|             $subnetdata[$node_ip]["assetclassgroup_color"] = $config_color_dynamic; |  | ||||||
|         } else { |  | ||||||
|             $subnetdata[$node_ip]["assetclassgroup_color"] = $config_color_unused; |  | ||||||
|         } |  | ||||||
|     } else if (array_key_exists(0, $node) && $node[0]=="subnet_address") { |  | ||||||
|        // subnet address to tpl |  | ||||||
|         $subnetdata[$node_ip]["url"] = ""; |  | ||||||
|         $subnetdata[$node_ip]["remotetext"] = $node_ip . ' ' . $lang['lang_subnet_subnetaddress']; |  | ||||||
|         $subnetdata[$node_ip]["assetclassgroup_color"] = $config_color_blocked; |  | ||||||
|     } else if (array_key_exists(0, $node) && $node[0]=="broadcast_address") { |  | ||||||
|         // broadcast address to tpl |  | ||||||
|         $subnetdata[$node_ip]["url"] = ""; |  | ||||||
|         $subnetdata[$node_ip]["remotetext"] = $node_ip . ' ' . $lang['lang_subnet_broadcastaddress']; |  | ||||||
|         $subnetdata[$node_ip]["assetclassgroup_color"] = $config_color_blocked; |  | ||||||
|     } else { |  | ||||||
|         // node to tpl |  | ||||||
|         $subnetdata[$node_ip]["url"] = 'nodeview.php?node_id=' . $node['node_id']; |  | ||||||
|         $subnetdata[$node_ip]["remotetext"] = $node_ip . ' ' . $node['asset_name']; |  | ||||||
|         $subnetdata[$node_ip]["assetclassgroup_color"] = $node['assetclassgroup_color']; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     // update counter |  | ||||||
|     //   $i++; |  | ||||||
| 
 |  | ||||||
| } // foreach |  | ||||||
| 
 |  | ||||||
| $smarty->assign("subnetdata", $subnetdata); |  | ||||||
| $smarty->assign("imagewrap", $_SESSION['suser_imagecount']); |  | ||||||
| 
 |  | ||||||
| // vlans |  | ||||||
| $sql = "SELECT v.vlan_id AS id, v.vlan_name AS name, |  | ||||||
|               v.vlan_number AS number |  | ||||||
|         FROM subnetvlan AS s JOIN vlan AS v USING (vlan_id) |  | ||||||
|         WHERE s.subnet_id=? |  | ||||||
|         ORDER BY v.vlan_name"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("vlans", $sth->fetchAll()); |  | ||||||
| 
 |  | ||||||
| // locations |  | ||||||
| $sql = "SELECT l.location_id, l.location_name |  | ||||||
|         FROM location AS l LEFT JOIN subnetlocation AS s USING (location_id) |  | ||||||
|         WHERE s.subnet_id=? |  | ||||||
|         ORDER BY l.location_name"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("locations", $sth->fetchAll()); |  | ||||||
| 
 |  | ||||||
| // assetclassgroups |  | ||||||
| $sql = "SELECT |  | ||||||
|         assetclassgroup_id AS id, |  | ||||||
|         assetclassgroup_name AS name, |  | ||||||
|         assetclassgroup_color  AS color, |  | ||||||
|         COUNT(assetclass_id) AS counter |  | ||||||
|     FROM subnet |  | ||||||
|         LEFT JOIN node USING (subnet_id) |  | ||||||
|         LEFT JOIN asset USING (asset_id) |  | ||||||
|         LEFT JOIN assetclass USING (assetclass_id) |  | ||||||
|         LEFT JOIN assetclassgroup USING (assetclassgroup_id) |  | ||||||
|     WHERE subnet_id=? |  | ||||||
|     GROUP BY assetclass_id |  | ||||||
|     ORDER BY counter DESC"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("assetclassgroups", $sth->fetchAll()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetview.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,43 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| 
 |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| // vlan |  | ||||||
| $sql = "SELECT vlan_id, vlan_number, vlan_name |  | ||||||
|         FROM vlan |  | ||||||
|         WHERE vlan_id NOT IN ( |  | ||||||
| 	    SELECT vlan_id FROM subnetvlan WHERE subnet_id=? |  | ||||||
| 	) |  | ||||||
|         ORDER BY vlan_number"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| 		 |  | ||||||
| $vlans = $sth->fetchAll(); |  | ||||||
| foreach ($vlans as $vlan) { |  | ||||||
|     $vlan_options[$vlan['vlan_id']] =  $vlan['vlan_name'] . ' (' . $vlan['vlan_number']. ')'; |  | ||||||
| } |  | ||||||
| $smarty->assign("vlan_options", $vlan_options); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetvlanadd.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,36 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 	 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 
 |  | ||||||
| // subnet |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| // vlan |  | ||||||
| $sql = "SELECT v.vlan_id, v.vlan_number, v.vlan_name |  | ||||||
|         FROM subnetvlan AS s LEFT JOIN vlan AS v USING (vlan_id) |  | ||||||
|         WHERE s.subnet_id=? |  | ||||||
|         ORDER BY v.vlan_number"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("vlans", $sth->fetchAll()); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetvlandel.tpl"); |  | ||||||
| 		 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,26 +0,0 @@ | |||||||
| <?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 |  | ||||||
| *****************************************************************************/ |  | ||||||
| 
 |  | ||||||
| include("includes.php"); |  | ||||||
| 		 |  | ||||||
| $subnet_id = sanitize($_GET['subnet_id']); |  | ||||||
| 		 |  | ||||||
| include("header.php"); |  | ||||||
| 		 |  | ||||||
| $sql = "SELECT subnet_id AS id, subnet_address AS address, subnet_mask AS mask |  | ||||||
|         FROM subnet |  | ||||||
|         WHERE subnet_id=?"; |  | ||||||
| $sth = $dbh->prepare($sql); |  | ||||||
| $sth->execute([$subnet_id]); |  | ||||||
| $smarty->assign("subnet", $sth->fetch(PDO::FETCH_OBJ)); |  | ||||||
| 
 |  | ||||||
| $smarty->display("subnetvlanedit.tpl"); |  | ||||||
| 
 |  | ||||||
| include("footer.php"); |  | ||||||
| ?> |  | ||||||
| @ -1,23 +0,0 @@ | |||||||
| <table class="title"> |  | ||||||
| <tr> |  | ||||||
|     <td class="header"> |  | ||||||
|         {$lang_comments} |  | ||||||
|     </td> |  | ||||||
|     <td align="right"> |  | ||||||
|         <a href="#" onClick="history.go(-1)"><img src="image.php?icon=back" alt="{$lang_cancel}"></a> |  | ||||||
|     </td> |  | ||||||
| </tr> |  | ||||||
| </table> |  | ||||||
| 
 |  | ||||||
| <table class="info"> |  | ||||||
| <tr> |  | ||||||
|     <td class="header"> |  | ||||||
|         {$lang_comments} |  | ||||||
|     </td> |  | ||||||
| </tr> |  | ||||||
| <tr> |  | ||||||
|     <td class="value"> |  | ||||||
|         {$comments} |  | ||||||
|     </td> |  | ||||||
| </tr> |  | ||||||
| </table> |  | ||||||
| @ -1,39 +1,38 @@ | |||||||
| <form method="POST" action="submit.php"> | <form method="POST" action="location.php"> | ||||||
| <input type="hidden" name="del" value="location"> | <input type="hidden" name="id" value="{$location->id}"> | ||||||
| <input type="hidden" name="location_id" value="{$location->id}"> |  | ||||||
| 
 | 
 | ||||||
| <table class="title"> | <table class="title"> | ||||||
|         <tr> | <tr> | ||||||
|                 <td class="header"> |     <td class="header"> | ||||||
|                         <img class="icon" src="images/building.png" alt="" /> |         <img class="icon" src="images/building.png" alt="" /> | ||||||
|                         {$location_name} |         {$location->name} | ||||||
|                 </td> |     </td> | ||||||
|                 <td align="right"> |     <td align="right"> | ||||||
|                         <a href="#" onClick="history.go(-1)"><img src="image.php?icon=cancel" alt="{$lang_cancel}"></a> |         <a href="#" onClick="history.go(-1)"><img src="image.php?icon=cancel" alt="{$lang_cancel}"></a> | ||||||
|                         <input type="image" src="images/building_delete.png" alt="{$lang_location_del}"> |         <input type="image" name="submit[delete]" src="images/building_delete.png" alt="{$lang_location_del}"> | ||||||
|                 </td> |     </td> | ||||||
|         </tr> | </tr> | ||||||
| </table> | </table> | ||||||
| 
 | 
 | ||||||
| <p> | <p> | ||||||
| 
 | 
 | ||||||
| <table class="info"> | <table class="info"> | ||||||
|         <tr> | <tr> | ||||||
|                 <td class="header"> |     <td class="header"> | ||||||
|                         {$lang_location_del} |             {$lang_location_del} | ||||||
|                 </td> |     </td> | ||||||
|                 <td class="header_right"> |     <td class="header_right"> | ||||||
|                           |               | ||||||
|                 </td> |     </td> | ||||||
|         </tr> | </tr> | ||||||
|         <tr> | <tr> | ||||||
|                 <td class="label"> |     <td class="label"> | ||||||
|                         {$lang_location_name} |             {$lang_location_name} | ||||||
|                 </td> |     </td> | ||||||
|                 <td class="value"> |     <td class="value"> | ||||||
|                         <a href="locationview.php?location_id={$location->id}">{$location->name}</a> |             <a href="location.php?f=view&id={$location->id}">{$location->name}</a> | ||||||
|                 </td> |     </td> | ||||||
|         </tr> | </tr> | ||||||
| </table> | </table> | ||||||
| 
 | 
 | ||||||
| </form> | </form> | ||||||
|  | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in new issue