コード例 #1
0
ファイル: RegisterController.php プロジェクト: jkhaled/bms
 /**
  * validate data and register user in DB
  *
  * @return ViewModel
  */
 public function processAction()
 {
     if ($this->request->isPost()) {
         $form = new RegisterForm();
         $data = $this->params()->fromPost();
         $viewModel = new ViewModel();
         $viewModel->setTemplate('user/register/index');
         $viewModel->setVariable("registerForm", $form);
         $form->setData($data);
         if ($form->isValid()) {
             if ($data["password"] == $data["confirm_password"]) {
                 $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager');
                 $userRepo = $em->getRepository('Application\\Entity\\User');
                 $user = $userRepo->findByEmail($data['email']);
                 if ($user) {
                     $viewModel->setVariable('accountExistError', true);
                     return $viewModel;
                 }
                 $user = new User();
                 $user->setFirstname($data['firstname']);
                 $user->setLastname($data['lastname']);
                 $user->setEmail($data['email']);
                 $user->setPhone($data['phone']);
                 $user->setPassword($data['password']);
                 $user->setBlocked(0);
                 $user->setEmailVerified(0);
                 $user->setPhoneVerified(0);
                 $user->setRole('u');
                 $user->setCreatedDate(time());
                 $em->persist($user);
                 $em->flush();
                 $params = ["email" => $user->getEmail()];
                 //$eventManager = $this->getEventManager()->trigger('sendMail', null, );
                 //TODO continue and send mail by Listener class
                 $this->redirect()->toRoute('user', array('controller' => 'register', 'action' => 'success'));
             } else {
                 $viewModel->setVariable('passwordError', true);
                 return $viewModel;
             }
         } else {
             $viewModel->setVariable('formError', true);
             return $viewModel;
         }
     } else {
         $this->redirect()->toRoute('user', array('controller' => "register", "action" => "index"));
     }
 }
コード例 #2
0
ファイル: UserController.php プロジェクト: hopealive/ds
 public function editAction()
 {
     $form = new \Admin\Form\UserForm();
     $id = (int) $this->params()->fromRoute('id', 0);
     if ($id > 0) {
         $model = $this->getObjectManager()->find($this->_modelName, $id);
         $form->setData($model->toArray());
         $form->setAttribute('action', '/admin/' . $this->_modelAlias . '/edit/' . $id);
         $form->get('submit')->setAttribute('value', 'Edit');
         $model->setUpdatedDate(new \DateTime());
         $viewVariables['action'] = 'Edit';
     } else {
         $model = new User();
         $form->setAttribute('action', '/admin/' . $this->_modelAlias . '/add');
         $form->get('submit')->setAttribute('value', 'Add');
         $model->setCreatedDate(new \DateTime());
         $viewVariables['action'] = 'Add';
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setData($request->getPost());
         $model->setEmail($request->getPost()->email);
         $model->setName($request->getPost()->name);
         $model->setRole($request->getPost()->role);
         if (!empty($request->getPost()->password)) {
             $model->setPassword($request->getPost()->password);
         }
         if ($form->isValid()) {
             $this->getObjectManager()->persist($model);
             $this->getObjectManager()->flush();
             return $this->redirect()->toUrl('/admin/' . $this->_modelAlias);
         }
     }
     $viewVariables['form'] = $form;
     $viewVariables['model'] = $model;
     $this->_view->setTemplate('admin/' . $this->_modelAlias . '/edit');
     $this->_view->setVariables($viewVariables);
     return $this->_view;
 }