diff options
author | Jakob Sack <kde@jakobsack.de> | 2011-04-18 15:07:14 +0200 |
---|---|---|
committer | Jakob Sack <kde@jakobsack.de> | 2011-04-18 15:07:14 +0200 |
commit | b57823baa5d4f0d23be8d034550a0ffcb788a2ca (patch) | |
tree | bfae96c4e0e7b88b072379e3c2addf26a31561c0 /settings | |
parent | 46f1ea14c0af9f64722d44d9390d868c4e060c14 (diff) | |
download | nextcloud-server-b57823baa5d4f0d23be8d034550a0ffcb788a2ca.tar.gz nextcloud-server-b57823baa5d4f0d23be8d034550a0ffcb788a2ca.zip |
Made the "change password" thingie in settings working
Diffstat (limited to 'settings')
-rw-r--r-- | settings/ajax/changepassword.php | 35 | ||||
-rw-r--r-- | settings/css/settings.css | 2 | ||||
-rw-r--r-- | settings/index.php | 9 | ||||
-rw-r--r-- | settings/js/main.js | 21 | ||||
-rw-r--r-- | settings/templates/index.php | 20 |
5 files changed, 77 insertions, 10 deletions
diff --git a/settings/ajax/changepassword.php b/settings/ajax/changepassword.php new file mode 100644 index 00000000000..1a9ad73610e --- /dev/null +++ b/settings/ajax/changepassword.php @@ -0,0 +1,35 @@ +<?php + +// Init owncloud +require_once('../../lib/base.php'); + +// We send json data +header( "Content-Type: application/jsonrequest" ); + +// Check if we are a user +if( !OC_USER::isLoggedIn()){ + echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" ))); + exit(); +} + +// Get data +if( !isset( $_POST["password"] ) && !isset( $_POST["oldpassword"] )){ + echo json_encode( array( "status" => "error", "data" => array( "message" => "You have to enter the old and the new password!" ))); + exit(); +} + +// Check if the old password is correct +if( !OC_USER::checkPassword( $_SESSION["user_id"], $_POST["oldpassword"] )){ + echo json_encode( array( "status" => "error", "data" => array( "message" => "Your old password is wrong!" ))); + exit(); +} + +// Change password +if( OC_USER::setPassword( $_SESSION["user_id"], $_POST["password"] )){ + echo json_encode( array( "status" => "success", "data" => array( "message" => "Password changed" ))); +} +else{ + echo json_encode( array( "status" => "error", "data" => array( "message" => "Unable to change password" ))); +} + +?> diff --git a/settings/css/settings.css b/settings/css/settings.css new file mode 100644 index 00000000000..23561ec367d --- /dev/null +++ b/settings/css/settings.css @@ -0,0 +1,2 @@ +#passworderror{display:none;} +#passwordchanged{display:none;}
\ No newline at end of file diff --git a/settings/index.php b/settings/index.php index 9bf89145cc3..1a442eca811 100644 --- a/settings/index.php +++ b/settings/index.php @@ -7,12 +7,19 @@ if( !OC_USER::isLoggedIn()){ exit(); } +// Highlight navigation entry OC_APP::setActiveNavigationEntry( "settings" ); -$tmpl = new OC_TEMPLATE( "settings", "index", "admin"); +OC_UTIL::addScript( "settings", "main" ); +OC_UTIL::addStyle( "settings", "settings" ); + +// calculate the disc space $used=OC_FILESYSTEM::filesize('/'); $free=OC_FILESYSTEM::free_space(); $total=$free+$used; $relative=round(($used/$total)*100); + +// Return template +$tmpl = new OC_TEMPLATE( "settings", "index", "admin"); $tmpl->assign('usage',OC_HELPER::humanFileSize($used)); $tmpl->assign('total_space',OC_HELPER::humanFileSize($total)); $tmpl->assign('usage_relative',$relative); diff --git a/settings/js/main.js b/settings/js/main.js new file mode 100644 index 00000000000..e05fc68743c --- /dev/null +++ b/settings/js/main.js @@ -0,0 +1,21 @@ +$(document).ready(function(){ + $("#passwordbutton").click( function(){ + // Serialize the data + var post = $( "#passwordform" ).serialize(); + $('#passwordchanged').hide(); + $('#passworderror').hide(); + // Ajax foo + $.post( 'ajax/changepassword.php', post, function(data){ + if( data.status == "success" ){ + $('#pass1').val(''); + $('#pass2').val(''); + $('#passwordchanged').show(); + } + else{ + $('#passworderror').html( data.data.message ); + $('#passworderror').show(); + } + }); + return false; + }); +} ); diff --git a/settings/templates/index.php b/settings/templates/index.php index 33d27922d8f..2d5e9d9140f 100644 --- a/settings/templates/index.php +++ b/settings/templates/index.php @@ -6,23 +6,25 @@ </fieldset> </form> -<form id="user_settings"> +<form id="passwordform"> <fieldset> - <legend>User settings</legend> + <legend>Change Password</legend> + <div id="passwordchanged">You're password got changed</div> + <div id="passworderror"></div> <p> - <label for="email">Email :</label> - <input type="text" id="email" name="email" value="user@example.net" /> + <label for="pass1">Old password:</label> + <input type="password" id="pass1" name="oldpassword" /> </p> <p> - <label for="pass1">New password :</label> - <input type="password" id="pass1" name="pass1" /> + <label for="pass2">New password :</label> + <input type="password" id="pass2" name="password" /> </p> <p> - <label for="pass2">Confirm new password :</label> - <input type="password" id="pass2" name="pass2" /> + <input type="checkbox" id="show" name="show" /> + <label for="show">Show new password</label> </p> <p class="form_footer"> - <input class="prettybutton" type="submit" value="Save" /> + <input id="passwordbutton" class="prettybutton" type="submit" value="Save" /> </p> </fieldset> </form> |