SF.net SVN: phpwiki:[10999] trunk/lib/plugin/Template.php

vargenau--- via phpwiki-checkins <[email protected]> Tue, 15 Feb 2022 15:32:19 +0000
Newsgroups gmane.comp.web.wiki.phpwiki.checkins
Message-ID <[email protected]>
Revision: 10999
          http://sourceforge.net/p/phpwiki/code/10999
Author:   vargenau
Date:     2022-02-15 15:32:18 +0000 (Tue, 15 Feb 2022)
Log Message:
-----------
lib/plugin/Template.php: getWikiPageLinks returns links in the included page (as well as the included page)

Modified Paths:
--------------
    trunk/lib/plugin/Template.php

Modified: trunk/lib/plugin/Template.php
===================================================================
--- trunk/lib/plugin/Template.php	2022-02-15 15:16:11 UTC (rev 10998)
+++ trunk/lib/plugin/Template.php	2022-02-15 15:32:18 UTC (rev 10999)
@@ -90,13 +90,22 @@
         $args = $this->getArgs($argstr);
         $page = isset($args['page']) ? $args['page'] : '';
         if ($page) {
-            // Expand relative page names.
+            global $request;
+            $dbi = $request->_dbi;
+            $page_handle = $dbi->getPage($page);
+            $links = $page_handle->getPageLinks();
+            $alllinks = array();
+            while ($link_handle = $links->next()) {
+                $linkname = $link_handle->getName();
+                $alllinks[] = array('linkto' => $linkname);
+            }
             $page = new WikiPageName($page, $basepage);
         }
-        if (!$page or !$page->name)
-            return false;
-
-        return array(array('linkto' => $page->name));
+        if (!$page or !$page->name) {
+            return array();
+        }
+        $alllinks[] = array('linkto' => $page->name);
+        return $alllinks;
     }
 
     /**

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.