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
echo _("Password to enter preferences:"); ?>