MW-Peachy /
Peachy
This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | /** |
||
| 4 | * lime_output class. |
||
| 5 | * @package lime |
||
| 6 | */ |
||
| 7 | class lime_output |
||
| 8 | { |
||
| 9 | public $colorizer = null; |
||
| 10 | public $base_dir = null; |
||
| 11 | |||
| 12 | /** |
||
| 13 | * @param bool|false $force_colors |
||
| 14 | * @param null $base_dir |
||
| 15 | */ |
||
| 16 | public function __construct($force_colors = false, $base_dir = null) |
||
| 17 | { |
||
| 18 | $this->colorizer = new lime_colorizer($force_colors); |
||
| 19 | $this->base_dir = $base_dir === null ? getcwd() : $base_dir; |
||
| 20 | } |
||
| 21 | |||
| 22 | /** |
||
| 23 | * Produces an Echo |
||
| 24 | */ |
||
| 25 | public function diag() |
||
| 26 | { |
||
| 27 | $messages = func_get_args(); |
||
| 28 | foreach ($messages as $message) { |
||
| 29 | echo $this->colorizer->colorize('# ' . join("\n# ", (array)$message), 'COMMENT') . "\n"; |
||
|
0 ignored issues
–
show
|
|||
| 30 | } |
||
| 31 | } |
||
| 32 | |||
| 33 | /** |
||
| 34 | * @param $message |
||
| 35 | */ |
||
| 36 | public function comment($message) |
||
| 37 | { |
||
| 38 | echo $this->colorizer->colorize(sprintf('# %s', $message), 'COMMENT') . "\n"; |
||
|
0 ignored issues
–
show
'COMMENT' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 39 | } |
||
| 40 | |||
| 41 | /** |
||
| 42 | * @param $message |
||
| 43 | */ |
||
| 44 | public function info($message) |
||
| 45 | { |
||
| 46 | echo $this->colorizer->colorize(sprintf('> %s', $message), 'INFO_BAR') . "\n"; |
||
|
0 ignored issues
–
show
'INFO_BAR' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 47 | } |
||
| 48 | |||
| 49 | /** |
||
| 50 | * @param $message |
||
| 51 | * @param null $file |
||
| 52 | * @param null $line |
||
| 53 | * @param array $traces |
||
| 54 | */ |
||
| 55 | public function error($message, $file = null, $line = null, $traces = array()) |
||
| 56 | { |
||
| 57 | if ($file !== null) { |
||
| 58 | $message .= sprintf("\n(in %s on line %s)", $file, $line); |
||
| 59 | } |
||
| 60 | |||
| 61 | // some error messages contain absolute file paths |
||
| 62 | $message = $this->strip_base_dir($message); |
||
| 63 | |||
| 64 | $space = $this->colorizer->colorize(str_repeat(' ', 71), 'RED_BAR') . "\n"; |
||
|
0 ignored issues
–
show
'RED_BAR' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 65 | $message = trim($message); |
||
| 66 | $message = wordwrap($message, 66, "\n"); |
||
| 67 | |||
| 68 | echo "\n" . $space; |
||
| 69 | foreach (explode("\n", $message) as $message_line) { |
||
| 70 | echo $this->colorizer->colorize(str_pad(' ' . $message_line, 71, ' '), 'RED_BAR') . "\n"; |
||
|
0 ignored issues
–
show
'RED_BAR' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 71 | } |
||
| 72 | echo $space . "\n"; |
||
| 73 | |||
| 74 | if (count($traces) > 0) { |
||
| 75 | echo $this->colorizer->colorize('Exception trace:', 'COMMENT') . "\n"; |
||
|
0 ignored issues
–
show
'COMMENT' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 76 | |||
| 77 | $this->print_trace(null, $file, $line); |
||
| 78 | |||
| 79 | foreach ($traces as $trace) { |
||
| 80 | if (array_key_exists('class', $trace)) { |
||
| 81 | $method = sprintf('%s%s%s()', $trace['class'], $trace['type'], $trace['function']); |
||
| 82 | } else { |
||
| 83 | $method = sprintf('%s()', $trace['function']); |
||
| 84 | } |
||
| 85 | |||
| 86 | if (array_key_exists('file', $trace)) { |
||
| 87 | $this->print_trace($method, $trace['file'], $trace['line']); |
||
| 88 | } else { |
||
| 89 | $this->print_trace($method); |
||
| 90 | } |
||
| 91 | } |
||
| 92 | |||
| 93 | echo "\n"; |
||
| 94 | } |
||
| 95 | } |
||
| 96 | |||
| 97 | /** |
||
| 98 | * @param string $method |
||
| 99 | */ |
||
| 100 | protected function print_trace($method = null, $file = null, $line = null) |
||
| 101 | { |
||
| 102 | if (!is_null($method)) { |
||
| 103 | $method .= ' '; |
||
| 104 | } |
||
| 105 | |||
| 106 | echo ' ' . $method . 'at '; |
||
| 107 | |||
| 108 | if (!is_null($file) && !is_null($line)) { |
||
| 109 | printf("%s:%s\n", $this->colorizer->colorize($this->strip_base_dir($file), 'TRACE'), |
||
|
0 ignored issues
–
show
'TRACE' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 110 | $this->colorizer->colorize($line, 'TRACE')); |
||
|
0 ignored issues
–
show
'TRACE' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 111 | } else { |
||
| 112 | echo "[internal function]\n"; |
||
| 113 | } |
||
| 114 | } |
||
| 115 | |||
| 116 | /** |
||
| 117 | * @param $message |
||
| 118 | * @param null $colorizer_parameter |
||
| 119 | * @param bool|true $colorize |
||
| 120 | */ |
||
| 121 | public function echoln($message, $colorizer_parameter = null, $colorize = true) |
||
| 122 | { |
||
| 123 | if ($colorize) { |
||
| 124 | $message = preg_replace('/(?:^|\.)((?:not ok|dubious|errors) *\d*)\b/e', |
||
| 125 | '$this->colorizer->colorize(\'$1\', \'ERROR\')', $message); |
||
| 126 | $message = preg_replace('/(?:^|\.)(ok *\d*)\b/e', '$this->colorizer->colorize(\'$1\', \'INFO\')', $message); |
||
| 127 | $message = preg_replace('/"(.+?)"/e', '$this->colorizer->colorize(\'$1\', \'PARAMETER\')', $message); |
||
| 128 | $message = preg_replace('/(\->|\:\:)?([a-zA-Z0-9_]+?)\(\)/e', |
||
| 129 | '$this->colorizer->colorize(\'$1$2()\', \'PARAMETER\')', $message); |
||
| 130 | } |
||
| 131 | |||
| 132 | echo ($colorizer_parameter ? $this->colorizer->colorize($message, $colorizer_parameter) : $message) . "\n"; |
||
| 133 | } |
||
| 134 | |||
| 135 | /** |
||
| 136 | * @param string $message |
||
| 137 | */ |
||
| 138 | public function green_bar($message) |
||
| 139 | { |
||
| 140 | echo $this->colorizer->colorize($message . str_repeat(' ', 71 - min(71, strlen($message))), 'GREEN_BAR') . "\n"; |
||
|
0 ignored issues
–
show
'GREEN_BAR' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 141 | } |
||
| 142 | |||
| 143 | /** |
||
| 144 | * @param string $message |
||
| 145 | */ |
||
| 146 | public function red_bar($message) |
||
| 147 | { |
||
| 148 | echo $this->colorizer->colorize($message . str_repeat(' ', 71 - min(71, strlen($message))), 'RED_BAR') . "\n"; |
||
|
0 ignored issues
–
show
'RED_BAR' is of type string, but the function expects a array.
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
Loading history...
|
|||
| 149 | } |
||
| 150 | |||
| 151 | /** |
||
| 152 | * @return string |
||
| 153 | */ |
||
| 154 | protected function strip_base_dir($text) |
||
| 155 | { |
||
| 156 | return str_replace(DIRECTORY_SEPARATOR, '/', |
||
| 157 | str_replace(realpath($this->base_dir) . DIRECTORY_SEPARATOR, '', $text)); |
||
| 158 | } |
||
| 159 | } |
||
| 160 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: