X-Git-Url: https://git.wh0rd.org/?p=tt-rss.git;a=blobdiff_plain;f=opml.php;h=bdee88e081694a516cc711290023b3a7d0e09854;hp=35e36d24a351035e95a29ec8b000493620d3d172;hb=HEAD;hpb=c107797cf71f95f4bd0b23eb76924276a31f9eef diff --git a/opml.php b/opml.php index 35e36d24..bdee88e0 100644 --- a/opml.php +++ b/opml.php @@ -1,208 +1,37 @@ "; - - print ""; - print " - " . date("r", time()) . " - Tiny Tiny RSS Feed Export - "; - print ""; - - $cat_mode = false; - - $select = "SELECT * "; - $where = "WHERE owner_uid = '$owner_uid'"; - $orderby = "ORDER BY title"; - if ($hide_private_feeds){ - $where = "WHERE owner_uid = '$owner_uid' AND private IS false AND - auth_login = '' AND auth_pass = ''"; - } - - - - if (get_pref($link, 'ENABLE_FEED_CATS', $owner_uid) == true) { - $cat_mode = true; - $select = "SELECT - title, feed_url, site_url, - (SELECT title FROM ttrss_feed_categories WHERE id = cat_id) as cat_title"; - $orderby = "ORDER BY cat_title, title"; - - } - else{ - $cat_feed = get_pref($link, 'ENABLE_FEED_CATS'); - print ""; - print ""; - - } - - - $result = db_query($link, $select." FROM ttrss_feeds ".$where." ".$orderby); - - $old_cat_title = ""; - - while ($line = db_fetch_assoc($result)) { - $title = htmlspecialchars($line["title"]); - $url = htmlspecialchars($line["feed_url"]); - $site_url = htmlspecialchars($line["site_url"]); - - if ($cat_mode) { - $cat_title = htmlspecialchars($line["cat_title"]); - - if ($old_cat_title != $cat_title) { - if ($old_cat_title) { - print "\n"; - } - - if ($cat_title) { - print "\n"; - } - - $old_cat_title = $cat_title; - } - } - - if ($site_url) { - $html_url_qpart = "htmlUrl=\"$site_url\""; - } else { - $html_url_qpart = ""; - } - - print "\n"; - } - - if ($cat_mode && $old_cat_title) { - print "\n"; - } - - # export tt-rss settings + if (!init_plugins()) return; - if ($include_settings) { - print ""; + $op = $_REQUEST['op']; - $result = db_query($link, "SELECT pref_name, value FROM ttrss_user_prefs WHERE - profile IS NULL AND owner_uid = " . $_SESSION["uid"]); - - while ($line = db_fetch_assoc($result)) { - - $name = $line["pref_name"]; - $value = htmlspecialchars($line["value"]); - - print ""; - - print ""; - - } - - print ""; - } - - print ""; - } - - // FIXME there are some brackets issues here - - $op = $_REQUEST["op"]; - - if (!$op) $op = "Export"; - - if ($op == "Export") { - - login_sequence($link); - $owner_uid = $_SESSION["uid"]; - return opml_export($link, $owner_uid); - } - if ($op == "publish"){ - $key = db_escape_string($_REQUEST["key"]); - - $result = db_query($link, "SELECT login, owner_uid - FROM ttrss_user_prefs, ttrss_users WHERE - pref_name = '_PREFS_PUBLISH_KEY' AND - value = '$key' AND - ttrss_users.id = owner_uid"); - - if (db_num_rows($result) == 1) { - $owner = db_fetch_result($result, 0, "owner_uid"); - return opml_export($link, $owner, true, false); - } else { - print "User not found"; - } - } - - if ($op == "Import") { - - login_sequence($link); - $owner_uid = $_SESSION["uid"]; + $key = $_REQUEST["key"]; + $pdo = Db::pdo(); - header('Content-Type: text/html; charset=utf-8'); + $sth = $pdo->prepare( "SELECT owner_uid + FROM ttrss_access_keys WHERE + access_key = ? AND feed_id = 'OPML:Publish'"); + $sth->execute([$key]); - print " - - - ".__("OPML Utility")." - - - -
-

".__('OPML Utility')."

"; + if ($row = $sth->fetch()) { + $owner_uid = $row['owner_uid']; - db_query($link, "BEGIN"); - - /* create Imported feeds category just in case */ - - $result = db_query($link, "SELECT id FROM - ttrss_feed_categories WHERE title = 'Imported feeds' AND - owner_uid = '$owner_uid' LIMIT 1"); - - if (db_num_rows($result) == 0) { - db_query($link, "INSERT INTO ttrss_feed_categories - (title,owner_uid) - VALUES ('Imported feeds', '$owner_uid')"); - } + $opml = new Opml($_REQUEST); + $opml->opml_export("", $owner_uid, true, false); - db_query($link, "COMMIT"); - - /* Handle OPML import by DOMXML/DOMDocument */ - - if (function_exists('domxml_open_file')) { - print "

".__("Importing OPML (using DOMXML extension)...")."

"; - require_once "modules/opml_domxml.php"; - opml_import_domxml($link, $owner_uid); - } else if (PHP_VERSION >= 5) { - print "

".__("Importing OPML (using DOMDocument extension)...")."

"; - require_once "modules/opml_domdoc.php"; - opml_import_domdoc($link, $owner_uid); } else { - print_error(__("DOMXML extension is not found. It is required for PHP versions below 5.")); + print "User not found"; } - - print "
- -
"; - - print ""; - } -// if ($link) db_close($link); - ?>