public function processAction()
 {
     if (!$this->request->isPost()) {
         return $this->redirect()->toRoute(NULL, array('controller' => 'user-manager', 'action' => 'index'));
     }
     // Get User ID from POST
     $post = $this->request->getPost();
     $id = $this->params()->fromRoute('id');
     if ($id) {
         $userTable = $this->getServiceLocator()->get('UserTable');
         // Load User entity
         $userData = $userTable->getUser($id);
         // Bind User entity to Form
         $form = $this->getServiceLocator()->get('UserEditForm');
         //ovde postavlja stare podatke user
         $form->bind($userData);
         //ovde zamazuje stare tj.difoltne koje smopodeili u prethodnom korakuiz post
         //var_dump($post->users_password);exit;
         $form->setData($post);
     }
     //unset($post->users_password);
     // Save user
     $user = new User();
     $user->exchangeArray($post);
     if ($id) {
         $user->password = $post->users_password;
     }
     $this->getServiceLocator()->get('UserTable')->saveUser($user);
     return $this->redirect()->toRoute('user-manager/default', array('controller' => 'user-manager', 'action' => 'index'));
 }
 protected function createUser(array $data)
 {
     $user = new User();
     $user->exchangeArray($data);
     $userTable = $this->getServiceLocator()->get('UserTable');
     $userTable->save($user);
     return true;
 }
 protected function createUser(array $data)
 {
     $sm = $this->getServiceLocator();
     $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
     $resultSetPrototype = new \Zend\Db\ResultSet\ResultSet();
     $resultSetPrototype->setArrayObjectPrototype(new \Users\Model\User());
     $tableGateway = new \Zend\Db\TableGateway\TableGateway('user', $dbAdapter, null, $resultSetPrototype);
     $user = new User();
     $user->exchangeArray($data);
     $userTable = new UserTable($tableGateway);
     $userTable->saveUser($user);
     return true;
 }
 public function addAction()
 {
     $error = false;
     $form = $this->getServiceLocator()->get('UserAddForm');
     if ($this->request->isPost()) {
         $post = $this->request->getPost();
         $userTable = $this->getServiceLocator()->get('UserTable');
         $form->bind($post);
         $form->setData($post);
         if ($form->isValid()) {
             $user = new User();
             $user->exchangeArray($post);
             $userTable->saveUser($user);
             $this->_redirectTo('index');
             return true;
         } else {
             $error = true;
         }
     }
     return new ViewModel(array('form' => $form, 'error' => $error));
 }
Esempio n. 5
0
 public function adduserAction()
 {
     $this->userTable = $this->getServiceLocator()->get('UserTable');
     $authResponse = $this->getAuthService()->getStorage()->read();
     $this->layout()->setVariable('auth', $authResponse);
     $Config = $this->getServiceLocator()->get('Config');
     $this->layout('layout/dashboard');
     $AddUserForm = new AddUserForm();
     $AddUserForm->get('permission')->setValueOptions($Config["user_permission"]);
     $this->layout()->setVariable('auth', $authResponse);
     // get form request methord.
     $request = $this->getRequest();
     if ($request->isPost()) {
         $post = $this->request->getPost();
         $email = $post["email"];
         $usersDetail = $this->userTable->getActiveUserByEmail($email);
         $inputFilter = new AddUserFilter();
         $AddUserForm->setInputFilter($inputFilter);
         $AddUserForm->setData($post);
         if (!$AddUserForm->isValid() || isset($usersDetail->user_id)) {
             if (isset($usersDetail->user_id)) {
                 $AddUserForm->setMessages(array('email' => array("This email is already registered with us.")));
             }
             if ($post->password !== $post->confirm_password) {
                 $AddUserForm->setMessages(array('confirm_password' => array("Password not matched.")));
             }
         } else {
             $user = new User();
             $FormUserData = $AddUserForm->getData();
             $result = array_merge($FormUserData, array("client_id" => $authResponse["user_id"]));
             $user->exchangeArray($result);
             $this->userTable->addUser($user);
             $lastInsertUserID = $this->userTable->lastInsertValue;
             $this->userTable->userPermissionSet($lastInsertUserID, $post["permission"]);
             //insert user permission table
             $this->renderer = $this->getServiceLocator()->get('ViewRenderer');
             $mailcontent = $this->renderer->render('mails/AddUser', null);
             $encryptedresetlink = base64_encode("{$lastInsertUserID}|" . time());
             $this->userTable->usertokeninsert($lastInsertUserID, $encryptedresetlink);
             //insert into token table  encryped data
             $ResetLink = "http://{$_SERVER["SERVER_NAME"]}/user/activate/{$encryptedresetlink}";
             $tokenKeyValues = array('#USERNAME#' => $user->fname, "#CREATELINK#" => $ResetLink);
             $msgSubject = "Create Account successfully please follow the instruction to activate account";
             $this->SendMail()->SendMailSmtp($user->email, $msgSubject, $mailcontent, $tokenKeyValues);
             $this->flashMessenger()->setNamespace('info')->addMessage('Email is send to your email id for activation');
             return $this->redirect()->toRoute("manageuser", array('controller' => 'users', 'action' => 'adduser'));
         }
     }
     $model = new ViewModel(array('form' => $AddUserForm));
     return $model;
 }
Esempio n. 6
0
 public function resetAction()
 {
     $this->userTable = $this->getServiceLocator()->get('UserTable');
     $this->layout('layout/register');
     $ResetForm = new ResetForm();
     $token = $this->params()->fromRoute('param') ? $this->params()->fromRoute('param') : '';
     list($user_id, $datetime) = explode("|", base64_decode(trim($token)));
     $isValidinterval = $this->UsersCommonFuncions()->CheckDatetimeRange($datetime);
     if (!$isValidinterval) {
         $this->flashMessenger()->setNamespace('info')->addMessage('Your link get expired');
         return $this->redirect()->toRoute(NULL, array('controller' => 'users', 'action' => 'login'));
     }
     $request = $this->getRequest();
     $resultToken = $this->userTable->IsTokenAvalibleForUser($token, $user_id);
     if (!$resultToken->user_id) {
         $this->flashMessenger()->setNamespace('warning')->addMessage("Invalid token");
         return $this->redirect()->toRoute(NULL, array('controller' => 'users', 'action' => 'login'));
     }
     if ($resultToken->status == 0) {
         $this->flashMessenger()->setNamespace('info')->addMessage("User is not activated, So you can not reset password");
         return $this->redirect()->toRoute(NULL, array('controller' => 'users', 'action' => 'login'));
     }
     if ($request->isPost()) {
         $post = $this->request->getPost();
         $password = $post->password;
         $confirm_password = $post->confirm_password;
         $post = $this->request->getPost();
         $inputFilter = new ResetFilter();
         $ResetForm->setInputFilter($inputFilter);
         $ResetForm->setData($post);
         if (!$ResetForm->isValid()) {
         } else {
             $post->user_id = $user_id;
             $user = new User();
             $user->exchangeArray($post);
             // Update user Password
             $this->getUserTable()->resetpassword($user);
             $this->flashMessenger()->setNamespace('info')->addMessage("Your password is updated successfully");
             return $this->redirect()->toRoute(NULL, array('controller' => 'users', 'action' => 'login'));
         }
     }
     $view = new ViewModel(array("form" => $ResetForm, "param" => $token));
     $view->setTemplate('users/users/resetpassword');
     return $view;
 }