From 3690501ca15bcae9c8a9cd425126061a23700a69 Mon Sep 17 00:00:00 2001 From: Miles Lott Date: Thu, 29 Mar 2001 03:39:40 +0000 Subject: [PATCH] Add new setup configs for ldap homedir and shell --- admin/editaccount.php | 34 +++++++++++++++---- admin/newaccount.php | 32 +++++++++++++---- admin/setup/config.inc.php | 16 +++++++++ admin/templates/default/account_form_ldap.tpl | 4 +-- .../templates/verdilak/account_form_ldap.tpl | 4 +-- 5 files changed, 72 insertions(+), 18 deletions(-) diff --git a/admin/editaccount.php b/admin/editaccount.php index eff8f6213d..e0dedec322 100755 --- a/admin/editaccount.php +++ b/admin/editaccount.php @@ -26,11 +26,22 @@ $t = new Template($phpgw->common->get_tpl_dir('admin')); $t->set_unknowns('remove'); - $t->set_file(array( - 'form' => 'account_form.tpl', - 'form_passwordinfo' => 'account_form_password.tpl', - 'form_buttons_' => 'account_form_buttons.tpl', - )); + + if ($phpgw_info["server"]["ldap_extra_attributes"] && ($phpgw_info['server']['account_repository'] == 'ldap')) { + $t->set_file(array( + 'form' => 'account_form_ldap.tpl', + 'form_passwordinfo' => 'account_form_password.tpl', + 'form_buttons_' => 'account_form_buttons.tpl' + )); + } + else + { + $t->set_file(array( + 'form' => 'account_form.tpl', + 'form_passwordinfo' => 'account_form_password.tpl', + 'form_buttons_' => 'account_form_buttons.tpl', + )); + } if ($_userData) { @@ -77,6 +88,13 @@ $t->set_var('account_lid',''); + if ($phpgw_info["server"]["ldap_extra_attributes"]) { + $t->set_var("lang_homedir",lang("home directory")); + $t->set_var("lang_shell",lang("shell")); + $t->set_var("homedirectory",''); + $t->set_var("loginshell",''); + } + $t->set_var('account_passwd',$account_passwd); $t->set_var('account_passwd_2',$account_passwd_2); $t->parse('password_fields','form_passwordinfo',True); @@ -263,7 +281,7 @@ if ($_userData['old_loginid'] != $_userData['account_lid']) { - if (account_exsists($_userData['account_loginid'])) + if (account_exists($_userData['account_loginid'])) { $error[$totalerrors] = lang('That loginid has already been taken'); $totalerrors++; @@ -314,7 +332,9 @@ 'account_id' => $account_id, 'account_passwd_2' => $account_passwd_2, 'account_groups' => $account_groups, - 'account_permissions' => $account_permissions + 'account_permissions' => $account_permissions, + 'homedirectory' => $homedirectory, + 'loginshell' => $loginshell ); if (!$errors = userDataInvalid($userData)) diff --git a/admin/newaccount.php b/admin/newaccount.php index 933f7a1a10..e61fa543cd 100755 --- a/admin/newaccount.php +++ b/admin/newaccount.php @@ -83,7 +83,7 @@ 'phpgw_acl', 'phpgw_applications' )); - $phpgw->accounts->create('u', $account_lid, $account_passwd, $account_firstname, $account_lastname, $account_status); + $phpgw->accounts->create('u', $account_lid, $account_passwd, $account_firstname, $account_lastname, $account_status,$homedirectory,$loginshell); $account_id = $phpgw->accounts->name2id($account_lid); @@ -173,11 +173,22 @@ } $phpgw->template->set_unknowns('remove'); - $phpgw->template->set_file(array( - 'form' => 'account_form.tpl', - 'form_passwordinfo' => 'account_form_password.tpl', - 'form_buttons_' => 'account_form_buttons.tpl', - )); + + if ($phpgw_info["server"]["ldap_extra_attributes"] && $phpgw_info['server']['account_repository'] == 'ldap') { + $phpgw->template->set_file(array( + 'form' => 'account_form_ldap.tpl', + 'form_passwordinfo' => 'account_form_password.tpl', + 'form_buttons_' => 'account_form_buttons.tpl' + )); + } + else + { + $phpgw->template->set_file(array( + 'form' => 'account_form.tpl', + 'form_passwordinfo' => 'account_form_password.tpl', + 'form_buttons_' => 'account_form_buttons.tpl', + )); + } $phpgw->common->phpgw_header(); echo parse_navbar(); @@ -211,7 +222,14 @@ $phpgw->template->set_var('lang_password',lang('Password')); $phpgw->template->set_var('account_passwd',$account_passwd); - + + if ($phpgw_info["server"]["ldap_extra_attributes"]) { + $phpgw->template->set_var("lang_homedir",lang("home directory")); + $phpgw->template->set_var("lang_shell",lang("shell")); + $phpgw->template->set_var("homedirectory",''); + $phpgw->template->set_var("loginshell",''); + } + $phpgw->template->set_var('lang_reenter_password',lang('Re-Enter Password')); $phpgw->template->set_var('account_passwd_2',$account_passwd_2); $phpgw->template->parse('password_fields','form_passwordinfo',True); diff --git a/admin/setup/config.inc.php b/admin/setup/config.inc.php index 847fccfed8..a97ac45e20 100644 --- a/admin/setup/config.inc.php +++ b/admin/setup/config.inc.php @@ -33,6 +33,22 @@ + + If using LDAP, do you want to store homedirectory and loginshell attributes for new accounts?: + > + + +    LDAP Default homedirectory prefix (e.g. /home for /home/username): + "> + + + +    LDAP Default shell (e.g. /bin/bash): + "> + + + + Auto create account records for authenticated users: > diff --git a/admin/templates/default/account_form_ldap.tpl b/admin/templates/default/account_form_ldap.tpl index 9006745f6f..03f9449980 100644 --- a/admin/templates/default/account_form_ldap.tpl +++ b/admin/templates/default/account_form_ldap.tpl @@ -25,9 +25,9 @@ {lang_homedir} - {account_home}  + {homedirectory}  {lang_shell} - {account_shell}  + {loginshell}  {password_fields} diff --git a/admin/templates/verdilak/account_form_ldap.tpl b/admin/templates/verdilak/account_form_ldap.tpl index 9006745f6f..03f9449980 100644 --- a/admin/templates/verdilak/account_form_ldap.tpl +++ b/admin/templates/verdilak/account_form_ldap.tpl @@ -25,9 +25,9 @@ {lang_homedir} - {account_home}  + {homedirectory}  {lang_shell} - {account_shell}  + {loginshell}  {password_fields}