URL: http://metabolomics.jp/ */ if( !defined( 'MEDIAWIKI' ) ){ die( 'This file is a MediaWiki extension, see CreateGraph.php.' ); } $wgExtensionFunctions[] = 'efSetupCreateGraph'; $wgExtensionCredits['parserhook'][] = array( 'name' => 'CreateGraph', 'version' => '0.2', 'author' => 'K, Suwa', 'description' => 'Create and display to graph, powered by jpgraph', 'url' => 'http://metabolomics.jp/wiki/Help:Extension/CreateGraph', ); $wgHooks['LanguageGetMagic'][] = 'efCreateGraphLanguageGetMagic'; class CreateGraph { /** * create graph * e.g. {{#graph:vbar|size=300x300;title=test;legend=0x0;label=a,b,c;data1=10,34,20}} => [create bar graph] * * @param $parser Parser Parent parser * @param $kind string kind of graph ( line, hbar, vbar, pie, pie3 ) * @param $data string data which separated ';' * @return string tag extension */ function graph( &$parser, $kind = '', $data ) { $str = ''; if( method_exists( $parser, 'preprocessToDom' ) ){ # mw 1.12 or later return array( $parser->preprocessToDom( $str ), 'isChildObj' => true ); } # mw 1.11 or under return $str; } function replaceGraphLink( $input, $args, $parser ) { global $egScriptPath; if( !isset( $args['graph'] ) || !isset( $args['data'] ) ){ return ''; } $html = ''; } } function efSetupCreateGraph() { global $wgParser; $createGraph = new CreateGraph; $wgParser->setFunctionHook( 'graph', array( &$createGraph, 'graph' ) ); $wgParser->setHook( 'graph', array( &$createGraph, 'replaceGraphLink' ) ); } function efCreateGraphLanguageGetMagic( &$magicWords, $langCode ) { $magicWords['graph'] = array( 0, 'graph' ); return true; }