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.
42 lines
1.2 KiB
42 lines
1.2 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");
|
|
|
|
$sql = "SELECT location_id AS id, location_name AS value, location_parent AS parent_id
|
|
FROM location
|
|
ORDER BY location_parent, location_sort, location_name";
|
|
$sth = $dbh->query($sql);
|
|
$locations = $sth->fetchAll();
|
|
|
|
// function for recursion
|
|
function build_tree($parent_id, $level) {
|
|
global $locations;
|
|
$children = array();
|
|
foreach ($locations as $key => $location) {
|
|
if ($location['parent_id'] == $parent_id) {
|
|
unset($location['parent_id']);
|
|
$location['children'] = build_tree($location['id'], $level+1);
|
|
$location['level'] = $level;
|
|
$location['href'] = 'locationview.php?location_id=' . $location['id'];
|
|
$children[] = $location;
|
|
}
|
|
}
|
|
return $children;
|
|
}
|
|
|
|
$tree = build_tree(0, 0);
|
|
$smarty->assign("locations", $tree);
|
|
|
|
$smarty->display("location.tpl");
|
|
|
|
include("footer.php");
|
|
?>
|
|
|