[11/06/2024] Les premières modifs + installation de quelques modules indispensables
This commit is contained in:
50
domokits/local/modules/WebProfiler/Config/config.xml
Normal file
50
domokits/local/modules/WebProfiler/Config/config.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<config xmlns="http://thelia.net/schema/dic/config"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
|
||||
|
||||
<loops>
|
||||
<!-- sample definition
|
||||
<loop name="MySuperLoop" class="WebProfiler\Loop\MySuperLoop" />
|
||||
-->
|
||||
</loops>
|
||||
|
||||
<forms>
|
||||
<!--
|
||||
<form name="MyFormName" class="WebProfiler\Form\MySuperForm" />
|
||||
-->
|
||||
</forms>
|
||||
|
||||
<commands>
|
||||
<!--
|
||||
<command class="WebProfiler\Command\MySuperCommand" />
|
||||
-->
|
||||
</commands>
|
||||
|
||||
<!--
|
||||
<services>
|
||||
|
||||
</services>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<hooks>
|
||||
<hook id="webprofiler.hook" class="WebProfiler\Hook\MySuperHook">
|
||||
<tag name="hook.event_listener" event="main.body.bottom" type="front|back|pdf|email" method="onMainBodyBottom" />
|
||||
</hook>
|
||||
</hooks>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<exports>
|
||||
|
||||
</exports>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<imports>
|
||||
|
||||
</imports>
|
||||
-->
|
||||
</config>
|
||||
50
domokits/local/modules/WebProfiler/Config/config_dev.xml
Normal file
50
domokits/local/modules/WebProfiler/Config/config_dev.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<config xmlns="http://thelia.net/schema/dic/config"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
|
||||
|
||||
<loops>
|
||||
<!-- sample definition
|
||||
<loop name="MySuperLoop" class="WebProfiler\Loop\MySuperLoop" />
|
||||
-->
|
||||
</loops>
|
||||
|
||||
<forms>
|
||||
<!--
|
||||
<form name="MyFormName" class="WebProfiler\Form\MySuperForm" />
|
||||
-->
|
||||
</forms>
|
||||
|
||||
<commands>
|
||||
<!--
|
||||
<command class="WebProfiler\Command\MySuperCommand" />
|
||||
-->
|
||||
</commands>
|
||||
|
||||
<!--
|
||||
<services>
|
||||
|
||||
</services>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<hooks>
|
||||
<hook id="webprofiler.hook" class="WebProfiler\Hook\MySuperHook">
|
||||
<tag name="hook.event_listener" event="main.body.bottom" type="front|back|pdf|email" method="onMainBodyBottom" />
|
||||
</hook>
|
||||
</hooks>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<exports>
|
||||
|
||||
</exports>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<imports>
|
||||
|
||||
</imports>
|
||||
-->
|
||||
</config>
|
||||
50
domokits/local/modules/WebProfiler/Config/config_prod.xml
Normal file
50
domokits/local/modules/WebProfiler/Config/config_prod.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<config xmlns="http://thelia.net/schema/dic/config"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
|
||||
|
||||
<loops>
|
||||
<!-- sample definition
|
||||
<loop name="MySuperLoop" class="WebProfiler\Loop\MySuperLoop" />
|
||||
-->
|
||||
</loops>
|
||||
|
||||
<forms>
|
||||
<!--
|
||||
<form name="MyFormName" class="WebProfiler\Form\MySuperForm" />
|
||||
-->
|
||||
</forms>
|
||||
|
||||
<commands>
|
||||
<!--
|
||||
<command class="WebProfiler\Command\MySuperCommand" />
|
||||
-->
|
||||
</commands>
|
||||
|
||||
<!--
|
||||
<services>
|
||||
|
||||
</services>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<hooks>
|
||||
<hook id="webprofiler.hook" class="WebProfiler\Hook\MySuperHook">
|
||||
<tag name="hook.event_listener" event="main.body.bottom" type="front|back|pdf|email" method="onMainBodyBottom" />
|
||||
</hook>
|
||||
</hooks>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<exports>
|
||||
|
||||
</exports>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<imports>
|
||||
|
||||
</imports>
|
||||
-->
|
||||
</config>
|
||||
50
domokits/local/modules/WebProfiler/Config/config_test.xml
Normal file
50
domokits/local/modules/WebProfiler/Config/config_test.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<config xmlns="http://thelia.net/schema/dic/config"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
|
||||
|
||||
<loops>
|
||||
<!-- sample definition
|
||||
<loop name="MySuperLoop" class="WebProfiler\Loop\MySuperLoop" />
|
||||
-->
|
||||
</loops>
|
||||
|
||||
<forms>
|
||||
<!--
|
||||
<form name="MyFormName" class="WebProfiler\Form\MySuperForm" />
|
||||
-->
|
||||
</forms>
|
||||
|
||||
<commands>
|
||||
<!--
|
||||
<command class="WebProfiler\Command\MySuperCommand" />
|
||||
-->
|
||||
</commands>
|
||||
|
||||
<!--
|
||||
<services>
|
||||
|
||||
</services>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<hooks>
|
||||
<hook id="webprofiler.hook" class="WebProfiler\Hook\MySuperHook">
|
||||
<tag name="hook.event_listener" event="main.body.bottom" type="front|back|pdf|email" method="onMainBodyBottom" />
|
||||
</hook>
|
||||
</hooks>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<exports>
|
||||
|
||||
</exports>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<imports>
|
||||
|
||||
</imports>
|
||||
-->
|
||||
</config>
|
||||
43
domokits/local/modules/WebProfiler/Config/module.xml
Normal file
43
domokits/local/modules/WebProfiler/Config/module.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module xmlns="http://thelia.net/schema/dic/module"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/module http://thelia.net/schema/dic/module/module-2_2.xsd">
|
||||
<fullnamespace>WebProfiler\WebProfiler</fullnamespace>
|
||||
<descriptive locale="en_US">
|
||||
<title>Add thelia specific data to web profiler</title>
|
||||
<!--
|
||||
<subtitle></subtitle>
|
||||
<description></description>
|
||||
<postscriptum></postscriptum>
|
||||
-->
|
||||
</descriptive>
|
||||
<descriptive locale="fr_FR">
|
||||
<title>Ajoute des données spécifique a thelia dans le web profiler</title>
|
||||
</descriptive>
|
||||
<!-- <logo></logo> -->
|
||||
<!--<images-folder>images</images-folder>-->
|
||||
<languages>
|
||||
<language>en_US</language>
|
||||
<language>fr_FR</language>
|
||||
</languages>
|
||||
<version>2.5.4</version>
|
||||
<authors>
|
||||
<author>
|
||||
<name></name>
|
||||
<email></email>
|
||||
</author>
|
||||
</authors>
|
||||
<type>classic</type>
|
||||
<!--
|
||||
module dependencies
|
||||
<required>
|
||||
<module version=">=0.1">Front</module>
|
||||
<module version="~1.0">HookCart</module>
|
||||
<module version=">0.2">HookSearch</module>
|
||||
</required>
|
||||
-->
|
||||
<thelia>2.5.4</thelia>
|
||||
<stability>other</stability>
|
||||
<mandatory>0</mandatory>
|
||||
<hidden>1</hidden>
|
||||
</module>
|
||||
31
domokits/local/modules/WebProfiler/Config/routing.xml
Normal file
31
domokits/local/modules/WebProfiler/Config/routing.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<routes xmlns="http://symfony.com/schema/routing"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
|
||||
|
||||
<!--
|
||||
|
||||
if a /admin/module/webprofiler/ route is provided, a "Configuration" button will be displayed
|
||||
for the module in the module list. Clicking this button will invoke this route.
|
||||
|
||||
<route id="my_route_id" path="/admin/module/webprofiler">
|
||||
<default key="_controller">WebProfiler\Full\Class\Name\Of\YourConfigurationController::methodName</default>
|
||||
</route>
|
||||
|
||||
<route id="my_route_id" path="/admin/module/webprofiler/route-name">
|
||||
<default key="_controller">WebProfiler\Full\Class\Name\Of\YourAdminController::methodName</default>
|
||||
</route>
|
||||
|
||||
<route id="my_route_id" path="/my/route/name">
|
||||
<default key="_controller">WebProfiler\Full\Class\Name\Of\YourOtherController::methodName</default>
|
||||
</route>
|
||||
|
||||
...add as many routes as required.
|
||||
|
||||
<route>
|
||||
...
|
||||
</route>
|
||||
-->
|
||||
|
||||
</routes>
|
||||
25
domokits/local/modules/WebProfiler/Config/schema.xml
Normal file
25
domokits/local/modules/WebProfiler/Config/schema.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<database defaultIdMethod="native" name="TheliaMain"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="../../../vendor/thelia/propel/resources/xsd/database.xsd" >
|
||||
<!--
|
||||
See propel documentation on http://propelorm.org for all information about schema file
|
||||
|
||||
<table name="product_rel" namespace="WebProfiler\Model">
|
||||
<column autoIncrement="true" name="id" primaryKey="true" required="true" type="INTEGER" />
|
||||
<column defaultValue="0" name="visible" required="true" type="TINYINT" />
|
||||
<column defaultValue="0" name="position" required="true" type="INTEGER" />
|
||||
<column name="title" size="255" type="VARCHAR" />
|
||||
<column name="description" type="CLOB" />
|
||||
<column name="chapo" type="LONGVARCHAR" />
|
||||
<column name="postscriptum" type="LONGVARCHAR" />
|
||||
<foreign-key foreignTable="product" name="fk_product_id" onDelete="CASCADE" onUpdate="RESTRICT">
|
||||
<reference foreign="id" local="product_id" />
|
||||
</foreign-key>
|
||||
<behavior name="timestampable" />
|
||||
<behavior name="i18n">
|
||||
<parameter name="i18n_columns" value="title, description, chapo, postscriptum" />
|
||||
</behavior>
|
||||
</table>
|
||||
-->
|
||||
</database>
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Thelia package.
|
||||
* http://www.thelia.net
|
||||
*
|
||||
* (c) OpenStudio <info@thelia.net>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace WebProfiler\DataCollector;
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpKernel\DataCollector\DataCollector;
|
||||
use TheliaSmarty\Template\DataCollectorSmartyParser;
|
||||
|
||||
class SmartyDataCollector extends DataCollector
|
||||
{
|
||||
private $smartyParser;
|
||||
|
||||
public function __construct(DataCollectorSmartyParser $smartyParser)
|
||||
{
|
||||
$this->smartyParser = $smartyParser;
|
||||
}
|
||||
|
||||
public function collect(Request $request, Response $response, \Throwable $exception = null): void
|
||||
{
|
||||
$this->data['templates'] = $this->smartyParser->getCollectedTemplates();
|
||||
}
|
||||
|
||||
public function getTemplates()
|
||||
{
|
||||
return $this->data['templates'];
|
||||
}
|
||||
|
||||
public function getTemplateCount()
|
||||
{
|
||||
return \count($this->data['templates']);
|
||||
}
|
||||
|
||||
public function getTotalExecutionTime()
|
||||
{
|
||||
return array_reduce($this->data['templates'], function ($carry, $template) { return $carry + $template['executionTime']; }, 0);
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return 'smarty';
|
||||
}
|
||||
|
||||
public function reset(): void
|
||||
{
|
||||
$this->data['templates'] = [];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Thelia package.
|
||||
* http://www.thelia.net
|
||||
*
|
||||
* (c) OpenStudio <info@thelia.net>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace WebProfiler\DataCollector;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\DataCollector\AbstractDataCollector;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Thelia\Core\Thelia;
|
||||
|
||||
class TheliaCollector extends AbstractDataCollector
|
||||
{
|
||||
public function collect(Request $request, Response $response, \Throwable $exception = null): void
|
||||
{
|
||||
$this->data = [
|
||||
'theliaVersion' => Thelia::THELIA_VERSION,
|
||||
];
|
||||
}
|
||||
|
||||
public function getTheliaVersion()
|
||||
{
|
||||
return $this->data['theliaVersion'];
|
||||
}
|
||||
|
||||
public static function getTemplate(): ?string
|
||||
{
|
||||
return '@WebProfilerModule/debug/dataCollector/thelia.html.twig';
|
||||
}
|
||||
}
|
||||
15
domokits/local/modules/WebProfiler/I18n/en_US.php
Normal file
15
domokits/local/modules/WebProfiler/I18n/en_US.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Thelia package.
|
||||
* http://www.thelia.net
|
||||
*
|
||||
* (c) OpenStudio <info@thelia.net>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
return [
|
||||
// 'an english string' => 'The displayed english string',
|
||||
];
|
||||
15
domokits/local/modules/WebProfiler/I18n/fr_FR.php
Normal file
15
domokits/local/modules/WebProfiler/I18n/fr_FR.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Thelia package.
|
||||
* http://www.thelia.net
|
||||
*
|
||||
* (c) OpenStudio <info@thelia.net>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
return [
|
||||
// 'an english string' => 'La traduction française de la chaine',
|
||||
];
|
||||
55
domokits/local/modules/WebProfiler/Readme.md
Normal file
55
domokits/local/modules/WebProfiler/Readme.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Web Profiler
|
||||
|
||||
Add a short description here. You can also add a screenshot if needed.
|
||||
|
||||
## Installation
|
||||
|
||||
### Manually
|
||||
|
||||
* Copy the module into ```<thelia_root>/local/modules/``` directory and be sure that the name of the module is WebProfiler.
|
||||
* Activate it in your thelia administration panel
|
||||
|
||||
### Composer
|
||||
|
||||
Add it in your main thelia composer.json file
|
||||
|
||||
```
|
||||
composer require your-vendor/web-profiler-module:~1.0
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Explain here how to use your module, how to configure it, etc.
|
||||
|
||||
## Hook
|
||||
|
||||
If your module use one or more hook, fill this part. Explain which hooks are used.
|
||||
|
||||
|
||||
## Loop
|
||||
|
||||
If your module declare one or more loop, describe them here like this :
|
||||
|
||||
[loop name]
|
||||
|
||||
### Input arguments
|
||||
|
||||
|Argument |Description |
|
||||
|--- |--- |
|
||||
|**arg1** | describe arg1 with an exemple. |
|
||||
|**arg2** | describe arg2 with an exemple. |
|
||||
|
||||
### Output arguments
|
||||
|
||||
|Variable |Description |
|
||||
|--- |--- |
|
||||
|$VAR1 | describe $VAR1 variable |
|
||||
|$VAR2 | describe $VAR2 variable |
|
||||
|
||||
### Exemple
|
||||
|
||||
Add a complete exemple of your loop
|
||||
|
||||
## Other ?
|
||||
|
||||
If you have other think to put, feel free to complete your readme as you want.
|
||||
62
domokits/local/modules/WebProfiler/WebProfiler.php
Normal file
62
domokits/local/modules/WebProfiler/WebProfiler.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Thelia package.
|
||||
* http://www.thelia.net
|
||||
*
|
||||
* (c) OpenStudio <info@thelia.net>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace WebProfiler;
|
||||
|
||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ServicesConfigurator;
|
||||
use Thelia\Module\BaseModule;
|
||||
use TheliaSmarty\Template\DataCollectorSmartyParser;
|
||||
use WebProfiler\DataCollector\SmartyDataCollector;
|
||||
|
||||
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
|
||||
|
||||
class WebProfiler extends BaseModule
|
||||
{
|
||||
/** @var string */
|
||||
public const DOMAIN_NAME = 'webprofiler';
|
||||
|
||||
/*
|
||||
* You may now override BaseModuleInterface methods, such as:
|
||||
* install, destroy, preActivation, postActivation, preDeactivation, postDeactivation
|
||||
*
|
||||
* Have fun !
|
||||
*/
|
||||
|
||||
/**
|
||||
* Defines how services are loaded in your modules.
|
||||
*/
|
||||
public static function configureServices(ServicesConfigurator $servicesConfigurator): void
|
||||
{
|
||||
$servicesConfigurator->load(self::getModuleCode().'\\', __DIR__)
|
||||
->exclude(
|
||||
[
|
||||
THELIA_MODULE_DIR.ucfirst(self::getModuleCode()).'/I18n/*',
|
||||
THELIA_MODULE_DIR.ucfirst(self::getModuleCode()).'/DataCollector/SmartyDataCollector',
|
||||
]
|
||||
)
|
||||
->autowire(true)
|
||||
->autoconfigure(true);
|
||||
|
||||
$servicesConfigurator->set('data_collector.smarty', SmartyDataCollector::class)
|
||||
->args([
|
||||
service(DataCollectorSmartyParser::class)->ignoreOnInvalid(),
|
||||
])
|
||||
->tag(
|
||||
'data_collector',
|
||||
[
|
||||
'template' => '@WebProfilerModule/debug/dataCollector/smarty.html.twig',
|
||||
'id' => 'smarty',
|
||||
'priority' => 42,
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
12
domokits/local/modules/WebProfiler/composer.json
Normal file
12
domokits/local/modules/WebProfiler/composer.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "your-vendor/web-profiler-module",
|
||||
"description": "WebProfiler module for Thelia",
|
||||
"license": "LGPL-3.0-or-later",
|
||||
"type": "thelia-module",
|
||||
"require": {
|
||||
"thelia/installer": "~1.1"
|
||||
},
|
||||
"extra": {
|
||||
"installer-name": "WebProfiler"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="{{ _charset }}" />
|
||||
<meta name="robots" content="noindex,nofollow" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<title>{% block title %}Thelia Profiler{% endblock %}</title>
|
||||
<link rel="shortcut icon" href="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgd2lkdGg9IjIxLjU1MTE5MyIKICAgaGVpZ2h0PSIyMS41NTExNTUiCiAgIHZpZXdCb3g9IjAgMCA1LjcwMjE1NzIgNS43MDIyODk5IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc5MTMiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTkxNyI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczkwMyI+CiAgICA8cGF0aAogICAgICAgaWQ9ImEiCiAgICAgICBkPSJtIDE3Ljc4MSwxMDYuMzAzIGggMTcyLjQ0NiB2IDU3LjU4IEggMTcuNzgxIFoiIC8+CiAgPC9kZWZzPgogIDxnCiAgICAgYXJpYS1sYWJlbD0idGhlbGlhIgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuNzc3MTU3MTMsMCwwLDAuNzczMTE4NywtMjcuNjEzNTE1LC04NS44NjAwODYpIgogICAgIGlkPSJ0ZXh0OTExIgogICAgIHN0eWxlPSJmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjEyLjdweDtsaW5lLWhlaWdodDoxLjE1O2ZvbnQtZmFtaWx5OlJFWjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlJFWjt3aGl0ZS1zcGFjZTpwcmU7c2hhcGUtaW5zaWRlOnVybCgjYSkiPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMzkuMjA2MDk0LDExMS44OTM1IHEgMC41OTY5LDAgMS4xMDQ5LDAuMjI4NiAwLjUyMDcsMC4yMTU5IDAuOTAxNywwLjYwOTU5IDAuMzkzNywwLjM4MSAwLjYwOTYsMC45MDE3IDAuMjI4NiwwLjUwOCAwLjIyODYsMS4xMDQ5IHYgMi44NTc1IGggLTIuODQ0OCBxIC0wLjU4NDIsMCAtMS4xMDQ5LC0wLjIxNTkgLTAuNTIwNywtMC4yMjg2IC0wLjkxNDQsLTAuNjIyMyAtMC4zOTM3LC0wLjM5MzcgLTAuNjIyMywtMC45MTQ0IC0wLjIxNTksLTAuNTIwNyAtMC4yMTU5LC0xLjEwNDkgMCwtMC41OTY5IDAuMjE1OSwtMS4xMDQ5IDAuMjI4NiwtMC41MjA3IDAuNjIyMywtMC45MDE3IDAuMzkzNywtMC4zOTM2OSAwLjkxNDQsLTAuNjA5NTkgMC41MjA3LC0wLjIyODYgMS4xMDQ5LC0wLjIyODYgeiBtIDEuNzE0NSw0LjU3MTk5IHYgLTEuNzI3MiBxIDAsLTAuMzU1NiAtMC4xMzk3LC0wLjY2MDQgLTAuMTI3LC0wLjMxNzUgLTAuMzY4MywtMC41NDYxIC0wLjIyODYsLTAuMjQxMyAtMC41NDYxLC0wLjM2ODMgLTAuMzA0OCwtMC4xMzk3IC0wLjY2MDQsLTAuMTM5NyAtMC4zNTU2LDAgLTAuNjczMSwwLjEzOTcgLTAuMzE3NSwwLjEyNyAtMC41NTg4LDAuMzY4MyAtMC4yMjg2LDAuMjI4NiAtMC4zNjgzLDAuNTQ2MSAtMC4xMjcsMC4zMDQ4IC0wLjEyNywwLjY2MDQgMCwwLjM1NTYgMC4xMjcsMC42NzMxIDAuMTM5NywwLjMxNzUgMC4zNjgzLDAuNTU4OCAwLjI0MTMsMC4yMjg2IDAuNTU4OCwwLjM2ODMgMC4zMTc1LDAuMTI3IDAuNjczMSwwLjEyNyB6IgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC4zNDM5NzE7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGlkPSJwYXRoOTI5IiAvPgogIDwvZz4KPC9zdmc+Cg==" />
|
||||
{% block head %}
|
||||
<style>
|
||||
{{ include('@WebProfiler/Profiler/profiler.css.twig') }}
|
||||
</style>
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
document.body.classList.add(
|
||||
localStorage.getItem('symfony/profiler/theme') || (matchMedia('(prefers-color-scheme: dark)').matches ? 'theme-dark' : 'theme-light'),
|
||||
localStorage.getItem('symfony/profiler/width') || 'width-normal'
|
||||
);
|
||||
</script>
|
||||
|
||||
{% block body '' %}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div id="header">
|
||||
<div class="container">
|
||||
<h1>{{ include('@WebProfilerModule/debug/dataCollector/Icon/thelia.svg') }} <span>Profiler</span></h1>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="512px"
|
||||
height="512px"
|
||||
viewBox="0 0 512 512"
|
||||
enable-background="new 0 0 512 512"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="smarty.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata9"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs7" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="985"
|
||||
id="namedview5"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.53125"
|
||||
inkscape:cx="256"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
<path
|
||||
d="M384,192c0,64-64,127-64,192H192c0-63-64-128-64-192c0-70.688,57.313-128,128-128S384,121.313,384,192z M304,448h-96 c-8.844,0-16,7.156-16,16s7.156,16,16,16h2.938c6.594,18.625,24.188,32,45.063,32s38.469-13.375,45.063-32H304 c8.844,0,16-7.156,16-16S312.844,448,304,448z M304,400h-96c-8.844,0-16,7.156-16,16s7.156,16,16,16h96c8.844,0,16-7.156,16-16 S312.844,400,304,400z M81.719,109.875l28.719,16.563c4.438-9.813,9.844-19,16.094-27.656L97.719,82.125L81.719,109.875z M272,33.625V0h-32v33.625C245.344,33.063,250.5,32,256,32S266.656,33.063,272,33.625z M190.438,46.438l-16.563-28.719l-27.75,16 l16.656,28.813C171.438,56.281,180.625,50.875,190.438,46.438z M430.281,109.875l-16-27.75l-28.813,16.656 c6.25,8.656,11.688,17.844,16.125,27.656L430.281,109.875z M365.844,33.719l-27.688-16l-16.563,28.719 c9.781,4.438,19,9.844,27.625,16.063L365.844,33.719z M96,192c0-5.5,1.063-10.656,1.625-16H64v32h33.688 C97.063,202.688,96,197.438,96,192z M414.375,176c0.563,5.344,1.625,10.5,1.625,16c0,5.438-1.063,10.688-1.688,16H448v-32H414.375z M388.094,286.719l26.188,15.125l16-27.719l-29.063-16.75C397.188,267.313,392.813,277.063,388.094,286.719z M81.719,274.125 l16,27.719l25.969-14.969c-4.688-9.688-9.063-19.5-13.031-29.438L81.719,274.125z"
|
||||
id="path2"
|
||||
style="fill:#aaaaaa;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||
<path style="fill:#FFD15C;" d="M314.667,391.467c6.4-21.333,19.2-40.533,36.267-55.467c32-26.667,52.267-67.2,52.267-112
|
||||
c0-83.2-69.333-151.467-154.667-147.2C172.8,80,110.933,144,108.8,219.733C107.733,266.667,128,308.267,161.067,336
|
||||
C179.2,350.933,192,370.133,198.4,391.467L314.667,391.467L314.667,391.467z"/>
|
||||
<path style="fill:#FFFFFF;" d="M242.133,393.6h9.6l-42.667-158.933c1.067,0,2.133,0,3.2,0c5.333,0,10.667-2.133,14.933-6.4
|
||||
c2.133-2.133,4.267-3.2,7.467-3.2c3.2,0,5.333,1.067,7.467,3.2c7.467,8.533,20.267,8.533,27.733,0c2.133-2.133,4.267-3.2,7.467-3.2
|
||||
c2.133,0,5.333,1.067,7.467,3.2c4.267,4.267,8.533,6.4,14.933,6.4c1.067,0,2.133,0,3.2,0l-41.6,158.933h9.6l43.733-166.4
|
||||
c0-2.133,0-4.267-2.133-5.333c-2.133-1.067-4.267,0-5.333,1.067c-2.133,2.133-4.267,3.2-6.4,3.2c-3.2,0-5.333-1.067-8.533-3.2
|
||||
c-4.267-4.267-8.533-6.4-13.867-6.4s-9.6,2.133-13.867,6.4s-10.667,4.267-14.933,0c-3.2-4.267-8.533-6.4-13.867-6.4l0,0
|
||||
c-5.333,0-10.667,2.133-13.867,6.4c-2.133,2.133-5.333,3.2-8.533,3.2c-2.133,0-5.333-1.067-6.4-3.2
|
||||
c-1.067-1.067-3.2-2.133-5.333-1.067c-2.133,1.067-3.2,3.2-2.133,5.333L242.133,393.6z"/>
|
||||
<g>
|
||||
<path style="fill:#344A5E;" d="M222.933,489.6C228.267,502.4,241.067,512,256,512c14.933,0,27.733-9.6,33.067-22.4H222.933z"/>
|
||||
<path style="fill:#344A5E;" d="M295.467,490.667H217.6c-10.667,0-19.2-8.533-19.2-19.2V390.4h116.267v81.067
|
||||
C314.667,482.133,306.133,490.667,295.467,490.667z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#415A6B;" d="M313.6,430.933H198.4c-6.4,0-11.733-5.333-11.733-11.733l0,0c0-6.4,5.333-11.733,11.733-11.733
|
||||
h115.2c6.4,0,11.733,5.333,11.733,11.733l0,0C325.333,425.6,320,430.933,313.6,430.933z"/>
|
||||
<path style="fill:#415A6B;" d="M313.6,468.267H198.4c-6.4,0-11.733-5.333-11.733-11.733l0,0c0-6.4,5.333-11.733,11.733-11.733
|
||||
h115.2c6.4,0,11.733,5.333,11.733,11.733l0,0C325.333,462.933,320,468.267,313.6,468.267z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#FFD15C;" d="M256,0c-5.333,0-10.667,4.267-10.667,10.667v36.267c0,5.333,4.267,10.667,10.667,10.667
|
||||
c6.4,0,10.667-4.267,10.667-10.667V10.667C266.667,4.267,261.333,0,256,0z"/>
|
||||
<path style="fill:#FFD15C;" d="M113.067,65.067c-4.267-4.267-10.667-4.267-14.933,0s-4.267,10.667,0,14.933l25.6,25.6
|
||||
c4.267,4.267,10.667,4.267,14.933,0s4.267-10.667,0-14.933L113.067,65.067z"/>
|
||||
<path style="fill:#FFD15C;" d="M80,212.267H43.733c-5.333,0-10.667,4.267-10.667,10.667l0,0c0,5.333,4.267,10.667,10.667,10.667H80
|
||||
c5.333,0,10.667-4.267,10.667-10.667l0,0C90.667,217.6,85.333,212.267,80,212.267z"/>
|
||||
<path style="fill:#FFD15C;" d="M123.733,340.267l-25.6,25.6c-4.267,4.267-4.267,10.667,0,14.933s10.667,4.267,14.933,0l25.6-25.6
|
||||
c4.267-4.267,4.267-10.667,0-14.933S128,336,123.733,340.267z"/>
|
||||
<path style="fill:#FFD15C;" d="M388.267,340.267C384,336,377.6,336,373.333,340.267c-4.267,4.267-4.267,10.667,0,14.933l25.6,25.6
|
||||
c4.267,4.267,10.667,4.267,14.933,0s4.267-10.667,0-14.933L388.267,340.267z"/>
|
||||
<path style="fill:#FFD15C;" d="M468.267,212.267H432c-5.333,0-10.667,4.267-10.667,10.667l0,0c0,5.333,4.267,10.667,10.667,10.667
|
||||
h36.267c5.333,0,10.667-4.267,10.667-10.667l0,0C478.933,217.6,474.667,212.267,468.267,212.267z"/>
|
||||
<path style="fill:#FFD15C;" d="M398.933,65.067l-25.6,25.6c-4.267,4.267-4.267,10.667,0,14.933c4.267,4.267,10.667,4.267,14.933,0
|
||||
l25.6-25.6c4.267-4.267,4.267-10.667,0-14.933S403.2,60.8,398.933,65.067z"/>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="21.551193"
|
||||
height="21.551155"
|
||||
viewBox="0 0 5.7021572 5.7022899"
|
||||
version="1.1"
|
||||
id="svg913"
|
||||
sodipodi:docname="thelia.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata917">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1011"
|
||||
id="namedview915"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.9424389"
|
||||
inkscape:cx="-24.311257"
|
||||
inkscape:cy="6.5024337"
|
||||
inkscape:window-x="17"
|
||||
inkscape:window-y="1080"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg913"
|
||||
inkscape:document-rotation="0" />
|
||||
<defs
|
||||
id="defs903">
|
||||
<path
|
||||
id="a"
|
||||
d="m 17.781,106.303 h 172.446 v 57.58 H 17.781 Z" />
|
||||
</defs>
|
||||
<g
|
||||
aria-label="thelia"
|
||||
transform="translate(-36.348898,-111.8935)"
|
||||
id="text911"
|
||||
style="font-weight:400;font-size:12.7px;line-height:1.15;font-family:REZ;-inkscape-font-specification:REZ;white-space:pre;shape-inside:url(#a)">
|
||||
<path
|
||||
d="m 39.206094,111.8935 q 0.5969,0 1.1049,0.2286 0.5207,0.2159 0.9017,0.60959 0.3937,0.381 0.6096,0.9017 0.2286,0.508 0.2286,1.1049 v 2.8575 h -2.8448 q -0.5842,0 -1.1049,-0.2159 -0.5207,-0.2286 -0.9144,-0.6223 -0.3937,-0.3937 -0.6223,-0.9144 -0.2159,-0.5207 -0.2159,-1.1049 0,-0.5969 0.2159,-1.1049 0.2286,-0.5207 0.6223,-0.9017 0.3937,-0.39369 0.9144,-0.60959 0.5207,-0.2286 1.1049,-0.2286 z m 1.7145,4.57199 v -1.7272 q 0,-0.3556 -0.1397,-0.6604 -0.127,-0.3175 -0.3683,-0.5461 -0.2286,-0.2413 -0.5461,-0.3683 -0.3048,-0.1397 -0.6604,-0.1397 -0.3556,0 -0.6731,0.1397 -0.3175,0.127 -0.5588,0.3683 -0.2286,0.2286 -0.3683,0.5461 -0.127,0.3048 -0.127,0.6604 0,0.3556 0.127,0.6731 0.1397,0.3175 0.3683,0.5588 0.2413,0.2286 0.5588,0.3683 0.3175,0.127 0.6731,0.127 z"
|
||||
style="fill:#ee8126"
|
||||
id="path929" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="21.551193"
|
||||
height="21.551155"
|
||||
viewBox="0 0 5.7021572 5.7022899"
|
||||
version="1.1"
|
||||
id="svg913">
|
||||
<metadata
|
||||
id="metadata917">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs903">
|
||||
<path
|
||||
id="a"
|
||||
d="m 17.781,106.303 h 172.446 v 57.58 H 17.781 Z" />
|
||||
</defs>
|
||||
<g
|
||||
aria-label="thelia"
|
||||
transform="matrix(0.77715713,0,0,0.7731187,-27.613515,-85.860086)"
|
||||
id="text911"
|
||||
style="font-weight:400;font-size:12.7px;line-height:1.15;font-family:REZ;-inkscape-font-specification:REZ;white-space:pre;shape-inside:url(#a)">
|
||||
<path
|
||||
d="m 39.206094,111.8935 q 0.5969,0 1.1049,0.2286 0.5207,0.2159 0.9017,0.60959 0.3937,0.381 0.6096,0.9017 0.2286,0.508 0.2286,1.1049 v 2.8575 h -2.8448 q -0.5842,0 -1.1049,-0.2159 -0.5207,-0.2286 -0.9144,-0.6223 -0.3937,-0.3937 -0.6223,-0.9144 -0.2159,-0.5207 -0.2159,-1.1049 0,-0.5969 0.2159,-1.1049 0.2286,-0.5207 0.6223,-0.9017 0.3937,-0.39369 0.9144,-0.60959 0.5207,-0.2286 1.1049,-0.2286 z m 1.7145,4.57199 v -1.7272 q 0,-0.3556 -0.1397,-0.6604 -0.127,-0.3175 -0.3683,-0.5461 -0.2286,-0.2413 -0.5461,-0.3683 -0.3048,-0.1397 -0.6604,-0.1397 -0.3556,0 -0.6731,0.1397 -0.3175,0.127 -0.5588,0.3683 -0.2286,0.2286 -0.3683,0.5461 -0.127,0.3048 -0.127,0.6604 0,0.3556 0.127,0.6731 0.1397,0.3175 0.3683,0.5588 0.2413,0.2286 0.5588,0.3683 0.3175,0.127 0.6731,0.127 z"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.343971;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path929" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1,94 @@
|
||||
{% extends '@WebProfiler/Profiler/layout.html.twig' %}
|
||||
|
||||
{% block toolbar %}
|
||||
{% set icon %}
|
||||
<span class="sf-toolbar-label">
|
||||
{{ include('@WebProfilerModule/debug/dataCollector/Icon/smarty.svg') }}
|
||||
</span>
|
||||
<span class="sf-toolbar-value">{{ collector.totalExecutionTime is defined ? collector.totalExecutionTime : 'n/a' }} </span>
|
||||
<span class="sf-toolbar-label">ms</span>
|
||||
|
||||
{% set text %}
|
||||
<div class="sf-toolbar-info-piece">
|
||||
<b>Render Time</b>
|
||||
<span>{{ collector.totalExecutionTime is defined ? collector.totalExecutionTime : 'n/a' }} ms</span>
|
||||
</div>
|
||||
<div class="sf-toolbar-info-piece">
|
||||
<b>Template Calls</b>
|
||||
<span class="sf-toolbar-status">{{ collector.templatecount }}</span>
|
||||
</div>
|
||||
{% endset %}
|
||||
{% endset %}
|
||||
|
||||
{{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: true, name: 'smarty', status: '', block_attrs: 'title=""' }) }}
|
||||
{% endblock %}
|
||||
|
||||
{% block menu %}
|
||||
<span class="label {{ 0 == collector.templateCount ? 'disabled' }}">
|
||||
<span class="icon">{{ include('@WebProfilerModule/debug/dataCollector/Icon/smarty.svg') }}</span>
|
||||
<strong>Smarty</strong>
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
||||
{% block panel %}
|
||||
{% if collector.templatecount == 0 %}
|
||||
<h2>Smarty</h2>
|
||||
|
||||
<div class="empty">
|
||||
<p>No smarty templates were rendered for this request.</p>
|
||||
</div>
|
||||
{% else %}
|
||||
<h2>Smarty Metrics</h2>
|
||||
|
||||
<div class="metrics">
|
||||
<div class="metric">
|
||||
<span class="value">{{ collector.totalExecutionTime is defined ? collector.totalExecutionTime : 'n/a' }} <span class="unit">ms</span></span>
|
||||
<span class="label">Render time</span>
|
||||
</div>
|
||||
|
||||
<div class="metric">
|
||||
<span class="value">{{ collector.templatecount }}</span>
|
||||
<span class="label">Template calls</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="help">
|
||||
Render time includes sub-requests rendering time (if any).
|
||||
</p>
|
||||
|
||||
<h2>Rendered Templates</h2>
|
||||
|
||||
<table id="twig-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Template Name & Path</th>
|
||||
<th scope="col">Render time</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for template in collector.templates %}
|
||||
{%- set file = template.name -%}
|
||||
{%- set link = file ? file|file_link(1) : false -%}
|
||||
<tr>
|
||||
<td>
|
||||
<span class="sf-icon icon-twig">{{ include('@WebProfilerModule/debug/dataCollector/Icon/smartyColor.svg') }}</span>
|
||||
{% if link %}
|
||||
<a href="{{ link }}" title="{{ file }}">{{ template.name }}</a>
|
||||
<div>
|
||||
<a class="text-muted" href="{{ link }}" title="{{ file }}">
|
||||
{{ file|file_relative|default(file) }}
|
||||
</a>
|
||||
</div>
|
||||
{% else %}
|
||||
{{ template.name }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{{ template.executionTime }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,12 @@
|
||||
{% extends '@WebProfiler/Profiler/layout.html.twig' %}
|
||||
|
||||
{% block toolbar %}
|
||||
{% set icon %}
|
||||
<span class="sf-toolbar-label">
|
||||
{{ include('@WebProfilerModule/debug/dataCollector/Icon/thelia.svg') }}
|
||||
</span>
|
||||
<span class="sf-toolbar-value" style="margin-left: 5px">{{ collector.theliaVersion is defined ? collector.theliaVersion : 'n/a' }}</span>
|
||||
{% endset %}
|
||||
|
||||
{{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: false, name: 'thelia', status: '', additional_classes: 'sf-toolbar-block-right', block_attrs: 'title=""' }) }}
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user