本文整理汇总了PHP中XML_Util::getXMLDeclaration方法的典型用法代码示例。如果您正苦于以下问题:PHP XML_Util::getXMLDeclaration方法的具体用法?PHP XML_Util::getXMLDeclaration怎么用?PHP XML_Util::getXMLDeclaration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XML_Util
的用法示例。
在下文中一共展示了XML_Util::getXMLDeclaration方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: htmlspecialchars
print XML_Util::replaceEntities("This string contains < & >.");
print "\n<br><br>\n";
/**
* reversing XML entities
*/
print "replace XML entities:<br>\n";
print XML_Util::reverseEntities("This string contains < & >.");
print "\n<br><br>\n";
/**
* building XML declaration
*/
print "building XML declaration:<br>\n";
print htmlspecialchars(XML_Util::getXMLDeclaration());
print "\n<br><br>\n";
print "building XML declaration with additional attributes:<br>";
print htmlspecialchars(XML_Util::getXMLDeclaration("1.0", "UTF-8", true));
print "\n<br><br>\n";
/**
* building document type declaration
*/
print "building DocType declaration:<br>\n";
print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', 'http://pear.php.net/dtd/package-1.0'));
print "\n<br><br>\n";
print "building DocType declaration with public ID (does not exist):<br>\n";
print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', array('uri' => 'http://pear.php.net/dtd/package-1.0', 'id' => '-//PHP//PEAR/DTD PACKAGE 0.1')));
print "\n<br><br>\n";
print "building DocType declaration with internal DTD:<br>\n";
print "<pre>";
print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', 'http://pear.php.net/dtd/package-1.0', '<!ELEMENT additionalInfo (#PCDATA)>'));
print "</pre>";
print "\n<br><br>\n";
示例2: toString
/**
* Returns a formatted string of the object
* @param object $obj Container object to be output as string
* @access public
* @return string
*/
function toString(&$obj)
{
$indent = '';
if (!$obj->isRoot()) {
// no indent for root
$this->_deep++;
$indent = str_repeat($this->options['indent'], $this->_deep);
} else {
// Initialize string with xml declaration
$string = '';
if ($this->options['addDecl']) {
$string .= XML_Util::getXMLDeclaration($this->options['version'], $this->options['encoding']);
$string .= $this->options['linebreak'];
}
if (!empty($this->options['name'])) {
$string .= '<' . $this->options['name'] . '>' . $this->options['linebreak'];
$this->_deep++;
$indent = str_repeat($this->options['indent'], $this->_deep);
}
}
if (!isset($string)) {
$string = '';
}
switch ($obj->type) {
case 'directive':
$attributes = $this->options['useAttr'] ? $obj->attributes : array();
$string .= $indent . XML_Util::createTag($obj->name, $attributes, $obj->content, null, $this->options['useCData'] ? XML_UTIL_CDATA_SECTION : XML_UTIL_REPLACE_ENTITIES);
$string .= $this->options['linebreak'];
break;
case 'comment':
$string .= $indent . '<!-- ' . $obj->content . ' -->';
$string .= $this->options['linebreak'];
break;
case 'section':
if (!$obj->isRoot()) {
$string = $indent . '<' . $obj->name;
$string .= $this->options['useAttr'] ? XML_Util::attributesToString($obj->attributes) : '';
}
if ($children = count($obj->children)) {
if (!$obj->isRoot()) {
$string .= '>' . $this->options['linebreak'];
}
for ($i = 0; $i < $children; $i++) {
$string .= $this->toString($obj->getChild($i));
}
}
if (!$obj->isRoot()) {
if ($children) {
$string .= $indent . '</' . $obj->name . '>' . $this->options['linebreak'];
} else {
$string .= '/>' . $this->options['linebreak'];
}
} else {
if (!empty($this->options['name'])) {
$string .= '</' . $this->options['name'] . '>' . $this->options['linebreak'];
}
}
break;
default:
$string = '';
}
if (!$obj->isRoot()) {
$this->_deep--;
}
return $string;
}
示例3: serialize
/**
* serialize data
*
* @access public
* @param mixed $data data to serialize
* @return boolean true on success, pear error on failure
*/
function serialize($data, $options = null)
{
// if options have been specified, use them instead
// of the previously defined ones
if (is_array($options)) {
$optionsBak = $this->options;
if (isset($options['overrideOptions']) && $options['overrideOptions'] == true) {
$this->options = array_merge($this->_defaultOptions, $options);
} else {
$this->options = array_merge($this->options, $options);
}
} else {
$optionsBak = null;
}
// start depth is zero
$this->_tagDepth = 0;
$this->_serializedData = '';
// serialize an array
if (is_array($data)) {
if (isset($this->options['rootName'])) {
$tagName = $this->options['rootName'];
} else {
$tagName = 'array';
}
$this->_serializedData .= $this->_serializeArray($data, $tagName, $this->options['rootAttributes']);
}
// add doctype declaration
if ($this->options['addDoctype'] === true) {
$this->_serializedData = XML_Util::getDoctypeDeclaration($tagName, $this->options['doctype']) . $this->options['linebreak'] . $this->_serializedData;
}
// build xml declaration
if ($this->options['addDecl']) {
$atts = array();
if (isset($this->options['encoding'])) {
$encoding = $this->options['encoding'];
} else {
$encoding = null;
}
$this->_serializedData = XML_Util::getXMLDeclaration('1.0', $encoding) . $this->options['linebreak'] . $this->_serializedData;
}
if ($optionsBak !== null) {
$this->options = $optionsBak;
}
return true;
}
示例4: _serializeToken
//.........这里部分代码省略.........
/*
* serialize entity
*/
case XML_BEAUTIFIER_ENTITY:
if ($token["depth"] > 0) {
$xml = str_repeat($this->_options["indent"], $token["depth"]);
} else {
$xml = "";
}
$xml .= "&" . $token["name"] . ";" . $this->_options["linebreak"];
break;
/*
* serialize Processing instruction
*/
/*
* serialize Processing instruction
*/
case XML_BEAUTIFIER_PI:
$indent = $this->_getIndentString($token["depth"]);
$xml = $indent . "<?" . $token["target"] . $this->_options["linebreak"] . $this->_indentTextBlock(rtrim($token["data"]), $token["depth"]) . $indent . "?>" . $this->_options["linebreak"];
break;
/*
* comments
*/
/*
* comments
*/
case XML_BEAUTIFIER_COMMENT:
$lines = count(explode("\n", $token["data"]));
/*
* normalize comment, i.e. combine it to one
* line and remove whitespace
*/
if ($this->_options["normalizeComments"] && $lines > 1) {
$comment = preg_replace("/\\s\\s+/s", " ", str_replace("\n", " ", $token["data"]));
$lines = 1;
} else {
$comment = $token["data"];
}
/*
* check for the maximum length of one line
*/
if ($this->_options["maxCommentLine"] > 0) {
if ($lines > 1) {
$commentLines = explode("\n", $comment);
} else {
$commentLines = array($comment);
}
$comment = "";
for ($i = 0; $i < $lines; $i++) {
if (strlen($commentLines[$i]) <= $this->_options["maxCommentLine"]) {
$comment .= $commentLines[$i];
continue;
}
$comment .= wordwrap($commentLines[$i], $this->_options["maxCommentLine"]);
if ($i != $lines - 1) {
$comment .= "\n";
}
}
$lines = count(explode("\n", $comment));
}
$indent = $this->_getIndentString($token["depth"]);
if ($lines > 1) {
$xml = $indent . "<!--" . $this->_options["linebreak"] . $this->_indentTextBlock($comment, $token["depth"] + 1, true) . $indent . "-->" . $this->_options["linebreak"];
} else {
$xml = $indent . sprintf("<!-- %s -->", trim($comment)) . $this->_options["linebreak"];
}
break;
/*
* xml declaration
*/
/*
* xml declaration
*/
case XML_BEAUTIFIER_XML_DECLARATION:
$indent = $this->_getIndentString($token["depth"]);
$xml = $indent . XML_Util::getXMLDeclaration($token["version"], $token["encoding"], $token["standalone"]);
break;
/*
* xml declaration
*/
/*
* xml declaration
*/
case XML_BEAUTIFIER_DT_DECLARATION:
$xml = $token["data"];
break;
/*
* all other elements
*/
/*
* all other elements
*/
case XML_BEAUTIFIER_DEFAULT:
default:
$xml = XML_Util::replaceEntities($token["data"]);
break;
}
return $xml;
}
示例5: serialize
/**
* serialize data
*
* @param mixed $data data to serialize
* @param array $options options array
*
* @return boolean true on success, pear error on failure
* @access public
* @uses XML_Util::getDoctypeDeclaration()
* @uses XML_Util::getXMLDeclaration()
* @internal uses error suppression "@settype()"
*/
function serialize($data, $options = null)
{
// if options have been specified, use them instead
// of the previously defined ones
if (is_array($options)) {
$optionsBak = $this->options;
if (isset($options['overrideOptions']) && $options['overrideOptions'] == true) {
$this->options = array_merge($this->_defaultOptions, $options);
} else {
$this->options = array_merge($this->options, $options);
}
} else {
$optionsBak = null;
}
// start depth is zero
$this->_tagDepth = 0;
$rootAttributes = $this->options[XML_SERIALIZER_OPTION_ROOT_ATTRIBS];
if (isset($this->options[XML_SERIALIZER_OPTION_NAMESPACE]) && is_array($this->options[XML_SERIALIZER_OPTION_NAMESPACE])) {
$rootAttributes['xmlns:' . $this->options[XML_SERIALIZER_OPTION_NAMESPACE][0]] = $this->options[XML_SERIALIZER_OPTION_NAMESPACE][1];
}
$this->_serializedData = '';
// serialize an array
if (is_array($data)) {
if (isset($this->options[XML_SERIALIZER_OPTION_ROOT_NAME])) {
$tagName = $this->options[XML_SERIALIZER_OPTION_ROOT_NAME];
} else {
$tagName = 'array';
}
$this->_serializedData .= $this->_serializeArray($data, $tagName, $rootAttributes);
} elseif (is_object($data)) {
// serialize an object
if (isset($this->options[XML_SERIALIZER_OPTION_ROOT_NAME])) {
$tagName = $this->options[XML_SERIALIZER_OPTION_ROOT_NAME];
} else {
$tagName = get_class($data);
}
$this->_serializedData .= $this->_serializeObject($data, $tagName, $rootAttributes);
} else {
$tag = array();
if (isset($this->options[XML_SERIALIZER_OPTION_ROOT_NAME])) {
$tag['qname'] = $this->options[XML_SERIALIZER_OPTION_ROOT_NAME];
} else {
$tag['qname'] = gettype($data);
}
$tagName = $tag['qname'];
if ($this->options[XML_SERIALIZER_OPTION_TYPEHINTS] === true) {
$rootAttributes[$this->options[XML_SERIALIZER_OPTION_ATTRIBUTE_TYPE]] = gettype($data);
}
if (!is_bool($data)) {
$tag['content'] = $data;
} elseif ($data === false) {
if ($this->options[XML_SERIALIZER_OPTION_FALSE_AS_STRING] === true) {
$tag['content'] = '0';
} else {
$tag['content'] = '';
}
} else {
$tag['content'] = $data;
}
@settype($data, 'string');
$tag['attributes'] = $rootAttributes;
$this->_serializedData = $this->_createXMLTag($tag);
}
// add doctype declaration
if ($this->options[XML_SERIALIZER_OPTION_DOCTYPE_ENABLED] === true) {
$this->_serializedData = XML_Util::getDoctypeDeclaration($tagName, $this->options[XML_SERIALIZER_OPTION_DOCTYPE]) . $this->options[XML_SERIALIZER_OPTION_LINEBREAKS] . $this->_serializedData;
}
// build xml declaration
if ($this->options[XML_SERIALIZER_OPTION_XML_DECL_ENABLED]) {
$atts = array();
$this->_serializedData = XML_Util::getXMLDeclaration('1.0', $this->options[XML_SERIALIZER_OPTION_XML_ENCODING]) . $this->options[XML_SERIALIZER_OPTION_LINEBREAKS] . $this->_serializedData;
}
if ($this->options[XML_SERIALIZER_OPTION_RETURN_RESULT] === true) {
$result = $this->_serializedData;
} else {
$result = true;
}
if ($optionsBak !== null) {
$this->options = $optionsBak;
}
return $result;
}
示例6: display
/**
* Display final results
*
* Display final results, when data source parsing is over.
*
* @access public
* @return void
* @since version 1.8.0b2 (2008-06-03)
*/
function display()
{
if ($this->parseData === false) {
// invalid data source
return;
}
$version = isset($this->conf['xml']['version']) ? $this->conf['xml']['version'] : '1.0';
$encoding = isset($this->conf['xml']['encoding']) ? $this->conf['xml']['encoding'] : 'UTF-8';
$standalone = isset($this->conf['xml']['standalone']) ? $this->conf['xml']['standalone'] : null;
$msg = XML_Util::getXMLDeclaration($version, $encoding, $standalone);
$msg .= PHP_EOL;
$msg .= XML_Util::createStartElement('pci', array('version' => '1.9.0'));
$o = $this->args['output-level'];
$v = $this->args['verbose'];
$dataSource = $this->_parser->dataSource['dataSource'];
$dataType = $this->_parser->dataSource['dataType'];
$options = $this->_parser->options;
if ($dataType == 'directory' || $dataType == 'array' || $dataType == 'file') {
// parsing a directory or a list of files, chunks of code
if ($options['is_string'] == false) {
if ($dataType == 'directory') {
// print <dir> tag
$tag = array('qname' => 'dir', 'content' => dirname($dataSource[0]));
} else {
// print <file> tag
$tag = array('qname' => 'file', 'content' => $dataSource[0]);
}
$msg .= XML_Util::createTagFromArray($tag);
$msg .= PHP_EOL;
}
// print global <version> tag
if ($o & 16) {
if (empty($this->parseData['max_version'])) {
$attr = array();
} else {
$attr = array('max' => $this->parseData['max_version']);
}
$tag = array('qname' => 'version', 'attributes' => $attr, 'content' => $this->parseData['version']);
$msg .= XML_Util::createTagFromArray($tag);
$msg .= PHP_EOL;
}
// print global <conditions> tag group
if ($o & 1) {
$msg .= $this->_printTagList($this->parseData['cond_code'], 'condition');
}
// print global <extensions> tag group
if ($o & 2) {
$msg .= $this->_printTagList($this->parseData['extensions'], 'extension');
}
// print global <constants> tag group
if ($o & 4) {
$msg .= $this->_printTagList($this->parseData['constants'], 'constant');
}
// print global <tokens> tag group
if ($o & 8) {
$msg .= $this->_printTagList($this->parseData['tokens'], 'token');
}
// print global <ignored> tag group
$msg .= XML_Util::createStartElement('ignored');
$msg .= PHP_EOL;
// with children groups <files>, <functions>, <extensions>, <constants>
$ignored = array('file' => $this->parseData['ignored_files'], 'function' => $this->parseData['ignored_functions'], 'extension' => $this->parseData['ignored_extensions'], 'constant' => $this->parseData['ignored_constants']);
foreach ($ignored as $tag => $data) {
$msg .= $this->_printTagList($data, $tag);
}
$msg .= XML_Util::createEndElement('ignored');
$msg .= PHP_EOL;
// remove summary data
unset($this->parseData['ignored_files']);
unset($this->parseData['ignored_functions']);
unset($this->parseData['ignored_extensions']);
unset($this->parseData['ignored_constants']);
unset($this->parseData['max_version']);
unset($this->parseData['version']);
unset($this->parseData['classes']);
unset($this->parseData['functions']);
unset($this->parseData['extensions']);
unset($this->parseData['constants']);
unset($this->parseData['tokens']);
unset($this->parseData['cond_code']);
if ($v & 4 || $options['debug'] == true) {
// print local <functions> tag group
$msg .= $this->_printTagList($this->parseData, 'function');
$entries = array_keys($this->parseData);
foreach ($entries as $k) {
if (is_numeric($k[0])) {
unset($this->parseData[$k]);
}
}
}
if ($dataType == 'file') {
//.........这里部分代码省略.........
示例7: toString
public function toString(__ConfigurationComponent &$configuration_component)
{
$indent = '';
if (!$configuration_component->isRoot()) {
// no indent for root
$this->_deep++;
$indent = str_repeat($this->options['indent'], $this->_deep);
} else {
// Initialize string with xml declaration
$string = '';
if ($this->options['addDecl']) {
$string .= XML_Util::getXMLDeclaration($this->options['version'], $this->options['encoding']);
$string .= $this->options['linebreak'];
}
if (!empty($this->options['name'])) {
$string .= '<' . $this->options['name'] . '>' . $this->options['linebreak'];
$this->_deep++;
$indent = str_repeat($this->options['indent'], $this->_deep);
}
}
if (!isset($string)) {
$string = '';
}
if ($configuration_component instanceof __ConfigurationProperty) {
$attributes = $this->options['useAttr'] ? $configuration_component->attributes : array();
$string .= $indent . XML_Util::createTag($configuration_component->name, $attributes, $configuration_component->content, null, $this->options['useCData'] ? XML_UTIL_CDATA_SECTION : XML_UTIL_REPLACE_ENTITIES);
$string .= $this->options['linebreak'];
} else {
if ($configuration_component instanceof __ConfigurationComment) {
$string .= $indent . '<!-- ' . $configuration_component->content . ' -->';
$string .= $this->options['linebreak'];
} else {
if ($configuration_component instanceof __ConfigurationSection) {
if (!$configuration_component->isRoot()) {
$string = $indent . '<' . $configuration_component->name;
$string .= $this->options['useAttr'] ? XML_Util::attributesToString($configuration_component->attributes) : '';
}
if ($children = count($configuration_component->children)) {
if (!$configuration_component->isRoot()) {
$string .= '>' . $this->options['linebreak'];
}
for ($i = 0; $i < $children; $i++) {
$string .= $this->toString($configuration_component->getChild($i));
}
}
if (!$configuration_component->isRoot()) {
if ($children) {
$string .= $indent . '</' . $configuration_component->name . '>' . $this->options['linebreak'];
} else {
$string .= '/>' . $this->options['linebreak'];
}
} else {
if (!empty($this->options['name'])) {
$string .= '</' . $this->options['name'] . '>' . $this->options['linebreak'];
}
}
} else {
$string = '';
}
}
}
if (!$configuration_component->isRoot()) {
$this->_deep--;
}
return $string;
}
示例8: baz_afficher_flux_RSS
/** baz_affiche_flux_RSS() - affiche le flux rss ÃÂ partir de parametres
*
*
* @return string Le flux RSS, avec les headers et tout et tout
*/
function baz_afficher_flux_RSS()
{
if (isset($_GET['id_typeannonce'])) {
$id_typeannonce = $_GET['id_typeannonce'];
} else {
$id_typeannonce = $GLOBALS['_BAZAR_']['id_typeannonce'];
}
if (isset($_GET['categorie_fiche'])) {
$categorie_fiche = $_GET['categorie_fiche'];
} else {
$categorie_fiche = $GLOBALS['_BAZAR_']['categorie_nature'];
}
if (isset($_GET['nbitem'])) {
$nbitem = $_GET['nbitem'];
} else {
$nbitem = BAZ_NB_ENTREES_FLUX_RSS;
}
if (isset($_GET['utilisateur'])) {
$utilisateur = $_GET['utilisateur'];
} else {
$utilisateur = '';
}
if (isset($_GET['statut'])) {
$statut = $_GET['statut'];
} else {
$statut = 1;
}
if (isset($_GET['query'])) {
$query = $_GET['query'];
} else {
$query = '';
}
$tableau_flux_rss = baz_requete_recherche_fiches($query, '', $id_typeannonce, $categorie_fiche, $statut, $utilisateur, 20);
require_once 'XML/Util.php';
// setlocale() pour avoir les formats de date valides (w3c) --julien
setlocale(LC_TIME, "C");
$xml = XML_Util::getXMLDeclaration('1.0', 'UTF-8', 'yes');
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement('rss', array('version' => '2.0', 'xmlns:atom' => "http://www.w3.org/2005/Atom"));
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement('channel');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('title', null, utf8_encode(html_entity_decode(BAZ_DERNIERE_ACTU)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('link', null, utf8_encode(html_entity_decode(BAZ_RSS_ADRESSESITE)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('description', null, utf8_encode(html_entity_decode(BAZ_RSS_DESCRIPTIONSITE)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('language', null, 'fr-FR');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('copyright', null, 'Copyright (c) ' . date('Y') . ' ' . utf8_encode(html_entity_decode(BAZ_RSS_NOMSITE)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('lastBuildDate', null, strftime('%a, %d %b %Y %H:%M:%S GMT'));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('docs', null, 'http://www.stervinou.com/projets/rss/');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('category', null, BAZ_RSS_CATEGORIE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag('managingEditor', null, BAZ_RSS_MANAGINGEDITOR);
$xml .= "\r\n ";
$xml .= XML_Util::createTag('webMaster', null, BAZ_RSS_WEBMASTER);
$xml .= "\r\n ";
$xml .= XML_Util::createTag('ttl', null, '60');
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement('image');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('title', null, utf8_encode(html_entity_decode(BAZ_DERNIERE_ACTU)));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('url', null, BAZ_RSS_LOGOSITE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag('link', null, BAZ_RSS_ADRESSESITE);
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement('image');
if (count($tableau_flux_rss) > 0) {
// Creation des items : titre + lien + description + date de publication
foreach ($tableau_flux_rss as $ligne) {
$ligne = json_decode($ligne[0], true);
$ligne = array_map('utf8_decode', $ligne);
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement('item');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('title', null, encoder_en_utf8(html_entity_decode(stripslashes($ligne['bf_titre']))));
$xml .= "\r\n ";
$lien = $GLOBALS['_BAZAR_']['url'];
$lien->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_CONSULTER);
$lien->addQueryString('id_fiche', $ligne['id_fiche']);
$xml .= XML_Util::createTag('link', null, '<![CDATA[' . $lien->getURL() . ']]>');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('guid', null, '<![CDATA[' . $lien->getURL() . ']]>');
$xml .= "\r\n ";
$tab = explode("wakka.php?wiki=", $lien->getURL());
$xml .= XML_Util::createTag('description', null, '<![CDATA[' . encoder_en_utf8(html_entity_decode(baz_voir_fiche(0, $ligne))) . ']]>');
$xml .= "\r\n ";
if ($ligne['date_debut_validite_fiche'] != '0000-00-00' && $ligne['date_debut_validite_fiche'] > $ligne['date_creation_fiche']) {
//.........这里部分代码省略.........
示例9: baz_afficher_flux_RSS
/** baz_affiche_flux_RSS() - affiche le flux rss a partir de parametres
* @return string Le flux RSS, avec les headers et tout et tout
*/
function baz_afficher_flux_RSS()
{
$urlrss = $GLOBALS['wiki']->href('rss');
if (isset($_GET['id_typeannonce'])) {
$id_typeannonce = $_GET['id_typeannonce'];
$urlrss .= '&id_typeannonce=' . $id_typeannonce;
} else {
$id_typeannonce = '';
}
if (isset($_GET['categorie_fiche'])) {
$categorie_fiche = $_GET['categorie_fiche'];
$urlrss .= '&categorie_fiche=' . $categorie_fiche;
} else {
$categorie_fiche = '';
}
if (isset($_GET['nbitem'])) {
$nbitem = $_GET['nbitem'];
$urlrss .= '&nbitem=' . $nbitem;
} else {
$nbitem = BAZ_NB_ENTREES_FLUX_RSS;
}
if (isset($_GET['utilisateur'])) {
$utilisateur = $_GET['utilisateur'];
$urlrss .= '&utilisateur=' . $utilisateur;
} else {
$utilisateur = '';
}
if (isset($_GET['statut'])) {
$statut = $_GET['statut'];
$urlrss .= '&statut=' . $statut;
} else {
$statut = 1;
}
if (isset($_GET['query'])) {
$query = $_GET['query'];
$urlrss .= '&query=' . $query;
} else {
$query = '';
}
$tableau_flux_rss = baz_requete_recherche_fiches($query, '', $id_typeannonce, $categorie_fiche, $statut, $utilisateur, 20);
require_once BAZ_CHEMIN . 'libs' . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'XML/Util.php';
// setlocale() pour avoir les formats de date valides (w3c) --julien
setlocale(LC_TIME, 'C');
$xml = XML_Util::getXMLDeclaration('1.0', 'UTF-8', 'yes');
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement('rss', array('version' => '2.0', 'xmlns:atom' => 'http://www.w3.org/2005/Atom', 'xmlns:dc' => 'http://purl.org/dc/elements/1.1/'));
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement('channel');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('title', null, html_entity_decode(_t('BAZ_DERNIERE_ACTU'), ENT_QUOTES, 'UTF-8'));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('link', null, html_entity_decode(BAZ_RSS_ADRESSESITE, ENT_QUOTES, 'UTF-8'));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('description', null, html_entity_decode(BAZ_RSS_DESCRIPTIONSITE, ENT_QUOTES, 'UTF-8'));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('language', null, 'fr-FR');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('copyright', null, 'Copyright (c) ' . date('Y') . ' ' . html_entity_decode(BAZ_RSS_NOMSITE, ENT_QUOTES, 'UTF-8'));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('lastBuildDate', null, strftime('%a, %d %b %Y %H:%M:%S GMT'));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('docs', null, 'http://www.stervinou.com/projets/rss/');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('category', null, BAZ_RSS_CATEGORIE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag('managingEditor', null, BAZ_RSS_MANAGINGEDITOR);
$xml .= "\r\n ";
$xml .= XML_Util::createTag('webMaster', null, BAZ_RSS_WEBMASTER);
$xml .= "\r\n ";
$xml .= XML_Util::createTag('ttl', null, '60');
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement('image');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('title', null, html_entity_decode(_t('BAZ_DERNIERE_ACTU'), ENT_QUOTES, 'UTF-8'));
$xml .= "\r\n ";
$xml .= XML_Util::createTag('url', null, BAZ_RSS_LOGOSITE);
$xml .= "\r\n ";
$xml .= XML_Util::createTag('link', null, BAZ_RSS_ADRESSESITE);
$xml .= "\r\n ";
$xml .= XML_Util::createEndElement('image');
if (count($tableau_flux_rss) > 0) {
// Creation des items : titre + lien + description + date de publication
foreach ($tableau_flux_rss as $ligne) {
$ligne = json_decode($ligne['body'], true);
$ligne = _convert($ligne, 'UTF-8');
$xml .= "\r\n ";
$xml .= XML_Util::createStartElement('item');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('title', null, html_entity_decode(stripslashes($ligne['bf_titre']), ENT_QUOTES, 'UTF-8'));
$xml .= "\r\n ";
$lien = $GLOBALS['_BAZAR_']['url'];
$lien->addQueryString(BAZ_VARIABLE_ACTION, BAZ_VOIR_FICHE);
$lien->addQueryString(BAZ_VARIABLE_VOIR, BAZ_VOIR_CONSULTER);
$lien->addQueryString('id_fiche', $ligne['id_fiche']);
$xml .= XML_Util::createTag('link', null, '<![CDATA[' . $lien->getURL() . ']]>');
$xml .= "\r\n ";
$xml .= XML_Util::createTag('guid', null, '<![CDATA[' . $lien->getURL() . ']]>');
//.........这里部分代码省略.........
示例10: serialize
/**
* serialize data
*
* @access public
* @param mixed $data data to serialize
* @return boolean true on success, pear error on failure
*/
function serialize($data, $options = null)
{
// if options have been specified, use them instead
// of the previously defined ones
if (is_array($options)) {
$optionsBak = $this->options;
if (isset($options["overrideOptions"]) && $options["overrideOptions"] == true) {
$this->options = array_merge($this->_defaultOptions, $options);
} else {
$this->options = array_merge($this->options, $options);
}
} else {
$optionsBak = null;
}
// maintain BC
if (isset($this->options["tagName"])) {
$this->options["rootName"] = $this->options["tagName"];
}
// start depth is zero
$this->_tagDepth = 0;
$this->_serializedData = "";
// serialize an array
if (is_array($data)) {
if (isset($this->options["rootName"])) {
$tagName = $this->options["rootName"];
} else {
$tagName = "array";
}
$this->_serializedData .= $this->_serializeArray($data, $tagName, $this->options["rootAttributes"]);
} elseif (is_object($data)) {
if (isset($this->options["rootName"])) {
$tagName = $this->options["rootName"];
} else {
$tagName = get_class($data);
}
$this->_serializedData .= $this->_serializeObject($data, $tagName, $this->options["rootAttributes"]);
}
// add doctype declaration
if ($this->options["addDoctype"] === true) {
$this->_serializedData = XML_Util::getDoctypeDeclaration($tagName, $this->options["doctype"]) . $this->options["linebreak"] . $this->_serializedData;
}
// build xml declaration
if ($this->options["addDecl"]) {
$atts = array();
if (isset($this->options["encoding"])) {
$encoding = $this->options["encoding"];
} else {
$encoding = null;
}
$this->_serializedData = XML_Util::getXMLDeclaration("1.0", $encoding) . $this->options["linebreak"] . $this->_serializedData;
}
if ($optionsBak !== null) {
$this->options = $optionsBak;
}
return true;
}
示例11: _prepareQueryString
/**
* Prepare the PUT query xml.
*
* @access private
* @return string The query xml
*/
function _prepareQueryString()
{
$data = array_merge($this->_options, $this->_data);
$doc = XML_Util::getXMLDeclaration();
$doc .= '<!DOCTYPE paymentService PUBLIC "-//Bibit//DTD Bibit PaymentService v1//EN" "http://dtd.bibit.com/paymentService_v1.dtd">';
$doc .= XML_Util::createStartElement('paymentService', array('version' => $data['x_version'], 'merchantCode' => $data['x_login']));
if ($data['x_action'] == PAYMENT_PROCESS_ACTION_BIBIT_CAPTURE || $data['x_action'] == PAYMENT_PROCESS_ACTION_BIBIT_REFUND) {
$doc .= XML_Util::createStartElement('modify');
$doc .= XML_Util::createStartElement('orderModification', array('orderCode' => $data['x_ordercode']));
if ($data['x_action'] == PAYMENT_PROCESS_ACTION_BIBIT_CAPTURE) {
$doc .= XML_Util::createStartElement('capture');
$d = array();
$t = time() - 86400;
$d['dayOfMonth'] = date('d', $t);
$d['month'] = date('m', $t);
$d['year'] = date('Y', $t);
$d['hour'] = date('H', $t);
$d['minute'] = date('i', $t);
$d['second'] = date('s', $t);
$doc .= XML_Util::createTag('date', $d);
$doc .= XML_Util::createTag('amount', array('value' => $data['x_amount'], 'currencyCode' => $data['x_currency'], 'exponent' => $data['x_exponent']));
$doc .= XML_Util::createEndElement('capture');
} else {
if ($data['x_action'] == PAYMENT_PROCESS_ACTION_BIBIT_REFUND) {
$doc .= XML_Util::createStartElement('refund');
$doc .= XML_Util::createTag('amount', array('value' => $data['x_amount'], 'currencyCode' => $data['x_currency'], 'exponent' => $data['x_exponent']));
$doc .= XML_Util::createEndElement('refund');
}
}
$doc .= XML_Util::createEndElement('orderModification');
$doc .= XML_Util::createEndElement('modify');
} else {
$doc .= XML_Util::createStartElement('submit');
$doc .= XML_Util::createStartElement('order', array('orderCode' => $data['x_ordercode']));
$doc .= XML_Util::createTag('description', null, $data['x_descr']);
$doc .= XML_Util::createTag('amount', array('value' => $data['x_amount'], 'currencyCode' => $data['x_currency'], 'exponent' => $data['x_exponent']));
if (isset($data['x_ordercontent'])) {
$doc .= XML_Util::createStartElement('orderContent');
$doc .= XML_Util::createCDataSection($data['x_ordercontent']);
$doc .= XML_Util::createEndElement('orderContent');
}
if ($data['x_action'] == PAYMENT_PROCESS_ACTION_BIBIT_REDIRECT) {
if (is_array($data['paymentMethodMask']) && count($data['paymentMethodMask'] > 0)) {
$doc .= XML_Util::createStartElement('paymentMethodMask');
foreach ($data['paymentMethodMask']['include'] as $code) {
$doc .= XML_Util::createTag('include', array('code' => $code));
}
foreach ($data['paymentMethodMask']['exclude'] as $code) {
$doc .= XML_Util::createTag('exclude', array('code' => $code));
}
$doc .= XML_Util::createEndElement('paymentMethodMask');
}
} else {
if ($data['x_action'] == PAYMENT_PROCESS_ACTION_BIBIT_AUTH) {
$doc .= XML_Util::createStartElement('paymentDetails');
switch ($this->_payment->type) {
case PAYMENT_PROCESS_CC_VISA:
$cc_type = 'VISA-SSL';
break;
case PAYMENT_PROCESS_CC_MASTERCARD:
$cc_type = 'ECMC-SSL';
break;
case PAYMENT_PROCESS_CC_AMEX:
$cc_type = 'AMEX-SSL';
break;
}
$doc .= XML_Util::createStartElement($cc_type);
if (isset($data['x_card_num'])) {
$doc .= XML_Util::createTag('cardNumber', null, $data['x_card_num']);
}
if (isset($data['x_exp_date'])) {
$doc .= XML_Util::createStartElement('expiryDate');
$doc .= XML_Util::createTag('date', array('month' => substr($data['x_exp_date'], 0, 2), 'year' => substr($data['x_exp_date'], 3, 4)));
$doc .= XML_Util::createEndElement('expiryDate');
}
if (isset($this->_payment->firstName) && isset($this->_payment->lastName)) {
$doc .= XML_Util::createTag('cardHolderName', null, $this->_payment->firstName . ' ' . $this->_payment->lastName);
}
if (isset($data['x_card_code'])) {
$doc .= XML_Util::createTag('cvc', null, $data['x_card_code']);
}
$doc .= XML_Util::createEndElement($cc_type);
if ((isset($data['shopperIPAddress']) || isset($data['sessionId'])) && ($data['shopperIPAddress'] != '' || $data['sessionId'] != '')) {
$t = array();
if ($data['shopperIPAddress'] != '') {
$t['shopperIPAddress'] = $data['shopperIPAddress'];
}
if ($data['sessionId'] != '') {
$t['id'] = $data['sessionId'];
}
$doc .= XML_Util::createTag('session', $t);
unset($t);
}
$doc .= XML_Util::createEndElement('paymentDetails');
//.........这里部分代码省略.........
示例12: serialize
/**
* Serialize the document.
*
* @access public
* @return string
*/
public function serialize()
{
$doc = XML_Util::getXMLDeclaration('1.0', 'utf-8') . "\n\n";
$doc .= $this->root->serialize();
return $doc;
}
示例13: toXUL
/**
* Generates the XUL for the DataGrid
*
* @access public
* @return string The XUL of the DataGrid
*/
function toXUL()
{
$dg =& $this->_dg;
// Get the data to be rendered
$dg->fetchDataSource();
// Check to see if column headers exist, if not create them
// This must follow after any fetch method call
$dg->_setDefaultHeaders();
// Define XML
$xul = XML_Util::getXMLDeclaration() . "\n";
// Define Stylesheets
foreach ($this->css as $css) {
$xul .= "<?xml-stylesheet href=\"{$css}\" type=\"text/css\"?>\n";
}
// Define Window Element
$xul .= "<window title=\"{$this->title}\" " . "xmlns=\"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\">\n";
// Define Listbox Element
$xul .= "<listbox rows=\"" . $this->_dg->rowLimit . "\">\n";
// Build Grid Header
$xul .= " <listhead>\n";
$prefix = $this->requestPrefix;
foreach ($this->_dg->columnSet as $column) {
if ($this->_dg->sortArray[0] == $column->orderBy) {
if (strtoupper($this->_dg->sortArray[1]) == 'ASC') {
// The data is currently sorted by $column, ascending.
// That means we want $dirArg set to 'DESC', for the next
// click to trigger a reverse order sort, and we need
// $dirCur set to 'ascending' so that a neat xul arrow
// shows the current "ASC" direction.
$dirArg = 'DESC';
$dirCur = 'ascending';
} else {
// Next click will do ascending sort, and we show a reverse
// arrow because we're currently descending.
$dirArg = 'ASC';
$dirCur = 'descending';
}
} else {
// No current sort on this column. Next click will ascend. We
// show no arrow.
$dirArg = 'ASC';
$dirCur = 'natural';
}
$onClick = "location.href='" . $_SERVER['PHP_SELF'] . '?' . $prefix . 'orderBy=' . $column->orderBy . "&" . $prefix . "direction={$dirArg}';";
$label = XML_Util::replaceEntities($column->columnName);
$xul .= ' <listheader label="' . $label . '" ' . "sortDirection=\"{$dirCur}\" onCommand=\"{$onClick}\" />\n";
}
$xul .= " </listhead>\n";
// Build Grid Body
foreach ($this->_dg->recordSet as $row) {
$xul .= " <listitem>\n";
foreach ($this->_dg->columnSet as $column) {
// Build Content
if ($column->formatter != null) {
$content = $column->formatter($row);
} elseif ($column->fieldName == null) {
if ($column->autoFillValue != null) {
$content = $column->autoFillValue;
} else {
$content = $column->columnName;
}
} else {
$content = $row[$column->fieldName];
}
$xul .= ' ' . XML_Util::createTag('listcell', array('label' => $content)) . "\n";
}
$xul .= " </listitem>\n";
}
$xul .= "</listbox>\n";
$xul .= "</window>\n";
return $xul;
}
示例14: exportXML
function exportXML()
{
global $i18n, $ClassDir;
require_once 'XML/Util.php';
require_once $ClassDir . 'StringHelper.class.php';
$header = array("name", "gender", "birthday", "mobile", "phone", "office_phone", "fax", "addrees", "category", "email", "homepage");
$filename = date("Y_m_d") . "_contact_export.xml";
$xml_data = "";
$xml = new XML_Util();
$xml_data .= $xml->getXMLDeclaration("1.0", "UTF-8") . "\n";
$xml_data .= "" . $xml->createStartElement("contact") . "\n";
// Write contact record
$apf_contact = DB_DataObject::factory('ApfContact');
$apf_contact->orderBy('id desc');
$apf_contact->find();
while ($apf_contact->fetch()) {
$xml_data .= "\t" . $xml->createStartElement("record") . "\n";
foreach ($header as $title) {
$coloum_function = "get" . StringHelper::CamelCaseFromUnderscore($title);
$tag = array("qname" => $title, "content" => $apf_contact->{$coloum_function}());
$xml_data .= "\t\t" . $xml->createTagFromArray($tag) . "\n";
}
$xml_data .= "\t" . $xml->createEndElement("record") . "\n";
}
$xml_data .= "" . $xml->createEndElement("contact") . "\n";
$xml->send($xml_data, $filename);
exit;
}