public function testFieldSetBasics() { $f = new Form\FieldSet(); $f2 = new Form\FieldSet('group'); $f3 = new Form\FieldSet(); $t = new Form\Element\Text('one'); $t->setRequired(true); $f2->addField($t); $t = new Form\Element\Text('two'); $f2->addField($t); $t = new Form\Element\Text('three'); $f3->addField($t); $f->addField($f2); $f->addField($f3); $this->assertFalse($f->validate()); $f->setValues(array('group' => array('one' => 'ONE', 'two' => 'TWO'), 'three' => 'THREE')); $values = $f->getValues(); $this->assertTrue(is_array($values)); $this->assertTrue(array_key_exists('group', $values)); $this->assertTrue(array_key_exists('one', $values['group'])); $this->assertTrue(array_key_exists('three', $values)); $this->assertTrue($values['group']['one'] == 'ONE'); $this->assertTrue($values['group']['two'] == 'TWO'); $this->assertTrue($values['three'] == 'THREE'); $this->assertTrue($f->validate()); $html = $f->render(); $this->assertTrue(strpos($html, 'one') !== false); $this->assertTrue(strpos($html, 'two') !== false); }
protected function userForm($values, $type = 'add') { $form = new FormElement(); $form->setMethod('POST'); if ($type == 'add') { $form->setAction($this->config->get('site.full_admin_url') . '/user/add'); } else { $form->setAction($this->config->get('site.full_admin_url') . '/user/edit/' . $values['id']); } $form->setClass('smart-form'); $fieldset = new Form\FieldSet('fieldset'); $form->addField($fieldset); if (isset($values['id'])) { $field = new Form\Element\Hidden('id'); $field->setRequired(true); $field->setValue($values['id']); $fieldset->addField($field); } $field = new Form\Element\Text('name'); $field->setRequired(true); $field->setLabel('Name'); $fieldset->addField($field); $field = new Form\Element\Email('email'); $field->setRequired(true); $field->setLabel('Email Address'); $fieldset->addField($field); $field = new Form\Element\Password('password'); if ($type == 'add') { $field->setRequired(true); } else { $field->setRequired(false); } $field->setLabel('Password' . ($type == 'edit' ? ' (leave blank to keep current password)' : '')); $fieldset->addField($field); if ($this->currentUser->getIsAdmin()) { $field = new Form\Element\Select('is_admin'); $field->setRequired(false); $field->setLabel('Administrator'); $field->setOptions([0 => 'No', 1 => 'Yes']); $fieldset->addField($field); } $data = [&$form, &$values]; Event::trigger('userForm', $data); list($form, $values) = $data; $fieldset = new Form\FieldSet('fieldset3'); $form->addField($fieldset); $field = new Form\Element\Submit(); $field->setValue('Save User'); $field->setClass('btn-success'); $fieldset->addField($field); $form->setValues($values); return $form; }
/** * Get the email settings form. * @param array $values * @return Form */ protected function getEmailForm($values = array()) { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'settings/email'); $form->addField(new Form\Element\Csrf('csrf')); $field = new Form\Element\Text('smtp_address'); $field->setRequired(false); $field->setLabel(Lang::get('smtp_server')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $field->setValue('localhost'); $form->addField($field); $field = new Form\Element\Text('smtp_port'); $field->setRequired(false); $field->setPattern('[0-9]+'); $field->setLabel(Lang::get('smtp_port')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $field->setValue(25); $form->addField($field); $field = new Form\Element\Text('smtp_username'); $field->setRequired(false); $field->setLabel(Lang::get('smtp_username')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Password('smtp_password'); $field->setRequired(false); $field->setLabel(Lang::get('smtp_password')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Email('from_address'); $field->setRequired(false); $field->setLabel(Lang::get('from_email_address')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Email('default_mailto_address'); $field->setRequired(false); $field->setLabel(Lang::get('default_notification_address')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Select('smtp_encryption'); $field->setOptions(array('' => Lang::get('none'), 'tls' => Lang::get('tls'), 'ssl' => Lang::get('ssl'))); $field->setRequired(false); $field->setLabel(Lang::get('use_smtp_encryption')); $field->setContainerClass('form-group'); $field->setValue(1); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue(Lang::get('save')); $field->setClass('btn btn-success pull-right'); $form->addField($field); $form->setValues($values); return $form; }
/** * Create user add / edit form. */ protected function userForm($values, $type = 'add') { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'user/' . $type); $form->addField(new Form\Element\Csrf('csrf')); $field = new Form\Element\Email('email'); $field->setRequired(true); $field->setLabel(Lang::get('email_address')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Text('name'); $field->setRequired(true); $field->setLabel(Lang::get('name')); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Password('password'); if ($type == 'add') { $field->setRequired(true); $field->setLabel(Lang::get('password')); } else { $field->setRequired(false); $field->setLabel(Lang::get('password_change')); } $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Checkbox('is_admin'); $field->setRequired(false); $field->setCheckedValue(1); $field->setLabel(Lang::get('is_user_admin')); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue(Lang::get('save_user')); $field->setClass('btn-success'); $form->addField($field); $form->setValues($values); return $form; }
/** * Create user add / edit form. */ protected function userForm($values, $type = 'add') { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'user/' . $type); $form->addField(new Form\Element\Csrf('csrf')); $field = new Form\Element\Email('email'); $field->setRequired(true); $field->setLabel('Email Address'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Text('name'); $field->setRequired(true); $field->setLabel('Name'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Password('password'); if ($type == 'add') { $field->setRequired(true); $field->setLabel('Password'); } else { $field->setRequired(false); $field->setLabel('Password (leave blank to keep current password)'); } $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Checkbox('is_admin'); $field->setRequired(false); $field->setCheckedValue(1); $field->setLabel('Is this user an administrator?'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue('Save User'); $field->setClass('btn-success'); $form->addField($field); $form->setValues($values); return $form; }
protected function getEmailForm($values = array()) { $form = new Form(); $form->setMethod('POST'); $form->setAction(PHPCI_URL . 'settings/email'); $form->addField(new Form\Element\Csrf('csrf')); $field = new Form\Element\Text('smtp_address'); $field->setRequired(false); $field->setLabel('SMTP Server'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $field->setValue('localhost'); $form->addField($field); $field = new Form\Element\Text('smtp_port'); $field->setRequired(false); $field->setPattern('[0-9]+'); $field->setLabel('SMTP Port'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $field->setValue(25); $form->addField($field); $field = new Form\Element\Text('smtp_username'); $field->setRequired(false); $field->setLabel('SMTP Username'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Text('smtp_password'); $field->setRequired(false); $field->setLabel('SMTP Password'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Email('from_address'); $field->setRequired(false); $field->setLabel('From Email Address'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Email('default_mailto_address'); $field->setRequired(false); $field->setLabel('Default Notification Address'); $field->setClass('form-control'); $field->setContainerClass('form-group'); $form->addField($field); $field = new Form\Element\Checkbox('smtp_encryption'); $field->setCheckedValue(1); $field->setRequired(false); $field->setLabel('Use SMTP encryption?'); $field->setContainerClass('form-group'); $field->setValue(1); $form->addField($field); $field = new Form\Element\Submit(); $field->setValue('Save »'); $field->setClass('btn btn-success pull-right'); $form->addField($field); $form->setValues($values); return $form; }