[interchange-cvs] interchange - heins modified 2 files

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Sat Sep 7 14:46:01 2002


User:      heins
Date:      2002-09-07 18:45:43 GMT
Modified:  lib/Vend Interpolate.pm Page.pm
Log:
* init_page routine was running multiple times and possibly even before a p=
age
  is selected (if Autoload or action called interpolate_html).

  Modify to run only on the first interpolate_html after the display_page
  routine is called.

Revision  Changes    Path
2.109     +5 -3      interchange/lib/Vend/Interpolate.pm


rev 2.109, prev_rev 2.108
Index: Interpolate.pm
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /var/cvs/interchange/lib/Vend/Interpolate.pm,v
retrieving revision 2.108
retrieving revision 2.109
diff -u -r2.108 -r2.109
--- Interpolate.pm	1 Sep 2002 13:13:43 -0000	2.108
+++ Interpolate.pm	7 Sep 2002 18:45:41 -0000	2.109
@@ -1,6 +1,6 @@
 # Vend::Interpolate - Interpret Interchange tags
 #=20
-# $Id: Interpolate.pm,v 2.108 2002/09/01 13:13:43 mheins Exp $
+# $Id: Interpolate.pm,v 2.109 2002/09/07 18:45:41 mheins Exp $
 #
 # Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -27,7 +27,7 @@
 require Exporter;
 @ISA =3D qw(Exporter);
=20
-$VERSION =3D substr(q$Revision: 2.108 $, 10);
+$VERSION =3D substr(q$Revision: 2.109 $, 10);
=20
 @EXPORT =3D qw (
=20
@@ -583,7 +583,9 @@
 	1 while $$html =3D~ s/\[pragma\s+(\w+)(?:\s+(\w+))?\]/
 		$::Pragma->{$1} =3D (length($2) ? $2 : 1), ''/ige;
=20
-	if($::Pragma->{init_page}) {
+	undef $Vend::PageInit unless $::Pragma->{init_page};
+
+	if(defined $Vend::PageInit and ! $Vend::PageInit++) {
 		::run_macro($::Pragma->{init_page}, $html);
 	}
=20



2.8       +4 -2      interchange/lib/Vend/Page.pm


rev 2.8, prev_rev 2.7
Index: Page.pm
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /var/cvs/interchange/lib/Vend/Page.pm,v
retrieving revision 2.7
retrieving revision 2.8
diff -u -r2.7 -r2.8
--- Page.pm	1 Sep 2002 14:47:19 -0000	2.7
+++ Page.pm	7 Sep 2002 18:45:42 -0000	2.8
@@ -1,6 +1,6 @@
 # Vend::Page - Handle Interchange page routing
 #=20
-# $Id: Page.pm,v 2.7 2002/09/01 14:47:19 mheins Exp $
+# $Id: Page.pm,v 2.8 2002/09/07 18:45:42 mheins Exp $
 #
 # Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -45,7 +45,7 @@
=20
 use vars qw/$VERSION/;
=20
-$VERSION =3D substr(q$Revision: 2.7 $, 10);
+$VERSION =3D substr(q$Revision: 2.8 $, 10);
=20
 my $wantref =3D 1;
=20
@@ -69,6 +69,7 @@
 	die ::get_locale_message(412, "Missing special page: %s\n", $name)
 		unless defined $page;
 	$page =3D~ s#\[subject\]#$subject#ig;
+	$Vend::PageInit =3D 0;
 	return ::response(::interpolate_html($page, 1));
 }
=20
@@ -120,6 +121,7 @@
 	}
=20
 	if (defined $page) {
+		$Vend::PageInit =3D 0;
 		::response(::interpolate_html($page, 1, $opt));
 		return 1;
 	}