diff options
-rw-r--r-- | appinfo/app.php | 8 | ||||
-rw-r--r-- | index.php | 23 | ||||
-rw-r--r-- | lib/item.php | 57 |
3 files changed, 75 insertions, 13 deletions
diff --git a/appinfo/app.php b/appinfo/app.php index a8169548c..43db69fee 100644 --- a/appinfo/app.php +++ b/appinfo/app.php @@ -21,9 +21,11 @@ * */ -OC_APP::registerAdmin('news','settings'); +OC::$CLASSPATH['OC_News_Item'] = 'apps/news/lib/item.php'; -OC_App::register( array( 'order' => 70, 'id' => 'news', 'name' => 'News' )); +$l = new OC_l10n('news'); -OC_App::addNavigationEntry( array( 'id' => 'news', 'order' => 74, 'href' => OC_Helper::linkTo( 'news', 'index.php' ), 'icon' => OC_Helper::imagePath( 'news', 'example.png' ), 'name' => 'News')); +OCP\App::registerAdmin('news','settings'); +OCP\App::register( array( 'order' => 70, 'id' => 'news', 'name' => 'News' )); +OCP\App::addNavigationEntry( array( 'id' => 'news', 'order' => 74, 'href' => OC_Helper::linkTo( 'news', 'index.php' ), 'icon' => OC_Helper::imagePath( 'news', 'example.png' ), 'name' => 'News')); @@ -1,7 +1,7 @@ <?php /** -* ownCloud - News app (feed reader) +* ownCloud - News app * * @author Alessandro Cosentino * @copyright 2012 Alessandro Cosentino cosenal@gmail.com @@ -21,20 +21,23 @@ * */ +// this is temporary. +//TODO: change it once the new app system is complete require_once('../owncloud/lib/base.php'); +// load SimplePie library +require_once('3rdparty/SimplePie/SimplePieAutoloader.php'); + // Check if we are a user -if( !OC_User::isLoggedIn()){ - header( "Location: ".OC_Helper::linkTo( '', 'index.php' )); - exit(); -} +OCP\User::checkLoggedIn(); +OCP\App::checkAppEnabled('news'); +OCP\App::setActiveNavigationEntry('news'); -$somesetting=OC_Config::getValue( "somesetting", '' ); -OC_App::setActiveNavigationEntry( 'news'); -$tmpl = new OC_Template( 'news', 'main', 'user' ); -$tmpl->assign('somesetting',$somesetting); -$tmpl->printPage(); +//OCP\Util::addscript('news','news'); +//OCP\Util::addStyle('news', 'news'); +$tmpl = new OCP\Template( 'news', 'main', 'user' ); +$tmpl->printPage(); ?> diff --git a/lib/item.php b/lib/item.php new file mode 100644 index 000000000..6a18ded1c --- /dev/null +++ b/lib/item.php @@ -0,0 +1,57 @@ +<?php +/** +* ownCloud - News app +* +* @author Alessandro Cosentino +* @copyright 2012 Alessandro Cosentino cosenal@gmail.com +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE +* License as published by the Free Software Foundation; either +* version 3 of the License, or any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU AFFERO GENERAL PUBLIC LICENSE for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library. If not, see <http://www.gnu.org/licenses/>. +* +*/ + + +class StatusFlag{ + const Unread = 0x02; + const Important = 0x04; + const Deleted = 0x08; + const Updated = 0x16; +} + +/* +* This class models an item +* +* It wraps a SimplePie item and adds a status flag to it +*/ +class OC_News_Item{ + + private $spitem; //the SimplePie item + private $status; //a bit-field set with status flags + + public function __construct($spitem){ + $this->spitem = $spitem; + $this->status |= StatusFlag::Unread; + } + + public function setRead(){ + $this->status |= ~StatusFlag::Unread; + } + + public function setUnread(){ + $this->status |= StatusFlag::Unread; + } + + public function isRead(){ + return ($this->status & ~StatusFlag::Unread); + } +} |