summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlessandro Cosentino <cosenal@gmail.com>2012-08-03 00:35:45 -0400
committerAlessandro Cosentino <cosenal@gmail.com>2012-08-03 00:35:45 -0400
commita4502857ece08326168fd5b1170d9ff9f4c3be01 (patch)
tree2eaff7d4a705bcc7bee42a9f4eaf8bd2dec67f3c
parent9e1b6c31a8818f665ac58307931c6fd308e6c353 (diff)
small fixes on previous commits
-rw-r--r--ajax/createfeed.php16
-rw-r--r--index.php7
-rw-r--r--js/news.js4
-rw-r--r--lib/feedmapper.php24
-rw-r--r--templates/part.feeds.php6
-rw-r--r--templates/part.itemcounter.php4
-rw-r--r--templates/part.listfeed.php4
7 files changed, 38 insertions, 27 deletions
diff --git a/ajax/createfeed.php b/ajax/createfeed.php
index 3b20b3ce9..a17ef8f33 100644
--- a/ajax/createfeed.php
+++ b/ajax/createfeed.php
@@ -21,21 +21,23 @@ $feedurl = trim($_POST['feedurl']);
$folderid = trim($_POST['folderid']);
$feed = OC_News_Utils::fetch($feedurl);
-$feedmapper = new OC_News_FeedMapper();
-$feedid = $feedmapper->save($feed, $folderid);
+
+if ($feed != null) {
+ $feedmapper = new OC_News_FeedMapper();
+ $feedid = $feedmapper->save($feed, $folderid);
+}
$l = OC_L10N::get('news');
-if(!$feedid) {
- OCP\JSON::error(array('data' => array('message' => $l->t('Error adding folder.'))));
+if($feed == null || !$feedid) {
+ OCP\JSON::error(array('data' => array('message' => $l->t('Error adding feed.'))));
OCP\Util::writeLog('news','ajax/createfeed.php: Error adding feed: '.$_POST['feedurl'], OCP\Util::ERROR);
exit();
}
$tmpl = new OCP\Template("news", "part.listfeed");
$tmpl->assign('child', $feed);
-$listitem = $tmpl->fetchPage();
+$listfeed = $tmpl->fetchPage();
-//TODO: replace the following with a real success case. see contact/ajax/createaddressbook.php for inspirations
-OCP\JSON::success(array('data' => array('message' => $l->t('Feed added!'), 'listitem' => $listitem)));
+OCP\JSON::success(array('data' => array('message' => $l->t('Feed added!'), 'listfeed' => $listfeed)));
diff --git a/index.php b/index.php
index 7a632c520..76d08a084 100644
--- a/index.php
+++ b/index.php
@@ -23,14 +23,17 @@ OCP\Util::addStyle('news','settings');
$l = OC_L10N::get('news');
-$foldermapper = new OC_News_FolderMapper(OCP\USER::getUser());
+$userid = OCP\USER::getUser();
+
+$foldermapper = new OC_News_FolderMapper($userid);
$allfeeds = $foldermapper->populate($l->t('Everything'), 0);
if ($allfeeds) {
$feedid = isset( $_GET['feedid'] ) ? $_GET['feedid'] : null;
if ($feedid == null) {
-
+ $feedmapper = new OC_News_FeedMapper(OCP\USER::getUser($userid));
+ $feedid = $feedmapper->mostRecent();
}
}
else {
diff --git a/js/news.js b/js/news.js
index 3084ef455..8490254e3 100644
--- a/js/news.js
+++ b/js/news.js
@@ -108,8 +108,8 @@ News={
$.post(OC.filePath('news', 'ajax', 'createfeed.php'), { feedurl: feedurl, folderid: folderid },
function(jsondata){
if(jsondata.status == 'success'){
- $('div[data-id="' + folderid + '"] > ul').before(jsondata.data.listitem);
- setupFeedList();
+ $('div[data-id="' + folderid + '"] > ul').append(jsondata.data.listfeed);
+ //setupFeedList();
OC.dialogs.alert(jsondata.data.message, t('news', 'Success!'));
} else {
OC.dialogs.alert(jsondata.data.message, t('news', 'Error'));
diff --git a/lib/feedmapper.php b/lib/feedmapper.php
index 7b544c3cf..6e3f6080d 100644
--- a/lib/feedmapper.php
+++ b/lib/feedmapper.php
@@ -125,6 +125,18 @@ class OC_News_FeedMapper {
}
return $id;
}
+
+ public function mostRecent(){
+ //FIXME: does something like SELECT TOP 1 * exists in pear/mdb2 ??
+ $stmt = OCP\DB::prepare('SELECT * FROM ' . self::tableName . ' ORDER BY lastmodified');
+ $result = $stmt->execute();
+ $row = $result->fetchRow();
+ $id = null;
+ if ($row != null){
+ $id = $row['id'];
+ }
+ return $id;
+ }
/**
* @brief Save the feed and all its items into the database
@@ -153,19 +165,17 @@ class OC_News_FeedMapper {
//FIXME: Detect when feed contains already a database id
$feedid = $this->findIdFromUrl($url);
if ($feedid == null){
- $query = OCP\DB::prepare('
- INSERT INTO ' . self::tableName .
- '(url, title, favicon_link, folder_id, added, lastmodified, user_id)
- VALUES (?, ?, ?, ?, ?, ?, ?)
- ');
+ $query = OCP\DB::prepare("
+ INSERT INTO " . self::tableName .
+ "(url, title, favicon_link, folder_id, user_id, added, lastmodified)
+ VALUES (?, ?, ?, ?, ?, $_ut, $_ut)
+ ");
$params=array(
$url,
htmlspecialchars_decode($title),
$feed->getFavicon(),
$folderid,
- $_ut,
- $_ut,
$this->userid
);
$query->execute($params);
diff --git a/templates/part.feeds.php b/templates/part.feeds.php
index ac57da384..df781767c 100644
--- a/templates/part.feeds.php
+++ b/templates/part.feeds.php
@@ -9,9 +9,8 @@
'<button class="svg action" id="feeds_delete" onClick="(News.Folder.delete(' . $folder->getId(). '))" title="' . $l->t('Delete folder') . '"></button>' .
'<button class="svg action" id="feeds_edit" title="' . $l->t('Rename folder') . '"></button>'
: '' ) .
-
- '</div>' .
- '<ul>';
+ '</div>' .
+ '<ul>';
$children = $folder->getChildren();
foreach($children as $child) {
@@ -29,5 +28,6 @@
}
echo '</ul></div></li></ul>';
}
+
print_folder($_['allfeeds'], 0);
?> \ No newline at end of file
diff --git a/templates/part.itemcounter.php b/templates/part.itemcounter.php
index 9a1127ea8..ba4751033 100644
--- a/templates/part.itemcounter.php
+++ b/templates/part.itemcounter.php
@@ -15,6 +15,4 @@ function countUnreadItems($feedid) {
else {
echo '<span id="unreaditemcounter" class="zero"></span>';
}
-}
-
-?> \ No newline at end of file
+} \ No newline at end of file
diff --git a/templates/part.listfeed.php b/templates/part.listfeed.php
index 1ee7f168e..3746a1eb4 100644
--- a/templates/part.listfeed.php
+++ b/templates/part.listfeed.php
@@ -6,7 +6,7 @@ include_once("part.itemcounter.php");
$child = isset($_['child']) ? $_['child'] : null;
$favicon = $child->getFavicon();
if ($favicon == null) {
- $favicon = OCP\Util::imagePath('news', 'rss.svg');
+ $favicon = OCP\Util::imagePath('news', 'rss.svg');
}
echo '<li class="feeds_list" data-id="' . $child->getId() . '"><a href="' . OCP\Util::linkTo('news', 'index.php'). '?feedid=' . $child->getId() . '" style="background: url(' . $favicon . ') left center no-repeat; background-size:16px 16px;">' . $child->getTitle() .'</a>';
@@ -14,5 +14,3 @@ countUnreadItems($child->getId());
echo '<button class="svg action" id="feeds_delete" onClick="(News.Feed.delete(' . $child->getId(). '))" title="' . $l->t('Delete feed') . '"></button>';
echo '<button class="svg action" id="feeds_edit" title="' . $l->t('Edit feed') . '"></button>';
echo '</li>';
-
-?> \ No newline at end of file