From a5495046a484fd699717463185de3a9018f96c81 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sun, 2 Sep 2012 14:34:24 +0200 Subject: dont use mock folders, use html delivered from server; deleted unecessary templates and ajax files --- ajax/createfeed.php | 7 +----- ajax/feeddialog.php | 8 ------- ajax/folderdialog.php | 8 ------- ajax/loadfeed.php | 3 ++- index.php | 14 +++++++---- js/menu.js | 56 ++++++++----------------------------------- js/news.js | 31 +++++------------------- templates/main.php | 2 +- templates/part.feeds.php | 14 +++-------- templates/part.folderlist.php | 10 -------- templates/part.items.new.php | 6 ----- templates/part.listfeed.php | 4 +--- templates/part.listfolder.php | 4 +--- 13 files changed, 34 insertions(+), 133 deletions(-) delete mode 100644 ajax/feeddialog.php delete mode 100644 ajax/folderdialog.php delete mode 100644 templates/part.folderlist.php delete mode 100644 templates/part.items.new.php 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 @@ -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 @@ -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 = ''; + 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){ -
+
'; 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); ?> -
  • "> +
  • "> t('New articles'); ?>
  • -
  • "> +
  • "> t('Starred'); ?>
  • 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 @@ -getId() . ')">' . $folder->getName() . ''; - } - } - - 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 @@ -' . - 'You have subscribed to "' . $title . '"' . - '
    '; 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 '
  • '; +echo '
  • '; echo '' . $feedTitle .''; echo '' . $unreadItemsCount . ''; echo ''; 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 '
  • '; +echo '
  • '; echo ''; echo '' . $folderName . ''; echo ''; -- cgit v1.2.3