[interchange-cvs] interchange - racke modified 2 files
interchange-cvs at icdevgroup.org
interchange-cvs at icdevgroup.org
Wed Oct 1 09:21:45 UTC 2008
User: racke
Date: 2008-10-01 09:21:45 GMT
Modified: . WHATSNEW-5.7
Modified: code/UserTag capture_page.tag
Log:
made [capture-page] aware of mapped output (#197, #226).
Revision Changes Path
2.14 interchange/WHATSNEW-5.7
rev 2.14, prev_rev 2.13
Index: WHATSNEW-5.7
===================================================================
RCS file: /var/cvs/interchange/WHATSNEW-5.7,v
retrieving revision 2.13
retrieving revision 2.14
diff -u -r2.13 -r2.14
--- WHATSNEW-5.7 26 Sep 2008 14:57:58 -0000 2.13
+++ WHATSNEW-5.7 1 Oct 2008 09:21:45 -0000 2.14
@@ -52,6 +52,8 @@
* lines attribute added to [nitems] to show the number of lines in the shopping
cart instead of the sum of the items (#225).
+* made [capture-page] aware of mapped output (#197, #226).
+
OrderCheck
----------
1.12 interchange/code/UserTag/capture_page.tag
rev 1.12, prev_rev 1.11
Index: capture_page.tag
===================================================================
RCS file: /var/cvs/interchange/code/UserTag/capture_page.tag,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- capture_page.tag 26 Sep 2008 19:47:02 -0000 1.11
+++ capture_page.tag 1 Oct 2008 09:21:45 -0000 1.12
@@ -5,11 +5,11 @@
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. See the LICENSE file for details.
#
-# $Id: capture_page.tag,v 1.11 2008-09-26 19:47:02 racke Exp $
+# $Id: capture_page.tag,v 1.12 2008-10-01 09:21:45 racke Exp $
UserTag capture_page Order page file
UserTag capture_page addAttr
-UserTag capture_page Version $Revision: 1.11 $
+UserTag capture_page Version $Revision: 1.12 $
UserTag capture_page Routine <<EOR
sub {
my ($page, $file, $opt) = @_;
@@ -43,18 +43,40 @@
$::Scratch->{mv_no_count} = 1;
- my $pageref = Vend::Page::display_page($page,{return => 1});
- Vend::Interpolate::substitute_image($pageref);
+ # save mapped output
+ my (@output, %outptr, %outfilter, %outextended, $multiout, $content, $retval);
- my $retval;
+ @output = @Vend::Output;
+ %outptr = %Vend::OutPtr;
+ %outfilter = %Vend::OutFilter;
+ %outextended = %Vend::OutExtended;
+ $multiout = $Vend::MultiOutput;
+
+ # clear mapped output
+ @Vend::Output = %Vend::OutPtr = %Vend::OutFilter = %Vend::OutExtended = ();
+ $Vend::MultiOutput = 0;
+
+ Vend::Page::display_page($page, {return => 1});
+
+ for my $part (@Vend::Output) {
+ Vend::Interpolate::substitute_image($part);
+ $content .= $$part;
+ }
+
+ # restore mapped output
+ @Vend::Output = @output;
+ %Vend::OutPtr = %outptr;
+ %Vend::OutFilter = %outfilter;
+ %Vend::OutExtended = %outextended;
+ $Vend::MultiOutput = $multiout;
if ($opt->{scratch}) {
- $::Scratch->{$opt->{scratch}} = $$pageref;
+ $::Scratch->{$opt->{scratch}} = $content;
$retval = 1;
}
if ($file) {
- $retval = Vend::File::writefile (">$file", $pageref,
+ $retval = Vend::File::writefile (">$file", \$content,
{auto_create_dir => $opt->{auto_create_dir},
umask => $opt->{umask}});
}
More information about the interchange-cvs
mailing list