Changeset 765


Ignore:
Timestamp:
Mar 12, 2022 11:19:21 PM (2 years ago)
Author:
anonymous
Message:

Improve getDump()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Utilities.inc.php

    r763 r765  
    121121* @author   Quinn Comendant <quinn@strangecode.com>
    122122*/
    123 function getDump($var, $serialize=false)
    124 {
    125     $app =& App::getInstance();
    126 
    127     ob_start();
    128     print_r($var);
    129     $d = ob_get_contents();
    130     ob_end_clean();
     123function getDump($var, $serialize=false, $dump_method=SC_DUMP_PRINT_R)
     124{
     125    $app =& App::getInstance();
     126
     127    switch ($dump_method) {
     128    case SC_DUMP_PRINT_R:
     129    default:
     130        // Print human-readable descriptions of invisible types.
     131        if (null === $var) {
     132            $d = '(null)';
     133        } else if (true === $var) {
     134            $d = '(bool: true)';
     135        } else if (false === $var) {
     136            $d = '(bool: false)';
     137        } else if (is_scalar($var) && '' === $var) {
     138            $d = '(empty string)';
     139        } else if (is_scalar($var) && preg_match('/^\s+$/', $var)) {
     140            $d = '(only white space)';
     141        } else {
     142            ob_start();
     143            print_r($var);
     144            $d = ob_get_contents();
     145            ob_end_clean();
     146        }
     147        break;
     148
     149    case SC_DUMP_VAR_DUMP:
     150        ob_start();
     151        print_r($var);
     152        var_dump($var);
     153        ob_end_clean();
     154        break;
     155
     156    case SC_DUMP_VAR_EXPORT:
     157        ob_start();
     158        print_r($var);
     159        var_export($var);
     160        ob_end_clean();
     161        break;
     162
     163    case SC_DUMP_JSON:
     164        $d = json_encode($var, JSON_PRETTY_PRINT);
     165        break;
     166    }
    131167    return $serialize ? preg_replace('/\s+/m' . $app->getParam('preg_u'), ' ', $d) : $d;
    132168}
     
    14591495function ipInRange($addr, $networks)
    14601496{
     1497    if (null == $addr || '' == trim($addr)) {
     1498        return false;
     1499    }
     1500
    14611501    if (!is_array($networks)) {
    14621502        $networks = array($networks);
Note: See TracChangeset for help on using the changeset viewer.