From 241d646fba172aba251197d57a330df3db4d3386 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 10 Mar 2019 09:20:46 +0300 Subject: [PATCH] batch subscribe: stop dialog from being submitted twice --- classes/pref/feeds.php | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index b7d4c3890..e8da85393 100755 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -1693,7 +1693,7 @@ class Pref_Feeds extends Handler_Protected { print ""; print ""; } @@ -1704,6 +1704,13 @@ class Pref_Feeds extends Handler_Protected { $login = clean($_REQUEST['login']); $pass = trim(clean($_REQUEST['pass'])); + $csth = $this->pdo->prepare("SELECT id FROM ttrss_feeds + WHERE feed_url = ? AND owner_uid = ?"); + + $isth = $this->pdo->prepare("INSERT INTO ttrss_feeds + (owner_uid,feed_url,title,cat_id,auth_login,auth_pass,update_method,auth_pass_encrypted) + VALUES (?, ?, '[Unknown]', ?, ?, ?, 0, false)"); + foreach ($feeds as $feed) { $feed = trim($feed); @@ -1711,16 +1718,10 @@ class Pref_Feeds extends Handler_Protected { $this->pdo->beginTransaction(); - $sth = $this->pdo->prepare("SELECT id FROM ttrss_feeds - WHERE feed_url = ? AND owner_uid = ?"); - $sth->execute([$feed, $_SESSION['uid']]); + $csth->execute([$feed, $_SESSION['uid']]); - if (!$sth->fetch()) { - $sth = $this->pdo->prepare("INSERT INTO ttrss_feeds - (owner_uid,feed_url,title,cat_id,auth_login,auth_pass,update_method,auth_pass_encrypted) - VALUES (?, ?, '[Unknown]', ?, ?, ?, 0, false)"); - - $sth->execute([$_SESSION['uid'], $feed, $cat_id ? $cat_id : null, $login, $pass]); + if (!$csth->fetch()) { + $isth->execute([$_SESSION['uid'], $feed, $cat_id ? $cat_id : null, $login, $pass]); } $this->pdo->commit();