/** * 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); }
/** * 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); } } }
/** * 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'); }
public function testGetSource() { $this->assertEquals($this->user->getSource(), 'users'); }