diff --git a/front/js/modal.js b/front/js/modal.js
index 3b51d711..12747be9 100755
--- a/front/js/modal.js
+++ b/front/js/modal.js
@@ -224,7 +224,7 @@ function modalWarningOK() {
} else if (typeof modalCallbackFunction === "string" && typeof window[modalCallbackFunction] === "function") {
window[modalCallbackFunction](); // Call via window
} else {
- console.error("Invalid callback function");
+ console.error("Invalid callback function: " + modalCallbackFunction);
}
}, 100);
}
diff --git a/front/js/ui_components.js b/front/js/ui_components.js
index b201606d..116bfd90 100755
--- a/front/js/ui_components.js
+++ b/front/js/ui_components.js
@@ -336,7 +336,8 @@ function execute_settingEvent(element) {
getString('DevDetail_button_OverwriteIcons_Warning'),
getString('Gen_Cancel'),
getString('Gen_Okay'),
- 'overwriteIconType'
+ 'overwriteIconType',
+ feSourceId // triggered by id
);
} else if (["go_to_device"].includes(feEvent)) {
@@ -347,9 +348,43 @@ function execute_settingEvent(element) {
} else {
console.warn(`🔺Not implemented: ${feEvent}`)
+ }
+
+}
+
+
+// -----------------------------------------------------------------------------
+// Go to the correct network node in the Network section
+function overwriteIconType()
+{
+ const mac = getMac();
+
+ if (!isValidMac(mac)) {
+ showModalOK("Error", getString("Gen_InvalidMac"))
+ return;
}
-
-
+
+ // Construct SQL query
+ const rawSql = `
+ UPDATE Devices
+ SET devIcon = (
+ SELECT devIcon FROM Devices WHERE devMac = "${mac}"
+ )
+ WHERE devType IN (
+ SELECT devType FROM Devices WHERE devMac = "${mac}"
+ )
+ `;
+
+ const apiUrl = `php/server/dbHelper.php?action=write&rawSql=${btoa(encodeURIComponent(rawSql))}`;
+
+ $.get(apiUrl, function(response) {
+ if (response === 'OK') {
+ showMessage (response);
+ updateApi("devices")
+ } else {
+ showMessage (response, 3000, "modal_red");
+ }
+ });
}
diff --git a/front/php/server/dbHelper.php b/front/php/server/dbHelper.php
index 8881b2c4..0d50b3ce 100755
--- a/front/php/server/dbHelper.php
+++ b/front/php/server/dbHelper.php
@@ -76,6 +76,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/php/templates/security.php';
switch ($action) {
case 'create': create($defaultValue, $expireMinutes, $dbtable, $columns, $values ); break;
case 'read' : read($rawSql); break;
+ case 'write' : write($rawSql); break;
case 'update': update($columnName, $id, $defaultValue, $expireMinutes, $dbtable, $columns, $values); break;
case 'delete': delete($columnName, $id, $dbtable); break;
case 'lockDatabase': lockDatabase($delay); break;
@@ -120,6 +121,31 @@ function read($rawSql) {
}
}
+//------------------------------------------------------------------------------
+// write
+//------------------------------------------------------------------------------
+function write($rawSql) {
+ global $db;
+
+ // Construct the SQL query to select values
+ $sql = $rawSql;
+
+ // Execute the SQL query
+ $result = $db->query($sql);
+
+ // Check if the query executed successfully
+ if (! $result == TRUE) {
+ // Output an error message if the query failed
+ echo "Error writing data\n\n " .$sql." \n\n". $db->lastErrorMsg();
+ return;
+ } else
+ {
+ // Output
+ echo "OK";
+ return;
+ }
+}
+
//------------------------------------------------------------------------------
// update
diff --git a/front/php/server/devices.php b/front/php/server/devices.php
index 255035d8..7932c2f8 100755
--- a/front/php/server/devices.php
+++ b/front/php/server/devices.php
@@ -48,7 +48,6 @@
case 'getDevicesListCalendar': getDevicesListCalendar(); break; //todo: slowly deprecate this
case 'updateNetworkLeaf': updateNetworkLeaf(); break;
- case 'overwriteIconType': overwriteIconType(); break;
case 'getIcons': getIcons(); break;
case 'getActions': getActions(); break;
case 'getDevices': getDevices(); break;
@@ -924,33 +923,6 @@ function updateNetworkLeaf()
}
-// ----------------------------------------------------------------------------------------
-function overwriteIconType()
-{
- $mac = $_REQUEST['mac'];
- $icon = $_REQUEST['icon'];
-
- if ((false === filter_var($mac , FILTER_VALIDATE_MAC) && $mac != "Internet" && $mac != "") ) {
- throw new Exception('Invalid mac address');
- }
- else
- {
- global $db;
- // sql
- $sql = 'UPDATE Devices SET "devIcon" = "'. $icon .'" where devType in (select devType from Devices where devMac = "' . $mac.'")' ;
- // update Data
- $result = $db->query($sql);
-
- // check result
- if ($result == TRUE) {
- echo 'OK';
- } else {
- echo lang('BackDevices_Device_UpdDevError');
- }
- }
-
-}
-
//------------------------------------------------------------------------------
// Wake-on-LAN
// Inspired by @leiweibau: https://github.com/leiweibau/Pi.Alert/commit/30427c7fea180670c71a2b790699e5d9e9e88ffd
diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json
index a04f097e..809eda91 100755
--- a/front/php/templates/language/ar_ar.json
+++ b/front/php/templates/language/ar_ar.json
@@ -308,6 +308,7 @@
"Gen_Error": "خطأ",
"Gen_Filter": "تصفية",
"Gen_Generate": "إنشاء",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "قاعدة البيانات مقفلة",
"Gen_NetworkMask": "",
"Gen_Offline": "غير متصل",
diff --git a/front/php/templates/language/ca_ca.json b/front/php/templates/language/ca_ca.json
index 3f8b3bf5..d67e6f52 100755
--- a/front/php/templates/language/ca_ca.json
+++ b/front/php/templates/language/ca_ca.json
@@ -308,6 +308,7 @@
"Gen_Error": "Error",
"Gen_Filter": "Filtrar",
"Gen_Generate": "Generar",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "ERROR - DB podria estar bloquejada - Fes servir F12 Eines desenvolupament -> Consola o provar-ho més tard.",
"Gen_NetworkMask": "",
"Gen_Offline": "Fora de línia",
diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json
index 455b828d..c980bbc7 100755
--- a/front/php/templates/language/cs_cz.json
+++ b/front/php/templates/language/cs_cz.json
@@ -308,6 +308,7 @@
"Gen_Error": "Chyba",
"Gen_Filter": "Filtr",
"Gen_Generate": "Vygenerovat",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "CHYBA - Databáze je možná zamčená - Zkontrolujte F12 -> Nástroje pro vývojáře -> Konzole. nebo to zkuste později.",
"Gen_NetworkMask": "",
"Gen_Offline": "Offline",
diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json
index d2bd3bae..23da67ba 100755
--- a/front/php/templates/language/de_de.json
+++ b/front/php/templates/language/de_de.json
@@ -312,6 +312,7 @@
"Gen_Error": "Fehler",
"Gen_Filter": "Filter",
"Gen_Generate": "Generieren",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "ERROR - DB eventuell gesperrt - Nutze die Konsole in den Entwickler Werkzeugen (F12) zur Überprüfung oder probiere es später erneut.",
"Gen_NetworkMask": "",
"Gen_Offline": "Offline",
diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json
index a5311e77..a48dcb4a 100755
--- a/front/php/templates/language/en_us.json
+++ b/front/php/templates/language/en_us.json
@@ -308,6 +308,7 @@
"Gen_Error": "Error",
"Gen_Filter": "Filter",
"Gen_Generate": "Generate",
+ "Gen_InvalidMac": "Invalid Mac address.",
"Gen_LockedDB": "ERROR - DB might be locked - Check F12 Dev tools -> Console or try later.",
"Gen_NetworkMask": "Network mask",
"Gen_Offline": "Offline",
diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json
index f02b94d2..9c60f677 100755
--- a/front/php/templates/language/es_es.json
+++ b/front/php/templates/language/es_es.json
@@ -310,6 +310,7 @@
"Gen_Error": "Error",
"Gen_Filter": "Filtro",
"Gen_Generate": "Generar",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "Fallo - La base de datos puede estar bloqueada - Pulsa F1 -> Ajustes de desarrolladores -> Consola o prueba más tarde.",
"Gen_NetworkMask": "",
"Gen_Offline": "Desconectado",
diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json
old mode 100644
new mode 100755
index d66731d4..ed40f2c6
--- a/front/php/templates/language/fr_fr.json
+++ b/front/php/templates/language/fr_fr.json
@@ -308,6 +308,7 @@
"Gen_Error": "Erreur",
"Gen_Filter": "Filtrer",
"Gen_Generate": "Générer",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "Erreur - La base de données est peut-être verrouillée - Vérifier avec les outils de dév via F12 -> Console ou essayer plus tard.",
"Gen_NetworkMask": "Masque réseau",
"Gen_Offline": "Hors ligne",
@@ -758,4 +759,4 @@
"settings_system_label": "Système",
"settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.",
"test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage."
-}
+}
\ No newline at end of file
diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json
index c6ebb49f..71e43395 100755
--- a/front/php/templates/language/it_it.json
+++ b/front/php/templates/language/it_it.json
@@ -308,6 +308,7 @@
"Gen_Error": "Errore",
"Gen_Filter": "Filtro",
"Gen_Generate": "Genera",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "ERRORE: il DB potrebbe essere bloccato, controlla F12 Strumenti di sviluppo -> Console o riprova più tardi.",
"Gen_NetworkMask": "",
"Gen_Offline": "Offline",
diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json
index abbf97cd..21b55c60 100755
--- a/front/php/templates/language/nb_no.json
+++ b/front/php/templates/language/nb_no.json
@@ -308,6 +308,7 @@
"Gen_Error": "Feil",
"Gen_Filter": "Filter",
"Gen_Generate": "",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "FEIL - DB kan være låst - Sjekk F12 Dev tools -> Konsoll eller prøv senere.",
"Gen_NetworkMask": "",
"Gen_Offline": "Frakoblet",
diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json
index ea765521..21476001 100755
--- a/front/php/templates/language/pl_pl.json
+++ b/front/php/templates/language/pl_pl.json
@@ -308,6 +308,7 @@
"Gen_Error": "Błąd",
"Gen_Filter": "Filtr",
"Gen_Generate": "Wygeneruj",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "Błąd - Baza danych może być zablokowana - Sprawdź narzędzia deweloperskie F12 -> Konsola lub spróbuj później.",
"Gen_NetworkMask": "",
"Gen_Offline": "Niedostępne",
diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json
index 3152c192..a0d56425 100755
--- a/front/php/templates/language/pt_br.json
+++ b/front/php/templates/language/pt_br.json
@@ -308,6 +308,7 @@
"Gen_Error": "Erro",
"Gen_Filter": "Filtro",
"Gen_Generate": "Gerar",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "ERRO - O banco de dados pode estar bloqueado - Verifique F12 Ferramentas de desenvolvimento -> Console ou tente mais tarde.",
"Gen_NetworkMask": "",
"Gen_Offline": "Offline",
diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json
index dad2befd..c036ee9d 100755
--- a/front/php/templates/language/ru_ru.json
+++ b/front/php/templates/language/ru_ru.json
@@ -308,6 +308,7 @@
"Gen_Error": "Ошибка",
"Gen_Filter": "Фильтр",
"Gen_Generate": "Генерировать",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "ОШИБКА - Возможно, база данных заблокирована. Проверьте инструменты разработчика F12 -> Консоль или повторите попытку позже.",
"Gen_NetworkMask": "",
"Gen_Offline": "Оффлайн",
diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json
index 8d32c41e..c565e5e2 100755
--- a/front/php/templates/language/tr_tr.json
+++ b/front/php/templates/language/tr_tr.json
@@ -308,6 +308,7 @@
"Gen_Error": "Hata",
"Gen_Filter": "Filtre",
"Gen_Generate": "Oluştur",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "HATA - Veritabanı kilitlenmiş olabilir - F12 Geliştirici araçlarını -> Konsol kısmını kontrol edin veya daha sonra tekrar deneyin.",
"Gen_NetworkMask": "",
"Gen_Offline": "Çevrimdışı",
diff --git a/front/php/templates/language/uk_ua.json b/front/php/templates/language/uk_ua.json
index 22efc38a..7c6977c9 100755
--- a/front/php/templates/language/uk_ua.json
+++ b/front/php/templates/language/uk_ua.json
@@ -308,6 +308,7 @@
"Gen_Error": "Помилка",
"Gen_Filter": "Фільтр",
"Gen_Generate": "Генерувати",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "ПОМИЛКА – БД може бути заблоковано – перевірте F12 Інструменти розробника -> Консоль або спробуйте пізніше.",
"Gen_NetworkMask": "Маска мережі",
"Gen_Offline": "Офлайн",
@@ -758,4 +759,4 @@
"settings_system_label": "Система",
"settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. Перевірка не виконана.",
"test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни."
-}
+}
\ No newline at end of file
diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json
index 7b77db3c..004db9c7 100755
--- a/front/php/templates/language/zh_cn.json
+++ b/front/php/templates/language/zh_cn.json
@@ -308,6 +308,7 @@
"Gen_Error": "错误",
"Gen_Filter": "筛选",
"Gen_Generate": "生成",
+ "Gen_InvalidMac": "",
"Gen_LockedDB": "错误 - DB 可能被锁定 - 检查 F12 开发工具 -> 控制台或稍后重试。",
"Gen_NetworkMask": "",
"Gen_Offline": "离线",