Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

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

…urce is retrieved from the Moodle installation
  • Loading branch information...
commit dcd902a0f61b7da6400186f88d9b886aa3fb2d09 1 parent 5fc420e
@mouneyrac mouneyrac authored
View
18 webservice/lib.php
@@ -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'];
}
}
}
View
30 webservice/rest/locallib.php
@@ -44,7 +44,7 @@ public function __construct($authmethod, $restformat = 'xml') {
}
/**
- * 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)
@@ -53,26 +53,30 @@ public function __construct($authmethod, $restformat = 'xml') {
* @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;
}
}
View
3  webservice/rest/server.php
@@ -36,9 +36,6 @@
$restformat = optional_param('moodlewsrestformat', 'xml', PARAM_ALPHA);
//remove the alt from the request
-if(isset($_REQUEST['moodlewsrestformat'])) {
- unset($_REQUEST['moodlewsrestformat']);
-}
if(isset($_GET['moodlewsrestformat'])) {
unset($_GET['moodlewsrestformat']);
}
View
2  webservice/soap/locallib.php
@@ -125,7 +125,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)
*
Please sign in to comment.
Something went wrong with that request. Please try again.