summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2012-10-13 03:07:34 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2012-10-13 03:07:34 +0200
commit8904f6d3f5132529d654c5b5a8b94cec7304b482 (patch)
tree08ba67467efb0283ee18cde101ec19110bf58734
parentf3d86d21def0f635a2a8583debcdde5de9ea87e1 (diff)
preperations for always selecting last feed/folder
-rw-r--r--ajax/loadfeed.php2
-rw-r--r--controllers/news.controller.php28
-rw-r--r--templates/part.feeds.php12
-rw-r--r--templates/part.items.php2
-rw-r--r--templates/part.listfeed.php30
-rw-r--r--templates/part.listfolder.php12
6 files changed, 49 insertions, 37 deletions
diff --git a/ajax/loadfeed.php b/ajax/loadfeed.php
index 4248796a4..e90a6fd9f 100644
--- a/ajax/loadfeed.php
+++ b/ajax/loadfeed.php
@@ -28,7 +28,7 @@ OCP\Config::setUserValue(OCP\USER::getUser(), 'news', 'lastViewedFeedType', $fee
$l = OC_L10N::get('news');
$itemsTpl = new OCP\Template("news", "part.items");
-$itemsTpl->assign('feedid', $feedId);
+$itemsTpl->assign('lastViewedFeedId', $feedId);
$feedItems = $itemsTpl->fetchPage();
$itemMapper = new OCA\News\ItemMapper();
diff --git a/controllers/news.controller.php b/controllers/news.controller.php
index 30b409f54..9695e85d1 100644
--- a/controllers/news.controller.php
+++ b/controllers/news.controller.php
@@ -58,40 +58,40 @@ class NewsController extends Controller {
$folderMapper = new FolderMapper($this->userId);
$feedMapper = new FeedMapper($this->userId);
+ $itemMapper = new ItemMapper($this->userId);
// always show the last viewed feed on reload
- $lastViewedId = $this->getUserValue('lastViewedFeed');
- $lastViewedType = $this->getUserValue('lastViewedFeedType');
+ $lastViewedFeedId = $this->getUserValue('lastViewedFeed');
+ $lastViewedFeedType = $this->getUserValue('lastViewedFeedType');
$showAll = $this->getUserValue('showAll');
- if( $lastViewedId === null || $lastViewedType === null) {
- $lastViewedId = $feedMapper->mostRecent();
+ if( $lastViewedFeedId === null || $lastViewedFeedType === null) {
+ $lastViewedFeedId = $feedMapper->mostRecent();
} else {
// check if the last selected feed or folder exists
if( (
- $lastViewedType === FeedType::FEED &&
- $feedMapper->findById($lastViewedId) === null
+ $lastViewedFeedType === FeedType::FEED &&
+ $feedMapper->findById($lastViewedFeedId) === null
) ||
(
- $lastViewedType === FeedType::FOLDER &&
- $folderMapper->findById($lastViewedId) === null
+ $lastViewedFeedType === FeedType::FOLDER &&
+ $folderMapper->findById($lastViewedFeedId) === null
) ){
- $lastViewedId = $feedMapper->mostRecent();
+ $lastViewedFeedId = $feedMapper->mostRecent();
}
}
$feeds = $folderMapper->childrenOfWithFeeds(0);
$folderForest = $folderMapper->childrenOf(0); //retrieve all the folders
+ $starredCount = $itemMapper->countEveryItemByStatus(StatusFlag::IMPORTANT);
$params = array(
'allfeeds' => $feeds,
'folderforest' => $folderForest,
'showAll' => $showAll,
- 'lastViewedId' => $lastViewedType,
- 'lastViewedType' => $lastViewedType,
- // FIXME: for compability, remove this after refactoring
- 'feedid' => $lastViewedId,
- 'feedtype' => $lastViewedType,
+ 'lastViewedFeedId' => $lastViewedFeedId,
+ 'lastViewedFeedType' => $lastViewedFeedType,
+ 'starredCount' => $starredCount,
);
$this->render('main', $params);
diff --git a/templates/part.feeds.php b/templates/part.feeds.php
index d85a07079..e766fb033 100644
--- a/templates/part.feeds.php
+++ b/templates/part.feeds.php
@@ -32,21 +32,19 @@ 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);
+$lastViewedFeedId = $_['lastViewedFeedId'];
+$lastViewedFeedType = $_['lastViewedFeedType'];
+$starredCount = $_['starredCount']
?>
-<li class="subscriptions <?php if($feedType == OCA\News\FeedType::SUBSCRIPTIONS) { echo "active"; }; ?>">
+<li class="subscriptions <?php if($lastViewedFeedType == 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($feedType == OCA\News\FeedType::STARRED) { echo "active"; }; ?>">
+<li class="starred <?php if($lastViewedFeedType == 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>
diff --git a/templates/part.items.php b/templates/part.items.php
index 098718a6b..296080eb8 100644
--- a/templates/part.items.php
+++ b/templates/part.items.php
@@ -1,6 +1,6 @@
<?php
-$feedId = isset($_['feedid']) ? $_['feedid'] : '';
+$feedId = isset($_['lastViewedFeedId']) ? $_['lastViewedFeedId'] : '';
$itemMapper = new OCA\News\ItemMapper();
diff --git a/templates/part.listfeed.php b/templates/part.listfeed.php
index 6012b574d..74ad344c8 100644
--- a/templates/part.listfeed.php
+++ b/templates/part.listfeed.php
@@ -2,23 +2,27 @@
$l = new OC_l10n('news');
-if(isset($_['mock'])) {
- $feedTitle = '';
- $feedId = -1;
- $unreadItemsCount = -1;
+
+$feed = isset($_['feed']) ? $_['feed'] : null;
+
+htmlspecialchars_decode($feedTitle = $feed->getTitle());
+$feedId = $feed->getId();
+$unreadItemsCount = isset($_['unreadItemsCount']) ? $_['unreadItemsCount'] : null;
+$favicon = $feed->getFavicon();
+
+if ($favicon == null) {
$favicon = OCP\Util::imagePath('core', 'actions/public.svg');
+}
+
+$lastViewedFeedId = isset($_['lastViewedFeedId']) ? $_['lastViewedFeedId'] : null;
+$lastViewedFeedType = isset($_['lastViewedFeedType']) ? $_['lastViewedFeedType'] : null;
+if ($lastViewedFeedType === OCA\News\FeedType::FEED && $lastViewedFeedId === $feedId){
+ $activeClass = 'active';
} else {
- $feed = isset($_['feed']) ? $_['feed'] : null;
- htmlspecialchars_decode($feedTitle = $feed->getTitle());
- $feedId = $feed->getId();
- $unreadItemsCount = isset($_['unreadItemsCount']) ? $_['unreadItemsCount'] : null;
- $favicon = $feed->getFavicon();
- if ($favicon == null) {
- $favicon = OCP\Util::imagePath('core', 'actions/public.svg');
- }
+ $activeClass = '';
}
-echo '<li class="feed" data-id="' . $feedId . '">';
+echo '<li class="feed ' . $activeClass . '" 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 9057a14ba..2eea9c7e7 100644
--- a/templates/part.listfolder.php
+++ b/templates/part.listfolder.php
@@ -6,13 +6,23 @@ $l = new OC_l10n('news');
$folder = isset($_['folder']) ? $_['folder'] : null;
$folderId = $folder->getId();
$folderName = $folder->getName();
+
if($folder->getOpened()){
$openedClass = 'open';
} else {
$openedClass = 'collapsed';
}
-echo '<li class="folder ' . $openedClass . ' all_read" data-id="' . $folderId . '">';
+
+$lastViewedFeedId = isset($_['lastViewedFeedId']) ? $_['lastViewedFeedId'] : null;
+$lastViewedFeedType = isset($_['lastViewedFeedType']) ? $_['lastViewedFeedType'] : null;
+if ($lastViewedFeedType === OCA\News\FeedType::FOLDER && $lastViewedFeedId === $feedId){
+ $activeClass = 'active';
+} else {
+ $activeClass = '';
+}
+
+echo '<li class="folder ' . $openedClass . ' ' . $activeClass . ' all_read" data-id="' . $folderId . '">';
echo '<button class="collapsable_trigger" title="' . $l->t('Collapse') . '"></button>';
echo '<a href="#" class="title">' . htmlspecialchars($folderName, ENT_QUOTES, 'UTF-8') . '</a>';
echo '<span class="buttons">';