erghhhh
authorDomas Mituzas <midom@users.mediawiki.org>
Wed, 2 Aug 2006 18:48:30 +0000 (18:48 +0000)
committerDomas Mituzas <midom@users.mediawiki.org>
Wed, 2 Aug 2006 18:48:30 +0000 (18:48 +0000)
includes/GlobalFunctions.php
includes/StubObject.php

index c34b7db..9e4a453 100644 (file)
@@ -2047,4 +2047,18 @@ function wfGetPrecompiledData( $name ) {
        return false;
 }
 
+function wfGetCaller( $level = 1 ) {
+       $backtrace = debug_backtrace();
+       if ( isset( $backtrace[$level] ) ) {
+               if ( isset( $backtrace[$level]['class'] ) ) {
+                       $caller = $backtrace[$level]['class'] . '::' . $backtrace[$level]['function'];
+               } else {
+                       $caller = $backtrace[$level]['function'];
+               }
+       } else {
+               $caller = 'unknown';
+       }
+       return $caller;
+}
+
 ?>
index c54b114..7225c24 100644 (file)
@@ -49,7 +49,7 @@ class StubObject {
                if ( get_class( $GLOBALS[$this->mGlobal] ) != $this->mClass ) {
                        $fname = __METHOD__.'-'.$this->mGlobal;
                        wfProfileIn( $fname );
-                       $caller = Profiler::getCaller( $level );
+                       $caller = wfGetCaller( $level );
                        if ( ++$recursionLevel > 2 ) {
                                throw new MWException( "Unstub loop detected on call of \${$this->mGlobal}->$name from $caller\n" );
                        }