[interchange-cvs] interchange - heins modified 3 files
interchange-core@icdevgroup.org
interchange-core@icdevgroup.org
Mon Jan 13 18:17:00 2003
User: heins
Date: 2003-01-13 23:16:14 GMT
Added: code/Filter convert_date.filter encrypt.filter
Added: linkdecode.filter
Log:
* Add three new filters.
-- encrypt -- encrypts the value against the standard GPG/PGP key
using the standard EncryptProgram.
[filter op=encrypt] String [/filter]
You can encrypt against other keys by passing the ID as an argument:
[filter op=encrypt.23883AEE]
String, to encrypt against different key.
[/filter]
-- linkdecode filter does a decode of URLencoded value so that an
HTML editor encoding an Interchange [area ...] tag doesn't destroy
edited HTML.
-- convert_date filter merely runs convert-date tag on a value, useful
for displaying dates in UI.
Revision Changes Path
1.1 interchange/code/Filter/convert_date.filter
rev 1.1, prev_rev 1.0
Index: convert_date.filter
===================================================================
CodeDef convert_date Filter
CodeDef convert_date Routine <<EOR
sub {
my $time = shift(@_);
shift(@_);
my $fmt = shift(@_);
while(my $add = shift(@_)) {
$fmt .= " $add";
}
return $Tag->convert_date({ fmt => $fmt, body => $time});
}
EOR
1.1 interchange/code/Filter/encrypt.filter
rev 1.1, prev_rev 1.0
Index: encrypt.filter
===================================================================
CodeDef encrypt Filter
CodeDef encrypt Routine <<EOR
sub {
my ($val, $tag, $key) = @_;
return Vend::Order::pgp_encrypt($val, $key);
}
EOR
1.1 interchange/code/Filter/linkdecode.filter
rev 1.1, prev_rev 1.0
Index: linkdecode.filter
===================================================================
CodeDef linkdecode Filter
CodeDef linkdecode Routine <<EOR
sub {
my $body = shift;
$body =~ s{(<form\s+[^>]*action=)(["'])(\%5b\w+.*?\%5d)\2}
{ $1 . $2 . unhexify($3) . $2 }egi;
$body =~ s{(<\w+\s+[^>]*href=)(["'])(\%5b\w+.*?\%5d)\2}
{ $1 . $2 . unhexify($3) . $2 }egi;
$body =~ s{(<i\w+\s+[^>]*src=)(["'])(\%5b\w+.*?\%5d)\2}
{ $1 . $2 . unhexify($3) . $2 }egi;
return $body;
}
EOR