Southparkfan has uploaded a new change for review.

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

Change subject: Move TimedText NS id defines back into ParserAfterCache
......................................................................

Move TimedText NS id defines back into ParserAfterCache

Apparently wgExtensionFunctions is too late when it comes to namespace
defines and you can get stuck with a bad cached state because of it.
Temporarily move this back while we fix T123823.
Partially reverts 197d62e30435a5aeca40009d06c09ee3dd160fe1

Bug: T123695
Change-Id: I09462e7ecfc3b8e3bf3964ee4e0bfec12712c40e
---
M TimedMediaHandler.hooks.php
M TimedMediaHandler.php
2 files changed, 30 insertions(+), 16 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TimedMediaHandler 
refs/changes/23/265923/1

diff --git a/TimedMediaHandler.hooks.php b/TimedMediaHandler.hooks.php
index 6acfe41..e9a8182 100644
--- a/TimedMediaHandler.hooks.php
+++ b/TimedMediaHandler.hooks.php
@@ -8,13 +8,31 @@
  */
 
 class TimedMediaHandlerHooks {
+
+       // Register TimedMediaHandler namespace IDs
+       // These are configurable due to Commons history: T123823
+       // These need to be before registerhooks due to: T123695
+       public static function onSetupAfterCache() {
+               global $wgEnableLocalTimedText, $wgExtraNamespaces, 
$wgTimedTextNS;
+               if ( $wgEnableLocalTimedText ) {
+                       define( "NS_TIMEDTEXT", $wgTimedTextNS );
+                       define( "NS_TIMEDTEXT_TALK", $wgTimedTextNS +1 );
+
+                       $wgExtraNamespaces[NS_TIMEDTEXT] = "TimedText";
+                       $wgExtraNamespaces[NS_TIMEDTEXT_TALK] = 
"TimedText_talk";
+               } else {
+                       $wgTimedTextNS = false;
+               }
+               return true;
+       }
+
        // Register TimedMediaHandler Hooks
-       public static function register(){
-               global $wgHooks, $wgJobClasses, 
$wgJobTypesExcludedFromDefaultQueue,
-               $wgMediaHandlers, $wgResourceModules, 
$wgExcludeFromThumbnailPurge, $wgExtraNamespaces,
-               $wgParserOutputHooks, $wgTimedTextNS, $wgFileExtensions, 
$wgTmhEnableMp4Uploads,
-               $wgExtensionAssetsPath, $wgMwEmbedModuleConfig, $timedMediaDir,
-               $wgEnableLocalTimedText, $wgTmhFileExtensions;
+       public static function register() {
+               global $wgHooks, $wgJobClasses, 
$wgJobTypesExcludedFromDefaultQueue, $wgMediaHandlers,
+               $wgResourceModules, $wgExcludeFromThumbnailPurge, 
$wgParserOutputHooks,
+               $wgFileExtensions, $wgTmhEnableMp4Uploads, 
$wgExtensionAssetsPath,
+               $wgMwEmbedModuleConfig, $wgEnableLocalTimedText, 
$wgTmhFileExtensions,
+               $wgTmhTheoraTwoPassEncoding, $wgTmhWebPlayer;
 
                // Remove mp4 if not enabled:
                if( $wgTmhEnableMp4Uploads === false ){
@@ -161,17 +179,10 @@
                 * Add support for the "TimedText" NameSpace
                 */
                if ( $wgEnableLocalTimedText ) {
-                       define( "NS_TIMEDTEXT", $wgTimedTextNS );
-                       define( "NS_TIMEDTEXT_TALK", $wgTimedTextNS +1 );
-
-                       $wgExtraNamespaces[NS_TIMEDTEXT] = "TimedText";
-                       $wgExtraNamespaces[NS_TIMEDTEXT_TALK] = 
"TimedText_talk";
-
                        // Check for timed text page:
                        $wgHooks[ 'ArticleFromTitle' ][] = 
'TimedMediaHandlerHooks::checkForTimedTextPage';
                        $wgHooks[ 'ArticleContentOnDiff' ][] = 
'TimedMediaHandlerHooks::checkForTimedTextDiff';
                } else {
-                       $wgTimedTextNS = false;
                        // overwrite TimedText.ShowInterface for video with 
mw-provider=local
                        $wgMwEmbedModuleConfig['TimedText.ShowInterface.local'] 
= 'off';
                }
diff --git a/TimedMediaHandler.php b/TimedMediaHandler.php
index 163eeb7..2c032e6 100644
--- a/TimedMediaHandler.php
+++ b/TimedMediaHandler.php
@@ -281,9 +281,12 @@
 $wgAutoloadClasses['SpecialTimedMediaHandler'] = 
"$timedMediaDir/SpecialTimedMediaHandler.php";
 $wgAutoloadClasses['SpecialOrphanedTimedText'] = 
"$timedMediaDir/SpecialOrphanedTimedText.php";
 
-// Register all Timed Media Handler hooks right after initial setup
-// This way if you set a variable like $wgTimedTextNS in LocalSettings.php 
after you include TimedMediaHandler
-// we can still read the variable values
+// This way if you set a variable like $wgTimedTextNS in LocalSettings.php
+// after you include TimedMediaHandler we can still read the variable values
+// See also T123695 and T123823
+$wgHooks['SetupAfterCache'][] = 'TimedMediaHandlerHooks::onSetupAfterCache';
+
+// Register remaining Timed Media Handler hooks right after initial setup
 $wgExtensionFunctions[] = 'TimedMediaHandlerHooks::register';
 
 # add Special pages

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I09462e7ecfc3b8e3bf3964ee4e0bfec12712c40e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/TimedMediaHandler
Gerrit-Branch: REL1_26
Gerrit-Owner: Southparkfan <[email protected]>
Gerrit-Reviewer: TheDJ <[email protected]>

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

Reply via email to