game/core1/app/logic/auction.php
2022-06-07 00:30:34 +03:00

551 lines
21 KiB
PHP

<?
namespace Logic;
use \Core\View as view;
class Auction {
/*
@ Áàçîâûé ìåòîä íà÷àë ãåíèðàöèè ìîäóëÿ
@ Çäåñü ïðîèñõîäèò îïðåäåëåíèå òèïà äàííûõ, à òàê-æå
@ ïðîâåðêà âîçìîæíîñòè ïðîñìîòðà äàííîãî ìîäóëÿ
@ âñå ïîääêëþ÷àåìûå êëàññû äîëæíû áûòü ÍÅÎÁÕÎÄÈÌÛÌÈ!
*/
public static function defaultAction() {
//Ïîäêëþ÷àåì ïàêåòû
\Core\User::connect();
\Core\User::room();
if (\Core\User::$data == false ) {
//Íåò äîñòóïà, ïåðñîíàæ íå àâòîðèçèðîâàí èëè çàáëîêèðîâàí
echo 'Àâòîðèçèðóéòåñü ÷åðåç <a href="/index.php">ãëàâíóþ ñòðàíèöó</a>.';
}elseif( \Core\User::$data['battle'] > 0 ) {
header('location:main.php?inv');
}elseif( \Core\User::$room['name'] != 'Àóêöèîí' ) {
echo 'Âû íàõîäèòåñü â äðóãîé ëîêàöèè.';
}elseif( stristr($_SERVER['HTTP_ACCEPT'],'application/json') == true ) {
\Core\User::$stats = \Core\User::getStats( \Core\User::$data['id'] );
echo self::getJSON();
}else{
\Core\User::$stats = \Core\User::getStats( \Core\User::$data['id'] );
echo self::getHTML();
}
}
/*
@ Ìåòîä âûâîäÿùèé HTML-êîíòåíò íà ñòîðîíó ïîëüçîâàòåëÿ
@ ×åðåç êîíêðåòíûé øàáëîíèçàòîð
*/
public static function getHTML() {
//PC âåðñèÿ ãëàâíîé ñòðàíèöû
return view::generateTpl( 'auction', array(
'title' => COPY . ' :: Àóêöèîí',
//Ïåðåäàåì äàííûå ïàêåòîâ
'user' => \Core\User::$data,
'stats' => \Core\User::$stats,
'room' => \Core\User::$room,
'OK' => OK,
'copy' => COPY,
'rights' => RIGHTS,
'ver' => '1.2.5'
) );
}
/*
@ Ìåòîä âûâîäÿùèé JSON-êîíòåíò íà ñòîðîíó ïîëüçîâàòåëÿ
@ Èíôîðìàöèÿ áåðåòñÿ èç ïåðåìåííîé self::$JSON
*/
public static function getJSON() {
$r = array( 'type' => $_GET['type'],'item_data' => array( 'i' => 0 , 'g' => array() ) );
//Èíôîðìàöèÿ
$r['money'] = 0+\Core\User::$data['money'];
$r['massaNow'] = 0+\Core\User::$data['massaNow'];
$r['massaMax'] = 0+\Core\User::$data['massaNow'];
$r['timeGo'] = 0+\Core\User::$stats['timeGo'];
$r['timeGoL'] = 0+\Core\User::$stats['timeGoL'];
$r['timeNow'] = OK;
//
if(isset($_GET['buy_item']) && \Core\User::$data['invBlock'] < OK && \Core\User::$data['allLock'] < OK) {
//Ìåíÿåì ñòàâêó
$itm_auc = \Core\Database::query( 'SELECT * FROM `items_auc` WHERE `id` = :item_id AND `time_end` = 0 AND `time` > :time LIMIT 1' , array(
'item_id' => (int)$_GET['buy_item'],
'time' => OK - 86400
) , true );
if(isset($itm_auc['id'])) {
$price = round($_GET['kr'],2);
$price_min = round(($itm_auc['price'] + $itm_auc['price']*0.01),2);
$price_max = round(($itm_auc['price'] * 2),2);
if( $itm_auc['uid'] == \Core\User::$data['id'] ) {
$r['error'] = 6;
}elseif( $itm_auc['user_buy'] != \Core\User::$data['id'] ) {
if( $price > \Core\User::$data['money'] ) {
$r['error'] = 5; //Ó âàñ íåäîñòàòî÷íî äåíåã
}elseif( $price - $price_min >= 0 ) {
if( $price - $price_max < 1 ) {
/*
Çàáèðàåì êð. , åñëè áûëè ñòàâêè äî ýòîãî âîçâðàùàåì êð. íà ïî÷òó ïåðñîíàæó êîòîðûé äåëàë ñòàâêó
*/
if( $itm_auc['user_buy'] > 0 ) {
//Âûäàåì êð. îáðàòíî ïðîøëîìó èãðîêó êîòîðûé ñäåëàë ñòàâêó
$user = \Core\Database::query( 'SELECT `id`,`login` FROM `users` WHERE `id` = :uid LIMIT 1' , array(
'uid' => $itm_auc['user_buy']
) , true );
if( isset($user['id']) ) {
\Core\Chat::send_system( $user['login'] , 'Ïåðñîíàæ <b>' . \Core\User::$data['login'] . '</b> ïåðåáèë âàøó ñòàâêó íà Àóêöèîíå, ïðåäìåò &quot;'.$itm_auc['name'].'&quot;. Ñóììà âàøåé ñòàâêè îòïðàâëåíà ê âàì íà ïî÷òó.' );
//
$tmgo = 0;
\Core\Database::query( 'INSERT INTO `items_users` (`item_id`,`1price`,`uid`,`delete`,`lastUPD`) VALUES (
1220 , :money , :uid , 0 , :time
)' , array(
'uid' => '-51' . $user['id'],
'money' => $itm_auc['price'],
'time' => OK + $tmgo * 60
));
$txt = 'Äåíüãè îò <b>'.$itm_auc['login'].'</b>: '.$itm_auc['price'].' êð. Ïðèáûòèå: '.date('d.m.Y H:i',(OK + $tmgo*60)).'';
\Core\Database::query( 'INSERT INTO `post` (`uid`,`sender_id`,`time`,`money`,`text`) VALUES
( :user_to , :user_from , :time , :money , :txt )' , array(
'user_from' => $itm_auc['uid'],
'user_to' => $user['id'],
'time' => OK,
'txt' => $txt,
'money' => $itm_auc['price']
));
$txt = 'Äåíüãè ê <b>'.$user['login'].'</b>: '.$itm_auc['price'].' êð. Ïðèáûòèå: '.date('d.m.Y H:i',(OK + $tmgo*60)).'';
\Core\Database::query( 'INSERT INTO `post` (`uid`,`sender_id`,`time`,`money`,`text`) VALUES
( :user_from , :user_to , :time , :money , :txt )' , array(
'user_from' => $itm_auc['uid'],
'user_to' => $user['id'],
'time' => OK,
'txt' => $txt,
'money' => $tim_auc['price']
));
//
}
}
//Çàáèðàåì äåíüãè ó òåêóùåãî èãðîêà è çàïèñûâàåì â òåëî àóêöèîíà
\Core\User::$data['money'] -= $price;
\Core\Database::query( 'UPDATE `users` SET `money` = :money WHERE `id` = :uid LIMIT 1', array(
'uid' => \Core\User::$data['id'],
'money' => \Core\User::$data['money']
) );
//
$itm_auc['price'] = $price;
$itm_auc['login_buy'] = \Core\User::$data['login'];
$itm_auc['user_buy'] = \Core\User::$data['id'];
$itm_auc['time'] += 15*60; //+15 ìèí ê àóêöèîíó
//
\Core\Database::query( 'UPDATE `items_auc` SET `price` = :price , `time` = :time , `login_buy` = :login_buy , `user_buy` = :user_buy WHERE `id` = :id LIMIT 1', array(
'id' => $itm_auc['id'],
'price' => $itm_auc['price'],
'time' => $itm_auc['time'],
'login_buy' => $itm_auc['login_buy'],
'user_buy' => $itm_auc['user_buy']
) );
//
//
$r['info'] = true;
//
}else{
$r['error'] = 4; //Ïðåâûøåíà ìàêñèìàëüíàÿ ñòàâêà â 2 ðàçà îò òåêóùåé ñòàâêè
}
}else{
$r['error'] = 3; //Ìèíèìàëüíàÿ ñòàâêà - 1% îò òåêóùåé ñòàâêè
}
}else{
$r['error'] = 2;
}
}else{
$r['error'] = 1;
}
}elseif(isset($_GET['add_item']) && \Core\User::$data['invBlock'] < OK && \Core\User::$data['allLock'] < OK) {
//Äîáàâëÿåì ïðåäìåò íà àóêöèîí (îò èãðîêà â àóêöèîí)
$itm_user = \Core\Database::query( 'SELECT `a`.* , `b`.* , `a`.`id` AS `uiid` FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON `a`.`item_id` = `b`.`id` WHERE `a`.`inOdet` = 0 AND `a`.`uid` = :uid AND `a`.`id` = :item_id AND `a`.`delete` = 0 AND `a`.`gift` = "" AND `a`.`data` NOT LIKE "%sudba=%" AND `a`.`data` NOT LIKE "%zazuby=%" AND `a`.`data` NOT LIKE "%|notransfer=%" AND `a`.`inTransfer` = 0 AND `a`.`inShop` = 0 LIMIT 1' , array(
'uid' => \Core\User::$data['id'],
'item_id' => (int)$_GET['add_item']
) , true );
if( isset($itm_user['id']) ) {
$price = round($_GET['price'],2);
//
if( \Core\User::$stats['st']['silver'] >= 4 ) {
$price_com = round(($price/100*2.5),2);
}else{
$price_com = round(($price/100*10),2);
}
//
if( $price < 1 ) {
$r['error'] = 2;
}elseif( $price > 1000000 ) {
$r['error'] = 3;
}elseif( $price_com > \Core\User::$data['money'] ) {
$r['error'] = 4;
}elseif( \Core\User::$data['align'] == 2 ) {
$r['error'] = 5;
}else{
//
$count = \Core\Database::query( 'SELECT COUNT(*) AS `i` FROM `items_users` WHERE `uid` = :uid AND `item_id` = :item_id AND ( ( `inGroup` > 0 AND `inGroup` = :group ) OR ( `inGroup` = 0 AND `id` = :id ) ) AND `delete` = 0 AND `inShop` = 0 AND `inTransfer` = 0 LIMIT 1', array(
'uid' => \Core\User::$data['id'],
'id' => $itm_user['uiid'],
'item_id' => $itm_user['id'],
'group' => $itm_user['inGroup']
) , true );
$count = $count[0];
//
$upd = \Core\Database::query( 'UPDATE `items_users` SET `uid` = 0, `inGroup` = :id WHERE `uid` = :uid AND `item_id` = :item_id AND ( ( `inGroup` > 0 AND `inGroup` = :group ) OR ( `inGroup` = 0 AND `id` = :id ) ) AND `delete` = 0 AND `inShop` = 0 AND `inTransfer` = 0' ,
array(
'uid' => \Core\User::$data['id'],
'id' => $itm_user['uiid'],
'item_id' => $itm_user['id'],
'group' => $itm_user['inGroup']
)
);
//
if($upd == true) {
$itm_user_data = \Core\Item::lookStats($itm_user['data']);
//
\Core\Database::query( 'INSERT INTO `items_auc`
(
`login`,`uid`,`item_id`,`items_id`,`time`,`time_end`,`img`,`name`,`level`,`x`,`price_start`,`price`,`massa`,`iznosNOW`,`iznosMAX`,`user_buy`,`type`,`delete`
) VALUES (
:login , :uid , :item_id , :items_id , :time , 0 , :img , :name , :level , :x , :price , :price , :massa , :iznosNOW , :iznosMAX , 0 , :type , 0
)', array(
'login' => \Core\User::$data['login'],
'uid' => \Core\User::$data['id'],
'item_id' => $itm_user['uiid'],
'items_id' => $itm_user['id'],
'time' => OK,
'time_end' => OK + 86400,
'img' => $itm_user['img'],
'name' => $itm_user['name'],
'level' => $itm_user_data['tr_lvl'],
'x' => (0+$count),
'price' => $price,
'massa' => $itm_user['massa'],
'iznosNOW' => $itm_user['iznosNOW'],
'iznosMAX' => $itm_user['iznosMAX'],
'type' => $itm_user['type']
));
//
$r['info'] = array(
'itm_name' => $itm_user['name'],
'x' => $count,
'price' => $price,
'id' => $itm_user['uiid']
);
//
}else{
$r['error'] = 6;
}
//
}
}else{
$r['error'] = 1;
}
}elseif(isset($_GET['option_item']) && ($_GET['option_item'] == 1 || $_GET['option_item'] == 2 || $_GET['option_item'] == 3 || $_GET['option_item'] == 4 || $_GET['option_item'] == 5)) {
//Ïðîñìàòðèâàåì ïðåäìåòû êîòîðûå íàõîäÿòñÿ â àóêöèîíå è â èíâåíòàðå èãðîêà
$id = (int)$_GET['option_item'];
if( $id == 5 ) {
//Òîðãè (óíèêàëüíûå âåùè)
$r['item_data']['x'] = 0;
$pla = \Core\Database::query( 'SELECT * FROM `items_auc` WHERE `time_end` = 0 AND `uniq` = 1 ORDER BY `id` DESC' , array(
) , true , true );
//
$pages_all = \Core\Database::query( 'SELECT COUNT(*) AS `i` FROM `items_auc` WHERE `time_end` = 0 AND `uniq` = 1 LIMIT 1', array(
) , true );
//
$pages_all = $pages_all['i'];
$pages_all = ceil($pages_all/20); //20 ñòðàíèö
//
$page_now = 0 + round((int)$_GET['page']);
if( $page_now < 1 ) {
$page_now = 1;
}elseif( $page_now > $pages_all ) {
$page_now = $pages_all;
}
//
$r['toppages'] = $pages_all;
$r['page'] = $page_now;
//
$i = 0;
$j = 0;
while( $i < count($pla) ) {
//
if( $i < ($page_now) * 20 && $i >= ($page_now-1) * 20 ) {
$pl = \Core\Database::query( 'SELECT `a`.* , `b`.* , `a`.`id` AS `uiid` FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON `a`.`item_id` = `b`.`id` WHERE `a`.`id` = :item_id LIMIT 1' , array(
'item_id' => $pla[$i]['item_id']
) , true );
//
$r['item_data'][$j] = \Core\Item::infoItem($pl);
$r['item_data'][$j]['iid'] = $pl['item_id'];
$r['item_data'][$j]['user_ow'] = $pla[$i]['login'];
$r['item_data'][$j]['item_id'] = $pla[$i]['items_id'];
$r['item_data'][$j]['name'] = $pl['name'];
$r['item_data'][$j]['prc'] = $pla[$i]['price'];
$r['item_data'][$j]['prc2'] = round(($pla[$i]['price']+$pla[$i]['price']*0.01),2);
$r['item_data'][$j]['cid'] = $pl['id'];
$r['item_data'][$j]['aid'] = $pla[$i]['id'];
//
$r['item_data'][$j]['buy'] = $pla[$i]['login_buy'];
//$r['item_data'][$j]['buy'] = $pl['login_buy'];
//
$r['item_data'][$j]['x'] = $count;
$r['item_data'][$j]['iznosNOW'] = $pl['iznosNOW'];
$r['item_data'][$j]['iznosMAX'] = $pl['iznosMAX'];
$r['item_data'][$j]['massa'] = $pl['massa'];
$r['item_data'][$j]['time'] = \Core\Utils::timeOut($pla[$i]['time']+86400-time());
$j++;
//
$r['item_data']['x']++;
$r['item_data']['i']++;
}
$i++;
}
//
}elseif( $id == 1 ) {
//Òîðãè
$r['item_data']['x'] = 0;
$pla = \Core\Database::query( 'SELECT * FROM `items_auc` WHERE `time_end` = 0 AND `uniq` = 0 ORDER BY `id` DESC' , array(
) , true , true );
//
$pages_all = \Core\Database::query( 'SELECT COUNT(*) AS `i` FROM `items_auc` WHERE `time_end` = 0 AND `uniq` = 0 LIMIT 1', array(
) , true );
//
$pages_all = $pages_all['i'];
$pages_all = ceil($pages_all/20); //20 ñòðàíèö
//
$page_now = 0 + round((int)$_GET['page']);
if( $page_now < 1 ) {
$page_now = 1;
}elseif( $page_now > $pages_all ) {
$page_now = $pages_all;
}
//
$r['toppages'] = $pages_all;
$r['page'] = $page_now;
//
$i = 0;
$j = 0;
while( $i < count($pla) ) {
//
if( $i < ($page_now) * 20 && $i >= ($page_now-1) * 20 ) {
$pl = \Core\Database::query( 'SELECT `a`.* , `b`.* , `a`.`id` AS `uiid` FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON `a`.`item_id` = `b`.`id` WHERE `a`.`id` = :item_id LIMIT 1' , array(
'item_id' => $pla[$i]['item_id']
) , true );
//
$r['item_data'][$j] = \Core\Item::infoItem($pl);
$r['item_data'][$j]['iid'] = $pl['item_id'];
$r['item_data'][$j]['user_ow'] = $pla[$i]['login'];
$r['item_data'][$j]['item_id'] = $pla[$i]['items_id'];
$r['item_data'][$j]['name'] = $pl['name'];
$r['item_data'][$j]['prc'] = $pla[$i]['price'];
$r['item_data'][$j]['prc2'] = round(($pla[$i]['price']+$pla[$i]['price']*0.01),2);
$r['item_data'][$j]['cid'] = $pl['id'];
$r['item_data'][$j]['aid'] = $pla[$i]['id'];
//
$r['item_data'][$j]['buy'] = $pla[$i]['login_buy'];
//$r['item_data'][$j]['buy'] = $pl['login_buy'];
//
$r['item_data'][$j]['x'] = $count;
$r['item_data'][$j]['iznosNOW'] = $pl['iznosNOW'];
$r['item_data'][$j]['iznosMAX'] = $pl['iznosMAX'];
$r['item_data'][$j]['massa'] = $pl['massa'];
$r['item_data'][$j]['time'] = \Core\Utils::timeOut($pla[$i]['time']+86400-time());
$j++;
//
$r['item_data']['x']++;
$r['item_data']['i']++;
}
$i++;
}
//
}elseif( $id == 2 ) {
//Ñòàâêè
$r['item_data']['x'] = 0;
$pla = \Core\Database::query( 'SELECT * FROM `items_auc` WHERE `time_end` = 0 AND `user_buy` = :uid ORDER BY `id` DESC' , array(
'uid' => \Core\User::$data['id']
) , true , true );
//
$pages_all = \Core\Database::query( 'SELECT COUNT(*) AS `i` FROM `items_auc` WHERE `time_end` = 0 AND `user_buy` = :uid LIMIT 1', array(
'uid' => \Core\User::$data['id']
) , true );
//
$pages_all = $pages_all['i'];
$pages_all = ceil($pages_all/20); //20 ñòðàíèö
//
$page_now = 0 + round((int)$_GET['page']);
if( $page_now < 1 ) {
$page_now = 1;
}elseif( $page_now > $pages_all ) {
$page_now = $pages_all;
}
//
$r['toppages'] = $pages_all;
$r['page'] = $page_now;
//
$i = 0;
$j = 0;
while( $i < count($pla) ) {
//
if( $i < ($page_now) * 20 && $i >= ($page_now-1) * 20 ) {
$pl = \Core\Database::query( 'SELECT `a`.* , `b`.* , `a`.`id` AS `uiid` FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON `a`.`item_id` = `b`.`id` WHERE `a`.`id` = :item_id LIMIT 1' , array(
'item_id' => $pla[$i]['item_id']
) , true );
//
$r['item_data'][$j] = \Core\Item::infoItem($pl);
$r['item_data'][$j]['iid'] = $pl['item_id'];
$r['item_data'][$j]['user_ow'] = $pla[$i]['login'];
$r['item_data'][$j]['item_id'] = $pla[$i]['items_id'];
$r['item_data'][$j]['name'] = $pl['name'];
$r['item_data'][$j]['prc'] = $pla[$i]['price'];
$r['item_data'][$j]['prc2'] = round(($pla[$i]['price']+$pla[$i]['price']*0.01),2);
$r['item_data'][$j]['cid'] = $pl['id'];
$r['item_data'][$j]['aid'] = $pla[$i]['id'];
//
$r['item_data'][$j]['buy'] = $pla[$i]['login_buy'];
//$r['item_data'][$j]['buy'] = $pl['login_buy'];
//
$r['item_data'][$j]['x'] = $count;
$r['item_data'][$j]['iznosNOW'] = $pl['iznosNOW'];
$r['item_data'][$j]['iznosMAX'] = $pl['iznosMAX'];
$r['item_data'][$j]['massa'] = $pl['massa'];
$r['item_data'][$j]['time'] = \Core\Utils::timeOut($pla[$i]['time']+86400-time());
$j++;
//
$r['item_data']['x']++;
$r['item_data']['i']++;
}
$i++;
}
//
}elseif( $id == 3 ) {
//Âàøè ïðåäìåòû (óæå íà òîðãàõ)
$r['item_data']['x'] = 0;
$pla = \Core\Database::query( 'SELECT * FROM `items_auc` WHERE `uid` = :uid AND `time_end` = 0 ORDER BY `id` DESC' , array(
'uid' => \Core\User::$data['id']
) , true , true );
//
$pages_all = \Core\Database::query( 'SELECT COUNT(*) AS `i` FROM `items_auc` WHERE `uid` = :uid AND `time_end` = 0 LIMIT 1', array(
'uid' => \Core\User::$data['id']
) , true );
//
$pages_all = $pages_all['i'];
$pages_all = ceil($pages_all/20); //20 ñòðàíèö
//
$page_now = 0 + round((int)$_GET['page']);
if( $page_now < 1 ) {
$page_now = 1;
}elseif( $page_now > $pages_all ) {
$page_now = $pages_all;
}
//
$r['toppages'] = $pages_all;
$r['page'] = $page_now;
//
$i = 0;
$j = 0;
while( $i < count($pla) ) {
//
if( $i < ($page_now) * 20 && $i >= ($page_now-1) * 20 ) {
$pl = \Core\Database::query( 'SELECT `a`.* , `b`.* , `a`.`id` AS `uiid` FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON `a`.`item_id` = `b`.`id` WHERE `a`.`id` = :item_id LIMIT 1' , array(
'item_id' => $pla[$i]['item_id']
) , true );
//
$r['item_data'][$j] = \Core\Item::infoItem($pl);
$r['item_data'][$j]['iid'] = $pl['item_id'];
$r['item_data'][$j]['item_id'] = $pla[$i]['items_id'];
$r['item_data'][$j]['name'] = $pl['name'];
$r['item_data'][$j]['prc'] = $pla[$i]['price'];
$r['item_data'][$j]['cid'] = $pl['id'];
//
$r['item_data'][$j]['buy'] = $pla[$i]['login_buy'];
//$r['item_data'][$j]['buy'] = $pl['login_buy'];
//
$r['item_data'][$j]['x'] = $count;
$r['item_data'][$j]['iznosNOW'] = $pl['iznosNOW'];
$r['item_data'][$j]['iznosMAX'] = $pl['iznosMAX'];
$r['item_data'][$j]['massa'] = $pl['massa'];
$r['item_data'][$j]['time'] = \Core\Utils::timeOut($pla[$i]['time']+86400-time());
$j++;
//
$r['item_data']['x']++;
$r['item_data']['i']++;
}
$i++;
}
//
}elseif( $id == 4 ) {
//Âûñòàâèòü ïðåäìåòû íà òîðãè
$r['item_data']['x'] = 0;
$pl = \Core\Database::query( 'SELECT `a`.* , `b`.* , `a`.`id` AS `uiid` FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON `a`.`item_id` = `b`.`id` WHERE `a`.`inOdet` = 0 AND `a`.`uid` = :uid AND `a`.`delete` = 0 AND `a`.`gift` = "" AND `a`.`data` NOT LIKE "%sudba=%" AND `a`.`data` NOT LIKE "%zazuby=%" AND `a`.`data` NOT LIKE "%|notransfer=%" AND `a`.`inTransfer` = 0 AND `a`.`inShop` = 0 ORDER BY `a`.`lastUPD` DESC' , array(
'uid' => \Core\User::$data['id']
) , true , true );
//
$pages_all = \Core\Database::query( 'SELECT COUNT(*) AS `i` FROM `items_users` WHERE `inOdet` = 0 AND `uid` = :uid AND `delete` = 0 AND `inGroup` = 0 AND `inShop` = 0 AND `inTransfer` = 0 AND `gift` = "" AND `data` NOT LIKE "%|zazuby=%" AND `data` NOT LIKE "%|notransfer=%" AND `data` NOT LIKE "%|sudba=%" LIMIT 1', array(
'uid' => \Core\User::$data['id']
) , true );
$pages_group = \Core\Database::query( 'SELECT COUNT(*) AS `i` FROM `items_users` WHERE `inOdet` = 0 AND `uid` = :uid AND `delete` = 0 AND `inGroup` > 0 AND `inShop` = 0 AND `inTransfer` = 0 AND `gift` = "" AND `data` NOT LIKE "%|zazuby=%" AND `data` NOT LIKE "%|notransfer=%" AND `data` NOT LIKE "%|sudba=%" GROUP BY `inGroup` , `item_id` LIMIT 1', array(
'uid' => \Core\User::$data['id']
) , true );
//
$pages_all = $pages_all['i'];
$pages_group = $pages_group['i'];
//
$pages_all += $pages_group;
$pages_all = ceil($pages_all/20); //20 ñòðàíèö
//
$page_now = 0 + round((int)$_GET['page']);
if( $page_now < 1 ) {
$page_now = 1;
}elseif( $page_now > $pages_all ) {
$page_now = $pages_all;
}
//
$r['toppages'] = $pages_all;
$r['page'] = $page_now;
//
$i = 0;
$j = 0;
while( $i < count($pl) ) {
//
//if( $j < ($page_now) * 20 && $j >= ($page_now-1) * 20 ) {
if( $pl[$i]['inGroup'] == 0 || !isset($r['item_data']['g'][$pl[$i]['item_id']][$pl[$i]['inGroup']]) ) {
$r['item_data'][$j] = \Core\Item::infoItem($pl[$i]);
$r['item_data'][$j]['iid'] = $pl[$i]['item_id'];
$r['item_data'][$j]['prc'] = $pl[$i]['1price'];
$r['item_data'][$j]['cid'] = $pl[$i]['id'];
$r['item_data'][$j]['x'] = $count;
$j++;
}
//
$r['item_data']['x']++;
$r['item_data']['i']++;
//}
if( $pl[$i]['inGroup'] > 0 ) {
$r['item_data']['g'][$pl[$i]['item_id']][$pl[$i]['inGroup']]++;
}
$i++;
}
$pages_all = 1;
$r['toppages'] = $pages_all;
$r['page'] = $page_now;
//
}
}
return \Core\Utils::jsonencode( $r );
}
}
?>