You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.6 KiB
54 lines
1.6 KiB
<?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");
|
|
|
|
// filter preparation
|
|
$p = array();
|
|
$w = array();
|
|
|
|
if(isset($_GET['subnet_id'])) {
|
|
$subnet_id = sanitize($_GET['subnet_id']);
|
|
$w[] = "n.subnet_id=?";
|
|
$p[] = $subnet_id;
|
|
$smarty->assign("subnet_id", $subnet_id);
|
|
|
|
// get subnet details for title
|
|
$sql = "SELECT CONCAT_WS('/',subnet_address,subnet_mask) AS subnet
|
|
FROM subnet
|
|
WHERE subnet_id=?";
|
|
$sth = $dbh->prepare($sql);
|
|
$sth->execute([$subnet_id]);
|
|
$smarty->assign("subnet", $sth->fetchColumn());
|
|
} else {
|
|
$smarty->assign("subnet_id", '');
|
|
}
|
|
|
|
// create sql with optional filter
|
|
$where = join(' AND ', $w);
|
|
|
|
$sql = "SELECT a.asset_id,
|
|
CONCAT(LEFT(a.asset_info,30), IF(CHAR_LENGTH(a.asset_info)>30,'...','')) AS asset_info,
|
|
REPLACE(a.asset_name, ' ', ' ') AS asset_name,
|
|
n.node_id, n.node_ip,
|
|
CONCAT(LEFT(n.node_info,30), IF(CHAR_LENGTH(n.node_info)>30,'...','')) AS node_info
|
|
FROM node AS n LEFT JOIN asset AS a USING (asset_id)";
|
|
if ($where) {
|
|
$sql .= ' WHERE ' . $where;
|
|
}
|
|
$sql .= "GROUP BY n.node_id ORDER BY INET_ATON(n.node_ip)";
|
|
$sth = $dbh->prepare($sql);
|
|
$sth->execute($p);
|
|
$smarty->assign("nodes", $sth->fetchAll());
|
|
|
|
$smarty->display("node.tpl");
|
|
|
|
include("footer.php");
|
|
?>
|
|
|