add_dns.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <!-- Begin toolbar -->
  2. <div class="toolbar">
  3. <div class="toolbar-inner">
  4. <div class="toolbar-buttons">
  5. <a class="button button-secondary button-back js-button-back" href="/list/dns/">
  6. <i class="fas fa-arrow-left icon-blue"></i><?= _("Back") ?>
  7. </a>
  8. </div>
  9. <div class="toolbar-buttons">
  10. <?php if (($user_plain == "admin" && $accept === "true") || $user_plain !== "admin") { ?>
  11. <button type="submit" class="button" form="main-form">
  12. <i class="fas fa-floppy-disk icon-purple"></i><?= _("Save") ?>
  13. </button>
  14. <?php } ?>
  15. </div>
  16. </div>
  17. </div>
  18. <!-- End toolbar -->
  19. <div class="container">
  20. <form
  21. x-data="{
  22. showAdvanced: <?= empty($v_adv) ? "false" : "true" ?>
  23. }"
  24. id="main-form"
  25. name="v_add_dns"
  26. method="post"
  27. >
  28. <input type="hidden" name="token" value="<?= $_SESSION["token"] ?>">
  29. <input type="hidden" name="ok" value="Add">
  30. <div class="form-container">
  31. <h1 class="u-mb20"><?= _("Add DNS Zone") ?></h1>
  32. <?php show_alert_message($_SESSION); ?>
  33. <?php if ($user_plain == "admin" && $accept !== "true") { ?>
  34. <div class="alert alert-danger" role="alert">
  35. <i class="fas fa-exclamation"></i>
  36. <p><?= htmlify_trans(sprintf(_("It is strongly advised to {create a standard user account} before adding %s to the server due to the increased privileges the admin account possesses and potential security risks."), _('a dns domain')), '</a>', '<a href="/add/user/">'); ?></p>
  37. </div>
  38. <?php } ?>
  39. <?php if ($user_plain == "admin" && empty($accept)) { ?>
  40. <div class="u-side-by-side u-mt20">
  41. <a href="/add/user/" class="button u-width-full u-mr10"><?= _("Add User") ?></a>
  42. <a href="/add/dns/?accept=true" class="button button-danger u-width-full u-ml10"><?= _("Continue") ?></a>
  43. </div>
  44. <?php } ?>
  45. <?php if (($user_plain == "admin" && $accept === "true") || $user_plain !== "admin") { ?>
  46. <div class="u-mb10">
  47. <label for="v_domain" class="form-label"><?= _("Domain") ?></label>
  48. <input type="text" class="form-control" name="v_domain" id="v_domain" value="<?= htmlentities(trim($v_domain, "'")) ?>" required>
  49. </div>
  50. <div class="u-mb10">
  51. <label for="v_ip" class="form-label"><?= _("IP Address") ?></label>
  52. <div class="u-pos-relative">
  53. <select class="form-select" tabindex="-1" onchange="this.nextElementSibling.value=this.value">
  54. <option value="">clear</option>
  55. <?php
  56. foreach ($v_ips as $ip => $value) {
  57. $display_ip = empty($value['NAT']) ? $ip : "{$value['NAT']}";
  58. echo "<option value='{$display_ip}'>" . htmlentities($display_ip) . "</option>\n";
  59. }
  60. ?>
  61. </select>
  62. <input type="text" class="form-control list-editor" name="v_ip" id="v_ip" value="<?= htmlentities(trim($v_ip, "'")) ?>">
  63. </div>
  64. </div>
  65. <?php if ($_SESSION["userContext"] === "admin" || ($_SESSION["userContext"] === "user" && $_SESSION["POLICY_USER_EDIT_DNS_TEMPLATES"] === "yes")) { ?>
  66. <div class="u-mb10">
  67. <label for="v_template" class="form-label">
  68. <?= _("Template") . "<span class='optional'>" . strtoupper($_SESSION["DNS_SYSTEM"]) . "</span>" ?>
  69. </label>
  70. <select class="form-select" name="v_template" id="v_template">
  71. <?php
  72. foreach ($templates as $key => $value) {
  73. echo "\t\t\t\t<option value=\"".htmlentities($value)."\"";
  74. $svalue = "'".$value."'";
  75. if ((!empty($v_template)) && ( $value == $v_template ) || ($svalue == $v_template)) {
  76. echo ' selected' ;
  77. }
  78. echo ">".htmlentities($value)."</option>\n";
  79. }
  80. ?>
  81. </select>
  82. </div>
  83. <?php } ?>
  84. <div class="u-mb20 u-mt20">
  85. <button x-on:click="showAdvanced = !showAdvanced" type="button" class="button button-secondary">
  86. <?= _("Advanced Options") ?>
  87. </button>
  88. </div>
  89. <div x-cloak x-show="showAdvanced" id="advtable">
  90. <?php if ($_SESSION["DNS_CLUSTER_SYSTEM"] == "hestia-zone" && $_SESSION["SUPPORT_DNSSEC"] == "yes") { ?>
  91. <div class="form-check u-mb10">
  92. <input class="form-check-input" type="checkbox" name="v_dnssec" id="v_dnssec" value="yes" <?php if ($v_dnssec === 'yes'){ echo ' checked'; } ?>>
  93. <label for="v_dnssec">
  94. <?= _("Enable DNSSEC") ?>
  95. </label>
  96. </div>
  97. <?php } ?>
  98. <div class="u-mb10">
  99. <label for="v_exp" class="form-label">
  100. <?= _("Expiration Date") ?> <span class="optional">(<?= _("YYYY-MM-DD") ?>)</span>
  101. </label>
  102. <input type="text" class="form-control" name="v_exp" id="v_exp" value="<?= htmlentities(trim($v_exp, "'")) ?>">
  103. </div>
  104. <div class="u-mb10">
  105. <label for="v_ttl" class="form-label"><?= _("TTL") ?></label>
  106. <input type="text" class="form-control" name="v_ttl" id="v_ttl" value="<?= htmlentities(trim($v_ttl, "'")) ?>">
  107. </div>
  108. <p class="form-label u-mb10"><?= _("Name Servers") ?></p>
  109. <div class="u-mb5">
  110. <input type="text" class="form-control" name="v_ns1" value="<?= htmlentities(trim($v_ns1, "'")) ?>">
  111. </div>
  112. <div class="u-mb5">
  113. <input type="text" class="form-control" name="v_ns2" value="<?= htmlentities(trim($v_ns2, "'")) ?>">
  114. </div>
  115. <?php
  116. if ($v_ns3) {
  117. echo '<div class="u-side-by-side u-mb5">
  118. <input type="text" class="form-control" name="v_ns3" value="' . htmlentities(trim($v_ns3, "'")) . '">
  119. <span class="form-link form-link-danger u-ml10 js-remove-ns">' . _('Delete') . '</span>
  120. </div>';
  121. }
  122. if ($v_ns4) {
  123. echo '<div class="u-side-by-side u-mb5">
  124. <input type="text" class="form-control" name="v_ns4" value="' . htmlentities(trim($v_ns4, "'")) . '">
  125. <span class="form-link form-link-danger u-ml10 js-remove-ns">' . _('Delete') . '</span>
  126. </div>';
  127. }
  128. if ($v_ns5) {
  129. echo '<div class="u-side-by-side u-mb5">
  130. <input type="text" class="form-control" name="v_ns5" value="' . htmlentities(trim($v_ns5, "'")) . '">
  131. <span class="form-link form-link-danger u-ml10 js-remove-ns">' . _('Delete') . '</span>
  132. </div>';
  133. }
  134. if ($v_ns6) {
  135. echo '<div class="u-side-by-side u-mb5">
  136. <input type="text" class="form-control" name="v_ns6" value="' . htmlentities(trim($v_ns6, "'")) . '">
  137. <span class="form-link form-link-danger u-ml10 js-remove-ns">' . _('Delete') . '</span>
  138. </div>';
  139. }
  140. if ($v_ns7) {
  141. echo '<div class="u-side-by-side u-mb5">
  142. <input type="text" class="form-control" name="v_ns7" value="' . htmlentities(trim($v_ns7, "'")) . '">
  143. <span class="form-link form-link-danger u-ml10 js-remove-ns">' . _('Delete') . '</span>
  144. </div>';
  145. }
  146. if ($v_ns8) {
  147. echo '<div class="u-side-by-side u-mb5">
  148. <input type="text" class="form-control" name="v_ns8" value="' . htmlentities(trim($v_ns8, "'")) . '">
  149. <span class="form-link form-link-danger u-ml10 js-remove-ns">' . _('Delete') . '</span>
  150. </div>';
  151. }
  152. ?>
  153. <button type="button" class="form-link u-mt20 js-add-ns" <?php if ($v_ns8) echo 'style="display:none;"'; ?>>
  154. <?= _("Add Name Server") ?>
  155. </button>
  156. </div>
  157. <?php } ?>
  158. </div>
  159. </form>
  160. </div>