[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