original_string: public function validation($usernew, $files) {
          global $CFG, $DB;
  
          $errors = parent::validation($usernew, $files);
  
          $usernew = (object)$usernew;
          $user    = $DB->get_record('user', array('id' => $usernew->id));
  
          // Validate email.
          if (!isset($usernew->email)) {
              // Mail not confirmed yet.
          } else if (!validate_email($usernew->email)) {
              $errors['email'] = get_string('invalidemail');
          } else if (($usernew->email !== $user->email)
                  and empty($CFG->allowaccountssameemail)
                  and $DB->record_exists('user', array('email' => $usernew->email, 'mnethostid' => $CFG->mnet_localhost_id))) {
              $errors['email'] = get_string('emailexists');
          }
  
          if (isset($usernew->email) and $usernew->email === $user->email and over_bounce_threshold($user)) {
              $errors['email'] = get_string('toomanybounces');
          }
  
          if (isset($usernew->email) and !empty($CFG->verifychangedemail) and !isset($errors['email']) and !has_capability('moodle/user:update', context_system::instance())) {
              $errorstr = email_is_not_allowed($usernew->email);
              if ($errorstr !== false) {
                  $errors['email'] = $errorstr;
              }
          }
  
          // Next the customisable profile fields.
          $errors += profile_validation($usernew, $files);
  
          return $errors;
      }
code: public function validation($usernew, $files) {
          global $CFG, $DB;
  
          $errors = parent::validation($usernew, $files);
  
          $usernew = (object)$usernew;
          $user    = $DB->get_record('user', array('id' => $usernew->id));
  
          // Validate email.
          if (!isset($usernew->email)) {
              // Mail not confirmed yet.
          } else if (!validate_email($usernew->email)) {
              $errors['email'] = get_string('invalidemail');
          } else if (($usernew->email !== $user->email)
                  and empty($CFG->allowaccountssameemail)
                  and $DB->record_exists('user', array('email' => $usernew->email, 'mnethostid' => $CFG->mnet_localhost_id))) {
              $errors['email'] = get_string('emailexists');
          }
  
          if (isset($usernew->email) and $usernew->email === $user->email and over_bounce_threshold($user)) {
              $errors['email'] = get_string('toomanybounces');
          }
  
          if (isset($usernew->email) and !empty($CFG->verifychangedemail) and !isset($errors['email']) and !has_capability('moodle/user:update', context_system::instance())) {
              $errorstr = email_is_not_allowed($usernew->email);
              if ($errorstr !== false) {
                  $errors['email'] = $errorstr;
              }
          }
  
          // Next the customisable profile fields.
          $errors += profile_validation($usernew, $files);
  
          return $errors;
      }
code_tokens: public function validation ( $ usernew , $ files ) { global $ CFG , $ DB ; $ errors = parent :: validation ( $ usernew , $ files ) ; $ usernew = ( object ) $ usernew ; $ user = $ DB -> get_record ( 'user' , array ( 'id' => $ usernew -> id ) ) ; // Validate email. if ( ! isset ( $ usernew -> email ) ) { // Mail not confirmed yet. } else if ( ! validate_email ( $ usernew -> email ) ) { $ errors [ 'email' ] = get_string ( 'invalidemail' ) ; } else if ( ( $ usernew -> email !== $ user -> email ) and empty ( $ CFG -> allowaccountssameemail ) and $ DB -> record_exists ( 'user' , array ( 'email' => $ usernew -> email , 'mnethostid' => $ CFG -> mnet_localhost_id ) ) ) { $ errors [ 'email' ] = get_string ( 'emailexists' ) ; } if ( isset ( $ usernew -> email ) and $ usernew -> email === $ user -> email and over_bounce_threshold ( $ user ) ) { $ errors [ 'email' ] = get_string ( 'toomanybounces' ) ; } if ( isset ( $ usernew -> email ) and ! empty ( $ CFG -> verifychangedemail ) and ! isset ( $ errors [ 'email' ] ) and ! has_capability ( 'moodle/user:update' , context_system :: instance ( ) ) ) { $ errorstr = email_is_not_allowed ( $ usernew -> email ) ; if ( $ errorstr !== false ) { $ errors [ 'email' ] = $ errorstr ; } } // Next the customisable profile fields. $ errors += profile_validation ( $ usernew , $ files ) ; return $ errors ; }
docstring: Validate incoming form data.
  @param array $usernew
  @param array $files
  @return array
docstring_tokens: Validate incoming form data .