|
|
@ -119,6 +119,20 @@ function status(text, msg) { |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var getLoopTimeout = null; ///< store get timeout to make sure only one is running
|
|
|
|
|
|
|
|
/// Set timeout for next get request
|
|
|
|
|
|
|
|
/** @param time timeout time in ms, defaults to 10000 */ |
|
|
|
|
|
|
|
function getLoop(time) { |
|
|
|
|
|
|
|
if (!time) time = 10000; |
|
|
|
|
|
|
|
getLoopStop(); |
|
|
|
|
|
|
|
getLoopTimeout = setTimeout(get, time); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/// Stop get loop if it is running
|
|
|
|
|
|
|
|
function getLoopStop() { |
|
|
|
|
|
|
|
if (getLoopTimeout) clearTimeout(getLoopTimeout); |
|
|
|
|
|
|
|
getLoopTimeout = null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// Alert user
|
|
|
|
/// Alert user
|
|
|
|
/** Alert user, e.g. that a new message has arrived. |
|
|
|
/** Alert user, e.g. that a new message has arrived. |
|
|
|
@param */ |
|
|
|
@param */ |
|
|
@ -139,6 +153,7 @@ function togglemenu() { |
|
|
|
|
|
|
|
|
|
|
|
/// Download Profile Backup
|
|
|
|
/// Download Profile Backup
|
|
|
|
function backup() { |
|
|
|
function backup() { |
|
|
|
|
|
|
|
getLoopStop(); |
|
|
|
status("<p>Starting backup download ...</p>"); |
|
|
|
status("<p>Starting backup download ...</p>"); |
|
|
|
var download = document.createElement('a'); |
|
|
|
var download = document.createElement('a'); |
|
|
|
download.href = 'data:attachment/text,'+encodeURI(JSON.stringify(localStorage)); |
|
|
|
download.href = 'data:attachment/text,'+encodeURI(JSON.stringify(localStorage)); |
|
|
@ -160,6 +175,7 @@ function backup() { |
|
|
|
|
|
|
|
|
|
|
|
/// Upload Profile Backup
|
|
|
|
/// Upload Profile Backup
|
|
|
|
function restore(evt) { |
|
|
|
function restore(evt) { |
|
|
|
|
|
|
|
getLoopStop(); |
|
|
|
status("<p>Starting backup restore ...</p>"); |
|
|
|
status("<p>Starting backup restore ...</p>"); |
|
|
|
if (!window.FileReader) |
|
|
|
if (!window.FileReader) |
|
|
|
return error("your browser dows not support file upload", true); |
|
|
|
return error("your browser dows not support file upload", true); |
|
|
@ -404,7 +420,7 @@ function get() { |
|
|
|
var res=JSON.parse(pk); |
|
|
|
var res=JSON.parse(pk); |
|
|
|
var key=openpgp.key.readArmored(res); |
|
|
|
var key=openpgp.key.readArmored(res); |
|
|
|
if (!res||key.err) { |
|
|
|
if (!res||key.err) { |
|
|
|
setTimeout(get, 10000); |
|
|
|
getLoop(); |
|
|
|
return error("key of receiver not found", true); |
|
|
|
return error("key of receiver not found", true); |
|
|
|
} |
|
|
|
} |
|
|
|
var message = openpgp.message.readArmored(e.msg); |
|
|
|
var message = openpgp.message.readArmored(e.msg); |
|
|
@ -449,7 +465,7 @@ function get() { |
|
|
|
}).fail(function(e) { |
|
|
|
}).fail(function(e) { |
|
|
|
error("offline", true) |
|
|
|
error("offline", true) |
|
|
|
}); |
|
|
|
}); |
|
|
|
setTimeout(get, 10000); // repeat every 10 seconds
|
|
|
|
getLoop(); // repeat every 10 seconds
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// Send Message To Server
|
|
|
|
/// Send Message To Server
|
|
|
@ -535,7 +551,7 @@ function chat() { |
|
|
|
$("#username").html(userid()+"@safechat.ch"); |
|
|
|
$("#username").html(userid()+"@safechat.ch"); |
|
|
|
$.ajax({url: "chat.html", success: function(res) { |
|
|
|
$.ajax({url: "chat.html", success: function(res) { |
|
|
|
status(res); |
|
|
|
status(res); |
|
|
|
setTimeout(get, 2000); |
|
|
|
getLoop(2000); |
|
|
|
}}).fail(function() { |
|
|
|
}}).fail(function() { |
|
|
|
error("offline") |
|
|
|
error("offline") |
|
|
|
}); |
|
|
|
}); |
|
|
|