class Feed in Zircon Profile 8.0
Same name in this branch
- 8.0 vendor/zendframework/zend-feed/src/Writer/Feed.php \Zend\Feed\Writer\Feed
- 8.0 core/modules/aggregator/src/Entity/Feed.php \Drupal\aggregator\Entity\Feed
- 8.0 vendor/zendframework/zend-feed/src/Reader/Extension/Syndication/Feed.php \Zend\Feed\Reader\Extension\Syndication\Feed
- 8.0 vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Feed.php \Zend\Feed\Reader\Extension\Atom\Feed
- 8.0 vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Feed.php \Zend\Feed\Reader\Extension\Podcast\Feed
- 8.0 vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Feed.php \Zend\Feed\Reader\Extension\DublinCore\Feed
- 8.0 vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php \Zend\Feed\Reader\Extension\CreativeCommons\Feed
- 8.0 vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Feed.php \Zend\Feed\Writer\Extension\ITunes\Feed
- 8.0 core/modules/views/src/Plugin/views/display/Feed.php \Drupal\views\Plugin\views\display\Feed
- 8.0 vendor/zendframework/zend-feed/src/Writer/Extension/Atom/Renderer/Feed.php \Zend\Feed\Writer\Extension\Atom\Renderer\Feed
- 8.0 vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Feed.php \Zend\Feed\Writer\Extension\DublinCore\Renderer\Feed
- 8.0 vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Feed.php \Zend\Feed\Writer\Extension\ITunes\Renderer\Feed
Same name and namespace in other branches
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Feed.php \Zend\Feed\Writer\Extension\ITunes\Renderer\Feed
Hierarchy
- class \Zend\Feed\Writer\Extension\ITunes\Renderer\Feed extends \Extension\AbstractRenderer
Expanded class hierarchy of Feed
19 string references to 'Feed'
- aggregator.schema.yml in core/
modules/ aggregator/ config/ schema/ aggregator.schema.yml - core/modules/aggregator/config/schema/aggregator.schema.yml
- 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
- PreviewTest::testPreviewUI in core/
modules/ views_ui/ src/ Tests/ PreviewTest.php - Tests arguments in the preview form.
- views.view.aggregator_rss_feed.yml in core/
modules/ aggregator/ config/ optional/ views.view.aggregator_rss_feed.yml - core/modules/aggregator/config/optional/views.view.aggregator_rss_feed.yml
1 service uses Feed
File
- vendor/
zendframework/ zend-feed/ src/ Writer/ Extension/ ITunes/ Renderer/ Feed.php, line 18
Namespace
Zend\Feed\Writer\Extension\ITunes\RendererView source
class Feed 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 feed
*
* @return void
*/
public function render() {
$this
->_setAuthors($this->dom, $this->base);
$this
->_setBlock($this->dom, $this->base);
$this
->_setCategories($this->dom, $this->base);
$this
->_setImage($this->dom, $this->base);
$this
->_setDuration($this->dom, $this->base);
$this
->_setExplicit($this->dom, $this->base);
$this
->_setKeywords($this->dom, $this->base);
$this
->_setNewFeedUrl($this->dom, $this->base);
$this
->_setOwners($this->dom, $this->base);
$this
->_setSubtitle($this->dom, $this->base);
$this
->_setSummary($this->dom, $this->base);
if ($this->called) {
$this
->_appendNamespaces();
}
}
/**
* Append feed namespaces
*
* @return void
*/
protected function _appendNamespaces() {
$this
->getRootElement()
->setAttribute('xmlns:itunes', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
}
/**
* Set feed authors
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setAuthors(DOMDocument $dom, DOMElement $root) {
$authors = $this
->getDataContainer()
->getItunesAuthors();
if (!$authors || empty($authors)) {
return;
}
foreach ($authors as $author) {
$el = $dom
->createElement('itunes:author');
$text = $dom
->createTextNode($author);
$el
->appendChild($text);
$root
->appendChild($el);
}
$this->called = true;
}
/**
* Set feed itunes block
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setBlock(DOMDocument $dom, DOMElement $root) {
$block = $this
->getDataContainer()
->getItunesBlock();
if ($block === null) {
return;
}
$el = $dom
->createElement('itunes:block');
$text = $dom
->createTextNode($block);
$el
->appendChild($text);
$root
->appendChild($el);
$this->called = true;
}
/**
* Set feed categories
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setCategories(DOMDocument $dom, DOMElement $root) {
$cats = $this
->getDataContainer()
->getItunesCategories();
if (!$cats || empty($cats)) {
return;
}
foreach ($cats as $key => $cat) {
if (!is_array($cat)) {
$el = $dom
->createElement('itunes:category');
$el
->setAttribute('text', $cat);
$root
->appendChild($el);
}
else {
$el = $dom
->createElement('itunes:category');
$el
->setAttribute('text', $key);
$root
->appendChild($el);
foreach ($cat as $subcat) {
$el2 = $dom
->createElement('itunes:category');
$el2
->setAttribute('text', $subcat);
$el
->appendChild($el2);
}
}
}
$this->called = true;
}
/**
* Set feed image (icon)
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setImage(DOMDocument $dom, DOMElement $root) {
$image = $this
->getDataContainer()
->getItunesImage();
if (!$image) {
return;
}
$el = $dom
->createElement('itunes:image');
$el
->setAttribute('href', $image);
$root
->appendChild($el);
$this->called = true;
}
/**
* Set feed cumulative duration
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setDuration(DOMDocument $dom, DOMElement $root) {
$duration = $this
->getDataContainer()
->getItunesDuration();
if (!$duration) {
return;
}
$el = $dom
->createElement('itunes:duration');
$text = $dom
->createTextNode($duration);
$el
->appendChild($text);
$root
->appendChild($el);
$this->called = true;
}
/**
* Set explicit flag
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setExplicit(DOMDocument $dom, DOMElement $root) {
$explicit = $this
->getDataContainer()
->getItunesExplicit();
if ($explicit === null) {
return;
}
$el = $dom
->createElement('itunes:explicit');
$text = $dom
->createTextNode($explicit);
$el
->appendChild($text);
$root
->appendChild($el);
$this->called = true;
}
/**
* Set feed keywords
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setKeywords(DOMDocument $dom, DOMElement $root) {
$keywords = $this
->getDataContainer()
->getItunesKeywords();
if (!$keywords || empty($keywords)) {
return;
}
$el = $dom
->createElement('itunes:keywords');
$text = $dom
->createTextNode(implode(',', $keywords));
$el
->appendChild($text);
$root
->appendChild($el);
$this->called = true;
}
/**
* Set feed's new URL
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setNewFeedUrl(DOMDocument $dom, DOMElement $root) {
$url = $this
->getDataContainer()
->getItunesNewFeedUrl();
if (!$url) {
return;
}
$el = $dom
->createElement('itunes:new-feed-url');
$text = $dom
->createTextNode($url);
$el
->appendChild($text);
$root
->appendChild($el);
$this->called = true;
}
/**
* Set feed owners
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setOwners(DOMDocument $dom, DOMElement $root) {
$owners = $this
->getDataContainer()
->getItunesOwners();
if (!$owners || empty($owners)) {
return;
}
foreach ($owners as $owner) {
$el = $dom
->createElement('itunes:owner');
$name = $dom
->createElement('itunes:name');
$text = $dom
->createTextNode($owner['name']);
$name
->appendChild($text);
$email = $dom
->createElement('itunes:email');
$text = $dom
->createTextNode($owner['email']);
$email
->appendChild($text);
$root
->appendChild($el);
$el
->appendChild($name);
$el
->appendChild($email);
}
$this->called = true;
}
/**
* Set feed subtitle
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setSubtitle(DOMDocument $dom, DOMElement $root) {
$subtitle = $this
->getDataContainer()
->getItunesSubtitle();
if (!$subtitle) {
return;
}
$el = $dom
->createElement('itunes:subtitle');
$text = $dom
->createTextNode($subtitle);
$el
->appendChild($text);
$root
->appendChild($el);
$this->called = true;
}
/**
* Set feed summary
*
* @param DOMDocument $dom
* @param DOMElement $root
* @return void
*/
protected function _setSummary(DOMDocument $dom, DOMElement $root) {
$summary = $this
->getDataContainer()
->getItunesSummary();
if (!$summary) {
return;
}
$el = $dom
->createElement('itunes:summary');
$text = $dom
->createTextNode($summary);
$el
->appendChild($text);
$root
->appendChild($el);
$this->called = true;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Feed:: |
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. | |
Feed:: |
public | function | Render feed | |
Feed:: |
protected | function | Append feed namespaces | |
Feed:: |
protected | function | Set feed authors | |
Feed:: |
protected | function | Set feed itunes block | |
Feed:: |
protected | function | Set feed categories | |
Feed:: |
protected | function | Set feed cumulative duration | |
Feed:: |
protected | function | Set explicit flag | |
Feed:: |
protected | function | Set feed image (icon) | |
Feed:: |
protected | function | Set feed keywords | |
Feed:: |
protected | function | Set feed's new URL | |
Feed:: |
protected | function | Set feed owners | |
Feed:: |
protected | function | Set feed subtitle | |
Feed:: |
protected | function | Set feed summary |