add_dns.php 6.6 KB

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