Project

General

Profile

Actions

Feature #8575

open

macro backlinks

Added by svil dobre over 13 years ago. Updated over 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Text formatting
Target version:
-
Start date:
2011-06-09
Due date:
% Done:

0%

Estimated time:
Resolution:

Description

use as !{{backlinks}} or !{{backlinks(Foo)}}. sort-a hack-it-yourself for the fearless

#XXX insert at end of Definitions in lib/redmine/wiki_formatting/macros.rb, after other macroses
#XXX svild: part from child_pages, part from SearchController.index, part from render_page_hierarchy

      desc "shows backlinks to the/a wiki page. Example:\n\n  !{{backlinks}} or !{{backlinks(Foo)}} " 
      macro :backlinks do |obj, args|
          title = nil
        if args.size > 0
          page = Wiki.find_page(args.first.to_s, :project => @project)
        elsif obj.is_a?(WikiContent) || obj.is_a?(WikiContent::Version)
          page = obj.page
            title = 'here'
        else
          raise 'With no argument, this macro can be called from wiki pages only.'
        end
        raise 'Page not found' if page.nil? || !User.current.allowed_to?(:view_wiki_pages, page.wiki.project)

        r,c = WikiPage.search( "[["+page.title, @project ,
          :all_words => true ,
          :titles_only => false
          #,:limit => 100,
          #,:offset => 0
          )
        title = page.pretty_title if title.nil?
        content = ''
          content << "links to " + title + ": " 
          #content << "<ul> " 
          r.each do |p|
            #content << "<li>" 
            content << link_to( h(p.pretty_title),
                                {     :controller => 'wiki', :action => 'show',
                                    :project_id => p.project, :id => p.title },
                               :title => nil)
            content << "\n" 
            #content << "</li>\n" 
          end
          #content << "</ul>\n" 
          content
      end

Actions

Also available in: Atom PDF