boost.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. if(!DEFINED('EGP'))
  3. exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
  4. include(DATA.'boost.php');
  5. if($go)
  6. {
  7. $aData = array();
  8. $aData['site'] = isset($url['site']) ? $url['site'] : sys::outjs(array('e' => 'Необходимо указать сервис.'));
  9. // Проверка сервиса
  10. if(!in_array($aData['site'], $aBoost[$server['game']]['boost']))
  11. sys::outjs(array('e' => 'Указанный сервис по раскрутке не найден.'));
  12. if(isset($url['rating']))
  13. {
  14. $rating = $url['rating'] == 'up' ? '1' : '-1';
  15. $sql->query('SELECT `id` FROM `boost_rating` WHERE `boost`="'.$aData['site'].'" AND `user`="'.$user['id'].'" AND `rating`="'.$rating.'" LIMIT 1');
  16. if($sql->num())
  17. sys::out('err');
  18. $sql->query('DELETE FROM `boost_rating` WHERE `boost`="'.$aData['site'].'" AND `user`="'.$user['id'].'" LIMIT 1');
  19. $sql->query('INSERT INTO `boost_rating` set `boost`="'.$aData['site'].'", `rating`="'.$rating.'", `user`="'.$user['id'].'"');
  20. $sql->query('SELECT SUM(`rating`) FROM `boost_rating` WHERE `boost`="'.$aData['site'].'"');
  21. $sum = $sql->get();
  22. $rating = (int) $sum['SUM(`rating`)'];
  23. sys::out($rating, 'ctrl_server_boost_'.$sid);
  24. }
  25. $aData['service'] = isset($url['service']) ? sys::int($url['service']) : sys::outjs(array('e' => 'Необходимо указать номер услуги.'));
  26. // Проверка номера услуги
  27. if(!in_array($aData['service'], $aBoost[$server['game']][$aData['site']]['services']))
  28. sys::outjs(array('e' => 'Неправильно указан номер услуги.'));
  29. // Определение суммы
  30. $sum = $aBoost[$server['game']][$aData['site']]['price'][$aData['service']];
  31. // Проверка баланса
  32. if($user['balance'] < $sum)
  33. sys::outjs(array('e' => 'У вас не хватает '.(round($sum-$user['balance'], 2)).' '.$cfg['currency']), $name_mcache);
  34. include(LIB.'games/boost.php');
  35. $boost = new boost($aBoost[$server['game']][$aData['site']]['key'], $aBoost[$server['game']][$aData['site']]['api']);
  36. $buy = $boost->$aBoost[$server['game']][$aData['site']]['type'](array('period' => $aData['service'], 'address' => $server['address']));
  37. if(is_array($buy))
  38. sys::outjs(array('e' => $buy['error']));
  39. // Списание средств с баланса пользователя
  40. $sql->query('UPDATE `users` set `balance`="'.($user['balance']-$sum).'" WHERE `id`="'.$user['id'].'" LIMIT 1');
  41. include(LIB.'games/games.php');
  42. // Реф. система
  43. games::part($user['id'], $sum);
  44. $sql->query('INSERT INTO `logs` set `user`="'.$user['id'].'", `text`="'.sys::updtext(sys::text('logs', 'ctrl_buy_boost'),
  45. array('circles' => $aBoost[$server['game']][$aData['site']]['circles'][$aData['service']],
  46. 'money' => $sum, 'site' => $aBoost[$server['game']][$aData['site']]['site'], 'id' => $id)).'", `date`="'.$start_point.'", `type`="boost", `money`="'.$sum.'"');
  47. $sql->query('INSERT INTO `control_boost` set `user`="'.$user['id'].'", `server`="'.$sid.'", `site`="'.$aData['site'].'", `circles`="'.$aBoost[$server['game']][$aData['site']]['circles'][$aData['service']].'", `money`="'.$sum.'", `date`="'.$start_point.'"');
  48. sys::outjs(array('s' => 'ok'), $name_mcache);
  49. }
  50. $html->nav('Список подключенных серверов', $cfg['http'].'control');
  51. $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
  52. $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
  53. $html->nav('Раскрутка');
  54. if($mcache->get('ctrl_server_boost_'.$sid) != '')
  55. $html->arr['main'] = $mcache->get('ctrl_server_boost_'.$sid);
  56. else{
  57. $html->get('boost', 'sections/control/servers/'.$server['game']);
  58. $html->set('id', $id);
  59. $html->set('server', $sid);
  60. $html->set('address', $server['address']);
  61. foreach($aBoost[$server['game']]['boost'] as $boost)
  62. {
  63. $sql->query('SELECT SUM(`rating`) FROM `boost_rating` WHERE `boost`="'.$boost.'"');
  64. $sum = $sql->get();
  65. $rating = (int) $sum['SUM(`rating`)'];
  66. $html->set($boost, $rating);
  67. }
  68. $html->pack('main');
  69. $mcache->set('ctrl_server_boost_'.$sid, $html->arr['main'], false, 4);
  70. }
  71. ?>