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 ); 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 "