|
|
|
@ -1,3 +1,5 @@ |
|
|
|
|
/*jslint browser: true */ |
|
|
|
|
/*global ace, jQuery */ |
|
|
|
|
/** |
|
|
|
|
* PHP Console |
|
|
|
|
* |
|
|
|
@ -14,7 +16,7 @@ |
|
|
|
|
(function (require, $, ace) { |
|
|
|
|
"use strict"; |
|
|
|
|
|
|
|
|
|
var updateStatusBar, prepareClippyButton, refreshKrumoState, handleSubmit, initializeAce, |
|
|
|
|
var updateStatusBar, prepareClippyButton, refreshKrumoState, handleSubmit, initializeAce, handleAjaxError, |
|
|
|
|
options, editor; |
|
|
|
|
options = { |
|
|
|
|
tabsize: 4, |
|
|
|
@ -66,6 +68,12 @@ |
|
|
|
|
e.preventDefault(); |
|
|
|
|
$('div.output').html('<img src="loader.gif" class="loader" alt="" /> Loading ...'); |
|
|
|
|
|
|
|
|
|
// store session
|
|
|
|
|
if (window.localStorage) { |
|
|
|
|
localStorage.setItem('phpCode', editor.getSession().getValue()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// eval server-side
|
|
|
|
|
$.post('?js=1', { code: editor.getSession().getValue() }, function (res) { |
|
|
|
|
if (res.match(/#end-php-console-output#$/)) { |
|
|
|
|
$('div.output').html(res.substring(0, res.length - 24)); |
|
|
|
@ -82,9 +90,18 @@ |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
initializeAce = function () { |
|
|
|
|
var PhpMode, code; |
|
|
|
|
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('<div id="' + options.editor + '" class="' + options.editor + '"></div>'); |
|
|
|
|
$('#' + options.editor).text(code); |
|
|
|
|
|
|
|
|
@ -107,6 +124,17 @@ |
|
|
|
|
editor.getSession().selection.on('changeSelection', prepareClippyButton); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// reset button
|
|
|
|
|
if (window.localStorage) { |
|
|
|
|
$('.statusbar .reset').on('click', function (e) { |
|
|
|
|
editor.getSession().setValue('<?php\n\n'); |
|
|
|
|
editor.focus(); |
|
|
|
|
editor.gotoLine(3, 0); |
|
|
|
|
window.localStorage.setItem('phpCode', ''); |
|
|
|
|
e.preventDefault(); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// commands
|
|
|
|
|
editor.commands.addCommand({ |
|
|
|
|
name: 'submitForm', |
|
|
|
|