本文整理汇总了PHP中XML_Util::createTag方法的典型用法代码示例。如果您正苦于以下问题:PHP XML_Util::createTag方法的具体用法?PHP XML_Util::createTag怎么用?PHP XML_Util::createTag使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XML_Util
的用法示例。
在下文中一共展示了XML_Util::createTag方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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;
}
示例2: _serializeToken
/**
* serialize a token
*
* This method does the actual beautifying.
*
* @param array $token structure that should be serialized
*
* @return mixed
* @access private
* @todo split this method into smaller methods
*/
function _serializeToken($token)
{
switch ($token["type"]) {
/*
* serialize XML Element
*/
case XML_BEAUTIFIER_ELEMENT:
$indent = $this->_getIndentString($token["depth"]);
// adjust tag case
if ($this->_options["caseFolding"] === true) {
switch ($this->_options["caseFoldingTo"]) {
case "uppercase":
$token["tagname"] = strtoupper($token["tagname"]);
$token["attribs"] = array_change_key_case($token["attribs"], CASE_UPPER);
break;
case "lowercase":
$token["tagname"] = strtolower($token["tagname"]);
$token["attribs"] = array_change_key_case($token["attribs"], CASE_LOWER);
break;
}
}
if ($this->_options["multilineTags"] == true) {
$attIndent = $indent . str_repeat(" ", 2 + strlen($token["tagname"]));
} else {
$attIndent = null;
}
// check for children
switch ($token["contains"]) {
// contains only CData or is empty
case XML_BEAUTIFIER_CDATA:
case XML_BEAUTIFIER_EMPTY:
if (sizeof($token["children"]) >= 1) {
$data = $token["children"][0]["data"];
} else {
$data = '';
}
if (strstr($data, "\n")) {
$data = "\n" . $this->_indentTextBlock($data, $token['depth'] + 1, true);
}
$xml = $indent . XML_Util::createTag($token["tagname"], $token["attribs"], $data, null, XML_UTIL_REPLACE_ENTITIES, $this->_options["multilineTags"], $attIndent) . $this->_options["linebreak"];
break;
// contains mixed content
// contains mixed content
default:
$xml = $indent . XML_Util::createStartElement($token["tagname"], $token["attribs"], null, $this->_options["multilineTags"], $attIndent) . $this->_options["linebreak"];
$cnt = count($token["children"]);
for ($i = 0; $i < $cnt; $i++) {
$xml .= $this->_serializeToken($token["children"][$i]);
}
$xml .= $indent . XML_Util::createEndElement($token["tagname"]) . $this->_options["linebreak"];
break;
break;
}
break;
/*
* serialize CData
*/
/*
* serialize CData
*/
case XML_BEAUTIFIER_CDATA:
if ($token["depth"] > 0) {
$xml = str_repeat($this->_options["indent"], $token["depth"]);
} else {
$xml = "";
}
$xml .= XML_Util::replaceEntities($token["data"]) . $this->_options["linebreak"];
break;
/*
* serialize CData section
*/
/*
* serialize CData section
*/
case XML_BEAUTIFIER_CDATA_SECTION:
if ($token["depth"] > 0) {
$xml = str_repeat($this->_options["indent"], $token["depth"]);
} else {
$xml = "";
}
$xml .= '<![CDATA[' . $token["data"] . ']]>' . $this->_options["linebreak"];
break;
/*
* serialize entity
*/
/*
* serialize entity
*/
case XML_BEAUTIFIER_ENTITY:
//.........这里部分代码省略.........
示例3: array
$tag = array("qname" => "foo", "attributes" => array("key" => "value", "argh" => "fruit&vegetable"), "content" => "I'm inside the tag");
print "creating a tag with CData section:<br>\n";
print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_CDATA_SECTION));
print "\n<br><br>\n";
/**
* creating an XML tag with a CData Section
*/
$tag = array("qname" => "foo", "attributes" => array("key" => "value", "argh" => "tütü"), "content" => "Also XHTML-tags can be created and HTML entities can be replaced Ä ä Ü ö <>.");
print "creating a tag with HTML entities:<br>\n";
print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_ENTITIES_HTML));
print "\n<br><br>\n";
/**
* creating an XML tag with createTag
*/
print "creating a tag with createTag:<br>";
print htmlentities(XML_Util::createTag("myNs:myTag", array("foo" => "bar"), "This is inside the tag", "http://www.w3c.org/myNs#"));
print "\n<br><br>\n";
/**
* trying to create an XML tag with an array as content
*/
$tag = array("qname" => "bar", "content" => array("foo" => "bar"));
print "trying to create an XML tag with an array as content:<br>\n";
print "<pre>";
print_r(XML_Util::createTagFromArray($tag));
print "</pre>";
print "\n<br><br>\n";
/**
* trying to create an XML tag without a name
*/
$tag = array("attributes" => array("foo" => "bar"));
print "trying to create an XML tag without a name:<br>\n";
示例4: array
$tag = array('qname' => 'foo', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag');
print 'creating a tag with CData section:<br>';
print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_CDATA_SECTION));
print "\n<br><br>\n";
/**
* creating an XML tag with a CData Section
*/
$tag = array('qname' => 'foo', 'attributes' => array('key' => 'value', 'argh' => 'tütü'), 'content' => 'Also XHTML-tags can be created ' . 'and HTML entities can be replaced Ä ä Ü ö <>.');
print 'creating a tag with HTML entities:<br>';
print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_ENTITIES_HTML));
print "\n<br><br>\n";
/**
* creating an XML tag with createTag
*/
print 'creating a tag with createTag:<br>';
print htmlentities(XML_Util::createTag('myNs:myTag', array('foo' => 'bar'), 'This is inside the tag', 'http://www.w3c.org/myNs#'));
print "\n<br><br>\n";
/**
* trying to create an XML tag with an array as content
*/
$tag = array('qname' => 'bar', 'content' => array('foo' => 'bar'));
print 'trying to create an XML tag with an array as content:<br>';
print '<pre>';
print_r(XML_Util::createTagFromArray($tag));
print '</pre>';
print "\n<br><br>\n";
/**
* trying to create an XML tag without a name
*/
$tag = array('attributes' => array('foo' => 'bar'));
print 'trying to create an XML tag without a name:<br>';
示例5: 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;
}
示例6: 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() . ']]>');
//.........这里部分代码省略.........
示例7: 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']) {
//.........这里部分代码省略.........
示例8: serialize
/**
* Serialize the element.
*
* @access public
* @return string string representation of the element and all of its childNodes
*/
public function serialize()
{
if (empty($this->_ns) || $this->knownElement === false) {
$el = $this->elementName;
} else {
$el = sprintf('%s:%s', $this->_ns, $this->elementName);
}
if (!$this->hasChildren()) {
if ($this->cdata !== null) {
$content = $this->cdata;
if ($this->replaceEntities) {
$content = XML_Util::replaceEntities($content);
}
}
} else {
$content = '';
$rit = new RecursiveIteratorIterator($this, RIT_SELF_FIRST);
while ($rit->getSubIterator()->valid()) {
$content .= $rit->getSubIterator()->current()->serialize();
$rit->getSubIterator()->next();
}
}
if ($this->isRoot) {
$nsUri = 'http://www.macromedia.com/2003/mxml';
} else {
$nsUri = null;
}
return XML_Util::createTag($el, $this->attributes, $content, $nsUri, false);
}
示例9: _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');
//.........这里部分代码省略.........
示例10: 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;
}