Wikia code/includes/MessageCache.php

From MediaWiki.org
Jump to: navigation, search
--- D:\Programming\SVN\mediawiki\branches\REL1_16\phase3\includes\MessageCache.php      2011-07-18 22:31:28.052734400 +0100
+++ D:\Programming\SVN\wikia\trunk\includes\MessageCache.php    2011-08-17 15:28:46.416992200 +0100
@@ -364,7 +365,7 @@
         * @param $text Mixed: new contents of the page.
         */
        public function replace( $title, $text ) {
-               global $wgMaxMsgCacheEntrySize;
+               global $wgMaxMsgCacheEntrySize, $wgTitle;
                wfProfileIn( __METHOD__ );
 
 
@@ -406,6 +407,16 @@
                        $codes = array_keys( Language::getLanguageNames() );
                }
 
+               $parserMemc->delete( wfMemcKey( 'navlinks' ) );
+               $parserMemc->delete( wfMemcKey( 'MonacoData' ) );
+               $parserMemc->delete( wfMemcKey( 'MonacoDataOld' ) );
+               $parserMemc->delete( wfMemcKey( 'Wiki-navigation', NavigationService::version ) );
+
+               // Set the JavaScript variable which is used by AJAX request to make data caching possible - Inez
+               if(is_object($wgTitle)) {
+                       $parserMemc->set(wfMemcKey('wgMWrevId'), $wgTitle->getLatestRevID());
+               }
+
                foreach ( $codes as $code ) {
                        $sidebarKey = wfMemcKey( 'sidebar', $code );
                        $parserMemc->delete( $sidebarKey );
@@ -527,6 +538,16 @@
                        $message = $this->getMsgFromNamespace( $title, $langcode );
                }
 
+               wfRunHooks( 'MsgGetFromNamespaceAfter', array( $lckey, $langcode, &$message, $useDB ) );
+
+               # Try the extension array
+               if ( $message === false && isset( $this->mExtensionMessages[$langcode][$lckey] ) ) {
+                       $message = $this->mExtensionMessages[$langcode][$lckey];
+               }
+               if ( $message === false && isset( $this->mExtensionMessages['en'][$lckey] ) ) {
+                       $message = $this->mExtensionMessages['en'][$lckey];
+               }
+
                # Try the array in the language object
                if ( $message === false ) {
                        $message = $lang->getMessage( $lckey );