parent
d17175b421
commit
92dd3d848e
2 changed files with 53 additions and 0 deletions
@ -0,0 +1,13 @@ |
||||
<?php |
||||
|
||||
function error($txt) { |
||||
echo json_encode(array('success' => false, 'txt' => $txt)); |
||||
exit; |
||||
} |
||||
|
||||
function success($txt) { |
||||
echo json_encode(array('success' => true, 'txt' => $txt)); |
||||
exit; |
||||
} |
||||
|
||||
?> |
@ -0,0 +1,40 @@ |
||||
importScripts('jquery.js'); |
||||
importScripts('openpgp.js'); |
||||
|
||||
function attachments(files) { |
||||
var res = ''; |
||||
if (files) files.forEach(function(file) { |
||||
if (file.type.match("^image/")) |
||||
res += '<img src="'+'data:'+file.type+';base64,' + btoa(file.content)+'"/>'; |
||||
}); |
||||
return res; |
||||
} |
||||
|
||||
addEventListener('message', function(data) { |
||||
var e = data.e; |
||||
var key = data.key; |
||||
var message = openpgp.message.readArmored(e["msg"]); |
||||
var privkey = privateKey().keys[0]; |
||||
if (privkey.decrypt(password)) |
||||
openpgp.decryptAndVerifyMessage(privkey, key.keys, message) |
||||
.then(function(msg) { |
||||
var message = JSON.parse(msg.text); |
||||
// todo: check msg.signatures[0].valid
|
||||
postMessage('<div id="id'+(e["id"])+'" class="msg '+ |
||||
(e["user"]==userid()?"me":"other")+ |
||||
'"><div class="header">'+ |
||||
'<span class="date">'+ |
||||
(new Date(1000*Number(e["time"]))).toLocaleString()+ |
||||
'</span><span class="sender">'+ |
||||
'<a href="javascript:void(0)" onclick="setreceiver(this.innerHTML)">'+ |
||||
e["user"]+ |
||||
'</a></span></div>'+ |
||||
attachments(message.files)+ |
||||
'<div class="text">'+ |
||||
message.text+ |
||||
'</div></div><div class="clear"/>'); |
||||
}) |
||||
.catch(function(e) { |
||||
// not for me
|
||||
}); |
||||
}, false); |
Loading…
Reference in new issue