Split all files mith multiple classes into multiple files
This commit is contained in:
196
src/RssItem.php
Normal file
196
src/RssItem.php
Normal file
@@ -0,0 +1,196 @@
|
||||
<?php
|
||||
|
||||
/** DomFramework
|
||||
* @package domframework
|
||||
* @author Dominique Fournier <dominique@fournier38.fr>
|
||||
* @license BSD
|
||||
*/
|
||||
|
||||
namespace Domframework;
|
||||
|
||||
/**
|
||||
* This class manage one RSS Item
|
||||
*
|
||||
* Called by Rss
|
||||
*/
|
||||
class RssItem
|
||||
{
|
||||
/** The title of the item
|
||||
*/
|
||||
private $title;
|
||||
|
||||
/** The URL of the item
|
||||
*/
|
||||
private $link;
|
||||
|
||||
/** The item synopsis
|
||||
*/
|
||||
private $description;
|
||||
|
||||
/** Email address of the author of the item
|
||||
*/
|
||||
private $author;
|
||||
|
||||
/** URL of a page for comments relating to the item
|
||||
*/
|
||||
private $comments;
|
||||
|
||||
/** A string that uniquely identifies the item
|
||||
*/
|
||||
private $guid;
|
||||
|
||||
/** Indicates when the item was published
|
||||
*/
|
||||
private $pubDate;
|
||||
|
||||
/** Get/Set the value
|
||||
* @param string|null $title The title to get/set
|
||||
*/
|
||||
public function title($title = null)
|
||||
{
|
||||
if ($title === null) {
|
||||
return $this->title;
|
||||
}
|
||||
if (! is_string($title)) {
|
||||
throw new \Exception("Title provided to RSS Item is not a string", 500);
|
||||
}
|
||||
if ($title === "") {
|
||||
$title = null;
|
||||
}
|
||||
$this->title = $title;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/** Get/Set the value
|
||||
* @param string|null $link The link to get/set
|
||||
*/
|
||||
public function link($link = null)
|
||||
{
|
||||
if ($link === null) {
|
||||
return $this->link;
|
||||
}
|
||||
if (! is_string($link)) {
|
||||
throw new \Exception("Link provided to RSS Item is not a string", 500);
|
||||
}
|
||||
$verify = new Verify();
|
||||
if (! $verify->is_URL($link)) {
|
||||
throw new \Exception("Link provided to RSS Item is not an URL", 500);
|
||||
}
|
||||
if ($link === "") {
|
||||
$link = null;
|
||||
}
|
||||
$this->link = $link;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/** Get/Set the value
|
||||
* @param string|null $description The description to get/set
|
||||
*/
|
||||
public function description($description = null)
|
||||
{
|
||||
if ($description === null) {
|
||||
return $this->description;
|
||||
}
|
||||
if (! is_string($description)) {
|
||||
throw new \Exception(
|
||||
"Description provided to RSS Item is not a string",
|
||||
500
|
||||
);
|
||||
}
|
||||
if ($description === "") {
|
||||
$description = null;
|
||||
}
|
||||
$this->description = $description;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/** Get/Set the value
|
||||
* @param string|null $author The author to get/set
|
||||
*/
|
||||
public function author($author = null)
|
||||
{
|
||||
if ($author === null) {
|
||||
return $this->author;
|
||||
}
|
||||
if (! is_string($author)) {
|
||||
throw new \Exception("Author provided to RSS Item is not a string", 500);
|
||||
}
|
||||
if ($author === "") {
|
||||
$author = null;
|
||||
}
|
||||
$this->author = $author;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/** Get/Set the value
|
||||
* @param string|null $comments The comments to get/set
|
||||
*/
|
||||
public function comments($comments = null)
|
||||
{
|
||||
if ($comments === null) {
|
||||
return $this->comments;
|
||||
}
|
||||
if (! is_string($comments)) {
|
||||
throw new \Exception(
|
||||
"Comments provided to RSS Item is not a string",
|
||||
500
|
||||
);
|
||||
}
|
||||
if ($comments === "") {
|
||||
$comments = null;
|
||||
}
|
||||
$this->comments = $comments;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/** Get/Set the value
|
||||
* @param string|null $guid The guid to get/set
|
||||
*/
|
||||
public function guid($guid = null)
|
||||
{
|
||||
if ($guid === null) {
|
||||
return $this->guid;
|
||||
}
|
||||
if (! is_string($guid)) {
|
||||
throw new \Exception("GUID provided to RSS Item is not a string", 500);
|
||||
}
|
||||
if ($guid === "") {
|
||||
$guid = null;
|
||||
}
|
||||
$this->guid = $guid;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/** Get/Set the value
|
||||
* @param string|null $pubDate The pubDate to get/set
|
||||
*/
|
||||
public function pubDate($pubDate = null)
|
||||
{
|
||||
if ($pubDate === null) {
|
||||
return $this->pubDate;
|
||||
}
|
||||
if (! is_string($pubDate)) {
|
||||
throw new \Exception(
|
||||
"pubDate provided to RSS Item is not a string",
|
||||
500
|
||||
);
|
||||
}
|
||||
if (! Verify::staticIs_datetimeSQL($pubDate)) {
|
||||
throw new \Exception(
|
||||
"pubDate provided to RSS Item is not a valid date",
|
||||
500
|
||||
);
|
||||
}
|
||||
if ($pubDate === "") {
|
||||
$pubDate = null;
|
||||
} else {
|
||||
$pubDate = Convert::convertDate(
|
||||
$pubDate,
|
||||
"Y-m-d H:i:s",
|
||||
\DateTime::RFC2822
|
||||
);
|
||||
}
|
||||
$this->pubDate = $pubDate;
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user