serialize() public method

serialize data
public serialize ( mixed $data, array $options = null ) : boolean
$data mixed data to serialize
$options array options array
return boolean true on success, pear error on failure
 /**
  * Test serializing an object, that supports __sleep
  */
 public function testSleep()
 {
     $obj = new MyClass('foo', 'bar');
     $s = new XML_Serializer($this->options);
     $s->serialize($obj);
     $this->assertEquals('<MyClass><foo>foo</foo></MyClass>', $s->getSerializedData());
 }
Example #2
0
/**
 * Генерация карты XML.
 */
function sitemap_outXML()
{
    A::$CACHE->page = null;
    require_once "modules/sitemap/sitemap.php";
    $checkeds = getTextOption(getSectionByModule('sitemap'), 'sections');
    $checkeds = !empty($checkeds) ? unserialize($checkeds) : array();
    A::$DB->query("SELECT * FROM " . DOMAIN . "_sections WHERE lang='" . LANG . "' OR lang='all' ORDER BY sort");
    while ($row = A::$DB->fetchRow()) {
        if (in_array($row['id'], $checkeds)) {
            if (function_exists($row['module'] . '_createMap')) {
                $section = DOMAIN . "_" . $row['lang'] . "_" . $row['name'];
                if ($caption = !empty($row['caption_' . LANG]) ? $row['caption_' . LANG] : $row['caption']) {
                    call_user_func($row['module'] . "_createMap", A::$MAINFRAME->treemap, $section, $caption);
                }
            }
        }
    }
    A::$DB->free();
    require_once 'XML/Serializer.php';
    $options = array(XML_SERIALIZER_OPTION_XML_DECL_ENABLED => true, XML_SERIALIZER_OPTION_XML_ENCODING => "utf-8", XML_SERIALIZER_OPTION_INDENT => "\t", XML_SERIALIZER_OPTION_LINEBREAKS => "\n", XML_SERIALIZER_OPTION_ROOT_NAME => 'urlset', XML_SERIALIZER_OPTION_ROOT_ATTRIBS => array('xmlns' => 'http://www.sitemaps.org/schemas/sitemap/0.9'), XML_SERIALIZER_OPTION_DEFAULT_TAG => 'url');
    $serializer = new XML_Serializer($options);
    $data = array();
    sitemap_itemXML(A::$MAINFRAME->treemap, $data);
    $serializer->serialize($data);
    header("Content-type: text/xml; charset=utf-8");
    die($serializer->getSerializedData());
}
Example #3
0
 public static function hook_output($to_print)
 {
     //Construct the object to output
     $object = new StdClass();
     $object->result = $to_print;
     $object->error = Backend::getError();
     $object->notice = Backend::getNotice();
     $object->success = Backend::getSuccess();
     $object->content = Backend::getContent();
     $last = '';
     while (ob_get_level() > self::$ob_level) {
         //Ending the ob_start from __construct
         $last .= ob_get_clean();
     }
     $object->output = $last;
     //Clean up
     Backend::setError();
     Backend::setNotice();
     Backend::setSuccess();
     //Return the XML
     $options = array(XML_SERIALIZER_OPTION_INDENT => "\t", XML_SERIALIZER_OPTION_RETURN_RESULT => true, XML_SERIALIZER_OPTION_DEFAULT_TAG => 'item', XML_SERIALIZER_OPTION_XML_DECL_ENABLED => true, XML_SERIALIZER_OPTION_XML_ENCODING => Controller::$view->charset, XML_SERIALIZER_OPTION_ROOT_NAME => 'XmlResult', XML_SERIALIZER_OPTION_TYPEHINTS => true);
     $serializer = new XML_Serializer($options);
     if ($result = @$serializer->serialize($object)) {
         return $result;
     } else {
         return null;
     }
 }
 /**
  * Builds the response
  * 
  * @param type $type
  * @param type $objects
  * @param type $echoResponse
  * @param type $format
  * @return type
  */
 private static function _doResponse($type, $objects, $echoResponse, $format)
 {
     $ret = array();
     $ret['status'] = $type;
     if (is_array($objects)) {
         foreach ($objects as $k => $v) {
             $ret[$k] = $v;
         }
     } else {
         $ret[] = $objects;
     }
     switch ($format) {
         case 'xml':
             require_once 'XML/Serializer.php';
             $options = array("indent" => "    ", "linebreak" => "\n", "typeHints" => false, "addDecl" => true, "encoding" => "UTF-8", "rootName" => "data", "defaultTagName" => "item", "attributesArray" => "_attributes");
             $serializer = new \XML_Serializer($options);
             $rc = $serializer->serialize($ret);
             if ($rc !== TRUE) {
             }
             $ret = $serializer->getSerializedData();
             break;
         case 'json':
         default:
             $ret = json_encode($ret);
             break;
     }
     if ($echoResponse) {
         echo $ret;
     }
     return $ret;
 }
 /**
  * SimpleXML
  */
 public function testSimpleXML()
 {
     $s = new XML_Serializer($this->options);
     $s->setOption(XML_SERIALIZER_OPTION_MODE, XML_SERIALIZER_MODE_SIMPLEXML);
     $s->serialize(array('foo' => array(1, 2, 3), 'bar' => array(1, 2, 3)));
     $this->assertEquals('<array><foo>1</foo><foo>2</foo><foo>3</foo><bar>1</bar><bar>2</bar><bar>3</bar></array>', $s->getSerializedData());
 }
Example #6
0
File: Xml.php Project: rajnishp/bjs
 /**
  * @param $data
  * @param $clear_data Clear the data variable
  * @return unknown_type
  */
 function serialize(&$data, $clear_data = false, $rootName = 'root', $addDecl = TRUE)
 {
     //serialize an array
     $serializer_options = array('addDecl' => $addDecl, 'encoding' => 'ISO-8859-1', 'indent' => '  ', 'rootName' => $rootName, 'defaultTagName' => 'item');
     // Instantiate the serializer with the options
     $Serializer = new XML_Serializer($serializer_options);
     // Serialize the data structure
     try {
         //$this->logger->debug("Serializing into XML:".print_r($data, true));
         $status = $Serializer->serialize($data);
         //Clear the original data if set
         if ($clear_data) {
             $data = array();
         }
         //$this->logger->debug("Serialization Status: ".var_export($status, true));
         // Check whether serialization worked
         if (PEAR::isError($status)) {
             $this->logger->error("Error in XML serialization: " . var_export($status, true));
             die($status->getMessage());
         }
         //echo "here";//var_dump($Serializer);
         //echo "Status: $status";
     } catch (Exception $e) {
         $this->logger->error("Exception in serialization: " . var_export($e, true));
     }
     // Display the XML document
     return $Serializer->getSerializedData();
 }
 /**
  * Simple namespace
  */
 public function testUri()
 {
     $s = new XML_Serializer($this->options);
     $s->setOption(XML_SERIALIZER_OPTION_NAMESPACE, array('foo', 'http://pear.php.net/XML_Serializer/foo'));
     $s->serialize(array('foo' => 'bar'));
     $this->assertEquals('<foo:array xmlns:foo="http://pear.php.net/XML_Serializer/foo"><foo:foo>bar</foo:foo></foo:array>', $s->getSerializedData());
 }
 /**
  * Test indexed
  */
 public function testNumbered()
 {
     $s = new XML_Serializer($this->options);
     $data = array('foo' => array('atts' => array('one' => 1), 'content' => 'some data', 'bar', 'foo'));
     $s->serialize($data);
     $this->assertEquals('<array><foo one="1">some data<XML_Serializer_Tag>bar</XML_Serializer_Tag><XML_Serializer_Tag>foo</XML_Serializer_Tag></foo></array>', $s->getSerializedData());
 }
Example #9
0
 public static function go($json, $attr = true, $rootAttr = array())
 {
     //----------------------------------------------------------
     $options = array();
     $options['addDecl'] = TRUE;
     $options['encoding'] = 'UTF-8';
     $options['indent'] = '  ';
     $options['rootName'] = 'root';
     $options['mode'] = 'simplexml';
     if ($attr) {
         $options['scalarAsAttributes'] = true;
     }
     $options['cdata'] = true;
     $options['rootAttributes'] = $rootAttr;
     //----------------------------------------------------------
     $serializer = new XML_Serializer($options);
     $obj = json_decode($json);
     //----------------------------------------------------------
     if ($serializer->serialize($obj)) {
         $xml = $serializer->getSerializedData();
         return $xml;
     } else {
         return null;
     }
 }
Example #10
0
 function save($data)
 {
     require_once 'XML/Serializer.php';
     $xmlEngine = new XML_Serializer();
     $xmlresult = $xmlEngine->serialize($data);
     $locale = AMP_LOCAL_PATH . '/custom/' . $this->AMP_Object_Type . '_' . $this->DataDescription . '.xml';
     $this->saveFile($xmlEngine->getSerializedData(), $locale);
 }
Example #11
0
 public static function build($rootNode, $vals = null)
 {
     $xsz = new XML_Serializer(array('rootName' => $rootNode, 'mode' => 'simplexml'));
     $xsz->serialize($vals);
     $xml = $xsz->getSerializedData();
     Nimble::log($xml, PEAR_LOG_DEBUG);
     return $xml;
 }
 /**
  * Test setting mixed default tags
  */
 public function testMixed()
 {
     $s = new XML_Serializer($this->options);
     $data = array('foos' => array(1, 2), 'bars' => array(1, 2), 'test');
     $s->setOption(XML_SERIALIZER_OPTION_DEFAULT_TAG, array('foos' => 'foo', '#default' => 'tag'));
     $s->serialize($data);
     $this->assertEquals('<array><foos><foo>1</foo><foo>2</foo></foos><bars><tag>1</tag><tag>2</tag></bars><tag>test</tag></array>', $s->getSerializedData());
 }
 /**
  * Declaration and ID and system reference
  */
 public function testId()
 {
     $s = new XML_Serializer($this->options);
     $s->setOption(XML_SERIALIZER_OPTION_DOCTYPE_ENABLED, true);
     $s->setOption(XML_SERIALIZER_OPTION_DOCTYPE, array('uri' => 'http://pear.php.net/dtd/package-1.0', 'id' => '-//PHP//PEAR/DTD PACKAGE 1.0'));
     $s->serialize('string');
     $this->assertEquals('<!DOCTYPE string PUBLIC "-//PHP//PEAR/DTD PACKAGE 1.0" "http://pear.php.net/dtd/package-1.0"><string>string</string>', $s->getSerializedData());
 }
Example #14
0
 /**
  * display
  *
  * Output our data array using the PEAR package XML_Serializer. This may
  * not be the optimal output you want for your REST API, but it should
  * display valid XML that can be easily consumed by anyone.
  *
  * @author Joe Stump <*****@*****.**>
  * @return void
  * @link http://pear.php.net/package/XML_Serializer
  */
 public function display()
 {
     $xml = new XML_Serializer();
     $xml->serialize($this->module->getData());
     header("Content-Type: text/xml");
     echo '<?xml version="1.0" encoding="UTF-8" ?>' . "\n";
     echo $xml->getSerializedData();
 }
 /**
  * Add encoding
  */
 public function testEncoding()
 {
     $s = new XML_Serializer($this->options);
     $s->setOption(XML_SERIALIZER_OPTION_XML_DECL_ENABLED, true);
     $s->setOption(XML_SERIALIZER_OPTION_XML_ENCODING, 'ISO-8859-1');
     $s->serialize('string');
     $this->assertEquals('<?xml version="1.0" encoding="ISO-8859-1"?><string>string</string>', $s->getSerializedData());
 }
 /**
  * Test object
  */
 public function testNumberedObjects()
 {
     $s = new XML_Serializer($this->options);
     $s->setOption(XML_SERIALIZER_OPTION_CLASSNAME_AS_TAGNAME, true);
     $s->setOption(XML_SERIALIZER_OPTION_TAGMAP, array('stdClass' => 'foo'));
     $s->serialize(array(new stdClass(), new stdClass()));
     $this->assertEquals('<array><foo /><foo /></array>', strtolower($s->getSerializedData()));
 }
    /**
     * Test a simple string
     */
    public function testUnixLinebreak()
    {
        $s = new XML_Serializer($this->options);
        $s->serialize(array('foo' => 'bar'));
        $this->assertEquals('<array>
<foo>bar</foo>
</array>', $s->getSerializedData());
    }
Example #18
0
 /**
  * display
  *
  * Output our data array using the PEAR package XML_Serializer. This may
  * not be the optimal output you want for your REST API, but it should
  * display valid XML that can be easily consumed by anyone.
  *
  * @access public
  * @return void
  * @link http://pear.php.net/package/XML_Serializer
  */
 public function display()
 {
     $options = array(XML_SERIALIZER_OPTION_XML_DECL_ENABLED => true, XML_SERIALIZER_OPTION_XML_ENCODING => 'UTF-8', XML_SERIALIZER_OPTION_ROOT_NAME => 'result', XML_SERIALIZER_OPTION_TYPEHINTS => true, XML_SERIALIZER_OPTION_DEFAULT_TAG => 'item', XML_SERIALIZER_OPTION_INDENT => '    ');
     $xml = new XML_Serializer($options);
     $xml->serialize($this->module->getData());
     header("Content-Type: text/xml");
     echo '<?xml version="1.0" encoding="UTF-8" ?>' . "\n";
     echo $xml->getSerializedData();
 }
 protected function write($filename, $data)
 {
     $serializer = new XML_Serializer(array('addDecl' => true, 'encoding' => 'ISO-8859-1', 'indent' => '  ', 'rootName' => 'form', 'defaultTagName' => 'tag'));
     $serializer->serialize($data);
     $xml = $serializer->getSerializedData();
     $fp = fopen($filename, 'w+');
     fputs($fp, $xml);
     fclose($fp);
 }
    /**
     * Indent with tabs
     */
    public function testTabs()
    {
        $s = new XML_Serializer($this->options);
        $s->setOption(XML_SERIALIZER_OPTION_INDENT, "\t");
        $s->serialize(array('foo' => 'bar'));
        $this->assertEquals('<array>
	<foo>bar</foo>
</array>', $s->getSerializedData());
    }
Example #21
0
 public function __call($method, $args = array())
 {
     if (!Mage::getStoreConfig('allpago/clearsale/active')) {
         return false;
     }
     $entity_code = Mage::getStoreConfig('allpago/clearsale/ws_key');
     if (Mage::getStoreConfig('allpago/clearsale/ambiente') == 'producao') {
         $url = 'http://www.clearsale.com.br/integracaov2/service.asmx';
     } else {
         $url = 'http://homologacao.clearsale.com.br/integracaov2/service.asmx';
     }
     $serializer_options = array('addDecl' => false, 'encoding' => 'ISO-8859-1', 'indent' => '  ', 'rootName' => 'ClearID_Input', 'mode' => 'simplexml');
     if ($args) {
         $args = current($args);
     }
     if ($method == 'CheckOrderStatus') {
         $fields = array('entityCode' => urlencode($entity_code), 'pedidoID' => $args);
     } else {
         // Conversão de array para xml
         $serializer = new XML_Serializer($serializer_options);
         $status = $serializer->serialize($args);
         if (PEAR::isError($status)) {
             Mage::throwException($status->getMessage());
         }
         $xmlToSend = $serializer->getSerializedData();
         //Passagem de parametros para envio de acordo com manual de integração (EntityCode e xml)
         $fields = array('entityCode' => urlencode($entity_code), 'xmlDados' => $xmlToSend);
     }
     $fields_string = '';
     foreach ($fields as $key => $value) {
         $fields_string .= $key . '=' . $value . '&';
     }
     $time_start = microtime(true);
     $fields_string = substr_replace(rtrim($fields_string), '', -1);
     if (Mage::getStoreConfig('allpago/clearsale/debug')) {
         Mage::log($method . ': ' . print_r($fields_string, true), null, 'clearsale.log');
     }
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url . '/' . $method);
     curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
     $curlresult = curl_exec($ch);
     $err = curl_error($ch);
     curl_close($ch);
     $xml = simplexml_load_string($curlresult);
     $xml = preg_replace('/(<\\?xml[^?]+?)utf-16/i', '$1utf-8', $xml);
     $xml = simplexml_load_string($xml);
     $this->processResult($method, $xml);
     $time_end = microtime(true);
     $time = $time_end - $time_start;
     $info = array();
     $info['url'] = $url;
     $info['method'] = $method;
     $info['execution_time'] = $time;
 }
Example #22
0
 function save($data)
 {
     require_once 'XML/Serializer.php';
     $xmlEngine = new XML_Serializer(array(XML_SERIALIZER_OPTION_DEFAULT_TAG => 'values', XML_SERIALIZER_OPTION_INDENT => '    '));
     $xmlresult = $xmlEngine->serialize($data);
     $locale = AMP_LOCAL_PATH . '/custom/' . $this->describeFile('_');
     //$this->saveFile( $xmlEngine->getSerializedData(), AMP_pathFlip( $locale ));
     $this->saveFile($xmlEngine->getSerializedData(), $locale);
 }
 /**
  * Object with null value
  */
 public function testObject()
 {
     $obj = new stdClass();
     $obj->foo = 'bar';
     $obj->null = null;
     $s = new XML_Serializer($this->options);
     $s->serialize($obj);
     $this->assertEquals('<stdClass><foo>bar</foo></stdClass>', $s->getSerializedData());
 }
Example #24
0
 function execute()
 {
     $podcast = $this->podcast;
     $items = $podcast->getItems();
     $options = array(XML_SERIALIZER_OPTION_INDENT => "\t", XML_SERIALIZER_OPTION_XML_DECL_ENABLED => true, XML_SERIALIZER_OPTION_XML_ENCODING => 'utf-8', XML_SERIALIZER_OPTION_MODE => XML_SERIALIZER_MODE_SIMPLEXML, XML_SERIALIZER_OPTION_ROOT_NAME => 'rss', XML_SERIALIZER_OPTION_ROOT_ATTRIBS => array('version' => "2.0", 'xmlns:itunes' => 'http://www.itunes.com/dtds/podcast-1.0.dtd'), XML_SERIALIZER_OPTION_ATTRIBUTES_KEY => "_attributes", XML_SERIALIZER_OPTION_ENTITIES => XML_SERIALIZER_ENTITIES_NONE, XML_SERIALIZER_OPTION_ENCODE_FUNC => 'htmlspecialchars', XML_SERIALIZER_OPTION_IGNORE_NULL => true);
     $serializer = new XML_Serializer($options);
     $rss = array("channel" => array("title" => $podcast->getData('title'), "link" => $this->getLink($podcast), "description" => $podcast->getData('description'), "copyright" => $podcast->getData('copyright'), "generator" => $this->getGenerator(), "lastBuildDate" => date('D, j M Y G:i:s T', strtotime($podcast->lastBuildDate())), "language" => $podcast->getData('language'), "ttl" => $podcast->getData('ttl'), "itunes:summary" => $podcast->getData('description'), "itunes:subtitle" => $podcast->getData('subtitle'), "itunes:author" => $podcast->getData('author'), "itunes:keywords" => join(' ', $this->allKeywords($items)), "itunes:owner" => array("itunes:name" => $podcast->getData('author'), "itunes:email" => $podcast->getData('email')), "image" => ($url = $this->imageLink($podcast)) ? array("url" => $url, "title" => $podcast->getData('title'), "link" => $this->getLink($podcast)) : null, "itunes:image" => array("_attributes" => array("href" => $this->imageLink($podcast))), "itunes:category" => $this->categoriesToAttrArray($podcast->getData('category')), "item" => $this->itemSetToRSSArray($podcast->getItems())));
     $status = $serializer->serialize($rss);
     return $serializer->getSerializedData();
 }
Example #25
0
File: XML.php Project: romeo14/pow
 /**
  * Signals that no more tokens are available
  *
  * @abstract
  * @access public
  */
 function finalize()
 {
     // call parent's finalize(), then serialize array into XML
     parent::finalize();
     $output = parent::getOutput();
     $serializer = new XML_Serializer($this->_serializer_options);
     $result = $serializer->serialize($output);
     if ($result === true) {
         $this->_output = $serializer->getSerializedData();
     }
 }
function json_to_xml($json)
{
    get_lib("Serializer");
    $serializer = new XML_Serializer();
    $obj = json_decode($json);
    if ($serializer->serialize($obj)) {
        return $serializer->getSerializedData();
    } else {
        return null;
    }
}
Example #27
0
 /**
  * Serialize a data array as a text string of XML data
  *
  * @param Array $data the array of data to be serialized
  * @param Array $options an array of options overrides (optional)
  * @return String the data serialized as a text string of XML data
  */
 public static function serialize($data, $options = array())
 {
     load_plugin('XML/Serializer');
     $options = array_merge(self::$defaults, $options);
     $serializer = new XML_Serializer($options);
     $status = $serializer->serialize($data);
     if (PEAR::isError($status)) {
         throw new Exception($status->getMessage());
     }
     return $serializer->getSerializedData();
 }
Example #28
0
 public function asXML()
 {
     $seri_opt = array('indent' => '     ', 'rootName' => 'role', 'ignoreNull' => true);
     $seri = new \XML_Serializer($seri_opt);
     $res = $seri->serialize($this);
     if ($res === true) {
         return $seri->getSerializedData();
     } else {
         return false;
     }
 }
Example #29
0
 public function asXML()
 {
     $seri_opt = array('indent' => '     ', 'rootName' => 'entityResource', 'ignoreNull' => true, 'attributesArray' => '_attributes');
     $seri = new \XML_Serializer($seri_opt);
     $res = $seri->serialize($this);
     if ($res === true) {
         return $seri->getSerializedData();
     } else {
         return false;
     }
 }
Example #30
-11
 public static function Encode($requestObject)
 {
     $soap = "";
     try {
         $writer = new XMLWriter();
         $writer->openMemory();
         $writer->startDocument();
         $writer->setIndent(4);
         $writer->startElement("soap:Envelope");
         $writer->writeAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
         $writer->writeAttribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
         $writer->writeAttribute("xmlns:soap", "http://schemas.xmlsoap.org/soap/envelope/");
         $writer->startElement("soap:Body");
         $options = array(XML_SERIALIZER_OPTION_INDENT => '    ', XML_SERIALIZER_OPTION_LINEBREAKS => "\n", XML_SERIALIZER_OPTION_DEFAULT_TAG => '', XML_SERIALIZER_OPTION_TYPEHINTS => false, XML_SERIALIZER_OPTION_IGNORE_NULL => true, XML_SERIALIZER_OPTION_CLASSNAME_AS_TAGNAME => true);
         $serializer = new XML_Serializer($options);
         $result = $serializer->serialize($requestObject);
         if ($result === true) {
             $xml = $serializer->getSerializedData();
             $xml = str_replace('<>', '', $xml);
             $xml = str_replace('</>', '', $xml);
         }
         $writer->writeRaw($xml);
         $writer->endElement();
         $writer->endElement();
         $writer->endDocument();
         $soap = $writer->flush();
         $soap = str_replace("<?xml version=\"1.0\"?>", "", $soap);
     } catch (Exception $ex) {
         throw new Exception("Error occurred while Soap encoding");
     }
     return $soap;
 }