diff options
Diffstat (limited to 'extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php')
-rw-r--r-- | extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php | 98 |
1 files changed, 11 insertions, 87 deletions
diff --git a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php index 6820ae1e..0c3df7de 100644 --- a/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php +++ b/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php @@ -1,89 +1,13 @@ <?php -/** - * Syntax highlighting extension for MediaWiki using GeSHi - * Copyright (C) 2005 Brion Vibber <brion@pobox.com> - * http://www.mediawiki.org/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * http://www.gnu.org/copyleft/gpl.html - */ - -/** - * @file - * @ingroup Extensions - * @author Brion Vibber - * - * This extension wraps the GeSHi highlighter: http://qbnz.com/highlighter/ - * - * A language is specified like: <source lang="c">void main() {}</source> - * If you forget, or give an unsupported value, the extension spits out - * some help text and a list of all supported languages. - */ - -if( !defined( 'MEDIAWIKI' ) ) { - die(); +if ( function_exists( 'wfLoadExtension' ) ) { + wfLoadExtension( 'SyntaxHighlight_GeSHi' ); + // Keep i18n globals so mergeMessageFileList.php doesn't break + $wgMessagesDirs['SyntaxHighlight_GeSHi'] = __DIR__ . '/i18n'; + /* wfWarn( + 'Deprecated PHP entry point used for SyntaxHighlight_GeSHi extension. Please use wfLoadExtension instead, ' . + 'see https://www.mediawiki.org/wiki/Extension_registration for more details.' + ); */ + return; +} else { + die( 'This version of the SyntaxHighlight_GeSHi extension requires MediaWiki 1.25+' ); } - -require_once __DIR__ . '/geshi/geshi.php'; - -$wgExtensionCredits['parserhook'][] = array( - 'path' => __FILE__, - 'name' => 'SyntaxHighlight', - 'author' => array( 'Brion Vibber', 'Tim Starling', 'Rob Church', 'Niklas Laxström' ), - 'descriptionmsg' => 'syntaxhighlight-desc', - 'url' => 'https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi', - 'version' => GESHI_VERSION, -); - -// Change these in LocalSettings.php -$wgSyntaxHighlightDefaultLang = null; -$wgSyntaxHighlightKeywordLinks = false; - -$dir = __DIR__ . '/'; -$wgMessagesDirs['SyntaxHighlight_GeSHi'] = __DIR__ . '/i18n'; -$wgExtensionMessagesFiles['SyntaxHighlight_GeSHi'] = $dir . 'SyntaxHighlight_GeSHi.i18n.php'; - -$wgAutoloadClasses['SyntaxHighlight_GeSHi'] = $dir . 'SyntaxHighlight_GeSHi.class.php'; -$wgAutoloadClasses['ResourceLoaderGeSHiModule'] = $dir . 'ResourceLoaderGeSHiModule.php'; -$wgAutoloadClasses['ResourceLoaderGeSHiLocalModule'] = $dir . 'ResourceLoaderGeSHiLocalModule.php'; - -$wgHooks['ResourceLoaderRegisterModules'][] = 'SyntaxHighlight_GeSHi::resourceLoaderRegisterModules'; -$wgHooks['ContentGetParserOutput'][] = 'SyntaxHighlight_GeSHi::renderHook'; - -// Module to load MediaWiki:Geshi.css. -$wgResourceModules['ext.geshi.local'] = array( 'class' => 'ResourceLoaderGeSHiLocalModule' ); -// More modules are defined by SyntaxHighlight_GeSHi::resourceLoaderRegisterModules, -// one for each supported language. The general name template is 'ext.geshi.language.<lang>'. - -/** - * Map content models to the corresponding language names to be used with the highlighter. - * Pages with one of the given content models will automatically be highlighted. - */ -$wgSyntaxHighlightModels = array( - CONTENT_MODEL_CSS => 'css', - CONTENT_MODEL_JAVASCRIPT => 'javascript', -); - -/** - * Register parser hook - * - * @param $parser Parser - * @return bool - */ -$wgHooks['ParserFirstCallInit'][] = function ( &$parser ) { - $parser->setHook( 'source', array( 'SyntaxHighlight_GeSHi', 'parserHook' ) ); - $parser->setHook( 'syntaxhighlight', array( 'SyntaxHighlight_GeSHi', 'parserHook' ) ); - return true; -}; |