94 parent::__construct($input);
132 if (is_array($value)) {
133 settype($this->_tempValue,
'array');
134 foreach ($value as $k => $v) {
135 $this->_tempValue[$k] = $v;
137 } elseif (is_string($value)) {
138 if (isset($this->_tempValue)) {
139 if (is_string($this->_tempValue)) {
140 $this->_tempValue .= $value;
143 $this->_tempValue = $value;
146 $this->_tempValue = $value;
163 $this->_tempValue = null;
205 return (count($this->_workingLevel) > 0)
206 ? $this->_workingLevel[count($this->_workingLevel) - 1]
215 array_pop($this->_workingLevel);
275 $this->_methodName = $methodName;
292 $this->_param[] = $value;
323 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
324 $parser->setMethodName($data);
336 return array(
'int',
'i4');
346 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
347 $parser->setTempValue(intval($data));
369 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
370 $data = (float)$data;
371 $parser->setTempValue($data);
393 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
394 $data = (boolean)$data;
395 $parser->setTempValue($data);
417 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
418 $parser->setTempValue(strval($data));
430 return 'dateTime.iso8601';
440 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
442 if (!preg_match(
"/^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})$/", $data, $matches)) {
443 $parser->setTempValue(time());
445 $parser->setTempValue(gmmktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]));
468 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
469 $parser->setTempValue(base64_decode($data));
491 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
494 $parser->setTempName($data);
521 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
524 $parser->setTempValue($data);
528 $parser->setTempValue($data);
542 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
552 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
555 $parser->setTempMember($parser->getTempName(), $parser->getTempValue());
559 $parser->setTempArray($parser->getTempValue());
562 $parser->setParam($parser->getTempValue());
565 $parser->resetTempValue();
587 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
588 $parser->setWorkingLevel();
589 $parser->resetTempMember();
598 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
599 $member = $parser->getTempMember();
600 $parser->releaseWorkingLevel();
601 $parser->setTempStruct($member);
623 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
624 $parser->setWorkingLevel();
625 $parser->resetTempArray();
634 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
635 $parser->setTempValue($parser->getTempArray());
636 $parser->releaseWorkingLevel();
658 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
659 $parser->setWorkingLevel();
660 $parser->resetTempStruct();
669 if (!is_a($parser,
'XoopsXmlRpcParser'))
return;
670 $parser->setTempValue($parser->getTempStruct());
671 $parser->releaseWorkingLevel();
handleBeginElement(SaxParser &$parser, &$attributes)
handleCharacterData(SaxParser &$parser, &$data)
addTagHandler(XmlTagHandler &$tagHandler)
handleEndElement(SaxParser &$parser)
setMethodName($methodName)
handleCharacterData(SaxParser &$parser, &$data)
handleBeginElement(SaxParser &$parser, &$attributes)
handleCharacterData(SaxParser &$parser, &$data)
handleCharacterData(SaxParser &$parser, &$data)
handleCharacterData(SaxParser &$parser, &$data)
setTempMember($name, $value)
handleEndElement(SaxParser &$parser)
handleBeginElement(SaxParser &$parser, &$attributes)
handleEndElement(SaxParser &$parser)
setTempStruct(array $member)
handleCharacterData(SaxParser &$parser, &$data)
handleCharacterData(SaxParser &$parser, &$data)
handleCharacterData(SaxParser &$parser, &$data)
handleCharacterData(SaxParser &$parser, &$data)
handleBeginElement(SaxParser &$parser, &$attributes)
handleEndElement(SaxParser &$parser)