/** * 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; }
/** * 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; } }