<?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, a.asset_info, 
            REPLACE(a.asset_name, ' ', '&nbsp;') AS asset_name,
            n.node_id, n.node_ip
        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");
?>