/**
  * create jasper config information used for input for executing the report
  *
  * @param string $report_source full path to the jrxml-report definition file
  *
  * @return array Array with referense to the config-file and report name
  */
 protected static function _create_jasper_info($report_source)
 {
     $info = pathinfo($report_source);
     $base_name = basename($report_source, '.' . $info['extension']);
     $report_name = "report_{$base_name}";
     $memory = xmlwriter_open_memory();
     xmlwriter_start_document($memory, '1.0', 'UTF-8');
     xmlwriter_start_element($memory, 'JasperConfig');
     // <JasperConfig>
     xmlwriter_start_element($memory, 'Reports');
     // <Reports>
     xmlwriter_start_element($memory, 'Report');
     // <Report>
     xmlwriter_write_attribute($memory, 'name', $report_name);
     xmlwriter_write_attribute($memory, 'source', $report_source);
     xmlwriter_end_element($memory);
     // </Report>
     xmlwriter_end_element($memory);
     // </Reports>
     xmlwriter_end_element($memory);
     // </JasperConfig>
     $xml = xmlwriter_output_memory($memory, true);
     $jasper_info = array('config' => $GLOBALS['phpgw_info']['server']['temp_dir'] . '/' . uniqid('config_') . "{$base_name}.xml", 'report_name' => $report_name);
     $fp = fopen($jasper_info['config'], "wb");
     fwrite($fp, $xml);
     if (!fclose($fp)) {
         throw new Exception('jasper_wrapper::create_jasper_config did not write any config file');
     }
     return $jasper_info;
 }
function FirstContact()
{
    global $db, $xmlout;
    $db->init_log(1);
    $time = localtime(time(), true);
    $VerifyID = $time['tm_min'] + $time['tm_sec'];
    $RecordID = $db->add_usage_record($VerifyID);
    $memory = xmlwriter_open_memory();
    xmlwriter_start_document($memory, '1.0', 'UTF-8');
    xmlwriter_write_dtd($memory, "AWB");
    xmlwriter_start_element($memory, "DB");
    xmlwriter_write_attribute($memory, "Record", $RecordID);
    xmlwriter_write_attribute($memory, "Verify", $VerifyID);
    xmlwriter_end_element($memory);
    $xmlout = xmlwriter_output_memory($memory, true);
}
Example #3
0
 /**
  * @brief Generate an RSS feed
  * @param string $link
  * @param string $content
  */
 public static function generaterss($link, $content)
 {
     $writer = xmlwriter_open_memory();
     xmlwriter_set_indent($writer, 4);
     xmlwriter_start_document($writer, '1.0', 'utf-8');
     xmlwriter_start_element($writer, 'rss');
     xmlwriter_write_attribute($writer, 'version', '2.0');
     xmlwriter_write_attribute($writer, 'xmlns:atom', 'http://www.w3.org/2005/Atom');
     xmlwriter_start_element($writer, 'channel');
     xmlwriter_write_element($writer, 'title', 'my ownCloud');
     xmlwriter_write_element($writer, 'language', 'en-us');
     xmlwriter_write_element($writer, 'link', $link);
     xmlwriter_write_element($writer, 'description', 'A personal ownCloud activities');
     xmlwriter_write_element($writer, 'pubDate', date('r'));
     xmlwriter_write_element($writer, 'lastBuildDate', date('r'));
     xmlwriter_start_element($writer, 'atom:link');
     xmlwriter_write_attribute($writer, 'href', $link);
     xmlwriter_write_attribute($writer, 'rel', 'self');
     xmlwriter_write_attribute($writer, 'type', 'application/rss+xml');
     xmlwriter_end_element($writer);
     // items
     for ($i = 0; $i < count($content); $i++) {
         xmlwriter_start_element($writer, 'item');
         if (isset($content[$i]['subject'])) {
             xmlwriter_write_element($writer, 'title', $content[$i]['subject']);
         }
         if (isset($content[$i]['link'])) {
             xmlwriter_write_element($writer, 'link', $content[$i]['link']);
         }
         if (isset($content[$i]['link'])) {
             xmlwriter_write_element($writer, 'guid', $content[$i]['link']);
         }
         if (isset($content[$i]['timestamp'])) {
             xmlwriter_write_element($writer, 'pubDate', date('r', $content[$i]['timestamp']));
         }
         if (isset($content[$i]['message'])) {
             xmlwriter_start_element($writer, 'description');
             xmlwriter_start_cdata($writer);
             xmlwriter_text($writer, $content[$i]['message']);
             xmlwriter_end_cdata($writer);
             xmlwriter_end_element($writer);
         }
         xmlwriter_end_element($writer);
     }
     xmlwriter_end_element($writer);
     xmlwriter_end_element($writer);
     xmlwriter_end_document($writer);
     $entry = xmlwriter_output_memory($writer);
     unset($writer);
     return $entry;
 }
Example #4
0
 /**
  * generates the xml or json response for the API call from an multidimenional data array.
  * @param string $format
  * @param string $status
  * @param string $statuscode
  * @param string $message
  * @param array $data
  * @param string $tag
  * @param string $tagattribute
  * @param int $dimension
  * @param int $itemscount
  * @param int $itemsperpage
  * @return string xml/json
  */
 private static function generateXml($format, $status, $statuscode, $message, $data = array(), $tag = '', $tagattribute = '', $dimension = -1, $itemscount = '', $itemsperpage = '')
 {
     if ($format == 'json') {
         $json = array();
         $json['status'] = $status;
         $json['statuscode'] = $statuscode;
         $json['message'] = $message;
         $json['totalitems'] = $itemscount;
         $json['itemsperpage'] = $itemsperpage;
         $json['data'] = $data;
         return json_encode($json);
     } else {
         $txt = '';
         $writer = xmlwriter_open_memory();
         xmlwriter_set_indent($writer, 2);
         xmlwriter_start_document($writer);
         xmlwriter_start_element($writer, 'ocs');
         xmlwriter_start_element($writer, 'meta');
         xmlwriter_write_element($writer, 'status', $status);
         xmlwriter_write_element($writer, 'statuscode', $statuscode);
         xmlwriter_write_element($writer, 'message', $message);
         if ($itemscount != '') {
             xmlwriter_write_element($writer, 'totalitems', $itemscount);
         }
         if (!empty($itemsperpage)) {
             xmlwriter_write_element($writer, 'itemsperpage', $itemsperpage);
         }
         xmlwriter_end_element($writer);
         if ($dimension == '0') {
             // 0 dimensions
             xmlwriter_write_element($writer, 'data', $data);
         } elseif ($dimension == '1') {
             xmlwriter_start_element($writer, 'data');
             foreach ($data as $key => $entry) {
                 xmlwriter_write_element($writer, $key, $entry);
             }
             xmlwriter_end_element($writer);
         } elseif ($dimension == '2') {
             xmlwriter_start_element($writer, 'data');
             foreach ($data as $entry) {
                 xmlwriter_start_element($writer, $tag);
                 if (!empty($tagattribute)) {
                     xmlwriter_write_attribute($writer, 'details', $tagattribute);
                 }
                 foreach ($entry as $key => $value) {
                     if (is_array($value)) {
                         foreach ($value as $k => $v) {
                             xmlwriter_write_element($writer, $k, $v);
                         }
                     } else {
                         xmlwriter_write_element($writer, $key, $value);
                     }
                 }
                 xmlwriter_end_element($writer);
             }
             xmlwriter_end_element($writer);
         } elseif ($dimension == '3') {
             xmlwriter_start_element($writer, 'data');
             foreach ($data as $entrykey => $entry) {
                 xmlwriter_start_element($writer, $tag);
                 if (!empty($tagattribute)) {
                     xmlwriter_write_attribute($writer, 'details', $tagattribute);
                 }
                 foreach ($entry as $key => $value) {
                     if (is_array($value)) {
                         xmlwriter_start_element($writer, $entrykey);
                         foreach ($value as $k => $v) {
                             xmlwriter_write_element($writer, $k, $v);
                         }
                         xmlwriter_end_element($writer);
                     } else {
                         xmlwriter_write_element($writer, $key, $value);
                     }
                 }
                 xmlwriter_end_element($writer);
             }
             xmlwriter_end_element($writer);
         } elseif ($dimension == 'dynamic') {
             xmlwriter_start_element($writer, 'data');
             OC_OCS::toxml($writer, $data, 'comment');
             xmlwriter_end_element($writer);
         }
         xmlwriter_end_element($writer);
         xmlwriter_end_document($writer);
         $txt .= xmlwriter_output_memory($writer);
         unset($writer);
         return $txt;
     }
 }
 /**
  * Write CDATA into element, escape unallowed character sequences "]]>"
  * @param     string    $cdata      A string to write
  */
 function xmlwriter_write_cdata($cdata)
 {
     $count = -1;
     $cdata = str_replace(']]>', $this->cdata_escape_sequence, $cdata, $count);
     if ($count > 0) {
         xmlwriter_write_attribute($this->xml, 'cdata_replaces_count', $count);
         xmlwriter_write_attribute($this->xml, 'cdata_replaced_from', ']]>');
         xmlwriter_write_attribute($this->xml, 'cdata_replaced_to', $this->cdata_escape_sequence);
     }
     xmlwriter_write_cdata($this->xml, $cdata);
 }
 protected function get_xmldata($id = 0, $current_value)
 {
     $this->db =& $GLOBALS['phpgw']->db;
     $id = (int) $id;
     $sql = "SELECT * FROM fm_entity_1_11 WHERE id = {$id}";
     $this->db->query($sql, __LINE__, __FILE__);
     $anlegg = array();
     $TreeID = $this->type;
     $PeriodFrom = date('Ym');
     if ($current_value) {
         $PeriodTo = 209912;
     } else {
         $PeriodTo = '000000';
     }
     $memory = xmlwriter_open_memory();
     xmlwriter_set_indent($memory, true);
     xmlwriter_start_document($memory, '1.0', 'UTF-8');
     xmlwriter_start_element($memory, 'TreeListe');
     xmlwriter_write_attribute($memory, 'TreeID', $TreeID);
     xmlwriter_write_attribute($memory, 'xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
     xmlwriter_write_attribute($memory, 'xsi:noNamespaceSchemaLocation', 'TreeListe.xsd');
     while ($this->db->next_record()) {
         xmlwriter_start_element($memory, 'Tree');
         xmlwriter_write_element($memory, 'ID', 'TJ');
         xmlwriter_write_element($memory, 'Verdi', substr($this->db->f('maalepunkt_id'), -8));
         xmlwriter_write_element($memory, 'Beskrivelse', $this->db->f('address'));
         xmlwriter_write_element($memory, 'Firma', 'BB');
         xmlwriter_write_element($memory, 'PeriodeFra', $PeriodFrom);
         xmlwriter_write_element($memory, 'PeriodeTil', $PeriodTo);
         xmlwriter_write_element($memory, 'Status', 'N');
         xmlwriter_start_element($memory, 'BegrepsLister');
         xmlwriter_start_element($memory, 'BegrepsListe');
         xmlwriter_write_attribute($memory, 'Prosent', 100);
         xmlwriter_start_element($memory, 'Begrep');
         xmlwriter_write_comment($memory, 'Firma');
         xmlwriter_write_element($memory, 'ID', 'A3');
         xmlwriter_write_element($memory, 'Verdi', 'BB');
         xmlwriter_end_element($memory);
         xmlwriter_start_element($memory, 'Begrep');
         xmlwriter_write_comment($memory, 'Art');
         xmlwriter_write_element($memory, 'ID', 'A0');
         xmlwriter_write_element($memory, 'Verdi', '12304121');
         xmlwriter_end_element($memory);
         xmlwriter_start_element($memory, 'Begrep');
         xmlwriter_write_comment($memory, 'Asvar');
         xmlwriter_write_element($memory, 'ID', 'C1');
         xmlwriter_write_element($memory, 'Verdi', 45);
         xmlwriter_end_element($memory);
         xmlwriter_start_element($memory, 'Begrep');
         xmlwriter_write_comment($memory, 'Tjeneste');
         xmlwriter_write_element($memory, 'ID', 'TJE');
         xmlwriter_write_element($memory, 'Verdi', '');
         xmlwriter_end_element($memory);
         xmlwriter_start_element($memory, 'Begrep');
         xmlwriter_write_comment($memory, 'Objekt');
         xmlwriter_write_element($memory, 'ID', 'F0');
         xmlwriter_write_element($memory, 'Verdi', $this->db->f('loc1'));
         xmlwriter_end_element($memory);
         xmlwriter_start_element($memory, 'Begrep');
         xmlwriter_write_comment($memory, 'Prosjekt');
         xmlwriter_write_element($memory, 'ID', 'B0');
         xmlwriter_write_element($memory, 'Verdi', '');
         xmlwriter_end_element($memory);
         xmlwriter_start_element($memory, 'Begrep');
         xmlwriter_write_comment($memory, 'Fagkode');
         xmlwriter_write_element($memory, 'ID', 'B1');
         xmlwriter_write_element($memory, 'Verdi', '999');
         xmlwriter_end_element($memory);
         xmlwriter_start_element($memory, 'Begrep');
         xmlwriter_write_comment($memory, 'AV');
         xmlwriter_write_element($memory, 'ID', 'AV');
         xmlwriter_write_element($memory, 'Verdi', '');
         xmlwriter_end_element($memory);
         xmlwriter_end_element($memory);
         xmlwriter_end_element($memory);
         xmlwriter_end_element($memory);
     }
     xmlwriter_end_element($memory);
     $xml = xmlwriter_output_memory($memory, true);
     if ($this->debug) {
         header('Content-type: text/xml');
         echo $xml;
         die;
     }
     return $xml;
 }
Example #7
0
<?php

// begin a new memory based XML document
$w = xmlwriter_open_memory();
// set indenting (makes output readable)
xmlwriter_set_indent($w, TRUE);
xmlwriter_start_document($w);
// start document
xmlwriter_start_element($w, "test");
// start <test>
xmlwriter_start_element($w, "example");
// start node <example>
xmlwriter_write_attribute($w, "id", 1);
// add attribute to example
xmlwriter_start_element($w, "data");
// add node <data>
xmlwriter_text($w, "Some text");
// add content to node
xmlwriter_end_element($w);
// close node
// close all open nodes
xmlwriter_end_element($w);
xmlwriter_end_element($w);
// end document
xmlwriter_end_document($w);
// output generated XML
echo '<pre>' . htmlentities(xmlwriter_output_memory($w)) . '</pre>';
Example #8
0
<?php

/* $Id$ */
$doc_dest = '001.xml';
$xw = xmlwriter_open_memory($doc_dest);
xmlwriter_start_document($xw, '1.0', 'UTF-8');
xmlwriter_start_element($xw, "tag1");
$res = xmlwriter_start_attribute($xw, 'attr1');
xmlwriter_text($xw, "attr1_value");
xmlwriter_end_attribute($xw);
xmlwriter_write_attribute($xw, "att2", "att2_value");
xmlwriter_text($xw, "Test text for tag1");
$res = xmlwriter_start_element($xw, 'tag2');
if ($res < 1) {
    echo "StartElement context validation failed\n";
    exit;
}
xmlwriter_end_document($xw);
// Force to write and empty the buffer
echo xmlwriter_flush($xw, true);
?>
===DONE===
Example #9
0
 /**
  * Sets our 3DSecure request to confirm the transaction.
  *
  * @param string $pares
  * @param string $reference
  * @param string $method
  * @return SimpleXML
  * 
  */
 function set3DSecureAuthRequest($pares, $reference, $method = 'deposits')
 {
     if (is_null($pares) || empty($pares)) {
         throw new Zend_Exception('PaRes is not set');
     }
     if (strlen($reference) !== 16) {
         throw new Zend_Exception('Reference must be 16 characters long');
     }
     $xml = xmlwriter_open_memory();
     xmlwriter_start_element($xml, 'Request');
     $auth = $this->_handleAuth($method);
     xmlwriter_write_raw($xml, $auth);
     xmlwriter_start_element($xml, 'Transaction');
     xmlwriter_start_element($xml, 'HistoricTxn');
     xmlwriter_write_element($xml, 'reference', $reference);
     xmlwriter_start_element($xml, 'method');
     xmlwriter_write_attribute($xml, 'tx_status_u', 'accept');
     xmlwriter_write_raw($xml, 'threedsecure_authorization_request');
     xmlwriter_end_element($xml);
     xmlwriter_write_element($xml, 'pares_message', $pares);
     xmlwriter_end_element($xml);
     xmlwriter_end_element($xml);
     xmlwriter_end_element($xml);
     return xmlwriter_output_memory($xml, true);
 }
<?php

$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, TRUE);
xmlwriter_start_document($xw, NULL, "UTF-8");
xmlwriter_start_element($xw, 'root');
xmlwriter_write_attribute_ns($xw, 'prefix', '', 'http://www.php.net/uri');
xmlwriter_start_element($xw, 'elem1');
xmlwriter_write_attribute($xw, 'attr1', 'first');
xmlwriter_end_element($xw);
xmlwriter_full_end_element($xw);
xmlwriter_end_document($xw);
$output = xmlwriter_flush($xw, true);
print $output;
// write attribute_ns without start_element first
$xw = xmlwriter_open_memory();
var_dump(xmlwriter_write_attribute_ns($xw, 'prefix', 'id', 'http://www.php.net/uri', 'elem1'));
print xmlwriter_output_memory($xw);
Example #11
0
    if ($x !== $y) {
        echo "Failed: {$y}\n";
        echo "got: {$x}\n";
    }
}
function VERIFY($x)
{
    VS($x, true);
}
$xml = xmlwriter_open_memory();
var_dump($xml);
VERIFY(xmlwriter_set_indent($xml, true));
VERIFY(xmlwriter_set_indent_string($xml, "  "));
VERIFY(xmlwriter_start_document($xml, "1.0", "utf-8"));
VERIFY(xmlwriter_start_element($xml, "node"));
VERIFY(xmlwriter_write_attribute($xml, "name", "value"));
VERIFY(xmlwriter_start_attribute($xml, "name2"));
VERIFY(xmlwriter_end_attribute($xml));
VERIFY(xmlwriter_write_element($xml, "subnode", "some text"));
VERIFY(xmlwriter_end_element($xml));
VERIFY(xmlwriter_start_element_ns($xml, "fb", "node", "http://www.facebook.com/"));
VERIFY(xmlwriter_write_attribute_ns($xml, "fb", "attr", "http://www.facebook.com/", "value"));
VERIFY(xmlwriter_start_attribute_ns($xml, "fb", "attr2", "http://www.facebook.com/"));
VERIFY(xmlwriter_end_attribute($xml));
VERIFY(xmlwriter_write_element_ns($xml, "prefix", "name", "http://some.url/", 1337));
VERIFY(xmlwriter_start_element($xml, "node"));
VERIFY(xmlwriter_full_end_element($xml));
VERIFY(xmlwriter_end_element($xml));
VERIFY(xmlwriter_start_element($xml, "node"));
VERIFY(xmlwriter_start_cdata($xml));
VERIFY(xmlwriter_text($xml, "Raw text"));
Example #12
0
/**
 * Renders an xml_element structure to XMLWriter memory. This
 * basically acts as a wrapper for api_xml2_render_object, first
 * parsing through xml_element layers and then calling api_xml2_render_object
 * to actually render the objects and arrays found.
 *
 * @param $xml_memory the xmlwriter memory to use (created with xmlwriter_open_memory())
 * @param $object     the xml_element to be rendered
 */
function api_xml3_render_object($xml_memory, $object)
{
    if (is_array($object->value) && isset($object->value[0]) && $object->value[0] instanceof xml_element) {
        xmlwriter_start_element($xml_memory, $object->name);
        if (isset($object->attrs)) {
            foreach ($object->attrs as $k => $v) {
                xmlwriter_write_attribute($xml_memory, $k, $v);
            }
        }
        foreach ($object->value as $elem) {
            api_xml3_render_object($xml_memory, $elem);
        }
        xmlwriter_end_element($xml_memory);
    } else {
        api_xml2_render_object($xml_memory, $object->name, $object->value, $object->attrs);
    }
}