示例#1
0
 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 updateAction()
 {
     $id = $this->params()->fromRoute('id');
     if (!$id) {
         return $this->redirect()->toRoute('admin/default', array('controller' => 'admin', 'action' => 'index'));
     }
     $form = new UserForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setInputFilter(new UserFilter());
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $data = $form->getData();
             unset($data['submit']);
             if (empty($data['usr_registration_date'])) {
                 $data['usr_registration_date'] = '2013-07-19 12:00:00';
             }
             $this->getUsersTable()->update($data, array('usr_id' => $id));
             return $this->redirect()->toRoute('admin/default', array('controller' => 'admin', 'action' => 'index'));
         }
     } else {
         $form->setData($this->getUsersTable()->select(array('usr_id' => $id))->current());
     }
     return new ViewModel(array('form' => $form, 'id' => $id));
 }
 public function addUserAction()
 {
     $this->auth();
     $userTable = new UserTable($this->getServiceLocator()->get('dbAdapter'));
     $request = $this->getRequest();
     $form = new UserForm();
     $form->setInputFilter(new UserFilter());
     $form->setData($request->getPost());
     if (!$form->isValid()) {
         $users = $userTable->fetchAll();
         $model = new ViewModel(array('error' => true, 'form' => $form, 'users' => $users));
         $model->setTemplate('admin/admin/users');
         return $model;
     }
     $data = $form->getData();
     $user = new User();
     $user->exchangeArray($data);
     $userTable->saveUser($user);
     return $this->redirect()->toUrl('/admin/users');
 }