From bee018e41677749a6259571d7af7de77504b0736 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 28 Mar 2018 12:37:19 +0200 Subject: api.php: Handle --arg=val aswell, populate _GET *and* _REQUEST --- api.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'api.php') diff --git a/api.php b/api.php index 880285be..df54d7f5 100644 --- a/api.php +++ b/api.php @@ -28,11 +28,19 @@ if (!empty($_REQUEST['do'])) { $module = preg_replace('/[^a-z0-9]/', '', $_REQUEST['do']); } elseif (!empty($argv[1])) { $module = preg_replace('/[^a-z0-9]/', '', $argv[1]); - $argc = count($argv) - 1; + $argc = count($argv); for ($i = 2; $i < $argc; ++$i) { if (substr($argv[$i], 0, 2) === '--') { - $_GET[substr($argv[$i], 2)] = $argv[$i+1]; - ++$i; + // Handle --arg=value and --arg value + $key = substr($argv[$i], 2); + if (($pos = strpos($key, '=')) !== false) { + $val = substr($key, $pos + 1); + $key = substr($key, 0, $pos); + $_REQUEST[$key] = $_GET[$key] = $val; + } elseif ($i + 1 < $argc) { + $_REQUEST[$key] = $_GET[$key] = $argv[$i + 1]; + ++$i; + } } } } else { -- cgit v1.2.3-55-g7522