47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?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");
 | 
						|
		
 | 
						|
$query = "SELECT
 | 
						|
	location_id AS id,
 | 
						|
	location_name AS value,
 | 
						|
	location_parent AS parent_id
 | 
						|
FROM
 | 
						|
	location
 | 
						|
ORDER BY location_parent, location_sort, location_name";
 | 
						|
 | 
						|
$locations = $db->db_select($query);
 | 
						|
 | 
						|
// 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");
 | 
						|
?>
 |