index.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. $TAB = 'Access Key';
  3. // Main include
  4. include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
  5. if (($_SESSION['userContext'] === 'admin') && (!empty($_GET['user']))) {
  6. $user = escapeshellarg($_GET['user']);
  7. $user_plain = $_GET['user'];
  8. }
  9. // Checks if API access is enabled
  10. $api_status = (!empty($_SESSION['API_SYSTEM']) && is_numeric($_SESSION['API_SYSTEM'])) ? $_SESSION['API_SYSTEM'] : 0;
  11. if (($user_plain == 'admin' && $api_status < 1) || ($user_plain != 'admin' && $api_status < 2)) {
  12. header("Location: /edit/user/");
  13. exit;
  14. }
  15. if (!empty($_GET['key'])) {
  16. $v_key = escapeshellarg(trim($_GET['key']));
  17. // Key data
  18. exec(HESTIA_CMD."v-list-access-key ".$v_key." json", $output, $return_var);
  19. $key_data = json_decode(implode('', $output), true);
  20. unset($output);
  21. if (empty($key_data) || $key_data['USER'] != $user_plain) {
  22. header("Location: /list/access-key/");
  23. exit;
  24. }
  25. // APIs
  26. exec(HESTIA_CMD."v-list-apis json", $output, $return_var);
  27. $apis = json_decode(implode('', $output), true);
  28. $apis = array_filter($apis, function ($api) use ($user_plain) {
  29. return ($user_plain == 'admin' || $api['ROLE'] == 'user');
  30. });
  31. ksort($apis);
  32. unset($output);
  33. render_page($user, $TAB, 'list_access_key');
  34. } else {
  35. exec(HESTIA_CMD."v-list-access-keys $user json", $output, $return_var);
  36. $data = json_decode(implode('', $output), true);
  37. uasort($data, function ($a, $b) {
  38. return $a['DATE'] <=> $b['DATE'] ?: $a['TIME'] <=> $b['TIME'];
  39. });
  40. unset($output);
  41. // Render page
  42. render_page($user, $TAB, 'list_access_keys');
  43. }
  44. // Back uri
  45. $_SESSION['back'] = $_SERVER['REQUEST_URI'];