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