summaryrefslogtreecommitdiff
path: root/lib/Minz/Request.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2019-03-31 16:38:46 +0200
committerGravatar GitHub <noreply@github.com> 2019-03-31 16:38:46 +0200
commitd413f67dd28738f4a6d8cf036e00714737f757b8 (patch)
tree1509f631dc8814bcf85d907a292ddd6437a2efcd /lib/Minz/Request.php
parent8dcdde6251ae4dfc690b1a014488df125c5e5cdc (diff)
parent2a935516d850d63a215f9650b96ede102311f7ca (diff)
Merge pull request #2298 from FreshRSS/dev1.14.0
FreshRSS 1.14.0
Diffstat (limited to 'lib/Minz/Request.php')
-rw-r--r--lib/Minz/Request.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/Minz/Request.php b/lib/Minz/Request.php
index 8b2b610d6..912c354ac 100644
--- a/lib/Minz/Request.php
+++ b/lib/Minz/Request.php
@@ -95,6 +95,7 @@ class Minz_Request {
*/
public static function init() {
self::magicQuotesOff();
+ self::initJSON();
}
/**
@@ -238,6 +239,30 @@ class Minz_Request {
}
/**
+ * Allows receiving POST data as application/json
+ */
+ private static function initJSON() {
+ $contentType = isset($_SERVER['CONTENT_TYPE']) ? $_SERVER['CONTENT_TYPE'] : '';
+ if ($contentType == '') { //PHP < 5.3.16
+ $contentType = isset($_SERVER['HTTP_CONTENT_TYPE']) ? $_SERVER['HTTP_CONTENT_TYPE'] : '';
+ }
+ $contentType = strtolower(trim($contentType));
+ if ($contentType === 'application/json') {
+ $ORIGINAL_INPUT = file_get_contents('php://input', false, null, 0, 1048576);
+ if ($ORIGINAL_INPUT != '') {
+ $json = json_decode($ORIGINAL_INPUT, true);
+ if ($json != null) {
+ foreach ($json as $k => $v) {
+ if (!isset($_POST[$k])) {
+ $_POST[$k] = $v;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
* Permet de récupérer une variable de type $_POST
* @param $param nom de la variable
* @param $default valeur par défaut à attribuer à la variable