*/
public function getLanguage() {
if ( isset( $this->recursion ) ) {
- throw new MWException( 'Recursion detected' );
- }
-
- if ( $this->lang === null ) {
+ trigger_error( "Recursion detected in " . __METHOD__, E_USER_WARNING );
+ $e = new Exception;
+ wfDebugLog( 'recursion-guard', "Recursion detected:\n" . $e->getTraceAsString() );
+
+ global $wgLanguageCode;
+ $code = ( $wgLanguageCode ) ? $wgLanguageCode : 'en';
+ $this->lang = Language::factory( $code );
+ } elseif ( $this->lang === null ) {
$this->recursion = true;
global $wgLanguageCode, $wgContLang;