| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-23 19:38:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * debugbar.php | 
					
						
							| 
									
										
										
										
											2020-07-03 05:59:36 +02:00
										 |  |  |  * Copyright (c) 2020 james@firefly-iii.org | 
					
						
							| 
									
										
										
										
											2020-01-23 19:38:39 +01:00
										 |  |  |  * | 
					
						
							|  |  |  |  * This file is part of Firefly III (https://github.com/firefly-iii). | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU Affero General Public License as | 
					
						
							|  |  |  |  * published by the Free Software Foundation, either version 3 of the | 
					
						
							|  |  |  |  * License, or (at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  * GNU Affero General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU Affero General Public License | 
					
						
							|  |  |  |  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-03 05:59:36 +02:00
										 |  |  | declare(strict_types=1); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  | return [ | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | Debugbar Settings | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | Debugbar is enabled by default, when debug is set to true in app.php. | 
					
						
							|  |  |  |      | You can override the value by setting enable to true or false instead of null. | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | You can provide an array of URI's that must be ignored (eg. 'api/*') | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     'enabled' => env('DEBUGBAR_ENABLED', null), | 
					
						
							| 
									
										
										
										
											2020-03-17 16:06:30 +00:00
										 |  |  |     'except'  => [ | 
					
						
							|  |  |  |         'telescope*', | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |     ], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | Storage settings | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | DebugBar stores data for session/ajax requests. | 
					
						
							|  |  |  |      | You can disable this, so the debugbar stores data in headers/session, | 
					
						
							|  |  |  |      | but this can cause problems with large data collectors. | 
					
						
							|  |  |  |      | By default, file storage (in the storage folder) is used. Redis and PDO | 
					
						
							|  |  |  |      | can also be used. For PDO, run the package migrations first. | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     'storage' => [ | 
					
						
							|  |  |  |         'enabled'    => true, | 
					
						
							|  |  |  |         'driver'     => 'file', // redis, file, pdo, custom
 | 
					
						
							|  |  |  |         'path'       => storage_path('debugbar'), // For file driver
 | 
					
						
							|  |  |  |         'connection' => null,   // Leave null for default connection (Redis/PDO)
 | 
					
						
							| 
									
										
										
										
											2020-03-17 16:06:30 +00:00
										 |  |  |         'provider'   => '', // Instance of StorageInterface for custom driver
 | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |     ], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | Vendors | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | Vendor files are included by default, but can be set to false. | 
					
						
							|  |  |  |      | This can also be set to 'js' or 'css', to only include javascript or css vendor files. | 
					
						
							|  |  |  |      | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files) | 
					
						
							|  |  |  |      | and for js: jquery and and highlight.js | 
					
						
							|  |  |  |      | So if you want syntax highlighting, set it to true. | 
					
						
							|  |  |  |      | jQuery is set to not conflict with existing jQuery scripts. | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     'include_vendors' => true, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | Capture Ajax Requests | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors), | 
					
						
							|  |  |  |      | you can use this option to disable sending the data through the headers. | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | Optionally, you can also send ServerTiming headers on ajax requests for the Chrome DevTools. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-17 16:06:30 +00:00
										 |  |  |     'capture_ajax'    => true, | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |     'add_ajax_timing' => false, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | Custom Error Handler for Deprecated warnings | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | When enabled, the Debugbar shows deprecated warnings for Symfony components | 
					
						
							|  |  |  |      | in the Messages tab. | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-03-20 17:31:54 +01:00
										 |  |  |     'error_handler'   => true, | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | Clockwork integration | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | The Debugbar can emulate the Clockwork headers, so you can use the Chrome | 
					
						
							|  |  |  |      | Extension, without the server-side code. It uses Debugbar collectors instead. | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2020-03-20 17:31:54 +01:00
										 |  |  |     'clockwork'       => false, | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | DataCollectors | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | Enable/disable DataCollectors | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     'collectors' => [ | 
					
						
							|  |  |  |         'phpinfo'         => true,  // Php version
 | 
					
						
							|  |  |  |         'messages'        => true,  // Messages
 | 
					
						
							|  |  |  |         'time'            => true,  // Time Datalogger
 | 
					
						
							|  |  |  |         'memory'          => true,  // Memory usage
 | 
					
						
							|  |  |  |         'exceptions'      => true,  // Exception displayer
 | 
					
						
							|  |  |  |         'log'             => true,  // Logs from Monolog (merged in messages if enabled)
 | 
					
						
							|  |  |  |         'db'              => true,  // Show database (PDO) queries and bindings
 | 
					
						
							|  |  |  |         'views'           => true,  // Views with their data
 | 
					
						
							|  |  |  |         'route'           => true,  // Current route information
 | 
					
						
							|  |  |  |         'auth'            => true, // Display Laravel authentication status
 | 
					
						
							|  |  |  |         'gate'            => true, // Display Laravel Gate checks
 | 
					
						
							|  |  |  |         'session'         => true,  // Display session data
 | 
					
						
							|  |  |  |         'symfony_request' => true,  // Only one can be enabled..
 | 
					
						
							|  |  |  |         'mail'            => true,  // Catch mail messages
 | 
					
						
							|  |  |  |         'laravel'         => false, // Laravel version and environment
 | 
					
						
							|  |  |  |         'events'          => true, // All events fired
 | 
					
						
							|  |  |  |         'default_request' => false, // Regular or special Symfony request logger
 | 
					
						
							|  |  |  |         'logs'            => false, // Add the latest log messages
 | 
					
						
							|  |  |  |         'files'           => false, // Show the included files
 | 
					
						
							|  |  |  |         'config'          => false, // Display config settings
 | 
					
						
							|  |  |  |         'cache'           => true, // Display cache events
 | 
					
						
							|  |  |  |         'models'          => false, // Display models
 | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | Extra options | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | Configure some DataCollectors | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     'options' => [ | 
					
						
							| 
									
										
										
										
											2020-03-20 17:31:54 +01:00
										 |  |  |         'auth'  => [ | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |             'show_name' => true,   // Also show the users name/email in the debugbar
 | 
					
						
							|  |  |  |         ], | 
					
						
							| 
									
										
										
										
											2020-03-20 17:31:54 +01:00
										 |  |  |         'db'    => [ | 
					
						
							|  |  |  |             'with_params' => true,   // Render SQL with the parameters substituted
 | 
					
						
							|  |  |  |             'backtrace'   => true,   // Use a backtrace to find the origin of the query in your files.
 | 
					
						
							|  |  |  |             'timeline'    => false,  // Add the queries to the timeline
 | 
					
						
							|  |  |  |             'explain'     => [                 // Show EXPLAIN output on queries
 | 
					
						
							|  |  |  |                                                'enabled' => false, | 
					
						
							|  |  |  |                                                'types'   => ['SELECT'], | 
					
						
							|  |  |  |                                                // // workaround ['SELECT'] only. https://github.com/barryvdh/laravel-debugbar/issues/888 ['SELECT', 'INSERT', 'UPDATE', 'DELETE']; for MySQL 5.6.3+
 | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |             ], | 
					
						
							| 
									
										
										
										
											2020-03-20 17:31:54 +01:00
										 |  |  |             'hints'       => true,    // Show hints for common mistakes
 | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |         ], | 
					
						
							| 
									
										
										
										
											2020-03-20 17:31:54 +01:00
										 |  |  |         'mail'  => [ | 
					
						
							| 
									
										
										
										
											2020-03-17 16:06:30 +00:00
										 |  |  |             'full_log' => false, | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |         ], | 
					
						
							|  |  |  |         'views' => [ | 
					
						
							|  |  |  |             'data' => true,    //Note: Can slow down the application, because the data can be quite large..
 | 
					
						
							|  |  |  |         ], | 
					
						
							|  |  |  |         'route' => [ | 
					
						
							| 
									
										
										
										
											2020-03-17 16:06:30 +00:00
										 |  |  |             'label' => true,  // show complete route on bar
 | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |         ], | 
					
						
							| 
									
										
										
										
											2020-03-20 17:31:54 +01:00
										 |  |  |         'logs'  => [ | 
					
						
							| 
									
										
										
										
											2020-03-17 16:06:30 +00:00
										 |  |  |             'file' => null, | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |         ], | 
					
						
							|  |  |  |         'cache' => [ | 
					
						
							| 
									
										
										
										
											2020-03-17 16:06:30 +00:00
										 |  |  |             'values' => true, // collect cache values
 | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  |         ], | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | Inject Debugbar in Response | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | Usually, the debugbar is added just before </body>, by listening to the | 
					
						
							|  |  |  |      | Response after the App is done. If you disable this, you have to add them | 
					
						
							|  |  |  |      | in your template yourself. See http://phpdebugbar.com/docs/rendering.html | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-20 17:31:54 +01:00
										 |  |  |     'inject'       => true, | 
					
						
							| 
									
										
										
										
											2020-01-01 15:34:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | DebugBar route prefix | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | Sometimes you want to set route prefix to be used by DebugBar to load | 
					
						
							|  |  |  |      | its resources from. Usually the need comes from misconfigured web server or | 
					
						
							|  |  |  |      | from trying to overcome bugs like this: http://trac.nginx.org/nginx/ticket/97 | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     'route_prefix' => '_debugbar', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | DebugBar route domain | 
					
						
							|  |  |  |      |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |      | | 
					
						
							|  |  |  |      | By default DebugBar route served from the same domain that request served. | 
					
						
							|  |  |  |      | To override default domain, specify it as a non-empty value. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     'route_domain' => null, | 
					
						
							|  |  |  | ]; |