HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 15.11.2016, 13:10
LeninDie
Guest
Сообщений: n/a
Провел на форуме:
12479

Репутация: 2
По умолчанию

в данном скрипте есть скуля в post параметре market_id. помогите пожалуйста от нее избавиться.

скуля: {"error":{"type":"Illuminate\\Database\\QueryExcep tion","message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '_!@4dilemma:1' for key 'group_key' (SQL: select * ,sum(`from_value`) as total_from_value, sum(`to_value`) as total_to_value from `orders` where `market_id` = '-1' and 6=3 or 1=1+(SELECT 1 and ROW(1,1)>(SELECT COUNT(*),CONCAT(CHAR(95),CHAR(33),CHAR(64),CHAR(52 ),CHAR(100),CHAR(105),CHAR(108),CHAR(101),CHAR(109 ),CHAR(109),CHAR(97),0x3a,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.COLLATIONS GROUP BY x)a)+'' and `type` = 'sell' and `status` in ('active','partly filled') group by `price` order by `price` asc limit 100)","file":"/var/www/site.ru/vendor/laravel/framework/src/Illuminate/Database/Connection.php","line":625}}

.SpoilerTarget" type="button">Spoiler: code

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.login_to_buy'[/COLOR][COLOR="#007700"])));
exit;
}

[/
COLOR][COLOR="#0000BB"]$logFile[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'trades.log'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]useDailyFiles[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]storage_path[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]'/logs/trades/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$logFile[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'------------------------- Do Buy -----------------------------'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Confide[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]user[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]]);
[/
COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_buy_temp[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]]);
[/
COLOR][COLOR="#0000BB"]$total_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$price_buy*$amount_buy);
[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]];[/COLOR][COLOR="#FF8000"]//Session::get('market_id');

//get info market
[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Market[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]find[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
if(!isset([/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]active[/COLOR][COLOR="#007700"]) ||[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]active[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.market_not_active'[/COLOR][COLOR="#007700"])));
exit;
}
[/
COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_from[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_to[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Wallet[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getType[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getType[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#FF8000"]//cleck limit trade
[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]WalletLimitTrade[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'wallet_id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"])->[/COLOR][COLOR="#0000BB"]first[/COLOR][COLOR="#007700"]();
if([/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]toArray[/COLOR][COLOR="#007700"]();
else[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"]=array([/COLOR][COLOR="#DD0000"]'min_amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]0.000001[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'max_amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]10000000[/COLOR][COLOR="#007700"]);

if([/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]])[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'max_amount'[/COLOR][COLOR="#007700"]]){
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.message_limit_trade'[/COLOR][COLOR="#007700"])));
exit;
}

[/
COLOR][COLOR="#FF8000"]//set default return value
[/COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.error_contact_admin'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Balance[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"]= array();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]//sub $total_buy money
[/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]takeMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$total_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"])){[/COLOR][COLOR="#FF8000"]//true not buy unless (reduction of)
[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'active'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$total_buy[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]market_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]user_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]type[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#FF8000"]//get list order sell matching
[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$sell_orders_matching[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getSellOrdersMatching[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$sell_orders_matching[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$sell_orders_matching[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]toArray[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'sell_orders_matching: market_id: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' -- Price: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$sell_orders_matching[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]count[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$sell_orders_matching[/COLOR][COLOR="#007700"])>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#FF8000"]//fee_buy, fee_sell
[/COLOR][COLOR="#0000BB"]$fee_trade[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]FeeTrade[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$fee[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$fee_trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getFeeTrade[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$per_fee_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$fee[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$per_fee_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$fee[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

foreach([/COLOR][COLOR="#0000BB"]$sell_orders_matching[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$sell_orders[/COLOR][COLOR="#007700"]) {
[/
COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$amount_bought[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$trade_history[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Trade[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'---*****-----BUY : amount_buy: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' -- Price: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$sell_orders[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//$sell_orders_matching[0];
[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'from_value'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'to_value'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'user_id'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"."[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"-"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]","[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"-"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]);

if([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_buy[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_sell[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]//add coin for seller/buyer
[/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]takeMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"])){[/COLOR][COLOR="#FF8000"]//tru phi nguoi mua
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//cong tien nguoi mua
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//cong tien cho nguoi ban voi so tien da tru phi

[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]])->[/COLOR][COLOR="#0000BB"]update[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.filled'[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'
Bought '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' at a price of '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Fee buy: '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Total amount paid: '
[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]//add history
[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$trade_history[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addTradeHistory[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]));

[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"delete"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'history_trade'[/COLOR][COLOR="#007700"]] =array([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"created_at"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d H:i:s"[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]"order_id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]);
}else{
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.balance_not_enought_for_fee'[/COLOR][COLOR="#007700"]);
}

}elseif([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_buy[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_sell[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]takeMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"])){[/COLOR][COLOR="#FF8000"]//tru phi nguoi mua
//add coin for seller/buyer
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$amount_rest * $price_buy);

[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]])->[/COLOR][COLOR="#0000BB"]update[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.partly_filled'[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'
Bought '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' at a price of '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Fee buy: '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Total amount paid: '
[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'partly filled'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$trade_history[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addTradeHistory[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#FF8000"]//call socket
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]"action"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"delete"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'history_trade'[/COLOR][COLOR="#007700"]] =array([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"created_at"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d H:i:s"[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]"order_id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]);

}else{
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.balance_not_enought_for_fee'[/COLOR][COLOR="#007700"]);
}
}else{
[/
COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$amount_buy*$price_sell);
[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_buy[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_buy[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_sell[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]takeMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"])){[/COLOR][COLOR="#FF8000"]//tru phi nguoi mua
[/COLOR][COLOR="#007700"]if(isset([/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]]))
[/
COLOR][COLOR="#0000BB"]$amount_bought[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]]+[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"];
else[/COLOR][COLOR="#0000BB"]$amount_bought[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]//add coin for seller/buyer
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$amount_rest * $price_sell);

[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]])->[/COLOR][COLOR="#0000BB"]update[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'partly filled'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'from_value'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'to_value'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.filled'[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'
Bought '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' at a price of '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Fee buy: '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Total amount paid: '
[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$message1[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$trade_history[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addTradeHistory[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]));

[/
COLOR][COLOR="#FF8000"]//call socket
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]"action"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"update"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_bought[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>([/COLOR][COLOR="#0000BB"]$amount_bought[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]"type"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"buy"[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//tra ve so luong da ban de tru ra trne danh sach hien thi , ko phai so luong con lai
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'history_trade'[/COLOR][COLOR="#007700"]] =array([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"created_at"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d H:i:s"[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]"order_id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$sell_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]);
}else{
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.balance_not_enought_for_fee'[/COLOR][COLOR="#007700"]);
}
}
[/
COLOR][COLOR="#FF8000"]//refund money
[/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$total_refunds[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]) - ([/COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',($amount_real*$price_buy) - ($amount_real*$price_sell));
[/COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'-------Refund: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$total_refunds[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"
"
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'- Refund: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$total_refunds[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$total_refunds[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
}
[/
COLOR][COLOR="#FF8000"]//update amount
[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]);
}

}
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'-------amount_buy final: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) {
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_b'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"insert"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"type"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"buy"[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_b'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_b'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'created_at'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]created_at[/COLOR][COLOR="#007700"];
}

[/
COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Trade[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'data_price'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBlockPrice[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Balance[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinmain'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinsecond'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));

[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'change_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'total_volume'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getVolume[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'change_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'cur_price'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"];
}else{
[/
COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.order_created'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_b'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"insert"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'created_at'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]created_at[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#FF8000"]//BrainSocket::message('doTrade', array('message'=>$message_socket));
[/COLOR][COLOR="#007700"]}

[/
COLOR][COLOR="#FF8000"]// added by tech //
[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Trade[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'data_price'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBlockPrice[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Balance[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinmain'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinsecond'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'trade_user'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#FF8000"]// ended by tech //

[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]triggerPusherTicket[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
}else{
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"messages.not_enough_purchase"[/COLOR][COLOR="#007700"], array([/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]strtoupper[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"])));
}
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"message_socket"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"]));
exit;
}

public function[/COLOR][COLOR="#0000BB"]doSell[/COLOR][COLOR="#007700"](){
if ([/COLOR][COLOR="#0000BB"]Auth[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]guest[/COLOR][COLOR="#007700"]() ){
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.login_to_buy'[/COLOR][COLOR="#007700"])));
exit;
}

[/
COLOR][COLOR="#0000BB"]$logFile[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'trades.log'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]useDailyFiles[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]storage_path[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]'/logs/trades/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$logFile[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'------------------------- Do Sell -----------------------------'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Confide[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]user[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]]);
[/
COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]]);
[/
COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$price_sell*$amount_sell);
[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]];[/COLOR][COLOR="#FF8000"]//Session::get('market_id');
// echo 'lol1';
//get info market
[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Market[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]find[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
if(!isset([/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]active[/COLOR][COLOR="#007700"]) ||[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]active[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.market_not_active'[/COLOR][COLOR="#007700"])));
exit;
}
[/
COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_from[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_to[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]// echo 'lol2';
[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Wallet[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getType[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getType[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#FF8000"]//cleck limit trade
[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]WalletLimitTrade[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'wallet_id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"])->[/COLOR][COLOR="#0000BB"]first[/COLOR][COLOR="#007700"]();
if([/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]toArray[/COLOR][COLOR="#007700"]();
else[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"]=array([/COLOR][COLOR="#DD0000"]'min_amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]0.0001[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'max_amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]1000[/COLOR][COLOR="#007700"]);

if([/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]])[/COLOR][COLOR="#0000BB"]$limit_trade[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'max_amount'[/COLOR][COLOR="#007700"]]){
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.message_limit_trade'[/COLOR][COLOR="#007700"])));
exit;
}
[/
COLOR][COLOR="#FF8000"]// echo 'lol3';
//set default return value
[/COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.error_contact_admin'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Balance[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"]= array();
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#FF8000"]//sub $total_buy money
[/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]takeMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"])){
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'active'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]market_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]user_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]type[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]// echo 'lol4';
[/COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]//get list order sell matching
[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$buy_orders_matching[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBuyOrdersMatching[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$buy_orders_matching[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$buy_orders_matching[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]toArray[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'buy_orders_matching: market_id: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' -- Price: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$buy_orders_matching[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]count[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$buy_orders_matching[/COLOR][COLOR="#007700"])>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#FF8000"]// echo 'lol5';
//fee_buy, fee_sell
[/COLOR][COLOR="#0000BB"]$fee_trade[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]FeeTrade[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$fee[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$fee_trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getFeeTrade[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$per_fee_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$fee[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$per_fee_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$fee[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
foreach ([/COLOR][COLOR="#0000BB"]$buy_orders_matching[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$buy_order[/COLOR][COLOR="#007700"]) {
[/
COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$amount_sold[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$trade_history[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Trade[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'---*****-----SELL : amount_sell: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' -- Price: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$buy_order[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//$buy_orders_matching[0];
[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'from_value'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$total_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'to_value'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'user_id'[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#FF8000"]// echo 'lol6';
[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"."[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"-"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]","[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"-"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$amount_sell*$price_buy);//really total sell;
[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_buy[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_buy[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_sell[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]takeMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"])){[/COLOR][COLOR="#FF8000"]//tru phi nguoi mua
//add coin for seller/buyer
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]])->[/COLOR][COLOR="#0000BB"]update[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]//$message .= "\n".Lang::get('messages.filled').' : Fee buy: '.sprintf('%.8f',$fee_buy).' - Fee Sell: '.sprintf('%.8f',$fee_sell).' - Total buy: '.(sprintf('%.8f',$amount_buy)) . ' - Total sell: '.sprintf('%.8f',($total_sell-$fee_sell));
[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.filled'[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'
Sold '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' at a price of '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Fee sell: '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Received: '
[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'amount_buy = amount_sell Update sell orders: '[/COLOR][COLOR="#007700"], array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]//add history
[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$trade_history[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addTradeHistory[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#FF8000"]// echo 'lol7';
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_b'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"delete"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'history_trade'[/COLOR][COLOR="#007700"]] =array([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"created_at"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d H:i:s"[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]"order_id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]);
}else{
[/
COLOR][COLOR="#FF8000"]// echo 'lol7e';
[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.order_created'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"insert"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'created_at'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]created_at[/COLOR][COLOR="#007700"]);
}

}elseif([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]){
[/
COLOR][COLOR="#FF8000"]// echo 'lol8';
[/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//really total sell;
[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_buy[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_sell[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]takeMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"])){[/COLOR][COLOR="#FF8000"]//tru phi nguoi mua
[/COLOR][COLOR="#007700"]if(isset([/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]]))
[/
COLOR][COLOR="#0000BB"]$amount_sold[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_b'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]]+[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"];
else[/COLOR][COLOR="#0000BB"]$amount_sold[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]// echo 'lol9';
//add coin for seller/buyer
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#FF8000"]// echo 'lol9.1';
[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$amount_rest * $price_buy);
// echo 'lol9.2';
[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]])->[/COLOR][COLOR="#0000BB"]update[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'partly filled'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'from_value'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'to_value'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'amount_buy > amount_sell Update sell orders: '[/COLOR][COLOR="#007700"], array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'partly filled'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'from_value'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'to_value'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]// echo 'lol9.3';
//$message .= "\n".Lang::get('messages.partly_filled').' : Fee buy: '.sprintf('%.8f',$fee_buy).' - Fee Sell: '.sprintf('%.8f',$fee_sell).' - Total buy: '.(sprintf('%.8f',$amount_sell)) . ' - Total sell: '.sprintf('%.8f',($total_sell-$fee_sell));
[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.filled'[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'
Sold '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' at a price of '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Fee sell: '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Received: '
[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]// echo 'lol9.3.1';
[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]// echo 'lol9.3.2';
// echo $user->id . ' ' . $user_buy . ' ' . $amount_sell . ' ' .$price_buy . ' ' . $market_id . ' ' . $fee_buy . ' ' .$fee_sell;
[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$trade_history[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addTradeHistory[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#FF8000"]// echo 'lol9.4';
//call socket
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_b'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]"action"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"update"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_sold[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>([/COLOR][COLOR="#0000BB"]$amount_sold[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'history_trade'[/COLOR][COLOR="#007700"]] =array([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"created_at"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d H:i:s"[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]"order_id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]);
[/
COLOR][COLOR="#FF8000"]// echo 'lol9.5';
[/COLOR][COLOR="#007700"]}else{
[/
COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.order_created'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"insert"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'created_at'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]created_at[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#FF8000"]// echo 'lol10';
[/COLOR][COLOR="#007700"]}
}else{
[/
COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$amount_buy*$price_buy);//really total sell;
[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_buy[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]= ([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$per_fee_sell[/COLOR][COLOR="#007700"])/[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]takeMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"])){[/COLOR][COLOR="#FF8000"]//tru phi nguoi mua
//add coin for seller/buyer
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"]*[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//sprintf('%.8f',$amount_rest * $price_sell);

[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]])->[/COLOR][COLOR="#0000BB"]update[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"]));
[/
COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#FF8000"]// echo 'lol11';
//$message .= "\n".Lang::get('messages.partly_filled').' : Fee buy: '.sprintf('%.8f',$fee_buy).' - Fee Sell: '.sprintf('%.8f',$fee_sell).' - Total buy: '.(sprintf('%.8f',$amount_buy)) . ' - Total sell: '.sprintf('%.8f',($total_sell-$fee_sell));
[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.partly_filled'[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'
Sold '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' at a price of '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Fee sell: '
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'
Received: '
[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$total_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'amount_buy [/COLOR][COLOR="#DD0000"]'filled'[/COLOR][COLOR="#007700"]));

[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'
partly filled'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_rest[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$trade_history[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addTradeHistory[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'
seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_buy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'fee_sell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$fee_sell[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#FF8000"]// echo '
lol12';
//call socket
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$class_price[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'order_b'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]"action"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"delete"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'history_trade'[/COLOR][COLOR="#007700"]] =array([/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$trade_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'seller_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'buyer_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$user_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'market_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"created_at"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d H:i:s"[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#DD0000"]"order_id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$buy_matching[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]);
}else{
[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'
success'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
messages.order_created'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"insert"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'created_at'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]created_at[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]// echo '
lol13';
[/COLOR][COLOR="#007700"]}
}

[/COLOR][COLOR="#FF8000"]//refund money
/*if($price_buy > $price_sell){
Log::info('
-------Refund: ');
$total_refunds = ($amount_real*$price_buy) - ($amount_real*$price_sell);
$balance->addMoney($total_refunds,$from,$user->id);
}*/
//update amount
// echo '
lol9 threshold';
[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]$amount_real[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]// echo '
lol14';
[/COLOR][COLOR="#007700"]}

}
[/COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
-------amount_sell final: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"insert"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$amount_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price_sell[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$total_rest[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"type"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"sell"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'created_at'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]created_at[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#FF8000"]// echo '
lol15';
[/COLOR][COLOR="#007700"]}

[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Trade[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBlockPrice[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Balance[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinmain'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinsecond'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#FF8000"]//$message_socket['
trade_user'] = $user->id;

[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
change_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'total_volume'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getVolume[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
change_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'cur_price'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$price_buy[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#FF8000"]// echo '
lol16';
[/COLOR][COLOR="#007700"]}else{
[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]save[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'
success'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
messages.order_created'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]][[/COLOR][COLOR="#DD0000"]'order_s'[/COLOR][COLOR="#007700"]] = array([/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"insert"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"id"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"amount"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"price"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"total"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'created_at'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders_sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]created_at[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]// echo '
lol17';
[/COLOR][COLOR="#007700"]}

[/COLOR][COLOR="#FF8000"]// added by tech //
[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Trade[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBlockPrice[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Balance[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinmain'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinsecond'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
trade_user'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#FF8000"]// ended //

[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]triggerPusherTicket[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
}else{
[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"messages.not_enough_sell"[/COLOR][COLOR="#007700"], array([/COLOR][COLOR="#DD0000"]'
type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]strtoupper[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"])));
}
[/COLOR][COLOR="#FF8000"]// echo '
lol18';
[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'
status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$status[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"message_socket"[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"]));
exit;
}

public function[/COLOR][COLOR="#0000BB"]doCancel[/COLOR][COLOR="#007700"](){
if ([/COLOR][COLOR="#0000BB"]Auth[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]guest[/COLOR][COLOR="#007700"]() ){
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'
status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.login_to_buy'[/COLOR][COLOR="#007700"])));
exit;
}
[/COLOR][COLOR="#0000BB"]$logFile[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'
trades.log'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]useDailyFiles[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]storage_path[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]'
/logs/trades/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$logFile[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]Log[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]info[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
------------------------- Do Cancel -----------------------------'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Confide[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]user[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Balance[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$order_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
order_id'[/COLOR][COLOR="#007700"]];
[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]find[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$order_id[/COLOR][COLOR="#007700"]);

if([/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]user_id[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]in_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]status[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getStatusActive[/COLOR][COLOR="#007700"]())){[/COLOR][COLOR="#FF8000"]//this condition use to avoid case a user cancel order of other user
//message_socket for update data not f5
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
market_id'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]market_id[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$message_socket_temp[/COLOR][COLOR="#007700"]=array([/COLOR][COLOR="#DD0000"]'
id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'total'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]"update"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]//refund money for user
//get info market
[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Market[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]find[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]market_id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_from[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$market_default[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_to[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Wallet[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getType[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getType[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$value_refund[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$type_money_refund[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]type[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'
buy'[/COLOR][COLOR="#007700"]){[/COLOR][COLOR="#FF8000"]//if buy: refund to_value to to_type_money (eg. Market BTC-> USD => refund to USD wallet)
[/COLOR][COLOR="#0000BB"]$value_refund[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]to_value[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$type_money_refund[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$coin_code[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
order_b'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$message_socket_temp[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
order_b'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#DD0000"]'buy'[/COLOR][COLOR="#007700"];
}else{[/COLOR][COLOR="#FF8000"]//if sell: refund from_value to from_type_money (eg. Market BTC-> USD => refund to BTC wallet)
[/COLOR][COLOR="#0000BB"]$value_refund[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$type_money_refund[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$coin_code[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
order_s'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#0000BB"]$message_socket_temp[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
order_s'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]]=[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"];
}

[/COLOR][COLOR="#FF8000"]// added by techlogicians //
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
message_socket'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$order_id[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#FF8000"]// ended by techlogicians //

[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Trade[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$trade[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBlockPrice[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]market_id[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]addMoney[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value_refund[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$type_money_refund[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]//delete order
[/COLOR][COLOR="#0000BB"]$orders[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]delete[/COLOR][COLOR="#007700"]();

[/COLOR][COLOR="#FF8000"]// added by techlogicians //
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinmain'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_from[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
data_price'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'balance_coinsecond'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'%.8f'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$balance[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBalance[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet_to[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'
trade_user'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#FF8000"]// ended by techlogicians //

[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"]( array([/COLOR][COLOR="#DD0000"]'
status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'success'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message_socket'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$message_socket[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.cancel_successfull'[/COLOR][COLOR="#007700"],array([/COLOR][COLOR="#DD0000"]'value'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$value_refund[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'coin'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]strtoupper[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$coin_code[/COLOR][COLOR="#007700"])) ) ) );
exit;
}
else
{
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'
status'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]Lang[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'messages.not_your_order'[/COLOR][COLOR="#007700"])));
exit;
}
}

public function[/COLOR][COLOR="#0000BB"]triggerPusherTicket[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]){
require_once[/COLOR][COLOR="#0000BB"]app_path[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]'
/libraries/Pusher.php'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$setting[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Setting[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$pusher_app_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$setting[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getSetting[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
pusher_app_id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$pusher_app_key[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$setting[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getSetting[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
pusher_app_key'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$pusher_app_secret[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$setting[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getSetting[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
pusher_app_secret'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]$pusher_app_id[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]$pusher_app_key[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]$pusher_app_secret[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]){
[/COLOR][COLOR="#0000BB"]$pusher[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Pusher[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$pusher_app_key[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$pusher_app_secret[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$pusher_app_id[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]=new[/COLOR][COLOR="#0000BB"]Wallet[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$market[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Market[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]where[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
id'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"])->[/COLOR][COLOR="#0000BB"]first[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strtoupper[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getType[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_from[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strtoupper[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$wallet[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getType[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]wallet_to[/COLOR][COLOR="#007700"]));

[/COLOR][COLOR="#0000BB"]$order[/COLOR][COLOR="#007700"]=new[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$buyHighest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$order[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getBuyHighest[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$sellLowest[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$order[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getSellLowest[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$topsell[/COLOR][COLOR="#007700"]=array([/COLOR][COLOR="#DD0000"]'
price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$topbuy[/COLOR][COLOR="#007700"]=array([/COLOR][COLOR="#DD0000"]'
price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]count[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$sellLowest[/COLOR][COLOR="#007700"])>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
[/COLOR][COLOR="#0000BB"]$topsell[/COLOR][COLOR="#007700"]=array(
[/COLOR][COLOR="#DD0000"]'
amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"%.8f"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$sellLowest[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"]),
[/COLOR][COLOR="#DD0000"]'
price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"%.8f"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$sellLowest[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"])
);
}
if([/COLOR][COLOR="#0000BB"]count[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$buyHighest[/COLOR][COLOR="#007700"])>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
[/COLOR][COLOR="#0000BB"]$topbuy[/COLOR][COLOR="#007700"]=array(
[/COLOR][COLOR="#DD0000"]'
amount'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"%.8f"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$buyHighest[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]from_value[/COLOR][COLOR="#007700"]),
[/COLOR][COLOR="#DD0000"]'
price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"%.8f"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$buyHighest[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"])
);
}
[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]=array(
[/COLOR][COLOR="#DD0000"]'
channel'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'ticker.'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'
trade'[/COLOR][COLOR="#007700"]=>array(
[/COLOR][COLOR="#DD0000"]'
timestamp'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"](),
[/COLOR][COLOR="#DD0000"]'
datetime'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d H:i:s T"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]()),
[/COLOR][COLOR="#DD0000"]'
marketid'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'
marketname'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$from[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$to[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'
topsell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$topsell[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'
topbuy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$topbuy[/COLOR][COLOR="#007700"],
)
);

[/COLOR][COLOR="#0000BB"]$pusher[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]trigger[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
ticker.'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'message'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$message[/COLOR][COLOR="#007700"]);
}
}

public function[/COLOR][COLOR="#0000BB"]getOrderDepthChart[/COLOR][COLOR="#007700"](){
[/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]Input[/COLOR][COLOR="#007700"]::[/COLOR][COLOR="#0000BB"]get[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'
market_id'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$order[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Order[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$order_sell[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$order[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getOrders[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'
sell'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$total_amount[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$rel_sells[/COLOR][COLOR="#007700"]=array();
foreach ([/COLOR][COLOR="#0000BB"]$order_sell[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$sell[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$total_amount[/COLOR][COLOR="#007700"]+=[/COLOR][COLOR="#0000BB"]$sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]total_to_value[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$price[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$sell[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]array_push[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rel_sells[/COLOR][COLOR="#007700"],array([/COLOR][COLOR="#DD0000"]'
total'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$total_amount[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price[/COLOR][COLOR="#007700"]));
}

[/COLOR][COLOR="#0000BB"]$order_buy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$order[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getOrders[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$market_id[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'
buy'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$total_amount[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$rel_buys[/COLOR][COLOR="#007700"]=array();
foreach ([/COLOR][COLOR="#0000BB"]$order_buy[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$buy[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$total_amount[/COLOR][COLOR="#007700"]+=[/COLOR][COLOR="#0000BB"]$buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]total_to_value[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$price[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$buy[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]price[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]array_push[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rel_buys[/COLOR][COLOR="#007700"],array([/COLOR][COLOR="#DD0000"]'
total'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$total_amount[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'price'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$price[/COLOR][COLOR="#007700"]));
}
echo[/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"](array([/COLOR][COLOR="#DD0000"]'
buy'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$rel_buys[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'sell'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$rel_sells[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#FF8000"]//echo "The Order Depth Chart is Coming soon...";
[/COLOR][COLOR="#007700"]exit;
}
}
[/COLOR][/COLOR] 
 
Ответить с цитированием

  #2  
Старый 15.11.2016, 14:10
omanix
Guest
Сообщений: n/a
Провел на форуме:
491

Репутация: 0
По умолчанию

Один из вариантов привести входящий параметр market_id к интовому значению

$market_id = (int)$_POST['market_id'];
 
Ответить с цитированием

  #3  
Старый 15.11.2016, 14:12
LeninDie
Guest
Сообщений: n/a
Провел на форуме:
12479

Репутация: 2
По умолчанию

$market_id = preg_replace ("/[^0-9]/", "", $_POST['market_id']; - такой вариант тоже подойдет?
 
Ответить с цитированием

  #4  
Старый 15.11.2016, 14:17
omanix
Guest
Сообщений: n/a
Провел на форуме:
491

Репутация: 0
По умолчанию

Лучше будет если ты напишешь обработчик входящих параметров, который будет ескейпить и фильтровать параметры.

Его уже дальше юзать во всех скриптах.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ