[ Index ]

PHP Cross Reference of Moodle 1.9.3 [Build 15-Oct-2008]

title

Body

[close]

/login/ -> change_password_form.php (source)

   1  <?php //$Id: change_password_form.php,v 1.11.2.1 2007/11/23 22:12:35 skodak Exp $
   2  
   3  require_once $CFG->libdir.'/formslib.php';
   4  
   5  class login_change_password_form extends moodleform {
   6  
   7      function definition() {
   8          global $USER;
   9  
  10          $mform =& $this->_form;
  11  
  12          $mform->addElement('header', '', get_string('changepassword'), '');
  13  
  14          // visible elements
  15          $mform->addElement('static', 'username', get_string('username'), $USER->username);
  16  
  17          $mform->addElement('password', 'password', get_string('oldpassword'));
  18          $mform->addRule('password', get_string('required'), 'required', null, 'client');
  19          $mform->setType('password', PARAM_RAW);
  20  
  21          $mform->addElement('password', 'newpassword1', get_string('newpassword'));
  22          $mform->addRule('newpassword1', get_string('required'), 'required', null, 'client');
  23          $mform->setType('newpassword1', PARAM_RAW);
  24  
  25          $mform->addElement('password', 'newpassword2', get_string('newpassword').' ('.get_String('again').')');
  26          $mform->addRule('newpassword2', get_string('required'), 'required', null, 'client');
  27          $mform->setType('newpassword2', PARAM_RAW);
  28  
  29  
  30          // hidden optional params
  31          $mform->addElement('hidden', 'id', 0);
  32          $mform->setType('id', PARAM_INT);
  33  
  34          // buttons
  35          if (get_user_preferences('auth_forcepasswordchange')) {
  36              $this->add_action_buttons(false);
  37          } else {
  38              $this->add_action_buttons(true);
  39          }
  40      }
  41  
  42  /// perform extra password change validation
  43      function validation($data, $files) {
  44          global $USER;
  45          $errors = parent::validation($data, $files);
  46  
  47          update_login_count();
  48  
  49          // ignore submitted username
  50          if (!$user = authenticate_user_login($USER->username, $data['password'])) {
  51              $errors['password'] = get_string('invalidlogin');
  52              return $errors;
  53          }
  54  
  55          reset_login_count();
  56  
  57          if ($data['newpassword1'] <> $data['newpassword2']) {
  58              $errors['newpassword1'] = get_string('passwordsdiffer');
  59              $errors['newpassword2'] = get_string('passwordsdiffer');
  60              return $errors;
  61          }
  62  
  63          if ($data['password'] == $data['newpassword1']){
  64              $errors['newpassword1'] = get_string('mustchangepassword');
  65              $errors['newpassword2'] = get_string('mustchangepassword');
  66              return $errors;
  67          }
  68  
  69          $errmsg = '';//prevents eclipse warnings
  70          if (!check_password_policy($data['newpassword1'], $errmsg)) {
  71              $errors['newpassword1'] = $errmsg;
  72              $errors['newpassword2'] = $errmsg;
  73              return $errors;
  74          }
  75  
  76          return $errors;
  77      }
  78  }
  79  ?>


Generated: Wed Jan 14 11:33:29 2009 Cross-referenced by PHPXref 0.7