From: daniel Date: Fri, 8 Jun 2012 07:41:04 +0000 (+0200) Subject: use Content::getWikitextForTransclusion() for message text X-Git-Tag: 1.31.0-rc.0~22097^2^2~131 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/banques/ajouter.php?a=commitdiff_plain;h=5b2271e8762787c09fa3375dfd50ab8ddd2abe35;p=lhc%2Fweb%2Fwiklou.git use Content::getWikitextForTransclusion() for message text --- diff --git a/includes/cache/MessageCache.php b/includes/cache/MessageCache.php index 24f32d692f..70b53f9b47 100644 --- a/includes/cache/MessageCache.php +++ b/includes/cache/MessageCache.php @@ -768,16 +768,27 @@ class MessageCache { # Try loading it from the database $revision = Revision::newFromTitle( Title::makeTitle( NS_MEDIAWIKI, $title ) ); if ( $revision ) { - $message = $revision->getText(); - if ($message === false) { + $content = $revision->getContent(); + if ( !$content ) { // A possibly temporary loading failure. wfDebugLog( 'MessageCache', __METHOD__ . ": failed to load message page text for {$title} ($code)" ); + $message = null; // no negative caching } else { - $this->mCache[$code][$title] = ' ' . $message; - $this->mMemc->set( $titleKey, ' ' . $message, $this->mExpiry ); + $message = $content->getWikitextForTransclusion(); #XXX: is this the reight way to turn a Content object into a mesage? + + if ( $message === false || $message === null ) { + wfDebugLog( 'MessageCache', __METHOD__ . ": message content doesn't provide wikitext (content model: #" . $content->getContentHandler() . ")" ); + $message = false; // negative caching + } else { + $this->mCache[$code][$title] = ' ' . $message; + $this->mMemc->set( $titleKey, ' ' . $message, $this->mExpiry ); + } } } else { - $message = false; + $message = false; // negative caching + } + + if ( $message === false ) { // negative caching $this->mCache[$code][$title] = '!NONEXISTENT'; $this->mMemc->set( $titleKey, '!NONEXISTENT', $this->mExpiry ); }