index.php 966 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. use function Hestiacp\quoteshellarg\quoteshellarg;
  3. // Main include
  4. include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
  5. if (empty($_GET["user"])) {
  6. $_GET["user"] = "";
  7. }
  8. if ($_GET["user"] === "system") {
  9. $TAB = "SERVER";
  10. } else {
  11. $TAB = "LOG";
  12. }
  13. // Redirect non-administrators if they request another user's log
  14. if ($_SESSION["userContext"] !== "admin" && !empty($_GET["user"])) {
  15. header("location: /login/");
  16. exit();
  17. }
  18. // Data
  19. if ($_SESSION["userContext"] === "admin" && !empty($_GET["user"])) {
  20. // Check token
  21. verify_csrf($_GET);
  22. $user = quoteshellarg($_GET["user"]);
  23. }
  24. exec(HESTIA_CMD . "v-list-user-log $user json", $output, $return_var);
  25. check_error($return_var);
  26. $data = json_decode(implode("", $output), true);
  27. $data = array_reverse($data);
  28. unset($output);
  29. if (empty($_SESSION["look"])) {
  30. unset($_SESSION["look"]);
  31. }
  32. // Render page
  33. if ($user === "system") {
  34. $user = "'" . $_SESSION["user"] . "'";
  35. }
  36. render_page($user, $TAB, "list_log");