server.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. if (!DEFINED('EGP'))
  3. exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404'));
  4. $sql->query('SELECT `time`, `overdue` FROM `control` WHERE `id`="' . $id . '" LIMIT 1');
  5. $ctrl = $sql->get();
  6. if ($ctrl['time'] > $start_point and $ctrl['overdue'])
  7. $sql->query('UPDATE `control` set `overdue`="0" WHERE `id`="' . $id . '" LIMIT 1');
  8. $sql->query('SELECT * FROM `control` WHERE `id`="' . $id . '" LIMIT 1');
  9. $ctrl = $sql->get();
  10. if ($go) {
  11. if (isset($url['type']) and in_array($url['type'], array('overdue', 'block', 'tarif'))) {
  12. if ($url['type'] != 'tarif') {
  13. $time = isset($_POST['time']) ? trim($_POST['time']) : sys::outjs(array('e' => 'Необходимо указать дату.'));
  14. $date = sys::checkdate($time);
  15. }
  16. switch ($url['type']) {
  17. case 'overdue':
  18. if ($ctrl['time'] > $start_point)
  19. sys::outjs(array('e' => 'Игровой сервер должен быть просрочен.'));
  20. $sql->query('UPDATE `control` set `overdue`="' . $date . '" WHERE `id`="' . $id . '" LIMIT 1');
  21. break;
  22. case 'block':
  23. if ($ctrl['status'] != ('off' || 'overdue'))
  24. sys::outjs(array('e' => 'Игровой сервер должен быть выключен.'));
  25. if ($date < $start_point)
  26. $sql->query('UPDATE `control` set `status`="off", `block`="0" WHERE `id`="' . $id . '" LIMIT 1');
  27. else
  28. $sql->query('UPDATE `control` set `status`="blocked", `block`="' . $date . '" WHERE `id`="' . $id . '" LIMIT 1');
  29. }
  30. sys::outjs(array('s' => 'ok'));
  31. }
  32. $aData = array();
  33. $aData['user'] = isset($_POST['user']) ? sys::int($_POST['user']) : $ctrl['user'];
  34. $aData['address'] = isset($_POST['address']) ? trim($_POST['address']) : $ctrl['address'];
  35. $aData['passwd'] = isset($_POST['passwd']) ? trim($_POST['passwd']) : $ctrl['passwd'];
  36. $aData['time'] = isset($_POST['time']) ? trim($_POST['time']) : $ctrl['time'];
  37. $aData['sql_passwd'] = isset($_POST['sql_passwd']) ? trim($_POST['sql_passwd']) : $ctrl['sql_passwd'];
  38. $aData['sql_ftp'] = isset($_POST['sql_ftp']) ? trim($_POST['sql_ftp']) : $ctrl['sql_ftp'];
  39. $aData['limit'] = isset($_POST['sql_ftp']) ? sys::int($_POST['limit']) : $ctrl['limit'];
  40. $aData['price'] = isset($_POST['price']) ? sys::int($_POST['price']) : $ctrl['price'];
  41. include(LIB . 'ssh.php');
  42. if (sys::valid($aData['address'] . ':22', 'other', $aValid['address']))
  43. $aData['address'] = $ctrl['address'];
  44. if (sys::valid($aData['sql_passwd'], 'en'))
  45. $aData['sql_passwd'] = $ctrl['sql_passwd'];
  46. if (sys::valid($aData['sql_ftp'], 'en'))
  47. $aData['sql_ftp'] = $ctrl['sql_ftp'];
  48. if (!$ssh->auth($aData['passwd'], $aData['address']))
  49. sys::outjs(array('e' => 'Не удалось создать связь с локацией'));
  50. if ($ctrl['user'] != $aData['user']) {
  51. $sql->query('SELECT `id` FROM `users` WHERE `id`="' . $aData['user'] . '" LIMIT 1');
  52. if (!$sql->num())
  53. sys::outjs(array('e' => 'Пользователь не найден.'));
  54. }
  55. $aData['time'] = sys::checkdate($aData['time']);
  56. $sql->query('UPDATE `control` set '
  57. . '`user`="' . $aData['user'] . '",'
  58. . '`address`="' . $aData['address'] . '",'
  59. . '`passwd`="' . $aData['passwd'] . '",'
  60. . '`time`="' . $aData['time'] . '",'
  61. . '`sql_passwd`="' . $aData['sql_passwd'] . '",'
  62. . '`sql_ftp`="' . $aData['sql_ftp'] . '",'
  63. . '`limit`="' . $aData['limit'] . '",'
  64. . '`price`="' . $aData['price'] . '" WHERE `id`="' . $id . '" LIMIT 1');
  65. sys::outjs(array('s' => 'ok'));
  66. }
  67. $html->get('server', 'sections/control');
  68. $html->set('id', $id);
  69. $html->set('user', $ctrl['user']);
  70. $html->set('address', $ctrl['address']);
  71. $html->set('passwd', $ctrl['passwd']);
  72. $html->set('sql_passwd', $ctrl['sql_passwd']);
  73. $html->set('sql_ftp', $ctrl['sql_ftp']);
  74. $html->set('limit', $ctrl['limit']);
  75. $html->set('price', $ctrl['price']);
  76. $html->set('time', date('d/m/Y H:i', $ctrl['time']));
  77. $html->set('date', date('d.m.Y - H:i:s', $ctrl['date']));
  78. $html->set('overdue', $ctrl['overdue'] == 0 ? 'Установить' : date('d/m/Y H:i', $ctrl['overdue']));
  79. $html->set('block', $ctrl['block'] == 0 ? 'Заблокировать' : date('d/m/Y H:i', $ctrl['block']));
  80. $html->pack('main');
  81. ?>