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: