IP Reg is a IPAM tool to keep track of assets, nodes (IP addresses, MAC addresses, DNS aliases) within different subnets, over different locations or even VLAN's. Written in PHP, used with a MySQL-database to have a unique insight in your local network.
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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
ipreg/search.php

105 lines
3.5 KiB

<?php
include("header.php");
// set template
$tp = new Template("tpl/search.tpl");
// set language variables
$tp->setvars($lang);
// get string that was searched for
if (empty($search)) {
$tp->parse("nosearch");
$tp->hide("asset");
$tp->hide("location");
$tp->hide("node");
$tp->hide("subnet");
$tp->hide("vlan");
$tp->hide("resultcount");
} else {
$tp->hide("nosearch");
// set needle and counter
$needle = '%' . $search . '%';
$resultcounter = 0;
// search assets
$result = mysql_query("SELECT asset_id, asset_name FROM asset WHERE asset_name LIKE '$needle' OR asset_info LIKE '%$needle%' ORDER BY asset_name") or die(mysql_error());
for ($i=0;$row=mysql_fetch_object($result);$i++) {
$tp->set("counter", $i+1);
$tp->set("item_name", $lang['lang_assets']);
$tp->set("item", "asset");
$tp->set("id", $row->asset_id);
$tp->set("name", $row->asset_name);
$resultcounter++;
$tp->parse("row");
}
if (($i>0) ? $tp->parse("asset") : $tp->hide("asset"));
$tp->clear("row");
// search locations
$result = mysql_query("SELECT location_id, location_name FROM location WHERE location_name LIKE '$needle' OR location_info LIKE '%$needle%' ORDER BY location_name") or die(mysql_error());
for ($i=0;$row=mysql_fetch_object($result);$i++) {
$tp->set("counter", $i+1);
$tp->set("item_name", $lang['lang_locations']);
$tp->set("item", "location");
$tp->set("id", $row->location_id);
$tp->set("name", $row->location_name);
$resultcounter++;
$tp->parse("row");
}
if (($i>0) ? $tp->parse("location") : $tp->hide("location"));
$tp->clear("row");
// search node
$result = mysql_query("SELECT node_id, ip FROM node WHERE ip LIKE '$needle' OR mac LIKE '$needle' OR dns1 LIKE '$needle' OR dns2 LIKE '$needle' OR node_info LIKE '$needle' ORDER BY ip") or die(mysql_error());
for ($i=0;$row=mysql_fetch_object($result);$i++) {
$tp->set("counter", $i+1);
$tp->set("item_name", $lang['lang_nodes']);
$tp->set("item", "node");
$tp->set("id", $row->node_id);
$tp->set("name", $row->ip);
$resultcounter++;
$tp->parse("row");
}
if (($i>0) ? $tp->parse("node") : $tp->hide("node"));
$tp->clear("row");
// search subnet
$result = mysql_query("SELECT subnet_id, subnet_address FROM subnet WHERE subnet_address LIKE '$needle' OR subnet_info LIKE '%$needle%' ORDER BY INET_ATON(subnet_address)") or die(mysql_error());
for ($i=0;$row=mysql_fetch_object($result);$i++) {
$tp->set("counter", $i+1);
$tp->set("item_name", $lang['lang_subnets']);
$tp->set("item", "subnet");
$tp->set("id", $row->subnet_id);
$tp->set("name", $row->subnet_address);
$resultcounter++;
$tp->parse("row");
}
if (($i>0) ? $tp->parse("subnet") : $tp->hide("subnet"));
$tp->clear("row");
// search vlan
$result = mysql_query("SELECT vlan_id, vlan_name FROM vlan WHERE vlan_name LIKE '$needle' OR vlan_info LIKE '%$needle%' ORDER BY vlan_name") or die(mysql_error());
for ($i=0;$row=mysql_fetch_object($result);$i++) {
$tp->set("counter", $i+1);
$tp->set("item_name", $lang['lang_vlans']);
$tp->set("item", "vlan");
$tp->set("id", $row->vlan_id);
$tp->set("name", $row->vlan_name);
$resultcounter++;
$tp->parse("row");
}
if (($i>0) ? $tp->parse("vlan") : $tp->hide("vlan"));
$tp->clear("row");
$tp->set("resultcounter", $resultcounter);
$tp->parse("resultcount");
}
// output
$tp->parse();
$tp->spit();
include("footer.php");
?>