open.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. if(!DEFINED('EGP'))
  3. exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
  4. // Закрытие / Удаление вопроса
  5. if(isset($url['action']) AND in_array($url['action'], array('close', 'delete')))
  6. include(SEC.'help/action/'.$url['action'].'.php');
  7. // Массив статусов вопроса
  8. $status = array(
  9. 0 => 'Есть ответ',
  10. 1 => 'Ожидается ответ',
  11. 2 => 'Прочитан'
  12. );
  13. if(in_array($user['group'], array('admin', 'support')))
  14. $sql->query('SELECT `id` FROM `help` WHERE `close`="0"');
  15. else
  16. $sql->query('SELECT `id` FROM `help` WHERE `user`="'.$user['id'].'" AND `close`="0"');
  17. $aPage = sys::page($page, $sql->num(), 20);
  18. sys::page_gen($aPage['ceil'], $page, $aPage['page'], 'help/section/open');
  19. if(in_array($user['group'], array('admin', 'support')))
  20. $helps = $sql->query('SELECT `id`, `user`, `type`, `service`, `status`, `date`, `time`, `title` FROM `help` WHERE `close`="0" ORDER BY `id` DESC LIMIT '.$aPage['num'].', 20');
  21. else
  22. $helps = $sql->query('SELECT `id`, `type`, `service`, `status`, `date`, `time`, `title` FROM `help` WHERE `user`="'.$user['id'].'" AND `close`="0" ORDER BY `id` DESC LIMIT '.$aPage['num'].', 20');
  23. // Массив пользователей
  24. $uArr = array();
  25. while($help = $sql->get($helps))
  26. {
  27. // Создатель вопроса
  28. if(in_array($user['group'], array('admin', 'support')) AND !isset($uArr[$help['user']]))
  29. {
  30. $sql->query('SELECT `login` FROM `users` WHERE `id`="'.$help['user'].'" LIMIT 1');
  31. if(!$sql->num())
  32. $uArr[$help['user']] = 'Пользователь удален';
  33. else{
  34. $us = $sql->get();
  35. $uArr[$help['user']] = $us['login'];
  36. }
  37. }
  38. // Краткая информация вопроса
  39. switch($help['type'])
  40. {
  41. case 'server':
  42. $sql->query('SELECT `address` FROM `servers` WHERE `id`="'.$help['service'].'" LIMIT 1');
  43. if(!$sql->num())
  44. $name = 'Игровой сервер: #'.$help['service'].' (не найден)';
  45. else{
  46. $ser = $sql->get();
  47. $name = 'Игровой сервер: #'.$help['service'].' '.$ser['address'];
  48. }
  49. break;
  50. case 'hosting':
  51. $name = 'Виртуальных хостинг: #'.$help['service'];
  52. break;
  53. default:
  54. $name = 'Вопрос без определенной услуги';
  55. }
  56. if(!empty($help['title']))
  57. $name = $help['title'];
  58. $html->get('question', 'sections/help/open');
  59. $html->set('id', $help['id']);
  60. if(array_key_exists('user', $help))
  61. {
  62. $html->set('uid', $help['user']);
  63. $html->set('login', $uArr[$help['user']]);
  64. }
  65. $html->set('name', $name);
  66. $html->set('status', $status[$help['status']]);
  67. $html->set('date', sys::today($help['date']));
  68. $html->set('time', sys::today($help['time']));
  69. $html->pack('question');
  70. }
  71. $html->get('open', 'sections/help');
  72. $html->set('question', isset($html->arr['question']) ? $html->arr['question'] : '');
  73. $html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
  74. $html->pack('main');
  75. if(!in_array($user['group'], array('admin', 'support')))
  76. {
  77. $html->unitall('user', 'main', 1);
  78. $html->unitall('support', 'main');
  79. }else{
  80. $html->unitall('user', 'main');
  81. $html->unitall('support', 'main', 1);
  82. }
  83. if($user['group'] == 'admin')
  84. $html->unitall('admin', 'main', 1);
  85. else
  86. $html->unitall('admin', 'main');
  87. ?>