Legoktm has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/212452

Change subject: Revert "Add extension.json, empty PHP entry point"
......................................................................

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

This reverts commit 72d1e9226365959a7fff1ee429787b9ed52e751c.

Change-Id: I47eab2842f195bf302de0ae3bf15beff1b48290f
(cherry picked from commit 033ca20746432d34ae52540b169a78e070c5ea9b)
---
M SyntaxHighlight_GeSHi.class.php
M SyntaxHighlight_GeSHi.langs.php
M SyntaxHighlight_GeSHi.php
D extension.json
M maintenance/updateLanguageList.php
5 files changed, 118 insertions(+), 128 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/SyntaxHighlight_GeSHi 
refs/changes/52/212452/1

diff --git a/SyntaxHighlight_GeSHi.class.php b/SyntaxHighlight_GeSHi.class.php
index 0ba0aa0..ddaea80 100644
--- a/SyntaxHighlight_GeSHi.class.php
+++ b/SyntaxHighlight_GeSHi.class.php
@@ -30,31 +30,6 @@
        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
         *
         * @param string $text
@@ -70,7 +45,7 @@
                $text = preg_replace( '/^\n+/', '', $text );
 
                // Validate language
-               if ( isset( $args['lang'] ) && $args['lang'] ) {
+               if( isset( $args['lang'] ) && $args['lang'] ) {
                        $lang = $args['lang'];
                } else {
                        // language is not specified. Check if default exists, 
if yes, use it.
@@ -82,12 +57,12 @@
                        }
                }
                $lang = strtolower( $lang );
-               if ( !preg_match( '/^[a-z_0-9-]*$/', $lang ) ) {
+               if( !preg_match( '/^[a-z_0-9-]*$/', $lang ) ) {
                        $error = self::formatLanguageError( $text );
                        return $error;
                }
                $geshi = self::prepare( $text, $lang );
-               if ( !$geshi instanceof GeSHi ) {
+               if( !$geshi instanceof GeSHi ) {
                        $error = self::formatLanguageError( $text );
                        return $error;
                }
@@ -95,23 +70,23 @@
                $enclose = self::getEncloseType( $args );
 
                // Line numbers
-               if ( isset( $args['line'] ) ) {
+               if( isset( $args['line'] ) ) {
                        $geshi->enable_line_numbers( GESHI_FANCY_LINE_NUMBERS );
                }
                // Highlighting specific lines
-               if ( isset( $args['highlight'] ) ) {
+               if( isset( $args['highlight'] ) ) {
                        $lines = self::parseHighlightLines( $args['highlight'] 
);
                        if ( count( $lines ) ) {
                                $geshi->highlight_lines_extra( $lines );
                        }
                }
                // Starting line number
-               if ( isset( $args['start'] ) ) {
+               if( isset( $args['start'] ) ) {
                        $geshi->start_line_numbers_at( $args['start'] );
                }
                $geshi->set_header_type( $enclose );
                // Strict mode
-               if ( isset( $args['strict'] ) ) {
+               if( isset( $args['strict'] ) ) {
                        $geshi->enable_strict_mode();
                }
                // Format
@@ -122,19 +97,19 @@
                        return $error;
                }
                $err = $geshi->error();
-               if ( $err ) {
+               if( $err ) {
                        // Other unknown error!
                        $error = self::formatError( $err );
                        return $error;
                }
                // Armour for Parser::doBlockLevels()
-               if ( $enclose === GESHI_HEADER_DIV ) {
+               if( $enclose === GESHI_HEADER_DIV ) {
                        $out = str_replace( "\n", '', $out );
                }
                // HTML Tidy will convert tabs to spaces incorrectly (bug 
30930).
                // But the conversion from tab to space occurs while reading 
the input,
                // before the conversion from &#9; to tab, so we can armor it 
that way.
-               if ( $wgUseTidy ) {
+               if( $wgUseTidy ) {
                        $out = str_replace( "\t", '&#9;', $out );
                }
                // Register CSS
@@ -165,7 +140,7 @@
         * @return array
         */
        private static function addAttribute( $attribs, $name, $value ) {
-               if ( isset( $attribs[$name] ) ) {
+               if( isset( $attribs[$name] ) ) {
                        $attribs[$name] = $value . ' ' . $attribs[$name];
                } else {
                        $attribs[$name] = $value;
@@ -257,11 +232,9 @@
                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,25 +258,19 @@
                        $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];
-               }
-
+               $lang = $wgSyntaxHighlightModels[$model];
 
                // Attempt to format
                $geshi = self::prepare( $text, $lang );
-               if ( $geshi instanceof GeSHi ) {
+               if( $geshi instanceof GeSHi ) {
 
                        $out = $geshi->parse_code();
-                       if ( !$geshi->error() ) {
+                       if( !$geshi->error() ) {
                                // Done
                                $output->addModuleStyles( 
"ext.geshi.language.$lang" );
                                $output->setText( "<div 
dir=\"ltr\">{$out}</div>" );
 
-                               if ( $wgUseSiteCss ) {
+                               if( $wgUseSiteCss ) {
                                        $output->addModuleStyles( 
'ext.geshi.local' );
                                }
 
@@ -342,9 +309,9 @@
                }
 
                $geshi = self::prepare( $text, $lang );
-               if ( $geshi instanceof GeSHi ) {
+               if( $geshi instanceof GeSHi ) {
                        $out = $geshi->parse_code();
-                       if ( !$geshi->error() ) {
+                       if( !$geshi->error() ) {
                                if ( preg_match( '/^<pre([^>]*)>/i', $out, $m ) 
) {
                                        $attrs = 
Sanitizer::decodeTagAttributes( $m[1] );
                                        $attrs['class'] .= ' 
api-pretty-content';
@@ -378,7 +345,7 @@
 
                self::initialise();
                $geshi = new GeSHi( $text, $lang );
-               if ( $geshi->error() == GESHI_ERROR_NO_SUCH_LANG ) {
+               if( $geshi->error() == GESHI_ERROR_NO_SUCH_LANG ) {
                        return null;
                }
                $geshi->set_encoding( 'UTF-8' );
@@ -480,7 +447,7 @@
         */
        private static function formatError( $error = '' ) {
                $html = '';
-               if ( $error ) {
+               if( $error ) {
                        $html .= "<p>{$error}</p>";
                }
                $html .= '<p>' . wfMessage( 
'syntaxhighlight-specify')->inContentLanguage()->escaped()
@@ -498,8 +465,8 @@
        private static function formatLanguages() {
                $langs = self::getSupportedLanguages();
                $list = array();
-               if ( count( $langs ) > 0 ) {
-                       foreach ( $langs as $lang ) {
+               if( count( $langs ) > 0 ) {
+                       foreach( $langs as $lang ) {
                                $list[] = '<samp>' . htmlspecialchars( $lang ) 
. '</samp>';
                        }
                        return '<p class="mw-collapsible mw-collapsed" 
style="padding: 0em 1em;">' . implode( ', ', $list ) . '</p><br style="clear: 
all"/>';
@@ -524,9 +491,9 @@
         * @return bool
         */
        private static function initialise() {
-               if ( !self::$initialised ) {
-                       if ( !class_exists( 'GeSHi' ) ) {
-                               require ( dirname( __FILE__ ) . 
'/geshi/geshi.php' );
+               if( !self::$initialised ) {
+                       if( !class_exists( 'GeSHi' ) ) {
+                               require( dirname( __FILE__ ) . 
'/geshi/geshi.php' );
                        }
                        self::$initialised = true;
                }
diff --git a/SyntaxHighlight_GeSHi.langs.php b/SyntaxHighlight_GeSHi.langs.php
index 535ec02..3793675 100644
--- a/SyntaxHighlight_GeSHi.langs.php
+++ b/SyntaxHighlight_GeSHi.langs.php
@@ -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",
diff --git a/SyntaxHighlight_GeSHi.php b/SyntaxHighlight_GeSHi.php
index 0c3df7d..d64dbc0 100644
--- a/SyntaxHighlight_GeSHi.php
+++ b/SyntaxHighlight_GeSHi.php
@@ -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 <br...@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;
+};
diff --git a/extension.json b/extension.json
deleted file mode 100644
index 19809bf..0000000
--- a/extension.json
+++ /dev/null
@@ -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
-       }
-}
diff --git a/maintenance/updateLanguageList.php 
b/maintenance/updateLanguageList.php
index fe122e9..d93b576 100644
--- a/maintenance/updateLanguageList.php
+++ b/maintenance/updateLanguageList.php
@@ -45,10 +45,7 @@
                $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" );
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/212452
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I47eab2842f195bf302de0ae3bf15beff1b48290f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/SyntaxHighlight_GeSHi
Gerrit-Branch: wmf/1.26wmf7
Gerrit-Owner: Legoktm <legoktm.wikipe...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to