Link($action); } /** * CMSMemberLoginForm constructor. * @param Controller $controller * @param string $authenticatorClass * @param FieldList $name */ public function __construct(Controller $controller, $authenticatorClass, $name) { $this->controller = $controller; $this->authenticator_class = $authenticatorClass; $fields = $this->getFormFields(); $actions = $this->getFormActions(); parent::__construct($controller, $name, $fields, $actions); } /** * @return FieldList */ public function getFormFields() { // Set default fields $fields = new FieldList( HiddenField::create("AuthenticationMethod", null, $this->authenticator_class, $this), HiddenField::create('tempid', null, $this->controller->getRequest()->requestVar('tempid')), PasswordField::create("Password", _t('Member.PASSWORD', 'Password')), LiteralField::create( 'forgotPassword', sprintf( '

%s

', $this->getExternalLink('lostpassword'), _t('CMSMemberLoginForm.BUTTONFORGOTPASSWORD', "Forgot password?") ) ) ); if (Security::config()->autologin_enabled) { $fields->push(CheckboxField::create( "Remember", _t('Member.REMEMBERME', "Remember me next time?") )); } return $fields; } /** * @return FieldList */ public function getFormActions() { // Determine returnurl to redirect to parent page $logoutLink = $this->getExternalLink('logout'); if ($returnURL = $this->controller->getRequest()->requestVar('BackURL')) { $logoutLink = Controller::join_links($logoutLink, '?BackURL=' . urlencode($returnURL)); } // Make actions $actions = new FieldList( FormAction::create('dologin', _t('CMSMemberLoginForm.BUTTONLOGIN', "Log back in")), LiteralField::create( 'doLogout', sprintf( '

%s

', $logoutLink, _t('CMSMemberLoginForm.BUTTONLOGOUT', "Log out") ) ) ); return $actions; } protected function buildRequestHandler() { return CMSMemberLoginHandler::create($this); } /** * @return string */ public function getAuthenticatorName() { return _t('CMSMemberLoginForm.AUTHENTICATORNAME', 'CMS Member Login Form'); } }