diff --git a/lam/config/config.php b/lam/config/config.php index 273aab84..7124935f 100644 --- a/lam/config/config.php +++ b/lam/config/config.php @@ -25,21 +25,36 @@ $Id$ // Config supplies access to the configuration data. class Config { + // string: can be "True" or "False" // use SSL-connection? var $SSL; + // string: hostname var $Host; + // string: port number var $Port; + // array of strings: users with admin rights var $Admins; + // string: password to edit preferences var $Passwd; // single line with the names of all admin users var $Adminstring; + // suffix for users + var $suff_users; + + // suffix for groups + var $suff_groups; + + // suffix for Samba hosts + var $suff_hosts; + + // constructor, loads preferences from ../lam.conf function Config() { $this->reload(); @@ -75,6 +90,18 @@ class Config { $this->Admins = explode(";", $adminstr); continue; } + if (substr($line, 0, 12) == "usersuffix: ") { + $this->suff_users = chop(substr($line, 12, strlen($line)-12)); + continue; + } + if (substr($line, 0, 13) == "groupsuffix: ") { + $this->suff_groups = chop(substr($line, 13, strlen($line)-13)); + continue; + } + if (substr($line, 0, 12) == "hostsuffix: ") { + $this->suff_hosts = chop(substr($line, 12, strlen($line)-12)); + continue; + } } fclose($file); } @@ -87,7 +114,7 @@ class Config { function save() { $conffile = "../lam.conf"; if (is_file($conffile) == True) { - $save_ssl = $save_host = $save_port = $save_passwd = $save_admins = False; + $save_ssl = $save_host = $save_port = $save_passwd = $save_admins = $save_suffusr = $save_suffgrp = $save_suffhst = False; $file = fopen($conffile, "r"); $file_array = array(); while (!feof($file)) { @@ -121,15 +148,36 @@ class Config { $save_admins = True; continue; } + if (substr($file_array[$i], 0, 12) == "usersuffix: ") { + $file_array[$i] = "usersuffix: " . $this->suff_users . "\n"; + $save_suffusr = True; + continue; + } + if (substr($file_array[$i], 0, 13) == "groupsuffix: ") { + $file_array[$i] = "groupsuffix: " . $this->suff_groups . "\n"; + $save_suffgrp = True; + continue; + } + if (substr($file_array[$i], 0, 12) == "hostsuffix: ") { + $file_array[$i] = "hostsuffix: " . $this->suff_hosts . "\n"; + $save_suffhst = True; + continue; + } } - // check if we have to add new entries - if (!$save_ssl == True) array_push($file_array, "# use SSL to connect, can be True or False\n" . "ssl: " . $this->SSL); - if (!$save_host == True) array_push($file_array, "# hostname of LDAP server (e.g localhost)\n" . "ssl: " . $this->Host); - if (!$save_port == True) array_push($file_array, "# portnumber of LDAP server (default 389)\n" . "ssl: " . $this->Port); - if (!$save_passwd == True) array_push($file_array, "# password to change these preferences via webfrontend\n" . "ssl: " . $this->Passwd); - if (!$save_admins == True) array_push($file_array, "# list of users who are allowed to use LDAP Account Manager\n - # names have to be seperated by semicolons\n - # e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org\n" . "ssl: " . $this->Admins); + // check if we have to add new entries (e.g. if user upgraded LAM) + if (!$save_ssl == True) array_push($file_array, "\n# use SSL to connect, can be True or False\n" . "ssl: " . $this->SSL); + if (!$save_host == True) array_push($file_array, "\n# hostname of LDAP server (e.g localhost)\n" . "host: " . $this->Host); + if (!$save_port == True) array_push($file_array, "\n# portnumber of LDAP server (default 389)\n" . "port: " . $this->Port); + if (!$save_passwd == True) array_push($file_array, "\n# password to change these preferences via webfrontend\n" . "passwd: " . $this->Passwd); + if (!$save_admins == True) array_push($file_array, "\n# list of users who are allowed to use LDAP Account Manager\n" . + "# names have to be seperated by semicolons\n" . + "# e.g. admins: cn=admin,dc=yourdomain,dc=org;cn=root,dc=yourdomain,dc=org\n" . "admins: " . $this->Admins); + if (!$save_suffusr == True) array_push($file_array, "\n# suffix of users\n" . + "# e.g. ou=People,dc=yourdomain,dc=org\n" . "usersuffix: " . $this->suff_users); + if (!$save_suffgrp == True) array_push($file_array, "\n# suffix of groups\n" . + "# e.g. ou=Groups,dc=yourdomain,dc=org\n" . "groupsuffix: " . $this->suff_groups); + if (!$save_suffhst == True) array_push($file_array, "\n# suffix of hosts\n" . + "# e.g. ou=machines,dc=yourdomain,dc=org\n" . "hostsuffix: " . $this->suff_hosts); $file = fopen($conffile, "w"); for ($i = 0; $i < sizeof($file_array); $i++) fputs($file, $file_array[$i]); fclose($file); @@ -141,7 +189,10 @@ class Config { echo _("SSL: " ) . $this->SSL . "
"; echo _("Host: ") . $this->Host . "
"; echo _("Port: ") . $this->Port . "
"; - echo _("Admins: ") . $this->Adminstring; + echo _("Admins: ") . $this->Adminstring . "
"; + echo _("UserSuffix: ") . $this->suff_users . "
"; + echo _("GroupSuffix: ") . $this->suff_groups . "
"; + echo _("HostSuffix: ") . $this->suff_hosts; } function get_SSL() { @@ -209,6 +260,33 @@ class Config { else echo _("Config->set_Passwd failed!"); } + function get_UserSuffix() { + return $this->suff_users; + } + + function set_UserSuffix($value) { + if (is_string($value)) $this->suff_users = $value; + else echo _("Config->set_UserSuffix failed!"); + } + + function get_GroupSuffix() { + return $this->suff_groups; + } + + function set_GroupSuffix($value) { + if (is_string($value)) $this->suff_groups = $value; + else echo _("Config->set_GroupSuffix failed!"); + } + + function get_HostSuffix() { + return $this->suff_hosts; + } + + function set_HostSuffix($value) { + if (is_string($value)) $this->suff_hosts = $value; + else echo _("Config->set_HostSuffix failed!"); + } + } -?> \ No newline at end of file +?> diff --git a/lam/config/conflogin.php b/lam/config/conflogin.php index 5ca52d6e..b9760e23 100644 --- a/lam/config/conflogin.php +++ b/lam/config/conflogin.php @@ -33,7 +33,7 @@ $Id$ -

LDAP Account Manager



+




diff --git a/lam/config/confmain.php b/lam/config/confmain.php index e5072e46..73eef583 100644 --- a/lam/config/confmain.php +++ b/lam/config/confmain.php @@ -43,7 +43,7 @@ echo ("\n"); echo ("" . _("LDAP Account Manager Configuration") . "\n"); echo ("\n"); echo ("\n"); -echo ("

LDAP Account Manager



\n"); +echo ("




\n"); echo ("\n"); echo ("

"); echo ("\n"); @@ -52,7 +52,14 @@ echo _("get_SSL() == "True") echo ("\n"); else echo ("\n"); echo ("\n"); -echo _("\n"); +echo _("\n"); +echo (""); +echo ("\n"); +echo _("\n"); +echo ("\n"); +echo _("\n"); +echo ("\n"); +echo _("\n"); echo (""); echo ("\n"); echo ("\n"); diff --git a/lam/config/confsave.php b/lam/config/confsave.php index 8102a1b2..38f6869e 100644 --- a/lam/config/confsave.php +++ b/lam/config/confsave.php @@ -46,6 +46,14 @@ if (chop($admins) == "") { echo _("" . _("List of admin users is empty!") . ""); exit; } +if (chop($suffusers) == "") { + echo _("" . _("UserSuffix is empty!") . ""); + exit; +} +if (chop($suffgroups) == "") { + echo _("" . _("UserSuffix is empty!") . ""); + exit; +} // set new preferences $conf->set_Host($host); @@ -53,8 +61,11 @@ $conf->set_Port($port); $conf->set_Adminstring($admins); if ($ssl == "on") $conf->set_SSL("True"); else $conf->set_SSL("False"); +$conf->set_UserSuffix($suffusers); +$conf->set_GroupSuffix($suffgroups); +$conf->set_HostSuffix($suffhosts); -echo ("

LDAP Account Manager



"); +echo ("




"); // check if password was changed @@ -70,4 +81,5 @@ if ($pass1 != "") { $conf->save(); echo ("" . _("Saving the following settings:") . "

"); $conf->printconf(); -?> + +?> \ No newline at end of file diff --git a/lam/lam.conf b/lam/lam.conf index d4f3d3c0..02cf3fd6 100644 --- a/lam/lam.conf +++ b/lam/lam.conf @@ -17,3 +17,14 @@ admins: cn=admin,o=test,c=de;uid=testuser,o=test,c=de # password to change these preferences via webfrontend passwd: lam +# suffix of users +# e.g. ou=People,dc=yourdomain,dc=org +usersuffix: ou=People,o=test,c=de + +# suffix of groups +# e.g. ou=Groups,dc=yourdomain,dc=org +groupsuffix: ou=group,o=test,c=de + +# suffix of hosts +# e.g. ou=machines,dc=yourdomain,dc=org +hostsuffix: ou=machines,o=test,c=de

" . _("Hostname") . ":

get_Host() . "\">

Default is 389, use 636 for SSL connections

" . _("Use SSL") . ":

" . _("Use SSL") . ":

" . _("List of valid users") . ":

get_Adminstring() . "\">

Usernames must be seperated by semicolons
(e.g. cn=admin,dc=yourcompany,dc=com ; uid=root,ou=people,dc=yourcompany,cd=com)

Usernames must be seperated by semicolons
(e.g. cn=admin,dc=yourcompany,dc=com ; uid=root,ou=people,dc=yourcompany,dc=com)

 

" . _("UserSuffix") . ":

get_UserSuffix() . "\">

This is the suffix from where to search for users.
(e.g. ou=People,dc=yourcompany,dc=com)

" . _("GroupSuffix") . ":

get_GroupSuffix() . "\">

This is the suffix from where to search for groups.
(e.g. ou=group,dc=yourcompany,dc=com)

" . _("HostSuffix") . ":

get_HostSuffix() . "\">

This is the suffix from where to search for Samba hosts.
(e.g. ou=machines,dc=yourcompany,dc=com)

 

" . _("New Password") . ":

" . _("Reenter Password") . ":