feeds: PDO progress
This commit is contained in:
parent
ef83c69404
commit
91d679667e
1 changed files with 140 additions and 163 deletions
|
@ -25,7 +25,6 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
title = ? WHERE id = ? AND owner_uid = ?");
|
title = ? WHERE id = ? AND owner_uid = ?");
|
||||||
$sth->execute([$title, $id, $_SESSION['uid']]);
|
$sth->execute([$title, $id, $_SESSION['uid']]);
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function get_category_items($cat_id) {
|
private function get_category_items($cat_id) {
|
||||||
|
@ -109,8 +108,6 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
else
|
else
|
||||||
$search = "";
|
$search = "";
|
||||||
|
|
||||||
if ($search) $search_qpart = " AND LOWER(title) LIKE LOWER('%$search%')";
|
|
||||||
|
|
||||||
$root = array();
|
$root = array();
|
||||||
$root['id'] = 'root';
|
$root['id'] = 'root';
|
||||||
$root['name'] = __('Feeds');
|
$root['name'] = __('Feeds');
|
||||||
|
@ -162,29 +159,31 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
$root['items'] = array_merge($root['items'], $cat['items']);
|
$root['items'] = array_merge($root['items'], $cat['items']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = db_query("SELECT * FROM
|
$sth = $this->pdo->prepare("SELECT * FROM
|
||||||
ttrss_labels2 WHERE owner_uid = ".$_SESSION['uid']." ORDER by caption");
|
ttrss_labels2 WHERE owner_uid = ? ORDER by caption");
|
||||||
|
$sth->execute([$_SESSION['uid']]);
|
||||||
|
|
||||||
if (db_num_rows($result) > 0) {
|
if (get_pref('ENABLE_FEED_CATS')) {
|
||||||
|
$cat = $this->feedlist_init_cat(-2);
|
||||||
|
} else {
|
||||||
|
$cat['items'] = array();
|
||||||
|
}
|
||||||
|
|
||||||
if (get_pref('ENABLE_FEED_CATS')) {
|
$num_labels = 0;
|
||||||
$cat = $this->feedlist_init_cat(-2);
|
while ($line = $sth->fetch()) {
|
||||||
} else {
|
++$num_labels;
|
||||||
$cat['items'] = array();
|
|
||||||
}
|
|
||||||
|
|
||||||
while ($line = db_fetch_assoc($result)) {
|
$label_id = Labels::label_to_feed_id($line['id']);
|
||||||
|
|
||||||
$label_id = Labels::label_to_feed_id($line['id']);
|
$feed = $this->feedlist_init_feed($label_id, false, 0);
|
||||||
|
|
||||||
$feed = $this->feedlist_init_feed($label_id, false, 0);
|
$feed['fg_color'] = $line['fg_color'];
|
||||||
|
$feed['bg_color'] = $line['bg_color'];
|
||||||
|
|
||||||
$feed['fg_color'] = $line['fg_color'];
|
array_push($cat['items'], $feed);
|
||||||
$feed['bg_color'] = $line['bg_color'];
|
}
|
||||||
|
|
||||||
array_push($cat['items'], $feed);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if ($num_labels) {
|
||||||
if ($enable_cats) {
|
if ($enable_cats) {
|
||||||
array_push($root['items'], $cat);
|
array_push($root['items'], $cat);
|
||||||
} else {
|
} else {
|
||||||
|
@ -197,10 +196,11 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
$show_empty_cats = $_REQUEST['force_show_empty'] ||
|
$show_empty_cats = $_REQUEST['force_show_empty'] ||
|
||||||
($_REQUEST['mode'] != 2 && !$search);
|
($_REQUEST['mode'] != 2 && !$search);
|
||||||
|
|
||||||
$result = db_query("SELECT id, title FROM ttrss_feed_categories
|
$sth = $this->pdo->prepare("SELECT id, title FROM ttrss_feed_categories
|
||||||
WHERE owner_uid = " . $_SESSION["uid"] . " AND parent_cat IS NULL ORDER BY order_id, title");
|
WHERE owner_uid = ? AND parent_cat IS NULL ORDER BY order_id, title");
|
||||||
|
$sth->execute([$_SESSION['uid']]);
|
||||||
|
|
||||||
while ($line = db_fetch_assoc($result)) {
|
while ($line = $sth->fetch()) {
|
||||||
$cat = array();
|
$cat = array();
|
||||||
$cat['id'] = 'CAT:' . $line['id'];
|
$cat['id'] = 'CAT:' . $line['id'];
|
||||||
$cat['bare_id'] = (int)$line['id'];
|
$cat['bare_id'] = (int)$line['id'];
|
||||||
|
@ -236,13 +236,16 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
$cat['unread'] = 0;
|
$cat['unread'] = 0;
|
||||||
$cat['child_unread'] = 0;
|
$cat['child_unread'] = 0;
|
||||||
|
|
||||||
$feed_result = db_query("SELECT id, title,last_error,
|
$fsth = $this->pdo->prepare("SELECT id, title,last_error,
|
||||||
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
|
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
|
||||||
FROM ttrss_feeds
|
FROM ttrss_feeds
|
||||||
WHERE cat_id IS NULL AND owner_uid = ".$_SESSION["uid"].
|
WHERE cat_id IS NULL AND
|
||||||
"$search_qpart ORDER BY order_id, title");
|
owner_uid = :uid AND
|
||||||
|
(:search = '' OR (LOWER(title) LIKE :search OR LOWER(feed_url) LIKE :search))
|
||||||
|
ORDER BY order_id, title");
|
||||||
|
$fsth->execute([":uid" => $_SESSION['uid'], ":search" => $search ? "%$search%" : ""]);
|
||||||
|
|
||||||
while ($feed_line = db_fetch_assoc($feed_result)) {
|
while ($feed_line = $fsth->fetch()) {
|
||||||
$feed = array();
|
$feed = array();
|
||||||
$feed['id'] = 'FEED:' . $feed_line['id'];
|
$feed['id'] = 'FEED:' . $feed_line['id'];
|
||||||
$feed['bare_id'] = (int)$feed_line['id'];
|
$feed['bare_id'] = (int)$feed_line['id'];
|
||||||
|
@ -268,13 +271,15 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
$root['param'] = vsprintf(_ngettext('(%d feed)', '(%d feeds)', (int) $num_children), $num_children);
|
$root['param'] = vsprintf(_ngettext('(%d feed)', '(%d feeds)', (int) $num_children), $num_children);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$feed_result = db_query("SELECT id, title, last_error,
|
$fsth = $this->pdo->prepare("SELECT id, title, last_error,
|
||||||
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
|
".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
|
||||||
FROM ttrss_feeds
|
FROM ttrss_feeds
|
||||||
WHERE owner_uid = ".$_SESSION["uid"].
|
WHERE owner_uid = :uid AND
|
||||||
"$search_qpart ORDER BY order_id, title");
|
(:search = '' OR (LOWER(title) LIKE :search OR LOWER(feed_url) LIKE :search))
|
||||||
|
ORDER BY order_id, title");
|
||||||
|
$fsth->execute([":uid" => $_SESSION['uid'], ":search" => $search ? "%$search%" : ""]);
|
||||||
|
|
||||||
while ($feed_line = db_fetch_assoc($feed_result)) {
|
while ($feed_line = $fsth->fetch()) {
|
||||||
$feed = array();
|
$feed = array();
|
||||||
$feed['id'] = 'FEED:' . $feed_line['id'];
|
$feed['id'] = 'FEED:' . $feed_line['id'];
|
||||||
$feed['bare_id'] = (int)$feed_line['id'];
|
$feed['bare_id'] = (int)$feed_line['id'];
|
||||||
|
@ -308,15 +313,15 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
}
|
}
|
||||||
|
|
||||||
function catsortreset() {
|
function catsortreset() {
|
||||||
db_query("UPDATE ttrss_feed_categories
|
$sth = $this->pdo->prepare("UPDATE ttrss_feed_categories
|
||||||
SET order_id = 0 WHERE owner_uid = " . $_SESSION["uid"]);
|
SET order_id = 0 WHERE owner_uid = ?");
|
||||||
return;
|
$sth->execute([$_SESSION['uid']]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function feedsortreset() {
|
function feedsortreset() {
|
||||||
db_query("UPDATE ttrss_feeds
|
$sth = $this->pdo->prepare("UPDATE ttrss_feeds
|
||||||
SET order_id = 0 WHERE owner_uid = " . $_SESSION["uid"]);
|
SET order_id = 0 WHERE owner_uid = ?");
|
||||||
return;
|
$sth->execute([$_SESSION['uid']]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function process_category_order(&$data_map, $item_id, $parent_id = false, $nest_level = 0) {
|
private function process_category_order(&$data_map, $item_id, $parent_id = false, $nest_level = 0) {
|
||||||
|
@ -335,12 +340,13 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
$parent_bare_id = substr($parent_id, strpos($parent_id, ':')+1);
|
$parent_bare_id = substr($parent_id, strpos($parent_id, ':')+1);
|
||||||
$parent_qpart = $parent_bare_id;
|
$parent_qpart = $parent_bare_id;
|
||||||
} else {
|
} else {
|
||||||
$parent_qpart = 'NULL';
|
$parent_qpart = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
db_query("UPDATE ttrss_feed_categories
|
$sth = $this->pdo->prepare("UPDATE ttrss_feed_categories
|
||||||
SET parent_cat = $parent_qpart WHERE id = '$bare_item_id' AND
|
SET parent_cat = ? WHERE id = ? AND
|
||||||
owner_uid = " . $_SESSION["uid"]);
|
owner_uid = ?");
|
||||||
|
$sth->execute([$parent_qpart, $bare_item_id, $_SESSION['uid']]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$order_id = 1;
|
$order_id = 1;
|
||||||
|
@ -358,30 +364,22 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
|
|
||||||
if (strpos($id, "FEED") === 0) {
|
if (strpos($id, "FEED") === 0) {
|
||||||
|
|
||||||
$cat_id = ($item_id != "root") ?
|
$cat_id = ($item_id != "root") ? $bare_item_id : null;
|
||||||
$bare_item_id : "NULL";
|
|
||||||
|
|
||||||
$cat_qpart = ($cat_id != 0) ? "cat_id = '$cat_id'" :
|
$sth = $this->pdo->prepare("UPDATE ttrss_feeds
|
||||||
"cat_id = NULL";
|
SET order_id = ?, cat_id = ?
|
||||||
|
WHERE id = ? AND owner_uid = ?");
|
||||||
|
|
||||||
db_query("UPDATE ttrss_feeds
|
$sth->execute([$order_id, $cat_id ? $cat_id : null, $bare_id, $_SESSION['uid']]);
|
||||||
SET order_id = $order_id, $cat_qpart
|
|
||||||
WHERE id = '$bare_id' AND
|
|
||||||
owner_uid = " . $_SESSION["uid"]);
|
|
||||||
|
|
||||||
} else if (strpos($id, "CAT:") === 0) {
|
} else if (strpos($id, "CAT:") === 0) {
|
||||||
$this->process_category_order($data_map, $item['_reference'], $item_id,
|
$this->process_category_order($data_map, $item['_reference'], $item_id,
|
||||||
$nest_level+1);
|
$nest_level+1);
|
||||||
|
|
||||||
if ($item_id != 'root') {
|
$sth = $this->pdo->prepare("UPDATE ttrss_feed_categories
|
||||||
$parent_qpart = $bare_id;
|
SET order_id = ? WHERE id = ? AND
|
||||||
} else {
|
owner_uid = ?");
|
||||||
$parent_qpart = 'NULL';
|
$sth->execute([$order_id, $bare_id, $_SESSION['uid']]);
|
||||||
}
|
|
||||||
|
|
||||||
db_query("UPDATE ttrss_feed_categories
|
|
||||||
SET order_id = '$order_id' WHERE id = '$bare_id' AND
|
|
||||||
owner_uid = " . $_SESSION["uid"]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -423,67 +421,28 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->process_category_order($data_map, $root_item);
|
$this->process_category_order($data_map, $root_item);
|
||||||
|
|
||||||
/* foreach ($data['items'][0]['items'] as $item) {
|
|
||||||
$id = $item['_reference'];
|
|
||||||
$bare_id = substr($id, strpos($id, ':')+1);
|
|
||||||
|
|
||||||
++$cat_order_id;
|
|
||||||
|
|
||||||
if ($bare_id > 0) {
|
|
||||||
db_query("UPDATE ttrss_feed_categories
|
|
||||||
SET order_id = '$cat_order_id' WHERE id = '$bare_id' AND
|
|
||||||
owner_uid = " . $_SESSION["uid"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$feed_order_id = 0;
|
|
||||||
|
|
||||||
if (is_array($data_map[$id])) {
|
|
||||||
foreach ($data_map[$id] as $feed) {
|
|
||||||
$id = $feed['_reference'];
|
|
||||||
$feed_id = substr($id, strpos($id, ':')+1);
|
|
||||||
|
|
||||||
if ($bare_id != 0)
|
|
||||||
$cat_query = "cat_id = '$bare_id'";
|
|
||||||
else
|
|
||||||
$cat_query = "cat_id = NULL";
|
|
||||||
|
|
||||||
db_query("UPDATE ttrss_feeds
|
|
||||||
SET order_id = '$feed_order_id',
|
|
||||||
$cat_query
|
|
||||||
WHERE id = '$feed_id' AND
|
|
||||||
owner_uid = " . $_SESSION["uid"]);
|
|
||||||
|
|
||||||
++$feed_order_id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeicon() {
|
function removeicon() {
|
||||||
$feed_id = $_REQUEST["feed_id"];
|
$feed_id = $_REQUEST["feed_id"];
|
||||||
|
|
||||||
$result = db_query("SELECT id FROM ttrss_feeds
|
$sth = $this->pdo->prepare("SELECT id FROM ttrss_feeds
|
||||||
WHERE id = '$feed_id' AND owner_uid = ". $_SESSION["uid"]);
|
WHERE id = ? AND owner_uid = ?");
|
||||||
|
$sth->execute([$feed_id, $_SESSION['uid']]);
|
||||||
|
|
||||||
if (db_num_rows($result) != 0) {
|
if ($row = $sth->fetch()) {
|
||||||
@unlink(ICONS_DIR . "/$feed_id.ico");
|
@unlink(ICONS_DIR . "/$feed_id.ico");
|
||||||
|
|
||||||
db_query("UPDATE ttrss_feeds SET favicon_avg_color = NULL
|
$sth = $this->pdo->prepare("UPDATE ttrss_feeds SET favicon_avg_color = NULL
|
||||||
where id = '$feed_id'");
|
where id = ?");
|
||||||
|
$sth->execute([$feed_id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function uploadicon() {
|
function uploadicon() {
|
||||||
header("Content-type: text/html");
|
header("Content-type: text/html");
|
||||||
|
|
||||||
$tmp_file = false;
|
|
||||||
|
|
||||||
if (is_uploaded_file($_FILES['icon_file']['tmp_name'])) {
|
if (is_uploaded_file($_FILES['icon_file']['tmp_name'])) {
|
||||||
$tmp_file = tempnam(CACHE_DIR . '/upload', 'icon');
|
$tmp_file = tempnam(CACHE_DIR . '/upload', 'icon');
|
||||||
|
|
||||||
|
@ -503,15 +462,18 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
if (is_file($icon_file) && $feed_id) {
|
if (is_file($icon_file) && $feed_id) {
|
||||||
if (filesize($icon_file) < 65535) {
|
if (filesize($icon_file) < 65535) {
|
||||||
|
|
||||||
$result = db_query("SELECT id FROM ttrss_feeds
|
$sth = $this->pdo->prepare("SELECT id FROM ttrss_feeds
|
||||||
WHERE id = '$feed_id' AND owner_uid = ". $_SESSION["uid"]);
|
WHERE id = ? AND owner_uid = ?");
|
||||||
|
$sth->execute([$feed_id, $_SESSION['uid']]);
|
||||||
|
|
||||||
if (db_num_rows($result) != 0) {
|
if ($row = $sth->fetch()) {
|
||||||
@unlink(ICONS_DIR . "/$feed_id.ico");
|
@unlink(ICONS_DIR . "/$feed_id.ico");
|
||||||
if (rename($icon_file, ICONS_DIR . "/$feed_id.ico")) {
|
if (rename($icon_file, ICONS_DIR . "/$feed_id.ico")) {
|
||||||
db_query("UPDATE ttrss_feeds SET
|
|
||||||
|
$sth = $this->pdo->prepare("UPDATE ttrss_feeds SET
|
||||||
favicon_avg_color = ''
|
favicon_avg_color = ''
|
||||||
WHERE id = '$feed_id'");
|
WHERE id = ?");
|
||||||
|
$sth->execute([$feed_id]);
|
||||||
|
|
||||||
$rc = 0;
|
$rc = 0;
|
||||||
}
|
}
|
||||||
|
@ -963,11 +925,11 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
function editsaveops($batch) {
|
function editsaveops($batch) {
|
||||||
|
|
||||||
$feed_title = trim($_POST["title"]);
|
$feed_title = trim($_POST["title"]);
|
||||||
$feed_link = trim($_POST["feed_url"]);
|
$feed_url = trim($_POST["feed_url"]);
|
||||||
$upd_intl = (int) $_POST["update_interval"];
|
$upd_intl = (int) $_POST["update_interval"];
|
||||||
$purge_intl = (int) $_POST["purge_interval"];
|
$purge_intl = (int) $_POST["purge_interval"];
|
||||||
$feed_id = (int) $_POST["id"]; /* editSave */
|
$feed_id = (int) $_POST["id"]; /* editSave */
|
||||||
$feed_ids = $_POST["ids"]; /* batchEditSave */
|
$feed_ids = explode(",", $_POST["ids"]); /* batchEditSave */
|
||||||
$cat_id = (int) $_POST["cat_id"];
|
$cat_id = (int) $_POST["cat_id"];
|
||||||
$auth_login = trim($_POST["auth_login"]);
|
$auth_login = trim($_POST["auth_login"]);
|
||||||
$auth_pass = trim($_POST["auth_pass"]);
|
$auth_pass = trim($_POST["auth_pass"]);
|
||||||
|
@ -986,48 +948,53 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
|
|
||||||
$feed_language = trim($_POST["feed_language"]);
|
$feed_language = trim($_POST["feed_language"]);
|
||||||
|
|
||||||
$auth_pass = $auth_pass;
|
|
||||||
|
|
||||||
if (get_pref('ENABLE_FEED_CATS')) {
|
|
||||||
if ($cat_id && $cat_id != 0) {
|
|
||||||
$category_qpart = "cat_id = '$cat_id',";
|
|
||||||
$category_qpart_nocomma = "cat_id = '$cat_id'";
|
|
||||||
} else {
|
|
||||||
$category_qpart = 'cat_id = NULL,';
|
|
||||||
$category_qpart_nocomma = 'cat_id = NULL';
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$category_qpart = "";
|
|
||||||
$category_qpart_nocomma = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$batch) {
|
if (!$batch) {
|
||||||
if ($_POST["need_auth"] !== 'on') {
|
if ($_POST["need_auth"] !== 'on') {
|
||||||
$auth_login = '';
|
$auth_login = '';
|
||||||
$auth_pass = '';
|
$auth_pass = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = db_query("SELECT feed_url FROM ttrss_feeds WHERE id = " . $feed_id);
|
$sth = $this->pdo->prepare("SELECT feed_url FROM ttrss_feeds WHERE id = ?");
|
||||||
$orig_feed_url = db_fetch_result($result, 0, "feed_url");
|
$sth->execute([$feed_id]);
|
||||||
|
$row = $sth->fetch();
|
||||||
|
$orig_feed_url = $row["feed_url"];
|
||||||
|
|
||||||
$reset_basic_info = $orig_feed_url != $feed_link;
|
$reset_basic_info = $orig_feed_url != $feed_url;
|
||||||
|
|
||||||
db_query("UPDATE ttrss_feeds SET
|
$sth = $this->pdo->prepare("UPDATE ttrss_feeds SET
|
||||||
$category_qpart
|
cat_id = :cat_id,
|
||||||
title = '$feed_title', feed_url = '$feed_link',
|
title = :title,
|
||||||
update_interval = '$upd_intl',
|
feed_url = :feed_url,
|
||||||
purge_interval = '$purge_intl',
|
update_interval = :upd_intl,
|
||||||
auth_login = '$auth_login',
|
purge_interval = :purge_intl,
|
||||||
auth_pass = '$auth_pass',
|
auth_login = :auth_login,
|
||||||
|
auth_pass = :auth_pass,
|
||||||
auth_pass_encrypted = false,
|
auth_pass_encrypted = false,
|
||||||
private = $private,
|
private = :private,
|
||||||
cache_images = $cache_images,
|
cache_images = :cache_images,
|
||||||
hide_images = $hide_images,
|
hide_images = :hide_images,
|
||||||
include_in_digest = $include_in_digest,
|
include_in_digest = :include_in_digest,
|
||||||
always_display_enclosures = $always_display_enclosures,
|
always_display_enclosures = :always_display_enclosures,
|
||||||
mark_unread_on_update = $mark_unread_on_update,
|
mark_unread_on_update = :mark_unread_on_update,
|
||||||
feed_language = '$feed_language'
|
feed_language = :feed_language
|
||||||
WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
|
WHERE id = :id AND owner_uid = :uid");
|
||||||
|
|
||||||
|
$sth->execute([":title" => $feed_title,
|
||||||
|
":cat_id" => $cat_id ? $cat_id : null,
|
||||||
|
":feed_url" => $feed_url,
|
||||||
|
":upd_intl" => $upd_intl,
|
||||||
|
":purge_intl" => $purge_intl,
|
||||||
|
":auth_login" => $auth_login,
|
||||||
|
":auth_pass" => $auth_pass,
|
||||||
|
":private" => (int)$private,
|
||||||
|
":cache_images" => (int)$cache_images,
|
||||||
|
":hide_images" => (int)$hide_images,
|
||||||
|
":include_in_digest" => (int)$include_in_digest,
|
||||||
|
":always_display_enclosures" => (int)$always_display_enclosures,
|
||||||
|
":mark_unread_on_update" => (int)$mark_unread_on_update,
|
||||||
|
":feed_language" => $feed_language,
|
||||||
|
":id" => $feed_id,
|
||||||
|
":uid" => $_SESSION['uid']]);
|
||||||
|
|
||||||
if ($reset_basic_info) {
|
if ($reset_basic_info) {
|
||||||
RSSUtils::set_basic_feed_info($feed_id);
|
RSSUtils::set_basic_feed_info($feed_id);
|
||||||
|
@ -1045,7 +1012,9 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
db_query("BEGIN");
|
$this->pdo->beginTransaction();
|
||||||
|
|
||||||
|
$feed_ids_qmarks = arr_qmarks($feed_ids);
|
||||||
|
|
||||||
foreach (array_keys($feed_data) as $k) {
|
foreach (array_keys($feed_data) as $k) {
|
||||||
|
|
||||||
|
@ -1053,72 +1022,80 @@ class Pref_Feeds extends Handler_Protected {
|
||||||
|
|
||||||
switch ($k) {
|
switch ($k) {
|
||||||
case "title":
|
case "title":
|
||||||
$qpart = "title = '$feed_title'";
|
$qpart = "title = " . $this->pdo->quote($feed_title);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "feed_url":
|
case "feed_url":
|
||||||
$qpart = "feed_url = '$feed_link'";
|
$qpart = "feed_url = " . $this->pdo->quote($feed_url);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "update_interval":
|
case "update_interval":
|
||||||
$qpart = "update_interval = '$upd_intl'";
|
$qpart = "update_interval = " . $this->pdo->quote($upd_intl);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "purge_interval":
|
case "purge_interval":
|
||||||
$qpart = "purge_interval = '$purge_intl'";
|
$qpart = "purge_interval =" . $this->pdo->quote($purge_intl);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "auth_login":
|
case "auth_login":
|
||||||
$qpart = "auth_login = '$auth_login'";
|
$qpart = "auth_login = " . $this->pdo->quote($auth_login);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "auth_pass":
|
case "auth_pass":
|
||||||
$qpart = "auth_pass = '$auth_pass', auth_pass_encrypted = false";
|
$qpart = "auth_pass =" . $this->pdo->quote($auth_pass). ", auth_pass_encrypted = false";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "private":
|
case "private":
|
||||||
$qpart = "private = $private";
|
$qpart = "private = " . $this->pdo->quote($private);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "include_in_digest":
|
case "include_in_digest":
|
||||||
$qpart = "include_in_digest = $include_in_digest";
|
$qpart = "include_in_digest = " . $this->pdo->quote($include_in_digest);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "always_display_enclosures":
|
case "always_display_enclosures":
|
||||||
$qpart = "always_display_enclosures = $always_display_enclosures";
|
$qpart = "always_display_enclosures = " . $this->pdo->quote($always_display_enclosures);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "mark_unread_on_update":
|
case "mark_unread_on_update":
|
||||||
$qpart = "mark_unread_on_update = $mark_unread_on_update";
|
$qpart = "mark_unread_on_update = " . $this->pdo->quote($mark_unread_on_update);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "cache_images":
|
case "cache_images":
|
||||||
$qpart = "cache_images = $cache_images";
|
$qpart = "cache_images = " . $this->pdo->quote($cache_images);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "hide_images":
|
case "hide_images":
|
||||||
$qpart = "hide_images = $hide_images";
|
$qpart = "hide_images = " . $this->pdo->quote($hide_images);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "cat_id":
|
case "cat_id":
|
||||||
$qpart = $category_qpart_nocomma;
|
if (get_pref('ENABLE_FEED_CATS')) {
|
||||||
|
if ($cat_id) {
|
||||||
|
$qpart = "cat_id = " . $this->pdo->quote($cat_id);
|
||||||
|
} else {
|
||||||
|
$qpart = 'cat_id = NULL';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$qpart = "";
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "feed_language":
|
case "feed_language":
|
||||||
$qpart = "feed_language = '$feed_language'";
|
$qpart = "feed_language = " . $this->pdo->quote($feed_language);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($qpart) {
|
if ($qpart) {
|
||||||
db_query(
|
$sth = $this->pdo->prepare("UPDATE ttrss_feeds SET $qpart WHERE id IN ($feed_ids_qmarks)
|
||||||
"UPDATE ttrss_feeds SET $qpart WHERE id IN ($feed_ids)
|
AND owner_uid = ?");
|
||||||
AND owner_uid = " . $_SESSION["uid"]);
|
$sth->execute(array_merge($feed_ids, [$_SESSION['uid']]));
|
||||||
print "<br/>";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
db_query("COMMIT");
|
$this->pdo->commit();
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue