class Feed in Zircon Profile 8
Same name in this branch
- 8 vendor/zendframework/zend-feed/src/Writer/Feed.php \Zend\Feed\Writer\Feed
- 8 core/modules/aggregator/src/Entity/Feed.php \Drupal\aggregator\Entity\Feed
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/Syndication/Feed.php \Zend\Feed\Reader\Extension\Syndication\Feed
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Feed.php \Zend\Feed\Reader\Extension\Atom\Feed
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Feed.php \Zend\Feed\Reader\Extension\Podcast\Feed
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Feed.php \Zend\Feed\Reader\Extension\DublinCore\Feed
- 8 vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php \Zend\Feed\Reader\Extension\CreativeCommons\Feed
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Feed.php \Zend\Feed\Writer\Extension\ITunes\Feed
- 8 core/modules/views/src/Plugin/views/display/Feed.php \Drupal\views\Plugin\views\display\Feed
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/Atom/Renderer/Feed.php \Zend\Feed\Writer\Extension\Atom\Renderer\Feed
- 8 vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Feed.php \Zend\Feed\Writer\Extension\DublinCore\Renderer\Feed
- 8 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.0 vendor/zendframework/zend-feed/src/Reader/Extension/Syndication/Feed.php \Zend\Feed\Reader\Extension\Syndication\Feed
Hierarchy
- class \Zend\Feed\Reader\Extension\Syndication\Feed extends \Extension\AbstractFeed
Expanded class hierarchy of Feed
18 string references to 'Feed'
- aggregator.schema.yml in core/
modules/ aggregator/ config/ schema/ aggregator.schema.yml - core/modules/aggregator/config/schema/aggregator.schema.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
- views.view.aggregator_sources.yml in core/
modules/ aggregator/ config/ optional/ views.view.aggregator_sources.yml - core/modules/aggregator/config/optional/views.view.aggregator_sources.yml
File
- vendor/
zendframework/ zend-feed/ src/ Reader/ Extension/ Syndication/ Feed.php, line 16
Namespace
Zend\Feed\Reader\Extension\SyndicationView source
class Feed extends Extension\AbstractFeed {
/**
* Get update period
*
* @return string
* @throws Reader\Exception\InvalidArgumentException
*/
public function getUpdatePeriod() {
$name = 'updatePeriod';
$period = $this
->getData($name);
if ($period === null) {
$this->data[$name] = 'daily';
return 'daily';
//Default specified by spec
}
switch ($period) {
case 'hourly':
case 'daily':
case 'weekly':
case 'yearly':
return $period;
default:
throw new Reader\Exception\InvalidArgumentException("Feed specified invalid update period: '{$period}'." . " Must be one of hourly, daily, weekly or yearly");
}
}
/**
* Get update frequency
*
* @return int
*/
public function getUpdateFrequency() {
$name = 'updateFrequency';
$freq = $this
->getData($name, 'number');
if (!$freq || $freq < 1) {
$this->data[$name] = 1;
return 1;
}
return $freq;
}
/**
* Get update frequency as ticks
*
* @return int
*/
public function getUpdateFrequencyAsTicks() {
$name = 'updateFrequency';
$freq = $this
->getData($name, 'number');
if (!$freq || $freq < 1) {
$this->data[$name] = 1;
$freq = 1;
}
$period = $this
->getUpdatePeriod();
$ticks = 1;
switch ($period) {
case 'yearly':
$ticks *= 52;
//TODO: fix generalisation, how?
// no break
case 'weekly':
$ticks *= 7;
// no break
case 'daily':
$ticks *= 24;
// no break
case 'hourly':
$ticks *= 3600;
break;
default:
//Never arrive here, exception thrown in getPeriod()
break;
}
return $ticks / $freq;
}
/**
* Get update base
*
* @return DateTime|null
*/
public function getUpdateBase() {
$updateBase = $this
->getData('updateBase');
$date = null;
if ($updateBase) {
$date = DateTime::createFromFormat(DateTime::W3C, $updateBase);
}
return $date;
}
/**
* Get the entry data specified by name
*
* @param string $name
* @param string $type
* @return mixed|null
*/
private function getData($name, $type = 'string') {
if (array_key_exists($name, $this->data)) {
return $this->data[$name];
}
$data = $this->xpath
->evaluate($type . '(' . $this
->getXpathPrefix() . '/syn10:' . $name . ')');
if (!$data) {
$data = null;
}
$this->data[$name] = $data;
return $data;
}
/**
* Register Syndication namespaces
*
* @return void
*/
protected function registerNamespaces() {
$this->xpath
->registerNamespace('syn10', 'http://purl.org/rss/1.0/modules/syndication/');
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Feed:: |
private | function | Get the entry data specified by name | |
Feed:: |
public | function | Get update base | |
Feed:: |
public | function | Get update frequency | |
Feed:: |
public | function | Get update frequency as ticks | |
Feed:: |
public | function | Get update period | |
Feed:: |
protected | function | Register Syndication namespaces |