summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--controllers/UsersController.php22
-rw-r--r--views/users/settings.html.php83
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