Example #1
0
 /**
  * Add subscriber, from admin
  *
  * @param array $fields
  * @return Nette\Forms\Form
  */
 public static function subscribeAdmin($fields = array())
 {
     $form = new Form('addSubscriberAdmin');
     // Subscriber
     $form->addText('email', 'E-mail')->setRequired('E-mail address is requried.')->addRule(Form::EMAIL, 'Must be valid e-mail address');
     $form->addCheckbox('active', 'Active')->setDefaultValue(1);
     if (array_key_exists('firstName', $fields)) {
         $form->addText('firstName', 'First Name');
     }
     if (array_key_exists('lastName', $fields)) {
         $form->addText('lastName', 'Last Name');
     }
     if (array_key_exists('age', $fields)) {
         $form->addText('age', 'Age')->addCondition(Form::FILLED)->addRule(Form::INTEGER, 'Age must be a numeric number.')->addRule(Form::RANGE, 'Age should be between 8 and 120 years :).', array(5, 120));
     }
     if (array_key_exists('interests', $fields)) {
         $form->addTextarea('interests', 'Interests');
     }
     if (array_key_exists('location', $fields)) {
         $form->addText('location', 'Location');
     }
     $form->addHidden('date', date('Y-m-d H:i:s'));
     $form->addText('ip', 'Ip')->setDefaultValue(Utils::getRealIp())->addCondition(Form::FILLED)->addRule(Form::PATTERN, 'Must be valid IP', '((^|\\.)((25[0-5])|(2[0-4]\\d)|(1\\d\\d)|([1-9]?\\d))){4}$');
     // Submit
     $form->addSubmit('submit', 'Add')->setAttribute('class', 'button-primary');
     return $form;
 }