* Safe for calls on local wikis are:
* - Option getters:
* - getGroup()
- * - getPosition()
* - getPages()
* - Basic methods that strictly involve the foreign database
* - getDB()
* - getTitleInfo()
*/
class ResourceLoaderWikiModule extends ResourceLoaderModule {
- /** @var string Position on the page to load this module at */
- protected $position = 'bottom';
// Origin defaults to users with sitewide authority
protected $origin = self::ORIGIN_USER_SITEWIDE;
foreach ( $options as $member => $option ) {
switch ( $member ) {
- case 'position':
case 'styles':
case 'scripts':
case 'group':
return null;
}
- $revision = Revision::newFromTitle( $title, false, Revision::READ_NORMAL );
+ $revision = Revision::newKnownCurrent( wfGetDB( DB_REPLICA ), $title->getArticleID(),
+ $title->getLatestRevID() );
if ( !$revision ) {
return null;
}
-
+ $revision->setTitle( $title );
$content = $revision->getContent( Revision::RAW );
if ( !$content ) {
}
}
- $allPageNames = array_keys( $allPages );
- sort( $allPageNames );
- $hash = sha1( implode( '|', $allPageNames ) );
+ $pageNames = array_keys( $allPages );
+ sort( $pageNames );
+ $hash = sha1( implode( '|', $pageNames ) );
// Avoid Zend bug where "static::" does not apply LSB in the closure
$func = [ static::class, 'fetchTitleInfo' ];
+ $fname = __METHOD__;
$cache = ObjectCache::getMainWANInstance();
$allInfo = $cache->getWithSetCallback(
$cache->makeGlobalKey( 'resourceloader', 'titleinfo', $db->getWikiID(), $hash ),
$cache::TTL_HOUR,
- function ( $curValue, &$ttl, array &$setOpts ) use ( $func, $allPageNames, $db ) {
+ function ( $curVal, &$ttl, array &$setOpts ) use ( $func, $pageNames, $db, $fname ) {
$setOpts += Database::getCacheSetOptions( $db );
- return call_user_func( $func, $db, $allPageNames, __METHOD__ );
+ return call_user_func( $func, $db, $pageNames, $fname );
},
[ 'checkKeys' => [ $cache->makeGlobalKey( 'resourceloader', 'titleinfo', $db->getWikiID() ) ] ]
);
}
}
- /**
- * @return string
- */
- public function getPosition() {
- return $this->position;
- }
-
/**
* @since 1.28
* @return string