mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-06 18:21:39 +09:00
issue 2119. supporting php 5.4. display classes.
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12687 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
41fdaf00c3
commit
1de3e9cd17
6 changed files with 258 additions and 117 deletions
|
|
@ -1,6 +1,8 @@
|
|||
<?php
|
||||
|
||||
class XMLDisplayHandler
|
||||
{
|
||||
|
||||
/**
|
||||
* Produce XML compliant content given a module object.\n
|
||||
* @param ModuleObject $oModule the module object
|
||||
|
|
@ -10,9 +12,9 @@ class XMLDisplayHandler
|
|||
{
|
||||
$variables = $oModule->getVariables();
|
||||
|
||||
$xmlDoc = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response>\n";
|
||||
$xmlDoc .= sprintf("<error>%s</error>\n",$oModule->getError());
|
||||
$xmlDoc .= sprintf("<message>%s</message>\n",str_replace(array('<','>','&'),array('<','>','&'),$oModule->getMessage()));
|
||||
$xmlDoc = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response>\n";
|
||||
$xmlDoc .= sprintf("<error>%s</error>\n", $oModule->getError());
|
||||
$xmlDoc .= sprintf("<message>%s</message>\n", str_replace(array('<', '>', '&'), array('<', '>', '&'), $oModule->getMessage()));
|
||||
|
||||
$xmlDoc .= $this->_makeXmlDoc($variables);
|
||||
|
||||
|
|
@ -26,22 +28,39 @@ class XMLDisplayHandler
|
|||
* @param object $obj
|
||||
* @return string
|
||||
*/
|
||||
function _makeXmlDoc($obj) {
|
||||
if(!count($obj)) return;
|
||||
function _makeXmlDoc($obj)
|
||||
{
|
||||
if(!count($obj))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$xmlDoc = '';
|
||||
|
||||
foreach($obj as $key => $val)
|
||||
{
|
||||
if(is_numeric($key)) $key = 'item';
|
||||
if(is_numeric($key))
|
||||
{
|
||||
$key = 'item';
|
||||
}
|
||||
|
||||
if(is_string($val)) $xmlDoc .= sprintf('<%s><![CDATA[%s]]></%s>%s', $key, $val, $key,"\n");
|
||||
else if(!is_array($val) && !is_object($val)) $xmlDoc .= sprintf('<%s>%s</%s>%s', $key, $val, $key,"\n");
|
||||
else $xmlDoc .= sprintf('<%s>%s%s</%s>%s',$key, "\n", $this->_makeXmlDoc($val), $key, "\n");
|
||||
if(is_string($val))
|
||||
{
|
||||
$xmlDoc .= sprintf('<%s><![CDATA[%s]]></%s>%s', $key, $val, $key, "\n");
|
||||
}
|
||||
else if(!is_array($val) && !is_object($val))
|
||||
{
|
||||
$xmlDoc .= sprintf('<%s>%s</%s>%s', $key, $val, $key, "\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
$xmlDoc .= sprintf('<%s>%s%s</%s>%s', $key, "\n", $this->_makeXmlDoc($val), $key, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
return $xmlDoc;
|
||||
}
|
||||
|
||||
}
|
||||
/* End of file XMLDisplayHandler.class.php */
|
||||
/* Location: ./classes/display/XMLDisplayHandler.class.php */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue