File indexing completed on 2024-12-22 05:33:35

0001 <?php
0002 /**
0003  *  ocs-webserver
0004  *
0005  *  Copyright 2016 by pling GmbH.
0006  *
0007  *    This file is part of ocs-webserver.
0008  *
0009  *    This program is free software: you can redistribute it and/or modify
0010  *    it under the terms of the GNU Affero General Public License as
0011  *    published by the Free Software Foundation, either version 3 of the
0012  *    License, or (at your option) any later version.
0013  *
0014  *    This program is distributed in the hope that it will be useful,
0015  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017  *    GNU Affero General Public License for more details.
0018  *
0019  *    You should have received a copy of the GNU Affero General Public License
0020  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021  **/
0022 class Default_Form_Forgot extends Zend_Form
0023 {
0024 
0025     public function init()
0026     {
0027         $this->setMethod('POST');
0028         $this->setAction('/login/forgot/');
0029         $this->addElementPrefixPath('Local', 'Local/');
0030         $this->setAttrib('id', 'forgotForm');
0031 
0032         $mailValidCheck = new Zend_Validate_EmailAddress();
0033         $mailValidCheck->setMessage('ForgotPassFormMailErrNotValid', Zend_Validate_EmailAddress::INVALID);
0034 
0035         $mailNotExistCheck = new Zend_Validate_Db_RecordExists(array('table' => 'member', 'field' => 'mail'));
0036         $mailNotExistCheck->setMessage('ForgotPassFormMailErrNoUser', Zend_Validate_Db_RecordExists::ERROR_NO_RECORD_FOUND);
0037 
0038         $mailEmpty = new Zend_Validate_NotEmpty();
0039 
0040         $mail = $this->createElement('text', 'mail')
0041             ->setLabel('ForgotPassFormMailLable')
0042             ->addValidator($mailEmpty, true)
0043             ->addValidator($mailValidCheck, true)
0044             ->setRequired(TRUE)
0045             ->setDecorators(array('ViewHelper', 'Errors'))
0046             ->setAttrib('placeholder', 'Email');
0047         $this->addElement($mail);
0048 
0049         $submit = $this->createElement('button', 'send');
0050         $submit->setLabel('Reset my password');
0051         $submit->setDecorators(array('ViewHelper'));
0052         $submit->setAttrib('class', 'btn btn-min-width btn-native');
0053         $submit->setAttrib('type', 'submit');
0054 
0055         $this->addElement($submit);
0056     }
0057 
0058 }