Passed
Branch develop (56c45f)
by Jens
02:42
created

utf8Convert()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 4
nc 1
nop 1
dl 0
loc 9
rs 9.6666
c 1
b 0
f 0
1
<?php
2
/**
3
 * Dumps a var_dump of the passed arguments with <pre> tags surrounding it.
4
 * Dies afterwards
5
 *
6
 * @param mixed ...    The data to be displayed
7
 */
8
function dump()
9
{
10
    $debug_backtrace = current(debug_backtrace());
11
    if (PHP_SAPI == 'cli') {
12
        echo 'Dump: ' . $debug_backtrace['file'] . ':' . $debug_backtrace['line'] . "\n";
13
        foreach (func_get_args() as $data) {
14
            var_dump($data);
15
        }
16
    } else {
17
        ob_end_clean();
18
        ob_start();
19
        echo <<<END
20
<!DOCTYPE html>
21
<html>
22
<head>
23
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.0.0/highlight.min.js"></script>
24
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.0.0/styles/default.min.css" />
25
<script>hljs.initHighlightingOnLoad();</script>
26
<style>code.php.hljs{margin: -0.4em 0;}code.active{background-color:#e0e0e0;}code:before{content:attr(data-line);}code.active:before{color:#c00;font-weight:bold;}</style>
27
</head>
28
<body>
29
END;
30
31
        echo '<div>Dump: ' . $debug_backtrace['file'] . ':<b>' . $debug_backtrace['line'] . "</b></div>";
32
        echo '<pre>';
33
        foreach (func_get_args() as $data) {
34
            echo "<code>";
35
            var_dump($data);
36
            echo "</code>";
37
        }
38
        echo '</pre>';
39
        echo <<<END
40
</body>
41
</html>
42
END;
43
    }
44
    die;
1 ignored issue
show
Best Practice introduced by
Using exit here is not recommended.

In general, usage of exit should be done with care and only when running in a scripting context like a CLI script.

Loading history...
45
}
46
47
/**
48
 * Minify the html for the outputbuffer
49
 *
50
 * @param $buffer
51
 * @return mixed
52
 */
53
function sanitize_output($buffer)
54
{
55
    if (!isset($_GET['unsanitized'])) {
56
        $search = array(
57
            '/\>[^\S ]+/s',     // strip whitespaces after tags, except space
58
            '/[^\S ]+\</s',     // strip whitespaces before tags, except space
59
            '/(\s)+/s',         // shorten multiple whitespace sequences
60
            '/<!--(.|\s)*?-->/' // Remove HTML comments
61
        );
62
63
        $replace = array(
64
            '>',
65
            '<',
66
            '\\1',
67
            ''
68
        );
69
70
        $buffer = preg_replace($search, $replace, $buffer);
71
72
        return $buffer;
73
    } else {
74
        return $buffer;
75
    }
76
}
77
78
79
/**
80
 * Convert all values of an array to utf8
81
 *
82
 * @param $array
83
 * @return array
84
 */
85
function utf8Convert($array)
86
{
87
    array_walk_recursive($array, function (&$item) {
88
        if (!mb_detect_encoding($item, 'utf-8', true)) {
89
            $item = utf8_encode($item);
90
        }
91
    });
92
93
    return $array;
94
}