|
1
|
|
|
<?php |
|
2
|
|
|
/** |
|
3
|
|
|
* @author Pierre-Henry Soria <[email protected]> |
|
4
|
|
|
* @copyright (c) 2012-2017, Pierre-Henry Soria. All Rights Reserved. |
|
5
|
|
|
* @license GNU General Public License; See PH7.LICENSE.txt and PH7.COPYRIGHT.txt in the root directory. |
|
6
|
|
|
* @package PH7 / App / System / Module / Admin / From |
|
7
|
|
|
*/ |
|
8
|
|
|
namespace PH7; |
|
9
|
|
|
|
|
10
|
|
|
class AddAdminForm |
|
11
|
|
|
{ |
|
12
|
|
|
public static function display() |
|
|
|
|
|
|
13
|
|
|
{ |
|
14
|
|
|
if (isset($_POST['submit_add_admin'])) { |
|
15
|
|
|
if (\PFBC\Form::isValid($_POST['submit_add_admin'])) { |
|
16
|
|
|
new AddAdminFormProcess; |
|
17
|
|
|
} |
|
18
|
|
|
Framework\Url\Header::redirect(); |
|
19
|
|
|
} |
|
20
|
|
|
|
|
21
|
|
|
$oForm = new \PFBC\Form('form_add_admin'); |
|
22
|
|
|
$oForm->configure(array('action' => '')); |
|
23
|
|
|
$oForm->addElement(new \PFBC\Element\Hidden('submit_add_admin', 'form_add_admin')); |
|
24
|
|
|
$oForm->addElement(new \PFBC\Element\Token('add_admin')); |
|
25
|
|
|
$oForm->addElement(new \PFBC\Element\Username(t('Username:'), 'username', array('required' => 1, 'validation' => new \PFBC\Validation\Username('Admins')))); |
|
26
|
|
|
$oForm->addElement(new \PFBC\Element\Email(t('Login Email:'), 'mail', array('required' => 1, 'validation' => new \PFBC\Validation\CEmail('guest', 'Admins')))); |
|
27
|
|
|
$oForm->addElement(new \PFBC\Element\Password(t('Password:'), 'password', array('required' => 1))); |
|
28
|
|
|
$oForm->addElement(new \PFBC\Element\Textbox(t('First Name:'), 'first_name', array('required' => 1, 'validation' => new \PFBC\Validation\Name))); |
|
29
|
|
|
$oForm->addElement(new \PFBC\Element\Textbox(t('Last Name:'), 'last_name', array('required' => 1, 'validation' => new \PFBC\Validation\Name))); |
|
30
|
|
|
$oForm->addElement(new \PFBC\Element\Radio(t('Sex:'), 'sex', array('female' => t('Female'), 'male' => t('Male'), 'couple' => t('Couple')), array('required' => 1))); |
|
31
|
|
|
$oForm->addElement(new \PFBC\Element\Timezone('Time Zone:', 'time_zone', array('description' => t('With your time zone, the other administrators may know when they can contact you easily.'), 'value' => '-6', 'required' => 1))); |
|
32
|
|
|
$oForm->addElement(new \PFBC\Element\Button); |
|
33
|
|
|
$oForm->render(); |
|
34
|
|
|
} |
|
35
|
|
|
} |
|
36
|
|
|
|
Instead of super-globals, we recommend to explicitly inject the dependencies of your class. This makes your code less dependent on global state and it becomes generally more testable: