Skip to content
Snippets Groups Projects
Commit b57823ba authored by Jakob Sack's avatar Jakob Sack
Browse files

Made the "change password" thingie in settings working

parent 46f1ea14
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,7 @@ header( "Content-Type: application/jsonrequest" );
// Check if we are a user
if( !OC_USER::isLoggedIn()){
echo json_encode( array( "status" => "error", "data" => "Authentication error" ));
echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
exit();
}
......
......@@ -10,7 +10,7 @@ header( "Content-Type: text/plain" );
// Check if we are a user
if( !OC_USER::isLoggedIn()){
echo json_encode( array( "status" => "error", "data" => "Authentication error" ));
echo json_encode( array( "status" => "error", "data" => array( "message" => "Authentication error" )));
exit();
}
......
......@@ -156,15 +156,15 @@ class OC_USER_DATABASE extends OC_USER_BACKEND {
$query = OC_DB::prepare( "SELECT * FROM `*PREFIX*users` WHERE uid = ?" );
$result = $query->execute( array( $uid ));
if ( $result->numRows() > 0 ){
return false;
}
else{
if( $result->numRows() > 0 ){
$query = OC_DB::prepare( "UPDATE *PREFIX*users SET password = ? WHERE uid = ?" );
$result = $query->execute( array( sha1( $password ), $uid ));
return true;
}
else{
return false;
}
}
/**
......
<?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" )));
}
?>
#passworderror{display:none;}
#passwordchanged{display:none;}
\ No newline at end of file
......@@ -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);
......
$(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;
});
} );
......@@ -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>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment