Skip to content
Snippets Groups Projects
Commit 88f9020a authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Nouveau collecteur dans la barre LaminasDevTools : messages produits par...

Nouveau collecteur dans la barre LaminasDevTools : messages produits par \UnicaenApp\Service\MessageCollector.
parent a3b1cad5
Branches
Tags 5.1.6
No related merge requests found
Pipeline #16930 passed
CHANGELOG
=========
5.1.6
-----
- Nouveau collecteur dans la barre LaminasDevTools : messages produits par \UnicaenApp\Service\MessageCollector.
5.1.5
-----
- Nouvel élément de formulaire SearchAndSelect2 (basé sur le widget js Select2).
......
......@@ -2,11 +2,14 @@
namespace UnicaenApp;
use Laminas\Mvc\Console\Router\Simple;
use Laminas\ServiceManager\Factory\InvokableFactory;
use UnicaenApp\Controller\CacheControllerFactory;
use UnicaenApp\Controller\ConsoleController;
use UnicaenApp\Controller\ConsoleControllerFactory;
use UnicaenApp\Controller\InstadiaControllerFactory;
use UnicaenApp\DeveloperTools\MessageCollectorService;
use UnicaenApp\DeveloperTools\MessageCollectorServiceFactory;
use UnicaenApp\Form\Element\SearchAndSelect2;
use UnicaenApp\Form\View\Helper\FormControlGroup;
use UnicaenApp\Form\View\Helper\FormControlGroupFactory;
......@@ -49,7 +52,6 @@ use UnicaenApp\View\Helper\Upload\UploaderHelper;
use UnicaenApp\View\Helper\Upload\UploaderHelperFactory;
use UnicaenApp\View\Helper\UserProfileSelect;
use UnicaenApp\View\Helper\UserProfileSelectFactory;
use Laminas\Mvc\Console\Router\Simple;
return [
'router' => [
......@@ -341,6 +343,8 @@ return [
'instadia' => InstadiaServiceFactory::class,
HostLocalization::class => HostLocalizationFactory::class,
RedirectResponse::class => RedirectResponseFactory::class,
MessageCollectorService::class => MessageCollectorServiceFactory::class,
],
'shared' => [
'MouchardListenerErrorHandler' => false,
......@@ -525,6 +529,7 @@ return [
// 'unicaen-app/application/plan' => __DIR__ . '/../view/application/plan.phtml',
// 'unicaen-app/application/mentions-legales' => __DIR__ . '/../view/application/mentions-legales.phtml',
// 'unicaen-app/application/informatique-et-libertes' => __DIR__ . '/../view/application/informatique-et-libertes.phtml',
'laminas-developer-tools/toolbar/messages' => __DIR__ . '/../view/laminas-developer-tools/toolbar/messages.phtml',
],
// TemplatePathStack configuration
'template_path_stack' => [
......@@ -681,4 +686,18 @@ return [
],
],
],
// intégration à la Laminas Developer Toolbar
'laminas-developer-tools' => [
'profiler' => [
'collectors' => [
DeveloperTools\MessageCollectorService::class => DeveloperTools\MessageCollectorService::class,
],
],
'toolbar' => [
'entries' => [
DeveloperTools\MessageCollectorService::class => 'laminas-developer-tools/toolbar/messages',
],
],
],
];
<?php
namespace UnicaenApp\DeveloperTools;
use Laminas\DeveloperTools\Collector\CollectorInterface;
use Laminas\Mvc\MvcEvent;
use UnicaenApp\Service\MessageCollectorAwareTrait;
class MessageCollectorService implements CollectorInterface
{
use MessageCollectorAwareTrait;
const NAME = 'messages';
const PRIORITY = 200;
public function getMessages(): array
{
return $this->messageCollector->getMessages();
}
/**
* {@inheritDoc}
*/
public function getName(): string
{
return self::NAME;
}
/**
* {@inheritDoc}
*/
public function getPriority(): int
{
return static::PRIORITY;
}
/**
* {@inheritDoc}
*/
public function collect(MvcEvent $mvcEvent)
{
}
}
<?php
namespace UnicaenApp\DeveloperTools;
use Laminas\ServiceManager\Factory\FactoryInterface;
use Psr\Container\ContainerInterface;
use UnicaenApp\Service\MessageCollector;
class MessageCollectorServiceFactory implements FactoryInterface
{
public function __invoke(ContainerInterface $container, $requestedName, $options = null): MessageCollectorService
{
$service = new MessageCollectorService();
/** @var MessageCollector $messageCollector */
$messageCollector = $container->get('MessageCollector');
$service->setServiceMessageCollector($messageCollector);
return $service;
}
}
\ No newline at end of file
<?php
/**
* @var \Laminas\DeveloperTools\Report $report
* @var \UnicaenApp\DeveloperTools\MessageCollectorService $collector
*/
$collector = $report->getCollector('messages');
$messages = $collector->getMessages();
?>
<div class="laminas-toolbar-entry">
<div class="laminas-toolbar-preview">
<span class="laminas-toolbar-info">
<span class="laminas-toolbar-extra-info">
<img style="padding-bottom: 4px;"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMJJREFUeNqUUsEKhCAUbGVBISILomsI/f8/9CVCIJUI26EIA9mhLktblnMQxJnHzDxfTdNEISBRIN4nMwgpiiLLMkqplHIcR5+AMSaEcM4NwzDPs7UWelzPBXirqmqaprZtf0mXGTjn0HjYR0GSJMYYD/toqe97mA6otSxLuArbQ57niPFUoLWO4xjNPhJg8LIsXdfVdZ2mKdngC72Xg9zrumIbOFGAUgrru/kanw1sw3/FJ4KdBHuH2Te/9Wp9XwEGAJDAZMbwps+bAAAAAElFTkSuQmCC"/>
Message
</span>
</span>
</div>
<div class="laminas-toolbar-detail">
<div class="laminas-toolbar-info">
<div class="laminas-detail-value">
<?php if (!empty($messages)): ?>
<dl>
<?php foreach ($messages as $severity => $item): ?>
<dt>
<span title="severity"><?php echo $severity ?></span>
</dt>
<dd>
<ul>
<?php foreach ((array)$item as $priority => $message): ?>
<li>
<span title="priority"><?php echo $priority ?></span> =>
<span title="<?php echo $message ?>"><?php echo $message ?></span>
</li>
<?php endforeach; ?>
</ul>
</dd>
<?php endforeach; ?>
</dl>
<?php else: ?>
Aucun message.
<?php endif ?>
</div>
</div>
</div>
</div>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment