title( __( 'Notices / Warnings', 'debug-bar' ) ); $this->real_error_handler = set_error_handler( array( &$this, 'error_handler' ) ); } function is_visible() { return count( $this->notices ) || count( $this->warnings ); } function debug_bar_classes( $classes ) { if ( count( $this->warnings ) ) { $classes[] = 'debug-bar-php-warning-summary'; } elseif ( count( $this->notices ) ) { $classes[] = 'debug-bar-php-notice-summary'; } return $classes; } function error_handler( $type, $message, $file, $line ) { $_key = md5( $file . ':' . $line . ':' . $message ); if ( ! defined( 'E_DEPRECATED' ) ) { define( 'E_DEPRECATED', 8192 ); } if ( ! defined( 'E_USER_DEPRECATED' ) ) { define( 'E_USER_DEPRECATED', 16384 ); } switch ( $type ) { case E_WARNING: case E_USER_WARNING: $this->warnings[ $_key ] = array( $file . ':' . $line, $message, wp_debug_backtrace_summary( __CLASS__ ), ); break; case E_NOTICE: case E_USER_NOTICE: $this->notices[ $_key ] = array( $file . ':' . $line, $message, wp_debug_backtrace_summary( __CLASS__ ), ); break; case E_STRICT: // TODO break; case E_DEPRECATED: case E_USER_DEPRECATED: // TODO break; case 0: // TODO break; } if ( null != $this->real_error_handler ) { return call_user_func( $this->real_error_handler, $type, $message, $file, $line ); } else { return false; } } function render() { echo "