@ -136,13 +136,13 @@ if ($extraConditions && isset($extraConditions['conditions'])) {
}
$form = new FormValidator('registration');
$user_already_registered_show_t erms = false;
$userAlreadyRegisteredShowT erms = false;
$termRegistered = Session::read('term_and_condition');
if ('true' === api_get_setting('allow_terms_conditions')) {
$user_already_registered_show_t erms = isset($termRegistered['user_id']);
$userAlreadyRegisteredShowT erms = isset($termRegistered['user_id']);
// Ofaj change
if (true === api_is_anonymous()) {
$user_already_registered_show_t erms = false;
$userAlreadyRegisteredShowT erms = false;
}
}
@ -169,7 +169,7 @@ if (!empty($course_code_redirect)) {
Session::write('exercise_redirect', $exercise_redirect);
}
if (false === $user_already_registered_show_t erms & &
if (false === $userAlreadyRegisteredShowT erms & &
'false' !== api_get_setting('allow_registration')
) {
// EMAIL
@ -562,74 +562,71 @@ $form->applyFilter('__ALL__', 'Security::remove_XSS');
$form->setDefaults($defaults);
$content = null;
$_ user['language'] = 'french';
$user['language'] = 'french';
$userInfo = api_get_user_info();
if (!empty($userInfo)) {
$langInfo = api_get_language_from_iso($userInfo['language']);
$_ user['language'] = $langInfo->getEnglishName();
$user['language'] = $langInfo->getEnglishName();
}
$tool_name = get_lang('Registration');
if (!CustomPages::enabled()) {
$toolName = get_lang('Registration');
// Load terms & conditions from the current lang
if ('true' === api_get_setting('allow_terms_conditions')) {
$get = array_keys($_GET);
if (isset($get)) {
if (isset($get[0]) & & 'legal' == $get[0]) {
$language = api_get_language_isocode();
if ('true' === api_get_setting('allow_terms_conditions')) {
$get = array_keys($_GET);
if (isset($get)) {
if (isset($get[0]) & & 'legal' == $get[0]) {
$language = api_get_language_isocode();
$language = api_get_language_id($language);
$termPreview = LegalManager::get_last_condition($language);
if (!$termPreview) {
//look for the default language
$language = api_get_setting('platformLanguage');
$language = api_get_language_id($language);
$term_preview = LegalManager::get_last_condition($language);
if (!$term_preview) {
//look for the default language
$language = api_get_setting('platformLanguage');
$language = api_get_language_id($language);
$term_preview = LegalManager::get_last_condition($language);
}
$termPreview = LegalManager::get_last_condition($language);
}
Display::display_header(get_lang('Terms and Conditions'));
if (!empty($term_p review['content'])) {
echo $term_p review['content'];
Display::display_header(get_lang('Terms and Conditions'));
if (!empty($termPreview['content'])) {
echo $termPreview['content'];
$termExtraFields = new ExtraFieldValue('terms_and_condition');
$values = $termExtraFields->getAllValuesByItem($term_preview['id']);
foreach ($values as $value) {
echo '< h3 > '.$value['display_text'].'< / h3 > < br / > '.$value['value'].'< br / > ';
}
} else {
echo get_lang('Coming soon...');
$termExtraFields = new ExtraFieldValue('terms_and_condition');
$values = $termExtraFields->getAllValuesByItem($termPreview['id']);
foreach ($values as $value) {
echo '< h3 > '.$value['display_text'].'< / h3 > < br / > '.$value['value'].'< br / > ';
}
Display::display_footer();
exit ;
} else {
echo get_lang('Coming soon...');
}
Display::display_footer();
exit;
}
}
}
$tool_name = get_lang('Registration');
if ('true' === api_get_setting('allow_terms_conditions') & & $user_already_registered_show_terms) {
$tool_name = get_lang('Terms and Conditions');
}
if ('true' === api_get_setting('allow_terms_conditions') & & $userAlreadyRegisteredShowTerms) {
$toolName = get_lang('Terms and Conditions');
}
// Forbidden to self-register
if ($isNotAllowedHere) {
api_not_allowed(
true,
get_lang(
'Sorry, you are trying to access the registration page for this portal, but registration is currently disabled. Please contact the administrator (see contact information in the footer). If you already have an account on this site.'
)
);
}
if ($isNotAllowedHere) {
api_not_allowed(
true,
get_lang(
'Sorry, you are trying to access the registration page for this portal, but registration is currently disabled. Please contact the administrator (see contact information in the footer). If you already have an account on this site.'
)
);
}
if ('approval' === api_get_setting('allow_registration')) {
$content .= Display::return_message(get_lang('Your account has to be approved'));
}
if ('approval' === api_get_setting('allow_registration')) {
$content .= Display::return_message(get_lang('Your account has to be approved'));
}
//if openid was not found
if (!empty($_GET['openid_msg']) & & 'idnotfound' == $_GET['openid_msg']) {
$content .= Display::return_message(get_lang('OpenIDCouldNotBeFoundPleaseRegister'));
}
//if openid was not found
if (!empty($_GET['openid_msg']) & & 'idnotfound' == $_GET['openid_msg']) {
$content .= Display::return_message(get_lang('OpenIDCouldNotBeFoundPleaseRegister'));
}
$blockButton = false;
$termActivated = false;
$showTerms = false;
@ -679,17 +676,17 @@ if ('true' === api_get_setting('allow_terms_conditions')) {
if (!api_is_anonymous()) {
$language = api_get_language_isocode();
$language = api_get_language_id($language);
$term_p review = LegalManager::get_last_condition($language);
if (!$term_p review) {
$termP review = LegalManager::get_last_condition($language);
if (!$termP review) {
//we load from the platform
$language = api_get_setting('platformLanguage');
$language = api_get_language_id($language);
$term_p review = LegalManager::get_last_condition($language);
$termP review = LegalManager::get_last_condition($language);
//if is false we load from english
if (!$term_p review) {
if (!$termP review) {
$language = api_get_language_id('english'); //this must work
$term_p review = LegalManager::get_last_condition($language);
$termP review = LegalManager::get_last_condition($language);
}
}
@ -699,14 +696,14 @@ if ('true' === api_get_setting('allow_terms_conditions')) {
$form->addElement(
'hidden',
'legal_accept_type',
$term_preview['version'].':'.$term_p review['language_id']
$termPreview['version'].':'.$termP review['language_id']
);
$form->addElement(
'hidden',
'legal_info',
$term_preview['id'].':'.$term_p review['language_id']
$termPreview['id'].':'.$termP review['language_id']
);
if ($term_p review['type'] == 1) {
if ($termP review['type'] == 1) {
$form->addElement(
'checkbox',
'legal_accept',
@ -720,11 +717,11 @@ if ('true' === api_get_setting('allow_terms_conditions')) {
'required'
);
} else {
$preview = LegalManager::show_last_condition($term_p review);
$preview = LegalManager::show_last_condition($termP review);
$form->addElement('label', null, $preview);
$termExtraFields = new ExtraFieldValue('terms_and_condition');
$values = $termExtraFields->getAllValuesByItem($term_p review['id']);
$values = $termExtraFields->getAllValuesByItem($termP review['id']);
foreach ($values as $value) {
//if ($value['variable'] === 'category') {
$form->addLabel($value['display_text'], $value['value']);
@ -735,7 +732,7 @@ if ('true' === api_get_setting('allow_terms_conditions')) {
}
}
if ($user_already_registered_show_t erms === false) {
if ($userAlreadyRegisteredShowT erms === false) {
$form->addCheckBox(
'extra_platformuseconditions',
null,
@ -785,8 +782,7 @@ if ($blockButton) {
$form->addHtml('< div id = "final_button" style = "display: none" > ');
$form->addLabel(
null,
Display::return_message(get_lang('You confirm that you really want to subscribe to this plateform.'),
'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->addHtml('< / div > ');
@ -825,7 +821,7 @@ if ($extraConditions && $extraFieldsLoaded) {
}
}
$text_after_r egistration = '';
$textAfterR egistration = '';
if ($form->validate()) {
$values = $form->getSubmitValues(1);
// Make *sure* the login isn't too long
@ -845,11 +841,11 @@ if ($form->validate()) {
$values['username'] = $values['email'];
}
if ($user_already_registered_show_t erms & &
if ($userAlreadyRegisteredShowT erms & &
'true' === api_get_setting('allow_terms_conditions')
) {
$user_i d = $termRegistered['user_id'];
$is_admin = UserManager::is_admin($user_i d);
$userI d = $termRegistered['user_id'];
$is_admin = UserManager::is_admin($userI d);
Session::write('is_platformAdmin', $is_admin);
} else {
// Moved here to include extra fields when creating a user. Formerly placed after user creation
@ -859,14 +855,6 @@ if ($form->validate()) {
if ('extra_' == substr($key, 0, 6)) {
//an extra field
$extras[substr($key, 6)] = $value;
} elseif (false !== strpos($key, 'remove_extra_')) {
/*$extra_value = Security::filter_filename(urldecode(key($value)));
// To remove from user_field_value and folder
UserManager::update_extra_field_value(
$user_id,
substr($key, 13),
$extra_value
);*/
}
}
@ -887,7 +875,7 @@ if ($form->validate()) {
}
// Creates a new user
$user_i d = UserManager::create_user(
$userI d = UserManager::create_user(
$values['firstname'],
$values['lastname'],
(int) $status,
@ -914,7 +902,7 @@ if ($form->validate()) {
// Update the extra fields
$count_extra_field = count($extras);
if ($count_extra_field > 0 & & is_int($user_i d)) {
if ($count_extra_field > 0 & & is_int($userI d)) {
foreach ($extras as $key => $value) {
// For array $value -> if exists key 'tmp_name' then must not be empty
// This avoid delete from user field value table when doesn't upload a file
@ -928,15 +916,15 @@ if ($form->validate()) {
if (array_key_exists('name', $value)) {
$value['name'] = Security::filter_filename($value['name']);
}
UserManager::update_extra_field_value($user_i d, $key, $value);
UserManager::update_extra_field_value($userI d, $key, $value);
}
} else {
UserManager::update_extra_field_value($user_i d, $key, $value);
UserManager::update_extra_field_value($userI d, $key, $value);
}
}
}
if ($user_i d) {
if ($userI d) {
// Storing the extended profile
$store_extended = false;
$sql = "UPDATE ".Database::get_main_table(TABLE_MAIN_USER)." SET ";
@ -971,7 +959,7 @@ if ($form->validate()) {
if ($store_extended) {
$sql .= implode(',', $sql_set);
$sql .= " WHERE user_id = ".intval($user_i d)."";
$sql .= " WHERE user_id = ".intval($userI d)."";
Database::query($sql);
}
@ -981,7 +969,7 @@ if ($form->validate()) {
if (!empty($sessionInfo)) {
SessionManager::subscribeUsersToSession(
$sessionToRedirect,
[$user_i d],
[$userI d],
SESSION_VISIBLE_READ_ONLY,
false
);
@ -1001,7 +989,7 @@ if ($form->validate()) {
)
) {
CourseManager::subscribeUser(
$user_i d,
$userI d,
$course_info['real_id']
);
}
@ -1012,30 +1000,30 @@ if ($form->validate()) {
sent a mail to the platform admin and exit the page.*/
if ('approval' === api_get_setting('allow_registration')) {
// 1. Send mail to all platform admin
$chamiloUser = api_get_user_entity($user_i d);
$chamiloUser = api_get_user_entity($userI d);
MessageManager::sendNotificationOfNewRegisteredUserApproval($chamiloUser);
// 2. set account inactive
UserManager::disable($user_i d);
UserManager::disable($userI d);
// 3. exit the page
unset($user_i d);
unset($userI d);
Display::display_header($tool_n ame);
echo Display::page_header($tool_n ame);
Display::display_header($toolN ame);
echo Display::page_header($toolN ame);
echo $content;
Display::display_footer();
exit;
} elseif ('confirmation' === api_get_setting('allow_registration')) {
// 1. Send mail to the user
$thisUser = api_get_user_entity($user_i d);
$thisUser = api_get_user_entity($userI d);
UserManager::sendUserConfirmationMail($thisUser);
// 2. set account inactive
UserManager::disable($user_i d);
UserManager::disable($userI d);
// 3. exit the page
unset($user_i d);
unset($userI d);
Display::addFlash(
Display::return_message(
@ -1044,7 +1032,7 @@ if ($form->validate()) {
)
);
Display::display_header($tool_n ame);
Display::display_header($toolN ame);
//echo $content;
Display::display_footer();
exit;
@ -1061,7 +1049,7 @@ if ($form->validate()) {
$time = time();
$conditionToSave = (int) $cond_array[0].':'.(int) $cond_array[1].':'.$time;
UserManager::update_extra_field_value(
$user_i d,
$userI d,
'legal_accept',
$conditionToSave
);
@ -1069,14 +1057,14 @@ if ($form->validate()) {
Event::addEvent(
LOG_TERM_CONDITION_ACCEPTED,
LOG_USER_OBJECT,
api_get_user_info($user_i d),
api_get_user_info($userI d),
api_get_utc_datetime()
);
$bossList = UserManager::getStudentBossList($user_i d);
$bossList = UserManager::getStudentBossList($userI d);
if (!empty($bossList)) {
$bossList = array_column($bossList, 'boss_id');
$currentUserInfo = api_get_user_info($user_i d);
$currentUserInfo = api_get_user_info($userI d);
$followUpPath = api_get_path(WEB_CODE_PATH).'admin/user_information.php?user_id='.$currentUserInfo['id'];
foreach ($bossList as $bossId) {
$subjectEmail = sprintf(
@ -1093,23 +1081,23 @@ if ($form->validate()) {
$bossId,
$subjectEmail,
$contentEmail,
$user_i d
$userI d
);
}
}
}
}
$values = api_get_user_info($user_i d);
$values = api_get_user_info($userI d);
}
/* SESSION REGISTERING */
/* @todo move this in a function */
$_ user['firstName'] = stripslashes($values['firstname']);
$_ user['lastName'] = stripslashes($values['lastname']);
$_ user['mail'] = $values['email'];
$_ user['language'] = $values['language'];
$_user['user_id'] = $user_i d;
Session::write('_user', $_ user);
$user['firstName'] = stripslashes($values['firstname']);
$user['lastName'] = stripslashes($values['lastname']);
$user['mail'] = $values['email'];
$user['language'] = $values['language'];
$user['user_id'] = $userI d;
Session::write('_user', $user);
$is_allowedCreateCourse = isset($values['status']) & & 1 == $values['status'];
$usersCanCreateCourse = api_is_allowed_to_create_course();
@ -1123,7 +1111,7 @@ if ($form->validate()) {
$user_last_login_datetime = 0; // used as a unix timestamp it will correspond to : 1 1 1970
Session::write('user_last_login_datetime', $user_last_login_datetime);
$recipient_name = api_get_person_name($values['firstname'], $values['lastname']);
$text_after_r egistration =
$textAfterR egistration =
'< p > '.
get_lang('Dear').' '.
stripslashes(Security::remove_XSS($recipient_name)).',< br / > < br / > '.
@ -1140,7 +1128,7 @@ if ($form->validate()) {
'go_button' => '',
];
if ('true' === api_get_setting('allow_terms_conditions') & & $user_already_registered_show_t erms) {
if ('true' === api_get_setting('allow_terms_conditions') & & $userAlreadyRegisteredShowT erms) {
if ('login' === api_get_setting('load_term_conditions_section')) {
$form_data['action'] = api_get_path(WEB_PATH).'user_portal.php';
} else {
@ -1156,7 +1144,7 @@ if ($form->validate()) {
}
} else {
if (!empty($values['email'])) {
$text_after_r egistration .= '< p > '.get_lang('An e-mail has been sent to remind you of your login and password').'.< / p > ';
$textAfterR egistration .= '< p > '.get_lang('An e-mail has been sent to remind you of your login and password').'.< / p > ';
}
if ($is_allowedCreateCourse) {
@ -1229,7 +1217,7 @@ if ($form->validate()) {
}
}
$text_after_r egistration .= $form_register->returnForm();
$textAfterR egistration .= $form_register->returnForm();
// Just in case
Session::erase('course_redirect');
@ -1237,66 +1225,49 @@ if ($form->validate()) {
Session::erase('session_redirect');
Session::erase('only_one_course_session_redirect');
if (CustomPages::enabled() & & CustomPages::exists(CustomPages::REGISTRATION_FEEDBACK)) {
CustomPages::display(
CustomPages::REGISTRATION_FEEDBACK,
['info' => $text_after_registration]
);
} else {
$tpl = new Template($tool_name);
$tpl->assign('inscription_header', Display::page_header($tool_name));
$tpl->assign('inscription_content', $content);
$tpl->assign('form', '');
$tpl->assign('text_after_registration', $text_after_registration);
$tpl->assign('hide_header', $hideHeaders);
$inscription = $tpl->get_template('auth/inscription.tpl');
$tpl->display($inscription);
}
$tpl = new Template($toolName);
$tpl->assign('inscription_header', Display::page_header($toolName));
$tpl->assign('inscription_content', $content);
$tpl->assign('form', '');
$tpl->assign('text_after_registration', $textAfterRegistration);
$tpl->assign('hide_header', $hideHeaders);
$inscription = $tpl->get_template('auth/inscription.tpl');
$tpl->display($inscription);
} else {
// Custom pages
if (CustomPages::enabled() & & CustomPages::exists(CustomPages::REGISTRATION)) {
CustomPages::display(
CustomPages::REGISTRATION,
['form' => $form, 'content' => $content]
);
} else {
if (!api_is_anonymous()) {
// Saving user to course if it was set.
if (!empty($course_code_redirect)) {
$course_info = api_get_course_info($course_code_redirect);
if (!empty($course_info)) {
if (in_array(
$course_info['visibility'],
[
COURSE_VISIBILITY_OPEN_PLATFORM,
COURSE_VISIBILITY_OPEN_WORLD,
]
)
) {
CourseManager::subscribeUser(
api_get_user_id(),
$course_info['real_id']
);
}
if (!api_is_anonymous()) {
// Saving user to course if it was set.
if (!empty($course_code_redirect)) {
$course_info = api_get_course_info($course_code_redirect);
if (!empty($course_info)) {
if (in_array(
$course_info['visibility'],
[
COURSE_VISIBILITY_OPEN_PLATFORM,
COURSE_VISIBILITY_OPEN_WORLD,
]
)
) {
CourseManager::subscribeUser(
api_get_user_id(),
$course_info['real_id']
);
}
}
CourseManager::redirectToCourse([]);
}
CourseManager::redirectToCourse([]);
}
$tpl = new Template($tool_name);
$inscription_header = '';
if ($termActivated !== false) {
$inscription_header = Display::page_header($tool_name);
}
$tpl->assign('inscription_header', $inscription_header);
$tpl->assign('inscription_content', $content);
$tpl->assign('form', $form->returnForm());
$tpl->assign('hide_header', $hideHeaders);
$tpl->assign('text_after_registration', $text_after_registration);
//$page = Container::getPage('inscription');
//$tpl->assign('page', $page);
$inscription = $tpl->get_template('auth/inscription.tpl');
$tpl->display($inscription);
$tpl = new Template($toolName);
$inscriptionHeader = '';
if ($termActivated !== false) {
$inscriptionHeader = Display::page_header($toolName);
}
$tpl->assign('inscription_header', $inscriptionHeader);
$tpl->assign('inscription_content', $content);
$tpl->assign('form', $form->returnForm());
$tpl->assign('hide_header', $hideHeaders);
$tpl->assign('text_after_registration', $textAfterRegistration);
$inscription = $tpl->get_template('auth/inscription.tpl');
$tpl->display($inscription);
}