Moved PhpDeserialize.js to PHP.js to encompass possible future PHP-related ops
parent
cfb6dd9471
commit
fe8049199a
|
@ -66,7 +66,6 @@ const Categories = [
|
|||
"Encode text",
|
||||
"Decode text",
|
||||
"Swap endianness",
|
||||
"PHP Deserialize",
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -289,6 +288,7 @@ const Categories = [
|
|||
"XPath expression",
|
||||
"JPath expression",
|
||||
"CSS selector",
|
||||
"PHP Deserialize",
|
||||
"Microsoft Script Decoder",
|
||||
"Strip HTML tags",
|
||||
"Diff",
|
||||
|
|
|
@ -26,6 +26,7 @@ import JS from "../operations/JS.js";
|
|||
import MAC from "../operations/MAC.js";
|
||||
import MorseCode from "../operations/MorseCode.js";
|
||||
import NetBIOS from "../operations/NetBIOS.js";
|
||||
import PHP from "../operations/PHP.js";
|
||||
import PublicKey from "../operations/PublicKey.js";
|
||||
import Punycode from "../operations/Punycode.js";
|
||||
import Rotate from "../operations/Rotate.js";
|
||||
|
@ -35,7 +36,6 @@ import StrUtils from "../operations/StrUtils.js";
|
|||
import Tidy from "../operations/Tidy.js";
|
||||
import Unicode from "../operations/Unicode.js";
|
||||
import URL_ from "../operations/URL.js";
|
||||
import PhpSerialization from "../operations/PhpSerialization.js";
|
||||
|
||||
|
||||
/**
|
||||
|
@ -3848,14 +3848,14 @@ const OperationConfig = {
|
|||
},
|
||||
"PHP Deserialize": {
|
||||
module: "Default",
|
||||
description: "PHP Deserialize a given input.<br><br>This function does not support <code>object</code> tags.<br><br><u>Output valid JSON:</u> JSON doesn't support integers as keys, where as PHP serialization does. Enabling this will cast these integers to strings. This will also escape backslashes.",
|
||||
description: "Deserializes PHP serialized data, outputting keyed arrays as JSON.<br><br>This function does not support <code>object</code> tags.<br><br>Example:<br><code>a:2:{s:1:"a";i:10;i:0;a:1:{s:2:"ab";b:1;}}</code><br>becomes<br><code>{"a": 10,0: {"ab": true}}</code><br><br><u>Output valid JSON:</u> JSON doesn't support integers as keys, whereas PHP serialization does. Enabling this will cast these integers to strings. This will also escape backslashes.",
|
||||
inputType: "string",
|
||||
outputType: "string",
|
||||
args: [
|
||||
{
|
||||
name: "Output valid JSON",
|
||||
type: "boolean",
|
||||
value: PhpSerialization.OUTPUT_VALID_JSON
|
||||
value: PHP.OUTPUT_VALID_JSON
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -20,6 +20,7 @@ import NetBIOS from "../../operations/NetBIOS.js";
|
|||
import Numberwang from "../../operations/Numberwang.js";
|
||||
import OS from "../../operations/OS.js";
|
||||
import OTP from "../../operations/OTP.js";
|
||||
import PHP from "../../operations/PHP.js";
|
||||
import QuotedPrintable from "../../operations/QuotedPrintable.js";
|
||||
import Rotate from "../../operations/Rotate.js";
|
||||
import SeqUtils from "../../operations/SeqUtils.js";
|
||||
|
@ -27,7 +28,6 @@ import StrUtils from "../../operations/StrUtils.js";
|
|||
import Tidy from "../../operations/Tidy.js";
|
||||
import Unicode from "../../operations/Unicode.js";
|
||||
import UUID from "../../operations/UUID.js";
|
||||
import PhpSerialization from "../../operations/PhpSerialization";
|
||||
|
||||
/**
|
||||
* Default module.
|
||||
|
@ -155,7 +155,7 @@ OpModules.Default = {
|
|||
"Conditional Jump": FlowControl.runCondJump,
|
||||
"Return": FlowControl.runReturn,
|
||||
"Comment": FlowControl.runComment,
|
||||
"PHP Deserialize": PhpSerialization.PhpDeserialize,
|
||||
"PHP Deserialize": PHP.runDeserialize,
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
/**
|
||||
* Php Serialization operations.
|
||||
* This Javascript implementation is based on the Python implementation by
|
||||
* Armin Ronacher (2016), who released it under the 3-Clause BSD license.
|
||||
* See: https://github.com/mitsuhiko/phpserialize/
|
||||
* PHP operations.
|
||||
*
|
||||
* @author Jarmo van Lenthe [github.com/jarmovanlenthe]
|
||||
* @copyright Jarmo van Lenthe
|
||||
|
@ -10,8 +7,7 @@
|
|||
*
|
||||
* @namespace
|
||||
*/
|
||||
|
||||
const PhpSerialization = {
|
||||
const PHP = {
|
||||
|
||||
/**
|
||||
* @constant
|
||||
|
@ -20,12 +16,17 @@ const PhpSerialization = {
|
|||
OUTPUT_VALID_JSON: true,
|
||||
|
||||
/**
|
||||
* Deserializes a PHP serialized input
|
||||
* PHP Deserialize operation.
|
||||
*
|
||||
* This Javascript implementation is based on the Python implementation by
|
||||
* Armin Ronacher (2016), who released it under the 3-Clause BSD license.
|
||||
* See: https://github.com/mitsuhiko/phpserialize/
|
||||
*
|
||||
* @param {string} input
|
||||
* @param {Object[]} args
|
||||
* @returns {string}
|
||||
*/
|
||||
PhpDeserialize: function (input, args) {
|
||||
runDeserialize: function (input, args) {
|
||||
/**
|
||||
* Recursive method for deserializing.
|
||||
* @returns {*}
|
||||
|
@ -153,6 +154,7 @@ const PhpSerialization = {
|
|||
let inputPart = input.split("");
|
||||
return handleInput();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
export default PhpSerialization;
|
||||
export default PHP;
|
|
@ -25,9 +25,9 @@ import "./tests/operations/Hash.js";
|
|||
import "./tests/operations/Image.js";
|
||||
import "./tests/operations/MorseCode.js";
|
||||
import "./tests/operations/MS.js";
|
||||
import "./tests/operations/PHP.js";
|
||||
import "./tests/operations/StrUtils.js";
|
||||
import "./tests/operations/SeqUtils.js";
|
||||
import "./tests/operations/PhpSerialization.js";
|
||||
|
||||
|
||||
let allTestsPassing = true;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/**
|
||||
* PHP Serialization tests.
|
||||
* PHP tests.
|
||||
*
|
||||
* @author Jarmo van Lenthe
|
||||
*
|
Loading…
Reference in New Issue