index.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?php
  2. // Init
  3. error_reporting(NULL);
  4. $TAB = 'SEARCH';
  5. header('Content-Type: application/json');
  6. $_SESSION['back'] = $_SERVER['REQUEST_URI'];
  7. // Main include
  8. include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
  9. // Check query
  10. $q = $_GET['q'];
  11. if (empty($q)) {
  12. $back=getenv("HTTP_REFERER");
  13. if (!empty($back)) {
  14. header("Location: ".$back);
  15. exit;
  16. }
  17. header("Location: /");
  18. exit;
  19. }
  20. // Data
  21. $q = escapeshellarg($q);
  22. $command = $_SESSION['user'] == 'admin'
  23. ? "v-search-object $q json"
  24. : "v-search-user-object $user $q json";
  25. exec (VESTA_CMD . $command, $output, $return_var);
  26. $data = json_decode(implode('', $output), true);
  27. // Render page
  28. // render_page($user, $TAB, 'list_search');
  29. foreach ($data as $key => $value) {
  30. ++$i;
  31. if ($value['SUSPENDED'] == 'yes') {
  32. $data[$key]['status'] = __('suspended');
  33. $data[$key]['spnd_action'] = __('unsuspend');
  34. } else {
  35. $data[$key]['status'] = __('active');
  36. $data[$key]['spnd_action'] = __('suspend');
  37. }
  38. if ($value['TYPE'] == 'db') {
  39. $data[$key]['object'] = 'database';
  40. } else {
  41. $data[$key]['object'] = strtolower($value['TYPE'] . ' ' . $value['KEY']);
  42. }
  43. $uniq_id = $value['TYPE'] . '-';
  44. if ($value['KEY'] == 'ACCOUNT'){
  45. $uniq_id .= 'acc-';
  46. }
  47. $uniq_id .= sha1($value['RESULT']);
  48. $data[$key]['uniq_id'] = $uniq_id;
  49. if ($value['KEY'] == 'RECORD') {
  50. $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER'];
  51. }
  52. if ($value['KEY'] == 'ACCOUNT') {
  53. $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER'];
  54. }
  55. if ($value['KEY'] == 'JOB') {
  56. $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER'];
  57. }
  58. if ($value['KEY'] == 'DATABASE') {
  59. $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER'];
  60. }
  61. if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) {
  62. $data[$key]['edit_link'] = '/edit/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER'];
  63. }
  64. if ($value['KEY'] == 'RECORD') {
  65. $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER'];
  66. $data[$key]['spnd_confirmation'] = __('SUSPEND_RECORD_CONFIRMATION', $key);
  67. }
  68. if ($value['KEY'] == 'ACCOUNT') {
  69. $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER'];
  70. $data[$key]['spnd_confirmation'] = __('SUSPEND_USER_CONFIRMATION', $key);
  71. }
  72. if ($value['KEY'] == 'JOB') {
  73. $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER'];
  74. $data[$key]['spnd_confirmation'] = __('SUSPEND_CRON_CONFIRMATION', $key);
  75. }
  76. if ($value['KEY'] == 'DATABASE') {
  77. $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER'];
  78. $data[$key]['spnd_confirmation'] = __('SUSPEND_DATABASE_CONFIRMATION', $key);
  79. }
  80. if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) {
  81. $data[$key]['spnd_link'] = $spnd_action.'/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER'];
  82. $data[$key]['spnd_confirmation'] = __('SUSPEND_DOMAIN_CONFIRMATION', $key);
  83. }
  84. if ($value['KEY'] == 'RECORD') {
  85. $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&record_id='.$value['LINK'].'&user='.$value['USER'];
  86. $data[$key]['delete_confirmation'] = __('DELETE_RECORD_CONFIRMATION', $key);
  87. }
  88. if ($value['KEY'] == 'ACCOUNT') {
  89. $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?domain='.$value['PARENT'].'&account='.$value['LINK'].'&user='.$value['USER'];
  90. $data[$key]['delete_confirmation'] = __('DELETE_USER_CONFIRMATION', $key);
  91. }
  92. if ($value['KEY'] == 'JOB') {
  93. $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?job='.$value['LINK'].'&user='.$value['USER'];
  94. $data[$key]['delete_confirmation'] = __('DELETE_CRON_CONFIRMATION', $key);
  95. }
  96. if ($value['KEY'] == 'DATABASE') {
  97. $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?database='.$value['RESULT'].'&user='.$value['USER'];
  98. $data[$key]['delete_confirmation'] = __('DELETE_DATABASE_CONFIRMATION', $key);
  99. }
  100. if (($value['KEY'] != 'RECORD') && ($value['KEY'] != 'ACCOUNT') && ($value['KEY'] != 'JOB') && ($value['KEY'] != 'DATABASE') ) {
  101. $data[$key]['delete_link'] = '/delete/'.$value['TYPE'].'/?'.strtolower($value['KEY']).'='.$value['RESULT'].'&user='.$value['USER'];
  102. $data[$key]['delete_confirmation'] = __('DELETE_DOMAIN_CONFIRMATION', $key);
  103. }
  104. if ($value['TYPE'] == 'user') {
  105. if ($key == $user) {
  106. $data[$key]['logout_link'] = '/logout';
  107. } else {
  108. $data[$key]['login_as_link'] = '/login/?loginas='.$data[$key]['USER'];
  109. }
  110. $data[$key]['spnd_confirmation'] = $value['SUSPENDED'] == 'yes' ? __('UNSUSPEND_USER_CONFIRMATION', $value['USER']) : __('SUSPEND_USER_CONFIRMATION', $value['USER']);
  111. $data[$key]['delete_confirmation'] = __('DELETE_USER_CONFIRMATION', $value['USER']);
  112. }
  113. $data[$key]['ALIAS'] = str_replace(',', ', ', $value['ALIAS']);
  114. $data[$key]['STARRED'] = 0;
  115. if($_COOKIE[$uniq_id] == 1) {
  116. $data[$key]['STARRED'] = 1;
  117. }
  118. if ( $i == 1) {
  119. $total = __('1 object');
  120. } else {
  121. $total = __('%s objects',$i);
  122. }
  123. }
  124. $result = array(
  125. 'data' => $data,
  126. 'total' => isset($total) ? $total : __('%s objects', 0)
  127. );
  128. echo json_encode($result);