Add new event when user confirms the email LOG_USER_CONFIRMED_EMAIL

See #2554
pull/2624/head
Julio Montoya 8 years ago
parent 9990290c3d
commit c6991d1984
  1. 13
      main/auth/user_mail_confirmation.php
  2. 1
      main/inc/lib/api.lib.php
  3. 49
      main/inc/lib/usermanager.lib.php
  4. 3
      src/Chamilo/UserBundle/Entity/Manager/UserManager.php
  5. 8
      src/Chamilo/UserBundle/Entity/User.php

@ -9,7 +9,6 @@ if (!ctype_alnum($token)) {
$token = '';
}
/** @var \Chamilo\UserBundle\Entity\User $user */
$user = UserManager::getManager()->findUserByConfirmationToken($token);
if ($user) {
@ -28,13 +27,23 @@ if ($user) {
if (!empty($_GET['s'])) {
$sessionId = (int) $_GET['s'];
}
// Get URL to a course, to a session, or an empty string
$courseUrl = api_get_course_url($courseCode, $sessionId);
if (!empty($courseUrl)) {
$url = $courseUrl;
}
Display::addFlash(Display::return_message(get_lang('UserConfirmedNowYouCanLogInThePlatform'), 'success'));
Event::addEvent(
LOG_USER_CONFIRMED_EMAIL,
LOG_USER_OBJECT,
api_get_user_info($user->getId()),
api_get_utc_datetime()
);
Display::addFlash(
Display::return_message(get_lang('UserConfirmedNowYouCanLogInThePlatform'), 'success')
);
header('Location: '.$url);
exit;
} else {

@ -272,6 +272,7 @@ define('LOG_MY_FOLDER_PATH', 'path');
define('LOG_MY_FOLDER_NEW_PATH', 'new_path');
define('LOG_TERM_CONDITION_ACCEPTED', 'term_condition_accepted');
define('LOG_USER_CONFIRMED_EMAIL', 'user_confirmed_email');
define('USERNAME_PURIFIER', '/[^0-9A-Za-z_\.]/');

@ -526,7 +526,7 @@ class UserManager
} else {
$sendToInbox = api_get_configuration_value('send_inscription_msg_to_inbox');
if ($sendToInbox) {
$adminList = UserManager::get_all_administrators();
$adminList = self::get_all_administrators();
$senderId = 1;
if (!empty($adminList)) {
$adminInfo = current($adminList);
@ -5904,8 +5904,8 @@ SQL;
// Filling session variables with new data
Session::write('_uid', $userId);
Session::write('_user', $userInfo);
Session::write('is_platformAdmin', (bool) UserManager::is_admin($userId));
Session::write('is_allowedCreateCourse', (bool) ($userInfo['status'] == 1));
Session::write('is_platformAdmin', (bool) self::is_admin($userId));
Session::write('is_allowedCreateCourse', $userInfo['status'] == 1);
// will be useful later to know if the user is actually an admin or not (example reporting)
Session::write('login_as', true);
@ -6065,26 +6065,29 @@ SQL;
}
$em = Database::getManager();
$user = api_get_user_entity($userId);
$uniqueId = uniqid('anon');
$user->setFirstname($uniqueId);
$user->setLastname($uniqueId);
$user->setBiography('');
$user->setAddress('');
$user->setCurriculumItems(null);
$user->setDateOfBirth(null);
$user->setCompetences('');
$user->setDiplomas('');
$user->setOpenarea('');
$user->setTeach('');
$user->setProductions(null);
$user->setOpenid('');
$user->setEmailCanonical($uniqueId.'@example.com');
$user->setEmail($uniqueId.'@example.com');
$user->setUsername($uniqueId);
$user->setUsernameCanonical($uniqueId);
$user->setPhone('');
$user->setOfficialCode('');
UserManager::deleteUserPicture($userId);
$uniqueId = uniqid('anon', true);
$user
->setFirstname($uniqueId)
->setLastname($uniqueId)
->setBiography('')
->setAddress('')
->setCurriculumItems(null)
->setDateOfBirth(null)
->setCompetences('')
->setDiplomas('')
->setOpenarea('')
->setTeach('')
->setProductions(null)
->setOpenid('')
->setEmailCanonical($uniqueId.'@example.com')
->setEmail($uniqueId.'@example.com')
->setUsername($uniqueId)
->setUsernameCanonical($uniqueId)
->setPhone('')
->setOfficialCode('')
;
self::deleteUserPicture($userId);
// The IP address is a border-case personal data, as it does
// not directly allow for personal identification (it is not
// a completely safe value in most countries - the IP could

@ -3,6 +3,7 @@
namespace Chamilo\UserBundle\Entity\Manager;
use Chamilo\UserBundle\Entity\User;
use Sonata\UserBundle\Entity\UserManager as BaseUserManager;
/**
@ -17,7 +18,7 @@ class UserManager extends BaseUserManager
*
* @param string $token
*
* @return UserInterface
* @return User
*/
public function findUserByConfirmationToken($token)
{

@ -685,10 +685,14 @@ class User implements UserInterface //implements ParticipantInterface, ThemeUser
/**
* @param $items
*
* @return $this
*/
public function setCurriculumItems($items)
{
$this->curriculumItems = $items;
return $this;
}
/**
@ -749,10 +753,14 @@ class User implements UserInterface //implements ParticipantInterface, ThemeUser
/**
* @param ArrayCollection $classes
*
* @return $this
*/
public function setClasses($classes)
{
$this->classes = $classes;
return $this;
}
/**

Loading…
Cancel
Save