Extension:SimpleUploads.php
<?php
- Extension:SimpleUploads
- - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
- - Author: User:RobCategory:Extensions created with Template:Extension
if (!defined('MEDIAWIKI')) die('Not an entry point.');
define('SIMPLEUPLOADS_VERSION','1.0.0, 2007-09-20');
$wgSimpleUploadsMagic = "foo"; $wgSimpleUploadsTag = "bar"; $wgExtensionFunctions[] = 'wfSetupSimpleUploads'; $wgHooks['LanguageGetMagic'][] = 'wfSimpleUploadsLanguageGetMagic';
$wgExtensionCredits['parserhook'][] = array( 'name' => 'SimpleUploads', 'author' => 'User:Rob', 'description' => 'Convenient uploading of files to the wiki with WebDAV', 'url' => 'http://www.organicdesign.co.nz/Extension:SimpleUploads', 'version' => SIMPLEUPLOADS_VERSION );
class SimpleUploads {
# Properties var $prop1 = 'default value'; var $prop2 = 'default value';
# Constructor function SimpleUploads() { global $wgHooks,$wgParser,$wgSimpleUploadsMagic,$wgSimpleUploadsTag;
# Add the parser-function $wgParser->setFunctionHook($wgSimpleUploadsMagic,array($this,'magicFoo'));
# Add the tagHook $wgParser->setHook($wgSimpleUploadsTag,array($this,'tagBar'));
}
# Expand the foo-magic function magicFoo(&$parser) {
# Populate $argv with both named and numeric parameters $argv = array(); foreach (func_get_args() as $arg) if (!is_object($arg)) { if (preg_match('/^(.+?)\\s*=\\s*(.+)$/',$arg,$match)) $argv[$match[1]] = $match[2]; else $argv[] = $arg; }
# Build text of expanded result $args = ; foreach ($argv as $k => $v) $args .= "*$k: $v\n"; $text = "=== magicFoo(): ===\n$args";
# Return result with available parser flags return array( $text, found => true, nowiki => false, noparse => false, noargs => false, isHTML => false );
}
# Convert the <bar> tags to HTML function tagBar($text,$argv,&$parser) { $args = ;
foreach ($argv as $k => $v) $args .= "
\n"; return "
tagBar():
\n
- $args
- Content: $text
\n";
}
# Needed in some versions to prevent Special:Version from breaking function __toString() { return 'SimpleUploads'; }
}
- Called from $wgExtensionFunctions array when initialising extensions
function wfSetupSimpleUploads() { global $wgSimpleUploads; $wgSimpleUploads = new SimpleUploads(); }
- Needed in MediaWiki >1.8.0 for magic word hooks to work properly
function wfSimpleUploadsLanguageGetMagic(&$magicWords,$langCode = 0) { global $wgSimpleUploadsMagic; $magicWords[$wgSimpleUploadsMagic] = array(0,$wgSimpleUploadsMagic); return true; }