"
@@ -39,13 +41,11 @@ function draw(){
getE("settingsList").innerHTML = html;
}
-function save(key, value){
- if(key){
+const save = (key, value) => {
+ if (key) {
settingsJson[key] = value;
- getFile("run?cmd=set "+key+" \""+value+"\"");
- }else{
- getFile("run?cmd=save settings",function(res){
- load();
- });
+ getFile(`run?cmd=set ${key} "${value}"`);
+ } else {
+ getFile("run?cmd=save settings", load);
}
}
\ No newline at end of file
diff --git a/web_interface/js/site.js b/web_interface/js/site.js
index 54665e7..00b552a 100644
--- a/web_interface/js/site.js
+++ b/web_interface/js/site.js
@@ -1,118 +1,113 @@
-var langJson = {};
+let langJson = {};
-function getE(name){
- return document.getElementById(name);
-}
+const getE = (name) => document.getElementById(name);
-function esc(str) {
- if(str){
+const esc = str => {
+ if (str) {
return str.toString()
- .replace(/&/g, '&')
- .replace(//g, '>')
- .replace(/\"/g, '"')
- .replace(/\'/g, ''')
- .replace(/\//g, '/');
+ .replace(/&/g, "&")
+ .replace(//g, ">")
+ .replace(/\"/g, """)
+ .replace(/\'/g, "'")
+ .replace(/\//g, "/");
}
+
return "";
}
-function convertLineBreaks(str){
- if(str){
+const convertLineBreaks = str => {
+ if (str) {
str = str.toString();
- str = str.replace(/(?:\r\n|\r|\n)/g,'
');
+ str = str.replace(/(?:\r\n|\r|\n)/g, '
');
return str;
}
+
return "";
}
-function showMessage(msg, closeAfter){
- var elmt = getE("error");
- elmt.innerHTML = esc(msg)+"
x";
-
- elmt.classList.remove('hide');
- elmt.classList.add('show');
+const showMessage = (msg, closeAfter) => {
+ const elmt = getE("error");
+ elmt.innerHTML = `${esc(msg)}
x`;
+
+ elmt.classList.remove("hide");
+ elmt.classList.add("show");
if(closeAfter !== undefined){
- setTimeout(closeMessage(),closeAfter);
+ setTimeout(closeMessage, closeAfter);
}
}
-function closeMessage(){
- var elmt = getE("error");
+const closeMessage = () => {
+ const elmt = getE("error");
+
elmt.innerHTML = "";
- elmt.classList.remove('show');
- elmt.classList.add('hide');
+ elmt.classList.remove("show");
+ elmt.classList.add("hide");
}
-function getFile(adr, callback, timeout, method, onTimeout, onError){
+const getFile = (
+ adr,
+ callback = () => undefined,
+ timeout = 8000,
+ method = "GET",
+ onTimeout = showMessage(`ERROR: timeout loading file ${adr}`),
+ onError = showMessage(`ERROR: loading file: ${adr}`)
+) => {
/* fallback stuff */
if(adr === undefined) return;
- if(callback === undefined) callback = function(){};
- if(timeout === undefined) timeout = 8000;
- if(method === undefined) method = "GET";
- if(onTimeout === undefined) {
- onTimeout = function(){
- showMessage("ERROR: timeout loading file "+adr);
- };
- }
- if(onError === undefined){
- onError = function(){
- showMessage("ERROR: loading file: "+adr);
- };
- }
-
+
/* create request */
- var request = new XMLHttpRequest();
-
+ const request = new XMLHttpRequest();
+
/* set parameter for request */
request.open(method, encodeURI(adr), true);
request.timeout = timeout;
request.ontimeout = onTimeout;
- request.onerror = onError;
+ request.onerror = onError;
request.overrideMimeType("application/json");
-
- request.onreadystatechange = function() {
- if(this.readyState == 4){
- if(this.status == 200){
- callback(this.responseText);
- }
+
+ request.onreadystatechange = () => {
+ if (this.readyState == 4 && this.status == 200) {
+ callback(this.responseText);
}
};
-
+
/* send request */
request.send();
-
+
console.log(adr);
}
-function lang(key){
- return convertLineBreaks(esc(langJson[key]));
-}
+const lang = key => convertLineBreaks(esc(langJson[key]));
-function parseLang(fileStr){
+const parseLang = fileStr => {
langJson = JSON.parse(fileStr);
- if(langJson["lang"] != "en"){// no need to update the HTML
- var elements = document.querySelectorAll("[data-translate]");
- for (i = 0; i < elements.length; i++) {
- var element = elements[i];
- element.innerHTML = lang(element.getAttribute("data-translate"));
- }
+
+ if (langJson["lang"] !== "en") {
+ // no need to update the HTML
+ const elements = document.querySelectorAll("[data-translate]");
+
+ [...elements].forEach(item => {
+ item.innerHTML = lang(element.getAttribute("data-translate"));
+ })
}
- document.querySelector('html').setAttribute("lang", langJson["lang"] );
+
+ document.querySelector('html').setAttribute("lang", langJson["lang"]);
+
if(typeof load !== 'undefined') load();
}
-function loadLang(){
- var language = "default"; //navigator.language.slice(0, 2);
- getFile("lang/" + language + ".lang",
- parseLang,
+const loadLang = () => {
+ const language = "default"; //navigator.language.slice(0, 2);
+ const langFunc = () => getFile("lang/en.lang", parseLang);
+
+ getFile(
+ `lang/${language}.lang`,
+ parseLang,
2000,
"GET",
- function(){
- getFile("lang/en.lang", parseLang);
- }, function(){
- getFile("lang/en.lang", parseLang);
- }
+ langFunc,
+ langFunc
);
}
diff --git a/web_interface/js/ssids.js b/web_interface/js/ssids.js
index dd2ac32..0d44be1 100644
--- a/web_interface/js/ssids.js
+++ b/web_interface/js/ssids.js
@@ -1,105 +1,111 @@
-var ssidJson = {"random":false,"ssids":[]};
-
-function load(){
- getFile("run?cmd=save ssids", function(){
- getFile("ssids.json",function(res){
+let ssidJson = {
+ "random": false,
+ "ssids": []
+};
+
+const load = () => {
+ getFile("run?cmd=save ssids", () =>
+ getFile("ssids.json", res => {
ssidJson = JSON.parse(res);
draw();
- });
- });
+ })
+ );
}
-function draw(){
- var html;
-
- html = "
"
- + " | "
- + " | "
- + " | "
- + " | "
- + " | "
- + "
";
-
- for(var i=0;i
"
- + ""+i+" | " // ID
- + ""+esc(ssidJson.ssids[i][0].substring(0,ssidJson.ssids[i][2]))+" | " // SSID
- + ""+(ssidJson.ssids[i][1] ? "🔒" : "-")+" | " // Enc
- + " | " // Save
- + " | " // Remove
- + "";
- }
-
- getE("randomBtn").innerHTML = ssidJson.random ? lang("disable_random") : lang("enable_random");
-
+const draw = () => {
+ let html = `
+
+ |
+ |
+ |
+ |
+ |
+
+ `;
+
+ ssidJson.ssids.map((item, i) => {
+ html += `
+
+ | ${i} |
+ ${esc(ssidJson.ssids[i][0].substring(0, ssidJson.ssids[i][2]))} |
+ ${ssidJson.ssids[i][1] ? "🔒" : "-"} |
+
+
+ |
+
+
+ |
+
+ `;
+ })
+
+ getE("randomBtn").innerHTML = lang(ssidJson.random ? "disable_random" : "enable_random");
getE("ssidTable").innerHTML = html;
}
-function remove(id){
+const remove = id => {
ssidJson.ssids.splice(id, 1);
- getFile("run?cmd=remove ssid "+id);
+ getFile(`run?cmd=remove ssid ${id}`);
draw();
}
-function add(){
- var ssidStr = getE("ssid").value;
- var wpa2 = getE("enc").checked;
- var clones = getE("ssidNum").value;
- var force = getE("overwrite").checked;
-
- if(ssidStr.length > 0){
- var cmdStr = "add ssid \""+ssidStr+"\""+(force ? " -f":" ")+" -cl "+clones;
- if(wpa2) cmdStr += " -wpa2";
-
- getFile("run?cmd="+cmdStr);
-
- for(var i=0;i= 60) ssidJson.ssids.splice(0,1);
- ssidJson.ssids.push([ssidStr,wpa2]);
+const add = () => {
+ const ssidStr = getE("ssid").value;
+
+ if (ssidStr.length > 0) {
+ const wpa2 = getE("enc").checked;
+ const clones = getE("ssidNum").value;
+ const force = getE("overwrite").checked;
+
+ const cmdStr = `add ssid "${ssidStr}" ${force ? "-f" : ""} -cl ${clones} ${wpa2 ? -wpa2 : ""}`;
+
+ getFile(`run?cmd=${cmdStr}`);
+
+ for (let i = 0; i < clones; i++) {
+ if (ssidJson.ssids.length >= 60) ssidJson.ssids.splice(0,1);
+ ssidJson.ssids.push([ssidStr, wpa2]);
}
-
+
draw();
}
}
-function enableRandom(){
- if(ssidJson.random){
- getFile("run?cmd=disable random",function(){
- load();
- });
- }else{
- getFile("run?cmd=enable random "+getE("interval").value,function(){
- load();
- });
+const enableRandom = () => {
+ if (ssidJson.random) {
+ getFile("run?cmd=disable random", load);
+ } else {
+ getFile(`run?cmd=enable random ${getE("interval").value}`, load);
}
-
+
}
-function disableRandom(){
-
+const disableRandom = () => {
+
}
-function addSelected(){
- getFile("run?cmd=add ssid -s"+(getE("overwrite").checked ? " -f":""));
+const addSelected = () => {
+ getFile(`run?cmd=add ssid -s ${getE("overwrite").checked ? "-f":""}`);
}
-function changeEnc(id){
+const changeEnc = id => {
ssidJson.ssids[id][1] = !ssidJson.ssids[id][1];
+
draw();
save(id);
}
-function removeAll(){
+const removeAll = () => {
ssidJson.ssids = [];
+
getFile("run?cmd=remove ssids");
draw();
}
-function save(id){
- var name = getE("ssid_"+id).innerHTML.replace("
","").substring(0,32);
- var wpa2 = ssidJson.ssids[id][1];
- ssidJson.ssids[id] = [name,wpa2];
-
- getFile("run?cmd=replace ssid "+id+" -n \""+name+"\" "+(wpa2 ? "-wpa2" : ""));
+const save = id => {
+ const name = getE(`ssid_${id}`).innerHTML.replace("
", "").substring(0, 32);
+ const wpa2 = ssidJson.ssids[id][1];
+ ssidJson.ssids[id] = [name, wpa2];
+
+ getFile(`run?cmd=replace ssid ${id} -n "${name}" ${wpa2 ? "-wpa2" : ""}`);
}