* Add a nas administration page for sql based clients
* Fix small bugs in accounting.php3 and user_stats.php3. Add nas_admin.php3 to the buttons page
* Add da_sql_escape_string for all relevant variables in lib/sql files
+* Keep the nas list in a separate array $nas_list. Update various pages to use that one now.
Ver 1.68:
* Huge PostgreSQL compatibility patch by Guy Fraser <guy@incentre.net>
@session_start();
}
if (!isset($config)){
+ unset($nas_list);
$ARR=file("../conf/admin.conf");
$EXTRA_ARR = array();
foreach($ARR as $val) {
$val=$config[$matches[1]];
$v=preg_replace("/%\{$matches[1]\}/",$val,$v);
}
+ if (preg_match("/^general_nas(\d+)_(\w+)$/",$key,$matches))
+ $nas_list[$matches[2]][$matches[1]] = $key;
if ($key == 'INCLUDE'){
if (is_readable($v))
array_push($EXTRA_ARR,file($v));
$val=$config[$matches[1]];
$v=preg_replace("/%\{$matches[1]\}/",$val,$v);
}
+ if (preg_match("/^general_nas(\d+)_(\w+)$/",$key,$matches))
+ $nas_list[$matches[2]][$matches[1]] = $key;
$config["$key"]="$v";
}
}
- if ($use_session)
+ if ($use_session){
session_register('config');
+ session_register('nas_list');
+ }
+
}
if ($use_session == 0 && $config[general_use_session] == 'yes'){
// Start session
</td></tr><tr><td>
<select name="server">
<?php
-while(1){
- $i++;
- $name = 'nas' . $i . '_name';
- if ($config[$name] == ''){
- $i--;
- break;
- }
- $name_ip = 'nas' . $i . '_ip';
- $ip = $config[$name_ip];
- $name = $config[$name];
- $servers[$name] = $ip;
+foreach ($nas_list as $nas){
+ $name = $nas[name];
+ $servers[$name] = $nas[ip];
}
ksort($servers);
foreach ($servers as $name => $ip){
}
$i = 1;
$servers[all] = 'all';
-while(1){
- $nas = 'nas' . $i;
- $ip = $nas . '_ip';
- $name = $nas . '_name';
- if ($config[$ip] == '')
- break;
- $name = $config[$name];
- $servers[$name] = $config[$ip];
+foreach ($nas_list as $nas){
+ $name = $nas[name];
+ $servers[$name] = $nas[ip];
$i++;
}
ksort($servers);
if ($link){
$h = 21;
$servers_num = 0;
- while(1){
- $i++;
+ foreach($nas_list as $nas){
$num = 0;
- $nas = 'nas' . $i;
- $name = $nas . '_name';
- $model = $nas . '_model';
- $community = $nas . '_community';
- $ip = $nas . '_ip';
- $portnum = $nas . '_port_num';
- $finger_type = $nas . '_finger_type';
-
- if ($config[$name] == ''){
- $i--;
- break;
- }
if ($server != ''){
- if ($config[$name] == $server)
+ if ($nas[name] == $server)
$servers_num++;
else
continue;
}
else
$servers_num++;
- $name_data = $config[$ip];
- $community_data = $config[$community];
- $server_name[$servers_num] = $config[$name];
- $server_model[$servers_num] = $config[$model];
+ $name_data = $nas[ip];
+ $community_data = $nas[community];
+ $server_name[$servers_num] = $nas[name];
+ $server_model[$servers_num] = $nas[model];
if ($config[general_ld_library_path] != '')
putenv("LD_LIBRARY_PATH=$config[general_ld_library_path]");
$extra = "";
if ($config[$finger_type] != 'database' && $config[general_finger_type] == 'snmp'){
- $nas_type = $nas . '_type';
if ($config[$nas_type] == '')
$nas_type = $config[general_nas_type];
else
- $nas_type = $config[$nas_type];
+ $nas_type = $nas[type];
if ($nas_type == '')
$nas_type = 'cisco';
<tr><td>
<select name="server">
<?php
-while(1){
- $i++;
- $name = 'nas' . $i . '_name';
- if ($config[$name] == ''){
- $i--;
- break;
- }
- $name_ip = 'nas' . $i . '_ip';
- $ip = $config[$name_ip];
- $name = $config[$name];
- $servers[$name] = $ip;
+foreach ($nas_list as $nas){
+ $name = $nas[name];
+ $servers[$name] = $nas[ip];
}
ksort($servers);
foreach ($servers as $name => $ip){