jenkins-bot has submitted this change and it was merged.

Change subject: Converted NavigationTiming to new extension registration
......................................................................


Converted NavigationTiming to new extension registration

Created NavigationTiming.hooks.php to house hooks, created extension.json
and edited NavigationTiming.php

Bug: T87944
Depends-On: I01aa2887a9b98c2ef52cacc3a892390a72b4a3ba
Change-Id: I7420bd16ed4ef6c3a1713207abff5b8e7a6f9315
---
A NavigationTiming.hooks.php
D NavigationTiming.i18n.php
M NavigationTiming.php
A extension.json
4 files changed, 88 insertions(+), 90 deletions(-)

Approvals:
  Legoktm: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/NavigationTiming.hooks.php b/NavigationTiming.hooks.php
new file mode 100644
index 0000000..0819b08
--- /dev/null
+++ b/NavigationTiming.hooks.php
@@ -0,0 +1,17 @@
+<?php
+
+class NavigationTimingHooks {
+
+       public static function onBeforePageDisplay ( &$out, &$skin ) {
+               $out->addModules( 'ext.navigationTiming' );
+               return true;
+       }
+
+       public static function onResourceLoaderGetConfigVars ( &$vars ) {
+               global $wgNavigationTimingSamplingFactor;
+               $vars[ 'wgNavigationTimingSamplingFactor' ] = 
$wgNavigationTimingSamplingFactor;
+               return true;
+       }
+
+
+}
diff --git a/NavigationTiming.i18n.php b/NavigationTiming.i18n.php
deleted file mode 100644
index 4ddbe52..0000000
--- a/NavigationTiming.i18n.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * 
https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShimd5c79a359db06703' ) ) {
-       function wfJsonI18nShimd5c79a359db06703( $cache, $code, &$cachedData ) {
-               $codeSequence = array_merge( array( $code ), 
$cachedData['fallbackSequence'] );
-               foreach ( $codeSequence as $csCode ) {
-                       $fileName = dirname( __FILE__ ) . "/i18n/$csCode.json";
-                       if ( is_readable( $fileName ) ) {
-                               $data = FormatJson::decode( file_get_contents( 
$fileName ), true );
-                               foreach ( array_keys( $data ) as $key ) {
-                                       if ( $key === '' || $key[0] === '@' ) {
-                                               unset( $data[$key] );
-                                       }
-                               }
-                               $cachedData['messages'] = array_merge( $data, 
$cachedData['messages'] );
-                       }
-
-                       $cachedData['deps'][] = new FileDependency( $fileName );
-               }
-               return true;
-       }
-
-       $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 
'wfJsonI18nShimd5c79a359db06703';
-}
diff --git a/NavigationTiming.php b/NavigationTiming.php
index d58a80f..a0704e9 100644
--- a/NavigationTiming.php
+++ b/NavigationTiming.php
@@ -13,58 +13,16 @@
  * @version 1.0
  */
 
-$wgExtensionCredits['other'][] = array(
-       'path' => __FILE__,
-       'name' => 'NavigationTiming',
-       'version' => '1.0',
-       'url' => 'https://www.mediawiki.org/wiki/Extension:NavigationTiming',
-       'author' => array(
-               'Asher Feldman',
-               'Ori Livneh',
-               'Patrick Reilly',
-       ),
-       'descriptionmsg' => 'navigationtiming-desc',
-       'license-name' => 'GPL-2.0+',
-);
-
-/** @var int|bool: If set, logs once per this many requests. False if unset. 
**/
-$wgNavigationTimingSamplingFactor = false;
-
-$wgMessagesDirs['NavigationTiming'] = __DIR__ . '/i18n';
-$wgExtensionMessagesFiles[ 'NavigationTiming' ] = __DIR__ . 
'/NavigationTiming.i18n.php';
-
-$wgResourceModules += array(
-       'ext.navigationTiming' => array(
-               'scripts'       => array(
-                       'ext.navigationTiming.js',
-               ),
-               'localBasePath' => __DIR__ . '/modules',
-               'remoteExtPath' => 'NavigationTiming/modules',
-               'dependencies'  => array(
-                       'schema.NavigationTiming',
-                       'schema.SaveTiming',
-                       'json',
-                       'jquery.cookie',
-               ),
-               'targets'       => array( 'desktop', 'mobile' ),
-       )
-);
-
-if ( !isset( $wgEventLoggingSchemas ) ) {
-       $wgEventLoggingSchemas = array();
-}
-$wgEventLoggingSchemas += array(
-       'NavigationTiming' => 15033442,
-       'SaveTiming'       => 12236257,
-);
-
-$wgHooks[ 'BeforePageDisplay' ][] = function ( &$out, &$skin ) {
-       $out->addModules( 'ext.navigationTiming' );
-       return true;
-};
-
-$wgHooks[ 'ResourceLoaderGetConfigVars' ][] = function ( &$vars ) {
-       global $wgNavigationTimingSamplingFactor;
-       $vars[ 'wgNavigationTimingSamplingFactor' ] = 
$wgNavigationTimingSamplingFactor;
-       return true;
-};
+if ( function_exists( 'wfLoadExtension' ) ) {
+       wfLoadExtension( 'NavigationTiming' );
+       // Keep i18n globals so mergeMessageFileList.php doesn't break
+       $wgMessagesDirs['NavigationTiming'] = __DIR__ . '/i18n';
+       /*wfWarn(
+               'Deprecated PHP entry point used for NavigationTiming 
extension. ' .
+               'Please use wfLoadExtension instead, see ' .
+               'https://www.mediawiki.org/wiki/Extension_registration for more 
details.'
+       );*/
+       return;
+} else {
+       die( 'This version of the NavigationTiming extension requires MediaWiki 
1.25+' );
+}
\ No newline at end of file
diff --git a/extension.json b/extension.json
new file mode 100644
index 0000000..92c196b
--- /dev/null
+++ b/extension.json
@@ -0,0 +1,58 @@
+{
+       "name": "NavigationTiming",
+       "version": "1.0",
+       "author": [
+               "Asher Feldman",
+               "Ori Livneh",
+               "Patrick Reilly"
+       ],
+       "url": "https://www.mediawiki.org/wiki/Extension:NavigationTiming";,
+       "descriptionmsg": "navigationtiming-desc",
+       "license-name": "GPL-2.0+",
+       "type": "other",
+       "MessagesDirs": {
+               "NavigationTiming": [
+                       "i18n"
+               ]
+       },
+       "AutoloadClasses": {
+               "NavigationTimingHooks": "NavigationTiming.hooks.php"
+       },
+       "ResourceModules": {
+               "ext.navigationTiming": {
+                       "scripts": [
+                               "ext.navigationTiming.js"
+                       ],
+                       "dependencies": [
+                               "schema.NavigationTiming",
+                               "schema.SaveTiming",
+                               "json",
+                               "jquery.cookie"
+                       ],
+                       "targets": [
+                               "desktop",
+                               "mobile"
+                       ]
+               }
+       },
+       "ResourceFileModulePaths": {
+               "localBasePath": "modules",
+               "remoteExtPath": "NavigationTiming/modules"
+       },
+       "Hooks": {
+               "BeforePageDisplay": [
+                       "NavigationTimingHooks::onBeforePageDisplay"
+               ],
+               "ResourceLoaderGetConfigVars": [
+                       "NavigationTimingHooks::onResourceLoaderGetConfigVars"
+               ]
+       },
+       "EventLoggingSchemas": {
+               "NavigationTiming": 15033442,
+               "SaveTiming": 12236257
+       },
+       "config": {
+               "NavigationTimingSamplingFactor": false
+       },
+       "manifest_version": 1
+}

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I7420bd16ed4ef6c3a1713207abff5b8e7a6f9315
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/NavigationTiming
Gerrit-Branch: master
Gerrit-Owner: Mhutti1 <[email protected]>
Gerrit-Reviewer: Aklapper <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Mhutti1 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to