changeset 565:03bb9b27aca8

macro LinkTo introduced for a list of pages who links to the current page
author Reimar Bauer <rb.proj AT googlemail DOT com>
date Sun, 31 Jul 2011 11:04:54 +0200
parents 6aefd777e2dd
children ca006bf7dae8
files data/plugin/macro/LinkTo.py
diffstat 1 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/plugin/macro/LinkTo.py	Sun Jul 31 11:04:54 2011 +0200
@@ -0,0 +1,32 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - LinkTo
+
+    print a list of pages who links to the current page
+
+    @copyright:  2001 Juergen Hermann <jh@web.de>,
+                 2011 MoinMoin:ReimarBauer
+
+    @license: GNU GPL, see COPYING for details.
+"""
+Dependencies = ["namespace"]
+
+def macro_LinkTo(macro, reverse=False):
+    request = macro.request
+    formatter = request.formatter
+    pages = request.rootpage.getPageDict()
+    pagelist = pages.keys()
+    pageobjs = []
+    for name in pagelist:
+        if request.page.page_name in pages[name].getPageLinks(request):
+            pageobjs.append(pages[name])
+
+    links = [''.join([formatter.listitem(1),
+                formatter.url(1, href=page.url(request, escape=0)),
+                page.page_name,
+                formatter.url(0)]) for page in pageobjs]
+    links.sort()
+    if reverse:
+        links.reverse()
+    return ''.join(links)
+