[oik] plugins.com

WordPress plugins and themes

  • Home
  • About
    • lazy shortcodes
    • smart shortcodes
    • oik base plugin
      • oik – donate
      • oik PayPal buttons
      • oik installation
      • oik Button Shortcode button
      • oik changelog
      • oik FAQ
      • oik plugins on SVN
      • oik plugins on GitHub
  • Plugins
    • oik base plugin
    • FREE oik plugins
    • WordPress plugins
    • Premium oik plugins
    • Bespoke oik plugins
  • Shortcodes
    • Shortcode examples
  • Blocks
    • Block examples
  • APIs
    • ALL action and filter hooks
  • Blog

bw_trace_obsafe_print_r() – Output buffering safe print_r()

You appear to be a bot. Output may be restricted

Description

Output buffering safe print_r()

Activate this plugin when you get the following message from oik-bwtrace Fatal error: print_r(): Cannot use output buffering in output buffering display handlers in plugins\oik-bwtrace\includes\bwtrace.inc on line 253 (or thereabouts ) The source of this function was @link http://grokbase.com/t/php/php-notes/1219akmjd7/note-107120-added-to-function-debug-print-backtrace Explanation of the print_r() function available at http://us.php.net/manual/en/function.print-r.php .

Usage

$string = bw_trace_obsafe_print_r( $var, $level, $visitedVars );

Parameters

$var
( mixed ) required – expression to be printed
$level
( integer ) optional – the nesting level – used for pretty formatting
$visitedVars
( array ) optional – to cater for recursive structures

Returns

string print_r() like output IF $return is true

Source

File name: oik-bwtrace/includes/bwtrace.php
Lines:

1 to 56 of 56
function bw_trace_obsafe_print_r( $var, $level=0, &$visitedVars = array()) {
  $spaces = "";
  $space = " ";
  $newline = "\n";
  for ($i = 1; $i <= 4; $i++) {
    $spaces .= $space;
  }
  $tabs = $spaces;
  for ($i = 1; $i <= $level; $i++) {
    $tabs .= $spaces;
  }
  
  if ( is_array( $var ) ) {
    $title = "Array";
  } elseif ( is_object( $var ) ) {
    $title = get_class( $var )." Object";
    $var = (array) $var;
  } else {
    $title = null;
  }
  if ( $title ) {
    $output = $title . $newline . $newline;
    foreach ($var as $key => $value) {
    
      if (is_array( $value ) || is_object( $value) ) {
        if ( is_array( $value ) && 0 == count( $value ) ) {
            $value = "Array";
        }  elseif ( is_object( $value ) && $value instanceof Closure ) {
           $value = 'Closure';
        } else {
          try {
            $md5_serialize = md5( serialize( $value ) );
          }
          catch  ( Exception $e ) {
            $md5_serialize = "Nested closure? $key";
          }
          if ( isset( $visitedVars[ $md5_serialize ] ) ) {
            $value = "*RECURSION* " . $visitedVars[ $md5_serialize] ;
          } else {
            $visitedVars[ $md5_serialize ] = "$key $level";
            $level++;
            $value = bw_trace_obsafe_print_r( $value, $level, $visitedVars);
            $level--;
          }
        }    
      } else {
        $value = '('.gettype($value).') '.(is_string($value) ? '"' : '').$value.(is_string($value) ? '"' : '');
      }
      $key = str_replace( chr(0), " ", $key );
      $output .= $tabs . "[" . $key . "] => " . $value . $newline;
    }
  } else {
    $output = $var;
  }
  return $output;
}
 

 View on GitHub View on Trac

Share this:

  • Click to share on Facebook (Opens in new window)
  • Click to share on Twitter (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • Click to share on Pinterest (Opens in new window)

Published: November 1, 2016 | Last updated: November 1, 2016

Information

Function name: bw_trace_obsafe_print_r
Plugin ref: oik-bwtrace – debug trace for WordPress
Version: 3.0.0
Sourcefile: includes/bwtrace.php
File ref: includes/bwtrace.php
Deprecated?: No
API Letters:

Recent plugin updates

oik-read-more v0.2.3 

oik-read-more v0.2.3 has been tested with WordPress 5.3.1 and WordPress Multi Site.

 ...
oik-bwtrace v3.0.0 Use oik-bwtrace v3.0.0 to trace your WordPress server's activity including AJAX, REST and command line. ...
oik-bwtrace v3.0.0-RC2 oik-bwtrace v3.0.0-RC2 includes fixes for many more issues.  ...
oik v3.3.7 

oik v3.3.7 fixes a problem introduced in 3.3.6

 ...
oik-bob-bing-wide v1.32.0 

Update for improvements to the [bw_plug] shortcode… used on blocks.wp-a2z.org

 ...

Plugins

  • All Plugins
  • oik base plugin
  • FREE oik plugins
  • WordPress plugins
  • Premium oik plugins

Themes

  • FREE themes
  • Bespoke themes
  • Premium themes

Blocks

  • All Blocks
  • Block examples
  • About Blocks

Shortcodes

  • All Shortcodes
  • Shortcode examples
  • About Shortcodes

Reference

  • About APIs
  • All APIs
  • All Classes
  • All Files
  • All Hooks

Support

  • Contact
  • Cookies policy
  • Get API key
  • Privacy
  • Request support
  • Sitemap
  • Stay informed
  • Terms and Conditions
oik-plugins
Email: herb@bobbingwide.com

Site:  www.oik-plugins.com
© Copyright oik-plugins 2011-2019. All rights reserved.


Website designed and developed by Herb Miller of Bobbing Wide
Proudly powered by WordPress and oik-plugins
WordPress 5.3.1. PHP: 7.2.20. Memory limit: 768M