Removing hiccups in automatic build

This commit is contained in:
Sean Morris committed 2023-03-26 19:08:00 -04:00
1 parent dd7739553e
commit 1fdf27f549
17 files changed
+5501 -12292

No files matched your search

+2
View File
@@ -249,6 +249,8 @@ clean:
@ ${DOCKER_RUN} rm -rfv third_party/libxml2
@ ${DOCKER_RUN} rm -rfv third_party/libicu-src
@ ${DOCKER_RUN} rm -rfv third_party/sqlite3.33-src
@ ${DOCKER_RUN} rm -rfv dist/*
@ ${DOCKER_RUN} rm -rfv docs/php-*.js docs/php-*.wasm
show-ports:
@ ${DOCKER_RUN} emcc --show-ports
View File
Whitespace-only changes.
+2 -1
View File
@@ -13,6 +13,7 @@ path.match(/\/$/) || window.location.replace(
<script src = "//ajaxorg.github.io/ace-builds/src-min/ace.js"></script>
<script>require('initialize');</script>
</head>
<script type = "text/php">
<?php
$window = new \Vrzno;
@@ -21,7 +22,7 @@ $document = $window->document;
$h1 = $document->querySelector('h1');
$h1->addEventListener('click', function(){
vrzno_run('alert', ['lmao!']);
vrzno_run('alert', ['This alert was generated from PHP.' . PHP_EOL . 'View source > CTRL+F > "<script type = "text/php">"']);
$h1->style;
});
+3 -3
View File
@@ -9,13 +9,13 @@ if(!$x)
goto b;
}
echo 'Foo';
echo '2. Foo' . PHP_EOL;
goto c;
b:
echo 'Bar';
echo '1. Bar' . PHP_EOL;
if(!$x)
{
@@ -24,4 +24,4 @@ if(!$x)
}
c:
echo 'Baz';
echo '3. Baz' . PHP_EOL;
+5
View File
@@ -149,6 +149,7 @@ div.column .scroller {
height: 100%;
overflow-y: auto;
overflow-x: auto;
font-size: 0.9rem;
}
div.panel {
@@ -285,3 +286,7 @@ iframe {
input[type=file] {
display: none;
}
.header select {
font-size: 1rem;
}
+5432 -12168
View File
File diff suppressed because it is too large. Load diff
+5 -5
View File
@@ -10,16 +10,16 @@
},
"dependencies": {},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.7",
"@babel/preset-env": "^7.0.0",
"@babel/cli": "^7.21.0",
"@babel/core": "^7.21.0",
"@babel/preset-env": "^7.20.2",
"auto-reload-brunch": "^2.7.1",
"babel-brunch": "^7.0.1",
"babel-minify": "^0.5.1",
"babel-preset-es2015": "^6.24.1",
"brunch": "^3.0.0",
"brunch": "^4.0.2",
"clean-css-brunch": "^3.0.0",
"php-wasm": "^0.0.5",
"php-wasm": "^0.0.6",
"raw-brunch": "^1.0.2"
}
}
+11 -22
View File
@@ -117,7 +117,6 @@
(function() {
var global = typeof window === 'undefined' ? this : window;
var process;
var __makeRelativeRequire = function(require, mappings, pref) {
var none = {};
var tryReq = function(name, pref) {
@@ -149,6 +148,7 @@ var __makeRelativeRequire = function(require, mappings, pref) {
return require(name);
}
};
require.register("node_modules/process/browser.js", function(exports, require, module) {
require.register("process/browser.js", function(exports, require, module) {
require = __makeRelativeRequire(require, {}, "process");
@@ -339,25 +339,19 @@ process.chdir = function (dir) {
process.umask = function() { return 0; };
})();
});
});
require.register("DrupalWorker.js", function(exports, require, module) {
"use strict";
var _browser = require("process/browser");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
self.addEventListener('install', function (event) {
console.log('Install');
self.skipWaiting();
@@ -372,17 +366,14 @@ self.addEventListener('fetch', function (event) {
var pathname = url.pathname.replace(/^\//, '');
var path = pathname.split('/');
console.log(path);
if (!path[path.length - 1].match(/\.\w+$/) && (path[1] === 'drupal-7.59' || path[2] === 'drupal-7.59')) {
var getClient = self.clients.matchAll({
includeUncontrolled: true
});
var getPost = event.request.method !== 'POST' ? Promise.resolve() : event.request.formData().then(function (formData) {
var post = {};
var _iterator = _createForOfIteratorHelper(formData.keys()),
_step;
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var key = _step.value;
@@ -393,14 +384,12 @@ self.addEventListener('fetch', function (event) {
} finally {
_iterator.f();
}
return post;
});
return Promise.all([getClient, getPost]).then(function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
clients = _ref2[0],
post = _ref2[1];
clients = _ref2[0],
post = _ref2[1];
clients.forEach(function (client) {
client.postMessage({
method: event.request.method,
@@ -423,7 +412,7 @@ self.addEventListener('push', function (event) {
});
require.alias("process/browser.js", "process");process = require('process');require.register("___globals___", function(exports, require, module) {
require.register("___globals___", function(exports, require, module) {
});})();require('___globals___');
+1 -1
View File
@@ -1 +1 @@
@font-face{src:url(fsex302-webfont.woff) format('woff');font-weight:400;font-style:normal;font-family:fixedsys}body{font-family:fixedsys;display:flex;flex-direction:column;align-items:stretch;height:100vh;padding:0;margin:0;background-color:#aaa}.output .scroller{background-color:#eee}.output div.scroller{white-space:pre}.output .row{background-color:#fff;padding:.5em .5em;border-bottom:1px #fff solid}.row.toolbar{margin:.5em;padding:.5em 0;border:2px solid;border-image:url(border-inset.png) 2 2 2 2;align-items:center}.row.toolbar>div{display:flex;justify-content:flex-end;padding:0 .5em;flex:1;flex-direction:row}.row.toolbar>div .start{align-items:center;flex:1}.row.toolbar button[data-run]{padding:.75em;font-weight:700;border:2px solid;align-self:center;margin-right:.5em}button{border-image:url(border.png) 2 2 2 2}button[data-run]:not([disabled])::after{position:absolute;top:-2px;left:-2px;bottom:-2px;right:-2px;content:'';background-color:red!important;mix-blend-mode:darken;opacity:.5}.header button[data-run]{position:relative;font-weight:700;font-size:13pt;box-sizing:border-box}:focus{outline-style:dotted;outline-color:#000}.row:focus{background-color:#000082;border-bottom:1px #000082 solid;color:#fff}.row.toolbar.header{background-color:#bbb}.row.toolbar.status{padding:0}.row.toolbar.status>div{padding:.25em}h1{margin:0;margin:.25em;white-space:nowrap}.row{display:flex;flex-direction:row}body>div{display:flex;flex-direction:row}.row.body{flex-grow:1}.collapse{flex-grow:0;flex-shrink:1}div.column{position:relative;flex:1}div.column .scroller{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow-y:auto;overflow-x:auto}div.panel{font-family:fixedsys;display:flex;position:relative;background-color:#aaa;flex-direction:column;box-sizing:border-box;margin:.5em;flex:1;border-right:1px solid rgba(0,0,0,.5);border-bottom:1px solid rgba(0,0,0,.5)}div.panel div.input{background-color:#272822}div.panel>div{background-color:#fff;border:2px solid;border-image:url(border-inset.png) 2 2 2 2;flex-direction:column;display:flex;flex:1}.liquid{display:flex;flex-direction:column;flex:1}.panel label,button{user-select:none;border:2px solid;border-image:url(border.png) 2 2 2 2!important;background-color:#c3c3c3;padding:.25em}.input,.output .scroller,iframe{user-select:normal}.panel .cols{margin-top:-1px}.panel label[tabindex]:first-child{margin-left:-1px}.panel .cols>label[tabindex]:last-child{margin-right:-3px}.ace_editor{margin-right:-2px}button:active,label[tabindex]:active{border:2px solid;border-image:url(border-inset.png) 2 2 2 2!important;position:relative;z-index:100}.header label{display:flex;align-items:center;justify-content:flex-end}.header label p{text-align:right}pre{flex:1;margin-top:0;margin-bottom:0}.round{border-radius:50%;height:49px;margin-right:5px}.credit{padding-right:.5em;padding-left:.5em}.column .row{white-space:pre}.cols{display:flex;flex-direction:row!important}.rows{display:flex;flex-direction:column!important}.cols label{flex:1}label{user-select:none}.collapse{flex:0!important;white-space:nowrap}.header.row{align-items:flex-start}iframe{border:none}input[type=file]{display:none}
@font-face{src:url(fsex302-webfont.woff) format('woff');font-weight:400;font-style:normal;font-family:fixedsys}body{font-family:fixedsys;display:flex;flex-direction:column;align-items:stretch;height:100vh;padding:0;margin:0;background-color:#aaa}.output .scroller{background-color:#eee}.output div.scroller{white-space:pre}.output .row{background-color:#fff;padding:.5em .5em;border-bottom:1px #fff solid}.row.toolbar{margin:.5em;padding:.5em 0;border:2px solid;border-image:url(border-inset.png) 2 2 2 2;align-items:center}.row.toolbar>div{display:flex;justify-content:flex-end;padding:0 .5em;flex:1;flex-direction:row}.row.toolbar>div .start{align-items:center;flex:1}.row.toolbar button[data-run]{padding:.75em;font-weight:700;border:2px solid;align-self:center;margin-right:.5em}button{border-image:url(border.png) 2 2 2 2}button[data-run]:not([disabled])::after{position:absolute;top:-2px;left:-2px;bottom:-2px;right:-2px;content:'';background-color:red!important;mix-blend-mode:darken;opacity:.5}.header button[data-run]{position:relative;font-weight:700;font-size:13pt;box-sizing:border-box}:focus{outline-style:dotted;outline-color:#000}.row:focus{background-color:#000082;border-bottom:1px #000082 solid;color:#fff}.row.toolbar.header{background-color:#bbb}.row.toolbar.status{padding:0}.row.toolbar.status>div{padding:.25em}h1{margin:0;margin:.25em;white-space:nowrap}.row{display:flex;flex-direction:row}body>div{display:flex;flex-direction:row}.row.body{flex-grow:1}.collapse{flex-grow:0;flex-shrink:1}div.column{position:relative;flex:1}div.column .scroller{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow-y:auto;overflow-x:auto;font-size:.9rem}div.panel{font-family:fixedsys;display:flex;position:relative;background-color:#aaa;flex-direction:column;box-sizing:border-box;margin:.5em;flex:1;border-right:1px solid rgba(0,0,0,.5);border-bottom:1px solid rgba(0,0,0,.5)}div.panel div.input{background-color:#272822}div.panel>div{background-color:#fff;border:2px solid;border-image:url(border-inset.png) 2 2 2 2;flex-direction:column;display:flex;flex:1}.liquid{display:flex;flex-direction:column;flex:1}.panel label,button{user-select:none;border:2px solid;border-image:url(border.png) 2 2 2 2!important;background-color:#c3c3c3;padding:.25em}.input,.output .scroller,iframe{user-select:normal}.panel .cols{margin-top:-1px}.panel label[tabindex]:first-child{margin-left:-1px}.panel .cols>label[tabindex]:last-child{margin-right:-3px}.ace_editor{margin-right:-2px}button:active,label[tabindex]:active{border:2px solid;border-image:url(border-inset.png) 2 2 2 2!important;position:relative;z-index:100}.header label{display:flex;align-items:center;justify-content:flex-end}.header label p{text-align:right}pre{flex:1;margin-top:0;margin-bottom:0}.round{border-radius:50%;height:49px;margin-right:5px}.credit{padding-right:.5em;padding-left:.5em}.column .row{white-space:pre}.cols{display:flex;flex-direction:row!important}.rows{display:flex;flex-direction:column!important}.cols label{flex:1}label{user-select:none}.collapse{flex:0!important;white-space:nowrap}.header.row{align-items:flex-start}iframe{border:none}input[type=file]{display:none}.header select{font-size:1rem}
+29 -82
View File
@@ -117,7 +117,6 @@
(function() {
var global = typeof window === 'undefined' ? this : window;
var process;
var __makeRelativeRequire = function(require, mappings, pref) {
var none = {};
var tryReq = function(name, pref) {
@@ -522,7 +521,7 @@ require.register("php-wasm/php-web-drupal.js", function(exports, require, module
function(PHP) {
PHP = PHP || {};
var Module=typeof PHP!=="undefined"?PHP:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="../../build/php-web-drupal.data";var REMOTE_PACKAGE_BASE="php-web-drupal.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","preload",true,true);Module["FS_createPath"]("/preload","drupal-7.59",true,true);Module["FS_createPath"]("/preload/drupal-7.59","includes",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes","filetransfer",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes","database",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","sqlite",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","mysql",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","pgsql",true,true);Module["FS_createPath"]("/preload/drupal-7.59","themes",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","stark",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","garland",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/garland","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/garland","color",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","engines",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/engines","phptemplate",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","seven",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/seven","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","bartik",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","color",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","css",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","templates",true,true);Module["FS_createPath"]("/preload/drupal-7.59","scripts",true,true);Module["FS_createPath"]("/preload/drupal-7.59","modules",true,true);Module["FS_createPath"]("/preload/drupal-7.59/modules","simpletest",true,true);Module["FS_createPath"]("/preload/dLine truncated
var Module=typeof PHP!=="undefined"?PHP:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="../../build/php-web-drupal.data";var REMOTE_PACKAGE_BASE="php-web-drupal.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","preload",true,true);Module["FS_createPath"]("/preload","drupal-7.59",true,true);Module["FS_createPath"]("/preload/drupal-7.59","includes",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes","filetransfer",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes","database",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","sqlite",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","mysql",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","pgsql",true,true);Module["FS_createPath"]("/preload/drupal-7.59","themes",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","stark",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","garland",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/garland","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/garland","color",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","engines",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/engines","phptemplate",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","seven",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/seven","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","bartik",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","color",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","css",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","templates",true,true);Module["FS_createPath"]("/preload/drupal-7.59","scripts",true,true);Module["FS_createPath"]("/preload/drupal-7.59","modules",true,true);Module["FS_createPath"]("/preload/drupal-7.59/modules","simpletest",true,true);Module["FS_createPath"]("/preload/dLine truncated
return PHP.ready
@@ -541,20 +540,16 @@ require.register("initialize.js", function(exports, require, module) {
"use strict";
var _PhpWebDrupal = require("php-wasm/PhpWebDrupal");
function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
window.PHP = _PhpWebDrupal.PhpWebDrupal;
var php = new _PhpWebDrupal.PhpWebDrupal();
var session_id = '';
var serviceWorker = navigator.serviceWorker;
if (serviceWorker) {
serviceWorker.register("".concat(location.pathname, "DrupalWorker.js")); // .then(result => console.log('Result, ', result))
serviceWorker.register("".concat(location.pathname, "DrupalWorker.js"));
// .then(result => console.log('Result, ', result))
// .catch(error => console.log('Error, ', error));
}
@@ -582,35 +577,27 @@ document.addEventListener('DOMContentLoaded', function () {
var renderAs = Array.from(document.querySelectorAll('[name=render-as]'));
openFile.addEventListener('input', function (event) {
var reader = new FileReader();
reader.onload = function (event) {
editor.setValue(event.target.result);
};
reader.readAsText(event.target.files[0]);
});
var runCode = function runCode() {
exitLabel.innerText = '_';
status.innerText = 'Executing...';
stdoutFrame.srcdoc = ' ';
stderrFrame.srcdoc = ' ';
stdretFrame.srcdoc = ' ';
while (stdout.firstChild) {
stdout.firstChild.remove();
}
while (stderr.firstChild) {
stderr.firstChild.remove();
}
while (stdret.firstChild) {
stdret.firstChild.remove();
}
var code = editor.session.getValue();
if (code.length < 1024 * 2) {
query.set('autorun', autorun.checked ? 1 : 0);
query.set('persist', persistBox.checked ? 1 : 0);
@@ -618,21 +605,17 @@ document.addEventListener('DOMContentLoaded', function () {
query.set('code', encodeURIComponent(code));
history.replaceState({}, document.title, "?" + query.toString());
}
var func = singleBox.checked ? 'exec' : 'run';
if (singleBox.checked) {
code = code.replace(/^\s*<\?php/, '');
code = code.replace(/\?>\s*/, '');
}
php[func](code).then(function (ret) {
status.innerText = 'php-wasm ready!';
var content = String(ret);
stdret.innerText = content;
stdretFrame.srcdoc = content;
exitLabel.innerText = '_';
if (!singleBox.checked) {
setTimeout(function () {
return exitLabel.innerText = ret;
@@ -644,30 +627,24 @@ document.addEventListener('DOMContentLoaded', function () {
}
});
};
load.addEventListener('click', function (event) {
if (!demo.value) {
return;
}
fetch("/php-wasm/scripts/".concat(demo.value)).then(function (r) {
return r.text();
}).then(function (php) {
var firstLine = String(php.split(/\n/).shift());
var settings = JSON.parse(firstLine.split('//').pop());
if ('autorun' in settings) {
autorun.checked = !!settings.autorun;
}
if ('single-expression' in settings) {
singleBox.checked = !!settings['single-expression'];
}
if ('persist' in settings) {
persistBox.checked = !!settings.persist;
}
if ('render-as' in settings) {
if (settings['render-as'] === 'text') {
renderAs[0].checked = true;
@@ -679,7 +656,6 @@ document.addEventListener('DOMContentLoaded', function () {
query.set('render-as', 'html');
}
}
persistBox.dispatchEvent(new Event('change'));
singleBox.dispatchEvent(new Event('input'));
autorun.dispatchEvent(new Event('change'));
@@ -694,31 +670,27 @@ document.addEventListener('DOMContentLoaded', function () {
editor.setTheme('ace/theme/monokai');
editor.session.setMode("ace/mode/php");
status.innerText = 'php-wasm loading...';
var navigate = function navigate(_ref) {
var path = _ref.path,
method = _ref.method,
_GET = _ref._GET,
_POST = _ref._POST;
method = _ref.method,
_GET = _ref._GET,
_POST = _ref._POST;
// console.trace({path, method, _GET, _POST});
exitLabel.innerText = '_';
status.innerText = 'Executing...';
stdoutFrame.srcdoc = ' ';
stderrFrame.srcdoc = ' ';
stdretFrame.srcdoc = ' ';
while (stdout.firstChild) {
stdout.firstChild.remove();
}
while (stderr.firstChild) {
stderr.firstChild.remove();
}
while (stdret.firstChild) {
stdret.firstChild.remove();
}
var code = "<?php\nini_set('session.save_path', '/home/web_user');\n\n$stdErr = fopen('php://stderr', 'w');\n$errors = [];\n\nfwrite($stdErr, isset($_SESSION) && json_encode(['session' => $_SESSION]) . \"\n\");\n\nregister_shutdown_function(function() use($stdErr){\n\tfwrite($stdErr, json_encode(['session_id' => session_id()]) . \"\n\");\n\tfwrite($stdErr, json_encode(['headers'=>headers_list()]) . \"\n\");\n\tfwrite($stdErr, json_encode(['errors' => error_get_last()]) . \"\n\");\n\tfwrite($stdErr, json_encode(['session' => $_SESSION]) . \"\n\");\n});\n\nset_error_handler(function(...$args) use($stdErr, &$errors){\n\tfwrite($stdErr, json_encode($args, JSON_PRETTY_PRINT) . \"\n\" );\n});\n\n$request = (object) json_decode(\n\t'".concat(JSON.stringify({
path: path,
method: method,
@@ -734,14 +706,12 @@ document.addEventListener('DOMContentLoaded', function () {
}
});
};
php.addEventListener('ready', function (event) {
if (serviceWorker) {
serviceWorker.addEventListener('message', function (event) {
return navigate(event.data);
});
}
status.innerText = 'php-wasm ready!';
run.removeAttribute('disabled');
token && token.addEventListener('click', function () {
@@ -756,7 +726,6 @@ document.addEventListener('DOMContentLoaded', function () {
});
});
run.addEventListener('click', runCode);
if (query.get('autorun')) {
runCode();
}
@@ -768,61 +737,52 @@ document.addEventListener('DOMContentLoaded', function () {
outputBuffer.push(content);
setTimeout(function () {
var chunk = outputBuffer.join('');
if (!outputBuffer || !chunk) {
return;
}
if (location.hostname.match(/github.io$/)) {
chunk = chunk.replace(/\/preload/g, '/php-wasm/preload');
}
var node = document.createTextNode(chunk);
stdout.append(node);
stdoutFrame.srcdoc += chunk;
while (outputBuffer.pop()) {}
;
}, 500);
});
var errorBuffer = [];
php.addEventListener('error', function (event) {
var content = event.detail.join(" ");
try {
var headers = JSON.parse(content);
if (headers.session_id) {
session_id = headers.session_id;
}
if (headers.headers) {
var _iterator = _createForOfIteratorHelper(headers.headers),
_step;
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var _loop = function _loop() {
var header = _step.value;
var splitAt = header.indexOf(':');
var _ref2 = [header.substring(0, splitAt), header.substring(splitAt + 2)],
name = _ref2[0],
value = _ref2[1];
name = _ref2[0],
value = _ref2[1];
if (name === 'Location') {
(function () {
console.log(value);
var redirectUrl = new URL(value);
setTimeout(function () {
return navigate({
method: 'GET',
path: redirectUrl.pathname,
_GET: '',
_POST: {}
});
}, 2000);
})();
console.log(value);
var redirectUrl = new URL(value);
setTimeout(function () {
return navigate({
method: 'GET',
path: redirectUrl.pathname,
_GET: '',
_POST: {}
});
}, 2000);
}
};
for (_iterator.s(); !(_step = _iterator.n()).done;) {
_loop();
}
} catch (err) {
_iterator.e(err);
@@ -831,27 +791,21 @@ document.addEventListener('DOMContentLoaded', function () {
}
}
} catch (error) {}
var _iterator2 = _createForOfIteratorHelper(content),
_step2;
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var line = _step2.value;
errorBuffer.push(line);
setTimeout(function () {
var chunk = errorBuffer.join('');
if (!errorBuffer || !chunk) {
return;
}
var node = document.createTextNode(chunk);
stderr.append(node);
stderrFrame.srcdoc += chunk;
while (errorBuffer.pop()) {}
;
}, 500);
}
@@ -872,19 +826,15 @@ document.addEventListener('DOMContentLoaded', function () {
}
});
exitLabel.innerText = '_';
if (query.has('code')) {
editor.setValue(decodeURIComponent(query.get('code')));
}
if (query.has('render-as')) {
document.querySelector("[name=render-as][value=".concat(query.get('render-as'), "]")).checked = true;
}
autorun.checked = Number(query.get('autorun'));
persistBox.checked = Number(query.get('persist'));
singleBox.checked = Number(query.get('single-expression'));
if (singleBox.checked) {
exitBox.style.display = 'none';
ret.style.display = 'flex';
@@ -892,7 +842,6 @@ document.addEventListener('DOMContentLoaded', function () {
exitBox.style.display = 'flex';
ret.style.display = 'none';
}
setTimeout(function () {
return editor.selection.moveCursorFileStart();
}, 150);
@@ -912,12 +861,10 @@ document.addEventListener('DOMContentLoaded', function () {
stdret.style.display = 'flex';
stdretFrame.style.display = 'none';
}
radio.addEventListener('change', function (event) {
var type = event.target.value;
query.set('render-as', type);
history.replaceState({}, document.title, "?" + query.toString());
if (type === 'html') {
stdout.style.display = 'none';
stdoutFrame.style.display = 'flex';
@@ -939,7 +886,7 @@ document.addEventListener('DOMContentLoaded', function () {
});
require.alias("process/browser.js", "process");process = require('process');require.register("___globals___", function(exports, require, module) {
require.register("___globals___", function(exports, require, module) {
});})();require('___globals___');
+1 -2
View File
@@ -117,7 +117,6 @@
(function() {
var global = typeof window === 'undefined' ? this : window;
var process;
var __makeRelativeRequire = function(require, mappings, pref) {
var none = {};
var tryReq = function(name, pref) {
@@ -157,7 +156,7 @@ module.exports = "<?php\nini_set('session.save_path', '/home/web_user');\nsessio
module.exports = "<?php\nini_set('session.save_path', '/home/web_user');\nsession_id('fake-cookie');\nsession_start();\n\n$stdErr = fopen('php://stderr', 'w');\n$errors = [];\n\nfwrite($stdErr, json_encode(['session' => $_SESSION]) . \"\\n\");\n\nregister_shutdown_function(function() use($stdErr){\n\tfwrite($stdErr, json_encode(['session_id' => session_id()]) . \"\\n\");\n\tfwrite($stdErr, json_encode(['headers'=>headers_list()]) . \"\\n\");\n\tfwrite($stdErr, json_encode(['errors' => error_get_last()]) . \"\\n\");\n\tfwrite($stdErr, json_encode(['session' => $_SESSION]) . \"\\n\");\n});\n\nset_error_handler(function(...$args) use($stdErr, &$errors){\n\tfwrite($stdErr, json_encode($args, JSON_PRETTY_PRINT) . \"\\n\" );\n});\n\n$request = (object) json_decode(\n\t'${ JSON.stringify({path, method, _GET, _POST}) }'\n\t, JSON_OBJECT_AS_ARRAY\n);\n\nparse_str(substr($request->_GET, 1), $_GET);\n\n$_POST = $request->_POST;\n\n$origin = 'http://localhost:3333';\n$docroot = '/preload/drupal-7.59';\n$script = 'index.php';\n\n$path = $request->path;\n$path = preg_replace('/^\\\\/php-wasm/', '', $path);\n\n$_SERVER['REQUEST_URI'] = $path;\n$_SERVER['REMOTE_ADDR'] = '127.0.0.1';\n$_SERVER['SERVER_NAME'] = $origin;\n$_SERVER['SERVER_PORT'] = 3333;\n$_SERVER['REQUEST_METHOD'] = $request->method;\n$_SERVER['SCRIPT_FILENAME'] = $docroot . '/' . $script;\n$_SERVER['SCRIPT_NAME'] = $docroot . '/' . $script;\n$_SERVER['PHP_SELF'] = $docroot . '/' . $script;\n$_SERVER['DOCUMENT_ROOT'] = '/';\n$_SERVER['HTTPS'] = '';\n\nchdir($docroot);\n\ndefine('DRUPAL_ROOT', getcwd());\n\nrequire_once DRUPAL_ROOT . '/includes/bootstrap.inc';\ndrupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);\n\n$uid = 1;\n$user = user_load($uid);\n$account = array('uid' => $user->uid);\nuser_login_submit(array(), $account);\n\n$itemPath = $path;\n$itemPath = preg_replace('/^\\\\/preload/', '', $itemPath);\n$itemPath = preg_replace('/^\\\\/drupal-7.59/', '', $itemPath);\n$itemPath = preg_replace('/^\\\\//', '', $itemPath);\n\nif($itemPath && (substr($itemPath, 0, 4) !== 'node' || substr($itemPath, -4) === 'edit'))\n{\n $router_item = menu_get_item($itemPath);\n $router_item['access_callback'] = true;\n $router_item['access'] = true;\n\n if ($router_item['include_file']) {\n require_once DRUPAL_ROOT . '/' . $router_item['include_file'];\n }\n\n $page_callback_result = call_user_func_array($router_item['page_callback'], unserialize($router_item['page_arguments']));\n\n drupal_deliver_page($page_callback_result);\n}\nelse\n{\n menu_execute_active_handler();\n}\n"
});
;require.alias("process/browser.js", "process");process = require('process');require.register("___globals___", function(exports, require, module) {
;require.register("___globals___", function(exports, require, module) {
});})();require('___globals___');
+2 -1
View File
@@ -13,6 +13,7 @@ path.match(/\/$/) || window.location.replace(
<script src = "//ajaxorg.github.io/ace-builds/src-min/ace.js"></script>
<script>require('initialize');</script>
</head>
<script type = "text/php">
<?php
$window = new \Vrzno;
@@ -21,7 +22,7 @@ $document = $window->document;
$h1 = $document->querySelector('h1');
$h1->addEventListener('click', function(){
vrzno_run('alert', ['lmao!']);
vrzno_run('alert', ['This alert was generated from PHP.' . PHP_EOL . 'View source > CTRL+F > "<script type = "text/php">"']);
$h1->style;
});
+1
View File
@@ -0,0 +1 @@
.
+1 -1
View File
@@ -6,7 +6,7 @@ var PHP = (function() {
function(PHP) {
PHP = PHP || {};
var Module=typeof PHP!=="undefined"?PHP:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="../../build/php-web-drupal.data";var REMOTE_PACKAGE_BASE="php-web-drupal.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","preload",true,true);Module["FS_createPath"]("/preload","drupal-7.59",true,true);Module["FS_createPath"]("/preload/drupal-7.59","includes",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes","filetransfer",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes","database",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","sqlite",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","mysql",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","pgsql",true,true);Module["FS_createPath"]("/preload/drupal-7.59","themes",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","stark",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","garland",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/garland","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/garland","color",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","engines",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/engines","phptemplate",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","seven",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/seven","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","bartik",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","color",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","css",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","templates",true,true);Module["FS_createPath"]("/preload/drupal-7.59","scripts",true,true);Module["FS_createPath"]("/preload/drupal-7.59","modules",true,true);Module["FS_createPath"]("/preload/drupal-7.59/modules","simpletest",true,true);Module["FS_createPath"]("/preload/dLine truncated
var Module=typeof PHP!=="undefined"?PHP:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="../../build/php-web-drupal.data";var REMOTE_PACKAGE_BASE="php-web-drupal.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];var PACKAGE_UUID=metadata["package_uuid"];function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","preload",true,true);Module["FS_createPath"]("/preload","drupal-7.59",true,true);Module["FS_createPath"]("/preload/drupal-7.59","includes",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes","filetransfer",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes","database",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","sqlite",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","mysql",true,true);Module["FS_createPath"]("/preload/drupal-7.59/includes/database","pgsql",true,true);Module["FS_createPath"]("/preload/drupal-7.59","themes",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","stark",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","garland",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/garland","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/garland","color",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","engines",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/engines","phptemplate",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","seven",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/seven","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes","bartik",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","images",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","color",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","css",true,true);Module["FS_createPath"]("/preload/drupal-7.59/themes/bartik","templates",true,true);Module["FS_createPath"]("/preload/drupal-7.59","scripts",true,true);Module["FS_createPath"]("/preload/drupal-7.59","modules",true,true);Module["FS_createPath"]("/preload/drupal-7.59/modules","simpletest",true,true);Module["FS_createPath"]("/preload/dLine truncated
return PHP.ready
BIN
View File
Binary file not shown.
+3 -3
View File
@@ -9,13 +9,13 @@ if(!$x)
goto b;
}
echo 'Foo';
echo '2. Foo' . PHP_EOL;
goto c;
b:
echo 'Bar';
echo '1. Bar' . PHP_EOL;
if(!$x)
{
@@ -24,4 +24,4 @@ if(!$x)
}
c:
echo 'Baz';
echo '3. Baz' . PHP_EOL;
+3 -3
View File
@@ -3,8 +3,9 @@
"description": "Run PHP right in the browser.",
"repository": "https://github.com/seanmorris/pib",
"author": "Oraoto <oraoto@outlook.com>",
"version": "0.0.5",
"version": "0.0.6",
"license": "Apache-2.0",
"dependencies": {},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.7",
@@ -51,6 +52,5 @@
"php-webview.data",
"UniqueIndex.js",
"ZVal.js"
],
"dependencies": {}
]
}