_("User ID"), "uidnumber" => _("UID number"), "gidnumber" => _("GID number"), "cn" => _("User name"), "host" => _("Allowed hosts"), "givenname" => _("First name"), "sn" => _("Last name"), "homedirectory" => _("Home directory"), "loginshell" => _("Login shell"), "mail" => _("E-Mail"), "gecos" => _("Description") ); } } /** * Generates the list view. * * @package lists * @author Roland Gruber * */ class lamUserList extends lamList { /** Controls if GID number is translated to group name */ var $trans_primary = false; /** translates GID to group name */ var $trans_primary_hash = array(); /** * Constructor * * @param string $type account type * @return lamList list object */ function lamUserList($type) { parent::lamList($type); $this->labels = array( 'nav' => _("%s user(s) found"), 'error_noneFound' => _("No users found!"), 'newEntry' => _("New user"), 'deleteEntry' => _("Delete user"), 'createPDF' => _("Create PDF for selected user(s)"), 'createPDFAll' => _("Create PDF for all users")); } /** * Manages all POST actions (e.g. button pressed) for the account lists. */ function listDoPost() { parent::listDoPost(); // check if primary group should be translated if (isset($_POST['apply_trans_primary'])) { $this->trans_primary = $_POST['trans_primary']; } // generate hash table for group translation if ($this->trans_primary == "on" && ($this->refresh || (sizeof($this->trans_primary_hash) == 0))) { $this->trans_primary_hash = array(); $grp_suffix = $_SESSION['config']->get_Suffix('group'); $filter = "objectClass=posixGroup"; $attrs = array("cn", "gidNumber"); $sr = @ldap_search($_SESSION["ldap"]->server(), $grp_suffix, $filter, $attrs); if ($sr) { $info = @ldap_get_entries($_SESSION["ldap"]->server(), $sr); unset($info['count']); // delete count entry for ($i = 0; $i < sizeof($info); $i++) { $this->trans_primary_hash[$info[$i]['gidnumber'][0]] = $info[$i]['cn'][0]; } } } } /** * Prints the entry list * * @param array $info entries */ function listPrintTableBody($info) { // calculate which rows to show $table_begin = ($this->page - 1) * $this->maxPageEntries; if (($this->page * $this->maxPageEntries) > sizeof($info)) $table_end = sizeof($info); else $table_end = ($this->page * $this->maxPageEntries); // translate GIDs and resort array if selected if ($this->trans_primary == "on") { // translate GIDs for ($i = 0; $i < sizeof($info); $i++) { if (isset($this->trans_primary_hash[$info[$i]['gidnumber'][0]])) { $info[$i]['gidnumber'][0] = $this->trans_primary_hash[$info[$i]['gidnumber'][0]]; } } // resort if needed if ($this->sortColumn == "gidnumber") { $info = $this->listSort($info); } } // print account list for ($i = $table_begin; $i < $table_end; $i++) { echo("
\n"; echo "" . _("Translate GID number to group name") . ": "; if ($this->trans_primary == "on") { echo ""; } else echo ""; echo (" "); echo "
\n"; } echo ("\n"); parent::listPrintButtons($createOnly); } } ?>