Beispiel #1
0
 /**
  * Create factory.
  * @param  class
  * @return Forms
  */
 public function create($translator)
 {
     $form = $this->forms->create($translator);
     $form->addText('website', 'settings.name')->setAttribute('placeholder', 'settings.name.place')->setRequired('settings.empty');
     $form->addText('description', 'settings.description')->setAttribute('placeholder', 'settings.description.place')->setRequired('settings.empty');
     $form->addSubmit('send', 'settings.send');
     $form->onSuccess[] = [$this, 'processing'];
     return $form;
 }
Beispiel #2
0
 /**
  * Create factory.
  * @param  class
  * @return Form
  */
 public function create($translator, callable $onSuccess)
 {
     $form = $this->forms->create($translator);
     $form->addText('email', 'login.email')->setType('email')->setRequired('login.empty')->setAttribute('placeholder', 'login.email.place')->addRule(Form::EMAIL, 'login.email.invalid');
     $form->addPassword('password', 'login.pass')->setAttribute('placeholder', 'login.pass.place')->setRequired('login.empty');
     $form->addSubmit('send', 'login.send');
     $form->onSuccess[] = function (Form $form, $values) use($onSuccess) {
         try {
             $this->user->login($values->email, $values->password);
         } catch (Nette\Security\AuthenticationException $e) {
             if ($e->getCode() == 1) {
                 $form->addError('login.user.invalid');
             } elseif ($e->getCode() == 2) {
                 $form->addError('login.pass.invalid');
             }
             return;
         }
         $onSuccess();
     };
     return $form;
 }
Beispiel #3
0
 /**
  * Factory for registration administration account.
  * @param  class Translator
  * @param  callable
  * @return Form
  */
 public function registrationAccount($translator, callable $onSuccess)
 {
     $form = $this->forms->create($translator);
     $form->addText('realname', 'install.acc.name')->setRequired('install.form.empty');
     $form->addText('email', 'install.acc.email')->setDefaultValue('@')->setType('email')->setRequired('install.form.empty')->addRule(Form::EMAIL, 'install.acc.email.invalid');
     $form->addPassword('password', 'install.acc.pass')->setRequired('install.form.empty')->addRule(Form::MIN_LENGTH, 'install.acc.pass.min', 6);
     $form->addPassword('verify', 'install.acc.pass.verify')->setRequired('install.form.empty')->addRule(Form::EQUAL, 'install.acc.pass.verify.invalid', $form['password']);
     $form->addSubmit('send', 'install.acc.send');
     $form->onSuccess[] = function (Form $form) use($onSuccess) {
         // Form processing.
         $values = $form->getValues();
         $table = $this->getTablePrefix() . 'users';
         // Hash password.
         $values->password = Passwords::hash($values->password);
         // Delete unneeded values.
         unset($values->verify, $values->prefix);
         // Insert records into the database.
         $this->query->addValues($table, $values);
         // Save the installation step into the cache.
         $this->steps->setToCache(Steps::Step4, rand(1, 9));
         $onSuccess();
     };
     return $form;
 }