server.php 4.7 KB

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