summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-21 18:01:14 +0300
committerAndrew Dolgov <[email protected]>2010-11-21 18:01:14 +0300
commite12184804870f08a61f671a6d6afba32ffe93fca (patch)
tree396420a7f240a13c36fd8a0f0cdcc452cd2b4224
parent9fe80bcdadfbc318c2f6e0ee1b8957b3275d0817 (diff)
rework OPML import process
-rw-r--r--modules/popup-dialog.php16
-rw-r--r--modules/pref-feeds.php15
-rw-r--r--prefs.js43
-rw-r--r--tt-rss.css6
4 files changed, 44 insertions, 36 deletions
diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php
index 671774195..ec41ec4ee 100644
--- a/modules/popup-dialog.php
+++ b/modules/popup-dialog.php
@@ -6,10 +6,8 @@
print "<dlg id=\"$id\">";
if ($id == "importOpml") {
- print "<title>".__('OPML Import')."</title>";
- print "<content><![CDATA[";
-
- print "<div class=\"prefFeedCatHolder\">";
+ print "<div class=\"prefFeedOPMLHolder\">";
+ header("Content-Type: text/html"); # required for iframe
$owner_uid = $_SESSION["uid"];
@@ -50,18 +48,12 @@
print "</div>";
print "<div align='center'>";
-
- print "<button onclick=\"return opmlImportDone()\">".
+ print "<button dojoType=\"dijit.form.Button\"
+ onclick=\"dijit.byId('opmlImportDlg').hide()\">".
__('Close this window')."</button>";
-
print "</div>";
- print "<script type=\"text/javascript\">";
- print "parent.opmlImportHandler(this)";
- print "</script>";
-
print "</div>";
- print "]]></content>";
//return;
}
diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php
index 2b279d2d7..859b11ee9 100644
--- a/modules/pref-feeds.php
+++ b/modules/pref-feeds.php
@@ -601,12 +601,12 @@
print "</div>";
print "<div class='dlgButtons'>
- <input type=\"submit\" class=\"button\"
- onclick=\"return dijit.byId('feedEditDlg').execute()\"
- value=\"".__('Save')."\">
- <input type='submit' class='button'
- onclick=\"return dijit.byId('feedEditDlg').hide()\"
- value=\"".__('Cancel')."\">
+ <button dojoType=\"dijit.form.Button\"
+ onclick=\"return dijit.byId('feedEditDlg').execute()\">".
+ __('Save')."</button>
+ <button dojoType=\"dijit.form.Button\"
+ onclick=\"return dijit.byId('feedEditDlg').hide()\">".
+ __('Cancel')."</button>
</div>";
return;
@@ -1246,7 +1246,8 @@
print "</p>";
- print "<iframe name=\"upload_iframe\"
+ print "<iframe id=\"upload_iframe\"
+ name=\"upload_iframe\" onload=\"opmlImportComplete(this)\"
style=\"width: 400px; height: 100px; display: none;\"></iframe>";
print "<form style='display : block' target=\"upload_iframe\"
diff --git a/prefs.js b/prefs.js
index 4851611a3..0eb570f5f 100644
--- a/prefs.js
+++ b/prefs.js
@@ -782,6 +782,33 @@ function piggie(enable) {
}
}
+function opmlImportComplete(iframe) {
+ try {
+ if (!iframe.contentDocument.body.innerHTML) return false;
+
+ notify('');
+
+ if (dijit.byId('opmlImportDlg'))
+ dijit.byId('opmlImportDlg').destroyRecursive();
+
+ var content = iframe.contentDocument.body.innerHTML;
+
+ dialog = new dijit.Dialog({
+ id: "opmlImportDlg",
+ title: __("OPML Import"),
+ style: "width: 600px",
+ onCancel: function() {
+ updateFeedList();
+ },
+ content: content});
+
+ dialog.show();
+
+ } catch (e) {
+ exception_error("opmlImportComplete", e);
+ }
+}
+
function opmlImport() {
var opml_file = $("opml_file");
@@ -1512,22 +1539,6 @@ function activatePrefProfile() {
return false;
}
-function opmlImportDone() {
- closeInfoBox();
- updateFeedList();
-}
-
-function opmlImportHandler(iframe) {
- try {
- var tmp = new Object();
- tmp.responseText = iframe.document.body.innerHTML;
- notify('');
- infobox_callback2(tmp);
- } catch (e) {
- exception_error("opml_import_handler", e);
- }
-}
-
function clearFeedAccessKeys() {
var ok = confirm(__("This will invalidate all previously generated feed URLs. Continue?"));
diff --git a/tt-rss.css b/tt-rss.css
index 95ba1c654..d6d06a63d 100644
--- a/tt-rss.css
+++ b/tt-rss.css
@@ -408,7 +408,7 @@ table.prefFeedList td.feedSelect {
text-align : center;
}
-div.prefFeedCatHolder {
+div.prefFeedCatHolder, div.prefFeedOPMLHolder {
height : 300px;
overflow : auto;
border-width : 0px 1px 1px 1px;
@@ -418,6 +418,10 @@ div.prefFeedCatHolder {
background-color : #ecf4ff;
}
+div.prefFeedOPMLHolder {
+ border-width : 1px 1px 1px 1px;
+}
+
a.helpLink {
color : #808080;
}