summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ajax/createfeed.php7
-rw-r--r--ajax/feeddialog.php8
-rw-r--r--ajax/folderdialog.php8
-rw-r--r--ajax/loadfeed.php3
-rw-r--r--index.php14
-rw-r--r--js/menu.js56
-rw-r--r--js/news.js31
-rw-r--r--templates/main.php2
-rw-r--r--templates/part.feeds.php14
-rw-r--r--templates/part.folderlist.php10
-rw-r--r--templates/part.items.new.php6
-rw-r--r--templates/part.listfeed.php4
-rw-r--r--templates/part.listfolder.php4
13 files changed, 34 insertions, 133 deletions
diff --git a/ajax/createfeed.php b/ajax/createfeed.php
index e66f6b125..9b2ec08e5 100644
--- a/ajax/createfeed.php
+++ b/ajax/createfeed.php
@@ -67,12 +67,7 @@ $tmpl_listfeed->assign('feed', $feed);
$tmpl_listfeed->assign('unreadItemsCount', $unreadItemsCount);
$listfeed = $tmpl_listfeed->fetchPage();
-$tmpl_newfeed = new OCP\Template("news", "part.items.new");
-$tmpl_newfeed->assign('title', $feed->getTitle());
-$part_newfeed = $tmpl_newfeed->fetchPage();
-
OCP\JSON::success(array('data' => array( 'message' => $l->t('Feed added!'),
'feedid' => $feedid,
- 'listfeed' => $listfeed,
- 'part_newfeed' => $part_newfeed )));
+ 'listfeed' => $listfeed)));
diff --git a/ajax/feeddialog.php b/ajax/feeddialog.php
deleted file mode 100644
index 0a285260a..000000000
--- a/ajax/feeddialog.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-$foldermapper = new OCA\News\FolderMapper(OCP\USER::getUser());
-$folderforest = $foldermapper->childrenOf(0); //retrieve all the folders
-
-$output = new OCP\Template("news", "part.feeddialog");
-$output->assign('folderforest', $folderforest);
-$output->printpage(); \ No newline at end of file
diff --git a/ajax/folderdialog.php b/ajax/folderdialog.php
deleted file mode 100644
index 47024c965..000000000
--- a/ajax/folderdialog.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-$foldermapper = new OCA\News\FolderMapper(OCP\USER::getUser());
-$folderforest = $foldermapper->childrenOf(0); //retrieve all the folders
-
-$output = new OCP\Template("news", "part.folderdialog");
-$output->assign('folderforest', $folderforest);
-$output->printpage(); \ No newline at end of file
diff --git a/ajax/loadfeed.php b/ajax/loadfeed.php
index 51c0a5070..b5299d5e1 100644
--- a/ajax/loadfeed.php
+++ b/ajax/loadfeed.php
@@ -18,8 +18,9 @@ OCP\JSON::callCheck();
$userid = OCP\USER::getUser();
$feedId = $_POST['id'];
+$feedType = $_POST['type'];
OCP\Config::setUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeed', $feedId);
-
+OCP\Config::setUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeedType', $feedType);
$l = OC_L10N::get('news');
diff --git a/index.php b/index.php
index 3f7839c76..b7e688ba2 100644
--- a/index.php
+++ b/index.php
@@ -40,25 +40,29 @@ if ($allfeeds) {
$feedid = isset( $_GET['feedid'] ) ? $_GET['feedid'] : null;
if ($feedid == null) {
$feedmapper = new OCA\News\FeedMapper(OCP\USER::getUser($userid));
- if(OCP\Config::getUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeed') == null){
+ $lastViewedId = OCP\Config::getUserValue($userid, 'news', 'lastViewedFeed');
+ $lastViewedType = OCP\Config::getUserValue($userid, 'news', 'lastViewedFeedType');
+ if( $lastViewedId == null || $lastViewedType == null){
$feedid = $feedmapper->mostRecent();
} else {
- $feedid = OCP\Config::getUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeed');
+ $feedid = $lastViewedId;
+ $feedtype = $lastViewedType;
// check if feed exists in table
if($feedmapper->findById($feedid) === null){
- $feedid = $feedmapper->mostRecent();
+ $feedid = $feedmapper->mostRecent();
}
}
}
-}
-else {
+} else {
$feedid = 0;
+ $feedtype = 0;
}
$tmpl = new OCP\Template( 'news', 'main', 'user' );
$tmpl->assign('allfeeds', $allfeeds);
$tmpl->assign('folderforest', $folderforest);
$tmpl->assign('feedid', $feedid);
+$tmpl->assign('feedtype', $feedtype);
$tmpl->printPage();
?>
diff --git a/js/menu.js b/js/menu.js
index 2f1ce3dcf..e4453599c 100644
--- a/js/menu.js
+++ b/js/menu.js
@@ -46,14 +46,8 @@ Deleting nodes:
Creating nodes:
var parentId = 0;
- var nodeType = News.MenuNodeType.Feed;
- var nodeId = 6;
- var nodeData = {
- title: 'hi',
- icon: 'some/icon.png',
- unreadCount: 3
- };
- menu.addNode(parentId, nodeType, nodeId, nodeData);
+ var html = '<nodehtml>';
+ menu.addNode(parentId, html);
If you want to show all feeds, also feeds which contain only read items, use
@@ -142,17 +136,16 @@ var News = News || {};
/**
* Adds a node to the menu. A node can only be added to a folder or to the root
* @param parentId the id of the parent folder, 0 for root
- * @param type the type (MenuNodeType)
- * @param id the id
- * @param data a json array with the data for the element:
- * {title: '', icon: 'img/png.png', 'unreadCount': 3}
+ * @param html the html to add
*/
- Menu.prototype.addNode = function(parentId, type, id, data){
+ Menu.prototype.addNode = function(parentId, html){
parentId = parseInt(parentId);
- id = parseInt(id);
-
var $parentNode;
- if(parseInt(parentId) === 0){
+ var $html = $(html);
+
+ console.log($html);
+
+ if(parentId === 0){
$parentNode = this._$root;
} else {
$parentNode = this._getNodeFromTypeAndId(MenuNodeType.Folder, parentId).children('ul');
@@ -162,30 +155,7 @@ var News = News || {};
$parentNode.siblings('.collapsable_trigger').removeClass('triggered');
}
- var $html;
- var icon;
-
- switch(type){
- case MenuNodeType.Feed:
- $html = this._$mockFeed.clone();
- break;
- case MenuNodeType.Folder:
- $html = this._$mockFolder.clone();
- break;
- default:
- console.log('Can only create folders or feeds');
- break;
- }
-
- $html.children('.title').html(data.title);
- if(data.icon !== undefined){
- $html.children('.title').css('background-image', 'url("' + data.icon + '")');
- }
- $html.children('.unread_items_counter').html(data.unreadCount);
- $html.attr('data-id', id);
- $html.children('ul').attr('data-id', id);
-
- switch(type){
+ switch(this._getIdAndTypeFromNode($html).type){
case MenuNodeType.Feed:
this._bindFeed($html);
break;
@@ -363,12 +333,6 @@ var News = News || {};
*/
Menu.prototype.bindOn = function(cssSelector){
var self = this;
- // remove mock elements
- this._$mockFolder = $('.mock.folder').detach();
- this._$mockFolder.removeClass('mock open');
- this._$mockFeed = $('.mock.feed').detach();
- this._$mockFeed.removeClass('mock');
-
// bind menu
this._$root = $(cssSelector);
this._id = this._$root.data('id');
diff --git a/js/news.js b/js/news.js
index 9ca511360..deb3bfaba 100644
--- a/js/news.js
+++ b/js/news.js
@@ -40,14 +40,7 @@ News = {
$.post(url, { name: displayname, parentid: folderid },
function(jsondata){
if(jsondata.status == 'success'){
- // FIXME: this should receive json by default
- var $folder = $(jsondata.data.listfolder);
- var title = $folder.children('.title').html();
- var id = $folder.data('id');
- var data = {
- title: title
- };
- News.Objects.Menu.addNode(0, News.MenuNodeType.Folder, id, data);
+ News.Objects.Menu.addNode(0, jsondata.data.listfolder);
$('#addfolder_dialog').dialog('close');
} else {
OC.dialogs.alert(jsondata.data.message, t('news', 'Error'));
@@ -82,28 +75,16 @@ News = {
url: OC.filePath('news', 'ajax', 'createfeed.php'),
data: { 'feedurl': feedurl, 'folderid': folderid },
dataType: "json",
- success: function(jsondata){
+ success: function(jsonData){
if($('#firstrun').length > 0){
window.location.reload();
} else {
- if(jsondata.status == 'success'){
- // FIXME: this should receive json by default
- var $feed = $(jsondata.data.listfeed);
- var title = $feed.children('.title').html();
- var icon = $feed.children('.title').css('background-image').replace(/"/g,"").replace(/url\(|\)$/ig, "");;
- var unreadCount = $feed.children('.unread_items_count').html();
- var id = $feed.data('id');
- var data = {
- title: title,
- unreadCount: unreadCount,
- icon: icon
- };
- News.Objects.Menu.addNode(folderid, News.MenuNodeType.Feed, id, data);
- News.Objects.Menu.load(News.MenuNodeType.Feed, jsondata.data.feedid);
-
+ if(jsonData.status == 'success'){
+ News.Objects.Menu.addNode(folderid, jsonData.data.listfeed);
+ News.Objects.Menu.load(News.MenuNodeType.Feed, jsonData.data.feedid);
$('#addfeed_dialog').dialog('close');
} else {
- OC.dialogs.alert(jsondata.data.message, t('news', 'Error'));
+ OC.dialogs.alert(jsonData.data.message, t('news', 'Error'));
}
$("#feed_add_url").val('');
$(button).attr("disabled", false);
diff --git a/templates/main.php b/templates/main.php
index 0e5680ce8..099a1a5a5 100644
--- a/templates/main.php
+++ b/templates/main.php
@@ -46,7 +46,7 @@ if($showAll){
</div>
</div>
-<div id="rightcontent" class="rightcontent" data-id="<?php echo $_['feedid']; ?>">
+<div id="rightcontent" class="rightcontent">
<?php
echo '<div id="feed_items">';
echo $this->inc("part.items");
diff --git a/templates/part.feeds.php b/templates/part.feeds.php
index b1a28ba32..0ee45ad0c 100644
--- a/templates/part.feeds.php
+++ b/templates/part.feeds.php
@@ -33,31 +33,23 @@ function print_collection_list($list) {
$allfeeds = isset($_['allfeeds']) ? $_['allfeeds'] : '';
$feedId = $_['feedid'];
+$feedType = $_['feedtype'];
$itemMapper = new OCA\News\ItemMapper();
$starredCount = $itemMapper->countEveryItemByStatus(OCA\News\StatusFlag::IMPORTANT);
?>
-<li class="subscriptions <?php if($feedId === -2){ echo "selected_feed"; }; ?>">
+<li class="subscriptions <?php if($feedType == OCA\News\FeedType::SUBSCRIPTIONS){ echo "active"; }; ?>">
<a class="title" href="#" ><?php echo $l->t('New articles'); ?></a>
<span class="buttons">
<button class="svg action feeds_markread" title="<?php echo $l->t('Mark all read'); ?>"></button>
</span>
</li>
-<li class="starred <?php if($feedId === -1){ echo "selected_feed"; }; ?>">
+<li class="starred <?php if($feedType == OCA\News\FeedType::STARRED){ echo "active"; }; ?>">
<a class="title" href="#" ><?php echo $l->t('Starred'); ?></a>
<span class="unread_items_counter"><?php echo $starredCount ?></span>
</li>
<?php
- // provide mock feed and folder elements for js menu
- $mockFolder = new OCP\Template("news", "part.listfolder");
- $mockFolder->assign('mock', true);
- $mockFolder->printpage();
-
- $mockFolder = new OCP\Template("news", "part.listfeed");
- $mockFolder->assign('mock', true);
- $mockFolder->printpage();
-
print_collection_list($allfeeds);
diff --git a/templates/part.folderlist.php b/templates/part.folderlist.php
deleted file mode 100644
index f2da64737..000000000
--- a/templates/part.folderlist.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
- function print_folder_list($folderlist, $depth) {
- foreach($folderlist as $folder) {
- echo '<li style="margin-left:' . 10*$depth . 'px;" class="menuItem" onclick="News.DropDownMenu.selectItem(this, ' . $folder->getId() . ')">' . $folder->getName() . '</li>';
- }
- }
-
- print_folder_list($_['folderforest'], 0);
-?> \ No newline at end of file
diff --git a/templates/part.items.new.php b/templates/part.items.new.php
deleted file mode 100644
index c2976dda9..000000000
--- a/templates/part.items.new.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-$title = isset($_['title']) ? $_['title'] : '';
-
-echo '<div class="rightcontentmsg" id="feedadded">' .
- 'You have subscribed to <b>"' . $title . '"</b>' .
- '</div>';
diff --git a/templates/part.listfeed.php b/templates/part.listfeed.php
index b20cc52b9..04d67a881 100644
--- a/templates/part.listfeed.php
+++ b/templates/part.listfeed.php
@@ -18,9 +18,7 @@ if(isset($_['mock'])){
}
}
-$mockClass = isset($_['mock']) ? 'mock' : '';
-
-echo '<li class="feed ' . $mockClass . '" data-id="' . $feedId . '">';
+echo '<li class="feed" data-id="' . $feedId . '">';
echo '<a style="background-image: url(' . $favicon . ');" href="#" class="title">' . $feedTitle .'</a>';
echo '<span class="unread_items_counter">' . $unreadItemsCount . '</span>';
echo '<span class="buttons">';
diff --git a/templates/part.listfolder.php b/templates/part.listfolder.php
index cf6a1c5e1..80fda44a6 100644
--- a/templates/part.listfolder.php
+++ b/templates/part.listfolder.php
@@ -11,9 +11,7 @@ if(isset($_['mock'])){
$folderName = $folder->getName();
}
-$mockClass = isset($_['mock']) ? 'mock' : '';
-
-echo '<li class="folder open ' . $mockClass . '" data-id="' . $folderId . '">';
+echo '<li class="folder open" data-id="' . $folderId . '">';
echo '<button class="collapsable_trigger" title="' . $l->t('Collapse') . '"></button>';
echo '<a href="#" class="title">' . $folderName . '</a>';
echo '<span class="buttons">';