tweaks for r33917:
authorAlexandre Emsenhuber <ialex@users.mediawiki.org>
Sat, 26 Apr 2008 19:09:04 +0000 (19:09 +0000)
committerAlexandre Emsenhuber <ialex@users.mediawiki.org>
Sat, 26 Apr 2008 19:09:04 +0000 (19:09 +0000)
* use level 1 to get file and line, this from where the deprecated function was called
* added class if available

includes/GlobalFunctions.php

index 3d77f8b..5a1b47a 100644 (file)
@@ -2511,12 +2511,20 @@ function wfMaxlagError( $host, $lag, $maxLag ) {
  * @return null
  */
 function wfDeprecated( $function ) {
-       $callers = debug_backtrace();
-       $file = @$callers[2]['file'];
-       $line = @$callers[2]['line'];
-       $func = @$callers[2]['function'];
-       if ( $func && $file ) {
-               trigger_error( "Use of $function is deprecated. Called from $func at $file:$line", E_USER_NOTICE );
+       $callers = wfDebugBacktrace();
+       if( isset( $callers[2] ) ){
+               $callerfunc = $callers[2];
+               $callerfile = $callers[1];
+               if( isset( $callerfile['file'] ) && isset( $callerfile['line'] ) ){
+                       $file = $callerfile['file'] . ' at line ' . $callerfile['line'];
+               } else {
+                       $file = '(internal function)';
+               }
+               $func = '';
+               if( isset( $callerfunc['class'] ) )
+                       $func .= $callerfunc['class'] . '::';
+               $func .= @$callerfunc['function'];
+               trigger_error( "Use of $function is deprecated. Called from $func in $file", E_USER_NOTICE );
        } else {
                trigger_error( "Use of $function is deprecated.", E_USER_NOTICE );
        }