From a7bc551e6ca5000d8510430a33cfc6ee003d5fa5 Mon Sep 17 00:00:00 2001 From: Anonymous <108809-anonymous@users.noreply.framagit.org> Date: Fri, 24 Jun 2022 23:25:40 +0000 Subject: [PATCH] Upload New File --- addons/code/ismm/localdb.js | 67 +++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 addons/code/ismm/localdb.js diff --git a/addons/code/ismm/localdb.js b/addons/code/ismm/localdb.js new file mode 100644 index 0000000000..d2b25c56e3 --- /dev/null +++ b/addons/code/ismm/localdb.js @@ -0,0 +1,67 @@ +let irun = false; +document.addEventListener('DOMContentLoaded', () => { + browser.storage.local.get(['mul']).then(g => { + let ul = g.mul || 'eo'; + fetch('i18n/' + ul + '.json', { + method: 'GET' + }).then(j => j.json()).then(j => { + document.querySelectorAll('span[tek]').forEach(x => { + x.innerText = j[x.getAttribute('tek')]; + }); + document.body.style.display = 'block'; + }); + }); +}); +document.getElementById('f').addEventListener('change', e => { + let ff = e.target.files[0]; + if (ff) { + let r = new FileReader(); + r.addEventListener('load', e => { + if (ff.size > 4) { + let g = e.target.result.replace(/(?:\r\n|\r|\n)/g, "\n").split("\n"); + if (g.length > 0) { + browser.storage.local.get(['ldb']).then(gs => { + irun = true; + let cnt0, cnt1 = 0, + gc = 1, + db = JSON.parse(gs.ldb || '[]'); + cnt0 = db.length; + document.getElementById('pbr').max = g.length; + g.forEach(x => { + document.getElementById('pbr').value = gc; + gc++; + if (/^([0-9a-z.-]{4,400})\.([a-z]{2,40})$/.test(x) && !db.includes(x)) { + db.push(x); + } + }); + g = null; + cnt1 = db.length; + if (cnt1 != cnt0) { + browser.storage.local.set({ + 'ldb': JSON.stringify(db) + }); + } + browser.runtime.sendMessage('dbmode,rl').then(() => { + alert(document.querySelector('span[tek=opxdone]').innerText + "\n\n" + cnt0 + " -> " + cnt1); + location.reload(); + }); + }); + } + } + }); + r.readAsText(ff); + } +}); +document.getElementById('ldb_i').addEventListener('click', () => { + if (!irun) { + document.getElementById('f').click(); + } +}); +document.getElementById('ldb_c').addEventListener('click', () => { + if (!irun) { + browser.runtime.sendMessage('dbmode,cl').then(() => { + alert(document.querySelector('span[tek=opxdone]').innerText); + location.reload(); + }); + } +}); \ No newline at end of file