diff options
author | Andrew Dolgov <[email protected]> | 2011-07-30 23:38:03 -0700 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-07-30 23:38:03 -0700 |
commit | 01664ee728bf99bbcddf51939b4914b29d6f47ae (patch) | |
tree | e376cbb0edf08499f7ff62c5f9355d98d9bc0c59 | |
parent | e78477b4e213e31cd19f483039f3af182e9f1cef (diff) | |
parent | 08ae2a5ba6b69b574c891a7fb3f88cab5d55b66f (diff) |
Merge pull request #10 from meyercr/master
Extend OPML preferences pane, to provide more control of Export OPML
-rw-r--r-- | functions.js | 5 | ||||
-rw-r--r-- | modules/pref-feeds.php | 15 | ||||
-rw-r--r-- | opml.php | 14 |
3 files changed, 23 insertions, 11 deletions
diff --git a/functions.js b/functions.js index 335ed61ec..e8bd6af33 100644 --- a/functions.js +++ b/functions.js @@ -277,8 +277,9 @@ function gotoMain() { document.location.href = "tt-rss.php"; } -function gotoExportOpml() { - document.location.href = "opml.php?op=Export"; +function gotoExportOpml(filename, settings) { + tmp = settings ? 1 : 0; + document.location.href = "opml.php?op=Export&filename=" + filename + "&settings=" + tmp; } diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index e16fa9b13..947716e91 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -1440,16 +1440,21 @@ name=\"upload_iframe\" onload=\"opmlImportComplete(this)\" style=\"width: 400px; height: 100px; display: none;\"></iframe>"; - print "<form style='display : block' target=\"upload_iframe\" + print "<form name=\"opml_form\" style='display : block' target=\"upload_iframe\" enctype=\"multipart/form-data\" method=\"POST\" action=\"backend.php\"> <input id=\"opml_file\" name=\"opml_file\" type=\"file\"> <input type=\"hidden\" name=\"op\" value=\"dlg\"> <input type=\"hidden\" name=\"id\" value=\"importOpml\"> - <button dojoType=\"dijit.form.Button\" onclick=\"return opmlImport();\" - type=\"submit\">".__('Import')."</button> - <button dojoType=\"dijit.form.Button\" onclick=\"gotoExportOpml()\">".__('Export OPML')."</button> - </form>"; + <button dojoType=\"dijit.form.Button\" onclick=\"return opmlImport();\" type=\"submit\">" . + __('Import') . "</button>" . + "<p>" . __('Export Name: ') . + "<input type=\"text\" id=\"filename\" value=\"TinyTinyRSS.opml\" /> " . + __('Include Settings? ') . "<input type=\"checkbox\" id=\"settings\" CHECKED />" . + + "<button dojoType=\"dijit.form.Button\" + onclick=\"gotoExportOpml(document.opml_form.filename.value, document.opml_form.settings.checked)\" >" . + __('Export OPML') . "</button></p></form>"; print "<p>".__('Your OPML can be published publicly and can be subscribed by anyone who knows the URL below.'); @@ -10,12 +10,14 @@ init_connection($link); - function opml_export($link, $owner_uid, $hide_private_feeds=false, $include_settings=true) { + function opml_export($link, $name, $owner_uid, $hide_private_feeds=false, $include_settings=true) { if (!$_REQUEST["debug"]) { header("Content-type: application/xml+opml"); } else { header("Content-type: text/xml"); } + header("Content-Disposition: attachment; filename=" . $name ); + print "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; print "<opml version=\"1.0\">"; @@ -119,14 +121,18 @@ // FIXME there are some brackets issues here $op = $_REQUEST["op"]; + if (!$op) $op = "Export"; + + $output_name = $_REQUEST["filename"]; + if (!$output_name) $output_name = "TinyTinyRSS.opml"; - if (!$op) $op = "Export"; + $show_settings = $_REQUEST["settings"]; if ($op == "Export") { login_sequence($link); $owner_uid = $_SESSION["uid"]; - return opml_export($link, $owner_uid); + return opml_export($link, $output_name, $owner_uid, false, ($show_settings == 1)); } if ($op == "publish"){ @@ -138,7 +144,7 @@ if (db_num_rows($result) == 1) { $owner_uid = db_fetch_result($result, 0, "owner_uid"); - return opml_export($link, $owner_uid, true, false); + return opml_export($link, "", $owner_uid, true, false); } else { print "<error>User not found</error>"; } |