Personal tools
Make a donation
$ 




Extension:MakePage.php

From OrganicDesign Wiki

Jump to: navigation, search
<?php
/**
/**
 * MakePage extension - An extension which allows the title and text of a wiki page to be created 
by a simple tag, made with [http://www.organicdesign.co.nz/Template:Extension Template:Extension]
 *
 * See http://www.mediawiki.org/wiki/Extension:MakePage for installation and usage details
 *
 * @package MediaWiki
 * @subpackage Extensions
 * @author [http://www.mediawiki.org/wiki/User:Jacknz User:Jack Henderson]
 * @copyright © 2007 [http://www.mediawiki.org/wiki/User:Jacknz User:Jack Henderson]
 * @licence GNU General Public Licence 2.0 or later
 */
if (!defined('MEDIAWIKI')) die('Not an entry point.');
 
define('MAKEPAGE_VERSION', '0.0.1, 2009-02-17');
 
$egMakePageTag = "makepage";
 
$wgExtensionCredits['parserhook'][] = array(
	'name'        => 'MakePage',
	'author'      => '[http://www.mediawiki.org/wiki/User:Jacknz User:Jack Henderson]',
	'description' => 'An extension which allows the title and text of a wiki page to be created without leaving the current one',
	'url'         => 'http://www.organicdesign.co.nz/Extension:MakePage',
	'version'     => MAKEPAGE_VERSION
);
 
#Avoid unstubbing $wgParser on setHook() too early on modern (1.12+) MW versions, as per r35980
if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) {
	$wgHooks['ParserFirstCallInit'][] = 'efMakePageParserInit';
} else { # Otherwise do things the old fashioned way
	$wgExtensionFunctions[] = 'efMakePageParserInit';
}
 
function efMakePageParserInit() {
	global $wgParser, $egMakePageTag;
	$wgParser->setHook( $egMakePageTag, 'efMakePageRender' );
	return true;
}
 
function efMakePageRender( $input, $args, $parser ) {
 
	foreach ($args as $k => $v) {
		$k = htmlspecialchars($k);
		$v = htmlspecialchars($v);
		if (strtolower($k) == "name") $title = Title::newFromText($v);
	}
	$article = new Article($title);
	$input = htmlspecialchars($input);
	$article->doEdit($input,EDIT_UPDATE|EDIT_MINOR);
	return "$v has been created";
}

The GNU Project Debian Linux Ubuntu Linux Wikipedia Affiliate Button MediaWiki

Content under the www.organicdesign.co.nz domain is available under the Creative Commons Attribution-ShareAlike License