copy icon issue #1128

This commit is contained in:
jokob-sk
2025-08-02 07:56:57 +10:00
parent ffccca9424
commit f5f7031030
19 changed files with 82 additions and 34 deletions

View File

@@ -224,7 +224,7 @@ function modalWarningOK() {
} else if (typeof modalCallbackFunction === "string" && typeof window[modalCallbackFunction] === "function") { } else if (typeof modalCallbackFunction === "string" && typeof window[modalCallbackFunction] === "function") {
window[modalCallbackFunction](); // Call via window window[modalCallbackFunction](); // Call via window
} else { } else {
console.error("Invalid callback function"); console.error("Invalid callback function: " + modalCallbackFunction);
} }
}, 100); }, 100);
} }

View File

@@ -336,7 +336,8 @@ function execute_settingEvent(element) {
getString('DevDetail_button_OverwriteIcons_Warning'), getString('DevDetail_button_OverwriteIcons_Warning'),
getString('Gen_Cancel'), getString('Gen_Cancel'),
getString('Gen_Okay'), getString('Gen_Okay'),
'overwriteIconType' 'overwriteIconType',
feSourceId // triggered by id
); );
} else if (["go_to_device"].includes(feEvent)) { } else if (["go_to_device"].includes(feEvent)) {
@@ -347,9 +348,43 @@ function execute_settingEvent(element) {
} else { } else {
console.warn(`🔺Not implemented: ${feEvent}`) 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");
}
});
} }

View File

@@ -76,6 +76,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/php/templates/security.php';
switch ($action) { switch ($action) {
case 'create': create($defaultValue, $expireMinutes, $dbtable, $columns, $values ); break; case 'create': create($defaultValue, $expireMinutes, $dbtable, $columns, $values ); break;
case 'read' : read($rawSql); break; case 'read' : read($rawSql); break;
case 'write' : write($rawSql); break;
case 'update': update($columnName, $id, $defaultValue, $expireMinutes, $dbtable, $columns, $values); break; case 'update': update($columnName, $id, $defaultValue, $expireMinutes, $dbtable, $columns, $values); break;
case 'delete': delete($columnName, $id, $dbtable); break; case 'delete': delete($columnName, $id, $dbtable); break;
case 'lockDatabase': lockDatabase($delay); 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 // update

View File

@@ -48,7 +48,6 @@
case 'getDevicesListCalendar': getDevicesListCalendar(); break; //todo: slowly deprecate this case 'getDevicesListCalendar': getDevicesListCalendar(); break; //todo: slowly deprecate this
case 'updateNetworkLeaf': updateNetworkLeaf(); break; case 'updateNetworkLeaf': updateNetworkLeaf(); break;
case 'overwriteIconType': overwriteIconType(); break;
case 'getIcons': getIcons(); break; case 'getIcons': getIcons(); break;
case 'getActions': getActions(); break; case 'getActions': getActions(); break;
case 'getDevices': getDevices(); 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 // Wake-on-LAN
// Inspired by @leiweibau: https://github.com/leiweibau/Pi.Alert/commit/30427c7fea180670c71a2b790699e5d9e9e88ffd // Inspired by @leiweibau: https://github.com/leiweibau/Pi.Alert/commit/30427c7fea180670c71a2b790699e5d9e9e88ffd

View File

@@ -308,6 +308,7 @@
"Gen_Error": "خطأ", "Gen_Error": "خطأ",
"Gen_Filter": "تصفية", "Gen_Filter": "تصفية",
"Gen_Generate": "إنشاء", "Gen_Generate": "إنشاء",
"Gen_InvalidMac": "",
"Gen_LockedDB": "قاعدة البيانات مقفلة", "Gen_LockedDB": "قاعدة البيانات مقفلة",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "غير متصل", "Gen_Offline": "غير متصل",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Error", "Gen_Error": "Error",
"Gen_Filter": "Filtrar", "Gen_Filter": "Filtrar",
"Gen_Generate": "Generar", "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_LockedDB": "ERROR - DB podria estar bloquejada - Fes servir F12 Eines desenvolupament -> Consola o provar-ho més tard.",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "Fora de línia", "Gen_Offline": "Fora de línia",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Chyba", "Gen_Error": "Chyba",
"Gen_Filter": "Filtr", "Gen_Filter": "Filtr",
"Gen_Generate": "Vygenerovat", "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_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_NetworkMask": "",
"Gen_Offline": "Offline", "Gen_Offline": "Offline",

View File

@@ -312,6 +312,7 @@
"Gen_Error": "Fehler", "Gen_Error": "Fehler",
"Gen_Filter": "Filter", "Gen_Filter": "Filter",
"Gen_Generate": "Generieren", "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_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_NetworkMask": "",
"Gen_Offline": "Offline", "Gen_Offline": "Offline",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Error", "Gen_Error": "Error",
"Gen_Filter": "Filter", "Gen_Filter": "Filter",
"Gen_Generate": "Generate", "Gen_Generate": "Generate",
"Gen_InvalidMac": "Invalid Mac address.",
"Gen_LockedDB": "ERROR - DB might be locked - Check F12 Dev tools -> Console or try later.", "Gen_LockedDB": "ERROR - DB might be locked - Check F12 Dev tools -> Console or try later.",
"Gen_NetworkMask": "Network mask", "Gen_NetworkMask": "Network mask",
"Gen_Offline": "Offline", "Gen_Offline": "Offline",

View File

@@ -310,6 +310,7 @@
"Gen_Error": "Error", "Gen_Error": "Error",
"Gen_Filter": "Filtro", "Gen_Filter": "Filtro",
"Gen_Generate": "Generar", "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_LockedDB": "Fallo - La base de datos puede estar bloqueada - Pulsa F1 -> Ajustes de desarrolladores -> Consola o prueba más tarde.",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "Desconectado", "Gen_Offline": "Desconectado",

3
front/php/templates/language/fr_fr.json Normal file → Executable file
View File

@@ -308,6 +308,7 @@
"Gen_Error": "Erreur", "Gen_Error": "Erreur",
"Gen_Filter": "Filtrer", "Gen_Filter": "Filtrer",
"Gen_Generate": "Générer", "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_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_NetworkMask": "Masque réseau",
"Gen_Offline": "Hors ligne", "Gen_Offline": "Hors ligne",
@@ -758,4 +759,4 @@
"settings_system_label": "Système", "settings_system_label": "Système",
"settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. <b>Il n'y a pas de pas de contrôle.</b>", "settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. <b>Il n'y a pas de pas de contrôle.</b>",
"test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage." "test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage."
} }

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Errore", "Gen_Error": "Errore",
"Gen_Filter": "Filtro", "Gen_Filter": "Filtro",
"Gen_Generate": "Genera", "Gen_Generate": "Genera",
"Gen_InvalidMac": "",
"Gen_LockedDB": "ERRORE: il DB potrebbe essere bloccato, controlla F12 Strumenti di sviluppo -> Console o riprova più tardi.", "Gen_LockedDB": "ERRORE: il DB potrebbe essere bloccato, controlla F12 Strumenti di sviluppo -> Console o riprova più tardi.",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "Offline", "Gen_Offline": "Offline",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Feil", "Gen_Error": "Feil",
"Gen_Filter": "Filter", "Gen_Filter": "Filter",
"Gen_Generate": "", "Gen_Generate": "",
"Gen_InvalidMac": "",
"Gen_LockedDB": "FEIL - DB kan være låst - Sjekk F12 Dev tools -> Konsoll eller prøv senere.", "Gen_LockedDB": "FEIL - DB kan være låst - Sjekk F12 Dev tools -> Konsoll eller prøv senere.",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "Frakoblet", "Gen_Offline": "Frakoblet",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Błąd", "Gen_Error": "Błąd",
"Gen_Filter": "Filtr", "Gen_Filter": "Filtr",
"Gen_Generate": "Wygeneruj", "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_LockedDB": "Błąd - Baza danych może być zablokowana - Sprawdź narzędzia deweloperskie F12 -> Konsola lub spróbuj później.",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "Niedostępne", "Gen_Offline": "Niedostępne",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Erro", "Gen_Error": "Erro",
"Gen_Filter": "Filtro", "Gen_Filter": "Filtro",
"Gen_Generate": "Gerar", "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_LockedDB": "ERRO - O banco de dados pode estar bloqueado - Verifique F12 Ferramentas de desenvolvimento -> Console ou tente mais tarde.",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "Offline", "Gen_Offline": "Offline",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Ошибка", "Gen_Error": "Ошибка",
"Gen_Filter": "Фильтр", "Gen_Filter": "Фильтр",
"Gen_Generate": "Генерировать", "Gen_Generate": "Генерировать",
"Gen_InvalidMac": "",
"Gen_LockedDB": "ОШИБКА - Возможно, база данных заблокирована. Проверьте инструменты разработчика F12 -> Консоль или повторите попытку позже.", "Gen_LockedDB": "ОШИБКА - Возможно, база данных заблокирована. Проверьте инструменты разработчика F12 -> Консоль или повторите попытку позже.",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "Оффлайн", "Gen_Offline": "Оффлайн",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Hata", "Gen_Error": "Hata",
"Gen_Filter": "Filtre", "Gen_Filter": "Filtre",
"Gen_Generate": "Oluştur", "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_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_NetworkMask": "",
"Gen_Offline": "Çevrimdışı", "Gen_Offline": "Çevrimdışı",

View File

@@ -308,6 +308,7 @@
"Gen_Error": "Помилка", "Gen_Error": "Помилка",
"Gen_Filter": "Фільтр", "Gen_Filter": "Фільтр",
"Gen_Generate": "Генерувати", "Gen_Generate": "Генерувати",
"Gen_InvalidMac": "",
"Gen_LockedDB": "ПОМИЛКА БД може бути заблоковано перевірте F12 Інструменти розробника -> Консоль або спробуйте пізніше.", "Gen_LockedDB": "ПОМИЛКА БД може бути заблоковано перевірте F12 Інструменти розробника -> Консоль або спробуйте пізніше.",
"Gen_NetworkMask": "Маска мережі", "Gen_NetworkMask": "Маска мережі",
"Gen_Offline": "Офлайн", "Gen_Offline": "Офлайн",
@@ -758,4 +759,4 @@
"settings_system_label": "Система", "settings_system_label": "Система",
"settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. <b>Перевірка не виконана.</b>", "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. <b>Перевірка не виконана.</b>",
"test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни."
} }

View File

@@ -308,6 +308,7 @@
"Gen_Error": "错误", "Gen_Error": "错误",
"Gen_Filter": "筛选", "Gen_Filter": "筛选",
"Gen_Generate": "生成", "Gen_Generate": "生成",
"Gen_InvalidMac": "",
"Gen_LockedDB": "错误 - DB 可能被锁定 - 检查 F12 开发工具 -> 控制台或稍后重试。", "Gen_LockedDB": "错误 - DB 可能被锁定 - 检查 F12 开发工具 -> 控制台或稍后重试。",
"Gen_NetworkMask": "", "Gen_NetworkMask": "",
"Gen_Offline": "离线", "Gen_Offline": "离线",