summaryrefslogtreecommitdiffstats
path: root/db/item.php
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-01-27 04:15:53 +0100
committerBernhard Posselt <nukeawhale@gmail.com>2013-01-27 04:15:53 +0100
commitae7393db3d99a7ac223ae917129cccd9f49888e3 (patch)
tree7f54b72b0d01c38afd1378365a67e4f192922423 /db/item.php
parent483784caa38bd6131405ac474347a215584e30a5 (diff)
merged the angularjs branch
Diffstat (limited to 'db/item.php')
-rw-r--r--db/item.php168
1 files changed, 168 insertions, 0 deletions
diff --git a/db/item.php b/db/item.php
new file mode 100644
index 000000000..bda17204e
--- /dev/null
+++ b/db/item.php
@@ -0,0 +1,168 @@
+<?php
+/**
+* ownCloud - News app
+*
+* @author Alessandro Cosentino
+* Copyright (c) 2012 - Alessandro Cosentino <cosenal@gmail.com>
+*
+* This file is licensed under the Affero General Public License version 3 or later.
+* See the COPYING-README file
+*
+*/
+
+namespace OCA\News;
+
+/**
+ * This class models an item.
+ *
+ * It encapsulate a SimplePie_Item object and adds a status flag to it
+ */
+class Item {
+
+ private $url;
+ private $title;
+ private $guid;
+ private $body;
+ private $status; //a bit-field set with status flags
+ private $id; //id of the item in the database table
+ private $author;
+ private $date; //date is stored in the Unix format
+ private $feedTitle;
+ private $enclosure; // Enclosure object containing media attachment information
+
+ public function __construct($url, $title, $guid, $body, $id = null) {
+ $this->title = $title;
+ $this->url = $url;
+ $this->guid = $guid;
+ $this->body = $body;
+ $this->enclosure = false;
+ if ($id == null) {
+ $this->status |= StatusFlag::UNREAD;
+ }
+ else {
+ $this->id = $id;
+ }
+ }
+
+ public function getFeedId() {
+ return $this->feedId;
+ }
+
+ public function setFeedId($feedId) {
+ $this->feedId = $feedId;
+ }
+
+ public function getGuid() {
+ return $this->guid;
+ }
+
+ public function setGuid($guid) {
+ $this->guid = $guid;
+ }
+
+ public function getId() {
+ return $this->id;
+ }
+
+ public function setId($id) {
+ $this->id = $id;
+ }
+
+ public function setRead() {
+ $this->status &= ~StatusFlag::UNREAD;
+ }
+
+ public function setUnread() {
+ $this->status |= StatusFlag::UNREAD;
+ }
+
+ public function isRead() {
+ return !($this->status & StatusFlag::UNREAD);
+ }
+
+ public function setImportant() {
+ $this->status |= StatusFlag::IMPORTANT;
+ }
+
+ public function setUnimportant() {
+ $this->status &= ~StatusFlag::IMPORTANT;
+ }
+
+ public function isImportant() {
+ return ($this->status & StatusFlag::IMPORTANT);
+ }
+
+ /**
+ * NOTE: this is needed to store items in the database, otherwise
+ * the status of an item should be retrieved with methods: isRead(), isImportant(), ...
+ */
+ public function getStatus() {
+ return $this->status;
+ }
+
+ public function setStatus($status) {
+ $this->status = $status;
+ }
+
+ /* change the following method with set/get magic methods
+ * http://www.php.net/manual/en/language.oop5.overloading.php#object.get
+ */
+
+ public function getTitle() {
+ return $this->title;
+ }
+
+ public function setTitle($title) {
+ $this->title = $title;
+ }
+
+ public function getFeedTitle() {
+ return $this->feedTitle;
+ }
+
+ public function setFeedTitle($feedtitle) {
+ $this->feedTitle = $feedtitle;
+ }
+
+ public function getUrl() {
+ return $this->url;
+ }
+
+ public function setUrl($url) {
+ $this->url = $url;
+ }
+
+ public function getBody() {
+ return $this->body;
+ }
+
+ public function setBody($body) {
+ $this->body = $body;
+ }
+
+ public function getAuthor() {
+ return $this->author;
+ }
+
+ public function setAuthor($author) {
+ $this->author = $author;
+ }
+
+ public function getDate() {
+ return $this->date;
+ }
+
+ //TODO: check if the parameter is in the Unix format
+ public function setDate($date) {
+ $this->date = $date;
+ }
+
+ public function getEnclosure() {
+ return $this->enclosure;
+ }
+
+ public function setEnclosure(Enclosure $enclosure) {
+ $this->enclosure = $enclosure;
+ }
+}
+