Beta version ready: Fresh template. Loadmore functionality complete.
This commit is contained in:
parent
d518e6a60f
commit
353923dc01
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
vendor/
|
||||
.idea/
|
||||
includes/config.php
|
||||
includes/config.php
|
||||
temp.php
|
||||
21
.htaccess
Normal file
21
.htaccess
Normal file
@ -0,0 +1,21 @@
|
||||
Options +FollowSymLinks -Multiviews
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
|
||||
SetEnv HTTP_MOD_REWRITE On
|
||||
RewriteEngine on
|
||||
IndexIgnore *
|
||||
Options +MultiViews
|
||||
|
||||
ErrorDocument 404 /pageNotFound.php
|
||||
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
|
||||
RewriteRule ^My_Messages$ view_all_messages.php [NC,L]
|
||||
RewriteRule ^My_Orders$ view_all_my_orders_list.php [NC,L]
|
||||
RewriteRule ^My_Transactions$ view_all_my_transactions.php [NC,L]
|
||||
RewriteRule ^Recent_Transactions$ view_all_recent_transactions.php [NC,L]
|
||||
RewriteRule ^traders$ view_all_traders_list.php [NC,L]
|
||||
|
||||
</IfModule>
|
||||
26
ajax/MyMessagesTotal.php
Normal file
26
ajax/MyMessagesTotal.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 9/27/2017
|
||||
* Time: 5:21 PM
|
||||
*/
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(isset($_POST['job']) && $_POST['job'] == 'total_my_messages') {
|
||||
|
||||
if (isset($UserClass, $OrderClass, $user_id)) {
|
||||
$validate_user = $UserClass->check_user($user_id);
|
||||
|
||||
if($validate_user == "" || empty($validate_user)) {
|
||||
return false;
|
||||
}
|
||||
echo $total_my_orders = (int) $OrderClass->total_my_messages();
|
||||
}
|
||||
|
||||
}
|
||||
27
ajax/MyOrdersTotal.php
Normal file
27
ajax/MyOrdersTotal.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 9/27/2017
|
||||
* Time: 5:21 PM
|
||||
*/
|
||||
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(isset($_POST['job']) && $_POST['job'] == 'total_my_orders') {
|
||||
|
||||
if (isset($UserClass, $OrderClass, $user_id)) {
|
||||
$validate_user = $UserClass->check_user($user_id);
|
||||
|
||||
if($validate_user == "" || empty($validate_user)) {
|
||||
return false;
|
||||
}
|
||||
echo $total_my_orders = (int) $OrderClass->total_my_orders();
|
||||
}
|
||||
|
||||
}
|
||||
21
ajax/check_new_orders.php
Normal file
21
ajax/check_new_orders.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 5/16/2018
|
||||
* Time: 2:26 PM
|
||||
*/
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$last_trade_date = $_SESSION['last_trade_date'];
|
||||
|
||||
$lod = $OrderClass->get_last_order_date($last_trade_date);
|
||||
|
||||
if ($lod) {
|
||||
$_SESSION['last_trade_date'] = $UserClass->time_now();
|
||||
}
|
||||
echo $lod;
|
||||
@ -1,8 +1,8 @@
|
||||
<?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;
|
||||
if (isset($_POST['task']) && trim($_POST['task']=='current_prices')) {
|
||||
$bc2 = isset($_POST['bc2']) ? $_POST['bc2'] : null;
|
||||
|
||||
$std = new stdClass();
|
||||
$std->bc = array();
|
||||
|
||||
34
ajax/delOrder.php
Normal file
34
ajax/delOrder.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/7/2017
|
||||
* Time: 11:07 AM
|
||||
*/
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isset($_POST['task'], $_POST['id']) && trim($_POST['task'])=="delOrder") {
|
||||
|
||||
$del_id = extract_int($_POST['id']);
|
||||
|
||||
if (isset($OrderClass, $UserClass, $user_id)) {
|
||||
|
||||
$validate_user = $UserClass->check_user($user_id);
|
||||
|
||||
if($validate_user == "" || empty($validate_user)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$del_order = $OrderClass->del_order($del_id);
|
||||
|
||||
if ($del_order) {
|
||||
echo true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
42
ajax/loadMoreMyMessages.php
Normal file
42
ajax/loadMoreMyMessages.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/6/2017
|
||||
* Time: 7:09 PM
|
||||
*/
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(isset($_POST['req']) && $_POST['req'] == 'loadMoreMyMessages') {
|
||||
|
||||
if (isset($UserClass, $OrderClass, $user_id)) {
|
||||
$validate_user = $UserClass->check_user($user_id);
|
||||
|
||||
if($validate_user == "" || empty($validate_user)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$std = new stdClass();
|
||||
$std->msg = array();
|
||||
$std->error = true;
|
||||
|
||||
if (isset($_POST['records_per_page'], $_POST['start'])) {
|
||||
|
||||
$start = (int) $_POST['start'];
|
||||
$records = (int) $_POST['records_per_page'];
|
||||
|
||||
$megs = $UserClass->list_messages_by_userId($user_id, $start, $records);
|
||||
|
||||
if (is_array($megs) && !empty($megs)) {
|
||||
$std->msg = $megs;
|
||||
$std->error = false;
|
||||
}
|
||||
}
|
||||
echo json_encode($std);
|
||||
}
|
||||
}
|
||||
88
ajax/loadMoreMyOrders.php
Normal file
88
ajax/loadMoreMyOrders.php
Normal file
@ -0,0 +1,88 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/6/2017
|
||||
* Time: 7:09 PM
|
||||
*/
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(isset($_POST['req']) && $_POST['req'] == 'loadMoreMyOrders') {
|
||||
|
||||
if (isset($UserClass, $OrderClass, $user_id)) {
|
||||
$validate_user = $UserClass->check_user($user_id);
|
||||
|
||||
if($validate_user == "" || empty($validate_user)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isset($_POST['records_per_page'], $_POST['start'])) {
|
||||
|
||||
$start = (int) $_POST['start'];
|
||||
$records = (int) $_POST['records_per_page'];
|
||||
|
||||
$iter = "";
|
||||
if (isset($OrderClass, $user_id)) {
|
||||
|
||||
$myOrders = $OrderClass->UserOrdersList($user_id, $start, $records);
|
||||
|
||||
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';
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
33
ajax/loadMoreRecentTransactions.php
Normal file
33
ajax/loadMoreRecentTransactions.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/6/2017
|
||||
* Time: 7:09 PM
|
||||
*/
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if(isset($_POST['req']) && $_POST['req'] == 'loadMoreRecentTransactions') {
|
||||
|
||||
if (isset($UserClass, $OrderClass)) {
|
||||
|
||||
$std = new stdClass();
|
||||
$std->msg = array();
|
||||
$std->error = true;
|
||||
|
||||
if (isset($_POST['records_per_page'], $_POST['start'])) {
|
||||
|
||||
$start = (int) $_POST['start'];
|
||||
$records = (int) $_POST['records_per_page'];
|
||||
|
||||
$megs = $OrderClass->last_transaction_list($start, $records);
|
||||
|
||||
if (is_array($megs) && !empty($megs)) {
|
||||
$std->trade_list = $megs;
|
||||
$std->error = false;
|
||||
}
|
||||
}
|
||||
echo json_encode($std);
|
||||
}
|
||||
}
|
||||
32
ajax/myMessages.php
Normal file
32
ajax/myMessages.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/5/2017
|
||||
* Time: 10:44 AM
|
||||
*/
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isset($_POST['task']) && $_POST['task']=='loadMyMessagesList') {
|
||||
if (isset($UserClass, $OrderClass, $user_id) && $UserClass!=null && $OrderClass!=null) {
|
||||
|
||||
$std = new stdClass();
|
||||
$std->msg = null;
|
||||
$std->error = true;
|
||||
|
||||
$my_messages = $UserClass->list_messages_by_userId($user_id, 0, 10);
|
||||
|
||||
if (is_array($my_messages) && !empty($my_messages)) {
|
||||
$std->msg = $my_messages;
|
||||
$std->error = false;
|
||||
}
|
||||
|
||||
echo json_encode($std);
|
||||
|
||||
}
|
||||
}
|
||||
17
ajax/recentTransactionsTotal.php
Normal file
17
ajax/recentTransactionsTotal.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 9/27/2017
|
||||
* Time: 5:21 PM
|
||||
*/
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if(isset($_POST['job']) && $_POST['job'] == 'total_recent_transactions') {
|
||||
|
||||
if (isset($UserClass, $OrderClass)) {
|
||||
echo $total_my_orders = (int) $OrderClass->total_recent_transactions();
|
||||
}
|
||||
|
||||
}
|
||||
46
ajax/rm_root.php
Normal file
46
ajax/rm_root.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isset($_SESSION['fb_id'], $_SESSION['user_id'], $_SESSION['user_name'])) {
|
||||
$root_fb = (int) $_SESSION['fb_id'];
|
||||
$root_user_id = (int) $_SESSION['user_id'];
|
||||
$root_user_name = (string) $_SESSION['user_name'];
|
||||
|
||||
if ($root_fb != ADMIN_FB_ID && $root_user_id != ADMIN_ID && $root_user_name != ADMIN_UNAME) {
|
||||
redirect_to("index.php");
|
||||
}
|
||||
|
||||
if (isset($_POST['task'], $_POST['btn_id']) && trim($_POST['task']=="act_user")) {
|
||||
|
||||
$u_id = explode('_', trim($_POST['btn_id']));
|
||||
$u_id_int = extract_int($u_id[1]);
|
||||
$u_id_str = (string) trim($u_id[0]);
|
||||
$act = "";
|
||||
|
||||
if ($u_id_str == "off") {
|
||||
$act = "0";
|
||||
} else if($u_id_str == "on") {
|
||||
$act = "1";
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
if (isset($OrderClass, $UserClass)) {
|
||||
|
||||
if ($u_id_str == "off") {
|
||||
$del_ord = $OrderClass->delete_orders_of_user($u_id_int);
|
||||
}
|
||||
$act_user = $UserClass->actions_user($u_id_int, $act);
|
||||
|
||||
if ($act_user) {
|
||||
echo $u_id_str;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@ -18,7 +18,7 @@ if (isset($_POST['task'], $_POST['bc2']) && trim($_POST['task'])=='loadTradersLi
|
||||
|
||||
if (isset($OrderClass)) {
|
||||
|
||||
$tradersList = $OrderClass->UserBalanceList($bc2);
|
||||
$tradersList = $OrderClass->UserBalanceList($bc2, 1);
|
||||
if (is_array($tradersList) && !empty($tradersList)) {
|
||||
$std->traders_list = $tradersList;
|
||||
$std->error = false;
|
||||
|
||||
133
ajax/transfer_tokens.php
Normal file
133
ajax/transfer_tokens.php
Normal file
@ -0,0 +1,133 @@
|
||||
<?php
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isset($_POST['job']) && trim($_POST['job']) == "transfer_tokens") {
|
||||
if (isset($_POST['_from'], $_POST['_to'], $_POST['_tokens'], $_POST['_bc2'])) {
|
||||
$from = (int) $_POST['_from'];
|
||||
$to = (int) $_POST['_to'];
|
||||
$bc2 = trim($_POST['_bc2']);
|
||||
$tokens = number_format((float)$_POST['_tokens'], 10);
|
||||
|
||||
$std = new stdClass();
|
||||
$std->mesg = array();
|
||||
$std->error = true;
|
||||
|
||||
if ($from==$to) {
|
||||
$mess = "Sender and receiver cannot be same.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($bc2==""||$bc2==null) {
|
||||
$mess = "Please choose a Blockchain contract from second dropdown.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
$validate_user_from = $UserClass->check_user($from);
|
||||
$validate_user_to = $UserClass->check_user($to);
|
||||
|
||||
if($validate_user_from == "" || empty($validate_user_from) || $validate_user_to == "" || empty($validate_user_to)) {
|
||||
$mess = "No such user exist. Please re-check user ids.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
//$OrderClass->storeMessagesPublic(null, $user_id, $mess);
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
$customer_bal_fr = (float) $OrderClass->check_customer_balance($bc2, $from)->balance;
|
||||
$customer_bal_to = (float) $OrderClass->check_customer_balance($bc2, $to)->balance;
|
||||
|
||||
if ($tokens > $customer_bal_fr) {
|
||||
$mess = "Admin Token Transfer: The user has insufficient balance to make this ".$bc2." units transfer. His current Token balance is $customer_bal_fr ".$bc2.".";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
$OrderClass->storeMessagesPublic(null, $from, $mess);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($tokens < 0.0000000001) {
|
||||
$mess = "Admin Token Transfer: Please provide minimum amount of 0.0000000001 BC units!";
|
||||
$OrderClass->storeMessagesPublic(null, $from, $mess);
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check order in sell table
|
||||
$user_active_orders = $OrderClass->get_active_order_of_user($from, $bc2, TOP_SELLS_TABLE);
|
||||
$frozen_bal_sells = 0;
|
||||
$allowed_bid_amount = $customer_bal_fr;
|
||||
if (is_array($user_active_orders) && !empty($user_active_orders)) {
|
||||
foreach ($user_active_orders as $uao) {
|
||||
$frozen_bal_sells += (float) $uao->quantity;
|
||||
}
|
||||
$allowed_bid_amount = $customer_bal_fr - $frozen_bal_sells;
|
||||
$ext_st = "The user can transfer up to $bc2 $allowed_bid_amount only.";
|
||||
if ($allowed_bid_amount == 0) {
|
||||
$ext_st = "The user doesn't have any $bc2 to transfer.";
|
||||
}
|
||||
$msss = "The user has requested to transfer $frozen_bal_sells $bc2. $ext_st Please cancel it or reduce your transfer amount.";
|
||||
}
|
||||
|
||||
if ((float)$frozen_bal_sells + (float)$tokens > $customer_bal_fr) {
|
||||
$OrderClass->storeMessagesPublic(null, $from, $msss);
|
||||
$std->error = true;
|
||||
$std->mesg[] = $msss;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
/*Finally, transfer the tokens*/
|
||||
|
||||
$new_from_bal = $customer_bal_fr - $tokens;
|
||||
$new_to_bal = (float)$customer_bal_to + (float)$tokens;
|
||||
|
||||
// Decrease tokens of 'from'
|
||||
$update_bal_fr = $OrderClass->update_user_balance($bc2, $new_from_bal, $from);
|
||||
|
||||
// Increase tokens of 'to'
|
||||
$update_bal_to = $OrderClass->update_user_balance($bc2, $new_to_bal, $to);
|
||||
|
||||
// Record the balance transfers or errors
|
||||
if (!$update_bal_fr) {
|
||||
$msss = "Failed to update Sender's balance.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $msss;
|
||||
$OrderClass->storeMessagesPublic(null, ADMIN_ID, $msss);
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
} else if(!$update_bal_to) {
|
||||
$msss = "Failed to update Receiver's balance.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $msss;
|
||||
$OrderClass->storeMessagesPublic(null, ADMIN_ID, $msss);
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
} else {
|
||||
$OrderClass->record_root_bal_update($from, $customer_bal_fr, $new_from_bal, $bc2);
|
||||
$OrderClass->record_root_bal_update($to, $customer_bal_to, $new_to_bal, $bc2);
|
||||
|
||||
$msss = "$bc2 transfer for user id ".$from." and ".$to." was processed successfully.";
|
||||
$mess1 = "Your ".$tokens." $bc2 were transferred by Admin to user ".$to.".";
|
||||
$mess2 = "You received ".$tokens." $bc2 from user ".$from." transferred by Admin.";
|
||||
$std->error = false;
|
||||
$std->mesg[] = $msss;
|
||||
$OrderClass->storeMessagesPublic(null, ADMIN_ID, $msss);
|
||||
$OrderClass->storeMessagesPublic(null, $from, $mess1);
|
||||
$OrderClass->storeMessagesPublic(null, $to, $mess2);
|
||||
echo json_encode($std);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
96
ajax/update_bc_bal.php
Normal file
96
ajax/update_bc_bal.php
Normal file
@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 5/16/2018
|
||||
* Time: 5:56 PM
|
||||
*/
|
||||
require_once '../includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isset($_POST['job']) && trim($_POST['job']) == "update-user-bc-balance") {
|
||||
|
||||
if (isset($_POST['bc_bal_updt'], $_POST['cus_id'], $_POST['_bc2'])) {
|
||||
$cus_id = (int)$_POST['cus_id'];
|
||||
$bc2 = trim($_POST['_bc2']);
|
||||
$balance = number_format((float)$_POST['bc_bal_updt'], 10);
|
||||
|
||||
$std = new stdClass();
|
||||
$std->mesg = array();
|
||||
$std->error = true;
|
||||
|
||||
if ($bc2==""||$bc2==null) {
|
||||
$mess = "Please choose a Blockchain contract from second dropdown.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
$validate_user = $UserClass->check_user($cus_id);
|
||||
if($validate_user == "" || empty($validate_user)) {
|
||||
$mess = "No such user exist. Please re-check user ids.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($balance < 0) {
|
||||
$mess = "Balance must be positive number!";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!isset($OrderClass, $UserClass)) {
|
||||
$mess = "System Error!";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
$update_bal = null;
|
||||
|
||||
/*Restrict decimal places while updating balance*/
|
||||
if (!validate_decimal_place($balance, 10)) {
|
||||
$mess = "Max 10 decimal places allowed.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
|
||||
//Prev balance of user
|
||||
$bal_prev = (float) $OrderClass->check_customer_balance($bc2, $cus_id)->balance;
|
||||
|
||||
$update_bal = $OrderClass->update_user_balance($bc2, $balance, $cus_id);
|
||||
|
||||
if (!$update_bal) {
|
||||
$mess = "Failed to update balance.";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
} else if($update_bal) {
|
||||
// Record this change
|
||||
$OrderClass->record_root_bal_update($cus_id, $bal_prev, $balance, $bc2);
|
||||
$mess = "Successfully updated balance!";
|
||||
$std->error = false;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
} else {
|
||||
$mess = "Something went wrong. Failed to update balance!";
|
||||
$std->error = true;
|
||||
$std->mesg[] = $mess;
|
||||
echo json_encode($std);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -208,6 +208,23 @@ class Orders extends Users {
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get_active_order_of_user($user_id, $bc, $top_table) {
|
||||
if ($this->databaseConnection()) {
|
||||
$query = $this->db_connection->prepare("
|
||||
SELECT * FROM $top_table WHERE `uid`= :uid ORDER BY `insert_dt` DESC
|
||||
");
|
||||
$query->bindParam('uid', $user_id);
|
||||
$query->execute();
|
||||
|
||||
$arr = array();
|
||||
while ($qr = $query->fetchObject()) {
|
||||
$arr[] = $qr;
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function OrderMatchingQuery($bc1, $bc2) {
|
||||
|
||||
if ($this->databaseConnection()) {
|
||||
@ -1224,7 +1241,6 @@ class Orders extends Users {
|
||||
|
||||
public function storeMessages($order_id=null, $user_id=null, $msg=null) {
|
||||
if($this->databaseConnection()) {
|
||||
return;
|
||||
$now = $this->time_now();
|
||||
if ($user_id == false) {
|
||||
return false;
|
||||
@ -1247,18 +1263,25 @@ class Orders extends Users {
|
||||
return false;
|
||||
}
|
||||
|
||||
public function last_transaction_list($start=0, $limit = 10, $a_bc=null, $b_bc=null) {
|
||||
public function last_transaction_list($start=0, $limit = 10, $a_bc=null, $b_bc=null, $uid=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."'";
|
||||
$st2 = "";
|
||||
if ((int)$uid!=0 || (int)$uid!=null) {
|
||||
$st2 = " AND a_buyer = $uid OR b_seller=$uid ";
|
||||
}
|
||||
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."'";
|
||||
} elseif (trim($a_bc)==null && trim($b_bc)==null && $uid!=null) {
|
||||
$st2 = " WHERE a_buyer = $uid OR b_seller=$uid ";
|
||||
}
|
||||
$st.= $st2;
|
||||
|
||||
$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
|
||||
@ -1280,29 +1303,39 @@ class Orders extends Users {
|
||||
return false;
|
||||
}
|
||||
|
||||
public function UserBalanceList($bc1='RMT', $is_active=null) {
|
||||
public function UserBalanceList($bc1='', $is_active=null) {
|
||||
if ($this->databaseConnection()) {
|
||||
|
||||
$list = array();
|
||||
|
||||
$extraQuerry = "";
|
||||
$extraQuerry1 = "";
|
||||
$extraQuerry2 = "";
|
||||
|
||||
if ($is_active != null) {
|
||||
$extraQuerry = "AND ".USERS_TABLE.".is_active = 0 OR ".USERS_TABLE.".is_active = 1";
|
||||
$extraQuerry = "WHERE (".USERS_TABLE.".is_active = 0 OR ".USERS_TABLE.".is_active = 1) AND ".USERS_TABLE.".id = ".CREDITS_TABLE.".uid";
|
||||
} else {
|
||||
$extraQuerry = "AND ".USERS_TABLE.".is_active = 1";
|
||||
$extraQuerry = "WHERE ".USERS_TABLE.".is_active = 1 AND ".USERS_TABLE.".id = ".CREDITS_TABLE.".uid";
|
||||
}
|
||||
|
||||
if (trim($bc1)!=null) {
|
||||
$extraQuerry1 = "AND ".CREDITS_TABLE.".bc = :bc1";
|
||||
$extraQuerry2 = "ORDER BY ".CREDITS_TABLE.".balance DESC";
|
||||
} else {
|
||||
$extraQuerry2 = "ORDER BY ".USERS_TABLE.".name ASC";
|
||||
}
|
||||
|
||||
$query = $this->db_connection->prepare("
|
||||
SELECT DISTINCT ".USERS_TABLE.".name, ".CREDITS_TABLE.".balance, ".CREDITS_TABLE.".bc
|
||||
SELECT DISTINCT ".USERS_TABLE.".name, ".USERS_TABLE.".id AS UID, ".USERS_TABLE.".fb_id AS FACEBOOK_ID, ".CREDITS_TABLE.".balance, ".CREDITS_TABLE.".bc, ".USERS_TABLE.".is_active
|
||||
FROM ".USERS_TABLE.", ".CREDITS_TABLE."
|
||||
WHERE ".CREDITS_TABLE.".bc = :bc1
|
||||
AND ".USERS_TABLE.".id = ".CREDITS_TABLE.".uid
|
||||
$extraQuerry
|
||||
ORDER BY ".CREDITS_TABLE.".balance DESC
|
||||
$extraQuerry1
|
||||
$extraQuerry2
|
||||
");
|
||||
|
||||
$query->bindParam('bc1', $bc1);
|
||||
if (trim($bc1)!=null) {
|
||||
$query->bindParam('bc1', $bc1);
|
||||
}
|
||||
$query->execute();
|
||||
|
||||
if ($query->rowCount() > 0) {
|
||||
@ -1341,27 +1374,6 @@ class Orders extends Users {
|
||||
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 = '';
|
||||
@ -1373,7 +1385,7 @@ class Orders extends Users {
|
||||
} else if ($bc1==null && $bc2!=null) {
|
||||
$st = 'WHERE b_bc = :b GROUP BY b_bc ';
|
||||
} else {
|
||||
$st='';
|
||||
$st=' GROUP BY a_bc ';
|
||||
}
|
||||
if ($limit != null) {
|
||||
$st2 = " LIMIT $limit";
|
||||
@ -1411,4 +1423,152 @@ class Orders extends Users {
|
||||
return false;
|
||||
}
|
||||
|
||||
public function record_root_bal_update($uid, $bal_prev, $bal_now, $bal_type) {
|
||||
if ($this->databaseConnection()) {
|
||||
$now = $this->time_now();
|
||||
$root = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : 0;
|
||||
$query = $this->db_connection->prepare("
|
||||
INSERT INTO ".ADMIN_BAL_RECORDS."(`BalStatusHistoryId`, `user_id`, `bal_prev`, `bal_now`, `type`, `root_id`, `UpdateDate`)
|
||||
VALUES ('', :uid, :prev, :now, :btype, :root, '$now')
|
||||
");
|
||||
$query->bindParam("uid", $uid);
|
||||
$query->bindParam("prev", $bal_prev);
|
||||
$query->bindParam("now", $bal_now);
|
||||
$query->bindParam("btype", $bal_type);
|
||||
$query->bindParam("root", $root);
|
||||
|
||||
if ($query->execute()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function list_root_bal_changes() {
|
||||
if ($this->databaseConnection()) {
|
||||
$list_details = array();
|
||||
$query = $this->db_connection->prepare("
|
||||
SELECT ".ADMIN_BAL_RECORDS.".*, ".USERS_TABLE.".name, ".USERS_TABLE.".email
|
||||
FROM ".ADMIN_BAL_RECORDS.", ".USERS_TABLE."
|
||||
WHERE ".ADMIN_BAL_RECORDS.".user_id=".USERS_TABLE.".id
|
||||
ORDER BY UpdateDate DESC
|
||||
LIMIT 200
|
||||
");
|
||||
$query->execute();
|
||||
|
||||
if ($query->rowCount() > 0) {
|
||||
while ($list = $query->fetchObject()) {
|
||||
$list_details[] = $list;
|
||||
}
|
||||
}
|
||||
return $list_details;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get_last_order_date($date=null) {
|
||||
if ($this->databaseConnection()) {
|
||||
$query = $this->db_connection->query("SELECT * FROM ".ORDERS_TABLE." WHERE `insert_dt`> '$date'");
|
||||
if ($query->rowCount()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function delete_orders_of_user($user_id=null) {
|
||||
if ($this->databaseConnection()) {
|
||||
$order_ids = array();
|
||||
$query = $this->db_connection->prepare("
|
||||
SELECT order_id FROM ".TOP_BUYS_TABLE." WHERE `uid`=:uid
|
||||
UNION
|
||||
SELECT order_id FROM ".TOP_SELLS_TABLE." WHERE `uid`=:uid
|
||||
");
|
||||
$query->bindParam('uid', $user_id);
|
||||
$query->execute();
|
||||
if ($query->rowCount() > 0) {
|
||||
while ($rr = $query->fetchObject()) {
|
||||
$order_ids[] = $rr;
|
||||
}
|
||||
foreach ($order_ids as $oid) {
|
||||
$this->del_order($oid->orderId, $user_id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function storeMessagesPublic($order_id=null, $user_id=null, $msg=null) {
|
||||
if ($this->databaseConnection()) {
|
||||
$this->storeMessages($order_id, $user_id, $msg);
|
||||
}
|
||||
}
|
||||
|
||||
public function total_recent_transactions()
|
||||
{
|
||||
if ($this->databaseConnection()) {
|
||||
$total_orders = 0;
|
||||
|
||||
$query = $this->db_connection->prepare("
|
||||
SELECT COUNT(*) AS TOTAL_ORDERS
|
||||
FROM ".TX_TABLE."
|
||||
");
|
||||
if ($query->execute()) {
|
||||
$fetch = $query->fetchObject();
|
||||
$total_orders = (int)$fetch->TOTAL_ORDERS;
|
||||
}
|
||||
return $total_orders;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function total_my_messages() {
|
||||
if ($this->databaseConnection()) {
|
||||
$my_total_messages = 0;
|
||||
if (isset($_SESSION['user_id'])) {
|
||||
$user_id = (int) $_SESSION['user_id'];
|
||||
} else {
|
||||
return $my_total_messages;
|
||||
}
|
||||
$query = $this->db_connection->prepare("
|
||||
SELECT COUNT(*) AS MY_TOTAL_MESSAGES
|
||||
FROM ".MSG_TABLE."
|
||||
WHERE `username_key`=:u_id
|
||||
");
|
||||
$query->bindParam('u_id', $user_id);
|
||||
if ($query->execute()) {
|
||||
$fetch = $query->fetchObject();
|
||||
$my_total_messages = (int) $fetch->MY_TOTAL_MESSAGES;
|
||||
}
|
||||
return $my_total_messages;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function total_my_orders()
|
||||
{
|
||||
if ($this->databaseConnection()) {
|
||||
$my_total_orders = 0;
|
||||
if (isset($_SESSION['user_id'])) {
|
||||
$user_id = (int)$_SESSION['user_id'];
|
||||
} else {
|
||||
return $my_total_orders;
|
||||
}
|
||||
$query = $this->db_connection->prepare("
|
||||
SELECT COUNT(*) AS MY_TOTAL_ORDERS
|
||||
FROM ".ORDERS_TABLE."
|
||||
WHERE `uid`=:u_id
|
||||
");
|
||||
$query->bindParam('u_id', $user_id);
|
||||
if ($query->execute()) {
|
||||
$fetch = $query->fetchObject();
|
||||
$my_total_orders = (int)$fetch->MY_TOTAL_ORDERS;
|
||||
}
|
||||
return $my_total_orders;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -274,5 +274,29 @@ class Users {
|
||||
return false;
|
||||
}
|
||||
|
||||
public function list_messages_by_userId($user_id, $start=0, $limit=10) {
|
||||
if ($this->databaseConnection()) {
|
||||
$messages = array();
|
||||
|
||||
$query = $this->db_connection->prepare("
|
||||
SELECT * FROM ".MSG_TABLE." WHERE `username_key`= :uk
|
||||
ORDER BY datetime DESC
|
||||
LIMIT $start, $limit
|
||||
");
|
||||
$query->bindParam("uk", $user_id);
|
||||
if ($query->execute()) {
|
||||
$rowCount = $query->rowCount();
|
||||
if ($rowCount > 0) {
|
||||
while ($tr = $query->fetchObject()) {
|
||||
$messages[] = $tr;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $messages;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
BIN
images/spinner.gif
Normal file
BIN
images/spinner.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@ -51,6 +51,8 @@ define("USERS_TABLE", "USER TABLE");
|
||||
define("CREDITS_TABLE", "BALANCE TABLE");
|
||||
define("ORDERS_TABLE", "ORDERS TABLE");
|
||||
define("TX_TABLE", "TRANSACTION TABLE");
|
||||
define("ADMIN_BAL_RECORDS", "ADMIN TABLE");
|
||||
define("MSG_TABLE", "MESSAGES TABLE");
|
||||
|
||||
/*FACEBOOK DETAILS*/
|
||||
define("APP_ID", 'YOUR FB APP ID');
|
||||
|
||||
@ -41,13 +41,14 @@ if(checkLoginStatus()) {
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Home</title>
|
||||
<title>Ranchi Mall Blockchain Contracts</title>
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="<?=STYLE_DIR?>/bootstrap.min.css">
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="<?=STYLE_DIR?>/offcanvas.css" rel="stylesheet">
|
||||
<link href="<?=STYLE_DIR?>/main.css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
|
||||
</head>
|
||||
<body class="bg-light">
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-expand-md fixed-top navbar-dark bg-dark">
|
||||
<a class="navbar-brand" href="#">Ranchi Mall Blockchain Contract</a>
|
||||
@ -81,14 +82,14 @@ if(checkLoginStatus()) {
|
||||
Investors
|
||||
<span class="badge badge-pill bg-light align-text-bottom">127</span>
|
||||
</a>
|
||||
<a class="nav-link" href="#">Exchange</a>
|
||||
<a class="nav-link" href="https://www.ranchimall.net/exchange">Buy RMT</a>
|
||||
|
||||
<?php if($user_logged_in) { ?>
|
||||
<a class="nav-link" href="logout.php">Log Out</a>
|
||||
<?php } elseif(isset($loginUrl)) {?>
|
||||
<a href="<?=$loginUrl?>" role="button" class="pull-right popup nav-link" name="fb_login">
|
||||
<div class="btn btn--facebook ">
|
||||
Continue with Facebook
|
||||
<a href="<?=$loginUrl?>" role="button" class="nav-link" name="fb_login">
|
||||
<div class="btn--facebook ">
|
||||
Login with Facebook
|
||||
</div>
|
||||
</a>
|
||||
<?php } ?>
|
||||
|
||||
97
js/load_more_my_messages.js
Normal file
97
js/load_more_my_messages.js
Normal file
@ -0,0 +1,97 @@
|
||||
/**
|
||||
* Created by Abhishek Kumar Sinha on 9/27/2017.
|
||||
*/
|
||||
|
||||
$(document).ready(function(){
|
||||
var loading = false;
|
||||
|
||||
$total_records = getTotalMyMessages();
|
||||
|
||||
$records_per_page = 50;
|
||||
$number_of_pages = Math.ceil($total_records / $records_per_page);
|
||||
$current_page = 1;
|
||||
$start=($current_page*$records_per_page)-$records_per_page;
|
||||
|
||||
loadMoreMyMessagesInitial();
|
||||
|
||||
$current_page = 2;
|
||||
|
||||
$(window).scroll(function() {
|
||||
// console.log($(window).scrollTop() + window.innerHeight, $(document).height() - 35);
|
||||
if($(window).scrollTop() + window.innerHeight > $(document).height()-5) {
|
||||
$start = ($current_page*$records_per_page)-$records_per_page;
|
||||
if($current_page <= $number_of_pages && loading == false) {
|
||||
loadMoreMyMessages($start,$records_per_page);
|
||||
$current_page++;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
function getTotalMyMessages() {
|
||||
$total_records = 0;
|
||||
var job = 'total_my_messages';
|
||||
$.ajax({
|
||||
url: "ajax/MyMessagesTotal.php",
|
||||
data: {job: job},
|
||||
async: false,
|
||||
type:"post",
|
||||
success: function(data) {
|
||||
$total_records = data;
|
||||
},
|
||||
error: function(xhr) {
|
||||
$total_records = 0;
|
||||
}
|
||||
});
|
||||
return $total_records;
|
||||
}
|
||||
|
||||
function loadMoreMyMessagesInitial() {
|
||||
loadMoreMyMessages($start,$records_per_page);
|
||||
}
|
||||
|
||||
function loadMoreMyMessages($start,$records_per_page) {
|
||||
var loading = true;
|
||||
$.ajax({
|
||||
url: "ajax/loadMoreMyMessages.php",
|
||||
type:"post",
|
||||
data: {req: 'loadMoreMyMessages', records_per_page: $records_per_page, start: $start},
|
||||
beforeSend: function(){
|
||||
$('.ajax-loader-span').html("<img src='images/spinner.gif' class='ajax-loader'>");
|
||||
},
|
||||
complete: function() {
|
||||
$('.ajax-loader-span').remove();
|
||||
},
|
||||
success: function(data) {
|
||||
var IS_JSON = true;
|
||||
try {
|
||||
var d = jQuery.parseJSON(data);
|
||||
}
|
||||
catch(err) {
|
||||
IS_JSON = false;
|
||||
}
|
||||
if(IS_JSON) {
|
||||
var v = '0 message';
|
||||
if(isArray(d.msg) && d.msg.length != 0) {
|
||||
v = '';
|
||||
var si = 0;
|
||||
for (var k=0; k<= d.msg.length-1; k++) {
|
||||
si = k+1;
|
||||
v += '<tr>';
|
||||
v += '<td>'+d.msg[k].order_id+'</td>';
|
||||
v += '<td>'+d.msg[k].messages+'</td>';
|
||||
v += '<td>'+my_date_format(d.msg[k].datetime)+'</td>';
|
||||
v += '</tr>';
|
||||
}
|
||||
}
|
||||
$("#myMessagesTable").append(v);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
//console.log(xhr);
|
||||
}
|
||||
});
|
||||
loading = false;
|
||||
}
|
||||
74
js/load_more_my_orders.js
Normal file
74
js/load_more_my_orders.js
Normal file
@ -0,0 +1,74 @@
|
||||
/**
|
||||
* Created by Abhishek Kumar Sinha on 9/27/2017.
|
||||
*/
|
||||
|
||||
$(document).ready(function(){
|
||||
var loading = false;
|
||||
|
||||
$total_records = getTotalMyOrders();
|
||||
|
||||
$records_per_page = 50;
|
||||
$number_of_pages = Math.ceil($total_records / $records_per_page);
|
||||
$current_page = 1;
|
||||
$start=($current_page*$records_per_page)-$records_per_page;
|
||||
|
||||
loadMoreMyOrdersInitial();
|
||||
|
||||
$current_page = 2;
|
||||
|
||||
$(window).scroll(function() {
|
||||
if($(window).scrollTop() + window.innerHeight > $(document).height()-5) {
|
||||
$start = ($current_page*$records_per_page)-$records_per_page;
|
||||
if($current_page <= $number_of_pages && loading == false) {
|
||||
loadMoreMyOrders($start,$records_per_page);
|
||||
$current_page++;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function getTotalMyOrders() {
|
||||
$total_records = 0;
|
||||
var job = 'total_my_orders';
|
||||
$.ajax({
|
||||
url: "ajax/MyOrdersTotal.php",
|
||||
data: {job: job},
|
||||
async: false,
|
||||
type:"post",
|
||||
success: function(data) {
|
||||
$total_records = data;
|
||||
},
|
||||
error: function(xhr) {
|
||||
$total_records = 0;
|
||||
}
|
||||
});
|
||||
return $total_records;
|
||||
}
|
||||
|
||||
function loadMoreMyOrdersInitial() {
|
||||
loadMoreMyOrders($start,$records_per_page);
|
||||
}
|
||||
|
||||
function loadMoreMyOrders($start,$records_per_page) {
|
||||
var loading = true;
|
||||
$.ajax({
|
||||
url: "ajax/loadMoreMyOrders.php",
|
||||
type:"post",
|
||||
data: {req: 'loadMoreMyOrders', records_per_page: $records_per_page, start: $start},
|
||||
beforeSend: function(){
|
||||
$('.ajax-loader-span').html("<img src='images/spinner.gif' class='ajax-loader'>");
|
||||
},
|
||||
complete: function() {
|
||||
$('.ajax-loader-span').remove();
|
||||
},
|
||||
success: function(data) {
|
||||
if ($.trim(data) != '' || $.trim(data) != undefined) {
|
||||
$('#view_all_orders_tb').append(data);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
//console.log(xhr);
|
||||
}
|
||||
});
|
||||
loading = false;
|
||||
}
|
||||
94
js/load_more_recent_transactions.js
Normal file
94
js/load_more_recent_transactions.js
Normal file
@ -0,0 +1,94 @@
|
||||
$(document).ready(function(){
|
||||
var loading = false;
|
||||
|
||||
$total_records = getTotalRecentTransactions();
|
||||
|
||||
$records_per_page = 50;
|
||||
$number_of_pages = Math.ceil($total_records / $records_per_page);
|
||||
$current_page = 1;
|
||||
$start=($current_page*$records_per_page)-$records_per_page;
|
||||
|
||||
loadMoreRecentTransactionsInitial();
|
||||
|
||||
$current_page = 2;
|
||||
|
||||
$(window).scroll(function() {
|
||||
if($(window).scrollTop() + window.innerHeight > $(document).height()-5) {
|
||||
$start = ($current_page*$records_per_page)-$records_per_page;
|
||||
if($current_page <= $number_of_pages && loading == false) {
|
||||
|
||||
loadMoreRecentTransactions($start,$records_per_page);
|
||||
$current_page++;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function getTotalRecentTransactions() {
|
||||
$total_records = 0;
|
||||
var job = 'total_recent_transactions';
|
||||
$.ajax({
|
||||
url: "ajax/recentTransactionsTotal.php",
|
||||
data: {job: job},
|
||||
async: false,
|
||||
type:"post",
|
||||
success: function(data) {
|
||||
$total_records = data;
|
||||
},
|
||||
error: function(xhr) {
|
||||
$total_records = 0;
|
||||
}
|
||||
});
|
||||
return $total_records;
|
||||
}
|
||||
|
||||
function loadMoreRecentTransactionsInitial() {
|
||||
loadMoreRecentTransactions($start,$records_per_page);
|
||||
}
|
||||
|
||||
function loadMoreRecentTransactions($start,$records_per_page) {
|
||||
var loading = true;
|
||||
$.ajax({
|
||||
url: "ajax/loadMoreRecentTransactions.php",
|
||||
type:"post",
|
||||
data: {req: 'loadMoreRecentTransactions', records_per_page: $records_per_page, start: $start},
|
||||
beforeSend: function(){
|
||||
$('.ajax-loader-span').html("<img src='images/spinner.gif' class='ajax-loader'>");
|
||||
},
|
||||
complete: function() {
|
||||
$('.ajax-loader-span').remove();
|
||||
},
|
||||
success: function(data) {
|
||||
|
||||
var IS_JSON = true;
|
||||
try {
|
||||
var d = jQuery.parseJSON(data);
|
||||
}
|
||||
catch(err) {
|
||||
IS_JSON = false;
|
||||
}
|
||||
if(IS_JSON) {
|
||||
var v = '0 transactions';
|
||||
if(isArray(d.trade_list) && d.trade_list.length != 0) {
|
||||
v = '';
|
||||
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>';
|
||||
}
|
||||
}
|
||||
$("#myTransactionsTable").append(v);
|
||||
}
|
||||
},
|
||||
error: function(xhr) {
|
||||
//console.log(xhr);
|
||||
}
|
||||
});
|
||||
loading = false;
|
||||
}
|
||||
120
js/main.js
120
js/main.js
@ -11,7 +11,8 @@ $(document).ready(function() {
|
||||
MyTransactions();
|
||||
sel_bc_stats(sel1, sel2);
|
||||
user_wallet();
|
||||
current_prices("RMT");
|
||||
current_prices();
|
||||
load_messages();
|
||||
});
|
||||
|
||||
$(document).on('click', '#is_mkt', function() {
|
||||
@ -109,11 +110,37 @@ function place_order(sel1, sel2, pr, qty, bs_rad, is_mkt, btn) {
|
||||
|
||||
function myTimeoutFunction() {
|
||||
run_OrderMatchingAlgorithm();
|
||||
check_new_orders();
|
||||
setTimeout(myTimeoutFunction, 20000);
|
||||
}
|
||||
|
||||
myTimeoutFunction();
|
||||
|
||||
function run_all() {
|
||||
run_OrderMatchingAlgorithm();
|
||||
tradeList();
|
||||
tradersList();
|
||||
MyOrders();
|
||||
MyTransactions();
|
||||
load_messages();
|
||||
}
|
||||
|
||||
function check_new_orders() {
|
||||
$.ajax({
|
||||
method:'post',
|
||||
url:'ajax/check_new_orders.php',
|
||||
async: true,
|
||||
error: function(xhr, status, error) {
|
||||
console.log(xhr, status, error);
|
||||
},
|
||||
success: function(data) {
|
||||
if ($.trim(data) != '' && $.trim(data) != undefined && $.trim(data) != null) {
|
||||
run_all();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Update tables a/c to change in select
|
||||
$(document).on('change', ".selbc", function() {
|
||||
var bc1 = $('#sel-bc-1').val();
|
||||
@ -243,7 +270,6 @@ function tradeList(bc1, bc2) {
|
||||
}
|
||||
|
||||
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++) {
|
||||
@ -251,9 +277,9 @@ function tradeList(bc1, bc2) {
|
||||
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].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>'+(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>';
|
||||
}
|
||||
@ -361,8 +387,10 @@ function MyTransactions() {
|
||||
}
|
||||
|
||||
function sel_bc_stats(bc1, bc2) {
|
||||
$('#bc-one').text(bc1);
|
||||
$('#bc-two').text(bc2);
|
||||
var bc_one = $('#bc-one');
|
||||
var bc_two = $('#bc-two');
|
||||
bc_one.text(bc1);
|
||||
bc_two.text(bc2);
|
||||
$.ajax({
|
||||
method:'post',
|
||||
url:'ajax/sel_bc_stats.php',
|
||||
@ -381,9 +409,9 @@ function sel_bc_stats(bc1, bc2) {
|
||||
}
|
||||
|
||||
if(IS_JSON) {
|
||||
if(d.data.length != 0) {
|
||||
$('#bc-one').text(d.data.a_bc);
|
||||
$('#bc-two').text(d.data.b_bc);
|
||||
if((d.data.length != 0) && (bc_one.val()!='') && (bc_two.val()!='')) {
|
||||
bc_one.text(d.data.a_bc);
|
||||
bc_two.text(d.data.b_bc);
|
||||
$('#bc-two-pr').text(d.data.b_amount);
|
||||
}
|
||||
}
|
||||
@ -473,4 +501,76 @@ function current_prices(bc2) {
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/*Messages*/
|
||||
function load_messages() {
|
||||
$.ajax({
|
||||
method:'post',
|
||||
url:'ajax/myMessages.php',
|
||||
data: { task : 'loadMyMessagesList'},
|
||||
error: function(xhr, status, error) {
|
||||
console.log(error);
|
||||
},
|
||||
success: function(data) {
|
||||
if ($.trim(data) != '' && $.trim(data) != undefined && $.trim(data) != null) {
|
||||
var IS_JSON = true;
|
||||
try {
|
||||
var d = jQuery.parseJSON(data);
|
||||
}
|
||||
catch(err) {
|
||||
IS_JSON = false;
|
||||
}
|
||||
|
||||
if (IS_JSON) {
|
||||
var v = '0 message';
|
||||
if(isArray(d.msg) && d.msg.length != 0) {
|
||||
v = '';
|
||||
var si = 0;
|
||||
for (var k=0; k<= d.msg.length-1; k++) {
|
||||
si = k+1;
|
||||
v += '<tr>';
|
||||
v += '<td>'+si+'</td>';
|
||||
v += '<td>'+d.msg[k].order_id+'</td>';
|
||||
v += '<td>'+d.msg[k].messages+'</td>';
|
||||
v += '<td>'+my_date_format(d.msg[k].datetime)+'</td>';
|
||||
v += '</tr>';
|
||||
}
|
||||
}
|
||||
$('#user_msg').html(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*Delete Orders*/
|
||||
$(document).on('click', '.del_order', function (e) {
|
||||
e.preventDefault();
|
||||
var id = $(this).attr("id");
|
||||
|
||||
$.ajax({
|
||||
method:'post',
|
||||
url:'ajax/delOrder.php',
|
||||
data: { task : 'delOrder', id:id},
|
||||
error: function(xhr, status, error) {
|
||||
console.log(error);
|
||||
},
|
||||
success: function(data) {
|
||||
if ($.trim(data) != '' && $.trim(data) != undefined && $.trim(data) != null) {
|
||||
$.notify({
|
||||
title: "<strong>Order Deleted!:</strong> ",
|
||||
message: "You deleted the order successfully."
|
||||
},{
|
||||
type: 'success'
|
||||
});
|
||||
} else {
|
||||
displayNotice("The order could not be deleted. Try again later.", "failure");
|
||||
}
|
||||
run_OrderMatchingAlgorithm();
|
||||
load_messages();
|
||||
MyOrders();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
26
pageNotFound.php
Normal file
26
pageNotFound.php
Normal file
@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head lang="en">
|
||||
<meta charset="UTF-8">
|
||||
<title>ERROR</title>
|
||||
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="big_wrapper" class="container-fluid">
|
||||
<div style="margin-top: 50px;"></div>
|
||||
<div class="panel panel-default center-block">
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true" style="font-size: 70px;"></span>
|
||||
<span class="sr-only">Error:</span>
|
||||
<span style="font-size: 70px;">Woops! Page Not Found.</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<h4>Sorry! the page you were looking for does not exists. Press back to return or click <a href="http://ranchimall.net">here</a>.</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer style="text-align: center; position: fixed; bottom: 0; width: 100%;">© Ranchi Mall <?=date('Y');?></footer>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
382
rm_root.php
Normal file
382
rm_root.php
Normal file
@ -0,0 +1,382 @@
|
||||
<?php
|
||||
ob_start(); date_default_timezone_set('Asia/Kolkata');
|
||||
$user_id = 0;
|
||||
require_once 'includes/header.php';
|
||||
require_once 'includes/imp_files.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
redirect_to("index.php");
|
||||
}
|
||||
|
||||
if (isset($_SESSION['fb_id'], $_SESSION['user_id'], $_SESSION['user_name'])) {
|
||||
$root_fb = (int) $_SESSION['fb_id'];
|
||||
$root_user_id = (int) $_SESSION['user_id'];
|
||||
$root_user_name = (string) $_SESSION['user_name'];
|
||||
|
||||
/*This should match ajax/rm_root.php too*/
|
||||
if ($root_fb != ADMIN_ID && $root_user_id != ADMIN_ID && $root_user_name != ADMIN_UNAME) {
|
||||
redirect_to("index.php");
|
||||
}
|
||||
|
||||
$traders = $OrderClass->UserBalanceList('', 1);
|
||||
|
||||
?>
|
||||
|
||||
<div class="container mt--2">
|
||||
<h2>Actions table</h2>
|
||||
<div class="mt--2 mb--2 p--1">
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="cus_id">User Id</label>
|
||||
<input type="number" class="form-control" name="cus_id" id="cus_id" placeholder="User Id">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="bal">Input Balance</label>
|
||||
<input type="text" class="form-control" name="bal" id="bc-bal-updt" placeholder="Input Balance">
|
||||
</div>
|
||||
<input type="submit" class="btn-sm mt--1" id="bc_tr_btn" value="Update balance">
|
||||
</div>
|
||||
|
||||
<input type="text" id="search_traders" onkeyup="search_traders()" placeholder="Search for names..">
|
||||
|
||||
<div class="table-responsive" id="traders_table">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>User</th>
|
||||
<th>RMT</th>
|
||||
<th>Cash</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$action_class = null;
|
||||
$btn_name = null;
|
||||
$i=1;
|
||||
if (is_array($traders) && !empty($traders)) {
|
||||
foreach ($traders as $index=>$trader) {
|
||||
if ($trader->is_active) {
|
||||
$action_class = 'off';
|
||||
$btn_name = "Deactivate Account";
|
||||
} else {
|
||||
$action_class = 'on';
|
||||
$btn_name = "Activate Account";
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td><?=$trader->UID?></td>
|
||||
<td><a href="http://facebook.com/<?=$trader->FACEBOOK_ID?>" target="_blank"><?=$trader->name?></a></td>
|
||||
<td><?=$trader->bc?></td>
|
||||
<td><?=$trader->balance?></td>
|
||||
<?php if($i!=$trader->UID) {continue;} ?>
|
||||
<td><input type="button" class="btn-ra" id="<?=$action_class.'_'.$trader->UID?>" value="<?=$btn_name?>"></td>
|
||||
</tr>
|
||||
<?php $i++;
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--Transfer tokens-->
|
||||
<div class="container mt--2">
|
||||
<h2>Transfer tokens</h2>
|
||||
<div class="mt--2 mb--2 p--1">
|
||||
<div class="form-inline">
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="cust_id-fr">From (User Id)</label>
|
||||
<input type="number" class="form-control" name="cust_id-fr" id="cust_id-fr" placeholder="From (User Id)">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="cust_id_to">To (User Id)</label>
|
||||
<input type="number" class="form-control" name="cust_id_to" id="cust_id_to" placeholder="To (User Id)">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="sr-only" for="toke_amt">Amount of BC units to transfer </label>
|
||||
<input type="text" class="form-control" name="toke_amt" id="toke_amt" placeholder="Amount of BC units to transfer">
|
||||
</div>
|
||||
<input type="submit" class="btn-sm mt--1" id="btn-tr" value="Transfer tokens">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--History-->
|
||||
|
||||
<div class="container mt--2">
|
||||
<div class="table-responsive">
|
||||
<div class="table-responsive">
|
||||
<?php $list_bal_changes = $OrderClass->list_root_bal_changes(); ?>
|
||||
<h2>Update History</h2>
|
||||
<input type="text" id="audit_input" onkeyup="search_audit_table()" placeholder="Search for names or id..">
|
||||
<table class="table" id="audit_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>S.No</th>
|
||||
<th>Investor's Id</th>
|
||||
<th>Name</th>
|
||||
<th>Email</th>
|
||||
<th>Previous Balance</th>
|
||||
<th>Updated Balance</th>
|
||||
<th>Type</th>
|
||||
<th>Date</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($list_bal_changes as $ch): ?>
|
||||
<tr>
|
||||
<td><?=$ch->BalStatusHistoryId?></td>
|
||||
<td><?=$ch->user_id?></td>
|
||||
<td><?=$ch->name?></td>
|
||||
<td><?=$ch->email?></td>
|
||||
<td><?=$ch->bal_prev?></td>
|
||||
<td><?=$ch->bal_now?></td>
|
||||
<td><?=$ch->type?></td>
|
||||
<td><?=$ch->UpdateDate?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<!--footer-->
|
||||
<?php include_once 'includes/footer.php'; ?>
|
||||
|
||||
<script>
|
||||
$(document).on('click', '.btn-ra', function (e) {
|
||||
e.preventDefault();
|
||||
var btn = $(this);
|
||||
var btn_id = $(this).attr('id');
|
||||
var btn_val = parseInt(btn_id.replace ( /[^\d.]/g, '' ));
|
||||
$.ajax({
|
||||
method:'post',
|
||||
url:'ajax/rm_root.php',
|
||||
data: { task : 'act_user', btn_id:btn_id},
|
||||
error: function(xhr, status, error) {
|
||||
console.log(error);
|
||||
}, success: function(data) {
|
||||
data = $.trim(data);
|
||||
if ($.trim(data) != '' && $.trim(data) != undefined && $.trim(data) != null) {
|
||||
if (data == 'on') {
|
||||
btn.attr("id", 'off_'+btn_val);
|
||||
btn.prop("value", "Deactivate Account");
|
||||
$.notify({
|
||||
title: "<strong>Success!:</strong> ",
|
||||
message: "User activated successfully."
|
||||
},{
|
||||
type: 'info'
|
||||
});
|
||||
} else if (data == 'off') {
|
||||
btn.attr("id", 'on_'+btn_val);
|
||||
btn.prop("value", "Activate Account");
|
||||
$.notify({
|
||||
title: "<strong>Success!:</strong> ",
|
||||
message: "User de-activated successfully."
|
||||
},{
|
||||
type: 'info'
|
||||
});
|
||||
} else {
|
||||
$.notify({
|
||||
title: "<strong>Process Failed!:</strong> ",
|
||||
message: "Process could not be completed."
|
||||
},{
|
||||
type: 'warning'
|
||||
});
|
||||
}
|
||||
|
||||
} else {
|
||||
displayNotice("Process could not be completed. Try again later.", "failure");
|
||||
}
|
||||
run_all();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('click', '#bc_tr_btn', function() {
|
||||
var bc_bal_updt = $('#bc-bal-updt').val();
|
||||
var cus_id = $('#cus_id').val();
|
||||
var sel_bc2 = $('#sel-bc-2').val();
|
||||
var job = 'update-user-bc-balance';
|
||||
var btn = this;
|
||||
|
||||
if (sel_bc2=="") {
|
||||
$.notify({
|
||||
title: "<strong>Alert!: </strong> ",
|
||||
message: "Please choose a contract from second dropdown at top."
|
||||
},{
|
||||
type: 'warning'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
$(btn).val('Please wait....').prop( "disabled", true );
|
||||
|
||||
$.ajax({
|
||||
method: 'post',
|
||||
url: 'ajax/update_bc_bal.php',
|
||||
data: {job:job, cus_id:cus_id, bc_bal_updt:bc_bal_updt, _bc2:sel_bc2},
|
||||
error: function(xhr, status, error) {
|
||||
console.log(xhr, status, error);
|
||||
},
|
||||
success: function(data) {
|
||||
$(btn).val('Transfer '+sel_bc2).prop( "disabled", false );
|
||||
if ($.trim(data) != '' && $.trim(data) != undefined && $.trim(data) != null) {
|
||||
var IS_JSON = true;
|
||||
try {
|
||||
var d = jQuery.parseJSON(data);
|
||||
}
|
||||
catch(err) {
|
||||
IS_JSON = false;
|
||||
}
|
||||
|
||||
if(IS_JSON) {
|
||||
if (isArray(d.mesg) && d.mesg.length != 0) {
|
||||
for (var k = 0; k <= d.mesg.length - 1; k++) {
|
||||
var tp = (d.error == true) ? 'danger':'success';
|
||||
$.notify({
|
||||
title: "<strong>Alert!:</strong> ",
|
||||
message: d.mesg[k]
|
||||
},{
|
||||
type: tp
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function search_traders() {
|
||||
// Declare variables
|
||||
var input, filter, table, tr, td, i;
|
||||
input = document.getElementById("search_traders");
|
||||
filter = input.value.toUpperCase();
|
||||
table = document.getElementById("traders_table");
|
||||
tr = table.getElementsByTagName("tr");
|
||||
|
||||
// Loop through all table rows, and hide those who don't match the search query
|
||||
for (i = 0; i < tr.length; i++) {
|
||||
td = tr[i].getElementsByTagName("td")[1];
|
||||
|
||||
if (td) {
|
||||
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
|
||||
tr[i].style.display = "";
|
||||
} else {
|
||||
tr[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Audit table
|
||||
function search_audit_table() {
|
||||
var input, filter, table, tr, td, i;
|
||||
input = document.getElementById("audit_input");
|
||||
filter = input.value.toUpperCase();
|
||||
table = document.getElementById("audit_table");
|
||||
tr = table.getElementsByTagName("tr");
|
||||
|
||||
// Loop through all table rows, and hide those who don't match the search query
|
||||
if(!isNaN(filter)) {
|
||||
for (i = 0; i < tr.length; i++) {
|
||||
tdi = tr[i].getElementsByTagName("td")[1];
|
||||
|
||||
if (tdi) {
|
||||
//filter = input.value;
|
||||
if (tdi.innerHTML.indexOf(filter) > -1) {
|
||||
tr[i].style.display = "";
|
||||
} else {
|
||||
tr[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < tr.length; i++) {
|
||||
td = tr[i].getElementsByTagName("td")[2];
|
||||
if (td) {
|
||||
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
|
||||
tr[i].style.display = "";
|
||||
} else {
|
||||
tr[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token transfer
|
||||
$(document).on('click', '#btn-tr', function (e) {
|
||||
var _from = $('#cust_id-fr').val();
|
||||
var _to = $('#cust_id_to').val();
|
||||
var _tokens = $('#toke_amt').val();
|
||||
var _bc2 = $('#sel-bc-2').val();
|
||||
var job = 'transfer_tokens';
|
||||
var btn = this;
|
||||
|
||||
if (_bc2=="") {
|
||||
$.notify({
|
||||
title: "<strong>Alert!: </strong> ",
|
||||
message: "Please choose a contract from second dropdown at top."
|
||||
},{
|
||||
type: 'warning'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
$(btn).val('Please wait....').prop( "disabled", true );
|
||||
|
||||
$.ajax({
|
||||
method: 'post',
|
||||
url: 'ajax/transfer_tokens.php',
|
||||
data: {job:job, _from:_from, _to:_to, _bc2:_bc2, _tokens:_tokens},
|
||||
error: function(xhr, status, error) {
|
||||
console.log(xhr, status, error);
|
||||
},
|
||||
success: function(data) {
|
||||
console.log(data);
|
||||
$(btn).val('Transfer '+_bc2).prop( "disabled", false );
|
||||
if ($.trim(data) != '' && $.trim(data) != undefined && $.trim(data) != null) {
|
||||
var IS_JSON = true;
|
||||
try {
|
||||
var d = jQuery.parseJSON(data);
|
||||
}
|
||||
catch(err) {
|
||||
IS_JSON = false;
|
||||
}
|
||||
|
||||
if(IS_JSON) {
|
||||
if (isArray(d.mesg) && d.mesg.length != 0) {
|
||||
var tp = 'info';
|
||||
if(d.error == true) {
|
||||
tp = 'danger'
|
||||
} else if(d.error == false) {
|
||||
tp = 'success';
|
||||
}
|
||||
for (var k = 0; k <= d.mesg.length - 1; k++) {
|
||||
|
||||
$.notify({
|
||||
title: "<strong>Alert!:</strong> ",
|
||||
message: d.mesg[k]
|
||||
},{
|
||||
type: tp
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
@ -1,6 +1,22 @@
|
||||
html,
|
||||
body {
|
||||
overflow-x: hidden; /* Prevent scroll on narrow devices */
|
||||
color: #ffffff;
|
||||
background-color: #343a40;
|
||||
font-family: 'Montserrat', sans-serif;
|
||||
}
|
||||
a {
|
||||
color: #f7f7f7;
|
||||
}
|
||||
input[type=text] {
|
||||
//background: #FAFAFA;
|
||||
border: 1px solid #F4F4F4;
|
||||
border-radius: 3px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
@ -97,7 +113,7 @@ h5 > span {
|
||||
body {
|
||||
//display: block;
|
||||
padding-top: 56px;
|
||||
font-size: 24px;
|
||||
//font-size: 24px;
|
||||
width: 100%;
|
||||
}
|
||||
.lays {
|
||||
@ -113,13 +129,14 @@ h5 > span {
|
||||
@media (min-width: 576px) {
|
||||
body {
|
||||
padding-top: 56px;
|
||||
font-size: 18px; !important;
|
||||
//font-size: 18px; !important;
|
||||
}
|
||||
.lays {
|
||||
background-color: #c8cbcf;
|
||||
margin: 0 0 5px 0;
|
||||
line-height: 19px;
|
||||
padding: 5px;
|
||||
font-size: small;
|
||||
}
|
||||
}
|
||||
|
||||
@ -127,10 +144,11 @@ h5 > span {
|
||||
@media (min-width: 768px) {
|
||||
body {
|
||||
padding-top: 56px;
|
||||
font-size: 16px;
|
||||
//font-size: 16px;
|
||||
}
|
||||
.lays {
|
||||
background-color: #c8cbcf;
|
||||
/*#c8cbcf, rgba(255, 193, 7, 0.32), #ffc293*/
|
||||
background-color: rgba(0, 0, 0, 0.24);
|
||||
margin: 0 0 5px 0;
|
||||
line-height: 19px;
|
||||
padding: 5px;
|
||||
@ -145,4 +163,30 @@ h5 > span {
|
||||
/*Extra large devices (large desktops, 1200px and up)*/
|
||||
@media (min-width: 1200px) {
|
||||
|
||||
}
|
||||
|
||||
/*Bootstrap*/
|
||||
.bg-dark {
|
||||
/*background-color: #007bff!important;*/
|
||||
background-color: #343a40!important;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
background-color: #162029;
|
||||
color: #ffffff;
|
||||
font-weight: 600;
|
||||
//font-size: large;
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
color: #ffffff;
|
||||
}
|
||||
.btn-link:hover {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
}
|
||||
.btn-primary {
|
||||
color: #fff;
|
||||
background-color: #162029; !important;
|
||||
border-color: #282c31; !important;
|
||||
}
|
||||
24
view_all_messages.php
Normal file
24
view_all_messages.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/5/2017
|
||||
* Time: 11:46 AM
|
||||
*/
|
||||
ob_start();
|
||||
require_once 'includes/imp_files.php';
|
||||
require_once 'includes/header.php';
|
||||
|
||||
if (!checkLoginStatus()) {
|
||||
redirect_to('index.php?msg=Please login!');
|
||||
}
|
||||
|
||||
//include_once VIEWS_DIR.'/buy_sell_div.php';
|
||||
//include_once VIEWS_DIR.'/buy_sell_list.php';
|
||||
include_once VIEWS_DIR.'/view_all_messages.php';
|
||||
|
||||
include_once 'includes/footer.php';
|
||||
|
||||
?>
|
||||
|
||||
<script src="js/load_more_my_messages.js"></script>
|
||||
18
view_all_my_orders_list.php
Normal file
18
view_all_my_orders_list.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/5/2017
|
||||
* Time: 4:57 PM
|
||||
*/
|
||||
ob_start();
|
||||
require_once 'includes/imp_files.php';
|
||||
require_once 'includes/header.php';
|
||||
if (!checkLoginStatus()) {
|
||||
redirect_to('index.php?msg=Please login!');
|
||||
}
|
||||
include_once VIEWS_DIR.'/view_all_my_orders_list.php';
|
||||
|
||||
include_once 'includes/footer.php';
|
||||
?>
|
||||
<script src="js/load_more_my_orders.js"></script>
|
||||
16
view_all_recent_transactions.php
Normal file
16
view_all_recent_transactions.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/5/2017
|
||||
* Time: 11:46 AM
|
||||
*/
|
||||
ob_start();
|
||||
require_once 'includes/imp_files.php';
|
||||
require_once 'includes/header.php';
|
||||
include_once VIEWS_DIR.'/view_all_recent_transactions.php';
|
||||
|
||||
include_once 'includes/footer.php';
|
||||
|
||||
?>
|
||||
<script src="<?=JS_DIR?>/load_more_recent_transactions.js"></script>
|
||||
@ -111,13 +111,14 @@
|
||||
<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
|
||||
My Messages
|
||||
</button>
|
||||
<span><a href="My_Messages" target="_blank">View All</a></span>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
|
||||
<div class="card-body">
|
||||
|
||||
<?php include_once 'user_messages.php';?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<table class="table table-striped" cellpadding="10" cellspacing="0" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Price ($)</th>
|
||||
<th>Price</th>
|
||||
<th>Quantity</th>
|
||||
<th>Cancel Order</th>
|
||||
<th>Item Sold</th>
|
||||
|
||||
16
views/user_messages.php
Normal file
16
views/user_messages.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
if($user_logged_in) {?>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped" cellpadding="10">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>S.No</th>
|
||||
<th>Order No.</th>
|
||||
<th>Message</th>
|
||||
<th>Date</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="user_msg"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php } ?>
|
||||
27
views/view_all_messages.php
Normal file
27
views/view_all_messages.php
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/5/2017
|
||||
* Time: 11:19 AM
|
||||
*/
|
||||
?>
|
||||
|
||||
<div class="container">
|
||||
<div class="col-lg-12">
|
||||
<h2 class="mt--2">My Messages</h2>
|
||||
<div class="table-responsive mt--2">
|
||||
<table class="table table-striped table-bordered" id="messages-datatable" cellspacing="0" width="100%" cellpadding="10">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Order No.</th>
|
||||
<th>Message</th>
|
||||
<th>Date</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="myMessagesTable"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
29
views/view_all_my_orders_list.php
Normal file
29
views/view_all_my_orders_list.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/5/2017
|
||||
* Time: 11:19 AM
|
||||
*/
|
||||
?>
|
||||
<div class="container">
|
||||
<div class="col-lg-12">
|
||||
<h2 class="mt--2">My Orders</h2>
|
||||
<div class="table-responsive mt--2">
|
||||
<table class="table table-striped table-bordered" id="messages-datatable" cellspacing="0" width="100%" cellpadding="10">
|
||||
<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="view_all_orders_tb"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
28
views/view_all_recent_transactions.php
Normal file
28
views/view_all_recent_transactions.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Abhishek Kumar Sinha
|
||||
* Date: 10/5/2017
|
||||
* Time: 11:19 AM
|
||||
*/
|
||||
?>
|
||||
<div class="container">
|
||||
<div class="col-lg-12">
|
||||
<h2 class="mt--2">Recent Transactions</h2>
|
||||
<div class="table-responsive mt--2">
|
||||
<table class="table table-striped table-bordered" id="messages-datatable" cellspacing="0" width="100%" 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="myTransactionsTable"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in New Issue
Block a user