function loginAction() { //$this->layout('login/layout'); // Cái này dùng để custom lại layout cho action $form = new UserForm(); $form->get('submit')->setValue('Login'); $resultLogin = NULL; /** Gọi Đối tượng Request */ $request = $this->getRequest(); if ($request->isPost()) { $user = new User(); $inputFilter = $user->getInputFilter(); $form->setInputFilter($inputFilter); $form->setData($request->getPost()); if ($form->isValid()) { /** Nếu như form được điền hợp lệ Nó sẽ fill data vào Entity User */ $user->exchangeArray($form->getData()); $resultLogin = $this->getUserTable()->loginByAdapter($user, $this->getAdapter()); if ($resultLogin->count()) { $this->redirect()->toRoute('admin'); } } } /** Gọi đối tượng Session */ $session = new Container(); $session->endTime; $session->endTime = (double) array_sum(explode(' ', microtime())); if (isset($this->getRequest()->getCookie()->cookieName)) { $cookieValue = $this->getRequest()->getCookie()->cookieName; } else { $cookie = new SetCookie('cookieName', 'cookieValue', time() + 60 * 60 * 24 * 1); $this->getResponse()->getHeaders()->addHeader($cookie); } return array('time' => $session->endTime, 'form' => $form, 'resultLogin' => $resultLogin); }
public function saveAction() { $jsonModel = new JsonModel(); if ($this->getRequest()->isPost()) { $data = $this->params()->fromPost(); $em = $this->getEntityManager(); if (!($userRes = $em->getRepository('Base\\Entity\\User')->find($data['id']))) { $userRes = new \Base\Entity\User(); } $form = new UserForm(); $roleArr = $em->getRepository('Base\\Entity\\User')->getRoleArray(); $form->get('role')->setValueOptions($roleArr); $form->setData($data); if ($form->isValid()) { $userRes->setDisplayName($data['display_name']); $userRes->setUsername($data['username']); $userRes->setRole($data['role']); $userRes->setPassword(\Zend\Ldap\Attribute::createPassword($data['password'])); $em->persist($userRes); $em->flush(); $jsonModel->setVariable('success', true); } else { $jsonModel->setVariable('success', false); $jsonModel->setVariable('message', $form->getMessages()); } } return $jsonModel; }
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; }