get(__CLASS__); $fields = $form->Fields(); foreach ($fields as $field) { $name = $field->getName(); if ($name === 'Remember') { continue; } $field ->setAttribute('required', 'required') ->addExtraClass('required'); /* * A2nt\CMSNiceties\Ajax\Ex\AjaxControllerEx: * show_labels: false * no_placeholders: false */ if (!$cfg['no_placeholders']) { $placeholder = $field->Title(); $field->setAttribute( 'placeholder', $placeholder ); } if (!$cfg['show_labels']) { $field->setTitle(''); } } } public function LoginFormEx() { $ctrl = $this->owner; /* @var Form $form */ $form = $ctrl->LoginForm(); self::_processFields($form); //$form->addExtraClass('ajax-form'); if ($form->get_protector()) { $form->enableSpamProtection(); } $form->setLegend( _t( 'SilverStripe\\Security\\Security.LOGINFORMLEGEND', 'Log in' ) ); return $form; } public function LostPasswordForm() { if (Security::getCurrentUser()) { return; } $ctrl = $this->owner; $form = Injector::inst()->get(MemberAuthenticator::class) ->getLostPasswordHandler($ctrl->Link()) ->lostPasswordForm(); self::_processFields($form); $form->addExtraClass('ajax-form'); $form->Actions()->first()->setTitle( _t( 'SilverStripe\\Security\\Security.SUBMITTITLE', 'Submit' ) ); if ($form->get_protector()) { $form->enableSpamProtection(); } $form->setLegend( _t( 'SilverStripe\\Security\\Security.LOSTPASSWORDFORMLEGEND', 'I\'ve lost my password' ) ); return $form; } public static function isFormRequest() { $ctrl = Controller::curr(); /* @var $req SilverStripe\Control\HTTPRequest */ $req = $ctrl->getRequest(); return $req->getHeader('x-requested-form') || $req->requestVar('formid'); } public function passwordsent() { $ctrl = $this->owner; if (self::isFormRequest() && Director::is_ajax()) { $message = _t( 'SilverStripe\\Security\\Security.PASSWORDRESETSENTTEXT', "Thank you. A reset link has been sent, provided an account exists for this email address." ); $json = json_encode([ 'status' => 'success', 'message' => '