7b3ac02b0ef9d95d8015b2a4c9a3b1b25facb5ea
[yaffs-website] / web / modules / contrib / devel / webprofiler / src / Twig / Dumper / HtmlDumper.php
1 <?php
2
3 namespace Drupal\webprofiler\Twig\Dumper;
4
5 /**
6  * Class HtmlDumper
7  */
8 class HtmlDumper extends \Twig_Profiler_Dumper_Text {
9
10   private static $colors = array(
11     'block' => '#dfd',
12     'macro' => '#ddf',
13     'template' => '#ffd',
14     'big' => '#d44',
15   );
16
17   /**
18    * {@inheritdoc}
19    */
20   public function dump(\Twig_Profiler_Profile $profile) {
21     return '<pre class="h--word-intact"><code class="code--json">' . parent::dump($profile) . '</code></pre>';
22   }
23
24   protected function formatTemplate(\Twig_Profiler_Profile $profile, $prefix) {
25     return sprintf('%s└ <span style="background-color: %s">%s</span>', $prefix, self::$colors['template'], $profile->getTemplate());
26   }
27
28   protected function formatNonTemplate(\Twig_Profiler_Profile $profile, $prefix) {
29     return sprintf('%s└ %s::%s(<span style="background-color: %s">%s</span>)', $prefix, $profile->getTemplate(), $profile->getType(), isset(self::$colors[$profile->getType()]) ? self::$colors[$profile->getType()] : 'auto', $profile->getName());
30   }
31
32   protected function formatTime(\Twig_Profiler_Profile $profile, $percent) {
33     return sprintf('<span style="color: %s">%.2fms/%.0f%%</span>', $percent > 20 ? self::$colors['big'] : 'auto', $profile->getDuration() * 1000, $percent);
34   }
35 }