public function registrationAction() { $form = new RegistrationForm(); $auth = new AuthenticationService(); $status = $message = ''; if ($auth->hasIdentity()) { // Identity exists return $this->redirect()->toRoute('store'); } /** * @var $request Request */ $request = $this->getRequest(); if ($request->isPost()) { $filters = new MyRegistrationFilter(); $form->setInputFilter($filters->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { //add user $userData = $form->getData(); $user = new User(); $user->exchangeArray($form->getData()); $user->addUser(); //Authentication $authAdapter = new MyAuthAdapter($userData['name'], md5($userData['pass'])); $result = $auth->authenticate($authAdapter); if ($result->isValid()) { $status = 'success'; $message = 'Реєстрація пройшла успішно'; if ($message) { $this->flashMessenger()->setNamespace($status)->addMessage($message); } return $this->redirect()->toRoute('store'); } else { $status = 'error'; $message = 'Виникла непередбачувана помилка'; } } else { $status = 'error'; $message = 'Помилка параметрів'; } } //make message if ($message) { $this->flashMessenger()->setNamespace($status)->addMessage($message); } return array('form' => $form); }
public function indexAction() { $form = new RegistrationForm(); $form->get('submit')->setValue('Register'); $request = $this->getRequest(); // съдържа данните преди валидация if ($request->isPost()) { $form->setInputFilter(new RegistrationFilter($this->getServiceLocator())); $form->setData($request->getPost()); if ($form->isValid()) { $data = $form->getData(); //съдържа данните след валидация $data = $this->prepareData($data); $auth = new Auth(); $auth->exchangeArray($data); //echo '<pre>'; //print_r($auth); //echo '</pre>'; /* //Manualy, without ServiceManager $dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Auth()); $tableGateway = new TableGateway('users', $dbAdapter, null, $resultSetPrototype); $usersTable = new UsersTable($tableGateway); $usersTable->saveUser($auth); $userIvan = $usersTable->getUser(5); //without $userTable $rowset = $tableGateway->select(array('usr_id' => 5)); $user3 = $rowset->current(); echo '<pre>'; print_r($user3); echo '</pre>'; */ //using the ServiceManager $this->getUsersTable()->saveUser($auth); $this->sendConfirmationEmail($auth); $this->flashMessenger()->addMessage($auth->usr_email); return $this->redirect()->toRoute('auth/default', array('controller' => 'registration', 'action' => 'registration-success')); } } return new viewModel(array('form' => $form)); }
public function indexAction() { // A test instantiation to make sure it works. Not used in the application. You can remove the next line // $myValidator = new ConfirmPassword(); $form = new RegistrationForm(); $form->get('submit')->setValue('Register'); $request = $this->getRequest(); if ($request->isPost()) { $form->setInputFilter(new RegistrationFilter($this->getServiceLocator())); $form->setData($request->getPost()); if ($form->isValid()) { $data = $form->getData(); $data = $this->prepareData($data); $auth = new Auth(); $auth->exchangeArray($data); /* // this is replaced by // 1) Manualy composing (wiring) the objects $dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new \Zend\Db\ResultSet\ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new \Auth\Model\Auth()); $tableGateway = new \Zend\Db\TableGateway\TableGateway('users', $dbAdapter, null, $resultSetPrototype); $usersTable = new \Auth\Model\UsersTable($tableGateway); // $usersTable->saveUser($auth); // $user7 = $usersTable->getUser(7); $rowset = $tableGateway->select(array('usr_id' => 7)); $user7 = $rowset->current(); echo '<pre>'; var_dump($user7); echo '</pre>'; */ // OR // 2) Using the service Locator $this->getUsersTable()->saveUser($auth); $this->sendConfirmationEmail($auth); $this->flashMessenger()->addMessage($auth->usr_email); return $this->redirect()->toRoute('auth/default', array('controller' => 'registration', 'action' => 'registration-success')); } } return new ViewModel(array('form' => $form)); }