Changes adopted from version 0.5

This commit is contained in:
2023-02-13 10:42:09 +01:00
parent faf5f368f5
commit 76ccecca7f
198 changed files with 10261 additions and 5068 deletions

View File

@@ -1,7 +1,7 @@
<?php
/*****************************************************************************
IP Reg, a PHP/MySQL IPAM tool
Copyright (C) 2008 Wietse Warendorff
Copyright (C) 2007-2009 Wietse Warendorff
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,78 +20,108 @@
or contact me at wietsew@users.sourceforge.net
*****************************************************************************/
// includes
include("includes.php");
// check authorisation
$auth = auth("location", $config_auth_locationview, 0);
// start output
include("header.php");
// set template
$tp = new Template("tpl/location.tpl");
// set language variables
$tp->setvars($lang);
// create array with parent index and location names
$parents = array();
$location_names = array();
// get location information and insert to the arrays
$result = mysql_query("SELECT location_id, location_name, parent FROM location") or die(mysql_error());
while ($row = mysql_fetch_object($result)) {
$location_names[$row->location_id] = $row->location_name;
$parents[$row->parent][] = $row->location_id;
}
// look for parents and create a new array for every child
function location($parents, $parent = 0) {
$children = array();
foreach ($parents[$parent] as $child) {
if (isset($parents[$child])) {
// element has children
$children[$child] = location($parents, $child);
} else {
// no children, set NULL
$children[$child] = NULL;
}
}
return $children;
}
// recursive children check to template
function checkchildren ($array, $level) {
global $tp;
global $location_names;
foreach ($array as $location_id=>$val) {
if($val != "") {
$tp->set("location_id", $location_id);
$tp->set("location_name", $location_names[$location_id]);
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
$tp->parse("locationrow");
checkchildren($val, $level+1);
} else {
$tp->set("location_id", $location_id);
$tp->set("location_name", $location_names[$location_id]);
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
$tp->parse("locationrow");
}
}
$tp->parse("location");
$tp->clear("location");
}
// assemble the tree
$tree = location($parents);
// check for values and build template
checkchildren($tree, 0);
// start page
// includes
include("includes.php");
// output
$tp->parse();
$tp->spit();
// start output
include("header.php");
// set template
$tp = new Template("tpl/location.tpl", $config_yapter_error);
// set language variables
$tp->setvars($lang);
include("footer.php");
// start location
// look for locations
// build query
$query = "SELECT
location.location_id AS location_id,
location.location_name AS location_name,
location.location_parent AS location_parent
FROM
location
ORDER BY
location.location_name";
// run query
$locations = $db->db_select($query);
// count results
$location_counter = count($locations);
// counter to tpl
$tp->set("location_counter", $location_counter);
// any loactions?
if ($location_counter>0) {
// get objects
foreach($locations AS $location) {
// create arrays
$location_names[$location['location_id']] = $location['location_name'];
$parents[$location['location_parent']][] = $location['location_id'];
}
}
// look for parents
// function to look for parents and create a new array for every child
function location($parents, $parent = 0) {
// loop array to check
foreach($parents[$parent] as $child) {
if(isset($parents[$child])) {
// element has children
$children[$child] = location($parents, $child);
} else {
// no children, set NULL
$children[$child] = NULL;
}
}
// and again...
return $children;
}
// to tpl
// recursive children check to template
function checkchildren($locations, $level) {
// include template class
global $tp;
// import location names
global $location_names;
// action!
foreach ($locations as $parent=>$child) {
// send vars to template
$tp->set("location_id", $parent);
$tp->set("location_name", $location_names[$parent]);
$tp->set("nbsp", str_repeat("-&nbsp;&nbsp;",$level));
$tp->parse("location_row");
// any children?
if($child != "") {
// yes, so do the loop again!
checkchildren($child, $level+1);
}
}
// parse and clear for the next round
$tp->parse("location_table");
$tp->clear("location_table");
}
// assemble the tree
$tree = location($parents);
// check for values and build template
checkchildren($tree, 0);
// end page
// output
$tp->parse();
$tp->spit();
// footer
include("footer.php");
?>