<?php use BjyProfiler\Db\Profiler\Profiler; ?>
<div class="laminas-toolbar-entry">
    <div class="laminas-toolbar-preview">
        <img src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzU1MkQ0QURDODkyMTFFMUE4RDU5MDZBOEM2RTM5QjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzU1MkQ0QUVDODkyMTFFMUE4RDU5MDZBOEM2RTM5QjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NTUyRDRBQkM4OTIxMUUxQThENTkwNkE4QzZFMzlCNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NTUyRDRBQ0M4OTIxMUUxQThENTkwNkE4QzZFMzlCNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PryYMQ8AAAN9SURBVHjapFRdSJNhFH6/7dvUzQWbOLacM92UNW1E4WDRhWKhiN0JEUU3/RAIXdiV0I1dKF7oRRe7mCmIonZRJM0agqRgiZIs0VnD5s/mVNRl4eZ+3E/PO76FjBVWBx7O9573fc97znPO+Riv10uOyVXgJnAOOAvkkMziARzAG+BlQUHBLyfMxsYG1bcAMyCJRqORra2tA4fDEfR4PEeQOAOhhxKJBMnLyxPodDpBSUlJrkQiyeX89AMPVCrVIYtD97CwjI6Ouru7u7/Mzc35uAiWgW3gCOBxF+OAFDgDaBCZsr6+XtbS0nKdZdnzsBmYmZmZjwqF4mJxcfGjeDz+an19fYWcUIqKiqhzo8VieVZbW6vCmmEXFhbicrmcuFyux5Q3OLVBuwDKBY02keZHBJwGlKurq9XQ9YAqGAzG6CYLTo7ghHCp3OVA+foG6nzpKcN+CnYlvvnHXxEIBMk1a7fbvRUVFZkykuGyLNMGLU66oFsCVPP39vaI2+02aLXaXJFIRItE/hYjIyMbXV1dU+iO5+zAwMCV2dnZybq6Oqlery9paGjILysrk6jVapFUKs1KjyQcDsdwMQj+/BMTE76pqakfoO1tb2+vqbKykjCDg4MfDAaDCTxOLy0tvWhvb+fPz8/ni8ViLbjKgz3B4/GYVJqwhdCbHvSrq7m52d/Y2FiOs/fpHqhjWLxIuKKYEKGpv5/2KNmBzQE48U25YbkeZOBcAacm4DZnT96PxWLJF9n9/f3vWKRnJqfApepMBclUlFTb8BcXF8Xg6oJGozn1LwWhWFtbO2hra/sE3cMODQ3JQajVbDYbMEb5VVVVcsykKDs7m/3TlOzu7obQcr6xsbFdaHtPT88hikSY4eHh9xiZS36//2lHR8fy9PR0eSAQUGMUZYhcAM6SteAmhsFebHt7OwyqPKWlpZ+bmpqCRqPxDujRmUwmhsUmU1hYSNCDD1tbW2kKbmzO+Xy+yc3NTS8chPh8Pg/2BP3rYExlSqVSKxQK9XjgRorXSCSSrCyLkYlyVU6JGgfUiI5Q/E7S7hD6KNU88DeJRj2kB/4HfX19X5OO4cxptVrVaNQcCF8mk2WftLoY2xA43+ns7HTabLYn8LfEjI+Pk5qaGiEW15B+FQi+jCKJ8EcWw3kWUmGOp4biRcFtEL87v9PpXMEIvoP5NffLIz8FGAAqeUQbl180BwAAAABJRU5ErkJggg==" alt="Database (Laminas\Db)">
        <span class="laminas-toolbar-info">
            <?php if ($this->collector->hasProfiler()): ?>
                <?php echo $this->collector->getQueryCount(); ?> in <?php echo $this->LaminasDeveloperToolsTime($this->collector->getQueryTime()); ?>
            <?php else: ?>
                N/A
            <?php endif; ?>
        </span>
    </div>
    <div class="laminas-toolbar-detail laminas-toolbar-dbquery-detail">
        <div class="laminas-toolbar-detail-inner">
            <?php if ($this->collector->hasProfiler()): ?>
                <span class="laminas-toolbar-info laminas-toolbar-info-heading">Quantity</span>
                <span class="laminas-toolbar-info">
                    <span class="laminas-detail-label">create</span>
                    <span class="laminas-detail-value laminas-detail-value-right"><?php echo $this->collector->getQueryCount(Profiler::INSERT); ?></span>
                </span>
                <span class="laminas-toolbar-info">
                    <span class="laminas-detail-label">read</span>
                    <span class="laminas-detail-value laminas-detail-value-right"><?php echo $this->collector->getQueryCount(Profiler::SELECT); ?></span>
                </span>
                <span class="laminas-toolbar-info">
                    <span class="laminas-detail-label">update</span>
                    <span class="laminas-detail-value laminas-detail-value-right"><?php echo $this->collector->getQueryCount(Profiler::UPDATE); ?></span>
                </span>
                <span class="laminas-toolbar-info">
                    <span class="laminas-detail-label">delete</span>
                    <span class="laminas-detail-value laminas-detail-value-right"><?php echo $this->collector->getQueryCount(Profiler::DELETE); ?></span>
                </span>

                <span class="laminas-toolbar-info laminas-toolbar-info-heading laminas-toolbar-topspacing">Time</span>
                <span class="laminas-toolbar-info">
                    <span class="laminas-detail-label">create</span>
                    <span class="laminas-detail-value laminas-detail-value-right"><?php echo $this->LaminasDeveloperToolsTime($this->collector->getQueryTime(Profiler::INSERT)); ?></span>
                </span>
                <span class="laminas-toolbar-info">
                    <span class="laminas-detail-label">read</span>
                    <span class="laminas-detail-value laminas-detail-value-right"><?php echo $this->LaminasDeveloperToolsTime($this->collector->getQueryTime(Profiler::SELECT)); ?></span>
                </span>
                <span class="laminas-toolbar-info">
                    <span class="laminas-detail-label">update</span>
                    <span class="laminas-detail-value laminas-detail-value-right"><?php echo $this->LaminasDeveloperToolsTime($this->collector->getQueryTime(Profiler::UPDATE)); ?></span>
                </span>
                <span class="laminas-toolbar-info">
                    <span class="laminas-detail-label">delete</span>
                    <span class="laminas-detail-value laminas-detail-value-right"><?php echo $this->LaminasDeveloperToolsTime($this->collector->getQueryTime(Profiler::DELETE)); ?></span>
                </span>

                <span class="laminas-toolbar-info laminas-toolbar-info-heading laminas-toolbar-topspacing laminas-toolbar-dbquery-heading">Query Profiles</span>
                <span class="laminas-toolbar-info laminas-toolbar-dbquery">
                    <?php $profiler = $this->collector->getProfiler(); ?>
                    <?php foreach ($profiler->getQueryProfiles() as $profile): ?>
                        <?php $query = $profile->toArray(); ?>
                        <hr />
                        <span class="laminas-detail-label">SQL</span>
                        <span class="laminas-detail-value laminas-detail-dbquery laminas-detail-dbquery-sql">
                        <?php /* highlight UPPERCASE words in the query, which should mostly match SQL keywords */ ?>
                        <?php echo preg_replace('/([A-Z]+)/', '<span class="highlight">$1</span>', $this->escapeHtml($query['sql'])) ?>
                        </span>
                        <span class="clear"></span>
                        <?php if (isset($query['parameters']) && (is_array($query['parameters']) || ($query['parameters'] instanceof \Iterator && $query['parameters'] instanceof \Countable)) && count($query['parameters']) > 0): ?>
                            <span class="laminas-detail-label">Params</span>
                            <span class="laminas-detail-value laminas-detail-dbquery laminas-detail-dbquery-params">
                                <?php foreach ($query['parameters'] as $key => $value): ?>
                                    <?php echo $this->escapeHtml("{$key} => " . var_export($value, true)); ?><br />
                                <?php endforeach ?>
                            </span>
                            <span class="clear"></span>
                            <?php endif ?>
                        <span class="laminas-detail-label">Time</span>
                        <span class="laminas-detail-value laminas-detail-dbquery laminas-detail-dbquery-time">
                        <?php echo $this->escapeHtml($this->LaminasDeveloperToolsTime($query['elapsed'])) ?>
                        </span>
                        <span class="clear"></span>
                    <?php endforeach; ?>
                </span>
            <?php else: ?>
                <span class="laminas-toolbar-info laminas-toolbar-info-heading">Error</span>
                <span class="laminas-toolbar-info">
                    You have to install or enable <a href="https://github.com/bjyoungblood/BjyProfiler">@bjyoungblood's Laminas\Db Profiler</a> to use this feature.
                </span>
            <?php endif ?>
        </div>
    </div>
</div>
<style>
    .laminas-toolbar-entry .laminas-toolbar-detail .laminas-toolbar-detail-inner {
        padding: 5px;
        font-size: 11px;
        max-width: 600px;
        width: 600px;
        max-height: 400px;
        min-height: 100px;
        overflow-y: auto!important;
        overflow-x: hidden;
    }

    .laminas-toolbar-entry .laminas-toolbar-detail .laminas-toolbar-detail-inner .laminas-toolbar-dbquery {
        max-height: none!important;
    }

    .laminas-toolbar-entry .laminas-toolbar-detail .laminas-detail-dbquery {
        white-space: normal;
        width: 400px;
    }

    .laminas-toolbar-entry .laminas-toolbar-detail .laminas-detail-dbquery .highlight {
        color: #80DC09;
        font-weight: bold;
    }

    .laminas-toolbar-entry .laminas-toolbar-info .clear {
        clear: both;
        display: block;
    }

    .laminas-toolbar-entry .laminas-toolbar-detail .laminas-toolbar-dbquery hr {
        border: 0;
        border-top: 1px solid #80DC09;
        clear: both;
    }
</style>
