Skip to content

Commit

Permalink
Merge branch 'MDL-25027_stable_consistency_fix' of git://github.com/n…
Browse files Browse the repository at this point in the history
…ebgor/moodle
  • Loading branch information
stronk7 committed Feb 28, 2012
2 parents 34223e0 + 25eb909 commit 64f0293
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions user/externallib.php
Expand Up @@ -86,6 +86,7 @@ public static function create_users_parameters() {
*/
public static function create_users($users) {
global $CFG, $DB;
require_once($CFG->dirroot."/lib/weblib.php");
require_once($CFG->dirroot."/user/lib.php");
require_once($CFG->dirroot."/user/profile/lib.php"); //required for customfields related function
//TODO: move the functions somewhere else as
Expand Down Expand Up @@ -134,18 +135,20 @@ public static function create_users($users) {
throw new invalid_parameter_exception('Invalid theme: '.$user['theme']);
}

// make sure there is no data loss during truncation
$truncated = truncate_userinfo($user);
foreach ($truncated as $key=>$value) {
if ($truncated[$key] !== $user[$key]) {
throw new invalid_parameter_exception('Property: '.$key.' is too long: '.$user[$key]);
}
}

$user['confirmed'] = true;
$user['mnethostid'] = $CFG->mnet_localhost_id;
$user['id'] = user_create_user($user);

// Start of user info validation.
// Lets make sure we validate current user info as handled by current GUI. see user/editadvanced_form.php function validation()
if (!validate_email($user['email'])) {
throw new invalid_parameter_exception('Email address is invalid: '.$user['email']);
} else if ($DB->record_exists('user', array('email'=>$user['email'], 'mnethostid'=>$user['mnethostid']))) {
throw new invalid_parameter_exception('Email address already exists: '.$user['email']);
}
// End of user info validation.


// custom fields
if(!empty($user['customfields'])) {
foreach($user['customfields'] as $customfield) {
Expand Down

0 comments on commit 64f0293

Please sign in to comment.