var debugInfo = function() { var dbg = null; var info = new Array(); const redact = [ 'google_api_key', 'google_search_engine_id', 'lastfm_user', 'lastfm_session_key' ]; function multi_implode(ar) { var ret = ''; if (typeof(ar) != 'object' || ar === null) { return ar; } $.each(ar, function(i, v) { if (typeof(v) == 'object' && v !== null) { ret += i+'=['+multi_implode(v)+'], '; } else { ret += i+'='+v+', '; } }); ret = ret.substr(0, ret.length-2); return ret; } function getLocalInfo() { const t = $('#debuginfotable'); t.append('Config'); for (var i in prefs) { if (typeof (prefs[i]) != 'function') { var o = multi_implode(prefs[i]); if (redact.indexOf(i) > -1 && o !== null & o != '') { o = '[Redacted]'; } t.append(''+i+''+o+''); } } } return { open: function() { if (dbg == null) { dbg = browser.registerExtraPlugin("debug", language.gettext('button_debuginfo'), debugInfo); // randomly change the url to avoid the cache $('#debugfoldup').load('utils/debuginfo.php', function() { $('#debugfoldup').prepend('
'); $('#debugfoldup').prepend('

For information about how to report bugs, '+language.gettext('config_read_the_docs')+'

'); $('#debugfoldup').prepend('

If you are reporting a bug, appending this information to your report will be helpful

'); getLocalInfo(); dbg.slideToggle('fast', function() { browser.goToPlugin('debug'); }); }); } else { browser.goToPlugin("debug"); } }, close: function() { dbg = null; }, copyToClipboard: function() { var t = $('