60 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<div class="trace trace-as-html" id="trace-box-<?= $index; ?>">
							 | 
						||
| 
								 | 
							
								    <div class="trace-details">
							 | 
						||
| 
								 | 
							
								        <div class="trace-head">
							 | 
						||
| 
								 | 
							
								            <div class="sf-toggle" data-toggle-selector="#trace-html-<?= $index; ?>" data-toggle-initial="<?= $expand ? 'display' : ''; ?>">
							 | 
						||
| 
								 | 
							
								                <span class="icon icon-close"><?= $this->include('assets/images/icon-minus-square-o.svg'); ?></span>
							 | 
						||
| 
								 | 
							
								                <span class="icon icon-open"><?= $this->include('assets/images/icon-plus-square-o.svg'); ?></span>
							 | 
						||
| 
								 | 
							
								                <?php
							 | 
						||
| 
								 | 
							
								                $separator = strrpos($exception['class'], '\\');
							 | 
						||
| 
								 | 
							
								                $separator = false === $separator ? 0 : $separator + 1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                $namespace = substr($exception['class'], 0, $separator);
							 | 
						||
| 
								 | 
							
								                $class = substr($exception['class'], $separator);
							 | 
						||
| 
								 | 
							
								                ?>
							 | 
						||
| 
								 | 
							
								                <?php if ('' === $class) { ?>
							 | 
						||
| 
								 | 
							
								                    <br>
							 | 
						||
| 
								 | 
							
								                <?php } else { ?>
							 | 
						||
| 
								 | 
							
								                    <h3 class="trace-class">
							 | 
						||
| 
								 | 
							
								                        <?php if ('' !== $namespace) { ?>
							 | 
						||
| 
								 | 
							
								                            <span class="trace-namespace"><?= $namespace; ?></span>
							 | 
						||
| 
								 | 
							
								                        <?php } ?>
							 | 
						||
| 
								 | 
							
								                        <?= $class; ?>
							 | 
						||
| 
								 | 
							
								                    </h3>
							 | 
						||
| 
								 | 
							
								                <?php } ?>
							 | 
						||
| 
								 | 
							
								                <?php if ($exception['message'] && $index > 1) { ?>
							 | 
						||
| 
								 | 
							
								                    <p class="break-long-words trace-message"><?= $this->escape($exception['message']); ?></p>
							 | 
						||
| 
								 | 
							
								                <?php } ?>
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								            <?php if (\count($exception['data'] ?? [])) { ?>
							 | 
						||
| 
								 | 
							
								                <details class="exception-properties-wrapper">
							 | 
						||
| 
								 | 
							
								                    <summary>Show exception properties</summary>
							 | 
						||
| 
								 | 
							
								                    <div class="exception-properties">
							 | 
						||
| 
								 | 
							
								                        <?= $this->dumpValue($exception['data']) ?>
							 | 
						||
| 
								 | 
							
								                    </div>
							 | 
						||
| 
								 | 
							
								                </details>
							 | 
						||
| 
								 | 
							
								            <?php } ?>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        <div id="trace-html-<?= $index; ?>" class="sf-toggle-content">
							 | 
						||
| 
								 | 
							
								        <?php
							 | 
						||
| 
								 | 
							
								        $isFirstUserCode = true;
							 | 
						||
| 
								 | 
							
								        foreach ($exception['trace'] as $i => $trace) {
							 | 
						||
| 
								 | 
							
								            $isVendorTrace = $trace['file'] && (str_contains($trace['file'], '/vendor/') || str_contains($trace['file'], '/var/cache/'));
							 | 
						||
| 
								 | 
							
								            $displayCodeSnippet = $isFirstUserCode && !$isVendorTrace;
							 | 
						||
| 
								 | 
							
								            if ($displayCodeSnippet) {
							 | 
						||
| 
								 | 
							
								                $isFirstUserCode = false;
							 | 
						||
| 
								 | 
							
								            } ?>
							 | 
						||
| 
								 | 
							
								            <div class="trace-line <?= $isVendorTrace ? 'trace-from-vendor' : ''; ?>">
							 | 
						||
| 
								 | 
							
								                <?= $this->include('views/trace.html.php', [
							 | 
						||
| 
								 | 
							
								                    'prefix' => $index,
							 | 
						||
| 
								 | 
							
								                    'i' => $i,
							 | 
						||
| 
								 | 
							
								                    'trace' => $trace,
							 | 
						||
| 
								 | 
							
								                    'style' => $isVendorTrace ? 'compact' : ($displayCodeSnippet ? 'expanded' : ''),
							 | 
						||
| 
								 | 
							
								                ]); ?>
							 | 
						||
| 
								 | 
							
								            </div>
							 | 
						||
| 
								 | 
							
								            <?php
							 | 
						||
| 
								 | 
							
								        } ?>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								    </div>
							 | 
						||
| 
								 | 
							
								</div>
							 |