From 460681253d77ffd7f7841f100493fef1b56b77c0 Mon Sep 17 00:00:00 2001 From: skeeter Date: Fri, 18 May 2001 03:27:28 +0000 Subject: [PATCH] Fixes for bug #424449 --- admin/editaccount.php | 115 ++++++++++++++++++++++++------------------ 1 file changed, 67 insertions(+), 48 deletions(-) diff --git a/admin/editaccount.php b/admin/editaccount.php index e40d2fbe7c..bc3433d08c 100755 --- a/admin/editaccount.php +++ b/admin/editaccount.php @@ -28,7 +28,7 @@ $t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); $t->set_unknowns('remove'); - if ($phpgw_info["server"]["ldap_extra_attributes"] && ($phpgw_info['server']['account_repository'] == 'ldap')) + if ($phpgw_info['server']['ldap_extra_attributes'] && ($phpgw_info['server']['account_repository'] == 'ldap')) { $t->set_file(array('account' => 'account_form_ldap.tpl')); } @@ -40,7 +40,7 @@ $t->set_block('account','form_passwordinfo','form_passwordinfo'); $t->set_block('account','form_buttons_','form_buttons_'); - if ($_userData) + if (is_array($_userData)) { $userData=$_userData; @reset($userData['account_groups']); @@ -73,60 +73,72 @@ } } - $t->set_var('form_action',$phpgw->link('/admin/editaccount.php', - "account_id=$_account_id&old_loginid=".rawurlencode($userData['account_lid']))); - + $error_messages = ''; if ($_errors) { - $t->set_var('error_messages','
' . $phpgw->common->error_list($_errors) . '
'); - } + $error_messages = '
' . $phpgw->common->error_list($_errors) . '
'; + } - $t->set_var('th_bg',$phpgw_info['theme']['th_bg']); - $t->set_var('tr_color1',$phpgw_info['theme']['row_on']); - $t->set_var('tr_color2',$phpgw_info['theme']['row_off']); - - $t->set_var('lang_action',lang('Edit user account')); - $t->set_var('lang_loginid',lang('LoginID')); - $t->set_var('lang_account_active',lang('Account active')); - $t->set_var('lang_password',lang('Password')); - $t->set_var('lang_reenter_password',lang('Re-Enter Password')); - $t->set_var('lang_lastname',lang('Last Name')); - $t->set_var('lang_groups',lang('Groups')); - $t->set_var('lang_expires',lang('Expires')); - $t->set_var('lang_firstname',lang('First Name')); - $t->set_var('lang_button',lang('Save')); + $var = Array( + 'form_action' => $phpgw->link('/admin/editaccount.php','account_id='.$_account_id.'&old_loginid='.rawurlencode($userData['account_lid'])), + 'error_messages' => $error_messages, + 'th_bg' => $phpgw_info['theme']['th_bg'], + 'tr_color1' => $phpgw_info['theme']['row_on'], + 'tr_color2' => $phpgw_info['theme']['row_off'], + 'lang_action' => lang('Edit user account'), + 'lang_loginid' => lang('LoginID'), + 'lang_account_active' => lang('Account active'), + 'lang_password' => lang('Password'), + 'lang_reenter_password' => lang('Re-Enter Password'), + 'lang_lastname' => lang('Last Name'), + 'lang_groups' => lang('Groups'), + 'lang_expires' => lang('Expires'), + 'lang_firstname' => lang('First Name'), + 'lang_button' => lang('Save') + ); + $t->set_var($var); $t->parse('form_buttons','form_buttons_',True); + if ($phpgw_info['server']['ldap_extra_attributes']) { + $lang_homedir = lang('home directory'); + $lang_shell = lang('login shell'); + $homedirectory = ''; + $loginshell = ''; + } + else + { + $lang_homedir = ''; + $lang_shell = ''; + $homedirectory = ''; + $loginshell = ''; + } + $_y = $phpgw->sbox->getyears('account_expires_year',$userData['account_expires_year'],date('Y'),date('Y')+10); $_m = $phpgw->sbox->getmonthtext('account_expires_month',$userData['account_expires_month']); $_d = $phpgw->sbox->getdays('account_expires_day',$userData['account_expires_day']); - $t->set_var('input_expires',$phpgw->common->dateformatorder($_y,$_m,$_d,True)); - - $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("login 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); + + $var = Array( + 'input_expires' => $phpgw->common->dateformatorder($_y,$_m,$_d,True), + 'account_lid' => '', + 'lang_homedir' => $lang_homedir, + 'lang_shell' => $lang_shell, + 'homedirectory' => $homedirectory, + 'loginshell' => $loginshell, + 'account_passwd' => $account_passwd, + 'account_passwd_2' => $account_passwd_2 + ); + $t->set_var($var); $t->parse('password_fields','form_passwordinfo',True); if ($userData['status']) { - $t->set_var('account_status',''); + $account_status = ''; } else { - $t->set_var('account_status',''); + $account_status = ''; } - $t->set_var('account_firstname',''); - $t->set_var('account_lastname',''); - $allAccounts; $userGroups; @@ -146,7 +158,6 @@ $groups_select .= '>' . $value['account_lid'] . ''; } $groups_select .= ''; - $t->set_var('groups_select',$groups_select); // create list of available apps $i = 0; @@ -209,9 +220,16 @@ $appRightsOutput .= sprintf('%s%s',$phpgw_info['theme']['row_on'], $part1, $part2); } - $t->set_var('permissions_list',$appRightsOutput); + $var = Array( + 'account_status' => $account_status, + 'account_firstname' => '', + 'account_lastname' => '', + 'groups_select' => $groups_select, + 'permissions_list' => $appRightsOutput + ); + $t->set_var($var); - echo $t->finish($t->parse('out','form')); + echo $t->fp('out','form'); } // stores the userdata @@ -282,13 +300,13 @@ // checks if the userdata are valid // returns FALSE if the data are correct // otherwise the error array - function userDataInvalid($_userData) + function userDataInvalid(&$_userData) { - global $phpgw,$phpgw_info,$userData; + global $phpgw,$phpgw_info; $totalerrors = 0; - if ($phpgw_info['server']['account_repository'] == 'ldap' && ! $allow_long_loginids) + if ($phpgw_info['server']['account_repository'] == 'ldap' && ! $allow_long_loginids) { if (strlen($_userData['account_lid']) > 8) { @@ -326,15 +344,16 @@ if (! checkdate($_userData['account_expires_month'],$_userData['account_expires_day'],$_userData['account_expires_year'])) { $error[$totalerrors] = lang('You have entered an invalid expiration date'); + $totalerrors++; } else { - $userData['expires'] = mktime(2,0,0,$_userData['account_expires_month'],$_userData['account_expires_day'],$_userData['account_expires_year']); + $_userData['expires'] = mktime(2,0,0,$_userData['account_expires_month'],$_userData['account_expires_day'],$_userData['account_expires_year']); } } else { - $userData['expires'] = -1; + $_userData['expires'] = -1; } if ($totalerrors == 0) @@ -374,7 +393,7 @@ 'account_expires_year' => $account_expires_year ); - if (!$errors = userDataInvalid($userData)) + if (!$errors = userDataInvalid($userData)) { saveUserData($userData); Header('Location: ' . $phpgw->link('/admin/accounts.php', 'cd='.$cd));