aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--app.js22
-rw-r--r--config.js10
-rw-r--r--db/migrations/002_add_commission.rb5
-rw-r--r--public/js/bitcoin_pos.js26
-rw-r--r--views/calculator.html1
-rw-r--r--views/index.html2
7 files changed, 52 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index 655c6073..30ab7dfa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ transactions.json
.rvmrc
db/migrate.rb
node_modules
+config.js.sample
diff --git a/app.js b/app.js
index 10219d1c..dd932ce1 100644
--- a/app.js
+++ b/app.js
@@ -2,6 +2,7 @@ var express = require('express')
, http = require('http')
, path = require('path')
, engines = require('consolidate')
+ , config = require('./config')
, app = express();
app.engine('html', engines.hogan);
@@ -17,10 +18,27 @@ app.get('/report', function(req, res) {
res.render('report');
});
+app.get('/calculator', function(req, res) {
+ res.render('calculator');
+});
+
+app.get('/client/:login', function(req, res) {
+ var connection = require('mysql').createConnection(config.database);
+
+ connection.connect();
+ connection.query("SELECT name, address, commission, logo FROM users WHERE login = ?",
+ [req.params.login], function(err, rows) {
+ res.write(JSON.stringify(rows));
+ connection.end();
+ res.end();
+ }
+ );
+});
+
app.get('/ticker', function(req, res) {
var options = {
host: 'bitcoincharts.com',
- path: '/t/depthcalc.json?symbol=virtexCAD&type=bid&amount=1001&currency=true'
+ path: '/t/depthcalc.json?symbol=virtexCAD&type=bid&amount=1000&currency=true'
}
require('http').get(options, function(r) {
@@ -32,7 +50,7 @@ app.get('/ticker', function(req, res) {
});
app.get('/:client', function(req, res) {
- res.render('calculator', { title: req.param('client') });
+ res.render('calculator', { client: req.params.client });
});
app.listen(3000);
diff --git a/config.js b/config.js
new file mode 100644
index 00000000..7e9bc53b
--- /dev/null
+++ b/config.js
@@ -0,0 +1,10 @@
+var config = {};
+
+config.database = {
+ host : 'localhost',
+ user : 'root',
+ password : 'MPJzfq97',
+ database: 'vanbtc'
+}
+
+module.exports = config;
diff --git a/db/migrations/002_add_commission.rb b/db/migrations/002_add_commission.rb
new file mode 100644
index 00000000..f8b5add8
--- /dev/null
+++ b/db/migrations/002_add_commission.rb
@@ -0,0 +1,5 @@
+class AddCommission < ActiveRecord::Migration
+ def change
+ add_column :users, :commission, :decimal, :precision => 10, :scale => 2
+ end
+end
diff --git a/public/js/bitcoin_pos.js b/public/js/bitcoin_pos.js
index 82d5f879..869e72e2 100644
--- a/public/js/bitcoin_pos.js
+++ b/public/js/bitcoin_pos.js
@@ -1,10 +1,10 @@
$(function() {
var websocket = null;
- var client = getParameterByName('client');
- var title = getParameterByName('title');
- var address = getParameterByName('address');
- var commission = getParameterByName('commission');
- var logo = getParameterByName('logo');
+ var client = $('#client').val();
+ var title = get('title');
+ var address = get('address');
+ var commission = get('commission');
+ var logo = get('logo');
var exchange = 0;
setupPage();
@@ -12,11 +12,12 @@ $(function() {
setupSocket();
if (client != "") {
- $.getJSON('client.json', { name: client }, function(data) {
- title = data.title;
- address = data.address;
- commission = data.commission;
- logo = data.logo;
+ $.getJSON('client/' + client, function(data) {
+ var user = data[0];
+ title = user.title;
+ address = user.address;
+ commission = user.commission;
+ logo = user.logo;
setupPage();
});
}
@@ -88,6 +89,8 @@ $(function() {
$('#address').html(address);
$('#received').hide();
+
+ fetchExchangeRate();
}
function setupSocket() {
@@ -98,7 +101,6 @@ $(function() {
websocket.onopen = function() {
websocket.send('{"op":"addr_sub", "addr":"' + address + '"}');
- fetchExchangeRate();
}
websocket.onerror = websocket.onclose = function() {
@@ -144,7 +146,7 @@ $(function() {
}
});
-function getParameterByName(name) {
+function get(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
diff --git a/views/calculator.html b/views/calculator.html
index bdc9fde8..88a7b47b 100644
--- a/views/calculator.html
+++ b/views/calculator.html
@@ -17,6 +17,7 @@
<body>
<div class="container-fluid">
<div id="calculator" style="display: none">
+ <input id="client" type="hidden" value="{{client}}" />
<h1 id="title">Bitcoin Payment Calculator</h1>
<img id="logo" src="img/logo.jpg" alt="Logo" style="display: none" />
diff --git a/views/index.html b/views/index.html
index 3264478f..0c9c1295 100644
--- a/views/index.html
+++ b/views/index.html
@@ -12,7 +12,7 @@
</head>
<body>
<div class="container-fluid">
- <form action="calculator.html">
+ <form action="calculator">
<h1>Calculator Setup</h1>
<label for="title">Name:</label>