コード例 #1
0
 /**
  * Action to register a new user
  */
 public function indexAction()
 {
     $form = new RegisterForm();
     if ($this->request->isPost()) {
         $name = $this->request->getPost('name', array('string', 'striptags'));
         $username = $this->request->getPost('username', 'alphanum');
         $email = $this->request->getPost('email', 'email');
         $password = $this->request->getPost('password');
         $repeatPassword = $this->request->getPost('repeatPassword');
         if ($password != $repeatPassword) {
             $this->flash->error('Passwords are different');
             return false;
         }
         $user = new Users();
         $user->username = $username;
         $user->password = sha1($password);
         $user->name = $name;
         $user->email = $email;
         $user->created_at = new RawValue('NOW()');
         $user->active = 'Y';
         if (false == $user->save()) {
             foreach ($user->getMessages() as $message) {
                 $this->flash->error((string) $message);
             }
         } else {
             $this->tag->setDefault('email', '');
             $this->tag->setDefault('password', '');
             $this->flash->success('Thanks for sign-up, please log-in to start generating invoices');
             return $this->forward('session/index');
         }
     }
     $this->view->setVar('form', $form);
 }
コード例 #2
0
 /**
  * Edit the active user profile
  */
 public function editAction()
 {
     // Get session info
     $auth = $this->session->get('auth');
     /** @var Users $user */
     $user = Users::findFirst($auth['id']);
     if ($user == false) {
         return $this->forward('index/index');
     }
     if (!$this->request->isPost()) {
         $this->tag->setDefault('name', $user->name);
         $this->tag->setDefault('email', $user->email);
     } else {
         $name = $this->request->getPost('name', array('string', 'striptags'));
         $email = $this->request->getPost('email', 'email');
         $user->name = $name;
         $user->email = $email;
         if ($user->save() == false) {
             foreach ($user->getMessages() as $message) {
                 $this->flash->error((string) $message);
             }
         } else {
             $this->flash->success('Your profile information was updated successfully');
             $auth = ['id' => $user->id, 'name' => $user->name];
             $this->session->set('auth', $auth);
         }
     }
 }
コード例 #3
0
 /**
  * Finishes the active session redirecting to the index
  */
 public function endAction()
 {
     if ($auth = $this->session->get('auth')) {
         $user = Users::findFirstById($auth['id']);
         $name = $user ? $user->name : '';
         $this->flash->success("Goodbye {$name}!");
         $this->session->remove('auth');
     }
     return $this->forward('index/index');
 }
コード例 #4
0
 public function testGetSource()
 {
     $this->assertEquals($this->user->getSource(), 'users');
 }