Add option to send email to all admins that a new user is registered. (option turned off)

Add code from ofaj branch
ofaj
jmontoyaa 9 years ago
parent 81b59fb98c
commit f9222e16bc
  1. 9
      main/auth/inscription.php
  2. 4
      main/auth/profile.php
  3. 47
      main/inc/lib/legal.lib.php
  4. 31
      main/inc/lib/usermanager.lib.php
  5. 19
      main/template/default/mail/content_registration_platform_to_admin.tpl

@ -425,7 +425,8 @@ if ($user_already_registered_show_terms === false) {
// EXTRA FIELDS
if (array_key_exists('extra_fields', $allowedFields) || in_array('extra_fields', $allowedFields)) {
$extraField = new ExtraField('user');
$extraFieldList = is_array($allowedFields['extra_fields']) ? $allowedFields['extra_fields'] : [];
$extraFieldList = isset($allowedFields['extra_fields']) && is_array($allowedFields['extra_fields']) ? $allowedFields['extra_fields'] : [];
$returnParams = $extraField->addElements($form, 0, [], false, false, $extraFieldList);
}
}
@ -631,6 +632,8 @@ if ($form->validate()) {
$status = isset($values['status']) ? $values['status'] : STUDENT;
$phone = isset($values['phone']) ? $values['phone'] : null;
$values['language'] = isset($values['language']) ? $values['language'] : api_get_interface_language();
$values['address'] = isset($values['address']) ? $values['address'] : '';
// Creates a new user
$user_id = UserManager::create_user(
$values['firstname'],
@ -651,7 +654,9 @@ if ($form->validate()) {
null,
true,
false,
$values['address']
$values['address'],
false,
$form
);
//update the extra fields

@ -423,7 +423,7 @@ if (is_profile_editable() && api_get_setting('user_selected_theme') == 'true') {
}
// EXTENDED PROFILE this make the page very slow!
if (api_get_setting('extended_profile') == 'true') {
if (api_get_setting('extended_profile') === 'true') {
$width_extended_profile = 500;
// MY COMPETENCES
$form->addHtmlEditor(
@ -624,7 +624,7 @@ if ($form->validate()) {
if ($user &&
(!empty($user_data['password0']) &&
!empty($user_data['password1'])) ||
(!empty($user_data['password0']) &&
(!empty($user_data['password0']) &&
api_get_setting('profile', 'email') == 'true')
) {
$passwordWasChecked = true;

@ -279,4 +279,51 @@ class LegalManager
return Database::result($rs,0,'type');
}
/**
* @param int $userId
*/
public static function sendLegal($userId)
{
$subject = get_lang('SendTermsSubject');
$content = sprintf(
get_lang('SendTermsDescriptionToUrlX'),
api_get_path(WEB_PATH)
);
MessageManager::send_message_simple($userId, $subject, $content);
Display::addFlash(Display::return_message(get_lang('Sent')));
$extraFieldValue = new ExtraFieldValue('user');
$value = $extraFieldValue->get_values_by_handler_and_field_variable($userId, 'termactivated');
if ($value === false) {
$extraFieldInfo = $extraFieldValue->getExtraField()->get_handler_field_info_by_field_variable('termactivated');
if ($extraFieldInfo) {
$newParams = array(
'item_id' => $userId,
'field_id' => $extraFieldInfo['id'],
'value' => 1,
'comment' => ''
);
$extraFieldValue->save($newParams);
}
}
}
/**
* @param int $userId
*/
public static function deleteLegal($userId)
{
$extraFieldValue = new ExtraFieldValue('user');
$value = $extraFieldValue->get_values_by_handler_and_field_variable($userId, 'legal_accept');
$result = $extraFieldValue->delete($value['id']);
if ($result) {
Display::addFlash(Display::return_message(get_lang('Deleted')));
}
$value = $extraFieldValue->get_values_by_handler_and_field_variable($userId, 'termactivated');
if ($value) {
$extraFieldValue->delete($value['id']);
}
}
}

@ -212,6 +212,8 @@ class UserManager
* @param bool $send_mail
* @param bool $isAdmin
* @param string $address
* @param bool $sendEmailToAllAdmins
* @param FormValidator $form
*
* @return mixed new user id - if the new user creation succeeds, false otherwise
* @desc The function tries to retrieve user id from the session.
@ -239,7 +241,9 @@ class UserManager
$encrypt_method = '',
$send_mail = false,
$isAdmin = false,
$address = ''
$address = '',
$sendEmailToAllAdmins = false,
$form = null
) {
$currentUserId = api_get_user_id();
$hook = HookCreateUser::create();
@ -449,6 +453,31 @@ class UserManager
$additionalParameters
);
}
if ($sendEmailToAllAdmins) {
$adminList = UserManager::get_all_administrators();
$tplContent = new Template(null, false, false, false, false, false);
// variables for the default template
$tplContent->assign('complete_name', stripslashes(api_get_person_name($firstName, $lastName)));
$tplContent->assign('user_added', $user);
/** @var FormValidator $form */
$form->freeze();
$form->removeElement('submit');
$formData = $form->returnForm();
$url = api_get_path(WEB_CODE_PATH).'admin/user_information.php?user_id='.$user->getId();
$tplContent->assign('link', Display::url($url, $url));
$tplContent->assign('form', $formData);
$layoutContent = $tplContent->get_template('mail/content_registration_platform_to_admin.tpl');
$emailBody = $tplContent->fetch($layoutContent);
$subject = get_lang('UserAdded');
foreach ($adminList as $adminId => $data) {
MessageManager::send_message_simple($adminId, $subject, $emailBody);
}
}
/* ENDS MANAGE EVENT WITH MAIL */
}
Event::addEvent(LOG_USER_CREATE, LOG_USER_ID, $return);

@ -0,0 +1,19 @@
<p>{{ 'UserXWithLangXRegisteredTheSite'| get_lang | format(user_added.completeName, user_added.language) }} </p>
<p>{{ 'HisProfileIs'| get_lang }} </p>
<div class="row">
<div class="col-xs-12 col-md-12">
<div class="form-horizontal">
{{ form }}
</div>
</div>
</div>
<p>{{ 'YouCanAssignATutorInThisLinkX'|get_lang | format(link)}} </p>
<p>{{ 'SignatureFormula'|get_lang }}</p>
<p>{{ _admin.name }}, {{ _admin.surname }}<br>
{{ 'Manager'|get_lang }} {{ _s.site_name }}<br>
{{ _admin.telephone ? 'T. ' ~ _admin.telephone }}<br>
{{ _admin.email ? 'Email'|get_lang ~ ': ' ~ _admin.email }}</p>
Loading…
Cancel
Save