33        $pseudonymousUserMap = array();
 
   34        $discloseMap = array();
 
   37        foreach ($input_params[
'usrIdList'] as $user_id) {
 
   38            $source_user = 
new ilObjUser($user_id, 
false);
 
   44                $source_user->getEmail()
 
   47            $pseudonymousUserMap[] = array(
 
   48                'Original User' => $user_id,
 
   49                'Anonymous User' => $new_id
 
   52            $discloseMap[] = array(
 
   53                'Original User'                         => $user_id,
 
   54                'Original Login'                        => $source_user->getLogin(),
 
   55                'Original Firstname'            => $source_user->getFirstname(),
 
   56                'Original Lastname'             => $source_user->getLastname(),
 
   57                'Original Matriculation'        => $source_user->getMatriculation(),
 
   58                'Original Gender'                       => $source_user->getGender(),
 
   59                'Original EMail'                        => $source_user->getEmail(),
 
   60                'Anon User'                             => $new_id,
 
   61                'Anon Login'                            => $anon_login,
 
   62                'Anon Password'                         => $anon_password
 
   65            $usrIdList[] = $new_id;
 
   68        return array($output_params[0] => $discloseMap);
 
   76        $random = new \ilRandom();
 
   78            $login = self::ANON_LOGIN_PREFIX . str_pad($random->int(0, 9999999), 7, STR_PAD_LEFT);
 
   91        $random = new \ilRandom();
 
   93        $setLength = strlen(self::PASSWORD_CHARACTERSET) - 1;
 
   95        for (
$i = 0; 
$i < $length; 
$i++) {
 
   96            $index = $random->int(0, $setLength);
 
  113        $rbacadmin = 
$DIC[
'rbacadmin'];
 
  116        $user->setTimeLimitUnlimited(
true);
 
  117        $user->setFirstname(self::ANON_FIRSTNAME);
 
  118        $user->setLastname(self::ANON_LASTNAME);
 
  120        $user->setGender(self::ANON_GENDER);
 
  122        $user->setLogin($login);
 
  123        $user->setActive(
true, 6);
 
  126        $user->setLastPasswordChangeTS(0);
 
  129        $user->setPref(
'send_info_mails', 
'n');
 
  132        $rbacadmin->assignUser(4, $user->getId(), 
true);
 
  134        return $user->getId();
 
  147        foreach ($input_params[
'discloseMap'] as $disclose_entry) {
 
  148            $anon_user = 
new ilObjUser($disclose_entry[
'Anon User'], 
false);
 
  149            $anon_user->setFirstname($disclose_entry[
'Original Firstname']);
 
  150            $anon_user->setLastname($disclose_entry[
'Original Lastname']);
 
  151            $anon_user->setMatriculation($disclose_entry[
'Original Matriculation']);
 
  152            $anon_user->setGender($disclose_entry[
'Original Gender']);
 
  153            $anon_user->update();
 
An exception for terminatinating execution or to throw for unit testing.
static _loginExists($a_login, $a_user_id=0)
check if a login name already exists You may exclude a user from the check by giving his user id as 2...
Class ilServicesUserTasks.
static repersonalizeUsers($context, $params)
static generatePassword($length=8)
const PASSWORD_CHARACTERSET
static createUser($login, $password, $email)
static createAnonymousUsers($context, $params)