@ -13,12 +13,12 @@
*
* @ param callback
* /
jQuery . fn . keyUpDelayedOrEnter = function ( callback ) {
jQuery . fn . keyUpDelayedOrEnter = function ( callback ) {
var cb = callback ;
var that = this ;
this . keyup ( _ . debounce ( function ( event ) {
// enter is already handled in keypress
if ( event . keyCode === 13 ) {
if ( event . keyCode === 13 ) {
return ;
}
if ( that . val ( ) !== '' ) {
@ -27,7 +27,7 @@ jQuery.fn.keyUpDelayedOrEnter = function(callback){
} , 1000 ) ) ;
this . keypress ( function ( event ) {
if ( event . keyCode === 13 && that . val ( ) !== '' ) {
if ( event . keyCode === 13 && that . val ( ) !== '' ) {
event . preventDefault ( ) ;
cb ( ) ;
}
@ -38,48 +38,48 @@ jQuery.fn.keyUpDelayedOrEnter = function(callback){
/ * *
* Post the email address change to the server .
* /
function changeEmailAddress ( ) {
var emailInfo = $ ( '#email' ) ;
if ( emailInfo . val ( ) === emailInfo . defaultValue ) {
return ;
}
emailInfo . defaultValue = emailInfo . val ( ) ;
OC . msg . startSaving ( '#lostpassword .msg' ) ;
var post = $ ( "#lostpassword" ) . serialize ( ) ;
$ . post ( 'ajax/lostpassword.php' , post , function ( data ) {
OC . msg . finishedSaving ( '#lostpassword .msg' , data ) ;
} ) ;
function changeEmailAddress ( ) {
var emailInfo = $ ( '#email' ) ;
if ( emailInfo . val ( ) === emailInfo . defaultValue ) {
return ;
}
emailInfo . defaultValue = emailInfo . val ( ) ;
OC . msg . startSaving ( '#lostpassword .msg' ) ;
var post = $ ( "#lostpassword" ) . serialize ( ) ;
$ . post ( 'ajax/lostpassword.php' , post , function ( data ) {
OC . msg . finishedSaving ( '#lostpassword .msg' , data ) ;
} ) ;
}
/ * *
* Post the display name change to the server .
* /
function changeDisplayName ( ) {
if ( $ ( '#displayName' ) . val ( ) !== '' ) {
OC . msg . startSaving ( '#displaynameform .msg' ) ;
// Serialize the data
var post = $ ( "#displaynameform" ) . serialize ( ) ;
// Ajax foo
$ . post ( 'ajax/changedisplayname.php' , post , function ( data ) {
if ( data . status === "success" ) {
$ ( '#oldDisplayName' ) . val ( $ ( '#displayName' ) . val ( ) ) ;
// update displayName on the top right expand button
$ ( '#expandDisplayName' ) . text ( $ ( '#displayName' ) . val ( ) ) ;
updateAvatar ( ) ;
}
else {
$ ( '#newdisplayname' ) . val ( data . data . displayName ) ;
}
OC . msg . finishedSaving ( '#displaynameform .msg' , data ) ;
} ) ;
}
function changeDisplayName ( ) {
if ( $ ( '#displayName' ) . val ( ) !== '' ) {
OC . msg . startSaving ( '#displaynameform .msg' ) ;
// Serialize the data
var post = $ ( "#displaynameform" ) . serialize ( ) ;
// Ajax foo
$ . post ( 'ajax/changedisplayname.php' , post , function ( data ) {
if ( data . status === "success" ) {
$ ( '#oldDisplayName' ) . val ( $ ( '#displayName' ) . val ( ) ) ;
// update displayName on the top right expand button
$ ( '#expandDisplayName' ) . text ( $ ( '#displayName' ) . val ( ) ) ;
updateAvatar ( ) ;
}
else {
$ ( '#newdisplayname' ) . val ( data . data . displayName ) ;
}
OC . msg . finishedSaving ( '#displaynameform .msg' , data ) ;
} ) ;
}
}
function updateAvatar ( hidedefault ) {
var $headerdiv = $ ( '#header .avatardiv' ) ;
var $displaydiv = $ ( '#displayavatar .avatardiv' ) ;
if ( hidedefault ) {
if ( hidedefault ) {
$headerdiv . hide ( ) ;
$ ( '#header .avatardiv' ) . removeClass ( 'avatardiv-shown' ) ;
} else {
@ -93,16 +93,16 @@ function updateAvatar (hidedefault) {
$ ( '#removeavatar' ) . show ( ) ;
}
function showAvatarCropper ( ) {
function showAvatarCropper ( ) {
var $cropper = $ ( '#cropper' ) ;
$cropper . prepend ( "<img>" ) ;
var $cropperImage = $ ( '#cropper img' ) ;
$cropperImage . attr ( 'src' ,
OC . generateUrl ( '/avatar/tmp' ) + '?requesttoken=' + oc _requesttoken + '#' + Math . floor ( Math . random ( ) * 1000 ) ) ;
OC . generateUrl ( '/avatar/tmp' ) + '?requesttoken=' + oc _requesttoken + '#' + Math . floor ( Math . random ( ) * 1000 ) ) ;
// Looks weird, but on('load', ...) doesn't work in IE8
$cropperImage . ready ( function ( ) {
$cropperImage . ready ( function ( ) {
$ ( '#displayavatar' ) . hide ( ) ;
$cropper . show ( ) ;
@ -117,7 +117,7 @@ function showAvatarCropper() {
} ) ;
}
function sendCropData ( ) {
function sendCropData ( ) {
cleanCropper ( ) ;
var cropperData = $ ( '#cropper' ) . data ( ) ;
@ -130,11 +130,11 @@ function sendCropData() {
$ . post ( OC . generateUrl ( '/avatar/cropped' ) , { crop : data } , avatarResponseHandler ) ;
}
function saveCoords ( c ) {
function saveCoords ( c ) {
$ ( '#cropper' ) . data ( c ) ;
}
function cleanCropper ( ) {
function cleanCropper ( ) {
var $cropper = $ ( '#cropper' ) ;
$ ( '#displayavatar' ) . show ( ) ;
$cropper . hide ( ) ;
@ -143,7 +143,7 @@ function cleanCropper() {
$ ( '#cropper img' ) . remove ( ) ;
}
function avatarResponseHandler ( data ) {
function avatarResponseHandler ( data ) {
var $warning = $ ( '#avatar .warning' ) ;
$warning . hide ( ) ;
if ( data . status === "success" ) {
@ -156,20 +156,20 @@ function avatarResponseHandler(data) {
}
}
$ ( document ) . ready ( function ( ) {
$ ( "#passwordbutton" ) . click ( function ( ) {
$ ( document ) . ready ( function ( ) {
$ ( "#passwordbutton" ) . click ( function ( ) {
if ( $ ( '#pass1' ) . val ( ) !== '' && $ ( '#pass2' ) . val ( ) !== '' ) {
// Serialize the data
var post = $ ( "#passwordform" ) . serialize ( ) ;
var post = $ ( "#passwordform" ) . serialize ( ) ;
$ ( '#passwordchanged' ) . hide ( ) ;
$ ( '#passworderror' ) . hide ( ) ;
// Ajax foo
$ . post ( OC . generateUrl ( '/settings/personal/changepassword' ) , post , function ( data ) {
if ( data . status === "success" ) {
$ . post ( OC . generateUrl ( '/settings/personal/changepassword' ) , post , function ( data ) {
if ( data . status === "success" ) {
$ ( '#pass1' ) . val ( '' ) ;
$ ( '#pass2' ) . val ( '' ) ;
$ ( '#passwordchanged' ) . show ( ) ;
} else {
} else {
if ( typeof ( data . data ) !== "undefined" ) {
$ ( '#passworderror' ) . html ( data . data . message ) ;
} else {
@ -190,22 +190,22 @@ $(document).ready(function(){
$ ( '#displayName' ) . keyUpDelayedOrEnter ( changeDisplayName ) ;
$ ( '#email' ) . keyUpDelayedOrEnter ( changeEmailAddress ) ;
$ ( "#languageinput" ) . change ( function ( ) {
$ ( "#languageinput" ) . change ( function ( ) {
// Serialize the data
var post = $ ( "#languageinput" ) . serialize ( ) ;
var post = $ ( "#languageinput" ) . serialize ( ) ;
// Ajax foo
$ . post ( 'ajax/setlanguage.php' , post , function ( data ) {
if ( data . status === "success" ) {
$ . post ( 'ajax/setlanguage.php' , post , function ( data ) {
if ( data . status === "success" ) {
location . reload ( ) ;
}
else {
$ ( '#passworderror' ) . html ( data . data . message ) ;
else {
$ ( '#passworderror' ) . html ( data . data . message ) ;
}
} ) ;
return false ;
} ) ;
$ ( 'button:button[name="submitDecryptAll"]' ) . click ( function ( ) {
$ ( 'button:button[name="submitDecryptAll"]' ) . click ( function ( ) {
var privateKeyPassword = $ ( '#decryptAll input:password[id="privateKeyPassword"]' ) . val ( ) ;
$ ( '#decryptAll button:button[name="submitDecryptAll"]' ) . prop ( "disabled" , true ) ;
$ ( '#decryptAll input:password[name="privateKeyPassword"]' ) . prop ( "disabled" , true ) ;
@ -213,23 +213,23 @@ $(document).ready(function(){
} ) ;
$ ( 'button:button[name="submitRestoreKeys"]' ) . click ( function ( ) {
$ ( 'button:button[name="submitRestoreKeys"]' ) . click ( function ( ) {
$ ( '#restoreBackupKeys button:button[name="submitDeleteKeys"]' ) . prop ( "disabled" , true ) ;
$ ( '#restoreBackupKeys button:button[name="submitRestoreKeys"]' ) . prop ( "disabled" , true ) ;
OC . Encryption . restoreKeys ( ) ;
} ) ;
$ ( 'button:button[name="submitDeleteKeys"]' ) . click ( function ( ) {
$ ( 'button:button[name="submitDeleteKeys"]' ) . click ( function ( ) {
$ ( '#restoreBackupKeys button:button[name="submitDeleteKeys"]' ) . prop ( "disabled" , true ) ;
$ ( '#restoreBackupKeys button:button[name="submitRestoreKeys"]' ) . prop ( "disabled" , true ) ;
OC . Encryption . deleteKeys ( ) ;
} ) ;
$ ( '#decryptAll input:password[name="privateKeyPassword"]' ) . keyup ( function ( event ) {
$ ( '#decryptAll input:password[name="privateKeyPassword"]' ) . keyup ( function ( event ) {
var privateKeyPassword = $ ( '#decryptAll input:password[id="privateKeyPassword"]' ) . val ( ) ;
if ( privateKeyPassword !== '' ) {
if ( privateKeyPassword !== '' ) {
$ ( '#decryptAll button:button[name="submitDecryptAll"]' ) . prop ( "disabled" , false ) ;
if ( event . which === 13 ) {
if ( event . which === 13 ) {
$ ( '#decryptAll button:button[name="submitDecryptAll"]' ) . prop ( "disabled" , true ) ;
$ ( '#decryptAll input:password[name="privateKeyPassword"]' ) . prop ( "disabled" , true ) ;
OC . Encryption . decryptAll ( privateKeyPassword ) ;
@ -240,21 +240,21 @@ $(document).ready(function(){
} ) ;
var uploadparms = {
done : function ( e , data ) {
done : function ( e , data ) {
avatarResponseHandler ( data . result ) ;
}
} ;
$ ( '#uploadavatarbutton' ) . click ( function ( ) {
$ ( '#uploadavatarbutton' ) . click ( function ( ) {
$ ( '#uploadavatar' ) . click ( ) ;
} ) ;
$ ( '#uploadavatar' ) . fileupload ( uploadparms ) ;
$ ( '#selectavatar' ) . click ( function ( ) {
$ ( '#selectavatar' ) . click ( function ( ) {
OC . dialogs . filepicker (
t ( 'settings' , "Select a profile picture" ) ,
function ( path ) {
function ( path ) {
$ . post ( OC . generateUrl ( '/avatar/' ) , { path : path } , avatarResponseHandler ) ;
} ,
false ,
@ -262,27 +262,27 @@ $(document).ready(function(){
) ;
} ) ;
$ ( '#removeavatar' ) . click ( function ( ) {
$ ( '#removeavatar' ) . click ( function ( ) {
$ . ajax ( {
type : 'DELETE' ,
url : OC . generateUrl ( '/avatar/' ) ,
success : function ( ) {
type : 'DELETE' ,
url : OC . generateUrl ( '/avatar/' ) ,
success : function ( ) {
updateAvatar ( true ) ;
$ ( '#removeavatar' ) . hide ( ) ;
}
} ) ;
} ) ;
$ ( '#abortcropperbutton' ) . click ( function ( ) {
$ ( '#abortcropperbutton' ) . click ( function ( ) {
cleanCropper ( ) ;
} ) ;
$ ( '#sendcropperbutton' ) . click ( function ( ) {
$ ( '#sendcropperbutton' ) . click ( function ( ) {
sendCropData ( ) ;
} ) ;
$ ( '#pass2' ) . strengthify ( {
zxcvbn : OC . linkTo ( '3rdparty' , 'zxcvbn/js/zxcvbn.js' ) ,
zxcvbn : OC . linkTo ( '3rdparty' , 'zxcvbn/js/zxcvbn.js' ) ,
titles : [
t ( 'core' , 'Very weak password' ) ,
t ( 'core' , 'Weak password' ) ,
@ -298,18 +298,59 @@ $(document).ready(function(){
'/avatar/{user}/{size}' ,
{ user : OC . currentUser , size : 1 }
) + '?requesttoken=' + oc _requesttoken ;
$ . get ( url , function ( result ) {
$ . get ( url , function ( result ) {
if ( typeof ( result ) === 'object' ) {
$ ( '#removeavatar' ) . hide ( ) ;
}
} ) ;
} ) ;
$ ( '#sslCertificate' ) . on ( 'click' , 'td.remove > img' , function ( ) {
var row = $ ( this ) . parent ( ) . parent ( ) ;
$ . post ( OC . filePath ( 'settings' , 'ajax' , 'removeRootCertificate.php' ) , {
cert : row . data ( 'name' )
} ) ;
row . remove ( ) ;
return true ;
} ) ;
$ ( '#sslCertificate tr > td' ) . tipsy ( { fade : true , gravity : 'n' , live : true } ) ;
$ ( '#rootcert_import' ) . fileupload ( {
done : function ( e , data ) {
console . log ( data . result ) ;
var issueDate = new Date ( data . result . validFrom * 1000 ) ;
var expireDate = new Date ( data . result . validTill * 1000 ) ;
var now = new Date ( ) ;
var isExpired = ! ( issueDate <= now && now <= expireDate ) ;
var row = $ ( '<tr/>' ) ;
row . addClass ( isExpired ? 'expired' : 'valid' ) ;
row . append ( $ ( '<td/>' ) . attr ( 'title' , data . result . organization ) . text ( data . result . commonName ) ) ;
row . append ( $ ( '<td/>' ) . attr ( 'title' , t ( 'core,' , 'Valid from {date}' , { date : data . result . validFromString } ) )
. text ( data . result . validTillString ) ) ;
row . append ( $ ( '<td/>' ) . attr ( 'title' , data . result . issuerOrganization ) . text ( data . result . issuer ) ) ;
row . append ( $ ( '<td/>' ) . addClass ( 'remove' ) . append (
$ ( '<img/>' ) . attr ( {
alt : t ( 'core' , 'Delete' ) ,
title : t ( 'core' , 'Delete' ) ,
src : OC . imagePath ( 'core' , 'actions/delete.svg' )
} ) . addClass ( 'action' )
) ) ;
$ ( '#sslCertificate tbody' ) . append ( row ) ;
}
} ) ;
$ ( '#rootcert_import_button' ) . click ( function ( ) {
$ ( '#rootcert_import' ) . click ( ) ;
} ) ;
} ) ;
OC . Encryption = {
decryptAll : function ( password ) {
decryptAll : function ( password ) {
var message = t ( 'settings' , 'Decrypting files... Please wait, this can take some time.' ) ;
OC . Encryption . msg . start ( '#decryptAll .msg' , message ) ;
$ . post ( 'ajax/decryptall.php' , { password : password } , function ( data ) {
$ . post ( 'ajax/decryptall.php' , { password : password } , function ( data ) {
if ( data . status === "error" ) {
OC . Encryption . msg . finished ( '#decryptAll .msg' , data ) ;
$ ( '#decryptAll input:password[name="privateKeyPassword"]' ) . prop ( "disabled" , false ) ;
@ -320,10 +361,10 @@ OC.Encryption = {
} ) ;
} ,
deleteKeys : function ( ) {
deleteKeys : function ( ) {
var message = t ( 'settings' , 'Delete encryption keys permanently.' ) ;
OC . Encryption . msg . start ( '#restoreBackupKeys .msg' , message ) ;
$ . post ( 'ajax/deletekeys.php' , null , function ( data ) {
$ . post ( 'ajax/deletekeys.php' , null , function ( data ) {
if ( data . status === "error" ) {
OC . Encryption . msg . finished ( '#restoreBackupKeys .msg' , data ) ;
$ ( '#restoreBackupKeys button:button[name="submitDeleteKeys"]' ) . prop ( "disabled" , false ) ;
@ -334,10 +375,10 @@ OC.Encryption = {
} ) ;
} ,
restoreKeys : function ( ) {
restoreKeys : function ( ) {
var message = t ( 'settings' , 'Restore encryption keys.' ) ;
OC . Encryption . msg . start ( '#restoreBackupKeys .msg' , message ) ;
$ . post ( 'ajax/restorekeys.php' , { } , function ( data ) {
$ . post ( 'ajax/restorekeys.php' , { } , function ( data ) {
if ( data . status === "error" ) {
OC . Encryption . msg . finished ( '#restoreBackupKeys .msg' , data ) ;
$ ( '#restoreBackupKeys button:button[name="submitDeleteKeys"]' ) . prop ( "disabled" , false ) ;
@ -349,24 +390,24 @@ OC.Encryption = {
}
} ;
OC . Encryption . msg = {
start : function ( selector , msg ) {
var spinner = '<img src="' + OC . imagePath ( 'core' , 'loading-small.gif' ) + '">' ;
OC . Encryption . msg = {
start : function ( selector , msg ) {
var spinner = '<img src="' + OC . imagePath ( 'core' , 'loading-small.gif' ) + '">' ;
$ ( selector )
. html ( msg + ' ' + spinner )
. html ( msg + ' ' + spinner )
. removeClass ( 'success' )
. removeClass ( 'error' )
. stop ( true , true )
. show ( ) ;
} ,
finished : function ( selector , data ) {
if ( data . status === "success" ) {
$ ( selector ) . html ( data . data . message )
finished : function ( selector , data ) {
if ( data . status === "success" ) {
$ ( selector ) . html ( data . data . message )
. addClass ( 'success' )
. stop ( true , true )
. delay ( 3000 ) ;
} else {
$ ( selector ) . html ( data . data . message ) . addClass ( 'error' ) ;
} else {
$ ( selector ) . html ( data . data . message ) . addClass ( 'error' ) ;
}
}
} ;