Available Ips in System Info #1127

This commit is contained in:
jokob-sk
2025-07-30 09:31:34 +10:00
parent b002bc34ac
commit 2337f96685
17 changed files with 154 additions and 22 deletions

View File

@@ -594,7 +594,6 @@ function initializeDatatable (status) {
} }
} }
// todo: dynamically filter based on status
var table = $('#tableDevices').DataTable({ var table = $('#tableDevices').DataTable({
"serverSide": true, "serverSide": true,
"processing": true, "processing": true,

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "اختيار أيقونة", "Gen_SelectIcon": "اختيار أيقونة",
"Gen_SelectToPreview": "اختر للمعاينة", "Gen_SelectToPreview": "اختر للمعاينة",
"Gen_Selected_Devices": "الأجهزة المحددة", "Gen_Selected_Devices": "الأجهزة المحددة",
"Gen_Subnet": "",
"Gen_Switch": "تبديل", "Gen_Switch": "تبديل",
"Gen_Upd": "تحديث", "Gen_Upd": "تحديث",
"Gen_Upd_Fail": "فشل التحديث", "Gen_Upd_Fail": "فشل التحديث",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "عدم تزامن ماسحات الأجهزة", "Settings_device_Scanners_desync": "عدم تزامن ماسحات الأجهزة",
"Settings_device_Scanners_desync_popup": "نافذة عدم تزامن ماسحات الأجهزة", "Settings_device_Scanners_desync_popup": "نافذة عدم تزامن ماسحات الأجهزة",
"Speedtest_Results": "نتائج اختبار السرعة", "Speedtest_Results": "نتائج اختبار السرعة",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "المعالج", "Systeminfo_CPU": "المعالج",
"Systeminfo_CPU_Cores": "أنوية المعالج", "Systeminfo_CPU_Cores": "أنوية المعالج",
"Systeminfo_CPU_Name": "اسم المعالج", "Systeminfo_CPU_Name": "اسم المعالج",
@@ -755,4 +757,4 @@
"settings_system_label": "تسمية النظام", "settings_system_label": "تسمية النظام",
"settings_update_item_warning": "تحذير تحديث العنصر", "settings_update_item_warning": "تحذير تحديث العنصر",
"test_event_tooltip": "تلميح اختبار الحدث" "test_event_tooltip": "تلميح اختبار الحدث"
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Seleccioneu la vista prèvia", "Gen_SelectToPreview": "Seleccioneu la vista prèvia",
"Gen_Selected_Devices": "Dispositius seleccionats:", "Gen_Selected_Devices": "Dispositius seleccionats:",
"Gen_Subnet": "",
"Gen_Switch": "Switch", "Gen_Switch": "Switch",
"Gen_Upd": "Actualitzat correctament", "Gen_Upd": "Actualitzat correctament",
"Gen_Upd_Fail": "Actualització fallida", "Gen_Upd_Fail": "Actualització fallida",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ Els horaris d'escàner de dispositius no estan en sincronia.", "Settings_device_Scanners_desync": "⚠ Els horaris d'escàner de dispositius no estan en sincronia.",
"Settings_device_Scanners_desync_popup": "Els horaris dels escàners de dispositius (<code>*_RUN_SCHD</code>) no són iguals. Això donarà lloc a notificacions inconsistents del dispositiu en línia / fora de línia. Si no és intencionat, utilitzeu el mateix horari per a tots els <b>🔍 escàners de dispositius</b>.", "Settings_device_Scanners_desync_popup": "Els horaris dels escàners de dispositius (<code>*_RUN_SCHD</code>) no són iguals. Això donarà lloc a notificacions inconsistents del dispositiu en línia / fora de línia. Si no és intencionat, utilitzeu el mateix horari per a tots els <b>🔍 escàners de dispositius</b>.",
"Speedtest_Results": "Speedtest Resultats", "Speedtest_Results": "Speedtest Resultats",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "Nuclis de CPU:", "Systeminfo_CPU_Cores": "Nuclis de CPU:",
"Systeminfo_CPU_Name": "Nom de CPU:", "Systeminfo_CPU_Name": "Nom de CPU:",
@@ -755,4 +757,4 @@
"settings_system_label": "Sistema", "settings_system_label": "Sistema",
"settings_update_item_warning": "Actualitza el valor sota. Sigues curós de seguir el format anterior. <b>No hi ha validació.</b>", "settings_update_item_warning": "Actualitza el valor sota. Sigues curós de seguir el format anterior. <b>No hi ha validació.</b>",
"test_event_tooltip": "Deseu els canvis primer abans de comprovar la configuració." "test_event_tooltip": "Deseu els canvis primer abans de comprovar la configuració."
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Vybrat na náhled", "Gen_SelectToPreview": "Vybrat na náhled",
"Gen_Selected_Devices": "Vybraná zařízení:", "Gen_Selected_Devices": "Vybraná zařízení:",
"Gen_Subnet": "",
"Gen_Switch": "Přepnout", "Gen_Switch": "Přepnout",
"Gen_Upd": "Úspěšně aktualizováno", "Gen_Upd": "Úspěšně aktualizováno",
"Gen_Upd_Fail": "Aktualizace se nezdařila", "Gen_Upd_Fail": "Aktualizace se nezdařila",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "", "Settings_device_Scanners_desync": "",
"Settings_device_Scanners_desync_popup": "", "Settings_device_Scanners_desync_popup": "",
"Speedtest_Results": "", "Speedtest_Results": "",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "", "Systeminfo_CPU": "",
"Systeminfo_CPU_Cores": "", "Systeminfo_CPU_Cores": "",
"Systeminfo_CPU_Name": "", "Systeminfo_CPU_Name": "",
@@ -755,4 +757,4 @@
"settings_system_label": "", "settings_system_label": "",
"settings_update_item_warning": "", "settings_update_item_warning": "",
"test_event_tooltip": "" "test_event_tooltip": ""
} }

View File

@@ -330,6 +330,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Zur Vorschau auswählen", "Gen_SelectToPreview": "Zur Vorschau auswählen",
"Gen_Selected_Devices": "Ausgewählte Geräte:", "Gen_Selected_Devices": "Ausgewählte Geräte:",
"Gen_Subnet": "",
"Gen_Switch": "Umschalten", "Gen_Switch": "Umschalten",
"Gen_Upd": "Aktualisierung erfolgreich", "Gen_Upd": "Aktualisierung erfolgreich",
"Gen_Upd_Fail": "Aktualisierung fehlgeschlagen", "Gen_Upd_Fail": "Aktualisierung fehlgeschlagen",
@@ -655,6 +656,7 @@
"Settings_device_Scanners_desync": "⚠ Die Zeitpläne des Gerätescanners sind nicht synchronisiert.", "Settings_device_Scanners_desync": "⚠ Die Zeitpläne des Gerätescanners sind nicht synchronisiert.",
"Settings_device_Scanners_desync_popup": "", "Settings_device_Scanners_desync_popup": "",
"Speedtest_Results": "Ergebnisse des Geschwindigkeitstests", "Speedtest_Results": "Ergebnisse des Geschwindigkeitstests",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "CPU-Kerne:", "Systeminfo_CPU_Cores": "CPU-Kerne:",
"Systeminfo_CPU_Name": "CPU-Name:", "Systeminfo_CPU_Name": "CPU-Name:",
@@ -828,4 +830,4 @@
"settings_system_label": "System", "settings_system_label": "System",
"settings_update_item_warning": "", "settings_update_item_warning": "",
"test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen." "test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen."
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Select to preview", "Gen_SelectToPreview": "Select to preview",
"Gen_Selected_Devices": "Selected devices:", "Gen_Selected_Devices": "Selected devices:",
"Gen_Subnet": "Subnet",
"Gen_Switch": "Switch", "Gen_Switch": "Switch",
"Gen_Upd": "Updated successfully", "Gen_Upd": "Updated successfully",
"Gen_Upd_Fail": "Update failed", "Gen_Upd_Fail": "Update failed",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ Device scanner schedules are out-of-sync.", "Settings_device_Scanners_desync": "⚠ Device scanner schedules are out-of-sync.",
"Settings_device_Scanners_desync_popup": "Schedules of devices scanners (<code>*_RUN_SCHD</code>) are not the same. This will result into inconsistent device online/offline notifications. Unless this is intended, please use the same schedule for all enabled <b>🔍device scanners</b>.", "Settings_device_Scanners_desync_popup": "Schedules of devices scanners (<code>*_RUN_SCHD</code>) are not the same. This will result into inconsistent device online/offline notifications. Unless this is intended, please use the same schedule for all enabled <b>🔍device scanners</b>.",
"Speedtest_Results": "Speedtest Results", "Speedtest_Results": "Speedtest Results",
"Systeminfo_AvailableIps": "Available IPs",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "CPU Cores:", "Systeminfo_CPU_Cores": "CPU Cores:",
"Systeminfo_CPU_Name": "CPU Name:", "Systeminfo_CPU_Name": "CPU Name:",

View File

@@ -328,6 +328,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Seleccionar para previsualizar", "Gen_SelectToPreview": "Seleccionar para previsualizar",
"Gen_Selected_Devices": "Dispositivos seleccionados:", "Gen_Selected_Devices": "Dispositivos seleccionados:",
"Gen_Subnet": "",
"Gen_Switch": "Cambiar", "Gen_Switch": "Cambiar",
"Gen_Upd": "Actualizado correctamente", "Gen_Upd": "Actualizado correctamente",
"Gen_Upd_Fail": "Fallo al actualizar", "Gen_Upd_Fail": "Fallo al actualizar",
@@ -654,6 +655,7 @@
"Settings_device_Scanners_desync": "⚠ Los horarios del escáner de los dispositivos no están sincronizados.", "Settings_device_Scanners_desync": "⚠ Los horarios del escáner de los dispositivos no están sincronizados.",
"Settings_device_Scanners_desync_popup": "Los horarios de escáneres de dispositivos (<code> *_RUN_SCHD</code> ) no son lo mismo. Esto resultará en notificaciones inconsistentes del dispositivo en línea/fuera de línea. A menos que sea así, utilice el mismo horario para todos los habilitados.<b> 🔍Escáneres de dispositivos</b> .", "Settings_device_Scanners_desync_popup": "Los horarios de escáneres de dispositivos (<code> *_RUN_SCHD</code> ) no son lo mismo. Esto resultará en notificaciones inconsistentes del dispositivo en línea/fuera de línea. A menos que sea así, utilice el mismo horario para todos los habilitados.<b> 🔍Escáneres de dispositivos</b> .",
"Speedtest_Results": "Resultados de la prueba de velocidad", "Speedtest_Results": "Resultados de la prueba de velocidad",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "Núcleos de CPU:", "Systeminfo_CPU_Cores": "Núcleos de CPU:",
"Systeminfo_CPU_Name": "Nombre de la CPU:", "Systeminfo_CPU_Name": "Nombre de la CPU:",
@@ -826,4 +828,4 @@
"settings_system_label": "Sistema", "settings_system_label": "Sistema",
"settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. <b>O la validación no se realiza.</b>", "settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. <b>O la validación no se realiza.</b>",
"test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes." "test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes."
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Sélectionnez pour prévisualiser", "Gen_SelectToPreview": "Sélectionnez pour prévisualiser",
"Gen_Selected_Devices": "Appareils sélectionnés :", "Gen_Selected_Devices": "Appareils sélectionnés :",
"Gen_Subnet": "",
"Gen_Switch": "Basculer", "Gen_Switch": "Basculer",
"Gen_Upd": "Mise à jour réussie", "Gen_Upd": "Mise à jour réussie",
"Gen_Upd_Fail": "Échec de la mise à jour", "Gen_Upd_Fail": "Échec de la mise à jour",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ La planification des différents scanners d'appareils est désynchronisée.", "Settings_device_Scanners_desync": "⚠ La planification des différents scanners d'appareils est désynchronisée.",
"Settings_device_Scanners_desync_popup": "La planification des scanners (<code>*_RUN_SCHD</code>) n'est pas identique entre scanners. Cela va entraîner des notifications en ligne/hors-ligne non cohérentes. À moins que cela soit attendu, utilisez la même planification pour tous les <b>🔍scanners d'appareils</b> activés.", "Settings_device_Scanners_desync_popup": "La planification des scanners (<code>*_RUN_SCHD</code>) n'est pas identique entre scanners. Cela va entraîner des notifications en ligne/hors-ligne non cohérentes. À moins que cela soit attendu, utilisez la même planification pour tous les <b>🔍scanners d'appareils</b> activés.",
"Speedtest_Results": "Résultats du test de débit", "Speedtest_Results": "Résultats du test de débit",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "Processeur", "Systeminfo_CPU": "Processeur",
"Systeminfo_CPU_Cores": "Cœurs de processeur:", "Systeminfo_CPU_Cores": "Cœurs de processeur:",
"Systeminfo_CPU_Name": "Nom du processeur:", "Systeminfo_CPU_Name": "Nom du processeur:",
@@ -755,4 +757,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

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Seleziona per anteprima", "Gen_SelectToPreview": "Seleziona per anteprima",
"Gen_Selected_Devices": "Dispositivi selezionati:", "Gen_Selected_Devices": "Dispositivi selezionati:",
"Gen_Subnet": "",
"Gen_Switch": "Cambia", "Gen_Switch": "Cambia",
"Gen_Upd": "Aggiornato correttamente", "Gen_Upd": "Aggiornato correttamente",
"Gen_Upd_Fail": "Aggiornamento fallito", "Gen_Upd_Fail": "Aggiornamento fallito",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ Le pianificazioni dello scanner del dispositivo non sono sincronizzate.", "Settings_device_Scanners_desync": "⚠ Le pianificazioni dello scanner del dispositivo non sono sincronizzate.",
"Settings_device_Scanners_desync_popup": "Gli orari degli scanner dei dispositivi (<code>*_RUN_SCHD</code>) non sono gli stessi. Questo comporterà notifiche online/offline incoerenti del dispositivo. A meno che ciò non sia previsto, utilizza la stessa pianificazione per tutti gli <b>🔍 scanner dispositivi</b> abilitati.", "Settings_device_Scanners_desync_popup": "Gli orari degli scanner dei dispositivi (<code>*_RUN_SCHD</code>) non sono gli stessi. Questo comporterà notifiche online/offline incoerenti del dispositivo. A meno che ciò non sia previsto, utilizza la stessa pianificazione per tutti gli <b>🔍 scanner dispositivi</b> abilitati.",
"Speedtest_Results": "Risultati test di velocità", "Speedtest_Results": "Risultati test di velocità",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "Core CPU:", "Systeminfo_CPU_Cores": "Core CPU:",
"Systeminfo_CPU_Name": "Nome CPU:", "Systeminfo_CPU_Name": "Nome CPU:",
@@ -755,4 +757,4 @@
"settings_system_label": "Sistema", "settings_system_label": "Sistema",
"settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. <b>La convalida non viene eseguita.</b>", "settings_update_item_warning": "Aggiorna il valore qui sotto. Fai attenzione a seguire il formato precedente. <b>La convalida non viene eseguita.</b>",
"test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni." "test_event_tooltip": "Salva le modifiche prima di provare le nuove impostazioni."
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "", "Gen_SelectIcon": "",
"Gen_SelectToPreview": "", "Gen_SelectToPreview": "",
"Gen_Selected_Devices": "Valgte Enheter:", "Gen_Selected_Devices": "Valgte Enheter:",
"Gen_Subnet": "",
"Gen_Switch": "Bytt", "Gen_Switch": "Bytt",
"Gen_Upd": "Oppdatering vellykket", "Gen_Upd": "Oppdatering vellykket",
"Gen_Upd_Fail": "Oppdatering feilet", "Gen_Upd_Fail": "Oppdatering feilet",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ Enhetsskanning tidsplan er ikke synkronisert lenger.", "Settings_device_Scanners_desync": "⚠ Enhetsskanning tidsplan er ikke synkronisert lenger.",
"Settings_device_Scanners_desync_popup": "Tidsplanene for enhetsskanning (<code>*_RUN_SCHD</code>) er ikke de samme. Dette vil føre til inkonsekvent enhet på online/offline varsler. Med mindre dette er ment, kan du bruke den samme tidsplanen for alle aktiverte <b> 🔍Enhets-skannere</b>.", "Settings_device_Scanners_desync_popup": "Tidsplanene for enhetsskanning (<code>*_RUN_SCHD</code>) er ikke de samme. Dette vil føre til inkonsekvent enhet på online/offline varsler. Med mindre dette er ment, kan du bruke den samme tidsplanen for alle aktiverte <b> 🔍Enhets-skannere</b>.",
"Speedtest_Results": "Speedtest resultater", "Speedtest_Results": "Speedtest resultater",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "CPU-kjerner:", "Systeminfo_CPU_Cores": "CPU-kjerner:",
"Systeminfo_CPU_Name": "CPU-navn:", "Systeminfo_CPU_Name": "CPU-navn:",
@@ -755,4 +757,4 @@
"settings_system_label": "System", "settings_system_label": "System",
"settings_update_item_warning": "Oppdater verdien nedenfor. Pass på å følge forrige format. <b>Validering etterpå utføres ikke.</b>", "settings_update_item_warning": "Oppdater verdien nedenfor. Pass på å følge forrige format. <b>Validering etterpå utføres ikke.</b>",
"test_event_tooltip": "Lagre endringene først, før du tester innstillingene dine." "test_event_tooltip": "Lagre endringene først, før du tester innstillingene dine."
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Wybierz, aby podglądnąć", "Gen_SelectToPreview": "Wybierz, aby podglądnąć",
"Gen_Selected_Devices": "Wybrane urządzenia:", "Gen_Selected_Devices": "Wybrane urządzenia:",
"Gen_Subnet": "",
"Gen_Switch": "Switch", "Gen_Switch": "Switch",
"Gen_Upd": "Zaktualizowano pomyślnie", "Gen_Upd": "Zaktualizowano pomyślnie",
"Gen_Upd_Fail": "Aktualizacja nie powiodła się", "Gen_Upd_Fail": "Aktualizacja nie powiodła się",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ Harmonogramy skanerów urządzeń są niezsynchronizowane.", "Settings_device_Scanners_desync": "⚠ Harmonogramy skanerów urządzeń są niezsynchronizowane.",
"Settings_device_Scanners_desync_popup": "Harmonogramy skanerów urządzeń (<code>*_RUN_SCHD</code>) są różne. Może to prowadzić do niespójnych powiadomień o statusie online/offline urządzeń. Jeśli nie jest to zamierzone, proszę używać tego samego harmonogramu dla wszystkich włączonych <b>🔍 Skanerów urządzeń</b>.", "Settings_device_Scanners_desync_popup": "Harmonogramy skanerów urządzeń (<code>*_RUN_SCHD</code>) są różne. Może to prowadzić do niespójnych powiadomień o statusie online/offline urządzeń. Jeśli nie jest to zamierzone, proszę używać tego samego harmonogramu dla wszystkich włączonych <b>🔍 Skanerów urządzeń</b>.",
"Speedtest_Results": "Wyniki testu prędkości", "Speedtest_Results": "Wyniki testu prędkości",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "Procesor CPU", "Systeminfo_CPU": "Procesor CPU",
"Systeminfo_CPU_Cores": "Rdzenie CPU:", "Systeminfo_CPU_Cores": "Rdzenie CPU:",
"Systeminfo_CPU_Name": "Nazwa procesora CPU:", "Systeminfo_CPU_Name": "Nazwa procesora CPU:",
@@ -755,4 +757,4 @@
"settings_system_label": "System", "settings_system_label": "System",
"settings_update_item_warning": "Zaktualizuj wartość poniżej. Uważaj, aby zachować poprzedni format. <b>Walidacja nie jest wykonywana.</b>", "settings_update_item_warning": "Zaktualizuj wartość poniżej. Uważaj, aby zachować poprzedni format. <b>Walidacja nie jest wykonywana.</b>",
"test_event_tooltip": "Najpierw zapisz swoje zmiany, zanim przetestujesz ustawienia." "test_event_tooltip": "Najpierw zapisz swoje zmiany, zanim przetestujesz ustawienia."
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Selecionar para pré-visualizar", "Gen_SelectToPreview": "Selecionar para pré-visualizar",
"Gen_Selected_Devices": "Dispositivos selecionados:", "Gen_Selected_Devices": "Dispositivos selecionados:",
"Gen_Subnet": "",
"Gen_Switch": "Trocar", "Gen_Switch": "Trocar",
"Gen_Upd": "Atualizado com sucesso", "Gen_Upd": "Atualizado com sucesso",
"Gen_Upd_Fail": "A atualização falhou", "Gen_Upd_Fail": "A atualização falhou",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "", "Settings_device_Scanners_desync": "",
"Settings_device_Scanners_desync_popup": "", "Settings_device_Scanners_desync_popup": "",
"Speedtest_Results": "", "Speedtest_Results": "",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "", "Systeminfo_CPU": "",
"Systeminfo_CPU_Cores": "", "Systeminfo_CPU_Cores": "",
"Systeminfo_CPU_Name": "", "Systeminfo_CPU_Name": "",
@@ -755,4 +757,4 @@
"settings_system_label": "", "settings_system_label": "",
"settings_update_item_warning": "", "settings_update_item_warning": "",
"test_event_tooltip": "Guarde as alterações antes de testar as definições." "test_event_tooltip": "Guarde as alterações antes de testar as definições."
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Выберите для предварительного просмотра", "Gen_SelectToPreview": "Выберите для предварительного просмотра",
"Gen_Selected_Devices": "Выбранные устройства:", "Gen_Selected_Devices": "Выбранные устройства:",
"Gen_Subnet": "",
"Gen_Switch": "Переключить", "Gen_Switch": "Переключить",
"Gen_Upd": "Успешное обновление", "Gen_Upd": "Успешное обновление",
"Gen_Upd_Fail": "Не удалось обновить", "Gen_Upd_Fail": "Не удалось обновить",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ Расписания сканера устройств не синхронизированы.", "Settings_device_Scanners_desync": "⚠ Расписания сканера устройств не синхронизированы.",
"Settings_device_Scanners_desync_popup": "Расписания сканеров устройств (<code>*_RUN_SCHD</code>) не совпадают. Это приведет к несогласованным онлайн/оффлайн уведомлениям устройства. Если это не предусмотрено, используйте одно и то же расписание для всех включенных <b>🔍Сканеров устройств</b>.", "Settings_device_Scanners_desync_popup": "Расписания сканеров устройств (<code>*_RUN_SCHD</code>) не совпадают. Это приведет к несогласованным онлайн/оффлайн уведомлениям устройства. Если это не предусмотрено, используйте одно и то же расписание для всех включенных <b>🔍Сканеров устройств</b>.",
"Speedtest_Results": "Результаты теста скорости", "Speedtest_Results": "Результаты теста скорости",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "Ядра CPU:", "Systeminfo_CPU_Cores": "Ядра CPU:",
"Systeminfo_CPU_Name": "Имя CPU:", "Systeminfo_CPU_Name": "Имя CPU:",
@@ -755,4 +757,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

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Önizleme yapmak için seçin", "Gen_SelectToPreview": "Önizleme yapmak için seçin",
"Gen_Selected_Devices": "Seçilmiş Cihazlar:", "Gen_Selected_Devices": "Seçilmiş Cihazlar:",
"Gen_Subnet": "",
"Gen_Switch": "Switch", "Gen_Switch": "Switch",
"Gen_Upd": "Başarılı bir şekilde güncellendi", "Gen_Upd": "Başarılı bir şekilde güncellendi",
"Gen_Upd_Fail": "Güncelleme işlemi başarısız oldu", "Gen_Upd_Fail": "Güncelleme işlemi başarısız oldu",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "", "Settings_device_Scanners_desync": "",
"Settings_device_Scanners_desync_popup": "", "Settings_device_Scanners_desync_popup": "",
"Speedtest_Results": "", "Speedtest_Results": "",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "", "Systeminfo_CPU": "",
"Systeminfo_CPU_Cores": "", "Systeminfo_CPU_Cores": "",
"Systeminfo_CPU_Name": "", "Systeminfo_CPU_Name": "",
@@ -755,4 +757,4 @@
"settings_system_label": "Sistem", "settings_system_label": "Sistem",
"settings_update_item_warning": "", "settings_update_item_warning": "",
"test_event_tooltip": "" "test_event_tooltip": ""
} }

View File

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "Виберіть для попереднього перегляду", "Gen_SelectToPreview": "Виберіть для попереднього перегляду",
"Gen_Selected_Devices": "Вибрані пристрої:", "Gen_Selected_Devices": "Вибрані пристрої:",
"Gen_Subnet": "",
"Gen_Switch": "Перемикач", "Gen_Switch": "Перемикач",
"Gen_Upd": "Оновлено успішно", "Gen_Upd": "Оновлено успішно",
"Gen_Upd_Fail": "Не вдалося оновити", "Gen_Upd_Fail": "Не вдалося оновити",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ Розклади сканування пристрою не синхронізовані.", "Settings_device_Scanners_desync": "⚠ Розклади сканування пристрою не синхронізовані.",
"Settings_device_Scanners_desync_popup": "Розклади сканерів пристроїв (<code>*_RUN_SCHD</code>) не однакові. Це призведе до непослідовних сповіщень пристрою онлайн/офлайн. Якщо це не передбачено, використовуйте той самий розклад для всіх увімкнених <b>🔍сканерів пристроїв</b>.", "Settings_device_Scanners_desync_popup": "Розклади сканерів пристроїв (<code>*_RUN_SCHD</code>) не однакові. Це призведе до непослідовних сповіщень пристрою онлайн/офлайн. Якщо це не передбачено, використовуйте той самий розклад для всіх увімкнених <b>🔍сканерів пристроїв</b>.",
"Speedtest_Results": "Результати Speedtest", "Speedtest_Results": "Результати Speedtest",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "Ядра ЦП:", "Systeminfo_CPU_Cores": "Ядра ЦП:",
"Systeminfo_CPU_Name": "Назва ЦП:", "Systeminfo_CPU_Name": "Назва ЦП:",
@@ -755,4 +757,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

@@ -326,6 +326,7 @@
"Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>", "Gen_SelectIcon": "<i class=\"fa-solid fa-chevron-down fa-fade\"></i>",
"Gen_SelectToPreview": "选择预览", "Gen_SelectToPreview": "选择预览",
"Gen_Selected_Devices": "选定的设备:", "Gen_Selected_Devices": "选定的设备:",
"Gen_Subnet": "",
"Gen_Switch": "交换", "Gen_Switch": "交换",
"Gen_Upd": "已成功更新", "Gen_Upd": "已成功更新",
"Gen_Upd_Fail": "更新失败", "Gen_Upd_Fail": "更新失败",
@@ -594,6 +595,7 @@
"Settings_device_Scanners_desync": "⚠ 设备扫描计划不同步。", "Settings_device_Scanners_desync": "⚠ 设备扫描计划不同步。",
"Settings_device_Scanners_desync_popup": "设备扫描 (<code>*_RUN_SCHD</code>) 的时间表并不相同。这将导致设备在线/离线通知不一致。除非有意为之,否则请对所有启用的 <b>🔍设备扫描</b> 使用相同的时间表。", "Settings_device_Scanners_desync_popup": "设备扫描 (<code>*_RUN_SCHD</code>) 的时间表并不相同。这将导致设备在线/离线通知不一致。除非有意为之,否则请对所有启用的 <b>🔍设备扫描</b> 使用相同的时间表。",
"Speedtest_Results": "Speedtest 结果", "Speedtest_Results": "Speedtest 结果",
"Systeminfo_AvailableIps": "",
"Systeminfo_CPU": "CPU", "Systeminfo_CPU": "CPU",
"Systeminfo_CPU_Cores": "CPU 核心:", "Systeminfo_CPU_Cores": "CPU 核心:",
"Systeminfo_CPU_Name": "CPU 名称:", "Systeminfo_CPU_Name": "CPU 名称:",
@@ -755,4 +757,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

@@ -203,6 +203,16 @@ echo ' </tbody>
</div> </div>
</div>'; </div>';
// Available IPs ----------------------------------------------------------
echo '<div class="box box-solid">
<div class="box-header">
<h3 class="box-title availableips_headline"><i class="fa fa-list"></i> ' . lang('Systeminfo_AvailableIps') . '</h3>
</div>
<div class="box-body">
<table id="availableIpsTable" class="display" style="width:100%"></table>
</div>
</div>';
// Client ---------------------------------------------------------- // Client ----------------------------------------------------------
echo '<div class="box box-solid"> echo '<div class="box box-solid">
<div class="box-header"> <div class="box-header">
@@ -583,16 +593,109 @@ echo '<br>';
<!-- DataTable initialization --> <!-- DataTable initialization -->
<script> <script>
setTimeout(() => { // --------------------------------------------------------
$('#networkTable').DataTable({ // Available free IPS functionality
searching: true, function inferNetworkRange(usedIps) {
order: [[0, "desc"]], if (!usedIps || usedIps.length === 0) return [];
initComplete: function(settings, json) {
hideSpinner(); // Called after the DataTable is fully initialized const subnetMap = {};
// Group IPs by /24 subnet
for (const ip of usedIps) {
const parts = ip.split('.');
if (parts.length !== 4) continue;
const subnet = `${parts[0]}.${parts[1]}.${parts[2]}`;
if (!subnetMap[subnet]) subnetMap[subnet] = [];
subnetMap[subnet].push(ip);
}
const result = [];
for (const [subnet, ips] of Object.entries(subnetMap)) {
if (ips.length > 5) {
for (let i = 2; i < 255; i++) {
const ip = `${subnet}.${i}`;
result.push({ subnet, ip });
} }
}
}
return result;
}
function fetchUsedIps(callback) {
$.ajax({
url: 'php/server/query_graphql.php',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({
query: `
query devices($options: PageQueryOptionsInput) {
devices(options: $options) {
devices {
devLastIP
}
}
}
`,
variables: {
options: {
status: "all_devices"
}
}
}),
success: function(response) {
console.log(response);
const usedIps = (response?.devices?.devices || [])
.map(d => d.devLastIP)
.filter(ip => ip && ip.includes('.'));
callback(usedIps);
},
error: function(err) {
console.error("Error fetching IPs:", err);
callback([]);
}
}); });
}
function renderAvailableIpsTable(allIps, usedIps) {
const availableIps = allIps.filter(row => !usedIps.includes(row.ip));
console.log(allIps);
console.log(usedIps);
console.log(availableIps);
$('#availableIpsTable').DataTable({
destroy: true,
data: availableIps,
columns: [
{ title: getString("Gen_Subnet"), data: "subnet" },
{ title: getString("Systeminfo_AvailableIps"), data: "ip" }
],
pageLength: 10
});
}
// INIT
$(document).ready(function() {
fetchUsedIps(usedIps => {
const allIps = inferNetworkRange(usedIps);
renderAvailableIpsTable(allIps, usedIps);
});
setTimeout(() => {
$('#networkTable').DataTable({
searching: true,
order: [[0, "desc"]],
initComplete: function(settings, json) {
hideSpinner(); // Called after the DataTable is fully initialized
}
});
}, 200); }, 200);
});
</script> </script>