add_web.js 3.3 KB

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