diff --git a/PHPCI/Controller/UserController.php b/PHPCI/Controller/UserController.php index c8fade0c..817cb5e8 100644 --- a/PHPCI/Controller/UserController.php +++ b/PHPCI/Controller/UserController.php @@ -29,7 +29,7 @@ class UserController extends Controller public function init() { - $this->userStore = b8\Store\Factory::getStore('User'); + $this->userStore = b8\Store\Factory::getStore('User'); } /** @@ -45,6 +45,61 @@ class UserController extends Controller return $this->view->render(); } + public function profile() + { + $user = $_SESSION['user']; + $values = $user->getDataArray(); + + if ($this->request->getMethod() == 'POST') { + $values = $this->getParams(); + + if (!empty($values['password'])) { + $values['hash'] = password_hash($values['password'], PASSWORD_DEFAULT); + } + + $this->view->updated = true; + + $user->setValues($values); + $_SESSION['user'] = $this->userStore->save($user); + } + + $form = new Form(); + $form->setAction(PHPCI_URL.'user/profile'); + $form->setMethod('POST'); + + $name = new Form\Element\Text('name'); + $name->setClass('form-control'); + $name->setContainerClass('form-group'); + $name->setLabel('Name'); + $name->setRequired(true); + $form->addField($name); + + $email = new Form\Element\Email('email'); + $email->setClass('form-control'); + $email->setContainerClass('form-group'); + $email->setLabel('Email Address'); + $email->setRequired(true); + $form->addField($email); + + $password = new Form\Element\Password('password'); + $password->setClass('form-control'); + $password->setContainerClass('form-group'); + $password->setLabel('Password (leave blank if you don\'t want to change it)'); + $password->setRequired(false); + $form->addField($password); + + $submit = new Form\Element\Submit(); + $submit->setClass('btn btn-success'); + $submit->setValue('Save »'); + $form->addField($submit); + + $form->setValues($values); + + $this->view->form = $form; + + return $this->view->render(); + } + /** * Add a user - handles both form and processing. */ diff --git a/PHPCI/View/User/profile.phtml b/PHPCI/View/User/profile.phtml new file mode 100644 index 00000000..5e006738 --- /dev/null +++ b/PHPCI/View/User/profile.phtml @@ -0,0 +1,15 @@ +
Your details have been updated.
+ + +