rspamd.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. var rspamdPresets = [
  2. {
  3. description: lang.rsettings_preset_1,
  4. codeValue: 'priority = 10;\nauthenticated = yes;\napply "default" {\n symbols_enabled = ["DKIM_SIGNED", "RATELIMITED", "RATELIMIT_UPDATE", "RATELIMIT_CHECK", "DYN_RL_CHECK", "HISTORY_SAVE", "MILTER_HEADERS", "ARC_SIGNED"];\n}'
  5. },
  6. {
  7. description: lang.rsettings_preset_2,
  8. codeValue: 'priority = 10;\nrcpt = "/postmaster@.*/";\nwant_spam = yes;'
  9. }
  10. ];
  11. /*
  12. TODO: aus API holen:
  13. /api/v1/get/rspamd/sieve/
  14. */
  15. var rspamd_presetsElem = document.getElementById("rspamd_presets");
  16. if (rspamd_presetsElem && rspamdPresets) {
  17. rspamd_presetsElem.innerHTML = '';
  18. rspamdPresets.forEach(function (item, index) {
  19. var elemID = 'rspamd_preset_' + index;
  20. rspamd_presetsElem.innerHTML += '<li><a href="#" class="small" id="' + elemID + '">' + lang.rsettings_insert_preset.replace('%s', item.description) + '</a></li>';
  21. /*
  22. we need to define 0-timeout here, to prevent dom not be ready.
  23. */
  24. setTimeout(function () {
  25. document.getElementById(elemID).addEventListener('click', function (e) {
  26. e.preventDefault();
  27. document.querySelector('form[data-id=rsetting] #adminRspamdSettingsDesc').value = item.description;
  28. document.querySelector('form[data-id=rsetting] #adminRspamdSettingsContent').value = item.codeValue;
  29. return true;
  30. });
  31. }, 0)
  32. });
  33. }