*/
protected static function load( $prefix ) {
global $wgMemc, $wgInterwikiExpiry;
- $key = wfMemcKey( 'interwiki', $prefix );
- $mc = $wgMemc->get( $key );
- $iw = false;
- if( $mc && is_array( $mc ) ) { // is_array is hack for old keys
- $iw = Interwiki::loadFromArray( $mc );
+
+ $iwData = false;
+ if ( !wfRunHooks( 'InterwikiLoadPrefix', array( $prefix, &$iwData ) ) ) {
+ return Interwiki::loadFromArray( $iwData );
+ }
+
+ if ( !$iwData ) {
+ $key = wfMemcKey( 'interwiki', $prefix );
+ $iwData = $wgMemc->get( $key );
+ }
+
+ if( $iwData && is_array( $iwData ) ) { // is_array is hack for old keys
+ $iw = Interwiki::loadFromArray( $iwData );
if( $iw ) {
return $iw;
}
* @return String
*/
public function getName() {
- $key = 'interwiki-name-' . $this->mPrefix;
- $msg = wfMsgForContent( $key );
- return wfEmptyMsg( $key, $msg ) ? '' : $msg;
+ $msg = wfMessage( 'interwiki-name-' . $this->mPrefix )->inContentLanguage();
+ return !$msg->exists() ? '' : $msg;
}
/**
* @return String
*/
public function getDescription() {
- $key = 'interwiki-desc-' . $this->mPrefix;
- $msg = wfMsgForContent( $key );
- return wfEmptyMsg( $key, $msg ) ? '' : $msg;
+ $msg = wfMessage( 'interwiki-desc-' . $this->mPrefix )->inContentLanguage();
+ return !$msg->exists() ? '' : $msg;
}
}