copy.php 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. if(!DEFINED('EGP'))
  3. exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
  4. if($go)
  5. {
  6. // Подразделы
  7. $aSub = array('fullcopy', 'create', 'recfull', 'recpart', 'remove', 'check');
  8. // Если выбран подраздел
  9. if(isset($url['subsection']) AND in_array($url['subsection'], $aSub))
  10. {
  11. if($url['subsection'] != 'check')
  12. $nmch = sys::rep_act('ctrl_server_copy_go_'.$sid, 10);
  13. if($server['status'] != 'off' AND $url['subsection'] != 'remove')
  14. sys::outjs(array('e' => 'Игровой сервер должен быть выключен'), $nmch);
  15. $sql->query('SELECT `address`, `passwd` FROM `control` WHERE `id`="'.$id.'" LIMIT 1');
  16. $unit = $sql->get();
  17. include(LIB.'ssh.php');
  18. if(!$ssh->auth($unit['passwd'], $unit['address']))
  19. sys::outjs(array('e' => sys::text('error', 'ssh')), $nmch);
  20. include(SEC.'control/servers/games/copy/'.$url['subsection'].'.php');
  21. }
  22. }
  23. $html->nav('Список подключенных серверов', $cfg['http'].'control');
  24. $html->nav('Список игровых серверов #'.$id, $cfg['http'].'control/id/'.$id);
  25. $html->nav($server['address'], $cfg['http'].'control/id/'.$id.'/server/'.$sid);
  26. $html->nav('Резервные копии');
  27. if($mcache->get('ctrl_server_copy_'.$sid) != '')
  28. $html->arr['main'] = $mcache->get('ctrl_server_copy_'.$sid);
  29. else{
  30. // Построение списка создания копии
  31. foreach(params::$section_copy[$server['game']]['aCopy'] as $name => $info)
  32. {
  33. $html->get('list', 'sections/control/servers/games/copy');
  34. $html->set('name', $name);
  35. $html->set('info', $info);
  36. $html->pack('list');
  37. }
  38. // Построение списка созданных копий
  39. $sql->query('SELECT `id`, `server`, `info`, `date`, `status` FROM `control_copy` WHERE `user`="'.$ctrl['user'].'_'.$id.'" AND `game`="'.$server['game'].'" ORDER BY `id` ASC');
  40. while($copy = $sql->get())
  41. {
  42. $html->get('copy', 'sections/control/servers/games/copy');
  43. $html->set('id', $copy['id']);
  44. $html->set('info', $copy['info']);
  45. $html->set('server', $copy['server']);
  46. $html->set('date', sys::today($copy['date']));
  47. if($copy['status'])
  48. {
  49. $html->unit('created', 1);
  50. $html->unit('!created');
  51. }else{
  52. $html->unit('created');
  53. $html->unit('!created', 1);
  54. }
  55. $html->pack('copy');
  56. }
  57. $html->get('copy', 'sections/control/servers/'.$server['game']);
  58. $html->set('id', $id);
  59. $html->set('server', $sid);
  60. $html->set('list', isset($html->arr['list']) ? $html->arr['list'] : '');
  61. $html->set('copy', isset($html->arr['copy']) ? $html->arr['copy'] : 'Резервные копии отсутствуют.');
  62. $html->pack('main');
  63. $mcache->set('ctrl_server_copy_'.$sid, $html->arr['main'], false, 4);
  64. }
  65. ?>