From 551a10bbf510e5b18490df92d06043cdf9f4bea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Sun, 20 Sep 2015 19:48:36 +0200 Subject: [PATCH] now shows fatal error message (if possible) --- index.php | 14 ++- php-console.js | 260 ++++++++++++++++++++++++------------------------- styles.css | 184 +++++++++++++++++----------------- 3 files changed, 239 insertions(+), 219 deletions(-) diff --git a/index.php b/index.php index 72f4119..360e67d 100644 --- a/index.php +++ b/index.php @@ -1,6 +1,16 @@ Loading ...'); /* loader sucks */ - - // store session - if (window.localStorage) { - localStorage.setItem('phpCode', editor.getSession().getValue()); - } - - // eval server-side - $.post('?js=1', { code: editor.getSession().getValue() }, function (res, status, jqXHR) { - var mem = jqXHR.getResponseHeader("X-Memory-Usage") || "", - rendertime = jqXHR.getResponseHeader("X-Rendertime") || ""; - - if (mem || rendertime) { - $('.statusbar .runtime-info').text('Memory usage: '+ mem + ' MB, Rendertime: ' + rendertime + 'ms'); - } else { - $('.statusbar .runtime-info').text(''); - } - - if (res.match(/#end-php-console-output#$/)) { - var result = res.substring(0, res.length - 24); - $('div.output').text(result); // or html? - } else { - $('div.output').text(res + "\n\n*** Script ended unexpectedly. ***"); - } - }); - }; - - handleAjaxError = function (event, jqxhr, settings, exception) { - $('div.output').html("Error occured while posting your code."); - }; - - initializeAce = function () { - var PhpMode, code, storedCode; - - code = $('#' + options.editor).text(); - - // reload last session - if (window.localStorage && code.match(/(<\?php)?\s*/)) { - storedCode = localStorage.getItem('phpCode'); - if (storedCode) { - code = storedCode; - } - } - - $('#' + options.editor).replaceWith('
'); - $('#' + options.editor).text(code); - - editor = ace.edit(options.editor); - - editor.focus(); - editor.gotoLine(3, 0); - editor.setTheme("ace/theme/monokai"); - editor.setOptions({ - showPrintMargin: false, - fontSize: '18px', - enableBasicAutocompletion: true, - fontFamily: 'Source Code Pro' - }); - - // set mode - PhpMode = require("ace/mode/php").Mode; - editor.getSession().setMode(new PhpMode()); - - // tab size - if (options.tabsize) { - editor.getSession().setTabSize(options.tabsize); - editor.getSession().setUseSoftTabs(true); - } else { - editor.getSession().setUseSoftTabs(false); - } - - // events - editor.getSession().selection.on('changeCursor', updateStatusBar); - - // reset button - if (window.localStorage) { - $('.statusbar .reset').on('click', function (e) { - editor.getSession().setValue(' Loading ...'); /* loader sucks */ + + // store session + if (window.localStorage) { + localStorage.setItem('phpCode', editor.getSession().getValue()); + } + + // eval server-side + $.post('?js=1', {code: editor.getSession().getValue()}, function (res, status, jqXHR) { + var mem = jqXHR.getResponseHeader("X-Memory-Usage") || "", + rendertime = jqXHR.getResponseHeader("X-Rendertime") || ""; + + if (mem || rendertime) { + $('.statusbar .runtime-info').text('Memory usage: ' + mem + ' MB, Rendertime: ' + rendertime + 'ms'); + } else { + $('.statusbar .runtime-info').text(''); + } + + if (res.match(/#end-php-console-output#$/)) { + var result = res.substring(0, res.length - 24); + $('div.output').text(result); // or html? + } else { + $('div.output').text(res + "\n\n*** Script ended unexpectedly. ***"); + } + }); + }; + + handleAjaxError = function (event, jqxhr, settings, exception) { + $('div.output').html("Error occured while posting your code." + jqxhr.responseText); + }; + + initializeAce = function () { + var PhpMode, code, storedCode; + + code = $('#' + options.editor).text(); + + // reload last session + if (window.localStorage && code.match(/(<\?php)?\s*/)) { + storedCode = localStorage.getItem('phpCode'); + if (storedCode) { + code = storedCode; + } + } + + $('#' + options.editor).replaceWith('
'); + $('#' + options.editor).text(code); + + editor = ace.edit(options.editor); + + editor.focus(); + editor.gotoLine(3, 0); + editor.setTheme("ace/theme/monokai"); + editor.setOptions({ + showPrintMargin: false, + fontSize: '18px', + enableBasicAutocompletion: true, + fontFamily: 'Source Code Pro' + }); + + // set mode + PhpMode = require("ace/mode/php").Mode; + editor.getSession().setMode(new PhpMode()); + + // tab size + if (options.tabsize) { + editor.getSession().setTabSize(options.tabsize); + editor.getSession().setUseSoftTabs(true); + } else { + editor.getSession().setUseSoftTabs(false); + } + + // events + editor.getSession().selection.on('changeCursor', updateStatusBar); + + // reset button + if (window.localStorage) { + $('.statusbar .reset').on('click', function (e) { + editor.getSession().setValue('