action.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. if(!DEFINED('EGP'))
  3. exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
  4. $sql->query('SELECT `game`, `status` FROM `control_servers` WHERE `id`="'.$sid.'" LIMIT 1');
  5. $server = $sql->get();
  6. if(!isset($url['action']))
  7. sys::outjs(array('e' => 'Неверный запрос для выполнения операции'));
  8. $nmch = 'ctrl_server_action_'.$sid;
  9. if($mcache->get($nmch))
  10. sys::outjs(array('e' => sys::text('other', 'mcache')));
  11. $mcache->set($nmch, true, false, 10);
  12. include(LIB.'control/'.$server['game'].'/action.php');
  13. switch($url['action'])
  14. {
  15. case 'stop':
  16. if(!in_array($server['status'], array('working', 'start', 'restart', 'change')))
  17. sys::outjs(array('e' => sys::text('error', 'ser_stop')), $nmch);
  18. sys::outjs(action::stop($sid), $nmch);
  19. case 'start':
  20. if($server['status'] != 'off')
  21. sys::outjs(array('e' => sys::text('error', 'ser_start')), $nmch);
  22. sys::outjs(action::start($sid), $nmch);
  23. case 'restart':
  24. if(!in_array($server['status'], array('working', 'start', 'restart', 'change')))
  25. sys::outjs(array('e' => sys::text('error', 'ser_restart')), $nmch);
  26. sys::outjs(action::start($sid, 'restart'), $nmch);
  27. case 'change':
  28. if($server['status'] != 'working')
  29. {
  30. if($server['status'] == 'change')
  31. sys::outjs(array('e' => sys::text('other', 'mcache')), $nmch);
  32. sys::outjs(array('e' => sys::text('error', 'ser_change')), $nmch);
  33. }
  34. if(isset($url['change']))
  35. sys::outjs(action::change($sid, $url['change']), $nmch);
  36. sys::outjs(action::change($sid), $nmch);
  37. case 'reinstall':
  38. if($server['status'] != 'off')
  39. sys::outjs(array('e' => sys::text('error', 'ser_reinstall')), $nmch);
  40. sys::outjs(action::reinstall($sid), $nmch);
  41. case 'update':
  42. if($server['status'] != 'off')
  43. sys::outjs(array('e' => sys::text('error', 'ser_update')), $nmch);
  44. sys::outjs(action::update($sid), $nmch);
  45. case 'delete':
  46. if($server['status'] != 'off')
  47. sys::outjs(array('e' => sys::text('error', 'ser_delete')), $nmch);
  48. sys::outjs(action::delete($sid), $nmch);
  49. }
  50. exit;
  51. ?>