<?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(); $smarty->assign('location_count', count($locations)); // 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"); ?>