diff options
-rw-r--r-- | controllers/UsersController.php | 22 | ||||
-rw-r--r-- | views/users/settings.html.php | 83 |
2 files changed, 105 insertions, 0 deletions
diff --git a/controllers/UsersController.php b/controllers/UsersController.php index c168066..8ee5079 100644 --- a/controllers/UsersController.php +++ b/controllers/UsersController.php @@ -374,6 +374,28 @@ class UsersController extends \lithium\action\Controller { } } + public function settings() + { + //Get the user using their login information (from auth) + $user = Auth::check('default'); + $user = User::find($user['_id']); + + //If the request isn't empty + if(!empty($this->request->data)) { + //Foreach key/value pair in the request data + foreach($this->request->data as $key => $value) + { + //TODO: Make sure to lock the schema to prevent wierd values + $user->$key = $value; + } + + //Save the user. + $user->save(null, array('validate' => false)); + } + + return compact('user'); + } + public function requestFriend($username) { //If the user isn't blocking this user, diff --git a/views/users/settings.html.php b/views/users/settings.html.php new file mode 100644 index 0000000..6f65786 --- /dev/null +++ b/views/users/settings.html.php @@ -0,0 +1,83 @@ +<h2> Settings </h2> + +<div style='float:left'>Name</div><?php if (!isset($user->Name)): ?> <div style='float:right'><a href='#name' rel='prettyPhoto'>Set</a></div><?php endif; ?> +<div style="clear:both" /> +<hr /> +<div style='float:left'>Your real name</div><div style='float:right'><?= isset($user->Name) ? $user->Name : "Not Set"; ?> </div> +<br class = "cl"/> +<br /> +<div style='float:left'>Username</div><div style='float:right'><a href="#username" rel='prettyPhoto'>Change</a></div> +<div style="clear:both" /> +<hr /> +<div style='float:left'>How you're known on the site</div><div style='float:right'><?= $user->username ?> </div> +<br class = "cl"/> +<br /> +<div style='float:left'>E-Mail Address</div><div style='float:right'><a href="#email" rel="prettyPhoto" >Change</a></div> +<div style="clear:both" /> +<hr /> +<div style='float:left'>The Address we'll contact you at</div><div style='float:right'><?= isset($user->email) ? $user->email : "Not Set"; ?> </div> +<br class = "cl"/> +<br /> +<div style='float:left'>Password</div><div style='float:right'><a href="#password" rel="prettyPhoto">Change</a></div> +<div style="clear:both" /> +<hr /> +<div style='float:left'>The password you login with</div> +<br class = "cl"/> +<br /> + +<?php //Eventually change this to submit onClick with javascript so we can get rid of the submit button :TODO: ?> +<?= $this->form->create($user->settings); ?> +<div style='float:left'>Privacy Mode</div> +<div style="clear:both" /> +<hr /> +<div style='float:left'>Only allow friends to see your posts?</div><div style='float:right'><?= $this->form->checkbox('private'); ?> </div> + </div> + <?= $this->form->submit('Save Settings'); ?> +<?= $this->form->end(); ?> +<br class = "cl"/> +<br /> + +<div style='float:left'>Linked Accounts</div><div style='float:right'>Change</div> +<div style="clear:both" /> +<hr /> +<div style='float:left'>Your OpenID</div><div style='float:right'>Not Set</div> +<br class = "cl"/> +<br /> + +<div id="password" style="display: none;"> +<h2> Change Password </h2> + <?= $this->form->create(null, array('url' => '/users/changePassword', 'id' => 'changepass')); ?> + <?= $this->form->field('newpass', array('type' => 'password', 'label' => 'New Password:')); ?> + <?= $this->form->field('confirm', array('type' => 'password', 'label' => 'Confirm Password:')); ?> + <?= $this->form->submit('Change Password'); ?> + <?= $this->form->end(); ?> +</div> + +<div id="username" style="display: none;"> +<h2> Change Username </h2> + <p> Under normal circumstances, the username cannot be changed. However, if you really need to change your username + please contact our administration team for assistance. Thank you</p> +</div> + +<div id="name" style="display: none;"> +<h2> Change Name </h2> +<?= $this->form->create(); ?> + <?= $this->form->field('Name', array('type' => 'textbox')); ?> + <?= $this->form->submit('Save'); ?> +<?= $this->form->end(); ?> +</div> + +<div id="email" style="display: none;"> +<h2> Change Name </h2> +<?= $this->form->create(); ?> + <?= $this->form->field('email', array('type' => 'textbox', 'label' => 'E-Mail Address:')); ?> + <?= $this->form->submit('Save'); ?> +<?= $this->form->end(); ?> +</div> + + +<div style="clear:both" /> +</div> +</div> +<br class="cl"> +</div>
\ No newline at end of file |