| 1 | <?php |
||
| 2 | |||
| 3 | namespace LeKoala\DebugBar; |
||
| 4 | |||
| 5 | use SilverStripe\ORM\DataList; |
||
| 6 | use SilverStripe\ORM\DB; |
||
| 7 | |||
| 8 | class DebugBarUtils |
||
| 9 | { |
||
| 10 | |||
| 11 | /** |
||
| 12 | * Format a sql query string using available formatters. |
||
| 13 | * If no formatters are available, simply return the string as is. |
||
| 14 | * Highlighting is used if not in cli context |
||
| 15 | */ |
||
| 16 | public static function formatSql(string $query): string |
||
| 17 | { |
||
| 18 | if (class_exists(\Doctrine\SqlFormatter\SqlFormatter::class)) { |
||
| 19 | return (new \Doctrine\SqlFormatter\SqlFormatter())->format($query); |
||
| 20 | } |
||
| 21 | if (class_exists(\SqlFormatter::class)) { |
||
|
0 ignored issues
–
show
|
|||
| 22 | return \SqlFormatter::format($query, !self::isCli()); |
||
| 23 | } |
||
| 24 | if (class_exists(\SilverStripe\View\Parsers\SQLFormatter::class)) { |
||
| 25 | $method = self::isCli() ? 'formatPlain' : 'formatHTML'; |
||
| 26 | $formatter = new \SilverStripe\View\Parsers\SQLFormatter; |
||
| 27 | return $formatter->$method($query); |
||
| 28 | } |
||
| 29 | return $query; |
||
| 30 | } |
||
| 31 | |||
| 32 | /** |
||
| 33 | * Show the underlying sql query for a list |
||
| 34 | * @param DataList $list |
||
| 35 | * @param bool $inline Inlines paramters |
||
| 36 | * @param bool $noQuotes Remove ANSI Quotes |
||
| 37 | * @return string |
||
| 38 | */ |
||
| 39 | public static function formatListQuery(DataList $list, bool $inline = true, bool $noQuotes = false): string |
||
| 40 | { |
||
| 41 | $parameters = []; |
||
| 42 | $formatted = self::formatSql($list->sql($parameters)); |
||
| 43 | if ($inline) { |
||
| 44 | $formatted = DB::inline_parameters($formatted, $parameters); |
||
| 45 | } |
||
| 46 | if ($noQuotes) { |
||
| 47 | $formatted = str_replace('"', '', $formatted); |
||
| 48 | } |
||
| 49 | return $formatted; |
||
| 50 | } |
||
| 51 | |||
| 52 | public static function isCli(): bool |
||
| 53 | { |
||
| 54 | return in_array(PHP_SAPI ?: '', ['cli', 'phpdbg']) || !http_response_code(); |
||
| 55 | } |
||
| 56 | } |
||
| 57 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths