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