43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			43 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");
 | |
| 		
 | |
| $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");
 | |
| ?>
 |