diff options
Diffstat (limited to 'Application/RemoveTransaction')
-rw-r--r-- | Application/RemoveTransaction/index.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Application/RemoveTransaction/index.php b/Application/RemoveTransaction/index.php new file mode 100644 index 0000000..ad0ed5d --- /dev/null +++ b/Application/RemoveTransaction/index.php @@ -0,0 +1,52 @@ +<?php + +require_once $_SERVER['DOCUMENT_ROOT'] . "/Private/SessionManager.php"; global $_PROFILE; + +/** + * Encode data to Base64URL + * @param string $data + * @return boolean|string + */ +function base64url_encode($data) +{ + // First of all you should encode $data to Base64 string + $b64 = base64_encode($data); + + // Make sure you get a valid result, otherwise, return FALSE, as the base64_encode() function do + if ($b64 === false) { + return false; + } + + // Convert Base64 to Base64URL by replacing “+” with “-” and “/” with “_” + $url = strtr($b64, '+/', '-_'); + + // Remove padding character from the end of line and return the Base64URL result + return rtrim($url, '='); +} + +/** + * Decode data from Base64URL + * @param string $data + * @param boolean $strict + * @return boolean|string + */ +function base64url_decode($data, $strict = false) +{ + // Convert Base64URL to Base64 by replacing “-” with “+” and “_” with “/” + $b64 = strtr($data, '-_', '+/'); + + // Decode Base64 string and return the original data + return base64_decode($b64, $strict); +} + +if (!isset($_GET['Transaction'])) { + die(); +} + +$list = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/Private/Data/Transactions.json"), true); + +$list = array_filter($list, function ($item) { + return ($item["date"] !== base64url_decode($_GET['Transaction'])); +}); + +file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/Private/Data/Transactions.json", json_encode($list));
\ No newline at end of file |