示例#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;
 }
示例#2
0
 /**
  * I thought it was clear from the name, yup, it adds user.
  *
  * @param $data
  */
 public function add($data)
 {
     if ($this->userByEmailExists($data->email)) {
         throw new RepositarySubscribersException('We are really sorry, but user with this e-mail address already exists.', 0);
     } else {
         $data->active = 0;
         $data->ip = \SimpleSubscribe\Utils::getRealIp();
         if ($this->insert($data)) {
             try {
                 $email = \SimpleSubscribe\Email::getInstance();
                 $email->sendConfiramtionEmail($data->email, $this->database->insert_id);
             } catch (EmailException $e) {
                 throw new RepositarySubscribersException($e->getMessage());
             }
         }
         return TRUE;
     }
 }