
| Current Path : /var/www/html1/testsite/vendor/laminas/laminas-feed/src/Reader/Extension/GooglePlayPodcast/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html1/testsite/vendor/laminas/laminas-feed/src/Reader/Extension/GooglePlayPodcast/Feed.php |
<?php
/**
* @see https://github.com/laminas/laminas-feed for the canonical source repository
* @copyright https://github.com/laminas/laminas-feed/blob/master/COPYRIGHT.md
* @license https://github.com/laminas/laminas-feed/blob/master/LICENSE.md New BSD License
*/
namespace Laminas\Feed\Reader\Extension\GooglePlayPodcast;
use DOMText;
use Laminas\Feed\Reader\Extension;
class Feed extends Extension\AbstractFeed
{
/**
* Get the entry author
*
* @return string
*/
public function getPlayPodcastAuthor()
{
if (isset($this->data['author'])) {
return $this->data['author'];
}
$author = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/googleplay:author)');
if (! $author) {
$author = null;
}
$this->data['author'] = $author;
return $this->data['author'];
}
/**
* Get the entry block
*
* @return string
*/
public function getPlayPodcastBlock()
{
if (isset($this->data['block'])) {
return $this->data['block'];
}
$block = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/googleplay:block)');
if (! $block) {
$block = null;
}
$this->data['block'] = $block;
return $this->data['block'];
}
/**
* Get the entry category
*
* @return null|array
*/
public function getPlayPodcastCategories()
{
if (isset($this->data['categories'])) {
return $this->data['categories'];
}
$categoryList = $this->xpath->query($this->getXpathPrefix() . '/googleplay:category');
$categories = [];
if ($categoryList->length > 0) {
foreach ($categoryList as $node) {
$children = null;
if ($node->childNodes->length > 0) {
$children = [];
foreach ($node->childNodes as $childNode) {
if (! $childNode instanceof DOMText) {
$children[$childNode->getAttribute('text')] = null;
}
}
}
$categories[$node->getAttribute('text')] = $children;
}
}
if (! $categories) {
$categories = null;
}
$this->data['categories'] = $categories;
return $this->data['categories'];
}
/**
* Get the entry explicit
*
* @return string
*/
public function getPlayPodcastExplicit()
{
if (isset($this->data['explicit'])) {
return $this->data['explicit'];
}
$explicit = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/googleplay:explicit)');
if (! $explicit) {
$explicit = null;
}
$this->data['explicit'] = $explicit;
return $this->data['explicit'];
}
/**
* Get the feed/podcast image
*
* @return string
*/
public function getPlayPodcastImage()
{
if (isset($this->data['image'])) {
return $this->data['image'];
}
$image = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/googleplay:image/@href)');
if (! $image) {
$image = null;
}
$this->data['image'] = $image;
return $this->data['image'];
}
/**
* Get the entry description
*
* @return string
*/
public function getPlayPodcastDescription()
{
if (isset($this->data['description'])) {
return $this->data['description'];
}
$description = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/googleplay:description)');
if (! $description) {
$description = null;
}
$this->data['description'] = $description;
return $this->data['description'];
}
/**
* Register googleplay namespace
*/
protected function registerNamespaces()
{
$this->xpath->registerNamespace('googleplay', 'http://www.google.com/schemas/play-podcasts/1.0');
}
}