Changed database access to PDO using prepared statements

This commit is contained in:
2023-02-22 10:50:24 +01:00
parent a4ecd1bff7
commit 7c300e0a8f
132 changed files with 5364 additions and 6091 deletions

View File

@@ -15,130 +15,100 @@ include("header.php");
if (empty($search)) {
// parse nosearch box
$smarty->assign("nosearch", TRUE);
} else {
// hide nosearch box
$smarty->assign("nosearch", FALSE);
$smarty->assign("search", $search);
// set needle
$needle = '%' . $search . '%';
// set counter
$resultcounter = 0;
// asset
$query = "SELECT
asset_id AS id,
asset_name AS name,
asset_info AS description
FROM
asset
WHERE
asset_name LIKE '" . $needle . "'
OR asset_hostname LIKE '" . $needle . "'
OR asset_info LIKE '" . $needle . "'
ORDER BY
asset_name";
$assets = $db->db_select($query);
$resultcounter += count($assets);
$smarty->assign("assets", $assets);
// location
$query = "SELECT
location_id AS id,
location_name AS name
FROM
location
WHERE
location_name LIKE '" . $needle . "'
OR location_info LIKE '" . $needle . "'
ORDER BY
location_name";
$locations = $db->db_select($query);
$resultcounter += count($locations);
$smarty->assign("locations", $locations);
// node
$query = "SELECT
node_id AS id,
node_ip AS ip
FROM
node
WHERE
node_ip LIKE '" . $needle . "'
OR node_mac LIKE '" . $needle . "'
OR node_dns1 LIKE '" . $needle . "'
OR node_dns2 LIKE '" . $needle . "'
OR node_info LIKE '" . $needle . "'
ORDER BY
node_ip";
$nodes = $db->db_select($query);
$resultcounter += count($nodes);
$smarty->assign("nodes", $nodes);
// subnet
$query = "SELECT
subnet_id AS id,
subnet_address AS address
FROM
subnet
WHERE
subnet_address LIKE '" . $needle . "'
OR subnet_info LIKE '" . $needle . "'
ORDER BY
subnet_address";
// run query
$subnets = $db->db_select($query);
$resultcounter += count($subnets);
$smarty->assign("subnets", $subnets);
// vlan
$query = "SELECT
vlan_id AS id,
vlan_name AS name
FROM
vlan
WHERE
vlan_name LIKE '" . $needle . "'
OR vlan_info LIKE '" . $needle . "'
ORDER BY
vlan_name";
$vlans = $db->db_select($query);
$resultcounter += count($vlans);
$smarty->assign("vlans", $vlans);
// setup zone
$query = "SELECT
zone_id AS id,
zone_origin AS origin
FROM
zone
WHERE
zone_origin LIKE '" . $needle . "'
OR zone_soa LIKE '" . $needle . "'
OR zone_hostmaster LIKE '" . $needle . "'
OR zone_ns1 LIKE '" . $needle . "'
OR zone_ns2 LIKE '" . $needle . "'
OR zone_ns3 LIKE '" . $needle . "'
OR zone_mx1 LIKE '" . $needle . "'
OR zone_mx2 LIKE '" . $needle . "'
OR zone_info LIKE '" . $needle . "'
ORDER BY
zone_origin";
$zones = $db->db_select($query);
$resultcounter += count($zones);
$smarty->assign("zones", $zones);
// grand totals
$smarty->assign("resultcounter", $resultcounter);
$smarty->display("search.tpl");
include("footer.php");
exit;
}
// hide nosearch box
$smarty->assign("nosearch", FALSE);
$smarty->assign("search", $search);
$needle = '%' . $search . '%';
$resultcounter = 0;
// asset
$sql = "SELECT asset_id AS id, asset_name AS name, asset_info AS description
FROM asset
WHERE asset_name LIKE :needle OR asset_hostname LIKE :needle
OR asset_info LIKE :needle
ORDER BY asset_name";
$sth = $dbh->prepare($sql);
$sth->execute(['needle' => $needle]);
$assets = $sth->fetchAll();
$resultcounter += count($assets);
$smarty->assign("assets", $assets);
// location
$sql = "SELECT location_id AS id, location_name AS name
FROM location
WHERE location_name LIKE :needle OR location_info LIKE :needle
ORDER BY location_name";
$sth = $dbh->prepare($sql);
$sth->execute(['needle' => $needle]);
$locations = $sth->fetchAll();
$resultcounter += count($locations);
$smarty->assign("locations", $locations);
// node
$sql = "SELECT node_id AS id, node_ip AS ip
FROM node
WHERE node_ip LIKE :needle OR node_mac LIKE :needle
OR node_dns1 LIKE :needle OR node_dns2 LIKE :needle
OR node_info LIKE :needle
ORDER BY node_ip";
$sth = $dbh->prepare($sql);
$sth->execute(['needle' => $needle]);
$nodes = $sth->fetchAll();
$resultcounter += count($nodes);
$smarty->assign("nodes", $nodes);
// subnet
$sql = "SELECT subnet_id AS id, subnet_address AS address
FROM subnet
WHERE subnet_address LIKE :needle OR subnet_info LIKE :needle
ORDER BY subnet_address";
$sth = $dbh->prepare($sql);
$sth->execute(['needle' => $needle]);
$subnets = $sth->fetchAll();
$resultcounter += count($subnets);
$smarty->assign("subnets", $subnets);
// vlan
$sql = "SELECT vlan_id AS id, vlan_name AS name
FROM vlan
WHERE vlan_name LIKE :needle OR vlan_info LIKE :needle
ORDER BY vlan_name";
$sth = $dbh->prepare($sql);
$sth->execute(['needle' => $needle]);
$vlans = $sth->fetchAll();
$resultcounter += count($vlans);
$smarty->assign("vlans", $vlans);
// setup zone
$sql = "SELECT zone_id AS id, zone_origin AS origin
FROM zone
WHERE zone_origin LIKE :needle OR zone_soa LIKE :needle
OR zone_hostmaster LIKE :needle OR zone_ns1 LIKE :needle
OR zone_ns2 LIKE :needle OR zone_ns3 LIKE :needle
OR zone_mx1 LIKE :needle OR zone_mx2 LIKE :needle
OR zone_info LIKE :needle
ORDER BY zone_origin";
$sth = $dbh->prepare($sql);
$sth->execute(['needle' => $needle]);
$zones = $sth->fetchAll();
$resultcounter += count($zones);
$smarty->assign("zones", $zones);
// grand totals
$smarty->assign("resultcounter", $resultcounter);
$smarty->display("search.tpl");
include("footer.php");