From 38ef51459600614ed84ae9cc0abdfcb3eebc299a Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Tue, 28 Aug 2012 11:47:40 +0200 Subject: [PATCH] Should fix some bugs when using the user tags --- main/admin/user_add.php | 46 +++++++++++------- main/admin/user_edit.php | 37 ++++++++++----- main/auth/profile.php | 35 +++++++------- main/inc/ajax/user_manager.ajax.php | 6 +-- main/inc/lib/usermanager.lib.php | 73 +++++++++++++++-------------- 5 files changed, 109 insertions(+), 88 deletions(-) diff --git a/main/admin/user_add.php b/main/admin/user_add.php index 4690c468a0..b4937b8e89 100644 --- a/main/admin/user_add.php +++ b/main/admin/user_add.php @@ -22,8 +22,10 @@ api_protect_admin_script(true); $is_platform_admin = api_is_platform_admin() ? 1 : 0; +$htmlHeadXtra[] = ''; +$htmlHeadXtra[] = ''; $htmlHeadXtra[] = ' -'; @@ -145,14 +146,14 @@ if (count($extAuthSource) > 0) { } } if ($nb_ext_auth_source_added > 0) { - $group[] =& HTML_QuickForm::createElement('radio', 'password_auto', null, get_lang('ExternalAuthentication').' ', 2); - $group[] =& HTML_QuickForm::createElement('select', 'auth_source', null, $auth_sources); - $group[] =& HTML_QuickForm::createElement('static', '', '', '
'); + $group[] = $form->createElement('radio', 'password_auto', null, get_lang('ExternalAuthentication').' ', 2); + $group[] = $form->createElement('select', 'auth_source', null, $auth_sources); + $group[] = $form->createElement('static', '', '', '
'); } } -$group[] =& HTML_QuickForm::createElement('radio', 'password_auto', get_lang('Password'), get_lang('AutoGeneratePassword').'
', 1); -$group[] =& HTML_QuickForm::createElement('radio', 'password_auto', 'id="radio_user_password"', null, 0); -$group[] =& HTML_QuickForm::createElement('password', 'password', null, array('onkeydown' => 'javascript: password_switch_radio_button();')); +$group[] = $form->createElement('radio', 'password_auto', get_lang('Password'), get_lang('AutoGeneratePassword').'
', 1); +$group[] = $form->createElement('radio', 'password_auto', 'id="radio_user_password"', null, 0); +$group[] = $form->createElement('password', 'password', null, array('onkeydown' => 'javascript: password_switch_radio_button();')); $form->addGroup($group, 'password', get_lang('Password'), ''); // Status @@ -181,8 +182,8 @@ $form->addElement('html', ''); if (api_is_platform_admin()) { // Platform admin $group = array(); - $group[] =& HTML_QuickForm::createElement('radio', 'platform_admin', 'id="id_platform_admin"', get_lang('Yes'), 1); - $group[] =& HTML_QuickForm::createElement('radio', 'platform_admin', 'id="id_platform_admin"', get_lang('No'), 0); + $group[] = $form->createElement('radio', 'platform_admin', 'id="id_platform_admin"', get_lang('Yes'), 1); + $group[] = $form->createElement('radio', 'platform_admin', 'id="id_platform_admin"', get_lang('No'), 0); $display = ($_POST['status'] == STUDENT || !isset($_POST['status'])) ? 'none' : 'block'; $form->addElement('html', '
'); $form->addGroup($group, 'admin', get_lang('PlatformAdmin'), ' '); @@ -191,21 +192,30 @@ if (api_is_platform_admin()) { // Send email $group = array(); -$group[] =& HTML_QuickForm::createElement('radio', 'send_mail', null, get_lang('Yes'), 1); -$group[] =& HTML_QuickForm::createElement('radio', 'send_mail', null, get_lang('No'), 0); +$group[] = $form->createElement('radio', 'send_mail', null, get_lang('Yes'), 1); +$group[] = $form->createElement('radio', 'send_mail', null, get_lang('No'), 0); $form->addGroup($group, 'mail', get_lang('SendMailToNewUser'), ' '); // Expiration Date $form->addElement('radio', 'radio_expiration_date', get_lang('ExpirationDate'), get_lang('NeverExpires'), 0); $group = array (); -$group[] = & $form->createElement('radio', 'radio_expiration_date', null, get_lang('On'), 1); -$group[] = & $form->createElement('datepicker', 'expiration_date', null, array('form_name' => $form->getAttribute('name'), 'onchange' => 'javascript: enable_expiration_date();')); +$group[] = $form->createElement('radio', 'radio_expiration_date', null, get_lang('On'), 1); +$group[] = $form->createElement('datepicker', 'expiration_date', null, array('form_name' => $form->getAttribute('name'), 'onchange' => 'javascript: enable_expiration_date();')); $form->addGroup($group, 'max_member_group', null, '', false); // Active account or inactive account $form->addElement('radio', 'active', get_lang('ActiveAccount'), get_lang('Active'), 1); $form->addElement('radio', 'active', '', get_lang('Inactive'), 0); $extra_data = UserManager::get_extra_user_data(0, true); -UserManager::set_extra_fields_in_form($form, $extra_data, 'user_add'); + +$return_params = UserManager::set_extra_fields_in_form($form, $extra_data, 'user_add'); +$jquery_ready_content = $return_params['jquery_ready_content']; + +// the $jquery_ready_content variable collects all functions that will be load in the $(document).ready javascript function +$htmlHeadXtra[] =''; // Set default values $defaults['admin']['platform_admin'] = 0; @@ -224,8 +234,8 @@ $defaults = array_merge($defaults, $extra_data); $form->setDefaults($defaults); // Submit button -$html_results_enabled[] = FormValidator :: createElement ('style_submit_button', 'submit_plus', get_lang('Add').'+', 'class="add"'); -$html_results_enabled[] = FormValidator :: createElement ('style_submit_button', 'submit', get_lang('Add'), 'class="add"'); +$html_results_enabled[] = $form-> createElement ('style_submit_button', 'submit_plus', get_lang('Add').'+', 'class="add"'); +$html_results_enabled[] = $form-> createElement ('style_submit_button', 'submit', get_lang('Add'), 'class="add"'); $form->addGroup($html_results_enabled); // Validate form @@ -283,7 +293,7 @@ if( $form->validate()) { $picture_uri = UserManager::update_user_picture($user_id, $_FILES['picture']['name'], $_FILES['picture']['tmp_name']); UserManager::update_user($user_id, $firstname, $lastname, $username, $password, $auth_source, $email, $status, $official_code, $phone, $picture_uri, $expiration_date, $active, null, $hr_dept_id, null, $language); } - $extras = array(); + foreach ($user as $key => $value) { if (substr($key, 0, 6) == 'extra_') { //an extra field UserManager::update_extra_field_value($user_id, substr($key, 6), $value); diff --git a/main/admin/user_edit.php b/main/admin/user_edit.php index 593e428243..e49d86cb65 100644 --- a/main/admin/user_edit.php +++ b/main/admin/user_edit.php @@ -18,8 +18,11 @@ api_protect_admin_script(true); $user_id = isset($_GET['user_id']) ? intval($_GET['user_id']) : intval($_POST['user_id']); api_protect_super_admin($user_id, null, true); + $is_platform_admin = api_is_platform_admin() ? 1 : 0; +$htmlHeadXtra[] = ''; +$htmlHeadXtra[] = ''; $htmlHeadXtra[] = ' '; -UserManager::set_extra_fields_in_form($form, $extra_data, 'user_edit', true); // Submit button $form->addElement('style_submit_button', 'submit', get_lang('ModifyInformation'), 'class="save"'); @@ -292,7 +303,7 @@ $error_drh = false; // Validate form if ( $form->validate()) { - $user = $form->exportValues(); + $user = $form->getSubmitValues(); $is_user_subscribed_in_course = CourseManager::is_user_subscribed_in_course($user['user_id']); if ($user['status'] == DRH && $is_user_subscribed_in_course) { @@ -350,9 +361,9 @@ if ( $form->validate()) { UserManager::remove_user_admin($user_id); } } - + foreach ($user as $key => $value) { - if(substr($key, 0, 6) == 'extra_') { //an extra field + if (substr($key, 0, 6) == 'extra_') { //an extra field UserManager::update_extra_field_value($user_id, substr($key, 6), $value); } } diff --git a/main/auth/profile.php b/main/auth/profile.php index 82cdd13ca8..8bd7b72bd3 100644 --- a/main/auth/profile.php +++ b/main/auth/profile.php @@ -12,8 +12,6 @@ * Code */ -/* Init section */ - // Language files that should be included. $language_file = array('registration', 'messages', 'userInfo'); $cidReset = true; @@ -34,7 +32,7 @@ if (!(isset($_user['user_id']) && $_user['user_id']) || api_is_anonymous($_user[ $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ''; -$htmlHeadXtra[] = '