[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 60 of 60
function bw_trace_obsafe_print_r( $var, $level=0, &$visitedVars = array()) {

  if ( $level > 10 ) {
    //return( 'Max Level Reached');
  }
  $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

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.4.1
Sourcefile: includes/bwtrace.php
File ref: includes/bwtrace.php
Deprecated?: No
API Letters:

Recent plugin updates

oik v4.9.2 Upgrade to oik v4.9.2 for support for PHP 8.1 and PHP 8.2. ...
oik-block v0.3.0 oik-block v0.3.0 no longer displays the Editor selection meta box ...
oik-blocks v1.4.3 Upgrade to oik-blocks v1.4.3 for PHP 8.2 support. ...
cookie-cat v1.4.6 Upgrade to cookie-cat v1.4.6 for PHP 8.1 & PHP 8.2 support. ...
oik-fields v1.54.0 oik-fields v1.54.0 caters for the deprecation of get_page_by_title() in WordPress 6.2. ...

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

Weight shipping plugins

Find out which cart weight shipping plugin you need for your WooCommerce site.
Which cart weight based plugin do I need?

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


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