18 public $mClient =
null;
20 public function __construct(&$service)
22 parent::__construct($service);
23 $this->mClient =
new soap_client($service,
true);
24 $this->mClient->decodeUTF8(
false);
27 public function call($operation, $args)
29 $root =& XCube_Root::getSingleton();
31 $args = $this->_encodeUTF8($args, $root->mLanguageManager);
33 $retValue = $this->mClient->call($operation, $args);
35 if (is_array($retValue)) {
36 $retValue = $this->_decodeUTF8($retValue, $root->mLanguageManager);
38 $retValue = $root->mLanguageManager->decodeUTF8($retValue);
44 public function _encodeUTF8($arr, &$languageManager)
46 foreach (array_keys($arr) as $key) {
47 if (is_array($arr[$key])) {
48 $arr[$key] = $this->_encodeUTF8($arr[$key], $languageManager);
50 $arr[$key] = $languageManager->encodeUTF8($arr[$key]);
57 public function _decodeUTF8($arr, &$languageManager)
59 foreach (array_keys($arr) as $key) {
60 if (is_array($arr[$key])) {
61 $arr[$key] = $this->_decodeUTF8($arr[$key], $languageManager);
63 $arr[$key] = $languageManager->decodeUTF8($arr[$key]);