summaryrefslogtreecommitdiffstats
path: root/ajax
diff options
context:
space:
mode:
authorAlessandro Cosentino <cosenal@gmail.com>2012-08-03 01:11:05 -0400
committerAlessandro Cosentino <cosenal@gmail.com>2012-08-03 01:11:05 -0400
commiteac9dec36b7737cdde73225d44cb6224b608227f (patch)
tree976fc6314d4163b18da0e9f90e88e5ab6f47ac6a /ajax
parentfc78ffbefd3c6229cba09b2e93de61d278532133 (diff)
avoid adding feeds that already exist
Diffstat (limited to 'ajax')
-rw-r--r--ajax/createfeed.php21
1 files changed, 15 insertions, 6 deletions
diff --git a/ajax/createfeed.php b/ajax/createfeed.php
index a17ef8f33..364679189 100644
--- a/ajax/createfeed.php
+++ b/ajax/createfeed.php
@@ -20,15 +20,24 @@ $userid = OCP\USER::getUser();
$feedurl = trim($_POST['feedurl']);
$folderid = trim($_POST['folderid']);
-$feed = OC_News_Utils::fetch($feedurl);
-
-if ($feed != null) {
- $feedmapper = new OC_News_FeedMapper();
- $feedid = $feedmapper->save($feed, $folderid);
-}
+$feedmapper = new OC_News_FeedMapper();
+$feedid = $feedmapper->findIdFromUrl($feedurl);
$l = OC_L10N::get('news');
+if ($feedid == null) {
+ $feed = OC_News_Utils::fetch($feedurl);
+
+ if ($feed != null) {
+ $feedid = $feedmapper->save($feed, $folderid);
+ }
+}
+else {
+ OCP\JSON::error(array('data' => array('message' => $l->t('Feed already exists.'))));
+ OCP\Util::writeLog('news','ajax/createfeed.php: Error adding feed: '.$_POST['feedurl'], OCP\Util::ERROR);
+ exit();
+}
+
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);