From: <var...@us...> - 2009-11-21 15:18:39
|
Revision: 7276 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=7276&view=rev Author: vargenau Date: 2009-11-21 15:18:27 +0000 (Sat, 21 Nov 2009) Log Message: ----------- Follow redirects even when page name contains spaces Modified Paths: -------------- trunk/lib/plugin/UnfoldSubpages.php Modified: trunk/lib/plugin/UnfoldSubpages.php =================================================================== --- trunk/lib/plugin/UnfoldSubpages.php 2009-11-21 15:02:06 UTC (rev 7275) +++ trunk/lib/plugin/UnfoldSubpages.php 2009-11-21 15:18:27 UTC (rev 7276) @@ -27,8 +27,6 @@ * The section extractor is currently quite unstable. * Usage: <?plugin UnfoldSubpages sortby=-mtime words=50 maxpages=5 ?> * Author: Reini Urban <ru...@x-...> - * - * Todo: follow RedirectTo */ require_once("lib/PageList.php"); @@ -120,9 +118,16 @@ $r = $page->getCurrentRevision(); $c = $r->getContent(); // array of lines // follow redirects - if (preg_match('/<'.'\?plugin\s+RedirectTo\s+page=(\w+)\s+\?'.'>/', - implode("\n", $c), $m)) + if ((preg_match('/<'.'\?plugin\s+RedirectTo\s+page=(\S+)\s*\?'.'>/', implode("\n", $c), $m)) + or (preg_match('/<'.'\?plugin\s+RedirectTo\s+page=(.*?)\s*\?'.'>/', implode("\n", $c), $m)) + or (preg_match('/<<\s*RedirectTo\s+page=(\S+)\s*>>/', implode("\n", $c), $m)) + or (preg_match('/<<\s*RedirectTo\s+page="(.*?)"\s*>>/', implode("\n", $c), $m))) { + // Strip quotes (simple or double) from page name if any + if ((string_starts_with($m[1], "'")) + or (string_starts_with($m[1], "\""))) { + $m[1] = substr($m[1], 1, -1); + } // trap recursive redirects if (in_array($m[1], $included_pages)) { if (!$quiet) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |