mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
Import from DCARF SVN
This commit is contained in:
88
include/pear/HTML/AJAX/Serializer/XML.php
Normal file
88
include/pear/HTML/AJAX/Serializer/XML.php
Normal file
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
// $Id: XML.php 583 2007-03-05 22:13:30Z jeichorn $
|
||||
/**
|
||||
* XML Serializer - does NOT need a js serializer, use responseXML property in XmlHttpRequest
|
||||
*
|
||||
* @category HTML
|
||||
* @package AJAX
|
||||
* @author Elizabeth Smith <auroraeosrose@gmail.com>
|
||||
* @copyright 2005-2006 Elizabeth Smith
|
||||
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
|
||||
* @version Release: 0.5.2
|
||||
* @link http://pear.php.net/package/PackageName
|
||||
*/
|
||||
class HTML_AJAX_Serializer_XML
|
||||
{
|
||||
|
||||
/**
|
||||
* Serializes a domdocument into an xml string
|
||||
*
|
||||
* Uses dom or domxml to dump a string from a DomDocument instance
|
||||
* remember dom is always the default and this will die horribly without
|
||||
* a domdocument instance
|
||||
*
|
||||
* @access public
|
||||
* @param object $input instanceof DomDocument
|
||||
* @return string xml string of DomDocument
|
||||
*/
|
||||
function serialize($input)
|
||||
{
|
||||
if(empty($input))
|
||||
{
|
||||
return $input;
|
||||
}
|
||||
// we check for the dom extension
|
||||
elseif (extension_loaded('Dom'))
|
||||
{
|
||||
return $input->saveXml();
|
||||
}
|
||||
// then will check for domxml
|
||||
elseif (extension_loaded('Domxml'))
|
||||
{
|
||||
return $input->dump_mem();
|
||||
}
|
||||
// will throw an error
|
||||
else {
|
||||
$error = new HTML_AJAX_Serializer_Error();
|
||||
$this->serializerNewType = 'Error';
|
||||
return $error->serialize(array('errStr'=>"Missing PHP Dom extension direct XML won't work"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Unserializes the xml string sent from the document
|
||||
*
|
||||
* Uses dom or domxml to pump a string into a DomDocument instance
|
||||
* remember dom is always the default and this will die horribly without
|
||||
* one or the other, and will throw warnings if you have bad xml
|
||||
*
|
||||
* @access public
|
||||
* @param string $input The input to serialize.
|
||||
* @return object instanceofDomDocument
|
||||
*/
|
||||
function unserialize($input)
|
||||
{
|
||||
if(empty($input))
|
||||
{
|
||||
return $input;
|
||||
}
|
||||
// we check for the dom extension
|
||||
elseif (extension_loaded('Dom'))
|
||||
{
|
||||
$doc = new DOMDocument();
|
||||
$doc->loadXML($input);
|
||||
return $doc;
|
||||
}
|
||||
// then we check for the domxml extensions
|
||||
elseif (extension_loaded('Domxml'))
|
||||
{
|
||||
return domxml_open_mem($input);
|
||||
}
|
||||
// we give up and just return the xml directly
|
||||
else
|
||||
{
|
||||
return $input;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user