MDL-25027 Web Service: added email validation to create_users() - just like GUI
This commit is contained in:
+11
-5
@@ -83,6 +83,7 @@ class moodle_user_external extends external_api {
|
||||
*/
|
||||
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
|
||||
@@ -131,15 +132,20 @@ class moodle_user_external extends external_api {
|
||||
throw new invalid_parameter_exception('Invalid theme: '.$user['theme']);
|
||||
}
|
||||
|
||||
// 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()
|
||||
// ok, there is no validation currently.
|
||||
// End of user info validation.
|
||||
|
||||
$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) {
|
||||
|
||||
Reference in New Issue
Block a user