* Don't autovifivy @fields array entries.
[interchange.git] / code / Filter / linkdecode.filter
1 # Copyright 2002-2007 Interchange Development Group and others
2 # Copyright 1996-2002 Red Hat, Inc.
3
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.  See the LICENSE file for details.
8
9 # $Id: linkdecode.filter,v 1.6 2007-03-30 23:40:44 pajamian Exp $
10
11 CodeDef linkdecode Filter
12 CodeDef linkdecode Description URLdecode link text
13 CodeDef linkdecode Visibility  private
14 CodeDef linkdecode Routine <<EOR
15 sub {
16         my $body = shift;
17         $body =~ s{(<form\s+[^>]*action=)(["'])(\%5b\w+.*?\%5d)\2}
18                           { $1 . $2 . unhexify($3) . $2 }egi;
19         $body =~ s{(<\w+\s+[^>]*href=)(["'])(\%5b\w+.*?\%5d)\2}
20                           { $1 . $2 . unhexify($3) . $2 }egi;
21         $body =~ s{(<i\w+\s+[^>]*src=)(["'])(\%5b\w+.*?\%5d)\2}
22                           { $1 . $2 . unhexify($3) . $2 }egi;
23         return $body;
24 }
25 EOR