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 += ''; for (var i in data) { html += ''; html += ''; html += ''; html += ''; html += ''; } html += '
'; if (data[i].subscribed) { html += ''; } else { html += '
'; html += ''; html += ''; html += ''; html += '
'; } html += '
'+data[i].Title+''+data[i].htmlURL+'
'; $('#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();