rss-bridge/lib/FormatAbstract.php

69 lines
1.3 KiB
PHP
Raw Normal View History

<?php
2023-09-25 22:18:48 +03:00
abstract class FormatAbstract
{
public const ITUNES_NS = 'http://www.itunes.com/dtds/podcast-1.0.dtd';
const MIME_TYPE = 'text/plain';
2023-09-25 22:18:48 +03:00
protected string $charset = 'UTF-8';
protected array $items = [];
protected int $lastModified;
protected array $feed = [];
abstract public function stringify();
public function setFeed(array $feed)
{
$default = [
'name' => '',
'uri' => '',
'icon' => '',
'donationUri' => '',
];
$this->feed = array_merge($default, $feed);
}
public function getFeed(): array
{
return $this->feed;
}
2023-10-13 12:24:22 +03:00
/**
* @param FeedItem[] $items
*/
public function setItems(array $items): void
{
$this->items = $items;
}
2023-09-25 22:18:48 +03:00
/**
* @return FeedItem[] The items
*/
public function getItems(): array
{
return $this->items;
}
public function getMimeType(): string
{
return static::MIME_TYPE;
}
public function setCharset(string $charset)
{
$this->charset = $charset;
}
public function getCharset(): string
{
return $this->charset;
}
public function setLastModified(int $lastModified)
{
$this->lastModified = $lastModified;
}
}