php-mailer.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. /* PHP MAILER JS FILE */
  2. /*
  3. $(document).on('click', '#PHPMAILER-settings-button', function() {
  4. var post = {
  5. plugin:'PHPMailer/settings/get', // used for switch case in your API call
  6. api:'api/?v1/plugin', // API Endpoint will always be this for custom plugin API calls
  7. name:$(this).attr('data-plugin-name'),
  8. configName:$(this).attr('data-config-name'),
  9. messageTitle:'', // Send succees message title (top line)
  10. messageBody:'Disabled '+$(this).attr('data-plugin-name'), // Send succees message body (bottom line)
  11. error:'Organizr Function: API Connection Failed' // conole error message
  12. };
  13. var callbacks = $.Callbacks(); // init callbacks var
  14. //callbacks.add( ); // add function to callback to be fired after API call
  15. //settingsAPI(post,callbacks); // exec API call
  16. //ajaxloader(".content-wrap","in");
  17. //setTimeout(function(){ buildPlugins();ajaxloader(); }, 3000);
  18. });
  19. */
  20. // FUNCTIONS
  21. function phpmBuildSettingsItems(array){
  22. if (Array.isArray(array)) {
  23. var preRow = `
  24. <!-- FORM GROUP -->
  25. <h3 class="box-title" lang="en">Mail Settings</h3>
  26. <hr class="m-t-0 m-b-40">
  27. <div class="row">
  28. `;
  29. var mailItems = preRow;
  30. $.each(array, function(i,v) {
  31. mailItems += `
  32. <!-- INPUT BOX -->
  33. <div class="col-md-6 p-b-10">
  34. <div class="form-group">
  35. <label class="control-label col-md-3" lang="en">`+v.label+`</label>
  36. <div class="col-md-9">
  37. `+buildFormItem(v)+`
  38. </div>
  39. </div>
  40. </div>
  41. <!--/ INPUT BOX -->
  42. `;
  43. });
  44. mailItems += '</div>';
  45. }
  46. return mailItems;
  47. }
  48. // EVENTS and LISTENERS
  49. // CHANGE CUSTOMIZE Options
  50. $(document).on('change asColorPicker::close', '#PHPMAILER-settings-page :input', function(e) {
  51. var input = $(this);
  52. switch ($(this).attr('type')) {
  53. case 'switch':
  54. case 'checkbox':
  55. var value = $(this).prop("checked") ? true : false;
  56. break;
  57. default:
  58. var value = $(this).val();
  59. }
  60. var post = {
  61. api:'api/?v1/update/config',
  62. name:$(this).attr("name"),
  63. type:$(this).attr("data-type"),
  64. value:value,
  65. messageTitle:'',
  66. messageBody:'Updated Value for '+$(this).parent().parent().find('label').text(),
  67. error:'Organizr Function: API Connection Failed'
  68. };
  69. var callbacks = $.Callbacks();
  70. //callbacks.add( buildCustomizeAppearance );
  71. settingsAPI(post,callbacks);
  72. //disable button then renable
  73. $('#PHPMAILER-settings-page :input').prop('disabled', 'true');
  74. setTimeout(
  75. function(){
  76. $('#PHPMAILER-settings-page :input').prop('disabled', null);
  77. input.emulateTab();
  78. },
  79. 1500
  80. );
  81. });
  82. $(document).on('click', '#PHPMAILER-settings-button', function() {
  83. var post = {
  84. plugin:'PHPMailer/settings/get', // used for switch case in your API call
  85. };
  86. ajaxloader(".content-wrap","in");
  87. organizrAPI('POST','api/?v1/plugin',post).success(function(data) {
  88. var response = JSON.parse(data);
  89. $('#PHPMAILER-settings-items').html(phpmBuildSettingsItems(response.data));
  90. }).fail(function(xhr) {
  91. console.error("Organizr Function: API Connection Failed");
  92. });
  93. ajaxloader();
  94. });
  95. // SEND TEST EMAIL
  96. $(document).on('click', '.phpmSendTestEmail', function() {
  97. var post = {
  98. plugin:'PHPMailer/send/test', // used for switch case in your API call
  99. };
  100. ajaxloader(".content-wrap","in");
  101. organizrAPI('POST','api/?v1/plugin',post).success(function(data) {
  102. var response = JSON.parse(data);
  103. if(response.data == true){
  104. messageSingle('',window.lang.translate('Email Test Successful'),'bottom-right','#FFF','success','5000');
  105. }else{
  106. messageSingle('',response.data,'bottom-right','#FFF','error','5000');
  107. }
  108. }).fail(function(xhr) {
  109. console.error("Organizr Function: API Connection Failed");
  110. });
  111. ajaxloader();
  112. });