From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual
Crystal Clear action run.png

Release status: beta

Implementation Parser function
Description Provides services to parser function extensions which require inserting content after the parsing phase.
Author(s) Jean-Lou Dupont
Latest version 1.0.0
MediaWiki 1.10, 1.11, 1.12
License No license specified
Download SVN
See SVN ($Id: ParserFunctionsHelper.doc.wikitext 736 2007-12-10 15:30:44Z jeanlou.dupont $)
Hooks used

Translate the ParserFunctionsHelper extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

Provides services to parser function extensions which require inserting content after the parsing phase.

This extension is meant to serve other extensions i.e. it does not provide any end-user functionality by itself.

Motivation[edit | edit source]

Parser functions can insert content during the parsing phase albeit not raw content i.e. content which should end-up untouched in the output page.

This extension allows for registering raw content which will replace anchors in the parsed wikitext.

Usage[edit | edit source]

Normally used in the render functions of parser functions and tag extensions.

function tagExtensionOrParserFunction_Render() {
  $key = 'pick-a-name';
  $value = 'html output that needs protection from wikiization';
  $index = null;
  $anchor = null;
  wfRunHooks( 'ParserFunctionsHelperSet',
              array( $key, $value, &$index, &$anchor ) );

  if ( $anchor === null) {
    return '[http://www.mediawiki.org/wiki/Extension:ParserFunctionsHelper ' .
      'Extension:ParserFunctionHelper] missing.';
  return $anchor;

ParserFunctionsHelperSet Parameters[edit | edit source]

  • $key: normally a name that describes the content you wish to output.
  • $value: HTML content that you need to protect from wikiization.
  • $index: Parameter is used to return data. Passed-in data will be ignored. Parameter that gives you the index of the store that your data is store in. Useless for most people's needs.
  • $anchor: Parameter is used to return data. Passed-in data will be ignored. The $anchor is what you output onto the wiki page. The anchor is a unique marker that will be replaced with your html during the ParserAfterTidy Stage

Dependencies[edit | edit source]

Installation[edit source]

See the Mediawiki Extension table entry "download" above.[1]

LocalSettings.php[edit source]

Extension:ExtensionManager: See footnote[2]

require_once "$IP/extensions/ParserFunctionsHelper/ParserFunctionsHelper.php";
  • Since this Extensions is depending on StubManager, add the line after the StubManager include, or else your Wiki won't work.

PEAR[edit source]

PEAR is a repository of PHP software code.

pear channel-discover mediawiki.googlecode.com/svn
  • Install extension through PEAR:
pear install mediawiki/ParserFunctionsHelper
  • Add the following to LocalSettings.php[2][3]:
require 'MediaWiki/ParserFunctionsHelper/ParserFunctionsHelper.php';
  • Note that the required version of PEAR must be respected. Currently, the minimum version of PEAR usable with this channel is v1.6.2. Perform the following command to upgrade to the latest version of PEAR:
pear upgrade pear

Upgrades through PEAR[edit source]

Sometimes, it is necessary to clear PEAR's cache in order to perform upgrades.

pear clear-cache

or use the force method:

pear upgrade --force mediawiki/ParserFunctionsHelper

PEAR Web Frontend[edit source]

For easier remote package management, PEAR Frontend WEB can be installed. Installation notes can be found here. An example of the WEB frontend is available here.

RSS feed[edit source]

To keep up-to-date with this channel, use the following RSS feed__Rss2.jpg.

Notes[edit source]

Other Extensions From the same author[edit source]

Consult User Jldupont's page.

  1. The most recent release is always available through the extension's PEAR and SVN repositories. This page is not necessarily up-to-date.
  2. 2.0 2.1 2.2 Extension:ExtensionManager does not require any modification to LocalSettings.php because ExtensionManager includes the extension.
    Note that if PHP code caching is in place (e.g. APC, eAccelerator), then to successfully complete the installation a cache flush might be needed.
  3. Modifications to LocalSettings.php is only necessary if not using Extension:ExtensionManager

History[edit | edit source]

Release Notes
1.0.0 Initial public release