* @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 );
}