diff --git a/lam/config/lam.conf_sample b/lam/config/lam.conf_sample
index 1dc83f2b..50964209 100644
--- a/lam/config/lam.conf_sample
+++ b/lam/config/lam.conf_sample
@@ -8,7 +8,6 @@ serverURL: ldap://localhost:389
# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org
admins: cn=Manager,dc=my-domain,dc=com
-
# password to change these preferences via webfrontend
passwd: lam
@@ -59,3 +58,6 @@ grouplistAttributes: #cn;#gidNumber;#memberUID;#description
# or individual ones (e.g. 'cn:Host Name')
# values have to be seperated by semicolons
hostlistAttributes: #cn;#rid;#description;gidNumber:GID
+
+# maximum number of rows to show in user/group/host lists
+maxlistentries: 30
diff --git a/lam/lib/config.inc b/lam/lib/config.inc
index b731c5c9..81fa9318 100644
--- a/lam/lib/config.inc
+++ b/lam/lib/config.inc
@@ -73,6 +73,8 @@ class Config {
var $userlistAttributes;
var $grouplistAttributes;
var $hostlistAttributes;
+
+ // maximum number of rows shown in user/group/host list
var $maxlistentries;
// constructor, loads preferences from ../config/lam.conf
@@ -151,6 +153,10 @@ class Config {
$this->hostlistAttributes = chop(substr($line, 20, strlen($line)-20));
continue;
}
+ if (substr($line, 0, 16) == "maxlistentries: ") {
+ $this->maxlistentries = chop(substr($line, 16, strlen($line)-16));
+ continue;
+ }
}
fclose($file);
}
@@ -173,7 +179,7 @@ class Config {
// booleans to check if value was already saved
$save_serverURL = $save_passwd = $save_admins = $save_suffusr = $save_suffgrp = $save_suffhst =
$save_minUID = $save_maxUID = $save_minGID = $save_maxGID = $save_minMach = $save_maxMach =
- $save_usrlstatrr = $save_grplstatrr = $save_hstlstatrr = False;
+ $save_usrlstatrr = $save_grplstatrr = $save_hstlstatrr = $maxlstent = False;
$file = fopen($conffile, "r");
$file_array = array();
while (!feof($file)) {
@@ -258,6 +264,11 @@ class Config {
$save_hstlstattr = True;
continue;
}
+ if (substr($file_array[$i], 0, 16) == "maxlistentries: ") {
+ $file_array[$i] = "maxlistentries: " . $this->maxlistentries . "\n";
+ $save_maxlstent = True;
+ continue;
+ }
}
// check if we have to add new entries (e.g. if user upgraded LAM and has an old lam.conf)
if (!$save_serverURL == True) array_push($file_array, "\n\n# server address (e.g. ldap://localhost:389 or ldaps://localhost:636)\n" . "serverURL: " . $this->ServerURL);
@@ -283,6 +294,7 @@ class Config {
"\n# or individual ones (e.g. 'cn:Group Name')\n# values have to be seperated by semicolons\n" . "grouplistAttributes: " . $this->grouplistAttributes);
if (!$save_hstlstattr == True) array_push($file_array, "\n\n# list of attributes to show in host list\n# entries can either be predefined values (e.g. '#cn' or '#uid')" .
"\n# or individual ones (e.g. 'cn:Host Name')\n# values have to be seperated by semicolons\n" . "hostlistAttributes: " . $this->hostlistAttributes);
+ if (!$save_maxlstent == True) array_push($file_array, "\n\n# maximum number of rows to show in user/group/host lists\n" . "maxlistentries: " . $this->maxlistentries);
$file = fopen($conffile, "w");
if ($file) {
for ($i = 0; $i < sizeof($file_array); $i++) fputs($file, $file_array[$i]);
@@ -310,7 +322,8 @@ class Config {
echo _("maxMachine: ") . $this->MaxMachine . "
";
echo _("userlistAttributes: ") . $this->userlistAttributes . "
";
echo _("grouplistAttributes: ") . $this->grouplistAttributes . "
";
- echo _("hostlistAttributes: ") . $this->hostlistAttributes;
+ echo _("hostlistAttributes: ") . $this->hostlistAttributes . "
";
+ echo _("maxlistentries: ") . $this->maxlistentries;
}
// functions to read/write preferences
diff --git a/lam/tests/conf-test.php b/lam/tests/conf-test.php
index d7f75f53..23f9d20e 100644
--- a/lam/tests/conf-test.php
+++ b/lam/tests/conf-test.php
@@ -46,6 +46,7 @@ $MaxMachine = $conf->get_maxMachine();
$userlistAttributes = $conf->get_userlistAttributes();
$grouplistAttributes = $conf->get_grouplistAttributes();
$hostlistAttributes = $conf->get_hostlistAttributes();
+$maxlistentries = $conf->get_maxlistentries();
echo ("done
");
// next we modify them and save lam.conf
echo ("Changing preferences...");
@@ -65,6 +66,7 @@ $conf->set_maxMachine("47");
$conf->set_userlistAttributes("#uid;#cn");
$conf->set_grouplistAttributes("#gidNumber;#cn;#memberUID");
$conf->set_hostlistAttributes("#cn;#uid;#description");
+$conf->set_maxlistentries("54");
$conf->save();
echo ("done
");
// at last all preferences are read from lam.conf and compared
@@ -88,6 +90,7 @@ if ($conf->get_maxMachine() != "47") echo ("
Saving m
if ($conf->get_userlistAttributes() != "#uid;#cn") echo ("
Saving userlistAttributes failed!
");
if ($conf->get_grouplistAttributes() != "#gidNumber;#cn;#memberUID") echo ("
Saving grouplistAttributes failed!
");
if ($conf->get_hostlistAttributes() != "#cn;#uid;#description") echo ("
Saving hostlistAttributes failed!
");
+if ($conf->get_maxlistentries() != "54") echo ("
Saving maxlistentries failed!
");
echo ("done
");
// restore old values
echo ("Restoring old preferences...");
@@ -107,6 +110,7 @@ $conf->set_maxMachine($MaxMachine);
$conf->set_userlistAttributes($userlistAttributes);
$conf->set_grouplistAttributes($grouplistAttributes);
$conf->set_hostlistAttributes($hostlistAttributes);
+$conf->set_maxlistentries($maxlistentries);
$conf->save();
echo ("done
");
// finished