[interchange-cvs] interchange - heins modified lib/Vend/Interpolate.pm
interchange-core@icdevgroup.org
interchange-core@icdevgroup.org
Sun Dec 1 11:29:00 2002
User: heins
Date: 2002-12-01 16:28:45 GMT
Modified: lib/Vend Interpolate.pm
Log:
* Make sure JavaScript image callouts are not escaped if in pieces -- an
image should never begin with a single-quote anyway.
* Stop re-escaping already-escaped form args in escape_form().
Revision Changes Path
2.137 +14 -16 interchange/lib/Vend/Interpolate.pm
rev 2.137, prev_rev 2.136
Index: Interpolate.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Interpolate.pm,v
retrieving revision 2.136
retrieving revision 2.137
diff -u -r2.136 -r2.137
--- Interpolate.pm 28 Nov 2002 17:12:22 -0000 2.136
+++ Interpolate.pm 1 Dec 2002 16:28:45 -0000 2.137
@@ -1,6 +1,6 @@
# Vend::Interpolate - Interpret Interchange tags
#
-# $Id: Interpolate.pm,v 2.136 2002/11/28 17:12:22 kwalsh Exp $
+# $Id: Interpolate.pm,v 2.137 2002/12/01 16:28:45 mheins Exp $
#
# Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
#
@@ -27,7 +27,7 @@
require Exporter;
@ISA = qw(Exporter);
-$VERSION = substr(q$Revision: 2.136 $, 10);
+$VERSION = substr(q$Revision: 2.137 $, 10);
@EXPORT = qw (
@@ -468,11 +468,11 @@
$Vend::Cfg->{ImageDir};
if ($dir) {
- $$text =~ s#(<i\w+\s+[^>]*?src=")(?!\w+:)([^/][^"]+)#
+ $$text =~ s#(<i\w+\s+[^>]*?src=")(?!\w+:)([^/'][^"]+)#
$1 . $dir . $2#ige;
- $$text =~ s#(<body\s+[^>]*?background=")(?!\w+:)([^/][^"]+)#
+ $$text =~ s#(<body\s+[^>]*?background=")(?!\w+:)([^/'][^"]+)#
$1 . $dir . $2#ige;
- $$text =~ s#(<t(?:[dhr]|able)\s+[^>]*?background=")(?!\w+:)([^/][^"]+)#
+ $$text =~ s#(<t(?:[dhr]|able)\s+[^>]*?background=")(?!\w+:)([^/'][^"]+)#
$1 . $dir . $2#ige;
}
}
@@ -3065,17 +3065,15 @@
$val =~ s/^\s+//mg;
$val =~ s/\s+$//mg;
my @args;
- if($val =~ /^\S+=\S+=\S*$/) {
- $val = Vend::Util::unhexify($val);
- @args = split $Global::UrlSplittor, $val;
- }
- else {
- $val =~ s/^\s+//mg;
- $val =~ s/\s+$//mg;
- @args = split /\n+/, $val;
- for(@args) {
- s/^(.*?=)(.+)/$1 . Vend::Util::unhexify($2)/ge;
- }
+
+ ## Already escaped, return
+ return $val if $val =~ /^\S+=\S+=\S*$/;
+
+ $val =~ s/^\s+//mg;
+ $val =~ s/\s+$//mg;
+ @args = split /\n+/, $val;
+ for(@args) {
+ s/^(.*?=)(.+)/$1 . Vend::Util::unhexify($2)/ge;
}
for(@args) {