add smarty collector
Dieser Commit ist enthalten in:
Ursprung
eee07e22e3
Commit
b1dbe6854d
|
@ -15,6 +15,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace D3\DebugBar\Application\Component;
|
namespace D3\DebugBar\Application\Component;
|
||||||
|
|
||||||
|
use D3\DebugBar\Application\Models\Collectors\SmartyCollector;
|
||||||
use DebugBar\Bridge\DoctrineCollector;
|
use DebugBar\Bridge\DoctrineCollector;
|
||||||
use DebugBar\Bridge\MonologCollector;
|
use DebugBar\Bridge\MonologCollector;
|
||||||
use DebugBar\DataCollector\PDO\PDOCollector;
|
use DebugBar\DataCollector\PDO\PDOCollector;
|
||||||
|
@ -51,10 +52,8 @@ class DebugBarComponent extends BaseController
|
||||||
|
|
||||||
if (false === isAdmin()) {
|
if (false === isAdmin()) {
|
||||||
$debugbar = new StandardDebugBar();
|
$debugbar = new StandardDebugBar();
|
||||||
$debugbar->addCollector(new PDOCollector());
|
|
||||||
|
|
||||||
$debugbar->addCollector($this->getMonologCollector());
|
$this->addCollectors($debugbar);
|
||||||
$debugbar->addCollector($this->getDoctrineCollector());
|
|
||||||
|
|
||||||
$debugbarRenderer = $debugbar->getJavascriptRenderer();
|
$debugbarRenderer = $debugbar->getJavascriptRenderer();
|
||||||
$debugbarRenderer->setBaseUrl(Registry::getConfig()->getOutUrl() . 'debugbar');
|
$debugbarRenderer->setBaseUrl(Registry::getConfig()->getOutUrl() . 'debugbar');
|
||||||
|
@ -88,6 +87,14 @@ class DebugBarComponent extends BaseController
|
||||||
return new DoctrineCollector($debugStack);
|
return new DoctrineCollector($debugStack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return SmartyCollector
|
||||||
|
*/
|
||||||
|
public function getSmartyCollector(): SmartyCollector
|
||||||
|
{
|
||||||
|
return new SmartyCollector(Registry::getUtilsView()->getSmarty());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string|null
|
* @return string|null
|
||||||
*/
|
*/
|
||||||
|
@ -110,4 +117,18 @@ class DebugBarComponent extends BaseController
|
||||||
$property->setAccessible(true);
|
$property->setAccessible(true);
|
||||||
return $property->getValue($object);
|
return $property->getValue($object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param StandardDebugBar $debugbar
|
||||||
|
* @return void
|
||||||
|
* @throws DatabaseConnectionException
|
||||||
|
* @throws DebugBarException
|
||||||
|
* @throws ReflectionException
|
||||||
|
*/
|
||||||
|
public function addCollectors(StandardDebugBar $debugbar): void
|
||||||
|
{
|
||||||
|
$debugbar->addCollector($this->getMonologCollector());
|
||||||
|
$debugbar->addCollector($this->getDoctrineCollector());
|
||||||
|
$debugbar->addCollector($this->getSmartyCollector());
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,114 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*
|
||||||
|
* https://www.d3data.de
|
||||||
|
*
|
||||||
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
|
* @author D3 Data Development - Daniel Seifert <info@shopmodule.com>
|
||||||
|
* @link https://www.oxidmodule.com
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace D3\DebugBar\Application\Models\Collectors;
|
||||||
|
|
||||||
|
use DebugBar\DataCollector\DataCollector;
|
||||||
|
use DebugBar\DataCollector\Renderable;
|
||||||
|
use Smarty;
|
||||||
|
|
||||||
|
class SmartyCollector extends DataCollector implements Renderable
|
||||||
|
{
|
||||||
|
/** @var Smarty */
|
||||||
|
protected $smarty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
protected $useHtmlVarDumper = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets a flag indicating whether the Symfony HtmlDumper will be used to dump variables for
|
||||||
|
* rich variable rendering.
|
||||||
|
*
|
||||||
|
* @param bool $value
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function useHtmlVarDumper($value = true)
|
||||||
|
{
|
||||||
|
$this->useHtmlVarDumper = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates whether the Symfony HtmlDumper will be used to dump variables for rich variable
|
||||||
|
* rendering.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function isHtmlVarDumperUsed()
|
||||||
|
{
|
||||||
|
return $this->useHtmlVarDumper;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Smarty $smarty
|
||||||
|
*/
|
||||||
|
public function __construct(Smarty $smarty)
|
||||||
|
{
|
||||||
|
$this->smarty = $smarty;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function collect(): array
|
||||||
|
{
|
||||||
|
$data = [];
|
||||||
|
|
||||||
|
$vars = $this->smarty->get_template_vars();
|
||||||
|
|
||||||
|
foreach ($vars as $idx => $var) {
|
||||||
|
if ($this->isHtmlVarDumperUsed()) {
|
||||||
|
$data[$idx] = $this->getVarDumper()->renderVar($var);
|
||||||
|
} else {
|
||||||
|
$data[$idx] = $this->getDataFormatter()->formatVar($var);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ['vars' => $data, 'count' => count($data)];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getName(): string
|
||||||
|
{
|
||||||
|
return 'smarty';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getWidgets(): array
|
||||||
|
{
|
||||||
|
$widget = $this->isHtmlVarDumperUsed()
|
||||||
|
? "PhpDebugBar.Widgets.HtmlVariableListWidget"
|
||||||
|
: "PhpDebugBar.Widgets.VariableListWidget";
|
||||||
|
return array(
|
||||||
|
"smarty" => array(
|
||||||
|
"icon" => "tags",
|
||||||
|
"widget" => $widget,
|
||||||
|
"map" => "smarty.vars",
|
||||||
|
"default" => "{}"
|
||||||
|
),
|
||||||
|
"smarty:badge" => array(
|
||||||
|
"map" => "smarty.count",
|
||||||
|
"default" => 0
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
32
README.en.md
32
README.en.md
|
@ -11,6 +11,7 @@ The debug bar enables the display of relevant debug information in the shop fron
|
||||||
- [Changelog](#changelog)
|
- [Changelog](#changelog)
|
||||||
- [Contributing](#contributing)
|
- [Contributing](#contributing)
|
||||||
- [License](#license)´
|
- [License](#license)´
|
||||||
|
- [Further licences and terms of use](#further-licences-and-terms-of-use)´
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
@ -62,4 +63,33 @@ Copyright (c) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
This software is distributed under the GNU GENERAL PUBLIC LICENSE version 3.
|
This software is distributed under the GNU GENERAL PUBLIC LICENSE version 3.
|
||||||
```
|
```
|
||||||
|
|
||||||
For full copyright and licensing information, please see the [LICENSE](LICENSE.md) file distributed with this source code.
|
For full copyright and licensing information, please see the [LICENSE](LICENSE.md) file distributed with this source code.
|
||||||
|
|
||||||
|
## Further licences and terms of use
|
||||||
|
|
||||||
|
### Smarty collector
|
||||||
|
([https://github.com/Junker/php-debugbar-smarty/blob/master/LICENSE](https://github.com/Junker/php-debugbar-smarty/blob/master/LICENSE) - status 2022-07-31)
|
||||||
|
|
||||||
|
```
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2016 Dmitry Kosenkov
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
```
|
32
README.md
32
README.md
|
@ -11,6 +11,7 @@ Die Debug Bar ermöglicht die Darstellung relevanter Debuginformationen im Shopf
|
||||||
- [Changelog](#changelog)
|
- [Changelog](#changelog)
|
||||||
- [Beitragen](#beitragen)
|
- [Beitragen](#beitragen)
|
||||||
- [Lizenz](#lizenz)
|
- [Lizenz](#lizenz)
|
||||||
|
- [Weitere Lizenzen und Nutzungsbedingungen](#weitere-lizenzen-und-nutzungsbedingungen)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
@ -62,4 +63,33 @@ Copyright (c) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
Diese Software wird unter der GNU GENERAL PUBLIC LICENSE Version 3 vertrieben.
|
Diese Software wird unter der GNU GENERAL PUBLIC LICENSE Version 3 vertrieben.
|
||||||
```
|
```
|
||||||
|
|
||||||
Die vollständigen Copyright- und Lizenzinformationen entnehmen Sie bitte der [LICENSE](LICENSE.md)-Datei, die mit diesem Quellcode verteilt wurde.
|
Die vollständigen Copyright- und Lizenzinformationen entnehmen Sie bitte der [LICENSE](LICENSE.md)-Datei, die mit diesem Quellcode verteilt wurde.
|
||||||
|
|
||||||
|
## weitere Lizenzen und Nutzungsbedingungen
|
||||||
|
|
||||||
|
### Smarty-Collector
|
||||||
|
([https://github.com/Junker/php-debugbar-smarty/blob/master/LICENSE](https://github.com/Junker/php-debugbar-smarty/blob/master/LICENSE) - Stand 31.07.2022)
|
||||||
|
|
||||||
|
```
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2016 Dmitry Kosenkov
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
```
|
Laden…
In neuem Issue referenzieren