Revert "Add extension.json, empty PHP entry point"

This reverts commit 72d1e92263.

Change-Id: I47eab2842f195bf302de0ae3bf15beff1b48290f
This commit is contained in:
Legoktm 2015-05-20 21:21:11 +00:00
parent 72d1e92263
commit 033ca20746
5 changed files with 118 additions and 128 deletions

View file

@ -29,31 +29,6 @@ class SyntaxHighlight_GeSHi {
*/
private static $languages = null;
/**
* Executed after processing extension.json
*/
public static function registerExtension() {
global $wgVersion;
if ( version_compare( $wgVersion, '1.25', '<' ) ) {
die( 'This version of SyntaxHighlight GeSHi requires MediaWiki 1.25' );
}
require_once __DIR__ . '/SyntaxHighlight_GeSHi.langs.php';
require_once __DIR__ . '/geshi/geshi.php';
}
/**
* Register parser hook
*
* @param $parser Parser
* @return bool
*/
public static function configureParser( &$parser ) {
$parser->setHook( 'source', array( 'SyntaxHighlight_GeSHi', 'parserHook' ) );
$parser->setHook( 'syntaxhighlight', array( 'SyntaxHighlight_GeSHi', 'parserHook' ) );
return true;
}
/**
* Parser hook
*
@ -257,11 +232,9 @@ class SyntaxHighlight_GeSHi {
global $wgSyntaxHighlightModels, $wgUseSiteCss,
$wgParser, $wgTextModelsToParse;
$highlightModels = ExtensionRegistry::getInstance()->getAttribute( 'SyntaxHighlightModels' );
// Determine the language
$model = $content->getModel();
if ( !isset( $highlightModels[$model] ) && !isset( $wgSyntaxHighlightModels[$model] ) ) {
if ( !isset( $wgSyntaxHighlightModels[$model] ) ) {
// We don't care about this model, carry on.
return true;
}
@ -285,13 +258,7 @@ class SyntaxHighlight_GeSHi {
$output = $wgParser->parse( $text, $title, $options, true, true, $revId );
}
if ( isset( $highlightModels[$model] ) ) {
$lang = $highlightModels[$model];
} else {
// TODO: Add deprecation warning after a while?
$lang = $wgSyntaxHighlightModels[$model];
}
// Attempt to format
$geshi = self::prepare( $text, $lang );

View file

@ -1,6 +1,5 @@
<?php
// Generated by updateLanguageList.php on Tue, 19 May 2015 23:11:43 +0000
global $wgGeSHiSupportedLanguages;
// Generated by updateLanguageList.php on Sat, 28 Mar 2015 12:14:38 +0000
$wgGeSHiSupportedLanguages = array(
"4cs",
"6502acme",

View file

@ -1,13 +1,93 @@
<?php
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+' );
/**
* 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 ( version_compare( $wgVersion, '1.24', '<' ) ) {
die( "This version of SyntaxHighlight GeSHi requires MediaWiki 1.24" );
}
require_once __DIR__ . '/SyntaxHighlight_GeSHi.langs.php';
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,
'license-name' => 'GPL-2.0+',
);
// Change these in LocalSettings.php
$wgSyntaxHighlightDefaultLang = null;
$wgSyntaxHighlightKeywordLinks = false;
$dir = __DIR__ . '/';
$wgMessagesDirs['SyntaxHighlight_GeSHi'] = __DIR__ . '/i18n';
$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';
$wgHooks['ApiFormatHighlight'][] = 'SyntaxHighlight_GeSHi::apiFormatHighlight';
// 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[CONTENT_MODEL_CSS] = 'css';
$wgSyntaxHighlightModels[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;
};

View file

@ -1,53 +0,0 @@
{
"name": "SyntaxHighlight",
"version": "1.0.8.12",
"author": [
"Brion Vibber",
"Tim Starling",
"Rob Church",
"Niklas Laxström"
],
"url": "https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi",
"descriptionmsg": "syntaxhighlight-desc",
"license-name": "GPL-2.0+",
"type": "parserhook",
"callback": "SyntaxHighlight_GeSHi::registerExtension",
"MessagesDirs": {
"SyntaxHighlight_GeSHi": [
"i18n"
]
},
"AutoloadClasses": {
"SyntaxHighlight_GeSHi": "SyntaxHighlight_GeSHi.class.php",
"ResourceLoaderGeSHiModule": "ResourceLoaderGeSHiModule.php",
"ResourceLoaderGeSHiLocalModule": "ResourceLoaderGeSHiLocalModule.php"
},
"ResourceModules": {
"ext.geshi.local": {
"class": "ResourceLoaderGeSHiLocalModule"
}
},
"Hooks": {
"ParserFirstCallInit": [
"SyntaxHighlight_GeSHi::configureParser"
],
"ResourceLoaderRegisterModules": [
"SyntaxHighlight_GeSHi::resourceLoaderRegisterModules"
],
"ContentGetParserOutput": [
"SyntaxHighlight_GeSHi::renderHook"
],
"ApiFormatHighlight": [
"SyntaxHighlight_GeSHi::apiFormatHighlight"
]
},
"SyntaxHighlightModels": {
"css": "css",
"javascript": "javascript"
},
"config": {
"SyntaxHighlightDefaultLang": null,
"SyntaxHighlightKeywordLinks": false,
"GeSHiSupportedLanguages" : null
}
}

View file

@ -45,10 +45,7 @@ class UpdateLanguageList extends Maintenance {
$langs = array_values( array_filter( $geshi->get_supported_languages( false ), 'lang_filter' ) );
sort( $langs );
$replace = array( '[' => "array(\n\t", ']' => "\n);\n", '",' => "\",\n\t" );
$code = "<?php\n" .
$header .
"global \$wgGeSHiSupportedLanguages;\n" .
'$wgGeSHiSupportedLanguages = ' . strtr( json_encode( $langs ), $replace );
$code = "<?php\n" . $header . '$wgGeSHiSupportedLanguages = ' . strtr( json_encode( $langs ), $replace );
file_put_contents( __DIR__ . '/../SyntaxHighlight_GeSHi.langs.php', $code );
$this->output( "Updated language list written to SyntaxHighlight_GeSHi.langs.php\n" );
}