class Entry in Zircon Profile 8
Same name in this branch
- 8 vendor/zendframework/zend-feed/src/Writer/Entry.php \Zend\Feed\Writer\Entry
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/Content/Entry.php \Zend\Feed\Reader\Extension\Content\Entry
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/WellFormedWeb/Entry.php \Zend\Feed\Reader\Extension\WellFormedWeb\Entry
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php \Zend\Feed\Reader\Extension\Atom\Entry
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Entry.php \Zend\Feed\Reader\Extension\Podcast\Entry
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/Thread/Entry.php \Zend\Feed\Reader\Extension\Thread\Entry
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/Slash/Entry.php \Zend\Feed\Reader\Extension\Slash\Entry
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Entry.php \Zend\Feed\Reader\Extension\DublinCore\Entry
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Entry.php \Zend\Feed\Reader\Extension\CreativeCommons\Entry
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Entry.php \Zend\Feed\Writer\Extension\ITunes\Entry
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/Content/Renderer/Entry.php \Zend\Feed\Writer\Extension\Content\Renderer\Entry
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/Threading/Renderer/Entry.php \Zend\Feed\Writer\Extension\Threading\Renderer\Entry
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/WellFormedWeb/Renderer/Entry.php \Zend\Feed\Writer\Extension\WellFormedWeb\Renderer\Entry
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/Slash/Renderer/Entry.php \Zend\Feed\Writer\Extension\Slash\Renderer\Entry
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Entry.php \Zend\Feed\Writer\Extension\DublinCore\Renderer\Entry
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Entry.php \Zend\Feed\Writer\Extension\ITunes\Renderer\Entry
Same name and namespace in other branches
- 8.0 vendor/zendframework/zend-feed/src/Writer/Extension/Threading/Renderer/Entry.php \Zend\Feed\Writer\Extension\Threading\Renderer\Entry
Hierarchy
- class \Zend\Feed\Writer\Extension\Threading\Renderer\Entry extends \Extension\AbstractRenderer
Expanded class hierarchy of Entry
2 string references to 'Entry'
- core.services.yml in core/
core.services.yml - core/core.services.yml
- ExtensionPluginManager::validatePlugin in vendor/
zendframework/ zend-feed/ src/ Writer/ ExtensionPluginManager.php - Validate the plugin
1 service uses Entry
File
- vendor/
zendframework/ zend-feed/ src/ Writer/ Extension/ Threading/ Renderer/ Entry.php, line 18
Namespace
Zend\Feed\Writer\Extension\Threading\RendererView source
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()) == 'rss') {
return;
// Atom 1.0 only
}
$this
->_setCommentLink($this->dom, $this->base);
$this
->_setCommentFeedLinks($this->dom, $this->base);
$this
->_setCommentCount($this->dom, $this->base);
if ($this->called) {
$this
->_appendNamespaces();
}
}
/**
* Append entry namespaces
*
* @return void
*/
protected function _appendNamespaces() {
$this
->getRootElement()
->setAttribute('xmlns:thr', 'http://purl.org/syndication/thread/1.0');
}
/**
* Set comment link
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setCommentLink(DOMDocument $dom, DOMElement $root) {
$link = $this
->getDataContainer()
->getCommentLink();
if (!$link) {
return;
}
$clink = $this->dom
->createElement('link');
$clink
->setAttribute('rel', 'replies');
$clink
->setAttribute('type', 'text/html');
$clink
->setAttribute('href', $link);
$count = $this
->getDataContainer()
->getCommentCount();
if ($count !== null) {
$clink
->setAttribute('thr:count', $count);
}
$root
->appendChild($clink);
$this->called = true;
}
/**
* Set comment feed links
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setCommentFeedLinks(DOMDocument $dom, DOMElement $root) {
$links = $this
->getDataContainer()
->getCommentFeedLinks();
if (!$links || empty($links)) {
return;
}
foreach ($links as $link) {
$flink = $this->dom
->createElement('link');
$flink
->setAttribute('rel', 'replies');
$flink
->setAttribute('type', 'application/' . $link['type'] . '+xml');
$flink
->setAttribute('href', $link['uri']);
$count = $this
->getDataContainer()
->getCommentCount();
if ($count !== null) {
$flink
->setAttribute('thr:count', $count);
}
$root
->appendChild($flink);
$this->called = true;
}
}
/**
* Set entry comment count
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setCommentCount(DOMDocument $dom, DOMElement $root) {
$count = $this
->getDataContainer()
->getCommentCount();
if ($count === null) {
return;
}
$tcount = $this->dom
->createElement('thr:total');
$tcount->nodeValue = $count;
$root
->appendChild($tcount);
$this->called = true;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Entry:: |
protected | property | 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. | |
Entry:: |
public | function | Render entry | |
Entry:: |
protected | function | Append entry namespaces | |
Entry:: |
protected | function | Set entry comment count | |
Entry:: |
protected | function | Set comment feed links | |
Entry:: |
protected | function | Set comment link |