New layout. Improved functionalities in trading, displays.

This commit is contained in:
abhishek_almighty 2018-05-15 22:07:56 +05:30
parent fe5bfd71f9
commit d518e6a60f
22 changed files with 1256 additions and 97 deletions

20
ajax/current_prices.php Normal file
View File

@ -0,0 +1,20 @@
<?php
require_once '../includes/imp_files.php';
if (isset($_POST['task'], $_POST['bc2']) && trim($_POST['task']=='current_prices')) {
$bc2 = isset($_POST['bc2']) ? $_POST['bc2'] : RMT;
$std = new stdClass();
$std->bc = array();
$std->error = true;
if (isset($OrderClass)) {
$wallet = $OrderClass->tx_data(null,$bc2,null);
$std->bc = $wallet;
$std->error = false;
}
echo json_encode($std);
}
return false;

78
ajax/myOrders.php Normal file
View File

@ -0,0 +1,78 @@
<?php
/**
* Created by PhpStorm.
* User: Abhishek Kumar Sinha
* Date: 9/27/2017
* Time: 3:22 PM
*/
require_once '../includes/imp_files.php';
if (!checkLoginStatus()) {
return false;
}
if (isset($_POST['task']) && trim($_POST['task'])=='loadMyOrdersList') {
$iter = "";
if (isset($OrderClass, $user_id)) {
$myOrders = $OrderClass->UserOrdersList($user_id, 0, 10);
if (is_array($myOrders) && !empty($myOrders)) {
foreach($myOrders as $myOrder):
switch ($myOrder->status) {
case '0':
$status = 'Cancelled';
break;
case '1':
$status = 'Successful';
break;
case '2':
$status = 'Pending';
break;
case '3':
$status = 'Pending';
break;
default:
$status = 'Pending';
}
if($myOrder->status == '1') {
$status = 'Successful';
} else if ($myOrder->status == '2') {
$status = 'Pending';
} else if ($myOrder->status == '3'){
$status = 'Pending';
} else if($myOrder->status == '0') {
$status = 'Cancelled';
}
if($myOrder->order_type == '1') {
$OrderType = 'Sell';
} elseif($myOrder->order_type == '0') {
$OrderType = 'Buy';
}
$iter .= "<tr>";
$iter .= "<td>$myOrder->price</td>";
$iter .= "<td>$myOrder->qty</td>";
$iter .= "<td>";
if(trim($status) == 'Pending') {
$iter .= "<button class='btn-danger del_order' id='del_$myOrder->id'>Cancel</button>";
}
$iter .= "</td>";
$iter .= "<td>$myOrder->offer_asset</td>";
$iter .= "<td>$myOrder->want_asset</td>";
$iter .= "<td>$status</td>";
$iter .= "<td>".date('d M, Y h:i:sa', strtotime($myOrder->insert_dt))."</td>";
$iter .= "</tr>";
endforeach;
}
}
echo $iter;
} else {
return false;
}

33
ajax/myTransactions.php Normal file
View File

@ -0,0 +1,33 @@
<?php
/**
* Created by PhpStorm.
* User: Abhishek Sinha
* Date: 6/24/2017
* Time: 8:38 PM
*/
require_once '../includes/imp_files.php';
if (!checkLoginStatus()) {
return false;
}
if (isset($_POST['task']) && trim($_POST['task'])=='myTransactions') {
$std = new stdClass();
$std->trade_list = array();
$std->error = true;
if (isset($UserClass, $user_id)) {
$tradeList = $UserClass->displayUserTransaction($user_id, 0, 10);
$std->trade_list = $tradeList;
$std->error = false;
}
echo json_encode($std);
} else {
return false;
}

View File

@ -19,7 +19,15 @@ if (isset($_POST['subject']) && trim($_POST['subject'])=='placeOrder') {
$qty = (float) trim($_POST['qty']);
$price = (float) trim($_POST['price']);
$buy_sell = trim($_POST['bs_rad']);
$is_mkt = (bool) trim($_POST['is_mkt']);
$is_mkt = trim($_POST['is_mkt']);
if ($is_mkt == 'false') {
$is_mkt = false;
} elseif ($is_mkt=='true') {
$is_mkt = true;
} else {
return;
}
$orderStatusId = 2; // 0 -> cancelled; 1 -> complete; 2 -> pending
@ -41,7 +49,8 @@ if (isset($_POST['subject']) && trim($_POST['subject'])=='placeOrder') {
echo json_encode($std);
return false;
}
if (!$is_mkt) {
if ($is_mkt==false) {
if($price == '' || $price < 1) {
$std->error = true;
$std->msg = "Please provide a valid price. Price cannot be less than $1.";

View File

@ -1,7 +1,7 @@
<?php
require_once '../includes/imp_files.php';
//echo $_POST['bc2'];
if (isset($_POST['task'], $_POST['bc1'], $_POST['bc2']) && trim($_POST['task'])=='refresh') {
$bc1 = $_POST['bc1'];

28
ajax/sel_bc_stats.php Normal file
View File

@ -0,0 +1,28 @@
<?php
require_once '../includes/imp_files.php';
if (isset($_POST['task'], $_POST['bc1'], $_POST['bc2']) && trim($_POST['task'])=='sel_bc_stats') {
$bc1 = trim($_POST['bc1']);
$bc2 = trim($_POST['bc2']);
$std = new stdClass();
$std->data = array();
$std->error = true;
if (isset($OrderClass)) {
$data = $OrderClass->tx_data($bc1, $bc2, 1);
if (!empty($data)) {
if (isset($data->b_amount)) {
$data->b_amount = round_it($data->b_amount);
}
$std->data = $data;
$std->error = false;
}
}
echo json_encode($std);
} else {
return false;
}

29
ajax/tradeList.php Normal file
View File

@ -0,0 +1,29 @@
<?php
/**
* Created by PhpStorm.
* User: Abhishek Sinha
* Date: 6/24/2017
* Time: 8:38 PM
*/
require_once '../includes/imp_files.php';
if (isset($_POST['task'],$_POST['bc1'],$_POST['bc2']) && trim($_POST['task'])=='loadTradeList') {
$std = new stdClass();
$std->trade_list = array();
$std->error = true;
if (isset($OrderClass, $UserClass)) {
$tradeList = $OrderClass->last_transaction_list(0,10,trim($_POST['bc1']),trim($_POST['bc2']));
$std->trade_list = $tradeList;
$std->error = false;
}
echo json_encode($std);
} else {
return false;
}

31
ajax/tradersList.php Normal file
View File

@ -0,0 +1,31 @@
<?php
/**
* Created by PhpStorm.
* User: Abhishek Kumar Sinha
* Date: 9/27/2017
* Time: 2:41 PM
*/
require_once '../includes/imp_files.php';
if (isset($_POST['task'], $_POST['bc2']) && trim($_POST['task'])=='loadTradersList') {
$bc2 = trim($_POST['bc2']);
$std = new stdClass();
$std->traders_list = array();
$std->error = true;
if (isset($OrderClass)) {
$tradersList = $OrderClass->UserBalanceList($bc2);
if (is_array($tradersList) && !empty($tradersList)) {
$std->traders_list = $tradersList;
$std->error = false;
}
}
echo json_encode($std);
} else {
return false;
}

View File

@ -0,0 +1,23 @@
<?php
require_once '../includes/imp_files.php';
if (!checkLoginStatus()) {
return false;
}
if (isset($_POST['task']) && trim($_POST['task']=='update_user_wallet')) {
$uid = isset($_POST['user_id']) ? (int) $_POST['user_id'] : (int) $_SESSION['user_id'];
$std = new stdClass();
$std->bc = array();
$std->error = true;
if (isset($UserClass, $user_id)) {
$wallet = $UserClass->user_bc_bal($uid);
$std->bc = $wallet;
$std->error = false;
}
echo json_encode($std);
}
return false;

View File

@ -1015,7 +1015,7 @@ class Orders extends Users {
}
// Record the transaction
$this->record_transaction($buyer_id, $available->order_id, $available->price, $buy_commission = '0', $seller_id, $sell_order_id, $available->price, $sell_commission = '0', $trade_qty);
$this->record_transaction($buyer_id, $available->order_id, $available->price, $WantAssetTypeId, $seller_id, $sell_order_id, $available->price, $OfferAssetTypeId, $trade_qty);
// update the quantity field for supply
$this->update_quantity($top_table = TOP_BUYS_TABLE, $available->quantity, $available->order_id);
@ -1247,4 +1247,168 @@ class Orders extends Users {
return false;
}
public function last_transaction_list($start=0, $limit = 10, $a_bc=null, $b_bc=null) {
if ($this->databaseConnection()) {
$list = array();
$st = "";
if (trim($a_bc)!==null && trim($b_bc == null)) {
$st = "WHERE ".TX_TABLE.".a_bc = '".$a_bc."'";
} elseif(trim($a_bc)==null && trim($b_bc)!==null) {
$st = "WHERE ".TX_TABLE.".b_bc = '".$b_bc."'";
} elseif(trim($a_bc)!==null && trim($b_bc)!==null) {
$st = "WHERE ".TX_TABLE.".a_bc = '".$a_bc."' AND ".TX_TABLE.".b_bc = '".$b_bc."'";
}
$query = $this->db_connection->query("
SELECT txid AS T_ID, a_buyer AS BUYER_ID, b_seller AS SELLER_ID, (SELECT ".USERS_TABLE.".name FROM ".USERS_TABLE." WHERE ".USERS_TABLE.".id=BUYER_ID) AS BUYER, (SELECT ".USERS_TABLE.".name FROM ".USERS_TABLE." WHERE ".USERS_TABLE.".id=SELLER_ID) AS SELLER, b_amount AS TRADE_PRICE, ".TX_TABLE.".insert_dt, ".TX_TABLE.".qty_traded AS TRADED_QTY
FROM ".TX_TABLE.", ".USERS_TABLE."
".$st."
GROUP BY T_ID
ORDER BY T_ID DESC
LIMIT $start, $limit
");
if ($query->rowCount() > 0) {
while ($ls = $query->fetchObject()) {
$list[] = $ls;
}
return $list;
}
return false;
}
return false;
}
public function UserBalanceList($bc1='RMT', $is_active=null) {
if ($this->databaseConnection()) {
$list = array();
$extraQuerry = "";
if ($is_active != null) {
$extraQuerry = "AND ".USERS_TABLE.".is_active = 0 OR ".USERS_TABLE.".is_active = 1";
} else {
$extraQuerry = "AND ".USERS_TABLE.".is_active = 1";
}
$query = $this->db_connection->prepare("
SELECT DISTINCT ".USERS_TABLE.".name, ".CREDITS_TABLE.".balance, ".CREDITS_TABLE.".bc
FROM ".USERS_TABLE.", ".CREDITS_TABLE."
WHERE ".CREDITS_TABLE.".bc = :bc1
AND ".USERS_TABLE.".id = ".CREDITS_TABLE.".uid
$extraQuerry
ORDER BY ".CREDITS_TABLE.".balance DESC
");
$query->bindParam('bc1', $bc1);
$query->execute();
if ($query->rowCount() > 0) {
while ($ls = $query->fetchObject()) {
$list[] = $ls;
}
return $list;
}
return false;
}
return false;
}
public function UserOrdersList($user_id, $start=0, $limit=10) {
if ($this->databaseConnection()) {
$list = array();
$query = $this->db_connection->prepare("
SELECT *
FROM ".ORDERS_TABLE."
WHERE `uid`=:u_id
ORDER BY insert_dt DESC
LIMIT $start, $limit
");
$query->bindParam('u_id', $user_id);
if ($query->execute()) {
if ($query->rowCount() > 0) {
while ($ls = $query->fetchObject()) {
$list[] = $ls;
}
return $list;
}
}
return false;
}
return false;
}
/*public function sel_bc_stats($bc1, $bc2) {
if ($this->databaseConnection()) {
$query = $this->db_connection->prepare("
SELECT a_bc, b_bc, b_amount
FROM ".TX_TABLE."
WHERE a_bc = :a
AND b_bc = :b
ORDER BY insert_dt DESC
LIMIT 1
");
$query->bindParam("a", $bc1);
$query->bindParam("b", $bc2);
$query->execute();
$data = null;
if ($query->rowCount()) {
$data = $query->fetchObject();
}
return$data;
}
}*/
public function tx_data($bc1=null, $bc2=null, $limit=null) {
if ($this->databaseConnection()) {
$st = '';
$st2 = '';
if ($bc1!=null && $bc2!=null) {
$st = 'WHERE a_bc = :a AND b_bc = :b GROUP BY b_bc ';
} else if ($bc1!=null && $bc2==null) {
$st = 'WHERE a_bc = :a GROUP BY a_bc ';
} else if ($bc1==null && $bc2!=null) {
$st = 'WHERE b_bc = :b GROUP BY b_bc ';
} else {
$st='';
}
if ($limit != null) {
$st2 = " LIMIT $limit";
}
$query = $this->db_connection->prepare("
SELECT DISTINCT *
FROM ".TX_TABLE."
".$st."
ORDER BY insert_dt DESC
$st2
");
if ($bc1!=null && $bc2!=null) {
$query->bindParam("a", $bc1);
$query->bindParam("b", $bc2);
} else if ($bc1!=null && $bc2==null) {
$query->bindParam("a", $bc1);
} else if ($bc1==null && $bc2!=null) {
$query->bindParam("b", $bc2);
}
$query->execute();
$dat = null;
if ($query->rowCount()) {
if ($limit > 1 || $limit==null) {
$dat = array();
while ($data = $query->fetchObject()) {
$dat[] = $data;
}
} else {
$dat = $query->fetchObject();
}
}
return $dat;
}
return false;
}
}

View File

@ -232,4 +232,47 @@ class Users {
return false;
}
public function displayUserTransaction($user_id, $start=0, $limit=10) {
if ($this->databaseConnection()) {
$transactions = array();
$query = $this->db_connection->prepare("
SELECT txid AS T_ID, a_buyer AS BUYER_ID, b_seller AS SELLER_ID, (SELECT ".USERS_TABLE.".name FROM ".USERS_TABLE." WHERE ".USERS_TABLE.".id=BUYER_ID) AS BUYER, (SELECT ".USERS_TABLE.".name FROM ".USERS_TABLE." WHERE ".USERS_TABLE.".id=SELLER_ID) AS SELLER, b_amount AS TRADE_PRICE, ".TX_TABLE.".insert_dt, ".TX_TABLE.".qty_traded AS TRADED_QTY
FROM ".TX_TABLE.", ".USERS_TABLE."
WHERE `a_buyer`= :u_id OR `b_seller`= :u_id
GROUP BY T_ID
ORDER BY T_ID DESC
LIMIT $start, $limit
");
$query->bindParam('u_id', $user_id);
if ($query->execute()) {
$rowCount = $query->rowCount();
if ($rowCount > 0) {
while ($tr = $query->fetchObject()) {
$transactions[] = $tr;
}
}
}
return $transactions;
}
return false;
}
public function user_bc_bal($user_id) {
if ($this->databaseConnection()) {
$query = $this->db_connection->prepare("SELECT * FROM `wallet` WHERE `uid`=:usr_id");
$query->bindParam('usr_id', $user_id);
$query->execute();
$bc_bal = array();
if ($query->rowCount()) {
while ($bc = $query->fetchObject()) {
$bc_bal[] = $bc;
}
}
return $bc_bal;
}
return false;
}
}

View File

@ -34,6 +34,7 @@ if(checkLoginStatus()) {
$action_class_market = 'market_submit_btn';
$action_class_buy_sell = 'process';
}
?>
<!doctype html>
@ -50,6 +51,24 @@ if(checkLoginStatus()) {
<nav class="navbar navbar-expand-md fixed-top navbar-dark bg-dark">
<a class="navbar-brand" href="#">Ranchi Mall Blockchain Contract</a>
<div class="sel-div float-right">
<select class="custom-select selbc" name="sel-bc-1" id="sel-bc-1">
<option value=""> Select BC1</option>
<option value="REBC">Real Estate</option>
<option value="IBC">Incorporation</option>
<option value="FLOBC">Flo</option>
</select>
<select class="custom-select selbc" name="sel-bc-2" id="sel-bc-2">
<option value="">Select BC2</option>
<option value="RMT">RMT</option>
<option value="REBC">Real Estate</option>
<option value="IBC">Incorporation</option>
<option value="FLOBC">Flo</option>
</select>
</div>
<button class="navbar-toggler p-0 border-0" type="button" data-toggle="offcanvas">
<span class="navbar-toggler-icon"></span>
</button>

View File

@ -6,6 +6,6 @@ date_default_timezone_set('Asia/Kolkata');
<?php include_once 'includes/header.php'; ?>
<?php include_once 'views/home.php' ?>
<?php include_once 'views/home.php' ;?>
<?php include_once 'includes/footer.php'; ?>

View File

@ -2,14 +2,30 @@
* Created by Abhishek Kumar Sinha on 5/1/2018.
*/
$(document).ready(function() {
load_fresh_table_data();
var sel1 = $('#sel-bc-1').val();
var sel2 = $('#sel-bc-2').val();
//load_fresh_table_data(sel1, sel2);
run_OrderMatchingAlgorithm();
tradeList();
MyOrders();
MyTransactions();
sel_bc_stats(sel1, sel2);
user_wallet();
current_prices("RMT");
});
$(document).on('click', '#is_mkt', function() {
$('#ex-price').val('').toggle();
});
var my_date_format = function(input){
var d = new Date(Date.parse(input.replace(/-/g, "/")));
var month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var date = d.getDate() + " " + month[d.getMonth()] + ", " + d.getFullYear();
var time = d.toLocaleTimeString().toLowerCase().replace(/([\d]+:[\d]+):[\d]+(\s\w+)/g, "$1$2");
return (date + " " + time);
};
$(document).on('click', '#ex-sub', function() {
var btn = $(this);
@ -22,7 +38,8 @@ $(document).on('click', '#ex-sub', function() {
btn.prop( "disabled", true );
place_order(sel1, sel2, pr, qty, bs_rad, is_mkt, btn);
user_wallet();
current_prices(sel2);
});
function displayNotice(msg, _type) {
@ -55,7 +72,6 @@ function place_order(sel1, sel2, pr, qty, bs_rad, is_mkt, btn) {
console.log(xhr.responseText);
},
success: function(data) {
console.log(data);
btn.prop( "disabled", false);
var IS_JSON = true;
try {
@ -100,7 +116,13 @@ myTimeoutFunction();
// Update tables a/c to change in select
$(document).on('change', ".selbc", function() {
load_fresh_table_data();
var bc1 = $('#sel-bc-1').val();
var bc2 = $('#sel-bc-2').val();
load_fresh_table_data(bc1, bc2);
tradeList(bc1, bc2);
tradersList(bc2);
sel_bc_stats(bc1, bc2);
current_prices(bc2);
});
// function to check if JSON data is array or not
@ -108,10 +130,7 @@ function isArray(what) {
return Object.prototype.toString.call(what) === '[object Array]';
}
function load_fresh_table_data() {
var bc1 = $('#sel-bc-1').val();
var bc2 = $('#sel-bc-2').val();
function load_fresh_table_data(bc1, bc2) {
$.ajax({
method:'post',
@ -121,7 +140,7 @@ function load_fresh_table_data() {
console.log(xhr.responseText);
},
success: function(data) {
console.log(data);
if(data !== '') {
var d = jQuery.parseJSON(data);
console.log(d);
@ -177,7 +196,7 @@ function run_OrderMatchingAlgorithm() {
},
success: function(data) {
load_fresh_table_data();
load_fresh_table_data(sel1, sel2);
var IS_JSON = true;
try {
@ -203,3 +222,255 @@ function run_OrderMatchingAlgorithm() {
}
});
}
function tradeList(bc1, bc2) {
$.ajax({
method:'post',
url:'ajax/tradeList.php',
data: { task : 'loadTradeList',bc1:bc1, bc2:bc2},
error: function() {
console.log('error');
},
success: function(data) {
var IS_JSON = true;
try {
var d = jQuery.parseJSON(data);
}
catch(err) {
IS_JSON = false;
}
if(IS_JSON) {
console.log(d);
var v = '';
if(isArray(d.trade_list) && d.trade_list.length != 0) {
for (var k=0; k<= d.trade_list.length-1; k++) {
v += '';
v += '<tr>';
v += '<td>'+d.trade_list[k].SELLER+'</td>';
v += '<td>'+d.trade_list[k].BUYER+'</td>';
v += '<td>$ '+d.trade_list[k].TRADE_PRICE+'</td>';
v += '<td>'+d.trade_list[k].TRADED_QTY+'</td>';
v += '<td>$ '+(d.trade_list[k].TRADED_QTY * d.trade_list[k].TRADE_PRICE).toFixed(5)+'</td>';
v += '<td>'+my_date_format(d.trade_list[k].insert_dt)+'</td>';
v += '</tr>';
}
$('#_ltp').text('$ '+d.trade_list[0].TRADE_PRICE);
} else {
v += '<p class="text-info">No transactions.</p>';
}
$('#trade-list').html(v);
}
}
});
}
/*Traders List*/
function tradersList(bc2) {
$.ajax({
method:'post',
url:'ajax/tradersList.php',
data: { task : 'loadTradersList', bc2:bc2},
error: function(xhr, status, error) {
console.log(xhr.responseText);
},
success: function(data) {
var IS_JSON = true;
try {
var d = jQuery.parseJSON(data);
}
catch(err) {
IS_JSON = false;
}
if(IS_JSON) {
var v = '';
if(isArray(d.traders_list) && d.traders_list.length != 0) {
$('#bcn').text(d.traders_list[0].bc);
for (var k=0; k<= d.traders_list.length-1; k++) {
v += '';
v += '<tr>';
v += '<td>'+d.traders_list[k].name+'</td>';
v += '<td>'+d.traders_list[k].balance+'</td>';
v += '</tr>';
}
}
$('#traders-list').html(v);
}
}
});
}
/*My Orders*/
function MyOrders() {
$.ajax({
method:'post',
url:'ajax/myOrders.php',
data: { task : 'loadMyOrdersList'},
error:function(xhr, status, error) {
console.log(xhr.responseText);
},
success:function(data) {
if ($.trim(data) != '' && $.trim(data) != undefined && $.trim(data) != null) {
$('#myOrdersTable').html(data);
}
}
});
}
/*My Transactions*/
function MyTransactions() {
$.ajax({
method:'post',
url:'ajax/myTransactions.php',
data: { task : 'myTransactions'},
error:function(xhr, status, error) {
console.log(xhr.responseText);
},
success: function(data) {
var IS_JSON = true;
try {
var d = jQuery.parseJSON(data);
}
catch(err) {
IS_JSON = false;
}
if(IS_JSON) {
var v = '';
if(isArray(d.trade_list) && d.trade_list.length != 0) {
for (var k=0; k<= d.trade_list.length-1; k++) {
v += '';
v += '<tr>';
v += '<td>'+d.trade_list[k].SELLER+'</td>';
v += '<td>'+d.trade_list[k].BUYER+'</td>';
v += '<td>$ '+d.trade_list[k].TRADE_PRICE+'</td>';
v += '<td>'+d.trade_list[k].TRADED_QTY+'</td>';
v += '<td>$ '+(d.trade_list[k].TRADED_QTY * d.trade_list[k].TRADE_PRICE).toFixed(5)+'</td>';
v += '<td>'+my_date_format(d.trade_list[k].insert_dt)+'</td>';
v += '</tr>';
}
}
$('#my-transactions-list').html(v);
}
}
});
}
function sel_bc_stats(bc1, bc2) {
$('#bc-one').text(bc1);
$('#bc-two').text(bc2);
$.ajax({
method:'post',
url:'ajax/sel_bc_stats.php',
data: { task : 'sel_bc_stats', bc1:bc1, bc2:bc2},
error: function(xhr, status, error) {
console.log(xhr.responseText);
},
success: function(data) {
$('#bc-two-pr').text('');
var IS_JSON = true;
try {
var d = jQuery.parseJSON(data);
}
catch(err) {
IS_JSON = false;
}
if(IS_JSON) {
if(d.data.length != 0) {
$('#bc-one').text(d.data.a_bc);
$('#bc-two').text(d.data.b_bc);
$('#bc-two-pr').text(d.data.b_amount);
}
}
}
});
}
function user_wallet() {
$.ajax({
method: 'post',
async: true,
url: 'ajax/update_user_wallet.php',
data: {task: 'update_user_wallet'},
error: function (xhr, status, error) {
console.log(xhr.responseText);
},
success: function (data) {
var IS_JSON = true;
try {
var d = jQuery.parseJSON(data);
}
catch (err) {
IS_JSON = false;
}
if (IS_JSON) {
if (d.error == false) {
if (isArray(d.bc) && d.bc.length != 0) {
var t = '';
for (var k = 0; k <= d.bc.length - 1; k++) {
t += '<tr>';
t += '<td>'+ d.bc[k].bc+'</td>';
t += '<td>'+ d.bc[k].balance+'</td>';
t += '</tr>';
}
$('#usr-bc-bal').html(t);
}
}
}
}
});
}
function current_prices(bc2) {
var ltpbc2 = $('#ltpbc2');
var bccp = $('#bccp');
bccp.text('No Data');
ltpbc2.val();
if(bc2 !="") {
ltpbc2.val('('+bc2+')');
}
$.ajax({
method: 'post',
async: true,
url: 'ajax/current_prices.php',
data: {task: 'current_prices', bc2:bc2},
error: function (xhr, status, error) {
console.log(xhr.responseText);
},
success: function (data) {
var IS_JSON = true;
try {
var d = jQuery.parseJSON(data);
}
catch (err) {
IS_JSON = false;
}
if (IS_JSON) {
if (d.error == false) {
if (isArray(d.bc) && d.bc.length != 0) {
var t = '';
var w = '';
for (var k = 0; k <= d.bc.length - 1; k++) {
w = d.bc[k].b_bc;
t += '<tr>';
t += '<td>'+ d.bc[k].a_bc+'</td>';
t += '<td>'+ d.bc[k].a_amount+'</td>';
t += '<td><span class="text-success">22%</span></td>';
t += '</tr>';
}
ltpbc2.html('('+w+')');
bccp.html(t);
}
}
}
}
});
}

View File

@ -3,10 +3,23 @@ body {
overflow-x: hidden; /* Prevent scroll on narrow devices */
}
body {
padding-top: 56px;
.dropdown-menu {
left: 10px;
min-width: 7rem;
}
.sel-div {
display: flex;
width: auto;
}
.selbc {
margin-right: 5px;
}
.mg-2 {
margin: 2px 2px;
}
h5 > span {
font-size: 0.9rem;
}
@media (max-width: 767.98px) {
.offcanvas-collapse {
position: fixed;
@ -77,4 +90,59 @@ body {
.lh-100 { line-height: 1; }
.lh-125 { line-height: 1.25; }
.lh-150 { line-height: 1.5; }
.lh-150 { line-height: 1.5; }
/*Extra small devices (portrait phones, less than 576px)*/
@media (max-width: 576px) {
body {
//display: block;
padding-top: 56px;
font-size: 24px;
width: 100%;
}
.lays {
background-color: #c8cbcf;
margin: 0 0 5px 0;
line-height: 19px;
padding: 5px;
}
}
/*No media query since this is the default in Bootstrap*/
/*Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {
body {
padding-top: 56px;
font-size: 18px; !important;
}
.lays {
background-color: #c8cbcf;
margin: 0 0 5px 0;
line-height: 19px;
padding: 5px;
}
}
/*Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
body {
padding-top: 56px;
font-size: 16px;
}
.lays {
background-color: #c8cbcf;
margin: 0 0 5px 0;
line-height: 19px;
padding: 5px;
}
}
/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
}
/*Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
}

186
temp.php Normal file
View File

@ -0,0 +1,186 @@
<?php
ob_start();
date_default_timezone_set('Asia/Kolkata');
?>
<?php require_once "includes/imp_files.php";?>
<?php include_once 'includes/header.php'; ?>
<div class="container-fluid" style="margin:30px 0 30px 0">
<div class="row">
<div class="col-xs-12 col-lg-3">
<div class="row lays">
<div class="col-6"><h5 class="text-justify">RMTS/RSBC</h5></div>
<div class="col-3">
<h5 class="text-justify">234</h5>
</div>
<div class="col-3">
<h5 class="text-justify text-success">22.3%</h5>
</div>
</div>
<div class="row lays">
<div class="col">
<table class="table">
<thead>
<tr>
<th>BC</th>
<th>Price (RMT)</th>
<th>24h % shift</th>
</tr>
</thead>
<tbody>
<tr>
<td>RSBC</td>
<td>223</td>
<td><span class="text-success">22.3%</span></td>
</tr>
<tr>
<td>ISBC</td>
<td>123.34</td>
<td><span class="text-danger">22.3%</span></td>
</tr>
<tr>
<td>HSBC</td>
<td>334.12</td>
<td><span class="text-success">22.3%</span></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="row lays">
<div class="col">
<h5>Order Book</h5>
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control" id="email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd">
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" type="checkbox"> Remember me
</label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
<div class="row lays">
<div class="col">
<h5>Wallet</h5>
<table class="table">
<thead>
<tr>
<th>BC</th>
<th>BAL.</th>
</tr>
</thead>
<tbody>
<tr>
<td>RMT</td>
<td>34.99</td>
</tr>
<tr>
<td>RSBC</td>
<td>55</td>
</tr>
<tr>
<td>HSDC</td>
<td>55</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-xs-12 col-lg-9">
<div id="accordion">
<div class="card lays">
<div class="card-header" id="headingOne">
<h5 class="mb-0">
<button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</button>
</h5>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<table class="table">
<thead>
<tr>
<th>Seller</th>
<th>Buyer</th>
<th>Price</th>
<th>Quantity</th>
<th>Total</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>John Doe</td>
<td>Katy Perkins</td>
<td>234</td>
<td>12.56</td>
<td>12234.34</td>
<td>23 July, 2016 12::32</td>
</tr>
<tr>
<td>John Doe</td>
<td>Katy Perkins</td>
<td>234</td>
<td>12.56</td>
<td>12234.34</td>
<td>23 July, 2016 12::32</td>
</tr>
<tr>
<td>John Doe</td>
<td>Katy Perkins</td>
<td>234</td>
<td>12.56</td>
<td>12234.34</td>
<td>23 July, 2016 12::32</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card lays">
<div class="card-header" id="headingTwo">
<h5 class="mb-0">
<button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</button>
</h5>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
<div class="card-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
<div class="card lays">
<div class="card-header" id="headingThree">
<h5 class="mb-0">
<button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</button>
</h5>
</div>
<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordion">
<div class="card-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php include_once 'includes/footer.php'; ?>

31
views/buy_sell_box.php Normal file
View File

@ -0,0 +1,31 @@
<div class="col">
<div class="table-responsive">
<h6>Buy list</h6>
<table class="table-borderless table-sm">
<thead>
<tr>
<th>Buyer</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
<tbody id="bd-buy"></tbody>
</table>
</div>
</div>
<div class="col">
<div class="table-responsive">
<h6>Sell list</h6>
<table class="table-borderless table-sm">
<thead>
<tr>
<th>Buyer</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
<tbody id="bd-sell"></tbody>
</table>
</div>
</div>

View File

@ -1,45 +1,29 @@
<main role="main" class="container">
<div class="d-flex align-items-center p-3 my-3 text-white-50 bg-purple rounded box-shadow">
<img class="mr-3" src="https://getbootstrap.com/assets/brand/bootstrap-outline.svg" alt="" width="48" height="48">
<div class="lh-100">
<h6 class="mb-0 text-white lh-100">Ranchi Mall</h6>
<small>Small Ideas. Big Dreams</small>
</div>
<div class="d-flex">
<select class="form-control selbc" name="sel-bc-1" id="sel-bc-1">
<option value=""> Select first coin..</option>
<option value="REBC">Real Estate</option>
<option value="IBC">Incorporation</option>
<option value="FLOBC">Flo</option>
</select>
<select class="form-control selbc" name="sel-bc-2" id="sel-bc-2">
<option value="">Select second coin..</option>
<option value="RMT">RMT</option>
<option value="REBC">Real Estate</option>
<option value="IBC">Incorporation</option>
<option value="FLOBC">Flo</option>
</select>
</div>
</div>
<div class="my-3 p-3 bg-white rounded box-shadow">
<div class="form-group row">
<label for="ex-price" class="col-sm-2 col-form-label">Enter Price</label>
<div class="col-sm-10">
<input type="number" class="form-control" name="ex-price" id="ex-price"/>
<div class="container-fluid" style="margin:30px 0 30px 0">
<div class="row">
<div class="col-xs-12 col-lg-3">
<div class="row lays">
<div class="col-6"><h5 class="text-justify"><span id="bc-one"></span>/<span id="bc-two"></span></h5></div>
<div class="col-3">
<h5 class="text-justify" id="bc-two-pr"></h5>
</div>
<div class="col-3">
<h5 class="text-justify text-success">22.3%</h5>
</div>
</div>
<div class="form-group row">
<label for="ex-qty" class="col-sm-2 col-form-label">Enter Quantity</label>
<div class="col-sm-10">
<input type="number" class="form-control" name="ex-qty" id="ex-qty"/>
</div>
</div>
<fieldset class="form-group">
<div class="row">
<legend class="col-form-label col-sm-2 pt-0">Choose buy or sell</legend>
<div class="col-sm-10">
<div class="row lays">
<div class="col">
<h5>Order Book</h5>
<div class="form-group">
<label for="ex-price" class="col-form-label">Enter Price</label>
<input type="text" class="form-control" name="ex-price" id="ex-price"/>
</div>
<div class="form-group">
<label for="ex-qty" class="col-form-label">Enter Quantity</label>
<input type="text" class="form-control" name="ex-qty" id="ex-qty"/>
</div>
<fieldset class="form-group">
<legend class="col-form-label pt-0">Choose buy or sell</legend>
<div class="form-check">
<input class="form-check-input" type="radio" name="gridRadios" id="ex-rad-buy" value="ex-buy">
<label class="form-check-label" for="ex-rad-buy">
@ -52,54 +36,106 @@
Sell
</label>
</div>
</fieldset>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" type="checkbox" id="is_mkt"> Buy instantly at market rate?
</label>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary" id="ex-sub" name="ex-sub">Submit</button>
</div>
</div>
</fieldset>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="is_mkt">
<label class="form-check-label" for="is_mkt">Buy instantly at market rate?</label>
</div>
<div class="form-group row">
<div class="col-sm-10">
<button type="submit" class="btn btn-primary" id="ex-sub" name="ex-sub">Submit</button>
</div>
</div>
</div>
<div class="my-3 p-3 bg-white rounded box-shadow">
<div class="row">
<div class="col">
<div class="table-responsive">
<h6>Buy list</h6>
<table class="table-borderless table-sm">
<?php if ($user_logged_in) { ?>
<div class="row lays">
<div class="col">
<h5>Wallet</h5>
<table class="table">
<thead>
<tr>
<th>Buyer</th>
<th>Price</th>
<th>Quantity</th>
<th>BC</th>
<th>BAL.</th>
</tr>
</thead>
<tbody id="bd-buy"></tbody>
</table>
</div>
</div>
<div class="col">
<div class="table-responsive">
<h6>Sell list</h6>
<table class="table-borderless table-sm">
<thead>
<tr>
<th>Buyer</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
<tbody id="bd-sell"></tbody>
<tbody id="usr-bc-bal"></tbody>
</table>
</div>
</div>
<?php } ?>
</div>
<div class="col-xs-12 col-lg-9">
<!--Buy Sell div-->
<div class="row lays">
<?php include_once 'buy_sell_box.php'; ?>
</div>
<!--End Buy Sell Div-->
<div id="accordion">
<div class="card lays">
<div class="card-header" id="headingOne">
<h5 class="mb-0">
<button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Recent Transactions
</button>
<span><a href="Recent_Transactions" target="_blank">View All</a></span>
</h5>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<?php include_once 'tx.php'; ?>
</div>
</div>
</div>
<?php if ($user_logged_in) { ?>
<div class="card lays">
<div class="card-header" id="headingThree">
<h5 class="mb-0">
<button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Order List
</button>
<span><a href="My_Orders" target="_blank">View All</a></span>
</h5>
</div>
<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordion">
<div class="card-body">
<?php include_once'myOrdersList.php'; ?>
</div>
</div>
</div>
<?php } ?>
<div class="card lays">
<div class="card-header" id="headingTwo">
<h5 class="mb-0">
<button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Messages
</button>
</h5>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
<div class="card-body">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-md-8 ">
<div class="lays">
<?php include_once 'traders_list.php'; ?>
</div>
</div>
<div class="col-xs-12 col-md-4">
<div class="lays">
<?php include_once "ltp.php";?>
</div>
</div>
</div>
</div>
</div>
</main>
</div>

14
views/ltp.php Normal file
View File

@ -0,0 +1,14 @@
<h5>Current Prices</h5>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>BC</th>
<th>Price <span id="ltpbc2"></span></th>
<th>24h % shift</th>
</tr>
</thead>
<tbody id="bccp"></tbody>
</table>
</div>

45
views/myOrdersList.php Normal file
View File

@ -0,0 +1,45 @@
<?php if ($user_logged_in) { ?>
<div class="table-responsive">
<table class="table table-striped" cellpadding="10" cellspacing="0" width="100%">
<thead>
<tr>
<th>Price ($)</th>
<th>Quantity</th>
<th>Cancel Order</th>
<th>Item Sold</th>
<th>Item Bought</th>
<th>Status</th>
<th>Date</th>
</tr>
</thead>
<tbody id="myOrdersTable"></tbody>
</table>
</div>
<!--<div class="col-lg-6">
<h4 class="mt--2">My Transactions: </h4>
<h5><a href="My_Transactions" target="_blank">View All</a></h5>
<div class="table-responsive mt--2">
<table class="table table-striped" cellpadding="10">
<thead>
<tr>
<th>Seller: </th>
<th>Buyer: </th>
<th>Trade Price: </th>
<th>Quantity Traded: </th>
<th>Transaction Amount: </th>
<th>Trade Date: </th>
</tr>
</thead>
<tbody id="my-transactions-list"></tbody>
<?php /* if(isset($user_id) && $user_id !=null) {
$MyTransactions = $OrderClass->displayUserTransaction($user_id, 0, 10);*/?>
<?php /*if ($MyTransactions == null || !is_array($MyTransactions) || empty($MyTransactions)) { */?>
<p class="text-info">No transactions!</p>
<?php /*}} */?>
</table>
</div>
</div>-->
<?php } ?>

16
views/traders_list.php Normal file
View File

@ -0,0 +1,16 @@
<h5>Traders List <span><a href="traders" target="_blank">View All</a></span></h5>
<table class="table table-striped " cellpadding="10">
<thead>
<tr>
<th> Trader Name</th>
<th> <span id="bcn"></span> Balance </th>
</tr>
</thead>
<tbody id="traders-list"></tbody>
</table>

15
views/tx.php Normal file
View File

@ -0,0 +1,15 @@
<div class="table-responsive">
<table class="table table-borderless table-striped">
<thead>
<tr>
<th>Seller: </th>
<th>Buyer: </th>
<th>Trade Price: </th>
<th>Quantity Traded: </th>
<th>Transaction Amount: </th>
<th>Trade Date: </th>
</tr>
</thead>
<tbody id="trade-list"></tbody>
</table>
</div>