inbox_email.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. [[!profile]]
  2. <div class="container-fluid">
  3. <form class="needs-validation" id="email-form" method="post" action="" role="form" enctype="multipart/form-data" novalidate><!-- ~[*id*]~] -->
  4. <div class="input-group mb-3">
  5. <div class="input-group-prepend">
  6. <span class="input-group-text" id="basic-addon1"><i class="far fa-paper-plane"></i></span>
  7. </div>
  8. <input type="email" class="form-control font-weight-bold" name="emailFrom" id="emailFrom" required="required" value='[[+fullname]] <[[+email]]>' readonly>
  9. </div>
  10. <input type="hidden" hidden class="form-control" name="emailFrom" id="emailFrom" required="required" value='[[+email]]' >
  11. <input type="hidden" hidden class="form-control" name="emailFromName" id="emailFromName" required="required" value='[[+fullname]]' >
  12. <input type="hidden" class="form-control" name="emailReply" id="emailReply" required="required" value='[[+email]]' >
  13. <input type="hidden" hidden class="form-control" name="emailReplyName" id="emailReplyName" required="required" value='[[+fullname]]' >
  14. <div class="input-group mb-3">
  15. <div class="input-group-prepend">
  16. <span class="input-group-text" id="emailAddress"><i class="fas fa-envelope-open"></i></span>
  17. </div>
  18. <input type="email" class="form-control" name="emailAddress" id="emailAddress" aria-describedby="emailAddress" placeholder="To" required="required">
  19. <div id="emailAddress" class="invalid-feedback">Please provide a valid email address</div>
  20. </div>
  21. <div class="input-group mb-3">
  22. <div class="input-group-prepend">
  23. <span class="input-group-text" id="carboncopy"><i class="far fa-envelope-open"></i></span>
  24. </div>
  25. <input type="email" class="form-control" name="carboncopy" id="carboncopy" aria-describedby="carboncopy" placeholder="CC" >
  26. </div>
  27. <div class="input-group mb-3">
  28. <div class="input-group-prepend">
  29. <span class="input-group-text" id="subject"><i class="far fa-comment"></i></span>
  30. </div>
  31. <input type="text" class="form-control" name="subject" id="subject" aria-describedby="emailHelp" placeholder="Email Subject" required="required">
  32. <div id="emailAddress" class="invalid-feedback">Please provide a email subject</div>
  33. </div>
  34. <div class="input-group mb-3">
  35. <div class="input-group-prepend">
  36. <span class="input-group-text" id="attachment"><i class="fas fa-paperclip"></i></span>
  37. </div>
  38. <div class="custom-file attachment-row">
  39. <input type="file" class="custom-file-input" name="attachment[]" id="attachment" aria-describedby="attachment">
  40. <label class="custom-file-label" for="inputGroupFile01"></label>
  41. </div>
  42. <!--
  43. <div onClick="addMoreAttachment();" class="icon-add-more-attachemnt" title="Add More Attachments">
  44. <i class="fas fa-folder-plus"></i>
  45. </div>
  46. -->
  47. </div>
  48. <div class="form-group">
  49. <label for="exampleFormControlTextarea1">Email Message</label>
  50. <textarea class="form-control" name="emailBody" id="emailBody" rows="10">
  51. <br>Regards<br>
  52. <b>[[+fullname]]</b><br>
  53. <span class="text-success">Crop Monitor Consultant</span><br>
  54. <b>Mob:</b> 0417 728 061 | <b>Email:</b> [[+email]]<br><br>
  55. <img src="client-assets/images/crop-monitor.png" alt="Crop Monitor" style="width:10%;"></img><br> <!-- src="[[+photo]]" -->
  56. </textarea>
  57. <div class="valid-feedback"></div>
  58. </div>
  59. <button name="send" id="send" type="submit" class="btn btn-primary">Submit</button>
  60. </form>
  61. [[!formSubmit]]
  62. </div>
  63. <script type="text/javascript">
  64. // Example starter JavaScript for disabling form submissions if there are invalid fields
  65. (function() {
  66. 'use strict';
  67. window.addEventListener('load', function() {
  68. // Fetch all the forms we want to apply custom Bootstrap validation styles to
  69. var forms = document.getElementsByClassName('needs-validation');
  70. // Loop over them and prevent submission
  71. var validation = Array.prototype.filter.call(forms, function(form) {
  72. form.addEventListener('submit', function(event) {
  73. if (form.checkValidity() === false) {
  74. event.preventDefault();
  75. event.stopPropagation();
  76. }
  77. form.classList.add('was-validated');
  78. }, false);
  79. });
  80. }, false);
  81. })();
  82. </script>
  83. <script type="text/javascript">
  84. function validate() {
  85. var valid = true;
  86. $(".valid-feedback").html("");
  87. var userName = document.forms["email-form"]["emailAddress"].value;
  88. var subject = document.forms["email-form"]["subject"].value;
  89. var userMessage = document.forms["email-form"]["emailBody"].value;
  90. if (emailAddress == "") {
  91. $("#emailAddress").html("(required)");
  92. $("#emailAddress").css('background-color', '#FFFFDF');
  93. valid = false;
  94. }
  95. if (!emailAddress.match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/))
  96. {
  97. $("#emailAddress").html("(invalid)");
  98. $("#emailAddress").css('background-color', '#FFFFDF');
  99. valid = false;
  100. }
  101. if (subject == "") {
  102. $("#subject").html("(required)");
  103. $("#subject").css('background-color', '#FFFFDF');
  104. valid = false;
  105. }
  106. if (v == "") {
  107. $("#emailBody").html("(required)");
  108. $("#emailBody").css('background-color', '#FFFFDF');
  109. valid = false;
  110. }
  111. return valid;
  112. }
  113. /*
  114. function addMoreAttachment() {
  115. $(".attachment-row:last").clone().insertAfter(".attachment-row:last");
  116. $(".attachment-row:last").find("input").val("");
  117. }
  118. */
  119. </script>
  120. <script src="https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=xcotawi18mg1imp8im144buq68h9g3ndd3c9c8215w8qu3ld"></script>
  121. <script>
  122. tinymce.init({
  123. selector: 'textarea',
  124. menubar: false,
  125. plugins: [
  126. "advlist autolink lists link image charmap print preview anchor",
  127. "searchreplace visualblocks code fullscreen",
  128. "insertdatetime media table paste imagetools wordcount"
  129. ],
  130. toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link ',
  131. content_css: [
  132. '//fonts.googleapis.com/css?family=Lato:300,300i,400,400i',
  133. '//www.tiny.cloud/css/codepen.min.css'
  134. ]
  135. });
  136. </script>