Permalink
Browse files

MDL-30495 HTML5 apps cannot call Webservices functions if a HTTP reso…

…urce is retrieved from the Moodle installation
  • Loading branch information...
1 parent 52e6baa commit 95711cca60d82434b8815711632be25e2fc07b03 @mouneyrac mouneyrac committed Feb 15, 2012
Showing with 29 additions and 21 deletions.
  1. +11 −7 webservice/lib.php
  2. +17 −13 webservice/rest/locallib.php
  3. +1 −1 webservice/soap/locallib.php
View
@@ -1209,24 +1209,28 @@ protected function init_zend_server() {
}
/**
- * This method parses the $_REQUEST superglobal and looks for
+ * This method parses the $_POST and $_GET superglobals and looks for
* the following information:
* 1/ user authentication - username+password or token (wsusername, wspassword and wstoken parameters)
*
* @return void
*/
protected function parse_request() {
+
+ //Get GET and POST paramters
+ $methodvariables = array_merge($_GET,$_POST);
+
if ($this->authmethod == WEBSERVICE_AUTHMETHOD_USERNAME) {
//note: some clients have problems with entity encoding :-(
- if (isset($_REQUEST['wsusername'])) {
- $this->username = $_REQUEST['wsusername'];
+ if (isset($methodvariables['wsusername'])) {
+ $this->username = $methodvariables['wsusername'];
}
- if (isset($_REQUEST['wspassword'])) {
- $this->password = $_REQUEST['wspassword'];
+ if (isset($methodvariables['wspassword'])) {
+ $this->password = $methodvariables['wspassword'];
}
} else {
- if (isset($_REQUEST['wstoken'])) {
- $this->token = $_REQUEST['wstoken'];
+ if (isset($methodvariables['wstoken'])) {
+ $this->token = $methodvariables['wstoken'];
}
}
}
@@ -39,7 +39,7 @@ public function __construct($authmethod) {
}
/**
- * This method parses the $_REQUEST superglobal and looks for
+ * This method parses the $_POST and $_GET superglobals and looks for
* the following information:
* 1/ user authentication - username+password or token (wsusername, wspassword and wstoken parameters)
* 2/ function name (wsfunction parameter)
@@ -48,26 +48,30 @@ public function __construct($authmethod) {
* @return void
*/
protected function parse_request() {
+
+ //Get GET and POST paramters
+ $methodvariables = array_merge($_GET,$_POST);
+
if ($this->authmethod == WEBSERVICE_AUTHMETHOD_USERNAME) {
- $this->username = isset($_REQUEST['wsusername']) ? $_REQUEST['wsusername'] : null;
- unset($_REQUEST['wsusername']);
+ $this->username = isset($methodvariables['wsusername']) ? $methodvariables['wsusername'] : null;
+ unset($methodvariables['wsusername']);
- $this->password = isset($_REQUEST['wspassword']) ? $_REQUEST['wspassword'] : null;
- unset($_REQUEST['wspassword']);
+ $this->password = isset($methodvariables['wspassword']) ? $methodvariables['wspassword'] : null;
+ unset($methodvariables['wspassword']);
- $this->functionname = isset($_REQUEST['wsfunction']) ? $_REQUEST['wsfunction'] : null;
- unset($_REQUEST['wsfunction']);
+ $this->functionname = isset($methodvariables['wsfunction']) ? $methodvariables['wsfunction'] : null;
+ unset($methodvariables['wsfunction']);
- $this->parameters = $_REQUEST;
+ $this->parameters = $methodvariables;
} else {
- $this->token = isset($_REQUEST['wstoken']) ? $_REQUEST['wstoken'] : null;
- unset($_REQUEST['wstoken']);
+ $this->token = isset($methodvariables['wstoken']) ? $methodvariables['wstoken'] : null;
+ unset($methodvariables['wstoken']);
- $this->functionname = isset($_REQUEST['wsfunction']) ? $_REQUEST['wsfunction'] : null;
- unset($_REQUEST['wsfunction']);
+ $this->functionname = isset($methodvariables['wsfunction']) ? $methodvariables['wsfunction'] : null;
+ unset($methodvariables['wsfunction']);
- $this->parameters = $_REQUEST;
+ $this->parameters = $methodvariables;
}
}
@@ -83,7 +83,7 @@ protected function init_zend_server() {
}
/**
- * This method parses the $_REQUEST superglobal and looks for
+ * This method parses the $_POST and $_GET superglobals and looks for
* the following information:
* 1/ user authentication - username+password or token (wsusername, wspassword and wstoken parameters)
*

0 comments on commit 95711cc

Please sign in to comment.