4 changed files with 6 additions and 152 deletions
@ -1,17 +0,0 @@
|
||||
<?php |
||||
|
||||
require_once 'jsonRPCClient.php'; |
||||
$electrum = new jsonRPCClient('http://localhost:7777'); |
||||
|
||||
echo '<b>Wallet balance</b><br />'."\n"; |
||||
try { |
||||
|
||||
$balance = $electrum->getbalance(); |
||||
echo 'confirmed: <i>'.$balance['confirmed'].'</i><br />'."\n"; |
||||
echo 'unconfirmed: <i>'.$balance['unconfirmed'].'</i><br />'."\n"; |
||||
|
||||
} catch (Exception $e) { |
||||
echo nl2br($e->getMessage()).'<br />'."\n"; |
||||
} |
||||
|
||||
?> |
||||
@ -1,111 +0,0 @@
|
||||
<!DOCTYPE HTML> |
||||
<html> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
||||
<title>Payment request</title> |
||||
<script type="text/javascript" charset="utf-8" src="jquery-1.9.1.min.js"></script> |
||||
<script type="text/javascript" src="qrcode.js"></script> |
||||
<script type="text/javascript" src="jquery-ui.js"></script> |
||||
<link rel="stylesheet" type="text/css" href="jquery-ui.css"> |
||||
<script type="text/javascript"> |
||||
function getUrlParameter(sParam) |
||||
{ |
||||
var sPageURL = window.location.search.substring(1); |
||||
var sURLVariables = sPageURL.split('&'); |
||||
for (var i = 0; i < sURLVariables.length; i++) |
||||
{ |
||||
var sParameterName = sURLVariables[i].split('='); |
||||
if (sParameterName[0] == sParam) |
||||
{ |
||||
return sParameterName[1]; |
||||
} |
||||
} |
||||
} |
||||
|
||||
var id = getUrlParameter('id'); |
||||
|
||||
if (id) { |
||||
var uri_path = location.pathname; |
||||
var jqxhr = $.getJSON(uri_path.replace("index.html", "req/"+ id[0] + "/"+ id[1] + "/"+ id + "/"+ id + ".json"), function() { |
||||
console.log("getJSON:success"); |
||||
}) |
||||
.done( function(data) { |
||||
new QRCode(document.getElementById("qrcode"), data.URI); |
||||
$("<p />").text(data.memo).appendTo($("p#reason")); |
||||
$("<p />").text(data.amount/100000000 + "BTC").appendTo($("p#amount")); |
||||
$("a").attr("href", data.URI); |
||||
$("<p />").text("Powered by Electrum").appendTo($("p#powered")); |
||||
var websocket_server = data.websocket_server; |
||||
var websocket_port = data.websocket_port; |
||||
$(function () { |
||||
var current; |
||||
var max = 100; |
||||
var initial = data.time; |
||||
var duration = data.exp; |
||||
if(duration){ |
||||
var current = 100 * (Math.floor(Date.now()/1000) - initial)/duration; |
||||
$("#progressbar").progressbar({ |
||||
value: current, |
||||
max: max |
||||
}); |
||||
function update() { |
||||
current = 100 * (Math.floor(Date.now()/1000) - initial)/duration; |
||||
$("#progressbar").progressbar({ |
||||
value: current |
||||
}); |
||||
if (current >= max) { |
||||
$("#container").html("This invoice has expired"); |
||||
} |
||||
}; |
||||
var interval = setInterval(update, 1000); |
||||
} |
||||
}); |
||||
|
||||
var wss_address = "wss://" + websocket_server + ":" + websocket_port +"/"; |
||||
console.log("Opening WSS: " + wss_address) |
||||
var ws = new WebSocket(wss_address); |
||||
|
||||
ws.onopen = function() { |
||||
ws.send('id:' + id); |
||||
}; |
||||
ws.onmessage = function (evt) { |
||||
var received_msg = evt.data; |
||||
if(received_msg == 'paid'){ |
||||
$("#container").html("This invoice has been paid."); |
||||
} |
||||
else alert("Message is received:"+ received_msg); |
||||
}; |
||||
|
||||
}) |
||||
.fail(function() { |
||||
console.log("error fail"); |
||||
$("<p />").text("error").appendTo($("p#error")); |
||||
}); |
||||
}; |
||||
|
||||
// See http://stackoverflow.com/questions/29186154/chrome-clicking-mailto-links-closes-websocket-connection |
||||
$(document).on('click', 'a[href^="bitcoin:"]', function (e) { |
||||
e.preventDefault(); |
||||
var btcWindow = window.open($(e.currentTarget).attr('href')); |
||||
btcWindow.close(); |
||||
return false; |
||||
}); |
||||
|
||||
</script> |
||||
</head> |
||||
<body> |
||||
<div id="container" style="width:20em; text-align:center; margin:auto; font-family:arial, serif;"> |
||||
<p id="error"></p> |
||||
<p id="reason"></p> |
||||
<p id="amount"></p> |
||||
<div style="background-color:#7777aa; border-radius: 5px; padding:10px;"> |
||||
<a style="color:#ffffff; text-decoration:none;" id="paylink" target="_blank">Pay with Bitcoin</a> |
||||
</div> |
||||
<br/> |
||||
<div id="qrcode" align="center"></div> |
||||
<p id="powered" style="font-size:80%;"></p> |
||||
<div id="progressbar"></div> |
||||
</div> |
||||
|
||||
</body> |
||||
</html> |
||||
Loading…
Reference in new issue