mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 20:19:22 +03:00
Activate more Sieve extensions and use parseScript when saving script
This commit is contained in:
parent
58f5e90f8f
commit
40adf992ed
9 changed files with 39 additions and 38 deletions
|
|
@ -43,5 +43,3 @@ export class BodyCommand extends GrammarTest
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
//Sieve.Commands.body = BodyCommand;
|
||||
|
|
|
|||
|
|
@ -34,5 +34,3 @@ export class EnvironmentCommand extends GrammarTest
|
|||
this.key_list = args[args.length-1];
|
||||
}
|
||||
}
|
||||
|
||||
//Sieve.Commands.environment = EnvironmentCommand;
|
||||
|
|
|
|||
|
|
@ -69,10 +69,3 @@ export class StringCommand extends GrammarTest
|
|||
this.key_list = args[args.length-1];
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Object.assign(Sieve.Commands, {
|
||||
set: SetCommand,
|
||||
string: StringCommand
|
||||
});
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -68,10 +68,3 @@ export class VirusTestCommand extends GrammarTest
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Object.assign(Sieve.Commands, {
|
||||
spamtest: SpamTestCommand,
|
||||
virustest: VirusTestCommand
|
||||
});
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ export class CurrentDateCommand extends GrammarTest
|
|||
{
|
||||
constructor()
|
||||
{
|
||||
super('date');
|
||||
super();
|
||||
this.zone = new GrammarQuotedString;
|
||||
this.date_part = new GrammarQuotedString;
|
||||
this.key_list = new GrammarStringList;
|
||||
|
|
@ -76,7 +76,7 @@ export class CurrentDateCommand extends GrammarTest
|
|||
|
||||
toString()
|
||||
{
|
||||
return 'date'
|
||||
return 'currentdate'
|
||||
+ (this.zone.length ? ' :zone ' + this.zone : '')
|
||||
+ (this.comparator ? ' :comparator ' + this.comparator : '')
|
||||
+ ' ' + this.match_type
|
||||
|
|
@ -98,9 +98,3 @@ export class CurrentDateCommand extends GrammarTest
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Object.assign(Sieve.Commands, {
|
||||
date: DateTestCommand,
|
||||
currentdate: CurrentDateCommand
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -83,9 +83,3 @@ export class DeleteHeaderCommand extends GrammarCommand
|
|||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
Object.assign(Sieve.Commands, {
|
||||
addheader: AddHeaderCommand,
|
||||
deleteheader: DeleteHeaderCommand
|
||||
});
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -51,9 +51,10 @@ import {
|
|||
TrueCommand
|
||||
} from 'Sieve/Tests';
|
||||
|
||||
import {
|
||||
VacationCommand
|
||||
} from 'Sieve/Extensions/rfc5230';
|
||||
import { BodyCommand } from 'Sieve/Extensions/rfc5173';
|
||||
import { EnvironmentCommand } from 'Sieve/Extensions/rfc5183';
|
||||
import { SetCommand, StringCommand } from 'Sieve/Extensions/rfc5229';
|
||||
import { VacationCommand } from 'Sieve/Extensions/rfc5230';
|
||||
|
||||
import {
|
||||
SetFlagCommand,
|
||||
|
|
@ -62,6 +63,10 @@ import {
|
|||
HasFlagCommand
|
||||
} from 'Sieve/Extensions/rfc5232';
|
||||
|
||||
import { SpamTestCommand, VirusTestCommand } from 'Sieve/Extensions/rfc5235';
|
||||
import { DateCommand, CurrentDateCommand } from 'Sieve/Extensions/rfc5260';
|
||||
import { AddHeaderCommand, DeleteHeaderCommand } from 'Sieve/Extensions/rfc5293';
|
||||
|
||||
import {
|
||||
ErejectCommand,
|
||||
RejectCommand
|
||||
|
|
@ -97,6 +102,13 @@ const
|
|||
not: NotCommand,
|
||||
size: SizeCommand,
|
||||
true: TrueCommand,
|
||||
// rfc5173
|
||||
body: BodyCommand,
|
||||
// rfc5183
|
||||
environment: EnvironmentCommand,
|
||||
// rfc5229
|
||||
set: SetCommand,
|
||||
string: StringCommand,
|
||||
// rfc5230
|
||||
vacation: VacationCommand,
|
||||
// rfc5232
|
||||
|
|
@ -104,6 +116,15 @@ const
|
|||
addflag: AddFlagCommand,
|
||||
removeflag: RemoveFlagCommand,
|
||||
hasflag: HasFlagCommand,
|
||||
// rfc5235
|
||||
spamtest: SpamTestCommand,
|
||||
virustest: VirusTestCommand,
|
||||
// rfc5260
|
||||
date: DateCommand,
|
||||
currentdate: CurrentDateCommand,
|
||||
// rfc5293
|
||||
AddHeaderCommand,
|
||||
DeleteHeaderCommand,
|
||||
// rfc5429
|
||||
ereject: ErejectCommand,
|
||||
reject: RejectCommand,
|
||||
|
|
|
|||
|
|
@ -43,6 +43,9 @@ export class SieveScriptPopupView extends rl.pluginPopupView {
|
|||
let self = this,
|
||||
script = self.script();
|
||||
if (!self.saving/* && script.hasChanges()*/) {
|
||||
this.errorText('');
|
||||
self.saveError(false);
|
||||
|
||||
if (!script.verify()) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -52,9 +55,14 @@ export class SieveScriptPopupView extends rl.pluginPopupView {
|
|||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
parseScript(this.script().body());
|
||||
} catch (e) {
|
||||
this.errorText(e.message);
|
||||
return;
|
||||
}
|
||||
|
||||
self.saving = true;
|
||||
self.saveError(false);
|
||||
self.errorText('');
|
||||
|
||||
if (self.allowToggle()) {
|
||||
script.body(script.filtersToRaw());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue