User registration: Improve form of registration - refs BT#19215

pull/4011/head
Christian 4 years ago
parent 44efc7a939
commit 4ad53bd7dd
  1. 87
      public/main/auth/inscription.php

@ -125,10 +125,10 @@ if ($extraConditions && isset($extraConditions['conditions'])) {
'variable' => $condition['variable'], 'variable' => $condition['variable'],
'display_text' => $condition['display_text'], 'display_text' => $condition['display_text'],
'default_value' => '', 'default_value' => '',
'visible_to_self' => true, 'visible_to_self' => 0,
'visible_to_others' => false, 'visible_to_others' => 0,
'changeable' => true, 'changeable' => 0,
'filter' => false, 'filter' => 0,
]; ];
$userExtraField->save($params); $userExtraField->save($params);
} }
@ -137,8 +137,9 @@ if ($extraConditions && isset($extraConditions['conditions'])) {
$form = new FormValidator('registration'); $form = new FormValidator('registration');
$user_already_registered_show_terms = false; $user_already_registered_show_terms = false;
$termRegistered = Session::read('term_and_condition');
if ('true' === api_get_setting('allow_terms_conditions')) { if ('true' === api_get_setting('allow_terms_conditions')) {
$user_already_registered_show_terms = isset($_SESSION['term_and_condition']['user_id']); $user_already_registered_show_terms = isset($termRegistered['user_id']);
// Ofaj change // Ofaj change
if (true === api_is_anonymous()) { if (true === api_is_anonymous()) {
$user_already_registered_show_terms = false; $user_already_registered_show_terms = false;
@ -262,6 +263,11 @@ if (false === $user_already_registered_show_terms &&
$passDiv = '<div id="password_progress"></div><div id="password-verdict"></div><div id="password-errors"></div>'; $passDiv = '<div id="password_progress"></div><div id="password-verdict"></div><div id="password-errors"></div>';
$checkPass = api_get_setting('allow_strength_pass_checker');
if ($checkPass === 'true') {
$checkPass = '';
}
// PASSWORD // PASSWORD
$form->addElement( $form->addElement(
'password', 'password',
@ -283,6 +289,15 @@ if (false === $user_already_registered_show_terms &&
$form->addRule(['pass1', 'pass2'], get_lang('You have typed two different passwords'), 'compare'); $form->addRule(['pass1', 'pass2'], get_lang('You have typed two different passwords'), 'compare');
$form->addPasswordRule('pass1'); $form->addPasswordRule('pass1');
if ($checkPass) {
$form->addRule(
'pass1',
get_lang('PassTooEasy').': '.api_generate_password(),
'callback',
'api_check_password'
);
}
// PHONE // PHONE
if (in_array('phone', $allowedFields)) { if (in_array('phone', $allowedFields)) {
$form->addElement( $form->addElement(
@ -291,7 +306,7 @@ if (false === $user_already_registered_show_terms &&
get_lang('Phone'), get_lang('Phone'),
['size' => 20] ['size' => 20]
); );
if ('true' == api_get_setting('registration', 'phone')) { if ('true' === api_get_setting('registration', 'phone')) {
$form->addRule( $form->addRule(
'phone', 'phone',
get_lang('Required field'), get_lang('Required field'),
@ -302,7 +317,7 @@ if (false === $user_already_registered_show_terms &&
// Language // Language
if (in_array('language', $allowedFields)) { if (in_array('language', $allowedFields)) {
if ('true' == api_get_setting('registration', 'language')) { if ('true' === api_get_setting('registration', 'language')) {
$form->addSelectLanguage( $form->addSelectLanguage(
'language', 'language',
get_lang('Language'), get_lang('Language'),
@ -328,9 +343,32 @@ if (false === $user_already_registered_show_terms &&
} }
} }
// STUDENT/TEACHER
if (api_get_setting('allow_registration_as_teacher') != 'false') {
if (in_array('status', $allowedFields)) {
$form->addElement(
'radio',
'status',
get_lang('Profile'),
get_lang('RegStudent'),
STUDENT
);
$form->addElement(
'radio',
'status',
null,
get_lang('RegAdmin'),
COURSEMANAGER
);
}
}
$captcha = api_get_setting('allow_captcha');
$allowCaptcha = $captcha === 'true';
// EXTENDED FIELDS // EXTENDED FIELDS
if ('true' == api_get_setting('extended_profile') && if ('true' === api_get_setting('extended_profile') &&
'true' == api_get_setting('extendedprofile_registration', 'mycomptetences') 'true' === api_get_setting('extendedprofile_registration', 'mycomptetences')
) { ) {
$form->addHtmlEditor( $form->addHtmlEditor(
'competences', 'competences',
@ -341,8 +379,8 @@ if (false === $user_already_registered_show_terms &&
); );
} }
if ('true' == api_get_setting('extended_profile') && if ('true' === api_get_setting('extended_profile') &&
'true' == api_get_setting('extendedprofile_registration', 'mydiplomas') 'true' === api_get_setting('extendedprofile_registration', 'mydiplomas')
) { ) {
$form->addHtmlEditor( $form->addHtmlEditor(
'diplomas', 'diplomas',
@ -353,8 +391,8 @@ if (false === $user_already_registered_show_terms &&
); );
} }
if ('true' == api_get_setting('extended_profile') && if ('true' === api_get_setting('extended_profile') &&
'true' == api_get_setting('extendedprofile_registration', 'myteach') 'true' === api_get_setting('extendedprofile_registration', 'myteach')
) { ) {
$form->addHtmlEditor( $form->addHtmlEditor(
'teach', 'teach',
@ -365,8 +403,8 @@ if (false === $user_already_registered_show_terms &&
); );
} }
if ('true' == api_get_setting('extended_profile') && if ('true' === api_get_setting('extended_profile') &&
'true' == api_get_setting('extendedprofile_registration', 'mypersonalopenarea') 'true' === api_get_setting('extendedprofile_registration', 'mypersonalopenarea')
) { ) {
$form->addHtmlEditor( $form->addHtmlEditor(
'openarea', 'openarea',
@ -531,7 +569,6 @@ if (!empty($userInfo)) {
$_user['language'] = $langInfo->getEnglishName(); $_user['language'] = $langInfo->getEnglishName();
} }
$tool_name = get_lang('Registration', null, (!empty($_POST['language']) ? $_POST['language'] : $_user['language']));
$tool_name = get_lang('Registration'); $tool_name = get_lang('Registration');
if (!CustomPages::enabled()) { if (!CustomPages::enabled()) {
// Load terms & conditions from the current lang // Load terms & conditions from the current lang
@ -634,10 +671,6 @@ if ('true' === api_get_setting('allow_terms_conditions')) {
); );
} }
} }
/*
if (1 !== (int) $userInfo['profile_completed']) {
api_not_allowed(true);
}*/
} }
} }
} }
@ -731,7 +764,7 @@ if ($blockButton) {
} else { } else {
$allow = api_get_configuration_value('allow_double_validation_in_registration'); $allow = api_get_configuration_value('allow_double_validation_in_registration');
if ($allow && $termActivated == false) { if (false === $allow && $termActivated) {
$htmlHeadXtra[] = '<script> $htmlHeadXtra[] = '<script>
$(document).ready(function() { $(document).ready(function() {
$("#pre_validation").click(function() { $("#pre_validation").click(function() {
@ -744,7 +777,7 @@ if ($blockButton) {
$form->addLabel( $form->addLabel(
null, null,
Display::url( Display::url(
get_lang('Ok'), get_lang('Validate'),
'javascript:void', 'javascript:void',
['class' => 'btn btn-default', 'id' => 'pre_validation'] ['class' => 'btn btn-default', 'id' => 'pre_validation']
) )
@ -752,10 +785,10 @@ if ($blockButton) {
$form->addHtml('<div id="final_button" style="display: none">'); $form->addHtml('<div id="final_button" style="display: none">');
$form->addLabel( $form->addLabel(
null, null,
Display::return_message(get_lang('DoubleValidationMessage'), 'info', false) Display::return_message(get_lang('You confirm that you really want to subscribe to this plateform.'),
'info', false)
); );
$form->addButton('submit', get_lang('Register'), '', 'primary');
$form->addButton('submit', get_lang('RegisterUser'), '', 'primary');
$form->addHtml('</div>'); $form->addHtml('</div>');
} else { } else {
$form->addButtonNext(get_lang('Register User')); $form->addButtonNext(get_lang('Register User'));
@ -815,7 +848,7 @@ if ($form->validate()) {
if ($user_already_registered_show_terms && if ($user_already_registered_show_terms &&
'true' === api_get_setting('allow_terms_conditions') 'true' === api_get_setting('allow_terms_conditions')
) { ) {
$user_id = $_SESSION['term_and_condition']['user_id']; $user_id = $termRegistered['user_id'];
$is_admin = UserManager::is_admin($user_id); $is_admin = UserManager::is_admin($user_id);
Session::write('is_platformAdmin', $is_admin); Session::write('is_platformAdmin', $is_admin);
} else { } else {
@ -1006,7 +1039,7 @@ if ($form->validate()) {
Display::addFlash( Display::addFlash(
Display::return_message( Display::return_message(
get_lang('YouNeedConfirmYourAccountViae-mailToAccessThePlatform'), get_lang('You need confirm your accountViae - mail to access the platform'),
'warning' 'warning'
) )
); );

Loading…
Cancel
Save