add_web.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // Page entry point
  2. // Trigger listeners
  3. App.Listeners.DB.keypress_custom_folder();
  4. App.Listeners.DB.change_custom_doc();
  5. App.Actions.WEB.update_ftp_username_hint = function (elm, hint) {
  6. if (hint.trim() == '') {
  7. $(elm).parent().find('.hint').text('');
  8. }
  9. hint = hint.replace(/[^\w\d]/gi, '');
  10. $(elm).parent().find('.v-ftp-user').val(hint);
  11. $(elm)
  12. .parent()
  13. .find('.hint')
  14. .text(GLOBAL.FTP_USER_PREFIX + hint);
  15. };
  16. App.Listeners.WEB.keypress_ftp_username = function () {
  17. var ftp_user_inputs = $('.v-ftp-user');
  18. $.each(ftp_user_inputs, function (i, ref) {
  19. var ref = $(ref);
  20. var current_val = ref.val();
  21. if (current_val.trim() != '') {
  22. App.Actions.WEB.update_ftp_username_hint(ref, current_val);
  23. }
  24. ref.bind('keypress input', function (evt) {
  25. clearTimeout(window.frp_usr_tmt);
  26. window.frp_usr_tmt = setTimeout(function () {
  27. var elm = $(evt.target);
  28. App.Actions.WEB.update_ftp_username_hint(elm, $(elm).val());
  29. }, 100);
  30. });
  31. });
  32. };
  33. App.Listeners.WEB.keypress_domain_name = function () {
  34. $('#v_domain').bind('keypress input', function (evt) {
  35. clearTimeout(window.frp_usr_tmt);
  36. window.frp_usr_tmt = setTimeout(function () {
  37. //var elm = $(evt.target);
  38. //App.Actions.WEB.update_ftp_username_hint(elm, $(elm).val());
  39. var domain = $('.js-ftp-path-prefix').text(
  40. GLOBAL.FTP_USER_PREPATH + '/' + $('#v_domain').val()
  41. );
  42. $('#v-custom-doc-domain-main').text($('#v_domain').val());
  43. $('#v-custom-doc-domain-main').val($('#v_domain').val());
  44. App.Actions.WEB.update_custom_doc_root(13, 12);
  45. }, 100);
  46. });
  47. };
  48. App.Actions.WEB.toggle_letsencrypt = function (elm) {
  49. if ($(elm).prop('checked')) {
  50. $(
  51. '#ssltable textarea[name=v_ssl_crt],#ssltable textarea[name=v_ssl_key], #ssltable textarea[name=v_ssl_ca]'
  52. ).attr('disabled', 'disabled');
  53. $('#generate-csr').hide();
  54. $('.lets-encrypt-note').show();
  55. } else {
  56. $(
  57. '#ssltable textarea[name=v_ssl_crt],#ssltable textarea[name=v_ssl_key], #ssltable textarea[name=v_ssl_ca]'
  58. ).removeAttr('disabled');
  59. $('#generate-csr').show();
  60. $('.lets-encrypt-note').hide();
  61. }
  62. };
  63. //
  64. // Page entry point
  65. App.Listeners.WEB.keypress_ftp_username();
  66. App.Listeners.WEB.keypress_ftp_path();
  67. App.Listeners.WEB.keypress_domain_name();
  68. $(function () {
  69. $('#v_domain').change(function () {
  70. var prefix = 'www.';
  71. if (document.getElementById('v_domain').value.split('.').length > 2) {
  72. document.getElementById('v_aliases').value = '';
  73. } else {
  74. document.getElementById('v_aliases').value =
  75. prefix + document.getElementById('v_domain').value;
  76. }
  77. });
  78. App.Actions.WEB.toggle_letsencrypt($('input[name=v_letsencrypt]'));
  79. $('select[name="v_stats"]').change(function (evt) {
  80. var select = $(evt.target);
  81. if (select.val() == 'none') {
  82. $('.stats-auth').hide();
  83. } else {
  84. $('.stats-auth').show();
  85. }
  86. });
  87. });
  88. function WEBrandom() {
  89. document.v_add_web.v_stats_password.value = randomString2(16);
  90. }
  91. $('#vstobjects').on('submit', function (evt) {
  92. $('input[disabled]').each(function (i, elm) {
  93. $(elm).removeAttr('disabled');
  94. });
  95. });