From 82152bdc34f9be021a57909b5ed21ad48a1275fb Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 24 May 2018 12:31:30 +0300 Subject: [PATCH] Revert "plugins/import_export: use PDO" This reverts commit 785ffca622b2fa706812e7897225a79994e1034e. --- plugins/import_export/init.php | 104 ++++++++++++++------------------- 1 file changed, 43 insertions(+), 61 deletions(-) diff --git a/plugins/import_export/init.php b/plugins/import_export/init.php index e7e036fb..1f7a31ba 100755 --- a/plugins/import_export/init.php +++ b/plugins/import_export/init.php @@ -4,7 +4,6 @@ class Import_Export extends Plugin implements IHandler { function init($host) { $this->host = $host; - $this->pdo = Db::pdo(); $host->add_hook($host::HOOK_PREFS_TAB, $this); $host->add_command("xml-import", "import articles from XML", $this, ":", "FILE"); @@ -35,15 +34,14 @@ class Import_Export extends Plugin implements IHandler { _debug("importing $filename for user $username...\n"); - $sth = $this->pdo->prepare("SELECT id FROM ttrss_users WHERE login = ?"); - $sth->execute([$username]); + $result = db_query("SELECT id FROM ttrss_users WHERE login = '$username'"); - if ($sth->rowCount() == 0) { + if (db_num_rows($result) == 0) { print "error: could not find user $username.\n"; return; } - $owner_uid = $sth->fetchColumn(0); + $owner_uid = db_fetch_result($result, 0, "id"); $this->perform_data_import($filename, $owner_uid); } @@ -133,12 +131,12 @@ class Import_Export extends Plugin implements IHandler { } function exportrun() { - $offset = (int) $_REQUEST['offset']; + $offset = (int) db_escape_string($_REQUEST['offset']); $exported = 0; $limit = 250; if ($offset < 10000 && is_writable(CACHE_DIR . "/export")) { - $sth = $this->pdo->prepare("SELECT + $result = db_query("SELECT ttrss_entries.guid, ttrss_entries.title, content, @@ -158,9 +156,8 @@ class Import_Export extends Plugin implements IHandler { WHERE (marked = true OR feed_id IS NULL) AND ref_id = ttrss_entries.id AND - ttrss_user_entries.owner_uid = ? - ORDER BY ttrss_entries.id LIMIT ? OFFSET ?"); - $sth->execute([$_SESSION['uid'], $limit, $offset]); + ttrss_user_entries.owner_uid = " . $_SESSION['uid'] . " + ORDER BY ttrss_entries.id LIMIT $limit OFFSET $offset"); $exportname = sha1($_SESSION['uid'] . $_SESSION['login']); @@ -173,7 +170,7 @@ class Import_Export extends Plugin implements IHandler { if ($fp) { - while ($line = $sth->fetch(PDO::FETCH_ASSOC)) { + while ($line = db_fetch_assoc($result)) { fputs($fp, "
"); foreach ($line as $k => $v) { @@ -184,7 +181,7 @@ class Import_Export extends Plugin implements IHandler { fputs($fp, "
"); } - $exported = $sth->rowCount(); + $exported = db_num_rows($result); if ($exported < $limit && $exported > 0) { fputs($fp, ""); @@ -273,13 +270,12 @@ class Import_Export extends Plugin implements IHandler { //print 'GUID:' . $article['guid'] . "\n"; - $sth = $this->pdo->prepare("SELECT id FROM ttrss_entries - WHERE guid = ?"); - $sth->execute([$article['guid']]); + $result = db_query("SELECT id FROM ttrss_entries + WHERE guid = '".$article['guid']."'"); - if ($sth->rowCount() == 0) { + if (db_num_rows($result) == 0) { - $sth = $this->pdo->prepare( + $result = db_query( "INSERT INTO ttrss_entries (title, guid, @@ -294,37 +290,28 @@ class Import_Export extends Plugin implements IHandler { num_comments, author) VALUES - (?, - ?, - ?, - ?, - ?, - ?, + ('".$article['title']."', + '".$article['guid']."', + '".$article['link']."', + '".$article['updated']."', + '".$article['content']."', + '".sha1($article['content'])."', false, NOW(), NOW(), '', '0', '')"); - $sth->execute([ - $article['title'], - $article['guid'], - $article['link'], - $article['updated'], - $article['content'], - sha1($article['content']) - ]); - - $sth = $this->pdo->prepare("SELECT id FROM ttrss_entries - WHERE guid = ?"); - $sth->execute([$article['guid']]); - - if ($sth->rowCount() != 0) { - $ref_id = $sth->fetchColumn(0); + + $result = db_query("SELECT id FROM ttrss_entries + WHERE guid = '".$article['guid']."'"); + + if (db_num_rows($result) != 0) { + $ref_id = db_fetch_result($result, 0, "id"); } } else { - $ref_id = $sth->fetchColumn(0); + $ref_id = db_fetch_result($result, 0, "id"); } //print "Got ref ID: $ref_id\n"; @@ -337,27 +324,24 @@ class Import_Export extends Plugin implements IHandler { $feed = 'NULL'; if ($feed_url && $feed_title) { - $sth = $this->pdo->prepare("SELECT id FROM ttrss_feeds - WHERE feed_url = ? AND owner_uid = ?"); - $sth->execute([$feed_url, $owner_uid]); + $result = db_query("SELECT id FROM ttrss_feeds + WHERE feed_url = '$feed_url' AND owner_uid = '$owner_uid'"); - if ($sth->rowCount() != 0) { - $feed = $sth->fetchColumn(0); + if (db_num_rows($result) != 0) { + $feed = db_fetch_result($result, 0, "id"); } else { // try autocreating feed in Uncategorized... - $sth = $this->pdo->prepare("INSERT INTO ttrss_feeds (owner_uid, - feed_url, title) VALUES (?, ?, ?)"); - $sth->execute([$owner_uid, $feed_url, $feed_title]); + $result = db_query("INSERT INTO ttrss_feeds (owner_uid, + feed_url, title) VALUES ($owner_uid, '$feed_url', '$feed_title')"); - $sth = $this->pdo->prepare("SELECT id FROM ttrss_feeds - WHERE feed_url = ? AND owner_uid = ?"); - $sth->execute([$feed_url, $owner_uid]); + $result = db_query("SELECT id FROM ttrss_feeds + WHERE feed_url = '$feed_url' AND owner_uid = '$owner_uid'"); - if ($sth->rowCount() != 0) { + if (db_num_rows($result) != 0) { ++$num_feeds_created; - $feed = $sth->fetchColumn(0); + $feed = db_fetch_result($result, 0, "id"); } } } @@ -369,11 +353,10 @@ class Import_Export extends Plugin implements IHandler { //print "$ref_id / $feed / " . $article['title'] . "\n"; - $sth = $this->pdo->prepare("SELECT int_id FROM ttrss_user_entries - WHERE ref_id = ? AND owner_uid = ? AND ?"); - $sth->execute([$ref_id, $owner_uid, $feed_qpart]); + $result = db_query("SELECT int_id FROM ttrss_user_entries + WHERE ref_id = '$ref_id' AND owner_uid = '$owner_uid' AND $feed_qpart"); - if ($sth->rowCount() == 0) { + if (db_num_rows($result) == 0) { $marked = $this->bool_to_sql_bool(sql_bool_to_bool($article['marked'])); $published = $this->bool_to_sql_bool(sql_bool_to_bool($article['published'])); @@ -386,14 +369,13 @@ class Import_Export extends Plugin implements IHandler { ++$num_imported; - $sth = $this->pdo->prepare( + $result = db_query( "INSERT INTO ttrss_user_entries (ref_id, owner_uid, feed_id, unread, last_read, marked, published, score, tag_cache, label_cache, uuid, note) - VALUES (?, ?, ?, false, - NULL, ?, ?, ?, ?, - '', '', ?)"); - $sth->execute([$ref_id, $owner_uid, $feed, $marked, $published, $score, $tag_cache, $note]); + VALUES ($ref_id, $owner_uid, $feed, false, + NULL, $marked, $published, $score, '$tag_cache', + '', '', '$note')"); $label_cache = json_decode($article['label_cache'], true); -- 2.39.2