mirror of
https://github.com/bdnugget/php-wasm.git
synced 2026-11-07 09:07:28 +00:00
Removing hiccups in automatic build
This commit is contained in:
1 parent
dd7739553e
commit
1fdf27f549
17 files changed
+5501
-12292
No files matched your search
@@ -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
|
||||
|
||||
Whitespace-only changes.
@@ -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;
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
}
|
||||
Generated
+5432
-12168
File diff suppressed because it is too large.
Load diff
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
});
|
||||
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
.
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
@@ -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
@@ -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": {}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user