var opmlImporter = function() {
var opmlv = null;
return {
open: function() {
if (opmlv == null) {
opmlv = browser.registerExtraPlugin("opmlv", language.gettext("label_opmlimporter"), opmlImporter, 'https://fatg3erman.github.io/RompR/OPML-Importer');
$('#opmlvfoldup').append(
'
'
);
$('#opmlvfoldup').append('');
$('#opmlvfoldup').append(''+language.gettext('label_opmlexp')+'
')
$('#opmlvfoldup').append(
''
);
$('#opmlsubmit').on('click', opmlImporter.uploadFile);
opmlv.slideToggle('fast', function() {
browser.goToPlugin("opmlv");
});
} else {
browser.goToPlugin("opmlv");
}
},
handleClick: function(element, event) {
},
close: function() {
opmlv = null;
},
uploadFile: function() {
var formElement = document.getElementById('opmluploader');
var xhr = new XMLHttpRequest();
xhr.open("POST", "plugins/code/opmluploader.php");
xhr.responseType = "json";
xhr.onload = function () {
if (xhr.status === 200) {
opmlImporter.gotData(xhr.response);
} else {
infobar.error(language.gettext('label_general_error'));
}
};
xhr.send(new FormData(formElement));
},
gotData: function(data) {
debug.log("OPML IMPORTER", "File Parsed",data);
var html = '';
html += ''+language.gettext('label_opmlimporter')+'
';
html += '';
html += '
';
html += '
';
html += '
';
html += '
';
html += '
';
html += '';
$('#opmllist').html(html);
$('[name="opml_selectall"]').on('click', opmlImporter.selectAll);
$('[name="opml_selectnone"]').on('click', opmlImporter.selectNone);
$('[name="opml_import"]').on('click', opmlImporter.Import);
opmlImporter.selectAll();
},
selectAll: function() {
$('#opmllist input[type="checkbox"]').prop('checked', true);
},
selectNone: function() {
$('#opmllist input[type="checkbox"]').prop('checked', false);
},
Import: function() {
$('[name="opml_import"]').off('click');
var s = $('#opmllist input[type="checkbox"]:checked');
if (s.length > 0) {
opmlImporter.subscribeToNext(s.first());
} else {
$('[name="opml_import"]').on('click', opmlImporter.Import);
podcasts.reloadList();
}
},
subscribeToNext: function(c) {
var feedUrl = c.prev().val();
var s = $('', {class: 'icon-spin6 spinner smallicon'}).insertBefore(c);
c.next().remove();
c.remove();
debug.log("OPML IMPORTER","Importing Podcast",feedUrl);
podcasts.getPodcast(feedUrl, function(flag) {
if (flag) {
debug.log("OPML Importer", "Success");
s.replaceWith('');
opmlImporter.Import();
} else {
debug.warn("OPML Importer", "Failed to import",feedUrl);
s.replaceWith('');
opmlImporter.Import();
}
});
}
}
}();
pluginManager.setAction(language.gettext("label_opmlimporter"), opmlImporter.open);
opmlImporter.open();