<?php
use kornrunner\Keccak;
include_once "../libraries2/vendor/autoload.php";
include_once("html_iframe_header.php");
use Web3p\RLP\RLP;
$result = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
try {
$rlp = new RLP;
$firstTag = substr($_POST['string'], 0, 1);
$lastTag = substr($_POST['string'], -1);
if ($firstTag == '[' AND $lastTag == ']') {
$toEncode = json_decode($_POST['string'],true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new Exception("Invalid JSON-ARRAY string.");
}
} else {
//auto cast if integer or float is detected
if (ctype_digit($_POST['string'])) {
$toEncode = (int)$_POST['string'];
} else if (is_numeric($_POST['string'])) {
$toEncode = (float)$_POST['string'];
} else {
$toEncode = $_POST['string'];
}
}
$result = $rlp->encode($toEncode);
} catch (Exception $e) {
$errmsg .= "Problem found. " . $e->getMessage();
}
}
if ($errmsg) {
?>
<div class="alert alert-danger">
<strong>Error!</strong> <?php echo $errmsg?>
</div>
<?php
}
if ($result) {
?>
<div class="alert alert-success">
<?php echo $result;?>
</div>
<?php
}
?>
<form action='' method='post'>
<div class="form-group">
<label for="string">Data To Encode:</label>
<textarea class="form-control" type='text' name='string' id='string' rows=10><?php echo $_POST['string']?></textarea>
<small>
<ol style="padding-left: 0; list-style: inside decimal;">
<li>
To encode array, JSON-ARRAY serialized string must be applied and start with '[' and end with ']'.
</li>
<li>
Numeric number will be casted to integer or float.
</li>
</ol>
</small>
</div>
<input type='submit' class="btn btn-success btn-block"/>
</form>
<?php
include_once("html_iframe_footer.php");