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));
 }
Example #2
0
 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));
 }