diff --git a/auth.php b/auth.php index 7f5fe457615e3ab3a3478c208232741b10a853bf..f2fe15d5889de5f216aba708d73a9a0a7bd59c83 100644 --- a/auth.php +++ b/auth.php @@ -432,6 +432,7 @@ class auth_plugin_ldap_syncplus extends auth_plugin_ldap { if (!empty($add_users)) { mtrace(get_string('userentriestoadd', 'auth_ldap', count($add_users))); + $errors = 0; $transaction = $DB->start_delegated_transaction(); foreach ($add_users as $user) { @@ -457,6 +458,14 @@ class auth_plugin_ldap_syncplus extends auth_plugin_ldap { } $id = user_create_user($user, false); + try { + $id = user_create_user($user, false); + } catch (Exception $e) { + print_string('invaliduserexception', 'auth_ldap', print_r($user, true) . $e->getMessage()); + $errors++; + continue; + } + mtrace("\t".get_string('auth_dbinsertuser', 'auth_db', array('name'=>$user->username, 'id'=>$id))); $euser = $DB->get_record('user', array('id' => $id)); @@ -470,6 +479,11 @@ class auth_plugin_ldap_syncplus extends auth_plugin_ldap { // Add roles if needed. $this->sync_roles($euser); } + + // Display number of user creation errors, if any. + if ($errors) { + print_string('invalidusererrors', 'auth_ldap', $errors); + } $transaction->allow_commit(); unset($add_users); // free mem } else {