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. // console.log($domain);
  52. $(customFields[0]).val("{$domain}"); // domain
  53. $(checkBox[0]).removeClass('checked'); // checkbox
  54. $(customFields[0]).blur(function () {
  55. if (is_domain($(customFields[0]).val().trim())) {
  56. setTimeout(function () {
  57. checkInput( $(customFields[0]).val().trim(), {$productinfo['pid']});
  58. }, 1);
  59. } else {
  60. $(customFields[0]).addClass('has-error');
  61. $(customFields[0]).removeClass('has-success');
  62. $("#btnCompleteProductConfig").prop("disabled",true);
  63. $("#hint").text('Ungültiger Domainname!');
  64. }
  65. });
  66. $(customFields[0]).on('input', function () {
  67. if (is_domain($(customFields[0]).val().trim())) {
  68. setTimeout(function () {
  69. checkInput( $(customFields[0]).val().trim(), {$productinfo['pid']});
  70. }, 1);
  71. } else {
  72. $(customFields[0]).addClass('has-error');
  73. $(customFields[0]).removeClass('has-success');
  74. $("#btnCompleteProductConfig").prop("disabled",true);
  75. $("#hint").text('Ungültiger Domainname!');
  76. }
  77. });
  78. $(checkBoxHelper[0]).click(function () {
  79. if (is_domain($(customFields[0]).val().trim())) {
  80. setTimeout(function () {
  81. checkInput( $(customFields[0]).val().trim(), {$productinfo['pid']});
  82. }, 1);
  83. } else {
  84. $(customFields[0]).addClass('has-error');
  85. $(customFields[0]).removeClass('has-success');
  86. $("#btnCompleteProductConfig").prop("disabled",true);
  87. $("#hint").text('Ungültiger Domainname!');
  88. }
  89. });
  90. });
  91. </script>