DebugBar.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. /* Copyright (C) 2023 Laurent Destailleur <eldy@users.sourceforge.net>
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation; either version 3 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program. If not, see <https://www.gnu.org/licenses/>.
  16. */
  17. /**
  18. * \file htdocs/debugbar/class/DebugBar.php
  19. * \brief Class for debugbar
  20. * \ingroup debugbar
  21. */
  22. dol_include_once('/debugbar/class/autoloader.php');
  23. use DebugBar\DebugBar;
  24. dol_include_once('/debugbar/class/DataCollector/DolMessagesCollector.php');
  25. dol_include_once('/debugbar/class/DataCollector/DolRequestDataCollector.php');
  26. dol_include_once('/debugbar/class/DataCollector/DolConfigCollector.php');
  27. dol_include_once('/debugbar/class/DataCollector/DolTimeDataCollector.php');
  28. dol_include_once('/debugbar/class/DataCollector/DolMemoryCollector.php');
  29. dol_include_once('/debugbar/class/DataCollector/DolPhpCollector.php');
  30. dol_include_once('/debugbar/class/DataCollector/DolExceptionsCollector.php');
  31. dol_include_once('/debugbar/class/DataCollector/DolQueryCollector.php');
  32. dol_include_once('/debugbar/class/DataCollector/DolibarrCollector.php');
  33. dol_include_once('/debugbar/class/DataCollector/DolLogsCollector.php');
  34. /**
  35. * DolibarrDebugBar class
  36. *
  37. * @see http://phpdebugbar.com/docs/base-collectors.html#base-collectors
  38. */
  39. class DolibarrDebugBar extends DebugBar
  40. {
  41. /**
  42. * Constructor
  43. *
  44. */
  45. public function __construct()
  46. {
  47. global $conf;
  48. //$this->addCollector(new PhpInfoCollector());
  49. //$this->addCollector(new DolMessagesCollector());
  50. $this->addCollector(new DolRequestDataCollector());
  51. //$this->addCollector(new DolConfigCollector()); // Disabled for security purpose
  52. $this->addCollector(new DolTimeDataCollector());
  53. $this->addCollector(new PhpCollector());
  54. $this->addCollector(new DolMemoryCollector());
  55. //$this->addCollector(new DolExceptionsCollector());
  56. $this->addCollector(new DolQueryCollector());
  57. $this->addCollector(new DolibarrCollector());
  58. if (isModEnabled('syslog')) {
  59. $this->addCollector(new DolLogsCollector());
  60. }
  61. }
  62. /**
  63. * Returns a JavascriptRenderer for this instance
  64. *
  65. * @return \DebugBar\JavascriptRenderer String content
  66. */
  67. public function getRenderer()
  68. {
  69. $renderer = parent::getJavascriptRenderer(DOL_URL_ROOT.'/includes/maximebf/debugbar/src/DebugBar/Resources');
  70. $renderer->disableVendor('jquery'); // We already have jquery loaded globally by the main.inc.php
  71. $renderer->disableVendor('fontawesome'); // We already have fontawesome loaded globally by the main.inc.php
  72. $renderer->disableVendor('highlightjs'); // We don't need this
  73. $renderer->setEnableJqueryNoConflict(false); // We don't need no conflict
  74. return $renderer;
  75. }
  76. }