Commit | Line | Data |
---|---|---|
5d3e8144 TD |
1 | {include file='header' pageTitle='wcf.acp.exceptionLog'} |
2 | <script type="text/javascript"> | |
3 | //<![CDATA[ | |
4 | $(function() { | |
5 | {if $exceptionID}window.location.hash = '{$exceptionID|encodeJS}';{/if} | |
6 | WCF.Collapsible.Simple.init(); | |
7 | ||
8 | $('#exceptionID').on('keyup keydown keypress', function () { | |
9 | if ($.trim($(this).val()) == '') { | |
10 | $('#logFile').enable().parents('dl').removeClass('disabled'); | |
11 | } | |
12 | else { | |
13 | $('#logFile').disable().parents('dl').addClass('disabled'); | |
14 | } | |
15 | }).trigger('keypress'); | |
16 | ||
17 | $('.jsCopyException').click(function () { | |
18 | $(this).select(); | |
19 | }); | |
20 | }); | |
21 | //]]> | |
22 | </script> | |
23 | ||
24 | <header class="boxHeadline"> | |
25 | <hgroup> | |
26 | <h1>{lang}wcf.acp.exceptionLog{/lang}</h1> | |
27 | </hgroup> | |
28 | </header> | |
29 | ||
020afe4e MS |
30 | {if !$logFiles|empty} |
31 | <form action="{link controller='ExceptionLogView'}{/link}"> | |
32 | <div class="container containerPadding marginTop"> | |
33 | <fieldset><legend>{lang}wcf.acp.exceptionLog.search{/lang}</legend> | |
34 | <dl> | |
35 | <dt><label for="exceptionID">{lang}wcf.acp.exceptionLog.search.exceptionID{/lang}</label></dt> | |
36 | <dd> | |
37 | <input type="search" id="exceptionID" name="exceptionID" value="{$exceptionID}" autofocus="autofocus" class="medium" /> | |
38 | </dd> | |
39 | </dl> | |
40 | <dl> | |
41 | <dt><label for="logFile">{lang}wcf.acp.exceptionLog.search.logFile{/lang}</label></dt> | |
42 | <dd> | |
43 | <select id="logFile" name="logFile"> | |
44 | {htmlOptions options=$logFiles selected=$logFile} | |
45 | </select> | |
46 | </dd> | |
47 | </dl> | |
48 | </fieldset> | |
49 | ||
50 | <div class="formSubmit"> | |
51 | <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" /> | |
52 | {@SID_INPUT_TAG} | |
53 | </div> | |
5d3e8144 | 54 | </div> |
020afe4e MS |
55 | </form> |
56 | {/if} | |
5d3e8144 TD |
57 | |
58 | <div class="contentNavigation"> | |
59 | {pages print=true controller="ExceptionLogView" link="pageNo=%d&logFile=$logFile"} | |
60 | ||
61 | {hascontent} | |
62 | <nav> | |
63 | <ul> | |
64 | {content} | |
65 | {event name='contentNavigationButtonsTop'} | |
66 | {/content} | |
67 | </ul> | |
68 | </nav> | |
69 | {/hascontent} | |
70 | </div> | |
71 | ||
020afe4e MS |
72 | {if !$logFiles|empty} |
73 | {if $logFile} | |
74 | {foreach from=$exceptions item='exception' key='exceptionKey'} | |
75 | <div class="tabularBox tabularBoxTitle marginTop" id="{$exceptionKey}"> | |
76 | <hgroup> | |
77 | <h1><a class="jsCollapsible jsTooltip" data-is-open="{if $exceptionKey == $exceptionID}1{else}0{/if}" data-collapsible-container="exception_{$exceptionKey}" title="{lang}wcf.global.button.collapsible{/lang}" class="jsTooltip"><span class="icon icon16 icon-chevron-{if $exceptionKey == $exceptionID}down{else}right{/if}"></span></a> {$exception[message]}</h1> | |
78 | <h2>{$exception[date]|strtotime|plainTime}</h2> | |
79 | </hgroup> | |
80 | ||
81 | <div id="exception_{$exceptionKey}" class="container containerPadding" {if $exceptionKey != $exceptionID} style="display: none;"{/if}> | |
82 | <dl> | |
83 | <dt>{lang}wcf.acp.exceptionLog.exception.file{/lang}</dt> | |
84 | <dd>{$exception[file]} ({$exception[line]})</dd> | |
85 | </dl> | |
86 | <dl> | |
87 | <dt>{lang}wcf.acp.exceptionLog.exception.phpVersion{/lang}</dt> | |
88 | <dd>{$exception[phpVersion]}</dd> | |
89 | </dl> | |
90 | <dl> | |
91 | <dt>{lang}wcf.acp.exceptionLog.exception.wcfVersion{/lang}</dt> | |
92 | <dd>{$exception[wcfVersion]}</dd> | |
93 | </dl> | |
94 | <dl> | |
95 | <dt>{lang}wcf.acp.exceptionLog.exception.requestURI{/lang}</dt> | |
96 | <dd>{$exception[requestURI]}</dd> | |
97 | </dl> | |
98 | <dl> | |
99 | <dt>{lang}wcf.acp.exceptionLog.exception.referrer{/lang}</dt> | |
100 | <dd>{$exception[referrer]}</dd> | |
101 | </dl> | |
102 | <dl> | |
103 | <dt>{lang}wcf.acp.exceptionLog.exception.stacktrace{/lang}</dt> | |
104 | <dd style="font-family: monospace; word-wrap: wrap-all; word-break: break-all;"> | |
105 | <ul> | |
106 | <li>{@"</li><li>"|implode:$exception[stacktrace]}</li> | |
107 | </ul> | |
108 | </dd> | |
109 | </dl> | |
110 | <dl> | |
111 | <dt>{lang}wcf.acp.exceptionLog.exception.copy{/lang}</dt> | |
112 | <dd><textarea rows="5" cols="40" class="jsCopyException" readonly="readonly">{$exception[0]}</textarea></dd> | |
113 | </dl> | |
114 | </div> | |
5d3e8144 | 115 | </div> |
020afe4e MS |
116 | {/foreach} |
117 | {elseif $exceptionID} | |
118 | <p class="error">{lang}wcf.acp.exceptionLog.exceptionNotFound{/lang}</p> | |
119 | {/if} | |
120 | {else} | |
121 | <p class="info">{lang}wcf.acp.exceptionLog.noneAvailable{/lang}</p> | |
5d3e8144 | 122 | {/if} |
020afe4e | 123 | |
5d3e8144 | 124 | {include file='footer'} |