|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 // This file is part of Moodle - http://moodle.org/ 00004 // 00005 // Moodle is free software: you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation, either version 3 of the License, or 00008 // (at your option) any later version. 00009 // 00010 // Moodle is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 // GNU General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 00017 00018 require_once 'Zend/Soap/Client.php'; 00019 00023 class webservice_soap_client extends Zend_Soap_Client { 00024 00025 private $serverurl; 00026 00033 public function __construct($serverurl, $token, $options = null) { 00034 $this->serverurl = $serverurl; 00035 $wsdl = $serverurl . "?wstoken=" . $token . '&wsdl=1'; 00036 parent::__construct($wsdl, $options); 00037 } 00038 00043 public function set_token($token) { 00044 $wsdl = $this->serverurl . "?wstoken=" . $token . '&wsdl=1'; 00045 $this->setWsdl($wsdl); 00046 } 00047 00054 public function call($functionname, $params) { 00055 global $DB, $CFG; 00056 00057 //zend expects 0 based array with numeric indexes 00058 $params = array_values($params); 00059 00060 //traditional Zend soap client call (integrating the token into the URL) 00061 $result = $this->__call($functionname, $params); 00062 00063 return $result; 00064 } 00065 00066 }