Last active
May 31, 2023 16:28
-
-
Save iegik/1289703 to your computer and use it in GitHub Desktop.
PHP Interactive Mode (not secure)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function error($e) | |
{ | |
switch($e['type']) | |
{ | |
case E_ERROR: // 1 // | |
return '<div class="alert alert-error"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-code icon-cog"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_WARNING: // 2 // | |
return '<div class="alert alert-warning"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-code icon-cog"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_PARSE: // 4 // | |
return '<div class="alert alert-error"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-parse icon-refresh"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_NOTICE: // 8 // | |
return '<div class="alert alert-notice"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-code icon-cog"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_CORE_ERROR: // 16 // | |
return '<div class="alert alert-error"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-core icon-heart"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_CORE_WARNING: // 32 // | |
return '<div class="alert alert-warning"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-core icon-heart"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_CORE_ERROR: // 64 // | |
return '<div class="alert alert-error"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-compile"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_CORE_WARNING: // 128 // | |
return '<div class="alert alert-warning"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-compile"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_USER_ERROR: // 256 // | |
return '<div class="alert alert-error"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-user"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_USER_WARNING: // 512 // | |
return '<div class="alert alert-warning"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-user"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_USER_NOTICE: // 1024 // | |
return '<div class="alert alert-notice"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-user"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_STRICT: // 2048 // | |
return '<div class="alert alert-error"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-strict icon-indent-left"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_RECOVERABLE_ERROR: // 4096 // | |
return '<div class="alert alert-error"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-recoverable icon-share-alt"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_DEPRECATED: // 8192 // | |
return '<div class="alert alert-warning"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-depricated icon-time"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
case E_USER_DEPRECATED: // 16384 // | |
return '<div class="alert alert-warning"><a class="close" data-dismiss="alert" href="#">×</a><p><i class="icon-user-depricated icon-user"></i>'.$e['message'].' on line '.$e['line'].'</p></div>'; | |
} | |
return ""; | |
} | |
if(@$s=@$_GET['s']?$_GET['s']:@$_POST['s'] && @$_POST || (@$_GET && @$_GET['embeded']) ){ | |
//require_once 'ChromePhp.php'; | |
if(!$r = eval ("?>$s")){ | |
$e = error_get_last(); | |
echo error($e); | |
}; | |
}else{?> | |
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"> | |
<link rel="stylesheet" href="http://iegik.github.com/css/code.css"> | |
<div class="container"> | |
<h1>PHP interpretator</h1> | |
<textarea id="source" class="php" placeholder="<?='Enter PHP code here';" cols="80" rows="25" style="width:100%;font-family: monospace;"></textarea> | |
<hr/> | |
<div id="result">Result will appear here</div> | |
<hr/> | |
<pre id="code"><span class="js-comment">/* Hightlited code will appear here */</span></pre> | |
</div> | |
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> | |
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> | |
<script src="http://iegik.github.com/js/hightlighter.min.js"></script> | |
<script> | |
$(function () { | |
String.prototype.escape = function () { | |
return this | |
.replace(/&/g, "&") | |
.replace(/</g, "<") | |
.replace(/>/g, ">") | |
; | |
} | |
$('#source').on('change', function () { | |
s = $(this).val() | |
$("#code").html(s.escape().hightlight()); | |
$.get(document.location.pathname + document.location.search, { | |
"s": s | |
}, function (d) { | |
$("#result").html(d); | |
}); | |
}); | |
}); | |
</script> | |
<?php }?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment