32 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var sieveMailboxPresets = [
 | 
						|
  {
 | 
						|
    description: lang.sieve_preset_1,
 | 
						|
    codeValue: 'if header :contains "x-attached"\n  [".exe",".bat",".js",".com",".cmd",".ini",".dll",".bas",".cpl",".drv",".inf",".sys",".pif",".doc",".docx"] {\n  discard;\n  stop;\n}'
 | 
						|
  },
 | 
						|
  {
 | 
						|
    description: lang.sieve_preset_2,
 | 
						|
    codeValue: 'require ["envelope", "imap4flags"];\nif envelope "from" "mark@me-read.com"\n{\n   setflag "\\\\seen";\n}'
 | 
						|
  }
 | 
						|
];
 | 
						|
 | 
						|
var sieve_presetsElem = document.getElementById("sieve_presets");
 | 
						|
if (sieve_presetsElem && sieveMailboxPresets) {
 | 
						|
  sieve_presetsElem.innerHTML = '';
 | 
						|
  sieveMailboxPresets.forEach(function (item, index) {
 | 
						|
    var elemID = 'sieve_preset_' + index;
 | 
						|
    sieve_presetsElem.innerHTML += '<li><a href="#" class="small" id="' + elemID + '">' + lang.insert_preset.replace('%s', item.description) + '</a></li>';
 | 
						|
 | 
						|
    /*
 | 
						|
    we need to define 0-timeout here, to prevent dom not be ready.
 | 
						|
     */
 | 
						|
    setTimeout(function () {
 | 
						|
      document.getElementById(elemID).addEventListener('click', function (e) {
 | 
						|
        e.preventDefault();
 | 
						|
        document.querySelector('form[data-id=add_filter] #script_desc').value = item.description;
 | 
						|
        document.querySelector('form[data-id=add_filter] #script_data').value = item.codeValue;
 | 
						|
        return true;
 | 
						|
      });
 | 
						|
    }, 0)
 | 
						|
  });
 | 
						|
}
 |