add_user.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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/user/">
  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="main-form">
  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. loginDisabled: <?= $v_login_disabled == "yes" ? "true" : "false" ?>
  21. }"
  22. id="main-form"
  23. name="v_add_user"
  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="u-mb20"><?= _("Add User") ?></h1>
  30. <?php show_alert_message($_SESSION); ?>
  31. <div class="u-mb10">
  32. <label for="v_username" class="form-label"><?= _("Username") ?></label>
  33. <input type="text" class="form-control" name="v_username" id="v_username" value="<?= htmlentities(trim($v_username, "'")) ?>" tabindex="1" required>
  34. </div>
  35. <div class="u-mb10">
  36. <label for="v_name" class="form-label"><?= _("Contact Name") ?></label>
  37. <input type="text" class="form-control" name="v_name" id="v_name" value="<?= htmlentities(trim($v_name, "'")) ?>" tabindex="2" required>
  38. </div>
  39. <div class="u-mb10">
  40. <label for="v_email" class="form-label"><?= _("Email") ?></label>
  41. <input type="email" class="form-control js-sync-email-input" name="v_email" id="v_email" value="<?= htmlentities(trim($v_email, "'")) ?>" tabindex="3" required>
  42. </div>
  43. <div class="u-mb10">
  44. <label for="v_password" class="form-label">
  45. <?= _("Password") ?>
  46. <button type="button" title="<?= _("Generate") ?>" class="u-unstyled-button u-ml5 js-generate-password">
  47. <i class="fas fa-arrows-rotate icon-green"></i>
  48. </button>
  49. </label>
  50. <div class="u-pos-relative u-mb10">
  51. <input type="text" class="form-control js-password-input" name="v_password" id="v_password" value="<?= htmlentities(trim($v_password, "'")) ?>" tabindex="4" required>
  52. <div class="password-meter">
  53. <meter max="4" class="password-meter-input js-password-meter"></meter>
  54. </div>
  55. </div>
  56. </div>
  57. <p class="u-mb10"><?= _("Your password must have at least") ?>:</p>
  58. <ul class="u-list-bulleted u-mb10">
  59. <li><?= _("8 characters long") ?></li>
  60. <li><?= _("1 uppercase & 1 lowercase character") ?></li>
  61. <li><?= _("1 number") ?></li>
  62. </ul>
  63. <div class="form-check">
  64. <input x-model="loginDisabled" class="form-check-input" type="checkbox" name="v_login_disabled" id="v_login_disabled">
  65. <label for="v_login_disabled">
  66. <?= _("Do not allow user to log in to Control Panel") ?>
  67. </label>
  68. </div>
  69. <div x-cloak x-show="!loginDisabled" id="send-welcome">
  70. <div class="form-check u-mb10">
  71. <input class="form-check-input js-sync-email-checkbox" type="checkbox" name="v_email_notice" id="v_email_notify" tabindex="5">
  72. <label for="v_email_notify">
  73. <?= _("Send welcome email") ?>
  74. </label>
  75. </div>
  76. </div>
  77. <div class="u-mb10">
  78. <label for="v_language" class="form-label"><?= _("Language") ?></label>
  79. <select class="form-select" name="v_language" id="v_language" tabindex="6" required>
  80. <?php
  81. foreach ($languages as $key => $value) {
  82. echo "\n\t\t\t\t\t\t\t\t\t<option value=\"".htmlentities($key)."\"";
  83. if (( $key == $_SESSION['LANGUAGE'] ) && (empty($v_language))){
  84. echo ' selected' ;
  85. }
  86. if (isset($v_language)){
  87. if ( htmlentities($key) == trim($v_language,"'") ){
  88. echo ' selected' ;
  89. }
  90. }
  91. echo ">".htmlentities($value)."</option>\n";
  92. }
  93. ?>
  94. </select>
  95. </div>
  96. <div class="u-mb10">
  97. <label for="v_role" class="form-label"><?= _("Role") ?></label>
  98. <select class="form-select" name="v_role" id="v_role" required>
  99. <option value="user"><?= _("User") ?></option>
  100. <option value="admin" <?= $v_role == "admin" ? "selected" : "" ?>><?= _("Administrator") ?></option>
  101. <option value="dns-cluster" <?= $v_role == "dns-cluster" ? "selected" : "" ?>><?= _("DNS Sync User") ?></option>
  102. </select>
  103. </div>
  104. <div class="u-mb10">
  105. <label for="v_package" class="form-label"><?= _("Package") ?></label>
  106. <select class="form-select" name="v_package" id="v_package" tabindex="8" required>
  107. <?php
  108. foreach ($data as $key => $value) {
  109. echo "\n\t\t\t\t\t\t\t\t\t\t\t\t\t<option value=\"".htmlentities($key)."\"";
  110. if ((!empty($v_package)) && ( $key == $_POST['v_package'])){
  111. echo 'selected' ;
  112. } else {
  113. if ( $key == 'default'){
  114. echo 'selected' ;
  115. }
  116. }
  117. echo ">".htmlentities($key)."</option>\n";
  118. }
  119. ?>
  120. </select>
  121. </div>
  122. <div class="u-mb10">
  123. <label for="v_notify" class="form-label">
  124. <?= _("Email login credentials to:") ?>
  125. </label>
  126. <input type="email" class="form-control js-sync-email-output" name="v_notify" id="v_notify" value="<?= htmlentities(trim($v_notify, "'")) ?>" tabindex="8">
  127. </div>
  128. </div>
  129. </form>
  130. </div>