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": "离线",