X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=opml.php;h=ab71493b1fba3e8690a0e07839b620461ec2164d;hb=5f0a3741d0a549849b503eca7b6d7b87d9903069;hp=ac236a64b60d8d060ea4f7b3895a6425d517452c;hpb=70dcff6b3d681bbeae4b9536139426d6d60a46bd;p=tt-rss.git diff --git a/opml.php b/opml.php index ac236a64..ab71493b 100644 --- a/opml.php +++ b/opml.php @@ -1,53 +1,63 @@ "; print ""; print " " . date("r", time()) . " Tiny Tiny RSS Feed Export - "; + "; print ""; $cat_mode = false; - if (get_pref($link, 'ENABLE_FEED_CATS')) { + $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; - $result = db_query($link, "SELECT - title,feed_url,site_url, - (SELECT title FROM ttrss_feed_categories WHERE id = cat_id) as cat_title - FROM ttrss_feeds - WHERE - owner_uid = '$owner_uid' - ORDER BY cat_title,title"); - } else { - $result = db_query($link, "SELECT * FROM ttrss_feeds - WHERE owner_uid = '$owner_uid' ORDER BY title"); + $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 = ""; @@ -61,11 +71,11 @@ if ($old_cat_title != $cat_title) { if ($old_cat_title) { - print "\n"; + print "\n"; } if ($cat_title) { - print "\n"; + print "\n"; } $old_cat_title = $cat_title; @@ -82,7 +92,29 @@ } if ($cat_mode && $old_cat_title) { - print "\n"; + print "\n"; + } + + # export tt-rss settings + + if ($include_settings) { + print ""; + + $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 ""; @@ -91,36 +123,72 @@ // FIXME there are some brackets issues here $op = $_REQUEST["op"]; - - if (!$op) $op = "Export"; - + if (!$op) $op = "Export"; + + $output_name = $_REQUEST["filename"]; + if (!$output_name) $output_name = "TinyTinyRSS.opml"; + + $show_settings = $_REQUEST["settings"]; + if ($op == "Export") { - return opml_export($link, $owner_uid); + + login_sequence($link); + $owner_uid = $_SESSION["uid"]; + return opml_export($link, $output_name, $owner_uid, false, ($show_settings == 1)); + } + + if ($op == "publish"){ + $key = db_escape_string($_REQUEST["key"]); + + $result = db_query($link, "SELECT owner_uid + FROM ttrss_access_keys WHERE + access_key = '$key' AND feed_id = 'OPML:Publish'"); + + if (db_num_rows($result) == 1) { + $owner_uid = db_fetch_result($result, 0, "owner_uid"); + return opml_export($link, "", $owner_uid, true, false); + } else { + print "User not found"; + } } if ($op == "Import") { + login_sequence($link); + $owner_uid = $_SESSION["uid"]; + + header('Content-Type: text/html; charset=utf-8'); + print " ".__("OPML Utility")." + -
+

".__('OPML Utility')."

"; - 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.")); + 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')"); } + db_query($link, "COMMIT"); + + print "

".__("Importing OPML...")."

"; + require_once "modules/opml_domdoc.php"; + opml_import_domdoc($link, $owner_uid); + print "
";