diff --git a/lam/templates/lists/listusers.php b/lam/templates/lists/listusers.php
index 7528d735..88383834 100644
--- a/lam/templates/lists/listusers.php
+++ b/lam/templates/lists/listusers.php
@@ -20,6 +20,10 @@ $Id$
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+// must be put in config file ...
+// maximum count of user entries shown on one page
+$max_pageentrys = 3;
+
include_once ("../../lib/config.inc");
include_once("../../lib/ldap.inc");
@@ -29,19 +33,19 @@ session_save_path("../../sess");
// check if button was pressed and if we have to add/delete a user
if ($_POST['new_user'] || $_POST['del_user']){
- // add new user
- if ($_POST['new_user']){
- echo("");
- exit;
- }
- // delete user(s)
- if ($_POST['del_user']){
- // search for checkboxes
- $users = array_keys($_POST, "on");
- $userstr = implode(";", $users);
- echo("");
- }
- exit;
+ // add new user
+ if ($_POST['new_user']){
+ echo("");
+ exit;
+ }
+ // delete user(s)
+ if ($_POST['del_user']){
+ // search for checkboxes
+ $users = array_keys($_POST, "on");
+ $userstr = implode(";", $users);
+ echo("");
+ }
+ exit;
}
echo "
listusers\n";
@@ -55,20 +59,23 @@ $desc_array; // list of descriptions for the attributes
$attr_string = $_SESSION["config"]->get_userlistAttributes();
$temp_array = explode(";", $attr_string);
$hash_table = $_SESSION["ldap"]->attributeUserArray();
+$page = $_GET["page"];
+if (!$page)
+ $page = 1;
for ($i = 0; $i < sizeof($temp_array); $i++) {
-// if value is predifined, look up description in hash_table
-if (substr($temp_array[$i],0,1) == "#") {
- $attr = substr($temp_array[$i],1);
- $attr_array[$i] = $attr;
- $desc_array[] = $hash_table[$attr];
-}
-// if not predefined, the attribute is seperated by a ":" from description
-else {
- $attr = explode(":", $temp_array[$i]);
- $attr_array[$i] = $attr[0];
- $desc_array[$i] = $attr[1];
-}
+ // if value is predifined, look up description in hash_table
+ if (substr($temp_array[$i],0,1) == "#") {
+ $attr = substr($temp_array[$i],1);
+ $attr_array[$i] = $attr;
+ $desc_array[] = $hash_table[$attr];
+ }
+ // if not predefined, the attribute is seperated by a ":" from description
+ else {
+ $attr = explode(":", $temp_array[$i]);
+ $attr_array[$i] = $attr[0];
+ $desc_array[$i] = $attr[1];
+ }
}
// configure search filter
@@ -85,41 +92,64 @@ for ($k = 0; $k < sizeof($desc_array); $k++) {
$filter = $filter . ")";
-$attrs = $attr_array;
-$sr = @ldap_search($_SESSION["ldap"]->server(),
- $_SESSION["config"]->get_UserSuffix(),
- $filter, $attrs, 0, 1000);
-if ($sr) {
- $info = ldap_get_entries($_SESSION["ldap"]->server, $sr);
- ldap_free_result($sr);
- if ($info["count"] == 0) echo ("
" .
- _("No Users found!") .
- "
");
+if ($_SESSION["userlist"] && !$_POST['refresh'] && !$_POST["apply_filter"]) {
+ if ($_GET["sort"])
+ usort ($_SESSION["userlist"], "cmp_array");
+ $userinfo = $_SESSION["userlist"];
+} else {
+
+ $attrs = $attr_array;
+ $sr = @ldap_search($_SESSION["ldap"]->server(),
+ $_SESSION["config"]->get_UserSuffix(),
+ $filter, $attrs, 0, 1000);
+ if ($sr) {
+ $userinfo = ldap_get_entries ($_SESSION["ldap"]->server, $sr);
+ ldap_free_result ($sr);
+ if ($userinfo["count"] == 0) echo ("
" .
+ _("No Users found!") .
+ "
");
+ // delete first array entry which is "count"
+ array_shift($userinfo);
+ $_SESSION["userlist"] = $userinfo;
+ }
+ else echo ("
" .
+ _("LDAP Search failed! Please check your preferences.
No Users found!") .
+ "
");
}
-else echo ("
" . _("LDAP Search failed! Please check your preferences.
No Users found!") . "
");
echo ("