From: <var...@us...> - 2011-01-04 17:55:50
|
Revision: 7806 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=7806&view=rev Author: vargenau Date: 2011-01-04 17:55:44 +0000 (Tue, 04 Jan 2011) Log Message: ----------- Make trapping of recursive inclusion work. Modified Paths: -------------- trunk/lib/plugin/IncludePage.php trunk/lib/plugin/Template.php Modified: trunk/lib/plugin/IncludePage.php =================================================================== --- trunk/lib/plugin/IncludePage.php 2011-01-04 17:50:32 UTC (rev 7805) +++ trunk/lib/plugin/IncludePage.php 2011-01-04 17:55:44 UTC (rev 7806) @@ -1,8 +1,8 @@ <?php // -*-php-*- -// rcs_id('$Id$'); +// $Id$ /* * Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam - * Copyright 2008-2009 Marc-Etienne Vargenau, Alcatel-Lucent + * Copyright 2008-2011 Marc-Etienne Vargenau, Alcatel-Lucent * * This file is part of PhpWiki. * @@ -89,7 +89,7 @@ // TextFormattingRules). static $included_pages = array(); if (in_array($page, $included_pages)) { - return $this->error(sprintf(_("recursive inclusion of page %s ignored"), + return $this->error(sprintf(_("Recursive inclusion of page %s ignored"), $page)); } @@ -129,7 +129,7 @@ } // trap recursive redirects if (in_array($m[1], $included_pages)) { - return $this->error(sprintf(_("recursive inclusion of page %s ignored"), + return $this->error(sprintf(_("Recursive inclusion of page %s ignored"), $page.' => '.$m[1])); } $page = $m[1]; @@ -152,8 +152,6 @@ include_once('lib/BlockParser.php'); $content = TransformText($ct, $r->get('markup'), $page); - array_pop($included_pages); - if ($quiet) return $content; Modified: trunk/lib/plugin/Template.php =================================================================== --- trunk/lib/plugin/Template.php 2011-01-04 17:50:32 UTC (rev 7805) +++ trunk/lib/plugin/Template.php 2011-01-04 17:55:44 UTC (rev 7806) @@ -1,8 +1,8 @@ <?php // -*-php-*- -// rcs_id('$Id$'); +// $Id$ /* * Copyright 2005,2007 $ThePhpWikiProgrammingTeam - * Copyright 2008-2010 Marc-Etienne Vargenau, Alcatel-Lucent + * Copyright 2008-2011 Marc-Etienne Vargenau, Alcatel-Lucent * * This file is part of PhpWiki. * @@ -127,7 +127,7 @@ // Protect from recursive inclusion. A page can include itself once static $included_pages = array(); if (in_array($page, $included_pages)) { - return $this->error(sprintf(_("recursive inclusion of page %s"), + return $this->error(sprintf(_("Recursive inclusion of page %s"), $page)); } @@ -168,7 +168,7 @@ } // trap recursive redirects if (in_array($m[1], $included_pages)) { - return $this->error(sprintf(_("recursive inclusion of page %s ignored"), + return $this->error(sprintf(_("Recursive inclusion of page %s ignored"), $page.' => '.$m[1])); } $page = $m[1]; @@ -204,8 +204,6 @@ $content = TransformInline($initial_content, $r->get('markup'), $page); } - array_pop($included_pages); - return $content; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |