(function () { function c(g) { var e = {}, f = g.split(" "); for (var d = 0; d < f.length; ++d) { e[f[d]] = true } return e } function a(d) { return function (f, e) { if (f.match(d)) { e.tokenize = null } else { f.skipToEnd() } return"string" } } var b = {name: "clike", keywords: c("abstract and array as break case catch cfunction class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw try use var while xor returndie echo empty exit eval include include_once isset list require require_once print unset"), blockKeywords: c("catch do else elseif for foreach if switch try while"), atoms: c("true false null TRUE FALSE NULL"), multiLineStrings: true, hooks: {"$": function (e, d) { e.eatWhile(/[\w\$_]/); return"variable-2" }, "<": function (e, d) { if (e.match(/</; l.mode = "php" } else { if (k == "tag" && m.current() == ">" && l.curState.context) { if (/^script$/i.test(l.curState.context.tagName)) { l.curMode = i; l.curState = i.startState(j.indent(l.curState, "")); l.curClose = /^<\/\s*script\s*>/i; l.mode = "javascript" } else { if (/^style$/i.test(l.curState.context.tagName)) { l.curMode = g; l.curState = g.startState(j.indent(l.curState, "")); l.curClose = /^<\/\s*style\s*>/i; l.mode = "css" } } } } return k } else { if (m.match(l.curClose, false)) { l.curMode = j; l.curState = l.html; l.curClose = null; l.mode = "html"; return e(m, l) } else { return l.curMode.token(m, l.curState) } } } return{startState: function () { var k = j.startState(); return{html: k, php: d.startState(), curMode: h.startOpen ? d : j, curState: h.startOpen ? d.startState() : k, curClose: h.startOpen ? /^\?>/ : null, mode: h.startOpen ? "php" : "html"} }, copyState: function (n) { var l = n.html, m = CodeMirror.copyState(j, l), p = n.php, k = CodeMirror.copyState(d, p), o; if (n.curState == l) { o = m } else { if (n.curState == p) { o = k } else { o = CodeMirror.copyState(n.curMode, n.curState) } } return{html: m, php: k, curMode: n.curMode, curState: o, curClose: n.curClose, mode: n.mode} }, token: e, indent: function (l, k) { if ((l.curMode != d && /^\s*<\//.test(k)) || (l.curMode == d && /^\?>/.test(k))) { return j.indent(l.html, k) } return l.curMode.indent(l.curState, k) }, electricChars: "/{}:"} }); CodeMirror.defineMIME("application/x-httpd-php", "php"); CodeMirror.defineMIME("application/x-httpd-php-open", {name: "php", startOpen: true}); CodeMirror.defineMIME("text/x-php", b) })();