Source of file Entry.php
Size: 1,908 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Feed/Writer/Extension/Content/Renderer/Entry.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Feed\Writer\Extension\Content\Renderer; use DOMDocument; use DOMElement; use Zend\Feed\Writer\Extension; /** */ class Entry extends Extension\AbstractRenderer { /** * Set to TRUE if a rendering method actually renders something. This * is used to prevent premature appending of a XML namespace declaration * until an element which requires it is actually appended. * * @var bool */ protected $called = false; /** * Render entry * * @return void */ public function render() { if (strtolower($this->getType()) == 'atom') { return; } $this->_setContent($this->dom, $this->base); if ($this->called) { $this->_appendNamespaces(); } } /** * Append namespaces to root element * * @return void */ protected function _appendNamespaces() { $this->getRootElement()->setAttribute('xmlns:content', 'http://purl.org/rss/1.0/modules/content/'); } /** * Set entry content * * @param DOMDocument $dom * @param DOMElement $root * @return void */ protected function _setContent(DOMDocument $dom, DOMElement $root) { $content = $this->getDataContainer()->getContent(); if (!$content) { return; } $element = $dom->createElement('content:encoded'); $root->appendChild($element); $cdata = $dom->createCDATASection($content); $element->appendChild($cdata); $this->called = true; } } |