mirror of
https://git.wownero.com/wownero/wownerowp.git
synced 2024-08-15 01:03:16 +00:00
initial
This commit is contained in:
parent
ad6fe196a6
commit
76318e09e4
32 changed files with 825 additions and 797 deletions
|
@ -1,26 +1,26 @@
|
|||
#monero_payment_messages > span {
|
||||
#wownero_payment_messages > span {
|
||||
display:none;
|
||||
}
|
||||
.monero_details_row {
|
||||
.wownero_details_row {
|
||||
display: flex !important;
|
||||
align-items: center;
|
||||
margin:0 -8px;
|
||||
}
|
||||
.monero_details_row > * {
|
||||
.wownero_details_row > * {
|
||||
padding:0 8px;
|
||||
}
|
||||
.monero_details_left {
|
||||
.wownero_details_left {
|
||||
}
|
||||
.monero_details_main {
|
||||
.wownero_details_main {
|
||||
flex-grow: 1;
|
||||
word-break:break-all;
|
||||
}
|
||||
.monero_details_right.button-row {
|
||||
.wownero_details_right.button-row {
|
||||
display:flex;
|
||||
margin-top: 5px;
|
||||
align-self: self-start;
|
||||
}
|
||||
.monero_details_right.button-row button {
|
||||
.wownero_details_right.button-row button {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
padding: 6px 2px;
|
||||
|
@ -28,10 +28,10 @@
|
|||
line-height:28px;
|
||||
text-align:center;
|
||||
}
|
||||
#monero_integrated_address {
|
||||
#wownero_integrated_address {
|
||||
line-height: 16px;
|
||||
}
|
||||
#monero_qr_code_container {
|
||||
#wownero_qr_code_container {
|
||||
position:fixed;
|
||||
top:0;
|
||||
left:0;
|
||||
|
@ -40,7 +40,7 @@
|
|||
z-index:9999;
|
||||
background:rgba(0,0,0,0.5);
|
||||
}
|
||||
#monero_qr_code {
|
||||
#wownero_qr_code {
|
||||
position: absolute;
|
||||
width: 256px;
|
||||
height: 256px;
|
||||
|
@ -52,13 +52,13 @@
|
|||
background: white;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#monero_toast {
|
||||
#wownero_toast {
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
top: 32px;
|
||||
right: 12px;
|
||||
}
|
||||
#monero_toast > div {
|
||||
#wownero_toast > div {
|
||||
display: block;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
@ -70,9 +70,9 @@
|
|||
color: white;
|
||||
right: -400px;
|
||||
}
|
||||
#monero_toast > div.success {
|
||||
#wownero_toast > div.success {
|
||||
background: rgba(68, 190, 117, 0.8);
|
||||
}
|
||||
#monero_toast > div.error {
|
||||
#wownero_toast > div.error {
|
||||
background: rgba(195, 60, 60, 0.8);
|
||||
}
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 4.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 413 B |
Binary file not shown.
Before Width: | Height: | Size: 2.8 KiB |
BIN
assets/images/wownero-accepted-here.png
Normal file
BIN
assets/images/wownero-accepted-here.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
BIN
assets/images/wownero-icon-admin.png
Normal file
BIN
assets/images/wownero-icon-admin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 377 B |
BIN
assets/images/wownero-icon.png
Normal file
BIN
assets/images/wownero-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4 KiB |
|
@ -1,161 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2018, Ryo Currency Project
|
||||
*/
|
||||
function monero_showNotification(message, type='success') {
|
||||
var toast = jQuery('<div class="' + type + '"><span>' + message + '</span></div>');
|
||||
jQuery('#monero_toast').append(toast);
|
||||
toast.animate({ "right": "12px" }, "fast");
|
||||
setInterval(function() {
|
||||
toast.animate({ "right": "-400px" }, "fast", function() {
|
||||
toast.remove();
|
||||
});
|
||||
}, 2500)
|
||||
}
|
||||
function monero_showQR(show=true) {
|
||||
jQuery('#monero_qr_code_container').toggle(show);
|
||||
}
|
||||
function monero_fetchDetails() {
|
||||
var data = {
|
||||
'_': jQuery.now(),
|
||||
'order_id': monero_details.order_id
|
||||
};
|
||||
jQuery.get(monero_ajax_url, data, function(response) {
|
||||
if (typeof response.error !== 'undefined') {
|
||||
console.log(response.error);
|
||||
} else {
|
||||
monero_details = response;
|
||||
monero_updateDetails();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function monero_updateDetails() {
|
||||
|
||||
var details = monero_details;
|
||||
|
||||
jQuery('#monero_payment_messages').children().hide();
|
||||
switch(details.status) {
|
||||
case 'unpaid':
|
||||
jQuery('.monero_payment_unpaid').show();
|
||||
jQuery('.monero_payment_expire_time').html(details.order_expires);
|
||||
break;
|
||||
case 'partial':
|
||||
jQuery('.monero_payment_partial').show();
|
||||
jQuery('.monero_payment_expire_time').html(details.order_expires);
|
||||
break;
|
||||
case 'paid':
|
||||
jQuery('.monero_payment_paid').show();
|
||||
jQuery('.monero_confirm_time').html(details.time_to_confirm);
|
||||
jQuery('.button-row button').prop("disabled",true);
|
||||
break;
|
||||
case 'confirmed':
|
||||
jQuery('.monero_payment_confirmed').show();
|
||||
jQuery('.button-row button').prop("disabled",true);
|
||||
break;
|
||||
case 'expired':
|
||||
jQuery('.monero_payment_expired').show();
|
||||
jQuery('.button-row button').prop("disabled",true);
|
||||
break;
|
||||
case 'expired_partial':
|
||||
jQuery('.monero_payment_expired_partial').show();
|
||||
jQuery('.button-row button').prop("disabled",true);
|
||||
break;
|
||||
}
|
||||
|
||||
jQuery('#monero_exchange_rate').html('1 XMR = '+details.rate_formatted+' '+details.currency);
|
||||
jQuery('#monero_total_amount').html(details.amount_total_formatted);
|
||||
jQuery('#monero_total_paid').html(details.amount_paid_formatted);
|
||||
jQuery('#monero_total_due').html(details.amount_due_formatted);
|
||||
|
||||
jQuery('#monero_integrated_address').html(details.integrated_address);
|
||||
|
||||
if(monero_show_qr) {
|
||||
var qr = jQuery('#monero_qr_code').html('');
|
||||
new QRCode(qr.get(0), details.qrcode_uri);
|
||||
}
|
||||
|
||||
if(details.txs.length) {
|
||||
jQuery('#monero_tx_table').show();
|
||||
jQuery('#monero_tx_none').hide();
|
||||
jQuery('#monero_tx_table tbody').html('');
|
||||
for(var i=0; i < details.txs.length; i++) {
|
||||
var tx = details.txs[i];
|
||||
var height = tx.height == 0 ? 'N/A' : tx.height;
|
||||
var row = ''+
|
||||
'<tr>'+
|
||||
'<td style="word-break: break-all">'+
|
||||
'<a href="'+monero_explorer_url+'/tx/'+tx.txid+'" target="_blank">'+tx.txid+'</a>'+
|
||||
'</td>'+
|
||||
'<td>'+height+'</td>'+
|
||||
'<td>'+tx.amount_formatted+' Monero</td>'+
|
||||
'</tr>';
|
||||
|
||||
jQuery('#monero_tx_table tbody').append(row);
|
||||
}
|
||||
} else {
|
||||
jQuery('#monero_tx_table').hide();
|
||||
jQuery('#monero_tx_none').show();
|
||||
}
|
||||
|
||||
// Show state change notifications
|
||||
var new_txs = details.txs;
|
||||
var old_txs = monero_order_state.txs;
|
||||
if(new_txs.length != old_txs.length) {
|
||||
for(var i = 0; i < new_txs.length; i++) {
|
||||
var is_new_tx = true;
|
||||
for(var j = 0; j < old_txs.length; j++) {
|
||||
if(new_txs[i].txid == old_txs[j].txid && new_txs[i].amount == old_txs[j].amount) {
|
||||
is_new_tx = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(is_new_tx) {
|
||||
monero_showNotification('Transaction received for '+new_txs[i].amount_formatted+' Monero');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(details.status != monero_order_state.status) {
|
||||
switch(details.status) {
|
||||
case 'paid':
|
||||
monero_showNotification('Your order has been paid in full');
|
||||
break;
|
||||
case 'confirmed':
|
||||
monero_showNotification('Your order has been confirmed');
|
||||
break;
|
||||
case 'expired':
|
||||
case 'expired_partial':
|
||||
monero_showNotification('Your order has expired', 'error');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
monero_order_state = {
|
||||
status: monero_details.status,
|
||||
txs: monero_details.txs
|
||||
};
|
||||
|
||||
}
|
||||
jQuery(document).ready(function($) {
|
||||
if (typeof monero_details !== 'undefined') {
|
||||
monero_order_state = {
|
||||
status: monero_details.status,
|
||||
txs: monero_details.txs
|
||||
};
|
||||
setInterval(monero_fetchDetails, 30000);
|
||||
monero_updateDetails();
|
||||
new ClipboardJS('.clipboard').on('success', function(e) {
|
||||
e.clearSelection();
|
||||
if(e.trigger.disabled) return;
|
||||
switch(e.trigger.getAttribute('data-clipboard-target')) {
|
||||
case '#monero_integrated_address':
|
||||
monero_showNotification('Copied destination address!');
|
||||
break;
|
||||
case '#monero_total_due':
|
||||
monero_showNotification('Copied total amount due!');
|
||||
break;
|
||||
}
|
||||
e.clearSelection();
|
||||
});
|
||||
}
|
||||
});
|
161
assets/js/wownero-gateway-order-page.js
Normal file
161
assets/js/wownero-gateway-order-page.js
Normal file
|
@ -0,0 +1,161 @@
|
|||
/*
|
||||
* Copyright (c) 2018, Ryo Currency Project
|
||||
*/
|
||||
function wownero_showNotification(message, type='success') {
|
||||
var toast = jQuery('<div class="' + type + '"><span>' + message + '</span></div>');
|
||||
jQuery('#wownero_toast').append(toast);
|
||||
toast.animate({ "right": "12px" }, "fast");
|
||||
setInterval(function() {
|
||||
toast.animate({ "right": "-400px" }, "fast", function() {
|
||||
toast.remove();
|
||||
});
|
||||
}, 2500)
|
||||
}
|
||||
function wownero_showQR(show=true) {
|
||||
jQuery('#wownero_qr_code_container').toggle(show);
|
||||
}
|
||||
function wownero_fetchDetails() {
|
||||
var data = {
|
||||
'_': jQuery.now(),
|
||||
'order_id': wownero_details.order_id
|
||||
};
|
||||
jQuery.get(wownero_ajax_url, data, function(response) {
|
||||
if (typeof response.error !== 'undefined') {
|
||||
console.log(response.error);
|
||||
} else {
|
||||
wownero_details = response;
|
||||
wownero_updateDetails();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function wownero_updateDetails() {
|
||||
|
||||
var details = wownero_details;
|
||||
|
||||
jQuery('#wownero_payment_messages').children().hide();
|
||||
switch(details.status) {
|
||||
case 'unpaid':
|
||||
jQuery('.wownero_payment_unpaid').show();
|
||||
jQuery('.wownero_payment_expire_time').html(details.order_expires);
|
||||
break;
|
||||
case 'partial':
|
||||
jQuery('.wownero_payment_partial').show();
|
||||
jQuery('.wownero_payment_expire_time').html(details.order_expires);
|
||||
break;
|
||||
case 'paid':
|
||||
jQuery('.wownero_payment_paid').show();
|
||||
jQuery('.wownero_confirm_time').html(details.time_to_confirm);
|
||||
jQuery('.button-row button').prop("disabled",true);
|
||||
break;
|
||||
case 'confirmed':
|
||||
jQuery('.wownero_payment_confirmed').show();
|
||||
jQuery('.button-row button').prop("disabled",true);
|
||||
break;
|
||||
case 'expired':
|
||||
jQuery('.wownero_payment_expired').show();
|
||||
jQuery('.button-row button').prop("disabled",true);
|
||||
break;
|
||||
case 'expired_partial':
|
||||
jQuery('.wownero_payment_expired_partial').show();
|
||||
jQuery('.button-row button').prop("disabled",true);
|
||||
break;
|
||||
}
|
||||
|
||||
jQuery('#wownero_exchange_rate').html('1 WOW = '+details.rate_formatted+' '+details.currency);
|
||||
jQuery('#wownero_total_amount').html(details.amount_total_formatted);
|
||||
jQuery('#wownero_total_paid').html(details.amount_paid_formatted);
|
||||
jQuery('#wownero_total_due').html(details.amount_due_formatted);
|
||||
|
||||
jQuery('#wownero_integrated_address').html(details.integrated_address);
|
||||
|
||||
if(wownero_show_qr) {
|
||||
var qr = jQuery('#wownero_qr_code').html('');
|
||||
new QRCode(qr.get(0), details.qrcode_uri);
|
||||
}
|
||||
|
||||
if(details.txs.length) {
|
||||
jQuery('#wownero_tx_table').show();
|
||||
jQuery('#wownero_tx_none').hide();
|
||||
jQuery('#wownero_tx_table tbody').html('');
|
||||
for(var i=0; i < details.txs.length; i++) {
|
||||
var tx = details.txs[i];
|
||||
var height = tx.height == 0 ? 'N/A' : tx.height;
|
||||
var row = ''+
|
||||
'<tr>'+
|
||||
'<td style="word-break: break-all">'+
|
||||
'<a href="'+wownero_explorer_url+'/tx/'+tx.txid+'" target="_blank">'+tx.txid+'</a>'+
|
||||
'</td>'+
|
||||
'<td>'+height+'</td>'+
|
||||
'<td>'+tx.amount_formatted+' wownero</td>'+
|
||||
'</tr>';
|
||||
|
||||
jQuery('#wownero_tx_table tbody').append(row);
|
||||
}
|
||||
} else {
|
||||
jQuery('#wownero_tx_table').hide();
|
||||
jQuery('#wownero_tx_none').show();
|
||||
}
|
||||
|
||||
// Show state change notifications
|
||||
var new_txs = details.txs;
|
||||
var old_txs = wownero_order_state.txs;
|
||||
if(new_txs.length != old_txs.length) {
|
||||
for(var i = 0; i < new_txs.length; i++) {
|
||||
var is_new_tx = true;
|
||||
for(var j = 0; j < old_txs.length; j++) {
|
||||
if(new_txs[i].txid == old_txs[j].txid && new_txs[i].amount == old_txs[j].amount) {
|
||||
is_new_tx = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(is_new_tx) {
|
||||
wownero_showNotification('Transaction received for '+new_txs[i].amount_formatted+' wownero');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(details.status != wownero_order_state.status) {
|
||||
switch(details.status) {
|
||||
case 'paid':
|
||||
wownero_showNotification('Your order has been paid in full');
|
||||
break;
|
||||
case 'confirmed':
|
||||
wownero_showNotification('Your order has been confirmed');
|
||||
break;
|
||||
case 'expired':
|
||||
case 'expired_partial':
|
||||
wownero_showNotification('Your order has expired', 'error');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wownero_order_state = {
|
||||
status: wownero_details.status,
|
||||
txs: wownero_details.txs
|
||||
};
|
||||
|
||||
}
|
||||
jQuery(document).ready(function($) {
|
||||
if (typeof wownero_details !== 'undefined') {
|
||||
wownero_order_state = {
|
||||
status: wownero_details.status,
|
||||
txs: wownero_details.txs
|
||||
};
|
||||
setInterval(wownero_fetchDetails, 30000);
|
||||
wownero_updateDetails();
|
||||
new ClipboardJS('.clipboard').on('success', function(e) {
|
||||
e.clearSelection();
|
||||
if(e.trigger.disabled) return;
|
||||
switch(e.trigger.getAttribute('data-clipboard-target')) {
|
||||
case '#wownero_integrated_address':
|
||||
wownero_showNotification('Copied destination address!');
|
||||
break;
|
||||
case '#wownero_total_due':
|
||||
wownero_showNotification('Copied total amount due!');
|
||||
break;
|
||||
}
|
||||
e.clearSelection();
|
||||
});
|
||||
}
|
||||
});
|
|
@ -1,14 +0,0 @@
|
|||
[Unit]
|
||||
Description=Monero Wallet RPC
|
||||
After=network.target monerod.service
|
||||
|
||||
[Service]
|
||||
User=moneroservices
|
||||
Group=moneroservices
|
||||
WorkingDirectory=/opt/monero-wallets
|
||||
Type=simple
|
||||
ExecStart=/opt/monero-bin/monero-wallet-rpc --wallet-file /opt/monero-wallets/woocommerce --rpc-bind-port 18080 --password-file /opt/monero-wallets/woocommerce.password --disable-rpc-login --log-file /var/log/monero-wallet.log
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -1,14 +0,0 @@
|
|||
[Unit]
|
||||
Description=Monero Full Node
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=moneroservices
|
||||
Group=moneroservices
|
||||
WorkingDirectory=/opt/monero-data-dir
|
||||
Type=simple
|
||||
LimitNOFILE=65535
|
||||
ExecStart=/usr/bin/monerod --log-file /var/log/monerod.log --data-dir /opt/monero-data-dir --non-interactive
|
||||
Restart=always
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
14
assets/systemd-unit-files/wownero-wallet-rpc.service
Normal file
14
assets/systemd-unit-files/wownero-wallet-rpc.service
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=Wownero Wallet RPC
|
||||
After=network.target wownerod.service
|
||||
|
||||
[Service]
|
||||
User=wowneroservices
|
||||
Group=wowneroservices
|
||||
WorkingDirectory=/opt/wownero-wallets
|
||||
Type=simple
|
||||
ExecStart=/opt/wownero-bin/wownero-wallet-rpc --wallet-file /opt/wownero-wallets/woocommerce --rpc-bind-port 18080 --password-file /opt/wownero-wallets/woocommerce.password --disable-rpc-login --log-file /var/log/wownero-wallet.log
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
14
assets/systemd-unit-files/wownerod.service
Normal file
14
assets/systemd-unit-files/wownerod.service
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=Wownero Full Node
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=wowneroservices
|
||||
Group=wowneroservices
|
||||
WorkingDirectory=/opt/wownero-data-dir
|
||||
Type=simple
|
||||
LimitNOFILE=65535
|
||||
ExecStart=/usr/bin/wownerod --log-file /var/log/wownerod.log --data-dir /opt/wownero-data-dir --non-interactive
|
||||
Restart=always
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Add table
Add a link
Reference in a new issue