|
|
|
|
<!DOCTYPE html><!--
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined function App\Http\Controllers\ThreadsCollection() in file /home/bkains/Git/GamingForum/app/Http/Controllers/ThreadController.php on line 68
|
|
|
|
|
Stack trace:
|
|
|
|
|
1. Symfony\Component\Debug\Exception\FatalThrowableError->() /home/bkains/Git/GamingForum/app/Http/Controllers/ThreadController.php:68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--><html>
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
<meta name="robots" content="noindex,nofollow"/>
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
|
|
|
|
|
<title>Whoops! There was an error.</title>
|
|
|
|
|
|
|
|
|
|
<style>body {
|
|
|
|
|
font: 12px "Helvetica Neue", helvetica, arial, sans-serif;
|
|
|
|
|
color: #131313;
|
|
|
|
|
background: #eeeeee;
|
|
|
|
|
padding:0;
|
|
|
|
|
margin: 0;
|
|
|
|
|
max-height: 100%;
|
|
|
|
|
|
|
|
|
|
text-rendering: optimizeLegibility;
|
|
|
|
|
}
|
|
|
|
|
a {
|
|
|
|
|
text-decoration: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.panel {
|
|
|
|
|
overflow-y: scroll;
|
|
|
|
|
height: 100%;
|
|
|
|
|
position: fixed;
|
|
|
|
|
margin: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
top: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.branding {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 10px;
|
|
|
|
|
right: 20px;
|
|
|
|
|
color: #777777;
|
|
|
|
|
font-size: 10px;
|
|
|
|
|
z-index: 100;
|
|
|
|
|
}
|
|
|
|
|
.branding a {
|
|
|
|
|
color: #e95353;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
header {
|
|
|
|
|
color: white;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
background-color: #2a2a2a;
|
|
|
|
|
padding: 35px 40px;
|
|
|
|
|
max-height: 180px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
transition: 0.5s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
header.header-expand {
|
|
|
|
|
max-height: 1000px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.exc-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
color: #bebebe;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
}
|
|
|
|
|
.exc-title-primary, .exc-title-secondary {
|
|
|
|
|
color: #e95353;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.exc-message {
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
word-wrap: break-word;
|
|
|
|
|
margin: 4px 0 0 0;
|
|
|
|
|
color: white;
|
|
|
|
|
}
|
|
|
|
|
.exc-message span {
|
|
|
|
|
display: block;
|
|
|
|
|
}
|
|
|
|
|
.exc-message-empty-notice {
|
|
|
|
|
color: #a29d9d;
|
|
|
|
|
font-weight: 300;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.prev-exc-title {
|
|
|
|
|
margin: 10px 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.prev-exc-title + ul {
|
|
|
|
|
margin: 0;
|
|
|
|
|
padding: 0 0 0 20px;
|
|
|
|
|
line-height: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.prev-exc-title + ul li {
|
|
|
|
|
font: 12px "Helvetica Neue", helvetica, arial, sans-serif;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.prev-exc-title + ul li .prev-exc-code {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
color: #bebebe;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.details-container {
|
|
|
|
|
left: 30%;
|
|
|
|
|
width: 70%;
|
|
|
|
|
background: #fafafa;
|
|
|
|
|
}
|
|
|
|
|
.details {
|
|
|
|
|
padding: 5px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.details-heading {
|
|
|
|
|
color: #4288CE;
|
|
|
|
|
font-weight: 300;
|
|
|
|
|
padding-bottom: 10px;
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
border-bottom: 1px solid rgba(0, 0, 0, .1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.details pre.sf-dump {
|
|
|
|
|
white-space: pre;
|
|
|
|
|
word-wrap: inherit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.details pre.sf-dump,
|
|
|
|
|
.details pre.sf-dump .sf-dump-num,
|
|
|
|
|
.details pre.sf-dump .sf-dump-const,
|
|
|
|
|
.details pre.sf-dump .sf-dump-str,
|
|
|
|
|
.details pre.sf-dump .sf-dump-note,
|
|
|
|
|
.details pre.sf-dump .sf-dump-ref,
|
|
|
|
|
.details pre.sf-dump .sf-dump-public,
|
|
|
|
|
.details pre.sf-dump .sf-dump-protected,
|
|
|
|
|
.details pre.sf-dump .sf-dump-private,
|
|
|
|
|
.details pre.sf-dump .sf-dump-meta,
|
|
|
|
|
.details pre.sf-dump .sf-dump-key,
|
|
|
|
|
.details pre.sf-dump .sf-dump-index {
|
|
|
|
|
color: #463C54;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.left-panel {
|
|
|
|
|
width: 30%;
|
|
|
|
|
background: #ded8d8;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frames-description {
|
|
|
|
|
background: rgba(0, 0, 0, .05);
|
|
|
|
|
padding: 8px 15px;
|
|
|
|
|
color: #a29d9d;
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frames-description.frames-description-application {
|
|
|
|
|
text-align: center;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
}
|
|
|
|
|
.frames-container.frames-container-application .frame:not(.frame-application) {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frames-tab {
|
|
|
|
|
color: #a29d9d;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
padding: 4px 8px;
|
|
|
|
|
margin: 0 2px;
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frames-tab.frames-tab-active {
|
|
|
|
|
background-color: #2a2a2a;
|
|
|
|
|
color: #bebebe;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame {
|
|
|
|
|
padding: 14px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: all 0.1s ease;
|
|
|
|
|
background: #eeeeee;
|
|
|
|
|
}
|
|
|
|
|
.frame:not(:last-child) {
|
|
|
|
|
border-bottom: 1px solid rgba(0, 0, 0, .05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame.active {
|
|
|
|
|
box-shadow: inset -5px 0 0 0 #4288CE;
|
|
|
|
|
color: #4288CE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame:not(.active):hover {
|
|
|
|
|
background: #BEE9EA;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-method-info {
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-class, .frame-function, .frame-index {
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-index {
|
|
|
|
|
float: left;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-method-info {
|
|
|
|
|
margin-left: 24px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-index {
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
color: #a29d9d;
|
|
|
|
|
background-color: rgba(0, 0, 0, .05);
|
|
|
|
|
height: 18px;
|
|
|
|
|
width: 18px;
|
|
|
|
|
line-height: 18px;
|
|
|
|
|
border-radius: 5px;
|
|
|
|
|
padding: 0 1px 0 1px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-application .frame-index {
|
|
|
|
|
background-color: #2a2a2a;
|
|
|
|
|
color: #bebebe;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-file {
|
|
|
|
|
font-family: "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace;
|
|
|
|
|
color: #a29d9d;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-file .editor-link {
|
|
|
|
|
color: #a29d9d;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-line {
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-line:before {
|
|
|
|
|
content: ":";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-code {
|
|
|
|
|
padding: 5px;
|
|
|
|
|
background: #303030;
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-code.active {
|
|
|
|
|
display: block;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-code .frame-file {
|
|
|
|
|
color: #a29d9d;
|
|
|
|
|
padding: 12px 6px;
|
|
|
|
|
|
|
|
|
|
border-bottom: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.code-block {
|
|
|
|
|
padding: 10px;
|
|
|
|
|
margin: 0;
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
box-shadow: 0 3px 0 rgba(0, 0, 0, .05),
|
|
|
|
|
0 10px 30px rgba(0, 0, 0, .05),
|
|
|
|
|
inset 0 0 1px 0 rgba(255, 255, 255, .07);
|
|
|
|
|
-moz-tab-size: 4;
|
|
|
|
|
-o-tab-size: 4;
|
|
|
|
|
tab-size: 4;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.linenums {
|
|
|
|
|
margin: 0;
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-comments {
|
|
|
|
|
border-top: none;
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-comments.empty {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-comments.empty:before {
|
|
|
|
|
content: "No comments for this stack frame.";
|
|
|
|
|
font-weight: 300;
|
|
|
|
|
color: #a29d9d;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-comment {
|
|
|
|
|
padding: 10px;
|
|
|
|
|
color: #e3e3e3;
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
background-color: rgba(255, 255, 255, .05);
|
|
|
|
|
}
|
|
|
|
|
.frame-comment a {
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
text-decoration: none;
|
|
|
|
|
}
|
|
|
|
|
.frame-comment a:hover {
|
|
|
|
|
color: #4bb1b1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-comment:not(:last-child) {
|
|
|
|
|
border-bottom: 1px dotted rgba(0, 0, 0, .3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frame-comment-context {
|
|
|
|
|
font-size: 10px;
|
|
|
|
|
color: white;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.delimiter {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table-container label {
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #303030;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
margin: 10px 0;
|
|
|
|
|
|
|
|
|
|
display: block;
|
|
|
|
|
|
|
|
|
|
margin-bottom: 5px;
|
|
|
|
|
padding-bottom: 5px;
|
|
|
|
|
}
|
|
|
|
|
.data-table {
|
|
|
|
|
width: 100%;
|
|
|
|
|
margin-bottom: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table tbody {
|
|
|
|
|
font: 13px "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table thead {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table tr {
|
|
|
|
|
padding: 5px 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table td:first-child {
|
|
|
|
|
width: 20%;
|
|
|
|
|
min-width: 130px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
color: #463C54;
|
|
|
|
|
padding-right: 5px;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table td:last-child {
|
|
|
|
|
width: 80%;
|
|
|
|
|
-ms-word-break: break-all;
|
|
|
|
|
word-break: break-all;
|
|
|
|
|
word-break: break-word;
|
|
|
|
|
-webkit-hyphens: auto;
|
|
|
|
|
-moz-hyphens: auto;
|
|
|
|
|
hyphens: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table span.empty {
|
|
|
|
|
color: rgba(0, 0, 0, .3);
|
|
|
|
|
font-weight: 300;
|
|
|
|
|
}
|
|
|
|
|
.data-table label.empty {
|
|
|
|
|
display: inline;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.handler {
|
|
|
|
|
padding: 4px 0;
|
|
|
|
|
font: 14px "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* prettify code style
|
|
|
|
|
Uses the Doxy theme as a base */
|
|
|
|
|
pre .str, code .str { color: #BCD42A; } /* string */
|
|
|
|
|
pre .kwd, code .kwd { color: #4bb1b1; font-weight: bold; } /* keyword*/
|
|
|
|
|
pre .com, code .com { color: #888; font-weight: bold; } /* comment */
|
|
|
|
|
pre .typ, code .typ { color: #ef7c61; } /* type */
|
|
|
|
|
pre .lit, code .lit { color: #BCD42A; } /* literal */
|
|
|
|
|
pre .pun, code .pun { color: #fff; font-weight: bold; } /* punctuation */
|
|
|
|
|
pre .pln, code .pln { color: #e9e4e5; } /* plaintext */
|
|
|
|
|
pre .tag, code .tag { color: #4bb1b1; } /* html/xml tag */
|
|
|
|
|
pre .htm, code .htm { color: #dda0dd; } /* html tag */
|
|
|
|
|
pre .xsl, code .xsl { color: #d0a0d0; } /* xslt tag */
|
|
|
|
|
pre .atn, code .atn { color: #ef7c61; font-weight: normal;} /* html/xml attribute name */
|
|
|
|
|
pre .atv, code .atv { color: #bcd42a; } /* html/xml attribute value */
|
|
|
|
|
pre .dec, code .dec { color: #606; } /* decimal */
|
|
|
|
|
pre.code-block, code.code-block, .frame-args.code-block, .frame-args.code-block samp {
|
|
|
|
|
font-family: "Inconsolata", "Fira Mono", "Source Code Pro", Monaco, Consolas, "Lucida Console", monospace;
|
|
|
|
|
background: #333;
|
|
|
|
|
color: #e9e4e5;
|
|
|
|
|
}
|
|
|
|
|
pre.code-block {
|
|
|
|
|
white-space: pre-wrap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pre.code-block a, code.code-block a {
|
|
|
|
|
text-decoration:none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.linenums li {
|
|
|
|
|
color: #A5A5A5;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.linenums li.current{
|
|
|
|
|
background: rgba(255, 100, 100, .07);
|
|
|
|
|
}
|
|
|
|
|
.linenums li.current.active {
|
|
|
|
|
background: rgba(255, 100, 100, .17);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pre:not(.prettyprinted) {
|
|
|
|
|
padding-left: 60px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#plain-exception {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#copy-button {
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
border: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.clipboard {
|
|
|
|
|
opacity: .8;
|
|
|
|
|
background: none;
|
|
|
|
|
|
|
|
|
|
color: rgba(255, 255, 255, 0.1);
|
|
|
|
|
box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.1);
|
|
|
|
|
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
|
|
|
|
|
outline: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.clipboard:hover {
|
|
|
|
|
box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.3);
|
|
|
|
|
color: rgba(255, 255, 255, 0.3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* inspired by githubs kbd styles */
|
|
|
|
|
kbd {
|
|
|
|
|
-moz-border-bottom-colors: none;
|
|
|
|
|
-moz-border-left-colors: none;
|
|
|
|
|
-moz-border-right-colors: none;
|
|
|
|
|
-moz-border-top-colors: none;
|
|
|
|
|
background-color: #fcfcfc;
|
|
|
|
|
border-color: #ccc #ccc #bbb;
|
|
|
|
|
border-image: none;
|
|
|
|
|
border-style: solid;
|
|
|
|
|
border-width: 1px;
|
|
|
|
|
color: #555;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
line-height: 10px;
|
|
|
|
|
padding: 3px 5px;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* == Media queries */
|
|
|
|
|
|
|
|
|
|
/* Expand the spacing in the details section */
|
|
|
|
|
@media (min-width: 1000px) {
|
|
|
|
|
.details, .frame-code {
|
|
|
|
|
padding: 20px 40px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.details-container {
|
|
|
|
|
left: 32%;
|
|
|
|
|
width: 68%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.frames-container {
|
|
|
|
|
margin: 5px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.left-panel {
|
|
|
|
|
width: 32%;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Stack panels */
|
|
|
|
|
@media (max-width: 600px) {
|
|
|
|
|
.panel {
|
|
|
|
|
position: static;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Stack details tables */
|
|
|
|
|
@media (max-width: 400px) {
|
|
|
|
|
.data-table,
|
|
|
|
|
.data-table tbody,
|
|
|
|
|
.data-table tbody tr,
|
|
|
|
|
.data-table tbody td {
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table tbody tr:first-child {
|
|
|
|
|
padding-top: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table tbody td:first-child,
|
|
|
|
|
.data-table tbody td:last-child {
|
|
|
|
|
padding-left: 0;
|
|
|
|
|
padding-right: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data-table tbody td:last-child {
|
|
|
|
|
padding-top: 3px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tooltipped {
|
|
|
|
|
position: relative
|
|
|
|
|
}
|
|
|
|
|
.tooltipped:after {
|
|
|
|
|
position: absolute;
|
|
|
|
|
z-index: 1000000;
|
|
|
|
|
display: none;
|
|
|
|
|
padding: 5px 8px;
|
|
|
|
|
color: #fff;
|
|
|
|
|
text-align: center;
|
|
|
|
|
text-decoration: none;
|
|
|
|
|
text-shadow: none;
|
|
|
|
|
text-transform: none;
|
|
|
|
|
letter-spacing: normal;
|
|
|
|
|
word-wrap: break-word;
|
|
|
|
|
white-space: pre;
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
content: attr(aria-label);
|
|
|
|
|
background: rgba(0, 0, 0, 0.8);
|
|
|
|
|
border-radius: 3px;
|
|
|
|
|
-webkit-font-smoothing: subpixel-antialiased
|
|
|
|
|
}
|
|
|
|
|
.tooltipped:before {
|
|
|
|
|
position: absolute;
|
|
|
|
|
z-index: 1000001;
|
|
|
|
|
display: none;
|
|
|
|
|
width: 0;
|
|
|
|
|
height: 0;
|
|
|
|
|
color: rgba(0, 0, 0, 0.8);
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
content: "";
|
|
|
|
|
border: 5px solid transparent
|
|
|
|
|
}
|
|
|
|
|
.tooltipped:hover:before,
|
|
|
|
|
.tooltipped:hover:after,
|
|
|
|
|
.tooltipped:active:before,
|
|
|
|
|
.tooltipped:active:after,
|
|
|
|
|
.tooltipped:focus:before,
|
|
|
|
|
.tooltipped:focus:after {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
text-decoration: none
|
|
|
|
|
}
|
|
|
|
|
.tooltipped-s:after {
|
|
|
|
|
top: 100%;
|
|
|
|
|
right: 50%;
|
|
|
|
|
margin-top: 5px
|
|
|
|
|
}
|
|
|
|
|
.tooltipped-s:before {
|
|
|
|
|
top: auto;
|
|
|
|
|
right: 50%;
|
|
|
|
|
bottom: -5px;
|
|
|
|
|
margin-right: -5px;
|
|
|
|
|
border-bottom-color: rgba(0, 0, 0, 0.8)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pre.sf-dump {
|
|
|
|
|
padding: 0px !important;
|
|
|
|
|
margin: 0px !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.search-for-help {
|
|
|
|
|
width: 85%;
|
|
|
|
|
padding: 0;
|
|
|
|
|
margin: 10px 0;
|
|
|
|
|
list-style-type: none;
|
|
|
|
|
display: inline-block;
|
|
|
|
|
}
|
|
|
|
|
.search-for-help li {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
margin-right: 5px;
|
|
|
|
|
}
|
|
|
|
|
.search-for-help li:last-child {
|
|
|
|
|
margin-right: 0;
|
|
|
|
|
}
|
|
|
|
|
.search-for-help li a {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
.search-for-help li a i {
|
|
|
|
|
width: 16px;
|
|
|
|
|
height: 16px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
display: block;
|
|
|
|
|
}
|
|
|
|
|
.search-for-help li a svg {
|
|
|
|
|
fill: #fff;
|
|
|
|
|
}
|
|
|
|
|
.search-for-help li a svg path {
|
|
|
|
|
background-size: contain;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
<div class="Whoops container">
|
|
|
|
|
<div class="stack-container">
|
|
|
|
|
|
|
|
|
|
<div class="panel left-panel cf ">
|
|
|
|
|
<header>
|
|
|
|
|
<div class="exception">
|
|
|
|
|
<div class="exc-title">
|
|
|
|
|
Symfony \ Component \ Debug \ Exception \ <span class="exc-title-primary">FatalThrowableError</span>
|
|
|
|
|
<span title="Exception Code">(E_ERROR)</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="exc-message">
|
|
|
|
|
<span>Call to undefined function App\Http\Controllers\ThreadsCollection()</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<ul class="search-for-help">
|
|
|
|
|
<li>
|
|
|
|
|
<a rel="noopener noreferrer" target="_blank" href="https://google.com/search?q=Symfony%5CComponent%5CDebug%5CException%5CFatalThrowableError+Call+to+undefined+function+App%5CHttp%5CControllers%5CThreadsCollection%28%29" title="Search for help on Google.">
|
|
|
|
|
<!-- Google icon by Alfredo H, from https://www.iconfinder.com/alfredoh -->
|
|
|
|
|
<!-- Creative Commons (Attribution 3.0 Unported) -->
|
|
|
|
|
<!-- http://creativecommons.org/licenses/by/3.0/ -->
|
|
|
|
|
<svg class="google" height="16" viewBox="0 0 512 512" width="16" xmlns="http://www.w3.org/2000/svg">
|
|
|
|
|
<path d="M457.732 216.625c2.628 14.04 4.063 28.743 4.063 44.098C461.795 380.688 381.48 466 260.205 466c-116.024 0-210-93.977-210-210s93.976-210 210-210c56.703 0 104.076 20.867 140.44 54.73l-59.205 59.197v-.135c-22.046-21.002-50-31.762-81.236-31.762-69.297 0-125.604 58.537-125.604 127.84 0 69.29 56.306 127.97 125.604 127.97 62.87 0 105.653-35.966 114.46-85.313h-114.46v-81.902h197.528z"/>
|
|
|
|
|
</svg>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a rel="noopener noreferrer" target="_blank" href="https://duckduckgo.com/?q=Symfony%5CComponent%5CDebug%5CException%5CFatalThrowableError+Call+to+undefined+function+App%5CHttp%5CControllers%5CThreadsCollection%28%29" title="Search for help on DuckDuckGo.">
|
|
|
|
|
<!-- DuckDuckGo icon by IconBaandar Team, from https://www.iconfinder.com/iconbaandar -->
|
|
|
|
|
<!-- Creative Commons (Attribution 3.0 Unported) -->
|
|
|
|
|
<!-- http://creativecommons.org/licenses/by/3.0/ -->
|
|
|
|
|
<svg class="duckduckgo" height="16" viewBox="150 150 1675 1675" width="16" xmlns="http://www.w3.org/2000/svg">
|
|
|
|
|
<path d="M1792 1024c0 204.364-80.472 398.56-224.955 543.04-144.483 144.48-338.68 224.95-543.044 224.95-204.36 0-398.56-80.47-543.04-224.95-144.48-144.482-224.95-338.676-224.95-543.04 0-204.365 80.47-398.562 224.96-543.045C625.44 336.47 819.64 256 1024 256c204.367 0 398.565 80.47 543.05 224.954C1711.532 625.437 1792 819.634 1792 1024zm-270.206 497.787C1654.256 1389.327 1728 1211.36 1728 1024c0-187.363-73.74-365.332-206.203-497.796C1389.332 393.74 1211.363 320 1024 320s-365.33 73.742-497.795 206.205C393.742 658.67 320 836.637 320 1024c0 187.36 73.744 365.326 206.206 497.787C658.67 1654.25 836.638 1727.99 1024 1727.99c187.362 0 365.33-73.74 497.794-206.203z"/>
|
|
|
|
|
<path d="M1438.64 1177.41c0-.03-.005-.017-.01.004l.01-.004z"/>
|
|
|
|
|
<path d="M1499.8 976.878c.03-.156-.024-.048-.11.107l.11-.107z"/>
|
|
|
|
|
<path d="M1105.19 991.642zm-68.013-376.128c-8.087-10.14-18.028-19.965-29.89-29.408-13.29-10.582-29-20.76-47.223-30.443-35.07-18.624-74.482-31.61-115.265-38.046-39.78-6.28-80.84-6.256-120.39.917l1.37 31.562c1.8.164 7.7 3.9 14.36 8.32-20.68 5.94-39.77 14.447-39.48 39.683l.2 17.48 17.3-1.73c29.38-2.95 60.17-2.06 90.32 2.61 9.21 1.42 18.36 3.2 27.38 5.32l-4.33 1.15c-20.45 5.58-38.93 12.52-54.25 20.61-46.28 24.32-75.51 60.85-90.14 108.37-14.14 45.95-14.27 101.81-2.72 166.51l.06.06c15.14 84.57 64.16 316.39 104.11 505.39 19.78 93.59 37.38 176.83 47.14 224.4 3.26 15.84 5.03 31.02 5.52 45.52.3 9.08.09 17.96-.58 26.62-.45 5.8-1.11 11.51-1.96 17.112l31.62 4.75c.71-4.705 1.3-9.494 1.76-14.373 48.964 10.517 99.78 16.05 151.88 16.05 60.68 0 119.61-7.505 175.91-21.64 3.04 6.08 6.08 12.19 9.11 18.32l28.62-14.128c-2.11-4.27-4.235-8.55-6.37-12.84-23.005-46.124-47.498-93.01-68.67-133.534-15.39-29.466-29.01-55.53-39.046-75.58-26.826-53.618-53.637-119.47-68.28-182.368-8.78-37.705-13.128-74.098-10.308-105.627-15.31-6.28-26.69-11.8-31.968-15.59l-.01.015c-14.22-10.2-31.11-28.12-41.82-49.717-8.618-17.376-13.4-37.246-10.147-57.84 3.17-19.84 27.334-46.714 57.843-67.46v-.063c26.554-18.05 58.75-32.506 86.32-34.31 7.835-.51 16.31-1.008 23.99-1.45 33.45-1.95 50.243-2.93 84.475-11.42 10.88-2.697 26.19-6.56 43.53-11.09 2.364-40.7-5.947-87.596-21.04-133.234-22.004-66.53-58.68-131.25-97.627-170.21-12.543-12.55-28.17-22.79-45.9-30.933-16.88-7.753-35.64-13.615-55.436-17.782zm-10.658 178.553s6.77-42.485 58.39-33.977c27.96 4.654 37.89 29.833 37.89 29.833s-25.31-14.46-44.95-14.198c-40.33.53-51.35 18.342-51.35 18.342zm-240.45-18.802c48.49-19.853 72.11 11.298 72.11 11.298s-35.21-15.928-69.46 5.59c-34.19 21.477-32.92 43.452-32.92 43.452s-18.17-40.5 30.26-60.34zm296.5 95.4c0-6.677 2.68-12.694 7.01-17.02 4.37-4.37 10.42-7.074 17.1-7.074 6.73 0 12.79 2.7 17.15 7.05 4.33 4.33 7.01 10.36 7.01 17.05 0 6.74-2.7 12.81-7.07 17.18-4.33 4.33-10.37 7.01-17.1 7.01-6.68 0-12.72-2.69-17.05-7.03-4.36-4.37-7.07-10.43-7.07-17.16zm-268.42 51.27c0-8.535 3.41-16.22 8.93-21.738 5.55-5.55 13.25-8.982 21.81-8.982 8.51 0 16.18 3.415 21.7 8.934 5.55 5.55 8.98 13.25 8.98 21.78 0 8.53-3.44 16.23-8.98 21.79-5.52 5.52-13.19 8.93-21.71 8.93-8.55 0-16.26-3.43-21.82-8.99-5.52-5.52-8.93-13.2-8.93-21.74z"/>
|
|
|
|
|
<path d="M1102.48 986.34zm390.074-64.347c-28.917-11.34-74.89-12.68-93.32-3.778-11.5 5.567-35.743 13.483-63.565 21.707-25.75 7.606-53.9 15.296-78.15 21.702-17.69 4.67-33.3 8.66-44.4 11.435-34.92 8.76-52.05 9.77-86.17 11.78-7.84.46-16.48.97-24.48 1.5-28.12 1.86-60.97 16.77-88.05 35.4v.06c-31.12 21.4-55.77 49.12-59.01 69.59-3.32 21.24 1.56 41.74 10.35 59.67 10.92 22.28 28.15 40.77 42.66 51.29l.01-.02c5.38 3.9 16.98 9.6 32.6 16.08 26.03 10.79 63.2 23.76 101.25 34.23 43.6 11.99 89.11 21.05 121.69 20.41 34.26-.69 77.73-10.52 114.54-24.67 22.15-8.52 42.21-18.71 56.88-29.58 17.85-13.22 28.7-28.42 28.4-44.74-.07-3.89-.72-7.63-1.97-11.21l-.02.01c-11.6-33.06-50.37-23.59-105.53-10.12-46.86 11.445-107.94 26.365-169.01 20.434-32.56-3.167-54.45-10.61-67.88-20.133-5.96-4.224-9.93-8.67-12.18-13.11-1.96-3.865-2.68-7.84-2.33-11.714.39-4.42 2.17-9.048 5.1-13.57l-.05-.03c7.86-12.118 23.082-9.72 43.93-6.43 25.91 4.08 58.2 9.172 99.013-3.61 39.63-12.378 87.76-29.9 131.184-47.39 42.405-17.08 80.08-34.078 100.74-46.18 25.46-14.87 37.57-29.428 40.59-42.866 2.725-12.152-.89-22.48-8.903-31.07-5.87-6.29-14.254-11.31-23.956-15.115z"/>
|
|
|
|
|
</svg>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a rel="noopener noreferrer" target="_blank" href="https://stackoverflow.com/search?q=Symfony%5CComponent%5CDebug%5CException%5CFatalThrowableError+Call+to+undefined+function+App%5CHttp%5CControllers%5CThreadsCollection%28%29" title="Search for help on Stack Overflow.">
|
|
|
|
|
<!-- Stack Overflow icon by Picons.me, from https://www.iconfinder.com/Picons -->
|
|
|
|
|
<!-- Free for commercial use -->
|
|
|
|
|
<svg class="stackoverflow" height="16" viewBox="-1163 1657.697 56.693 56.693" width="16" xmlns="http://www.w3.org/2000/svg">
|
|
|
|
|
<path d="M-1126.04 1689.533l-16.577-9.778 2.088-3.54 16.578 9.778zM-1127.386 1694.635l-18.586-4.996 1.068-3.97 18.586 4.995zM-1127.824 1700.137l-19.165-1.767.378-4.093 19.165 1.767zM-1147.263 1701.293h19.247v4.11h-19.247z"/>
|
|
|
|
|
<path d="M-1121.458 1710.947s0 .96-.032.96v.016h-30.796s-.96 0-.96-.016h-.032v-20.03h3.288v16.805h25.244v-16.804h3.288v19.07zM-1130.667 1667.04l10.844 15.903-3.396 2.316-10.843-15.903zM-1118.313 1663.044l3.29 18.963-4.05.703-3.29-18.963z"/>
|
|
|
|
|
</svg>
|
|
|
|
|
</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<span id="plain-exception">Symfony\Component\Debug\Exception\FatalThrowableError thrown with message "Call to undefined function App\Http\Controllers\ThreadsCollection()"
|
|
|
|
|
|
|
|
|
|
Stacktrace:
|
|
|
|
|
#0 Symfony\Component\Debug\Exception\FatalThrowableError in /home/bkains/Git/GamingForum/app/Http/Controllers/ThreadController.php:68
|
|
|
|
|
</span>
|
|
|
|
|
<button id="copy-button" class="clipboard" data-clipboard-text="Symfony\Component\Debug\Exception\FatalThrowableError thrown with message "Call to undefined function App\Http\Controllers\ThreadsCollection()"
|
|
|
|
|
|
|
|
|
|
Stacktrace:
|
|
|
|
|
#0 Symfony\Component\Debug\Exception\FatalThrowableError in /home/bkains/Git/GamingForum/app/Http/Controllers/ThreadController.php:68
|
|
|
|
|
" title="Copy exception details to clipboard">
|
|
|
|
|
COPY
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</header>
|
|
|
|
|
<div class="frames-description frames-description-application">
|
|
|
|
|
<span href="#" id="application-frames-tab" class="frames-tab frames-tab-active">
|
|
|
|
|
Application frames (1)
|
|
|
|
|
</span>
|
|
|
|
|
<a href="#" id="all-frames-tab" class="frames-tab ">
|
|
|
|
|
All frames (1)
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="frames-container frames-container-application">
|
|
|
|
|
<div class="frame active frame-application" id="frame-line-0">
|
|
|
|
|
<span class="frame-index">0</span>
|
|
|
|
|
<div class="frame-method-info">
|
|
|
|
|
<span class="frame-class"><div class="delimiter">Symfony</div>\<div class="delimiter">Component</div>\<div class="delimiter">Debug</div>\<div class="delimiter">Exception</div>\<div class="delimiter">FatalThrowableError</div></span>
|
|
|
|
|
<span class="frame-function"><div class="delimiter"></div></span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="frame-file">
|
|
|
|
|
<div class="delimiter">…</div>/<div class="delimiter">app</div>/<div class="delimiter">Http</div>/<div class="delimiter">Controllers</div>/<div class="delimiter">ThreadController.php</div><!--
|
|
|
|
|
--><span class="frame-line">68</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div></div>
|
|
|
|
|
<div class="panel details-container cf">
|
|
|
|
|
<div class="frame-code-container ">
|
|
|
|
|
<div class="frame-code active" id="frame-code-0">
|
|
|
|
|
<div class="frame-file">
|
|
|
|
|
<strong><div class="delimiter"></div>/<div class="delimiter">home</div>/<div class="delimiter">bkains</div>/<div class="delimiter">Git</div>/<div class="delimiter">GamingForum</div>/<div class="delimiter">app</div>/<div class="delimiter">Http</div>/<div class="delimiter">Controllers</div>/<div class="delimiter">ThreadController.php</div></strong>
|
|
|
|
|
</div>
|
|
|
|
|
<pre id="frame-code-linenums-0" class="code-block linenums:49"> public function store(Request $request)
|
|
|
|
|
{
|
|
|
|
|
$thread = new Thread;
|
|
|
|
|
|
|
|
|
|
$thread->thread_title = $request->thread_title;
|
|
|
|
|
$thread->thread_creator_id = $request->user_id;
|
|
|
|
|
|
|
|
|
|
$thread->save();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Display the specified resource.
|
|
|
|
|
*
|
|
|
|
|
* @param integer $id
|
|
|
|
|
* - A thread ID
|
|
|
|
|
* @return \Illuminate\Http\Response
|
|
|
|
|
*/
|
|
|
|
|
public function show(int $id)
|
|
|
|
|
{
|
|
|
|
|
$thread = ThreadsCollection(Thread::find($id)->with("posts")->get());
|
|
|
|
|
return view("thread_view")->withThread($thread);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Update the specified resource in storage.
|
|
|
|
|
*
|
|
|
|
|
* @param \Illuminate\Http\Request $request
|
|
|
|
|
* @param \App\Thread $thread
|
|
|
|
|
* @return \Illuminate\Http\Response
|
|
|
|
|
*/
|
|
|
|
|
public function update(Request $request, Thread $thread)
|
|
|
|
|
{
|
|
|
|
|
$thread->thread_title = $request->thread_title;
|
|
|
|
|
$thread->save();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Remove the specified resource from storage.
|
|
|
|
|
*
|
|
|
|
|
* @param \App\Thread $thread</pre>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="frame-file">
|
|
|
|
|
Arguments
|
|
|
|
|
</div>
|
|
|
|
|
<div id="frame-code-args-0" class="code-block frame-args">
|
|
|
|
|
<ol class="linenums"><li><script> Sfdump = window.Sfdump || (function (doc) { var refStyle = doc.createElement('style'), rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; (doc.documentElement.firstElementChild || doc.documentElement.children[0]).appendChild(refStyle); if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '▼'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '▶'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else if (e.target.nextElementSibling && 'A' == e.target.nextElementSibling.tagName) { f(e.target.nextElementSibling, e, true); } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; }
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1752263691")</script>
|
|
|
|
|
</li></ol> </div>
|
|
|
|
|
|
|
|
|
|
<div class="frame-comments empty">
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="details">
|
|
|
|
|
<h2 class="details-heading">Environment & details:</h2>
|
|
|
|
|
|
|
|
|
|
<div class="data-table-container" id="data-tables">
|
|
|
|
|
<div class="data-table" id="sg-get-data">
|
|
|
|
|
<label class="empty">GET Data</label>
|
|
|
|
|
<span class="empty">empty</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="data-table" id="sg-post-data">
|
|
|
|
|
<label class="empty">POST Data</label>
|
|
|
|
|
<span class="empty">empty</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="data-table" id="sg-files">
|
|
|
|
|
<label class="empty">Files</label>
|
|
|
|
|
<span class="empty">empty</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="data-table" id="sg-cookies">
|
|
|
|
|
<label class="empty">Cookies</label>
|
|
|
|
|
<span class="empty">empty</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="data-table" id="sg-session">
|
|
|
|
|
<label class="empty">Session</label>
|
|
|
|
|
<span class="empty">empty</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="data-table" id="sg-serverrequest-data">
|
|
|
|
|
<label>Server/Request Data</label>
|
|
|
|
|
<table class="data-table">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class="data-table-k">Key</td>
|
|
|
|
|
<td class="data-table-v">Value</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>DOCUMENT_ROOT</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1721774963 data-indent-pad=" ">"<span class=sf-dump-str title="35 characters">/home/bkains/Git/GamingForum/public</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1721774963")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>REMOTE_ADDR</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-223408750 data-indent-pad=" ">"<span class=sf-dump-str title="9 characters">127.0.0.1</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-223408750")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>REMOTE_PORT</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-587207983 data-indent-pad=" ">"<span class=sf-dump-str title="5 characters">49676</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-587207983")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>SERVER_SOFTWARE</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-727281173 data-indent-pad=" ">"<span class=sf-dump-str title="29 characters">PHP 7.2.16 Development Server</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-727281173")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>SERVER_PROTOCOL</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1694854957 data-indent-pad=" ">"<span class=sf-dump-str title="8 characters">HTTP/1.1</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1694854957")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>SERVER_NAME</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1945750093 data-indent-pad=" ">"<span class=sf-dump-str title="9 characters">127.0.0.1</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1945750093")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>SERVER_PORT</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-184445952 data-indent-pad=" ">"<span class=sf-dump-str title="4 characters">8000</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-184445952")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>REQUEST_URI</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-876581542 data-indent-pad=" ">"<span class=sf-dump-str title="13 characters">/api/thread/1</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-876581542")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>REQUEST_METHOD</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-931261318 data-indent-pad=" ">"<span class=sf-dump-str title="3 characters">GET</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-931261318")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>SCRIPT_NAME</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-289721103 data-indent-pad=" ">"<span class=sf-dump-str title="10 characters">/index.php</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-289721103")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>SCRIPT_FILENAME</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-2029051378 data-indent-pad=" ">"<span class=sf-dump-str title="45 characters">/home/bkains/Git/GamingForum/public/index.php</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-2029051378")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>PATH_INFO</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1488901693 data-indent-pad=" ">"<span class=sf-dump-str title="13 characters">/api/thread/1</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1488901693")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>PHP_SELF</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-339482395 data-indent-pad=" ">"<span class=sf-dump-str title="23 characters">/index.php/api/thread/1</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-339482395")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>CONTENT_TYPE</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-2063682032 data-indent-pad=" ">"<span class=sf-dump-str title="33 characters">application/x-www-form-urlencoded</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-2063682032")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>HTTP_CONTENT_TYPE</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1342518886 data-indent-pad=" ">"<span class=sf-dump-str title="33 characters">application/x-www-form-urlencoded</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1342518886")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>HTTP_CACHE_CONTROL</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-216163299 data-indent-pad=" ">"<span class=sf-dump-str title="8 characters">no-cache</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-216163299")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>HTTP_POSTMAN_TOKEN</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-467837718 data-indent-pad=" ">"<span class=sf-dump-str title="36 characters">96c14108-10d7-4b48-8a8b-4aaa8a00e19e</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-467837718")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>HTTP_USER_AGENT</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1197610663 data-indent-pad=" ">"<span class=sf-dump-str title="20 characters">PostmanRuntime/7.6.1</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1197610663")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>HTTP_ACCEPT</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1110997677 data-indent-pad=" ">"<span class=sf-dump-str title="3 characters">*/*</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1110997677")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>HTTP_HOST</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-154168305 data-indent-pad=" ">"<span class=sf-dump-str title="14 characters">localhost:8000</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-154168305")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>HTTP_ACCEPT_ENCODING</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1677616516 data-indent-pad=" ">"<span class=sf-dump-str title="13 characters">gzip, deflate</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1677616516")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>HTTP_CONNECTION</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-318130106 data-indent-pad=" ">"<span class=sf-dump-str title="10 characters">keep-alive</span>"
|
|
|
|
|
</pre><script>Sfdump("sf-dump-318130106")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>REQUEST_TIME_FLOAT</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1591615114 data-indent-pad=" "><span class=sf-dump-num>1554837063.3276</span>
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1591615114")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>REQUEST_TIME</td>
|
|
|
|
|
<td><pre class=sf-dump id=sf-dump-1070528613 data-indent-pad=" "><span class=sf-dump-num>1554837063</span>
|
|
|
|
|
</pre><script>Sfdump("sf-dump-1070528613")</script>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="data-table" id="sg-environment-variables">
|
|
|
|
|
<label class="empty">Environment Variables</label>
|
|
|
|
|
<span class="empty">empty</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="data-table-container" id="handlers">
|
|
|
|
|
<label>Registered Handlers</label>
|
|
|
|
|
<div class="handler active">
|
|
|
|
|
0. Whoops\Handler\PrettyPageHandler </div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script>var r=null;window.PR_SHOULD_USE_CONTINUATION=!0;
|
|
|
|
|
(function(){function O(a){function i(d){var a=d.charCodeAt(0);if(a!==92)return a;var f=d.charAt(1);return(a=s[f])?a:"0"<=f&&f<="7"?parseInt(d.substring(1),8):f==="u"||f==="x"?parseInt(d.substring(2),16):d.charCodeAt(1)}function g(d){if(d<32)return(d<16?"\\x0":"\\x")+d.toString(16);d=String.fromCharCode(d);return d==="\\"||d==="-"||d==="]"||d==="^"?"\\"+d:d}function j(d){var a=d.substring(1,d.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),d=[],f=
|
|
|
|
|
a[0]==="^",b=["["];f&&b.push("^");for(var f=f?1:0,c=a.length;f<c;++f){var h=a[f];if(/\\[bdsw]/i.test(h))b.push(h);else{var h=i(h),e;f+2<c&&"-"===a[f+1]?(e=i(a[f+2]),f+=2):e=h;d.push([h,e]);e<65||h>122||(e<65||h>90||d.push([Math.max(65,h)|32,Math.min(e,90)|32]),e<97||h>122||d.push([Math.max(97,h)&-33,Math.min(e,122)&-33]))}}d.sort(function(d,a){return d[0]-a[0]||a[1]-d[1]});a=[];c=[];for(f=0;f<d.length;++f)h=d[f],h[0]<=c[1]+1?c[1]=Math.max(c[1],h[1]):a.push(c=h);for(f=0;f<a.length;++f)h=a[f],b.push(g(h[0])),
|
|
|
|
|
h[1]>h[0]&&(h[1]+1>h[0]&&b.push("-"),b.push(g(h[1])));b.push("]");return b.join("")}function t(d){for(var a=d.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=a.length,i=[],c=0,h=0;c<b;++c){var e=a[c];e==="("?++h:"\\"===e.charAt(0)&&(e=+e.substring(1))&&(e<=h?i[e]=-1:a[c]=g(e))}for(c=1;c<i.length;++c)-1===i[c]&&(i[c]=++z);for(h=c=0;c<b;++c)e=a[c],e==="("?(++h,i[h]||(a[c]="(?:")):"\\"===e.charAt(0)&&(e=+e.substring(1))&&e<=h&&
|
|
|
|
|
(a[c]="\\"+i[e]);for(c=0;c<b;++c)"^"===a[c]&&"^"!==a[c+1]&&(a[c]="");if(d.ignoreCase&&w)for(c=0;c<b;++c)e=a[c],d=e.charAt(0),e.length>=2&&d==="["?a[c]=j(e):d!=="\\"&&(a[c]=e.replace(/[A-Za-z]/g,function(d){d=d.charCodeAt(0);return"["+String.fromCharCode(d&-33,d|32)+"]"}));return a.join("")}for(var z=0,w=!1,k=!1,m=0,b=a.length;m<b;++m){var o=a[m];if(o.ignoreCase)k=!0;else if(/[a-z]/i.test(o.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){w=!0;k=!1;break}}for(var s={b:8,t:9,n:10,v:11,
|
|
|
|
|
f:12,r:13},q=[],m=0,b=a.length;m<b;++m){o=a[m];if(o.global||o.multiline)throw Error(""+o);q.push("(?:"+t(o)+")")}return RegExp(q.join("|"),k?"gi":"g")}function P(a,i){function g(a){switch(a.nodeType){case 1:if(j.test(a.className))break;for(var b=a.firstChild;b;b=b.nextSibling)g(b);b=a.nodeName.toLowerCase();if("br"===b||"li"===b)t[k]="\n",w[k<<1]=z++,w[k++<<1|1]=a;break;case 3:case 4:b=a.nodeValue,b.length&&(b=i?b.replace(/\r\n?/g,"\n"):b.replace(/[\t\n\r ]+/g," "),t[k]=b,w[k<<1]=z,z+=b.length,w[k++<<
|
|
|
|
|
1|1]=a)}}var j=/(?:^|\s)nocode(?:\s|$)/,t=[],z=0,w=[],k=0;g(a);return{a:t.join("").replace(/\n$/,""),d:w}}function E(a,i,g,j){i&&(a={a:i,e:a},g(a),j.push.apply(j,a.g))}function x(a,i){function g(a){for(var k=a.e,m=[k,"pln"],b=0,o=a.a.match(t)||[],s={},q=0,d=o.length;q<d;++q){var v=o[q],f=s[v],u=void 0,c;if(typeof f==="string")c=!1;else{var h=j[v.charAt(0)];if(h)u=v.match(h[1]),f=h[0];else{for(c=0;c<z;++c)if(h=i[c],u=v.match(h[1])){f=h[0];break}u||(f="pln")}if((c=f.length>=5&&"lang-"===f.substring(0,
|
|
|
|
|
5))&&!(u&&typeof u[1]==="string"))c=!1,f="src";c||(s[v]=f)}h=b;b+=v.length;if(c){c=u[1];var e=v.indexOf(c),p=e+c.length;u[2]&&(p=v.length-u[2].length,e=p-c.length);f=f.substring(5);E(k+h,v.substring(0,e),g,m);E(k+h+e,c,F(f,c),m);E(k+h+p,v.substring(p),g,m)}else m.push(k+h,f)}a.g=m}var j={},t;(function(){for(var g=a.concat(i),k=[],m={},b=0,o=g.length;b<o;++b){var s=g[b],q=s[3];if(q)for(var d=q.length;--d>=0;)j[q.charAt(d)]=s;s=s[1];q=""+s;m.hasOwnProperty(q)||(k.push(s),m[q]=r)}k.push(/[\S\s]/);t=
|
|
|
|
|
O(k)})();var z=i.length;return g}function l(a){var i=[],g=[];a.tripleQuotedStrings?i.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,r,"'\""]):a.multiLineStrings?i.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,r,"'\"`"]):i.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,r,"\"'"]);a.verbatimStrings&&
|
|
|
|
|
g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,r]);var j=a.hashComments;j&&(a.cStyleComments?(j>1?i.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,r,"#"]):i.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,r,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,r])):i.push(["com",/^#[^\n\r]*/,r,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,r]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,
|
|
|
|
|
r]));a.regexLiterals&&g.push(["lang-regex",/^(?:^^\.?|[+-]|[!=]={0,2}|#|%=?|&&?=?|\(|\*=?|[+-]=|->|\/=?|::?|<<?=?|>{1,3}=?|[,;?@[{~]|\^\^?=?|\|\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(j=a.types)&&g.push(["typ",j]);a=(""+a.keywords).replace(/^ | $/g,"");a.length&&g.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),r]);i.push(["pln",/^\s+/,r," \r\n\t\u00a0"]);g.push(["lit",
|
|
|
|
|
/^@[$_a-z][\w$@]*/i,r],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,r],["pln",/^[$_a-z][\w$@]*/i,r],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,r,"0123456789"],["pln",/^\\[\S\s]?/,r],["pun",/^.[^\s\w"$'./@\\`]*/,r]);return x(i,g)}function G(a,i,g){function j(a){switch(a.nodeType){case 1:if(z.test(a.className))break;if("br"===a.nodeName)t(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)j(a);break;case 3:case 4:if(g){var b=
|
|
|
|
|
a.nodeValue,f=b.match(n);if(f){var i=b.substring(0,f.index);a.nodeValue=i;(b=b.substring(f.index+f[0].length))&&a.parentNode.insertBefore(k.createTextNode(b),a.nextSibling);t(a);i||a.parentNode.removeChild(a)}}}}function t(a){function i(a,b){var d=b?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=i(e,1),f=a.nextSibling;e.appendChild(d);for(var g=f;g;g=f)f=g.nextSibling,e.appendChild(g)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=i(a.nextSibling,0),f;(f=a.parentNode)&&f.nodeType===
|
|
|
|
|
1;)a=f;b.push(a)}for(var z=/(?:^|\s)nocode(?:\s|$)/,n=/\r\n?|\n/,k=a.ownerDocument,m=k.createElement("li");a.firstChild;)m.appendChild(a.firstChild);for(var b=[m],o=0;o<b.length;++o)j(b[o]);i===(i|0)&&b[0].setAttribute("value",i);var s=k.createElement("ol");s.className="linenums";for(var i=Math.max(0,i-1|0)||0,o=0,q=b.length;o<q;++o)m=b[o],m.className="L"+(o+i)%10,m.firstChild||m.appendChild(k.createTextNode("\u00a0")),s.appendChild(m);a.appendChild(s)}function n(a,i){for(var g=i.length;--g>=0;){var j=
|
|
|
|
|
i[g];A.hasOwnProperty(j)?C.console&&console.warn("cannot override language handler %s",j):A[j]=a}}function F(a,i){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(i)?"default-markup":"default-code";return A[a]}function H(a){var i=a.h;try{var g=P(a.c,a.i),j=g.a;a.a=j;a.d=g.d;a.e=0;F(i,j)(a);var t=/\bMSIE\s(\d+)/.exec(navigator.userAgent),t=t&&+t[1]<=8,i=/\n/g,n=a.a,w=n.length,g=0,k=a.d,m=k.length,j=0,b=a.g,o=b.length,s=0;b[o]=w;var q,d;for(d=q=0;d<o;)b[d]!==b[d+2]?(b[q++]=b[d++],b[q++]=b[d++]):d+=2;o=q;
|
|
|
|
|
for(d=q=0;d<o;){for(var v=b[d],f=b[d+1],u=d+2;u+2<=o&&b[u+1]===f;)u+=2;b[q++]=v;b[q++]=f;d=u}b.length=q;var c=a.c,h;if(c)h=c.style.display,c.style.display="none";try{for(;j<m;){var e=k[j+2]||w,p=b[s+2]||w,u=Math.min(e,p),l=k[j+1],D;if(l.nodeType!==1&&(D=n.substring(g,u))){t&&(D=D.replace(i,"\r"));l.nodeValue=D;var y=l.ownerDocument,x=y.createElement("span");x.className=b[s+1];var B=l.parentNode;B.replaceChild(x,l);x.appendChild(l);g<e&&(k[j+1]=l=y.createTextNode(n.substring(u,e)),B.insertBefore(l,
|
|
|
|
|
x.nextSibling))}g=u;g>=e&&(j+=2);g>=p&&(s+=2)}}finally{if(c)c.style.display=h}}catch(A){C.console&&console.log(A&&A.stack?A.stack:A)}}var C=window,y=["break,continue,do,else,for,if,return,while"],B=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],I=[B,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],
|
|
|
|
|
J=[B,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],K=[J,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],B=[B,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],
|
|
|
|
|
L=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],M=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],N=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,
|
|
|
|
|
Q=/\S/,R=l({keywords:[I,K,B,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+L,M,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};n(R,["default-code"]);n(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",
|
|
|
|
|
/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);n(x([["pln",/^\s+/,r," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,r,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],
|
|
|
|
|
["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);n(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);n(l({keywords:I,hashComments:!0,cStyleComments:!0,types:N}),["c","cc","cpp","cxx","cyc","m"]);n(l({keywords:"null,true,false"}),["json"]);n(l({keywords:K,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:N}),
|
|
|
|
|
["cs"]);n(l({keywords:J,cStyleComments:!0}),["java"]);n(l({keywords:y,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);n(l({keywords:L,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py"]);n(l({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);n(l({keywords:M,hashComments:!0,
|
|
|
|
|
multiLineStrings:!0,regexLiterals:!0}),["rb"]);n(l({keywords:B,cStyleComments:!0,regexLiterals:!0}),["js"]);n(l({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);n(x([],[["str",/^[\S\s]+/]]),["regex"]);var S=C.PR={createSimpleLexer:x,registerLangHandler:n,sourceDecorator:l,
|
|
|
|
|
PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:C.prettyPrintOne=function(a,i,g){var j=document.createElement("pre");j.innerHTML=a;g&&G(j,g,!0);H({h:i,j:g,c:j,i:1});return j.innerHTML},prettyPrint:C.prettyPrint=function(a){function i(){var u;for(var g=C.PR_SHOULD_USE_CONTINUATION?k.now()+250:Infinity;m<j.length&&
|
|
|
|
|
k.now()<g;m++){var c=j[m],h=c.className;if(s.test(h)&&!q.test(h)){for(var e=!1,p=c.parentNode;p;p=p.parentNode)if(f.test(p.tagName)&&p.className&&s.test(p.className)){e=!0;break}if(!e){c.className+=" prettyprinted";var h=h.match(o),n;if(e=!h){for(var e=c,p=void 0,l=e.firstChild;l;l=l.nextSibling)var t=l.nodeType,p=t===1?p?e:l:t===3?Q.test(l.nodeValue)?e:p:p;e=(n=p===e?void 0:p)&&v.test(n.tagName)}e&&(h=n.className.match(o));h&&(h=h[1]);u=d.test(c.tagName)?1:(e=(e=c.currentStyle)?e.whiteSpace:document.defaultView&&
|
|
|
|
|
document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(c,r).getPropertyValue("white-space"):0)&&"pre"===e.substring(0,3),e=u;(p=(p=c.className.match(/\blinenums\b(?::(\d+))?/))?p[1]&&p[1].length?+p[1]:!0:!1)&&G(c,p,e);b={h:h,c:c,j:p,i:e};H(b)}}}m<j.length?setTimeout(i,250):a&&a()}for(var g=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],j=[],n=0;n<g.length;++n)for(var l=0,w=g[n].length;l<w;++l)j.push(g[n][l]);var g=
|
|
|
|
|
r,k=Date;k.now||(k={now:function(){return+new Date}});var m=0,b,o=/\blang(?:uage)?-([\w.]+)(?!\S)/,s=/\bprettyprint\b/,q=/\bprettyprinted\b/,d=/pre|xmp/i,v=/^code$/i,f=/^(?:pre|code|xmp)$/i;i()}};typeof define==="function"&&define.amd&&define("google-code-prettify",[],function(){return S})})();
|
|
|
|
|
</script>
|
|
|
|
|
<script>/* Zepto v1.1.3 - zepto event ajax form ie - zeptojs.com/license */
|
|
|
|
|
var Zepto=function(){function L(t){return null==t?String(t):j[T.call(t)]||"object"}function Z(t){return"function"==L(t)}function $(t){return null!=t&&t==t.window}function _(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function R(t){return D(t)&&!$(t)&&Object.getPrototypeOf(t)==Object.prototype}function M(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function U(n,i,r){for(e in i)r&&(R(i[e])||A(i[e]))?(R(i[e])&&!R(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),U(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function B(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className,r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?n.parseJSON(t):t:e):t}catch(i){return t}}function G(t,e){e(t);for(var n in t.childNodes)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},T=j.toString,S={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return S.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~S.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},S.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1></$2>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),R(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},S.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},S.isZ=function(t){return t instanceof S.Z},S.init=function(e,i){var r;if(!e)return S.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=S.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(S.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=S.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}}return S.Z(r,e)},n=function(t,e){return S.init(t,e)},n.extend=
|
|
|
|
|
</script>
|
|
|
|
|
<script>/*!
|
|
|
|
|
* clipboard.js v1.5.3
|
|
|
|
|
* https://zenorocha.github.io/clipboard.js
|
|
|
|
|
*
|
|
|
|
|
* Licensed MIT © Zeno Rocha
|
|
|
|
|
*/
|
|
|
|
|
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,r){function o(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[a]={exports:{}};e[a][0].call(l.exports,function(t){var n=e[a][1][t];return o(n?n:t)},l,l.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(t,e,n){var r=t("matches-selector");e.exports=function(t,e,n){for(var o=n?t:t.parentNode;o&&o!==document;){if(r(o,e))return o;o=o.parentNode}}},{"matches-selector":2}],2:[function(t,e,n){function r(t,e){if(i)return i.call(t,e);for(var n=t.parentNode.querySelectorAll(e),r=0;r<n.length;++r)if(n[r]==t)return!0;return!1}var o=Element.prototype,i=o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector;e.exports=r},{}],3:[function(t,e,n){function r(t,e,n,r){var i=o.apply(this,arguments);return t.addEventListener(n,i),{destroy:function(){t.removeEventListener(n,i)}}}function o(t,e,n,r){return function(n){var o=i(n.target,e,!0);o&&(Object.defineProperty(n,"target",{value:o}),r.call(t,n))}}var i=t("closest");e.exports=r},{closest:1}],4:[function(t,e,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.function=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},{}],5:[function(t,e,n){function r(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.function(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return o(t,e,n);if(c.nodeList(t))return i(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function o(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function i(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return s(document.body,t,e,n)}var c=t("./is"),s=t("delegate");e.exports=r},{"./is":4,delegate:3}],6:[function(t,e,n){function r(t){var e;if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)t.select(),e=t.value;else{var n=window.getSelection(),r=document.createRange();r.selectNodeContents(t),n.removeAllRanges(),n.addRange(r),e=n.toString()}return e}e.exports=r},{}],7:[function(t,e,n){function r(){}r.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function r(){o.off(t,r),e.apply(n,arguments)}var o=this;return r._=e,this.on(t,r,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,o=n.length;for(r;o>r;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;a>i;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},e.exports=r},{}],8:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r)
|
|
|
|
|
<script>Zepto(function($) {
|
|
|
|
|
var $leftPanel = $('.left-panel');
|
|
|
|
|
var $frameContainer = $('.frames-container');
|
|
|
|
|
var $appFramesTab = $('#application-frames-tab');
|
|
|
|
|
var $allFramesTab = $('#all-frames-tab');
|
|
|
|
|
var $container = $('.details-container');
|
|
|
|
|
var $activeLine = $frameContainer.find('.frame.active');
|
|
|
|
|
var $activeFrame = $container.find('.frame-code.active');
|
|
|
|
|
var $ajaxEditors = $('.editor-link[data-ajax]');
|
|
|
|
|
var $header = $('header');
|
|
|
|
|
|
|
|
|
|
$header.on('mouseenter', function () {
|
|
|
|
|
if ($header.find('.exception').height() >= 145) {
|
|
|
|
|
$header.addClass('header-expand');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
$header.on('mouseleave', function () {
|
|
|
|
|
$header.removeClass('header-expand');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* add prettyprint classes to our current active codeblock
|
|
|
|
|
* run prettyPrint() to highlight the active code
|
|
|
|
|
* scroll to the line when prettyprint is done
|
|
|
|
|
* highlight the current line
|
|
|
|
|
*/
|
|
|
|
|
var renderCurrentCodeblock = function(id) {
|
|
|
|
|
|
|
|
|
|
// remove previous codeblocks so we only render the active one
|
|
|
|
|
$('.code-block').removeClass('prettyprint');
|
|
|
|
|
|
|
|
|
|
// pass the id in when we can for speed
|
|
|
|
|
if (typeof(id) === 'undefined' || typeof(id) === 'object') {
|
|
|
|
|
var id = /frame\-line\-([\d]*)/.exec($activeLine.attr('id'))[1];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$('#frame-code-linenums-' + id).addClass('prettyprint');
|
|
|
|
|
$('#frame-code-args-' + id).addClass('prettyprint');
|
|
|
|
|
|
|
|
|
|
prettyPrint(highlightCurrentLine);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Highlight the active and neighboring lines for the current frame
|
|
|
|
|
* Adjust the offset to make sure that line is veritcally centered
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
var highlightCurrentLine = function() {
|
|
|
|
|
var activeLineNumber = +($activeLine.find('.frame-line').text());
|
|
|
|
|
var $lines = $activeFrame.find('.linenums li');
|
|
|
|
|
var firstLine = +($lines.first().val());
|
|
|
|
|
|
|
|
|
|
// We show more code than needed, purely for proper syntax highlighting
|
|
|
|
|
// Let’s hide a big chunk of that code and then scroll the remaining block
|
|
|
|
|
$activeFrame.find('.code-block').first().css({
|
|
|
|
|
maxHeight: 345,
|
|
|
|
|
overflow: 'hidden',
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var $offset = $($lines[activeLineNumber - firstLine - 10]);
|
|
|
|
|
if ($offset.length > 0) {
|
|
|
|
|
$offset[0].scrollIntoView();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$($lines[activeLineNumber - firstLine - 1]).addClass('current');
|
|
|
|
|
$($lines[activeLineNumber - firstLine]).addClass('current active');
|
|
|
|
|
$($lines[activeLineNumber - firstLine + 1]).addClass('current');
|
|
|
|
|
|
|
|
|
|
$container.scrollTop(0);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* click handler for loading codeblocks
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
$frameContainer.on('click', '.frame', function() {
|
|
|
|
|
|
|
|
|
|
var $this = $(this);
|
|
|
|
|
var id = /frame\-line\-([\d]*)/.exec($this.attr('id'))[1];
|
|
|
|
|
var $codeFrame = $('#frame-code-' + id);
|
|
|
|
|
|
|
|
|
|
if ($codeFrame) {
|
|
|
|
|
|
|
|
|
|
$activeLine.removeClass('active');
|
|
|
|
|
$activeFrame.removeClass('active');
|
|
|
|
|
|
|
|
|
|
$this.addClass('active');
|
|
|
|
|
$codeFrame.addClass('active');
|
|
|
|
|
|
|
|
|
|
$activeLine = $this;
|
|
|
|
|
$activeFrame = $codeFrame;
|
|
|
|
|
|
|
|
|
|
renderCurrentCodeblock(id);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var clipboard = new Clipboard('.clipboard');
|
|
|
|
|
var showTooltip = function(elem, msg) {
|
|
|
|
|
elem.setAttribute('class', 'clipboard tooltipped tooltipped-s');
|
|
|
|
|
elem.setAttribute('aria-label', msg);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
clipboard.on('success', function(e) {
|
|
|
|
|
e.clearSelection();
|
|
|
|
|
|
|
|
|
|
showTooltip(e.trigger, 'Copied!');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
clipboard.on('error', function(e) {
|
|
|
|
|
showTooltip(e.trigger, fallbackMessage(e.action));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var btn = document.querySelector('.clipboard');
|
|
|
|
|
|
|
|
|
|
btn.addEventListener('mouseleave', function(e) {
|
|
|
|
|
e.currentTarget.setAttribute('class', 'clipboard');
|
|
|
|
|
e.currentTarget.removeAttribute('aria-label');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function fallbackMessage(action) {
|
|
|
|
|
var actionMsg = '';
|
|
|
|
|
var actionKey = (action === 'cut' ? 'X' : 'C');
|
|
|
|
|
|
|
|
|
|
if (/Mac/i.test(navigator.userAgent)) {
|
|
|
|
|
actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;
|
|
|
|
|
} else {
|
|
|
|
|
actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return actionMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function scrollIntoView($node, $parent) {
|
|
|
|
|
var nodeOffset = $node.offset();
|
|
|
|
|
var nodeTop = nodeOffset.top;
|
|
|
|
|
var nodeBottom = nodeTop + nodeOffset.height;
|
|
|
|
|
var parentScrollTop = $parent.scrollTop();
|
|
|
|
|
var parentHeight = $parent.height();
|
|
|
|
|
|
|
|
|
|
if (nodeTop < 0) {
|
|
|
|
|
$parent.scrollTop(parentScrollTop + nodeTop);
|
|
|
|
|
} else if (nodeBottom > parentHeight) {
|
|
|
|
|
$parent.scrollTop(parentScrollTop + nodeBottom - parentHeight);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$(document).on('keydown', function(e) {
|
|
|
|
|
var applicationFrames = $frameContainer.hasClass('frames-container-application'),
|
|
|
|
|
frameClass = applicationFrames ? '.frame.frame-application' : '.frame';
|
|
|
|
|
|
|
|
|
|
if(e.ctrlKey || e.which === 74 || e.which === 75) {
|
|
|
|
|
// CTRL+Arrow-UP/k and Arrow-Down/j support:
|
|
|
|
|
// 1) select the next/prev element
|
|
|
|
|
// 2) make sure the newly selected element is within the view-scope
|
|
|
|
|
// 3) focus the (right) container, so arrow-up/down (without ctrl) scroll the details
|
|
|
|
|
if (e.which === 38 /* arrow up */ || e.which === 75 /* k */) {
|
|
|
|
|
$activeLine.prev(frameClass).click();
|
|
|
|
|
scrollIntoView($activeLine, $leftPanel);
|
|
|
|
|
$container.focus();
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
} else if (e.which === 40 /* arrow down */ || e.which === 74 /* j */) {
|
|
|
|
|
$activeLine.next(frameClass).click();
|
|
|
|
|
scrollIntoView($activeLine, $leftPanel);
|
|
|
|
|
$container.focus();
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
}
|
|
|
|
|
} else if (e.which == 78 /* n */) {
|
|
|
|
|
if ($appFramesTab.length) {
|
|
|
|
|
setActiveFramesTab($('.frames-tab:not(.frames-tab-active)'));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Render late enough for highlightCurrentLine to be ready
|
|
|
|
|
renderCurrentCodeblock();
|
|
|
|
|
|
|
|
|
|
// Avoid to quit the page with some protocol (e.g. IntelliJ Platform REST API)
|
|
|
|
|
$ajaxEditors.on('click', function(e){
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
$.get(this.href);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Symfony VarDumper: Close the by default expanded objects
|
|
|
|
|
$('.sf-dump-expanded')
|
|
|
|
|
.removeClass('sf-dump-expanded')
|
|
|
|
|
.addClass('sf-dump-compact');
|
|
|
|
|
$('.sf-dump-toggle span').html('▶');
|
|
|
|
|
|
|
|
|
|
// Make the given frames-tab active
|
|
|
|
|
function setActiveFramesTab($tab) {
|
|
|
|
|
$tab.addClass('frames-tab-active');
|
|
|
|
|
|
|
|
|
|
if ($tab.attr('id') == 'application-frames-tab') {
|
|
|
|
|
$frameContainer.addClass('frames-container-application');
|
|
|
|
|
$allFramesTab.removeClass('frames-tab-active');
|
|
|
|
|
} else {
|
|
|
|
|
$frameContainer.removeClass('frames-container-application');
|
|
|
|
|
$appFramesTab.removeClass('frames-tab-active');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$('a.frames-tab').on('click', function(e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
setActiveFramesTab($(this));
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|