opml import: no more iframe, use client dialog
This commit is contained in:
parent
3134d71b8f
commit
83b0738b04
|
@ -13,28 +13,6 @@ class Dlg extends Handler_Protected {
|
|||
return false;
|
||||
}
|
||||
|
||||
function importOpml() {
|
||||
print_notice("If you have imported labels and/or filters, you might need to reload preferences to see your new data.");
|
||||
|
||||
print "<div class='panel panel-scrollable'>";
|
||||
|
||||
$opml = new OPML($_REQUEST);
|
||||
|
||||
$opml->opml_import($_SESSION["uid"]);
|
||||
|
||||
print "</div>";
|
||||
|
||||
print "<footer class='text-center'>";
|
||||
print "<button dojoType='dijit.form.Button'
|
||||
onclick=\"dijit.byId('opmlImportDlg').execute()\">".
|
||||
__('Close this window')."</button>";
|
||||
print "</footer>";
|
||||
|
||||
print "</div>";
|
||||
|
||||
//return;
|
||||
}
|
||||
|
||||
function printTagCloud() {
|
||||
print "<div class='panel text-center'>";
|
||||
|
||||
|
|
|
@ -1194,6 +1194,11 @@ class Pref_Feeds extends Handler_Protected {
|
|||
Feeds::add_feed_category($feed_cat);
|
||||
}
|
||||
|
||||
function importOpml() {
|
||||
$opml = new OPML($_REQUEST);
|
||||
$opml->opml_import($_SESSION["uid"]);
|
||||
}
|
||||
|
||||
function index() {
|
||||
|
||||
print "<div dojoType='dijit.layout.AccordionContainer' region='center'>";
|
||||
|
@ -1340,17 +1345,11 @@ class Pref_Feeds extends Handler_Protected {
|
|||
|
||||
print_notice("Only main settings profile can be migrated using OPML.");
|
||||
|
||||
print "<iframe id=\"upload_iframe\"
|
||||
name=\"upload_iframe\" onload=\"Helpers.OPML.onImportComplete(this)\"
|
||||
style=\"width: 400px; height: 100px; display: none;\"></iframe>";
|
||||
|
||||
print "<form name='opml_form' style='display : inline-block' target='upload_iframe'
|
||||
enctype='multipart/form-data' method='POST'
|
||||
action='backend.php'>
|
||||
print "<form id='opml_import_form' method='post' enctype='multipart/form-data' >
|
||||
<label class='dijitButton'>".__("Choose file...")."
|
||||
<input style='display : none' id='opml_file' name='opml_file' type='file'>
|
||||
</label>
|
||||
<input type='hidden' name='op' value='dlg'>
|
||||
<input type='hidden' name='op' value='pref-feeds'>
|
||||
<input type='hidden' name='csrf_token' value='".$_SESSION['csrf_token']."'>
|
||||
<input type='hidden' name='method' value='importOpml'>
|
||||
<button dojoType='dijit.form.Button' class='alt-primary' onclick=\"return Helpers.OPML.import();\" type=\"submit\">" .
|
||||
|
|
|
@ -220,9 +220,42 @@ const Helpers = {
|
|||
} else {
|
||||
Notify.progress("Importing, please wait...", true);
|
||||
|
||||
Element.show("upload_iframe");
|
||||
const xhr = new XMLHttpRequest();
|
||||
|
||||
return true;
|
||||
xhr.open( 'POST', 'backend.php', true );
|
||||
xhr.onload = function () {
|
||||
Notify.close();
|
||||
|
||||
const dialog = new dijit.Dialog({
|
||||
title: __("OPML Import"),
|
||||
style: "width: 600px",
|
||||
onCancel: function () {
|
||||
window.location.reload();
|
||||
},
|
||||
execute: function () {
|
||||
window.location.reload();
|
||||
},
|
||||
content: `
|
||||
<div class='alert alert-info'>
|
||||
${__("If you have imported labels and/or filters, you might need to reload preferences to see your new data.")}
|
||||
</div>
|
||||
<div class='panel panel-scrollable'>
|
||||
${xhr.responseText}
|
||||
</div>
|
||||
<footer class='text-center'>
|
||||
<button dojoType='dijit.form.Button' type='submit' class='alt-primary'>
|
||||
${__('Close this window')}
|
||||
</button>
|
||||
</footer>
|
||||
`
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
};
|
||||
|
||||
xhr.send(new FormData($("opml_import_form")));
|
||||
|
||||
return false;
|
||||
}
|
||||
},
|
||||
onImportComplete: function(iframe) {
|
||||
|
|
Loading…
Reference in New Issue