index.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. use function Hestiacp\quoteshellarg\quoteshellarg;
  3. $TAB = "DNS";
  4. // Main include
  5. include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
  6. // Data & Render page
  7. if (empty($_GET["domain"])) {
  8. exec(HESTIA_CMD . "v-list-dns-domains " . $user . " 'json'", $output, $return_var);
  9. $data = json_decode(implode("", $output), true);
  10. if ($_SESSION["userSortOrder"] == "name") {
  11. ksort($data);
  12. } else {
  13. $data = array_reverse($data, true);
  14. }
  15. unset($output);
  16. render_page($user, $TAB, "list_dns");
  17. } elseif (!empty($_GET["action"])) {
  18. exec(
  19. HESTIA_CMD .
  20. "v-list-dnssec-public-key " .
  21. $user .
  22. " " .
  23. quoteshellarg($_GET["domain"]) .
  24. " 'json'",
  25. $output,
  26. $return_var,
  27. );
  28. $data = json_decode(implode("", $output), true);
  29. $domain = $_GET["domain"];
  30. switch ($data[$domain]["FLAG"]) {
  31. case 257:
  32. $flag = "KSK (257)";
  33. break;
  34. case 256:
  35. $flag = "ZSK (256)";
  36. break;
  37. }
  38. switch ($data[$domain]["ALGORITHM"]) {
  39. case 3:
  40. $algorithm = "3 - DSA";
  41. break;
  42. case 5:
  43. $algorithm = "5 - RSA/SHA1";
  44. break;
  45. case 6:
  46. $algorithm = "6 - DSA-NSEC3-SHA1";
  47. break;
  48. case 7:
  49. $algorithm = "7 - RSA/SHA1-NSEC3-SHA1";
  50. break;
  51. case 8:
  52. $algorithm = "8 - RSA/SHA256";
  53. break;
  54. case 10:
  55. $algorithm = "10 - RSA/SHA512";
  56. break;
  57. case 12:
  58. $algorithm = "12 - ECC-GOST";
  59. break;
  60. case 13:
  61. $algorithm = "13 - ECDSAP256/SHA256";
  62. break;
  63. case 14:
  64. $algorithm = "14 - ECDSAP384/SHA384";
  65. break;
  66. case 15:
  67. $algorithm = "15 - ED25519/SHA512";
  68. break;
  69. case 16:
  70. $algorithm = "16 - ED448/SHA912";
  71. break;
  72. default:
  73. $algorithm = "Unknown";
  74. }
  75. unset($output);
  76. render_page($user, $TAB, "list_dns_public");
  77. } else {
  78. exec(
  79. HESTIA_CMD .
  80. "v-list-dns-records " .
  81. $user .
  82. " " .
  83. quoteshellarg($_GET["domain"]) .
  84. " 'json'",
  85. $output,
  86. $return_var,
  87. );
  88. $data = json_decode(implode("", $output), true);
  89. if ($_SESSION["userSortOrder"] == "name") {
  90. ksort($data);
  91. } else {
  92. $data = array_reverse($data, true);
  93. }
  94. unset($output);
  95. render_page($user, $TAB, "list_dns_rec");
  96. }
  97. // Back uri
  98. $_SESSION["back"] = $_SERVER["REQUEST_URI"];