/** * Builds "Change / Create Password" field for this member * * @return ConfirmedPasswordField */ public function getMemberPasswordField() { $editingPassword = $this->isInDB(); $label = $editingPassword ? _t('Member.EDIT_PASSWORD', 'New Password') : $this->fieldLabel('Password'); /** @var ConfirmedPasswordField $password */ $password = ConfirmedPasswordField::create('Password', $label, null, null, $editingPassword); // If editing own password, require confirmation of existing if ($editingPassword && $this->ID == Member::currentUserID()) { $password->setRequireExistingPassword(true); } $password->setCanBeEmpty(true); $this->extend('updateMemberPasswordField', $password); return $password; }