Version 1
[yaffs-website] / web / modules / contrib / devel / webprofiler / src / DataCollector / FormsDataCollector.php
1 <?php
2
3 namespace Drupal\webprofiler\DataCollector;
4
5 use Drupal\webprofiler\DrupalDataCollectorInterface;
6 use Drupal\webprofiler\Form\FormBuilderWrapper;
7 use Drupal\Core\StringTranslation\StringTranslationTrait;
8 use Symfony\Component\HttpFoundation\Request;
9 use Symfony\Component\HttpFoundation\Response;
10 use Symfony\Component\HttpKernel\DataCollector\DataCollector;
11
12 /**
13  * Class FormsDataCollector
14  */
15 class FormsDataCollector extends DataCollector implements DrupalDataCollectorInterface {
16
17   use StringTranslationTrait, DrupalDataCollectorTrait;
18
19   /**
20    * @var \Drupal\webprofiler\Form\FormBuilderWrapper
21    */
22   private $formBuilder;
23
24   /**
25    * @param \Drupal\webprofiler\Form\FormBuilderWrapper $formBuilder
26    */
27   public function __construct(FormBuilderWrapper $formBuilder) {
28     $this->formBuilder = $formBuilder;
29
30     $this->data['forms'] = [];
31   }
32
33   /**
34    * {@inheritdoc}
35    */
36   public function collect(Request $request, Response $response, \Exception $exception = NULL) {
37     $this->data['forms'] = $this->formBuilder->getBuildForm();
38   }
39
40   /**
41    * @return array
42    */
43   public function getForms() {
44     return $this->data['forms'];
45   }
46
47   /**
48    * @return array
49    */
50   public function getFormsCount() {
51     return count($this->getForms());
52   }
53
54   /**
55    * {@inheritdoc}
56    */
57   public function getName() {
58     return 'forms';
59   }
60
61   /**
62    * {@inheritdoc}
63    */
64   public function getTitle() {
65     return $this->t('Forms');
66   }
67
68   /**
69    * {@inheritdoc}
70    */
71   public function getPanelSummary() {
72     return $this->t('Rendered: @forms', ['@forms' => $this->getFormsCount()]);
73   }
74
75   /**
76    * {@inheritdoc}
77    */
78   public function getIcon() {
79     return 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RkE1QUM1QjkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RkE1QUM1QzkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjRGQTVBQzU5OTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRGQTVBQzVBOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+I7130QAAAKRJREFUeNrsVVsKxCAMzIgH8897eDHxGP55LX+0RmjpYxHdyrLsNl9iknEyExA5Z5oZgibH9wPKVlJrnVNKRwZCkPceQ4AhhOpUjJFaeaXUBRjssrW2FvDZGINS2GV9AQb3rpvCvZWhc24rKpdDmp17P2MKjzIFEAD16vdDi73Xbx2/pelZItnz6oiusneB32b4is0Iw8eUfzBlOiCef/l2LAIMAGACWQCJ5bXFAAAAAElFTkSuQmCC';
80   }
81 }