check_configure_kerio_buisness_mail.tpl 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <style>
  2. .has-error { background-color: #f003 !important; }
  3. .has-success { background-color: #0f03 !important; }
  4. </style>
  5. <script>
  6. function is_domain(str) {
  7. console.log(str);
  8. const regexp = /^[a-z0-9-]+\.[a-z][a-z]+$/;
  9. return regexp.test(str);
  10. }
  11. function checkInput (domain, pid) {
  12. var xhttp = new XMLHttpRequest();
  13. var success = false;
  14. xhttp.onreadystatechange = function() {
  15. if (this.readyState == 4 && this.status == 200) {
  16. if( this.responseText.trim() == 'yes') {
  17. console.log(this.responseText);
  18. $(customFields[0]).addClass('has-success');
  19. $(customFields[0]).removeClass('has-error');
  20. $("#hint").text('');
  21. if ($(checkBox[0]).hasClass('checked')) {
  22. $("#btnCompleteProductConfig").prop("disabled",false);
  23. } else {
  24. $("#btnCompleteProductConfig").prop("disabled",true);
  25. $("#hint").text('Bitte akzeptieren Sie die erweiterten Nutzungsbedingungen!');
  26. }
  27. } else if ( this.responseText.trim() == 'invalid') {
  28. console.log(this.responseText);
  29. $(customFields[0]).addClass('has-error');
  30. $(customFields[0]).removeClass('has-success');
  31. $("#btnCompleteProductConfig").prop("disabled",true);
  32. $("#hint").text('Ungültiger Domainname!');
  33. } else {
  34. console.log(this.responseText);
  35. $(customFields[0]).addClass('has-error');
  36. $(customFields[0]).removeClass('has-success');
  37. $("#hint").text('Domain ' + $(customFields[0]).val() + ' nicht verfügbar!');
  38. $("#btnCompleteProductConfig").prop("disabled",true);
  39. }
  40. }
  41. };
  42. xhttp.open("GET", "modules/servers/kerioEmail/kerioDomainAvailable.php?domain=" + domain + '&pid=' + pid, true);
  43. xhttp.send();
  44. };
  45. jQuery(document).ready(function(){
  46. customFields = $("*[id^='customfield']");
  47. checkBoxHelper = $("*[class^='iCheck-helper']");
  48. checkBox = $("*[id^='iCheck-customfield']")
  49. $("#btnCompleteProductConfig").prop("disabled",true);
  50. $("#hint").text('Bitte wählen Sie Ihre Maildomain und akzeptieren Sie die erweiterten Nutzungsbedingungen!');
  51. $(customFields[0]).val(''); // domain
  52. $(checkBox[0]).removeClass('checked'); // checkbox
  53. $(customFields[0]).blur(function () {
  54. if (is_domain($(customFields[0]).val().trim())) {
  55. setTimeout(function () {
  56. checkInput( $(customFields[0]).val().trim(), {$productinfo['pid']});
  57. }, 1);
  58. } else {
  59. $(customFields[0]).addClass('has-error');
  60. $(customFields[0]).removeClass('has-success');
  61. $("#btnCompleteProductConfig").prop("disabled",true);
  62. $("#hint").text('Ungültiger Domainname!');
  63. }
  64. });
  65. $(customFields[0]).on('input', function () {
  66. if (is_domain($(customFields[0]).val().trim())) {
  67. setTimeout(function () {
  68. checkInput( $(customFields[0]).val().trim(), {$productinfo['pid']});
  69. }, 1);
  70. } else {
  71. $(customFields[0]).addClass('has-error');
  72. $(customFields[0]).removeClass('has-success');
  73. $("#btnCompleteProductConfig").prop("disabled",true);
  74. $("#hint").text('Ungültiger Domainname!');
  75. }
  76. });
  77. $(checkBoxHelper[0]).click(function () {
  78. if (is_domain($(customFields[0]).val().trim())) {
  79. setTimeout(function () {
  80. checkInput( $(customFields[0]).val().trim(), {$productinfo['pid']});
  81. }, 1);
  82. } else {
  83. $(customFields[0]).addClass('has-error');
  84. $(customFields[0]).removeClass('has-success');
  85. $("#btnCompleteProductConfig").prop("disabled",true);
  86. $("#hint").text('Ungültiger Domainname!');
  87. }
  88. });
  89. });
  90. </script>