net refactor

This commit is contained in:
jokob-sk
2025-07-14 11:01:16 +10:00
parent e27af88690
commit 61de54bc34
28 changed files with 126 additions and 364 deletions

View File

@@ -23,11 +23,11 @@ services:
# - ${DEV_LOCATION}/api:/app/api # - ${DEV_LOCATION}/api:/app/api
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# DELETE START anyone trying to use this file: comment out / delete BELOW lines, they are only for development purposes # DELETE START anyone trying to use this file: comment out / delete BELOW lines, they are only for development purposes
- ${APP_DATA_LOCATION}/netalertx/dhcp_samples/dhcp1.leases:/mnt/dhcp1.leases - ${APP_DATA_LOCATION}/netalertx/dhcp_samples/dhcp1.leases:/mnt/dhcp1.leases # test data for DCPLSS plugin
- ${APP_DATA_LOCATION}/netalertx/dhcp_samples/dhcp2.leases:/mnt/dhcp2.leases - ${APP_DATA_LOCATION}/netalertx/dhcp_samples/dhcp2.leases:/mnt/dhcp2.leases # test data for DCPLSS plugin
- ${APP_DATA_LOCATION}/netalertx/dhcp_samples/pihole_dhcp_full.leases:/etc/pihole/dhcp.leases - ${APP_DATA_LOCATION}/netalertx/dhcp_samples/pihole_dhcp_full.leases:/etc/pihole/dhcp.leases # test data for DCPLSS plugin
- ${APP_DATA_LOCATION}/netalertx/dhcp_samples/pihole_dhcp_2.leases:/etc/pihole/dhcp2.leases - ${APP_DATA_LOCATION}/netalertx/dhcp_samples/pihole_dhcp_2.leases:/etc/pihole/dhcp2.leases # test data for DCPLSS plugin
- ${APP_DATA_LOCATION}/pihole/etc-pihole/pihole-FTL.db:/etc/pihole/pihole-FTL.db - ${APP_DATA_LOCATION}/pihole/etc-pihole/pihole-FTL.db:/etc/pihole/pihole-FTL.db # test data for PIHOLE plugin
- ${DEV_LOCATION}/mkdocs.yml:/app/mkdocs.yml - ${DEV_LOCATION}/mkdocs.yml:/app/mkdocs.yml
- ${DEV_LOCATION}/docs:/app/docs - ${DEV_LOCATION}/docs:/app/docs
- ${DEV_LOCATION}/server:/app/server - ${DEV_LOCATION}/server:/app/server

View File

@@ -10,7 +10,7 @@ Check the the HTTP response of the failing backend call by following these steps
- Copy the URL causing the error and enter it in the address bar of your browser directly and hit enter. The copied URLs could look something like this (notice the query strings at the end): - Copy the URL causing the error and enter it in the address bar of your browser directly and hit enter. The copied URLs could look something like this (notice the query strings at the end):
- `http://<NetAlertX URL>:20211/api/table_devices.json?nocache=1704141103121` - `http://<NetAlertX URL>:20211/api/table_devices.json?nocache=1704141103121`
- `http://<NetAlertX URL>:20211/php/server/devices.php?action=getDevicesTotals` - `http://<NetAlertX URL>:20211/php/server/devices.php?action=getDevicesTotals`
- `http://<NetAlertX URL>:20211/php/server/devices.php?action=getDevicesList&status=all`
- Post the error response in the existing issue thread on GitHub or create a new issue and include the redacted response of the failing query. - Post the error response in the existing issue thread on GitHub or create a new issue and include the redacted response of the failing query.

View File

@@ -1790,7 +1790,7 @@ input[readonly] {
.plugin-content #tabs-content-location .plugin-content #tabs-content-location
{ {
margin: 0px; margin: 0px;
/* padding-top: 0; */ padding-top: 0;
} }
.integrations-plugins .content .integrations-plugins .content

View File

@@ -722,7 +722,7 @@ input[type="password"]::-webkit-caps-lock-indicator {
margin-left: 0px; margin-left: 0px;
} }
.small-box:hover .icon { .small-box:hover .icon {
font-size: 3.74em; font-size: 3em;
} }
.small-box .icon { .small-box .icon {
top: 0.01em; top: 0.01em;

View File

@@ -724,7 +724,7 @@
margin-left: 0px; margin-left: 0px;
} }
.small-box:hover .icon { .small-box:hover .icon {
font-size: 3.74em; font-size: 3em;
} }
.small-box .icon { .small-box .icon {
top: 0.01em; top: 0.01em;

View File

@@ -14,7 +14,7 @@
<?= lang("DevDetail_Tab_Tools_Internet_Info_Description") ?> <?= lang("DevDetail_Tab_Tools_Internet_Info_Description") ?>
</h5> </h5>
<br> <br>
<div style="width:100%; text-align: center; margin-bottom: 50px;"> <div style="width:100%; text-align: center;">
<button type="button" id="internetinfo" class="btn btn-primary pa-btn" style="margin: auto;" onclick="internetinfo()"> <button type="button" id="internetinfo" class="btn btn-primary pa-btn" style="margin: auto;" onclick="internetinfo()">
<?= lang("DevDetail_Tab_Tools_Internet_Info_Start") ?></button> <?= lang("DevDetail_Tab_Tools_Internet_Info_Start") ?></button>
<br> <br>
@@ -33,13 +33,13 @@
<?= lang("DevDetail_Copy_Device_Tooltip") ?> <?= lang("DevDetail_Copy_Device_Tooltip") ?>
</h5> </h5>
<br> <br>
<div style="width:100%; text-align: center; margin-bottom: 50px;"> <div style="width:100%; text-align: center;">
<select class="form-control" <select class="form-control"
title="<?= lang('DevDetail_Copy_Device_Tooltip');?>" title="<?= lang('DevDetail_Copy_Device_Tooltip');?>"
id="txtCopyFromDevice" > id="txtCopyFromDevice" >
<option value="lemp_loading" id="lemp_loading">Loading</option> <option value="lemp_loading" id="lemp_loading">Loading</option>
</select> </select>
<button type="button" id="internetinfo" class="btn btn-primary pa-btn" style="margin: auto;" onclick="()"> <button type="button" id="internetinfo" class="btn btn-primary pa-btn" style="margin: auto; margin-top:10px;" onclick="copyFromDevice()">
<?= lang("BackDevDetail_Copy_Title") ?></button> <?= lang("BackDevDetail_Copy_Title") ?></button>
<br> <br>
</div> </div>
@@ -56,7 +56,7 @@
<?= lang("DevDetail_Tools_WOL_noti_text") ?> <?= lang("DevDetail_Tools_WOL_noti_text") ?>
</h5> </h5>
<br> <br>
<div style="width:100%; text-align: center; margin-bottom: 50px;"> <div style="width:100%; text-align: center;">
<button type="button" id="internetinfo" class="btn btn-primary pa-btn" style="margin: auto;" onclick="wakeonlan()"> <button type="button" id="internetinfo" class="btn btn-primary pa-btn" style="margin: auto;" onclick="wakeonlan()">
<?= lang("DevDetail_Tools_WOL_noti") ?></button> <?= lang("DevDetail_Tools_WOL_noti") ?></button>
<br> <br>
@@ -74,7 +74,7 @@
<?= lang("DevDetail_button_DeleteEvents_Warning") ?> <?= lang("DevDetail_button_DeleteEvents_Warning") ?>
</h5> </h5>
<br> <br>
<div style="width:100%; text-align: center; margin-bottom: 50px;"> <div style="width:100%; text-align: center;">
<button type="button" <button type="button"
class="btn btn-default pa-btn pa-btn-delete" class="btn btn-default pa-btn pa-btn-delete"
style="margin-left:0px;" style="margin-left:0px;"
@@ -94,7 +94,7 @@
<?= lang("DevDetail_CustomProps_reset_info") ?> <?= lang("DevDetail_CustomProps_reset_info") ?>
</h5> </h5>
<br> <br>
<div style="width:100%; text-align: center; margin-bottom: 50px;"> <div style="width:100%; text-align: center;">
<button type="button" <button type="button"
class="btn btn-default pa-btn pa-btn-delete" class="btn btn-default pa-btn pa-btn-delete"
style="margin-left:0px;" style="margin-left:0px;"
@@ -116,7 +116,7 @@
<?= lang("DevDetail_Tab_Tools_Speedtest_Description") ?> <?= lang("DevDetail_Tab_Tools_Speedtest_Description") ?>
</h5> </h5>
<br> <br>
<div style="width:100%; text-align: center; margin-bottom: 50px;"> <div style="width:100%; text-align: center;">
<button type="button" id="speedtestcli" class="btn btn-primary pa-btn" style="margin: auto;" onclick="speedtestcli()"> <button type="button" id="speedtestcli" class="btn btn-primary pa-btn" style="margin: auto;" onclick="speedtestcli()">
<?= lang("DevDetail_Tab_Tools_Speedtest_Start") ?></button> <?= lang("DevDetail_Tab_Tools_Speedtest_Start") ?></button>
<br> <br>
@@ -133,7 +133,7 @@
<h5 class=""> <h5 class="">
<?= lang("DevDetail_Tab_Tools_Traceroute_Description") ?> <?= lang("DevDetail_Tab_Tools_Traceroute_Description") ?>
</h5> </h5>
<div style="width:100%; text-align: center; margin-bottom: 50px;"> <div style="width:100%; text-align: center;">
<button type="button" id="traceroute" class="btn btn-primary pa-btn" style="margin: auto;" onclick="traceroute()"> <button type="button" id="traceroute" class="btn btn-primary pa-btn" style="margin: auto;" onclick="traceroute()">
<?= lang("DevDetail_Tab_Tools_Traceroute_Start") ?> <?= lang("DevDetail_Tab_Tools_Traceroute_Start") ?>
</button> </button>
@@ -151,7 +151,7 @@
<h5 class=""> <h5 class="">
<?= lang("DevDetail_Tab_Tools_Nslookup_Description") ?> <?= lang("DevDetail_Tab_Tools_Nslookup_Description") ?>
</h5> </h5>
<div style="width:100%; text-align: center; margin-bottom: 50px;"> <div style="width:100%; text-align: center;">
<button type="button" id="nslookup" class="btn btn-primary pa-btn" style="margin: auto;" onclick="nslookup()"> <button type="button" id="nslookup" class="btn btn-primary pa-btn" style="margin: auto;" onclick="nslookup()">
<?= lang("DevDetail_Tab_Tools_Nslookup_Start") ?> <?= lang("DevDetail_Tab_Tools_Nslookup_Start") ?>
</button> </button>

View File

@@ -1192,22 +1192,46 @@ function generateFormHtml(settingsData, set, overrideValue, overrideOptions, ori
const eventsList = createArray(set['setEvents']); const eventsList = createArray(set['setEvents']);
// inline buttons events // inline buttons events
if (eventsList.length > 0) {
eventsList.forEach(event => {
let eventIcon = "fa-play";
switch (event) {
case "add_icon":
case "add_option":
eventIcon = "fa-square-plus";
break;
case "copy_icons":
eventIcon = "fa-copy";
break;
case "go_to_device":
eventIcon = "fa-square-up-right";
break;
case "go_to_node":
eventIcon = "fa-network-wired";
break;
case "run":
eventIcon = "fa-play";
break;
case "test":
eventIcon = "fa-vial-circle-check";
break;
default:
eventIcon = "fa-play";
break;
}
if (eventsList.length > 0) { eventsHtml += `<span class="input-group-addon pointer"
eventsList.forEach(event => { id="${`${event}_${setKey}`}"
data-myparam-setkey="${setKey}"
eventsHtml += `<span class="input-group-addon pointer" data-myparam="${setKey}"
id="${`${event}_${setKey}`}" data-myparam-plugin="${setKey.split('_')[0] || ''}"
data-myparam-setkey="${setKey}" data-myevent="${event}"
data-myparam="${setKey}" onclick="execute_settingEvent(this)">
data-myparam-plugin="${setKey.split('_')[0] || ''}" <i title="${getString(event + "_event_tooltip")}" class="fa ${eventIcon}"></i>
data-myevent="${event}" </span>`;
onclick="execute_settingEvent(this)"> });
<i title="${getString(event + "_event_tooltip")}" class="fa ${getString(event + "_event_icon")}"></i> }
</span>`;
});
}
// Combine and return the final HTML // Combine and return the final HTML
return inputHtml + eventsHtml; return inputHtml + eventsHtml;

View File

@@ -339,6 +339,7 @@ function execute_settingEvent(element) {
feSetKey = $(element).attr('data-myparam-setkey'); feSetKey = $(element).attr('data-myparam-setkey');
feParam = $(element).attr('data-myparam'); feParam = $(element).attr('data-myparam');
feSourceId = $(element).attr('id'); feSourceId = $(element).attr('id');
feValue = $("#"+feSetKey).val();
if (["test", "run"].includes(feEvent)) { if (["test", "run"].includes(feEvent)) {
// Calls a backend function to add a front-end event (specified by the attributes 'data-myevent' and 'data-myparam-plugin' on the passed element) to an execution queue // Calls a backend function to add a front-end event (specified by the attributes 'data-myevent' and 'data-myparam-plugin' on the passed element) to an execution queue
@@ -391,9 +392,12 @@ function execute_settingEvent(element) {
getString('Gen_Okay'), getString('Gen_Okay'),
'overwriteIconType' 'overwriteIconType'
); );
} else if (["go_to_device"].includes(feEvent)) {
goToDevice(feValue);
} else if (["go_to_node"].includes(feEvent)) { } else if (["go_to_node"].includes(feEvent)) {
goToNetworkNode('NEWDEV_devParentMAC'); goToNetworkNode(feValue);
} else { } else {
console.warn(`🔺Not implemented: ${feEvent}`) console.warn(`🔺Not implemented: ${feEvent}`)
@@ -405,13 +409,20 @@ function execute_settingEvent(element) {
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// Go to the correct network node in the Network section // Go to the correct network node in the Network section
function goToNetworkNode(dropdownId) function goToNetworkNode(mac)
{ {
setCache('activeNetworkTab', $('#'+dropdownId).val().replaceAll(":","_")+'_id'); setCache('activeNetworkTab', mac.replaceAll(":","_")+'_id');
window.location.href = './network.php'; window.location.href = './network.php';
} }
// -----------------------------------------------------------------------------
// Go to the device
function goToDevice(mac)
{
window.location.href = './deviceDetails.php?mac=' + mac;
}
// -------------------------------------------------------- // --------------------------------------------------------
// Updating the execution queue in in modal pop-up // Updating the execution queue in in modal pop-up
@@ -678,9 +689,6 @@ function initSelect2() {
$(container).addClass(badge.cssClass); $(container).addClass(badge.cssClass);
// Custom HTML // Custom HTML
const html = $(` const html = $(`
<a href="${badge.url}" target="_blank"> <a href="${badge.url}" target="_blank">
@@ -694,7 +702,6 @@ function initSelect2() {
</a> </a>
`); `);
return html; return html;
}, },
escapeMarkup: function (m) { escapeMarkup: function (m) {
@@ -732,7 +739,7 @@ function initSelect2() {
{ {
setTimeout(() => { setTimeout(() => {
initSelect2() initSelect2()
}, 500); }, 700);
} }
} }

View File

@@ -77,7 +77,7 @@
settingsData = res["data"]; settingsData = res["data"];
excludedColumns = ["NEWDEV_devMac", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection", "NEWDEV_devLastNotification", "NEWDEV_devScan", "NEWDEV_devPresentLastScan", "NEWDEV_devCustomProps" ] excludedColumns = ["NEWDEV_devMac", "NEWDEV_devFirstConnection", "NEWDEV_devLastConnection", "NEWDEV_devLastNotification", "NEWDEV_devScan", "NEWDEV_devPresentLastScan", "NEWDEV_devCustomProps", "NEWDEV_devChildrenNicsDynamic", "NEWDEV_devChildrenDynamic" ]
const relevantColumns = settingsData.filter(set => const relevantColumns = settingsData.filter(set =>
set.setGroup === "NEWDEV" && set.setGroup === "NEWDEV" &&

View File

@@ -463,12 +463,19 @@
<script src="lib/treeviz/bundle.js"></script> <script src="lib/treeviz/bundle.js"></script>
<script defer> <script defer>
$.get('php/server/devices.php?action=getDevicesList&status=all&forceDefaultOrder', function(data) { const apiUrl = `php/server/dbHelper.php?action=read&rawSql=${btoa(encodeURIComponent(
`select *, CASE WHEN devAlertDown !=0 AND devPresentLastScan=0 THEN "Down"
WHEN devPresentLastScan=1 THEN "On-line"
ELSE "Off-line" END as devStatus
from Devices`))}`;
$.get(apiUrl, function (data) {
rawData = JSON.parse (data) rawData = JSON.parse (data)
console.log(rawData);
if(rawData["data"] == "") if(rawData["data"] == "")
{ {
showModalOK (getString('Gen_Warning'), getString('Network_NoDevices')) showModalOK (getString('Gen_Warning'), getString('Network_NoDevices'))
@@ -478,38 +485,26 @@
orderTopologyBy = createArray(getSetting("UI_TOPOLOGY_ORDER")) orderTopologyBy = createArray(getSetting("UI_TOPOLOGY_ORDER"))
devicesListnew = rawData["data"].map(item => { devicesListnew = rawData.sort((a, b) => {
return {
"name": item[0],
"type": item[2],
"icon": item[3],
"mac": item[11],
"parentMac": item[14],
"rowid": item[13],
"status": item[10],
"childrenQty": item[15],
"port": item[18]
};
}).sort((a, b) => {
// Helper to safely parse port into an integer; invalid ports become Infinity for sorting // Helper to safely parse port into an integer; invalid ports become Infinity for sorting
const parsePort = (port) => { const parsePort = (devParentPort) => {
const parsed = parseInt(port, 10); const parsed = parseInt(devParentPort, 10);
return isNaN(parsed) ? Infinity : parsed; return isNaN(parsed) ? Infinity : parsed;
}; };
switch (orderTopologyBy[0]) { switch (orderTopologyBy[0]) {
case "Name": case "Name":
// First sort by name alphabetically // First sort by name alphabetically
const nameCompare = a.name.localeCompare(b.name); const nameCompare = a.devName.localeCompare(b.devName);
if (nameCompare !== 0) { if (nameCompare !== 0) {
return nameCompare; return nameCompare;
} }
// If names are the same, sort by port numerically // If names are the same, sort by port numerically
return parsePort(a.port) - parsePort(b.port); return parsePort(a.devParentPort) - parsePort(b.devParentPort);
case "Port": case "Port":
// Sort by port numerically // Sort by port numerically
return parsePort(a.port) - parsePort(b.port); return parsePort(a.devParentPort) - parsePort(b.devParentPort);
default: default:
// Default: Sort by rowid (as a fallback) // Default: Sort by rowid (as a fallback)
@@ -544,9 +539,6 @@ var hiddenMacs = []; // hidden children
var hiddenChildren = []; var hiddenChildren = [];
var deviceListGlobal = null; var deviceListGlobal = null;
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Recursively get children nodes and build a tree // Recursively get children nodes and build a tree
function getChildren(node, list, path, visited = []) function getChildren(node, list, path, visited = [])
@@ -554,23 +546,23 @@ function getChildren(node, list, path, visited = [])
var children = []; var children = [];
// Check for infinite recursion by seeing if the node has been visited before // Check for infinite recursion by seeing if the node has been visited before
if (visited.includes(node.mac.toLowerCase())) { if (visited.includes(node.devMac.toLowerCase())) {
console.error("Infinite recursion detected at node:", node.mac); console.error("Infinite recursion detected at node:", node.devMac);
write_notification("[ERROR] ⚠ Infinite recursion detected. You probably have assigned the Internet node to another children node or to itself. Please open a new issue on GitHub and describe how you did it.", 'interrupt') write_notification("[ERROR] ⚠ Infinite recursion detected. You probably have assigned the Internet node to another children node or to itself. Please open a new issue on GitHub and describe how you did it.", 'interrupt')
return { error: "Infinite recursion detected", node: node.mac }; return { error: "Infinite recursion detected", node: node.devMac };
} }
// Add current node to visited list // Add current node to visited list
visited.push(node.mac.toLowerCase()); visited.push(node.devMac.toLowerCase());
// Loop through all items to find children of the current node // Loop through all items to find children of the current node
for (var i in list) { for (var i in list) {
if (list[i].parentMac.toLowerCase() == node.mac.toLowerCase() && !hiddenMacs.includes(list[i].parentMac)) { if (list[i].devParentMAC.toLowerCase() == node.devMac.toLowerCase() && !hiddenMacs.includes(list[i].devParentMAC)) {
visibleNodesCount++; visibleNodesCount++;
// Process children recursively, passing a copy of the visited list // Process children recursively, passing a copy of the visited list
children.push(getChildren(list[i], list, path + ((path == "") ? "" : '|') + list[i].parentMac, visited)); children.push(getChildren(list[i], list, path + ((path == "") ? "" : '|') + list[i].devParentMAC, visited));
} }
} }
@@ -582,16 +574,17 @@ function getChildren(node, list, path, visited = [])
} }
return { return {
name: node.name, name: node.devName,
path: path, path: path,
mac: node.mac, mac: node.devMac,
port: node.port, port: node.devParentPort,
id: node.mac, id: node.devMac,
parentMac: node.parentMac, parentMac: node.devParentMAC,
icon: node.icon, icon: node.devIcon,
type: node.type, type: node.devType,
status: node.status, status: node.devStatus,
hasChildren: children.length > 0 || hiddenMacs.includes(node.mac), hasChildren: children.length > 0 || hiddenMacs.includes(node.mac),
relType: node.devParentRelType,
hiddenChildren: hiddenMacs.includes(node.mac), hiddenChildren: hiddenMacs.includes(node.mac),
qty: children.length, qty: children.length,
children: children children: children
@@ -603,7 +596,7 @@ function getHierarchy()
{ {
for(i in deviceListGlobal) for(i in deviceListGlobal)
{ {
if(deviceListGlobal[i].mac == 'Internet') if(deviceListGlobal[i].devMac == 'Internet')
{ {
return (getChildren(deviceListGlobal[i], deviceListGlobal, '')) return (getChildren(deviceListGlobal[i], deviceListGlobal, ''))
break; break;
@@ -611,56 +604,6 @@ function getHierarchy()
} }
} }
// ---------------------------------------------------------------------------
function getFlatData() {
var result = [];
var leafNodesCount = 0;
var parentNodesCount = 0;
var visibleNodesCount = 0;
for (let node of deviceListGlobal) {
let path = "";
let childrenCount = 0;
// count children of this node
for (let nodeTmp of deviceListGlobal) {
if (nodeTmp.parentMac === node.mac) {
childrenCount++;
}
}
// store parent and leaf node count
if (childrenCount === 0) {
leafNodesCount++;
} else {
parentNodesCount++;
}
if (!hiddenMacs.includes(node.parentMac)) {
if (!((node.parentMac == "") && node.mac != "Internet")) { // skip leaf nodes without father that are not the root
visibleNodesCount++;
result.push({
name: node.name,
path: path,
mac: node.mac, // Replacing "mac" with "id"
parentMac: node.mac == "Internet" ? "" : node.parentMac, // Replacing "parentMac" with "father"
port: node.port,
icon: node.icon,
type: node.type,
status: node.status,
hasChildren: childrenCount > 0 || hiddenMacs.includes(node.mac),
hiddenChildren: hiddenMacs.includes(node.mac),
qty: childrenCount,
});
}
}
}
return result;
}
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
function toggleSubTree(parentMac, treePath) function toggleSubTree(parentMac, treePath)
{ {
@@ -832,7 +775,21 @@ function initTree(myHierarchy)
hasFlatData: false, hasFlatData: false,
relationnalField: "children", relationnalField: "children",
linkWidth: (nodeData) => 3, linkWidth: (nodeData) => 3,
linkColor: (nodeData) => "#ffcc80" linkColor: (nodeData) => {
switch (nodeData.data.relType) {
case "default":
return "#ffcc80"; // yellow
break;
case "nic":
return "#dd4b39"; // red
break;
default:
return "#ffcc80";
break;
}
}
// onNodeClick: (nodeData) => handleNodeClick(nodeData), // onNodeClick: (nodeData) => handleNodeClick(nodeData),
}); });

View File

@@ -63,7 +63,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/php/templates/security.php';
} }
if (isset ($_REQUEST['rawSql'])) { if (isset ($_REQUEST['rawSql'])) {
$rawSql = urldecode(base64_decode($_REQUEST['rawSql'])); $rawSql = urldecode(base64_decode($_REQUEST['rawSql'])); // base64 encoded SQL
} }
if (isset ($_REQUEST['dbtable'])) { if (isset ($_REQUEST['dbtable'])) {

View File

@@ -26,7 +26,7 @@
if (isset ($_REQUEST['action']) && !empty ($_REQUEST['action'])) { if (isset ($_REQUEST['action']) && !empty ($_REQUEST['action'])) {
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
switch ($action) { switch ($action) {
case 'getServerDeviceData': getServerDeviceData(); break; case 'getServerDeviceData': getServerDeviceData(); break;
case 'setDeviceData': setDeviceData(); break; case 'setDeviceData': setDeviceData(); break;
case 'deleteDevice': deleteDevice(); break; case 'deleteDevice': deleteDevice(); break;
case 'deleteAllWithEmptyMACs': deleteAllWithEmptyMACs(); break; case 'deleteAllWithEmptyMACs': deleteAllWithEmptyMACs(); break;
@@ -45,8 +45,7 @@
case 'ImportCSV': ImportCSV(); break; case 'ImportCSV': ImportCSV(); break;
case 'getDevicesTotals': getDevicesTotals(); break; case 'getDevicesTotals': getDevicesTotals(); break;
case 'getDevicesList': getDevicesList(); break; case 'getDevicesListCalendar': getDevicesListCalendar(); break; //todo: slowly deprecate this
case 'getDevicesListCalendar': getDevicesListCalendar(); break;
case 'updateNetworkLeaf': updateNetworkLeaf(); break; case 'updateNetworkLeaf': updateNetworkLeaf(); break;
case 'overwriteIconType': overwriteIconType(); break; case 'overwriteIconType': overwriteIconType(); break;
@@ -778,143 +777,6 @@ function getDevicesTotals() {
echo ($resultJSON); echo ($resultJSON);
} }
//------------------------------------------------------------------------------
// Query the List of devices in a determined Status
//------------------------------------------------------------------------------
function getDevicesList() {
global $db;
$forceDefaultOrder = FALSE;
if (isset ($_REQUEST['forceDefaultOrder']) )
{
$forceDefaultOrder = TRUE;
}
// This object is used to map from the old order ( second parameter, first number) to the new mapping, that is represented by the 3rd parameter (Second number)
$columnOrderMapping = array(
array("devName", 0, 0),
array("devOwner", 1, 1),
array("devType", 2, 2),
array("devIcon", 3, 3),
array("devFavorite", 4, 4),
array("devGroup", 5, 5),
array("devFirstConnection", 6, 6),
array("devLastConnection", 7, 7),
array("devLastIP", 8, 8),
array("devMac", 9, 9),
array("devStatus", 10, 10),
array("devMac_full", 11, 11),
array("devLastIP_orderable", 12, 12),
array("rowid", 13, 13),
array("devParentMAC", 14, 14),
array("connected_devices", 15, 15),
array("devLocation", 16, 16),
array("devVendor", 17, 17),
array("devParentPort", 18, 18),
array("devGUID", 19, 19),
array("devSyncHubNode", 20, 20),
array("devSite", 21, 21),
array("devSSID", 22, 22),
array("devSourcePlugin", 23, 23)
);
if($forceDefaultOrder == FALSE)
{
// get device columns order
$sql = 'SELECT par_Value FROM Parameters where par_ID = "Front_Devices_Columns_Order"';
$result = $db->query($sql);
$row = $result -> fetchArray (SQLITE3_NUM);
if($row != NULL && count($row) == 1)
{
// ordered columns setting from the maintenance page
$orderedColumns = createArray($row[0]);
// init ordered columns
for($i = 0; $i < count($orderedColumns); $i++) {
$columnOrderMapping[$i][2] = $orderedColumns[$i];
}
}
}
// SQL
$condition = getDeviceCondition ($_REQUEST['status']);
$sql = 'SELECT * FROM (
SELECT rowid, *, CASE
WHEN t1.devAlertDown !=0 AND t1.devPresentLastScan=0 THEN "Down"
WHEN t1.devIsNew=1 THEN "New"
WHEN t1.devPresentLastScan=1 THEN "On-line"
ELSE "Off-line" END AS devStatus
FROM Devices t1 '.$condition.') t3
LEFT JOIN
(
SELECT devParentMAC as devParentMAC_t2, devMac as devMac_t2,
count() as connected_devices
FROM Devices b
WHERE b.devParentMAC NOT NULL group by b.devParentMAC
) t2
ON (t3.devMac = t2.devParentMAC_t2);';
$result = $db->query($sql);
// arrays of rows
$tableData = array();
while ($row = $result -> fetchArray (SQLITE3_ASSOC)) {
$defaultOrder = array (
$row['devName'],
$row['devOwner'],
handleNull($row['devType']),
handleNull($row['devIcon'], "PGkgY2xhc3M9J2ZhIGZhLWxhcHRvcCc+PC9pPg=="), // laptop icon
$row['devFavorite'],
$row['devGroup'],
// ----
formatDate ($row['devFirstConnection']),
formatDate ($row['devLastConnection']),
$row['devLastIP'],
( isRandomMAC($row['devMac']) ),
$row['devStatus'],
$row['devMac'], // MAC (hidden)
formatIPlong ($row['devLastIP']), // IP orderable
$row['rowid'], // Rowid (hidden)
handleNull($row['devParentMAC']),
handleNull($row['connected_devices']),
handleNull($row['devLocation']),
handleNull($row['devVendor']),
handleNull($row['devParentPort']),
handleNull($row['devGUID']),
handleNull($row['devSyncHubNode']),
handleNull($row['devSite']),
handleNull($row['devSSID']),
handleNull($row['devSourcePlugin'])
);
$newOrder = array();
// reorder columns based on user settings
for($index = 0; $index < count($columnOrderMapping); $index++)
{
array_push($newOrder, $defaultOrder[$columnOrderMapping[$index][2]]);
}
$tableData['data'][] = $newOrder;
}
// Control no rows
if (empty($tableData['data'])) {
$tableData['data'] = '';
}
// Return json
echo (json_encode ($tableData));
}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// Determine if Random MAC // Determine if Random MAC
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@@ -709,23 +709,18 @@
"WF_Trigger": "المشغل", "WF_Trigger": "المشغل",
"WF_Trigger_event_type": "نوع حدث المشغل", "WF_Trigger_event_type": "نوع حدث المشغل",
"WF_Trigger_type": "نوع المشغل", "WF_Trigger_type": "نوع المشغل",
"add_icon_event_icon": "أيقونة إضافة أيقونة",
"add_icon_event_tooltip": "تلميح إضافة أيقونة", "add_icon_event_tooltip": "تلميح إضافة أيقونة",
"add_option_event_icon": "أيقونة إضافة خيار",
"add_option_event_tooltip": "تلميح إضافة خيار", "add_option_event_tooltip": "تلميح إضافة خيار",
"copy_icons_event_icon": "أيقونة نسخ الأيقونات",
"copy_icons_event_tooltip": "تلميح نسخ الأيقونات", "copy_icons_event_tooltip": "تلميح نسخ الأيقونات",
"devices_old": "الأجهزة القديمة", "devices_old": "الأجهزة القديمة",
"general_event_description": "وصف الحدث العام", "general_event_description": "وصف الحدث العام",
"general_event_title": "عنوان الحدث العام", "general_event_title": "عنوان الحدث العام",
"go_to_node_event_icon": "أيقونة الانتقال إلى العقدة",
"go_to_node_event_tooltip": "تلميح الانتقال إلى العقدة", "go_to_node_event_tooltip": "تلميح الانتقال إلى العقدة",
"new_version_available": "يتوفر إصدار جديد", "new_version_available": "يتوفر إصدار جديد",
"report_guid": "معرف التقرير", "report_guid": "معرف التقرير",
"report_guid_missing": "معرف التقرير مفقود", "report_guid_missing": "معرف التقرير مفقود",
"report_select_format": "اختر تنسيق التقرير", "report_select_format": "اختر تنسيق التقرير",
"report_time": "وقت التقرير", "report_time": "وقت التقرير",
"run_event_icon": "أيقونة تشغيل الحدث",
"run_event_tooltip": "تلميح تشغيل الحدث", "run_event_tooltip": "تلميح تشغيل الحدث",
"settings_core_icon": "أيقونة الإعدادات الأساسية", "settings_core_icon": "أيقونة الإعدادات الأساسية",
"settings_core_label": "تسمية الإعدادات الأساسية", "settings_core_label": "تسمية الإعدادات الأساسية",
@@ -753,6 +748,5 @@
"settings_system_icon": "أيقونة النظام", "settings_system_icon": "أيقونة النظام",
"settings_system_label": "تسمية النظام", "settings_system_label": "تسمية النظام",
"settings_update_item_warning": "تحذير تحديث العنصر", "settings_update_item_warning": "تحذير تحديث العنصر",
"test_event_icon": "أيقونة اختبار الحدث",
"test_event_tooltip": "تلميح اختبار الحدث" "test_event_tooltip": "تلميح اختبار الحدث"
} }

View File

@@ -709,23 +709,18 @@
"WF_Trigger": "Disparador(Trigger)", "WF_Trigger": "Disparador(Trigger)",
"WF_Trigger_event_type": "Tipus d'esdeveniment", "WF_Trigger_event_type": "Tipus d'esdeveniment",
"WF_Trigger_type": "Tipus de disparador", "WF_Trigger_type": "Tipus de disparador",
"add_icon_event_icon": "fa-square-plus",
"add_icon_event_tooltip": "Afegir nova icona", "add_icon_event_tooltip": "Afegir nova icona",
"add_option_event_icon": "fa-square-plus",
"add_option_event_tooltip": "Afegir nou valor", "add_option_event_tooltip": "Afegir nou valor",
"copy_icons_event_icon": "fa-copy",
"copy_icons_event_tooltip": "Sobreescriure icones de tots els dispositius amb el mateix tipus de dispositiu", "copy_icons_event_tooltip": "Sobreescriure icones de tots els dispositius amb el mateix tipus de dispositiu",
"devices_old": "Refrescant...", "devices_old": "Refrescant...",
"general_event_description": "L'esdeveniment que has desencadenat pot trigar un temps fins que acabin els processos de fons. L'execució acabarà una cop buida la cua d'execució (Comprova el registre d'errors <a href='/maintenance.php#tab_Logging'></a> si hi ha problemes). <br/> <br/> Cua d'execució:", "general_event_description": "L'esdeveniment que has desencadenat pot trigar un temps fins que acabin els processos de fons. L'execució acabarà una cop buida la cua d'execució (Comprova el registre d'errors <a href='/maintenance.php#tab_Logging'></a> si hi ha problemes). <br/> <br/> Cua d'execució:",
"general_event_title": "Execució d'un esdeveniment ad-hoc", "general_event_title": "Execució d'un esdeveniment ad-hoc",
"go_to_node_event_icon": "fa-square-up-right",
"go_to_node_event_tooltip": "Navegació a la pàgina de la Xarxa del node donat", "go_to_node_event_tooltip": "Navegació a la pàgina de la Xarxa del node donat",
"new_version_available": "Ja està disponible una nova versió.", "new_version_available": "Ja està disponible una nova versió.",
"report_guid": "Notificació guid:", "report_guid": "Notificació guid:",
"report_guid_missing": "No s'ha trobat la notificació enllaçada. Hi ha un petit retard entre les notificacions enviades recentment i que estiguin disponibles. Refresqui la pàgina i la memòria cau d'aquí uns segons. També és possible que la notificació seleccionada s'hagi esborrat durant el manteniment tal com s'especifica a la configuració <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/>L'última notificació es mostra en el seu lloc. La notificació perduda té el següent GUID:", "report_guid_missing": "No s'ha trobat la notificació enllaçada. Hi ha un petit retard entre les notificacions enviades recentment i que estiguin disponibles. Refresqui la pàgina i la memòria cau d'aquí uns segons. També és possible que la notificació seleccionada s'hagi esborrat durant el manteniment tal com s'especifica a la configuració <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/>L'última notificació es mostra en el seu lloc. La notificació perduda té el següent GUID:",
"report_select_format": "Seleccioneu Format:", "report_select_format": "Seleccioneu Format:",
"report_time": "Data de recepció:", "report_time": "Data de recepció:",
"run_event_icon": "fa-play",
"run_event_tooltip": "Habiliteu la configuració i deseu els canvis al principi abans d'executar-lo.", "run_event_tooltip": "Habiliteu la configuració i deseu els canvis al principi abans d'executar-lo.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Nucli", "settings_core_label": "Nucli",
@@ -753,6 +748,5 @@
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"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_icon": "fa-vial-circle-check",
"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

@@ -709,23 +709,18 @@
"WF_Trigger": "", "WF_Trigger": "",
"WF_Trigger_event_type": "", "WF_Trigger_event_type": "",
"WF_Trigger_type": "", "WF_Trigger_type": "",
"add_icon_event_icon": "fa-square-plus",
"add_icon_event_tooltip": "Přidat novou ikonu", "add_icon_event_tooltip": "Přidat novou ikonu",
"add_option_event_icon": "fa-square-plus",
"add_option_event_tooltip": "Přidat novou hodnotu", "add_option_event_tooltip": "Přidat novou hodnotu",
"copy_icons_event_icon": "fa-copy",
"copy_icons_event_tooltip": "Přepiš ikony všech zařízení za stejný typ zařízení", "copy_icons_event_tooltip": "Přepiš ikony všech zařízení za stejný typ zařízení",
"devices_old": "Obnovuji…", "devices_old": "Obnovuji…",
"general_event_description": "", "general_event_description": "",
"general_event_title": "", "general_event_title": "",
"go_to_node_event_icon": "",
"go_to_node_event_tooltip": "", "go_to_node_event_tooltip": "",
"new_version_available": "", "new_version_available": "",
"report_guid": "", "report_guid": "",
"report_guid_missing": "", "report_guid_missing": "",
"report_select_format": "", "report_select_format": "",
"report_time": "", "report_time": "",
"run_event_icon": "",
"run_event_tooltip": "", "run_event_tooltip": "",
"settings_core_icon": "", "settings_core_icon": "",
"settings_core_label": "", "settings_core_label": "",
@@ -753,6 +748,5 @@
"settings_system_icon": "", "settings_system_icon": "",
"settings_system_label": "", "settings_system_label": "",
"settings_update_item_warning": "", "settings_update_item_warning": "",
"test_event_icon": "",
"test_event_tooltip": "" "test_event_tooltip": ""
} }

View File

@@ -790,23 +790,18 @@
"WF_Trigger_type": "Auslösertyp", "WF_Trigger_type": "Auslösertyp",
"Webhooks_display_name": "Webhooks", "Webhooks_display_name": "Webhooks",
"Webhooks_icon": "<i class=\"fa fa-circle-nodes\"></i>", "Webhooks_icon": "<i class=\"fa fa-circle-nodes\"></i>",
"add_icon_event_icon": "",
"add_icon_event_tooltip": "Neues Symbol hinzufügen", "add_icon_event_tooltip": "Neues Symbol hinzufügen",
"add_option_event_icon": "",
"add_option_event_tooltip": "Neuen Wert hinzufügen", "add_option_event_tooltip": "Neuen Wert hinzufügen",
"copy_icons_event_icon": "",
"copy_icons_event_tooltip": "Icons aller Geräte mit demselben Gerätetyp überschreiben", "copy_icons_event_tooltip": "Icons aller Geräte mit demselben Gerätetyp überschreiben",
"devices_old": "Aktualisiert...", "devices_old": "Aktualisiert...",
"general_event_description": "Das Ereignis, das Sie ausgelöst haben, könnte eine Weile dauern, bis Hintergrundprozesse abgeschlossen sind. Die Ausführung endet, wenn die unten ausgeführte Warteschlangen abgearbeitet ist. (Siehe <a href='/maintenance.php#tab_Logging'>error log</a>, wenn Probleme auftreten.)<br/> <br/> Ausführungsschlange:", "general_event_description": "Das Ereignis, das Sie ausgelöst haben, könnte eine Weile dauern, bis Hintergrundprozesse abgeschlossen sind. Die Ausführung endet, wenn die unten ausgeführte Warteschlangen abgearbeitet ist. (Siehe <a href='/maintenance.php#tab_Logging'>error log</a>, wenn Probleme auftreten.)<br/> <br/> Ausführungsschlange:",
"general_event_title": "", "general_event_title": "",
"go_to_node_event_icon": "",
"go_to_node_event_tooltip": "", "go_to_node_event_tooltip": "",
"new_version_available": "Es ist eine neue Version verfügbar.", "new_version_available": "Es ist eine neue Version verfügbar.",
"report_guid": "", "report_guid": "",
"report_guid_missing": "", "report_guid_missing": "",
"report_select_format": "Format auswählen:", "report_select_format": "Format auswählen:",
"report_time": "Benachrichtigungszeit:", "report_time": "Benachrichtigungszeit:",
"run_event_icon": "",
"run_event_tooltip": "Aktiviere die Einstellung und speichere deine Änderungen, bevor du sie ausführst.", "run_event_tooltip": "Aktiviere die Einstellung und speichere deine Änderungen, bevor du sie ausführst.",
"settings_core_icon": "", "settings_core_icon": "",
"settings_core_label": "Kern", "settings_core_label": "Kern",
@@ -834,6 +829,5 @@
"settings_system_icon": "", "settings_system_icon": "",
"settings_system_label": "System", "settings_system_label": "System",
"settings_update_item_warning": "", "settings_update_item_warning": "",
"test_event_icon": "",
"test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen." "test_event_tooltip": "Speichere die Änderungen, bevor Sie die Einstellungen testen."
} }

View File

@@ -709,23 +709,19 @@
"WF_Trigger": "Trigger", "WF_Trigger": "Trigger",
"WF_Trigger_event_type": "Event type", "WF_Trigger_event_type": "Event type",
"WF_Trigger_type": "Trigger type", "WF_Trigger_type": "Trigger type",
"add_icon_event_icon": "fa-square-plus",
"add_icon_event_tooltip": "Add new icon", "add_icon_event_tooltip": "Add new icon",
"add_option_event_icon": "fa-square-plus",
"add_option_event_tooltip": "Add new value", "add_option_event_tooltip": "Add new value",
"copy_icons_event_icon": "fa-copy",
"copy_icons_event_tooltip": "Overwrite icons of all devices with the same device type", "copy_icons_event_tooltip": "Overwrite icons of all devices with the same device type",
"devices_old": "Refreshing…", "devices_old": "Refreshing…",
"general_event_description": "The event you have triggered might take a while until background processes finish. The execution ended once the below execution queue empties (Check the <a href='/maintenance.php#tab_Logging'>error log</a> if you encounter issues). <br/> <br/> Execution queue:", "general_event_description": "The event you have triggered might take a while until background processes finish. The execution ended once the below execution queue empties (Check the <a href='/maintenance.php#tab_Logging'>error log</a> if you encounter issues). <br/> <br/> Execution queue:",
"general_event_title": "Executing an ad-hoc event", "general_event_title": "Executing an ad-hoc event",
"go_to_node_event_icon": "fa-square-up-right",
"go_to_node_event_tooltip": "Navigate to the Network page of the given node", "go_to_node_event_tooltip": "Navigate to the Network page of the given node",
"go_to_device_event_tooltip": "Navigate to the Device",
"new_version_available": "A new version is available.", "new_version_available": "A new version is available.",
"report_guid": "Notification guid:", "report_guid": "Notification guid:",
"report_guid_missing": "Linked notification not found. There is a small delay between recently sent notifications and them being available. Referesh your page and cache after a few seconds. It's also possible the selected notification have been deleted during maintenance as specified in the <code>DBCLNP_NOTIFI_HIST</code> setting. <br/> <br/>The latest notification is displayed instead. The missing notification has the following GUID:", "report_guid_missing": "Linked notification not found. There is a small delay between recently sent notifications and them being available. Referesh your page and cache after a few seconds. It's also possible the selected notification have been deleted during maintenance as specified in the <code>DBCLNP_NOTIFI_HIST</code> setting. <br/> <br/>The latest notification is displayed instead. The missing notification has the following GUID:",
"report_select_format": "Select Format:", "report_select_format": "Select Format:",
"report_time": "Notification time:", "report_time": "Notification time:",
"run_event_icon": "fa-play",
"run_event_tooltip": "Enable the setting and save your changes at first before you run it.", "run_event_tooltip": "Enable the setting and save your changes at first before you run it.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Core", "settings_core_label": "Core",
@@ -753,6 +749,5 @@
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"settings_system_label": "System", "settings_system_label": "System",
"settings_update_item_warning": "Update the value below. Be careful to follow the previous format. <b>Validation is not performed.</b>", "settings_update_item_warning": "Update the value below. Be careful to follow the previous format. <b>Validation is not performed.</b>",
"test_event_icon": "fa-vial-circle-check",
"test_event_tooltip": "Save your changes at first before you test your settings." "test_event_tooltip": "Save your changes at first before you test your settings."
} }

View File

@@ -788,23 +788,18 @@
"Webhooks_display_name": "Webhooks", "Webhooks_display_name": "Webhooks",
"Webhooks_icon": "<i class=\"fa fa-circle-nodes\"></i>", "Webhooks_icon": "<i class=\"fa fa-circle-nodes\"></i>",
"Webhooks_settings_group": "<i class=\"fa fa-circle-nodes\"></i> Webhooks", "Webhooks_settings_group": "<i class=\"fa fa-circle-nodes\"></i> Webhooks",
"add_icon_event_icon": "fa-square-plus",
"add_icon_event_tooltip": "Agregar nuevo icono", "add_icon_event_tooltip": "Agregar nuevo icono",
"add_option_event_icon": "fa-square-plus",
"add_option_event_tooltip": "Añadir nuevo valor", "add_option_event_tooltip": "Añadir nuevo valor",
"copy_icons_event_icon": "fa-copy",
"copy_icons_event_tooltip": "Sobrescribir los iconos de todos los dispositivos con el mismo tipo de dispositivo", "copy_icons_event_tooltip": "Sobrescribir los iconos de todos los dispositivos con el mismo tipo de dispositivo",
"devices_old": "Volviendo a actualizar....", "devices_old": "Volviendo a actualizar....",
"general_event_description": "El evento que ha activado puede tardar un poco hasta que finalicen los procesos en segundo plano. La ejecución finalizó una vez que se vacía la cola de ejecución a continuación (consulte el <a href='/maintenance.php#tab_Logging'>registro de errores</a> si encuentra problemas). <br/> <br/> Cola de ejecución:", "general_event_description": "El evento que ha activado puede tardar un poco hasta que finalicen los procesos en segundo plano. La ejecución finalizó una vez que se vacía la cola de ejecución a continuación (consulte el <a href='/maintenance.php#tab_Logging'>registro de errores</a> si encuentra problemas). <br/> <br/> Cola de ejecución:",
"general_event_title": "Ejecutar un evento ad-hoc", "general_event_title": "Ejecutar un evento ad-hoc",
"go_to_node_event_icon": "fa-square-up-right",
"go_to_node_event_tooltip": "Vaya a la página de Red del nodo indicado", "go_to_node_event_tooltip": "Vaya a la página de Red del nodo indicado",
"new_version_available": "Una nueva versión está disponible.", "new_version_available": "Una nueva versión está disponible.",
"report_guid": "Guía de las notificaciones:", "report_guid": "Guía de las notificaciones:",
"report_guid_missing": "No se ha encontrado la notificación vinculada. Hay un pequeño retraso entre las notificaciones enviadas recientemente y su disponibilidad. Actualiza tu página y la caché después de unos segundos. También es posible que la notificación seleccionada se haya eliminado durante el mantenimiento, tal y como se especifica en la configuración <code>de DBCLNP_NOTIFI_HIST</code>. <br/> <br/>En su lugar, se muestra la notificación más reciente. La notificación que falta tiene el siguiente GUID:", "report_guid_missing": "No se ha encontrado la notificación vinculada. Hay un pequeño retraso entre las notificaciones enviadas recientemente y su disponibilidad. Actualiza tu página y la caché después de unos segundos. También es posible que la notificación seleccionada se haya eliminado durante el mantenimiento, tal y como se especifica en la configuración <code>de DBCLNP_NOTIFI_HIST</code>. <br/> <br/>En su lugar, se muestra la notificación más reciente. La notificación que falta tiene el siguiente GUID:",
"report_select_format": "Selecciona el formato:", "report_select_format": "Selecciona el formato:",
"report_time": "Hora de la notificación:", "report_time": "Hora de la notificación:",
"run_event_icon": "fa-play",
"run_event_tooltip": "Activa el ajuste y guarda tus cambios antes de ejecutarlo.", "run_event_tooltip": "Activa el ajuste y guarda tus cambios antes de ejecutarlo.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Núcleo", "settings_core_label": "Núcleo",
@@ -832,6 +827,5 @@
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"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_icon": "fa-vial-circle-check",
"test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes." "test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes."
} }

View File

@@ -709,23 +709,18 @@
"WF_Trigger": "Déclencheur", "WF_Trigger": "Déclencheur",
"WF_Trigger_event_type": "Type d'événement", "WF_Trigger_event_type": "Type d'événement",
"WF_Trigger_type": "Type de déclencheur", "WF_Trigger_type": "Type de déclencheur",
"add_icon_event_icon": "fa-square-plus",
"add_icon_event_tooltip": "Ajouter une nouvelle icône", "add_icon_event_tooltip": "Ajouter une nouvelle icône",
"add_option_event_icon": "fa-square-plus",
"add_option_event_tooltip": "Ajouter une nouvelle valeur", "add_option_event_tooltip": "Ajouter une nouvelle valeur",
"copy_icons_event_icon": "fa-copy",
"copy_icons_event_tooltip": "Remplace les icônes de tous les appareils du même type", "copy_icons_event_tooltip": "Remplace les icônes de tous les appareils du même type",
"devices_old": "Rafraichissement…", "devices_old": "Rafraichissement…",
"general_event_description": "L'événement que vous avez lancé peut prendre du temps avant que les tâches de fond ne soit terminées. La durée d'exécution finira une fois que la file d'exécution ci-dessous sera vide (consulter les <a href='/maintenance.php#tab_Logging'>journaux d'erreur</a> si vous rencontrez des erreurs). <br/> <br/> File d'exécution:", "general_event_description": "L'événement que vous avez lancé peut prendre du temps avant que les tâches de fond ne soit terminées. La durée d'exécution finira une fois que la file d'exécution ci-dessous sera vide (consulter les <a href='/maintenance.php#tab_Logging'>journaux d'erreur</a> si vous rencontrez des erreurs). <br/> <br/> File d'exécution:",
"general_event_title": "Lancement d'un événement sur mesure", "general_event_title": "Lancement d'un événement sur mesure",
"go_to_node_event_icon": "fa-square-up-right",
"go_to_node_event_tooltip": "Aller vers la page Réseau du nœud concerné", "go_to_node_event_tooltip": "Aller vers la page Réseau du nœud concerné",
"new_version_available": "Une nouvelle version est disponible.", "new_version_available": "Une nouvelle version est disponible.",
"report_guid": "GUID de la notification:", "report_guid": "GUID de la notification:",
"report_guid_missing": "La notification associée n'a pas été trouvée. Un petit délai existe entre l'envoi d'une notification et sa disponibilité réelle pour affichage. Rafraichissez la page et votre cache après quelques secondes. Il est aussi possible que la notification sélectionnée ait été supprimée durant une opération de maintenance, comme renseigné dans le paramètre <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/> La dernière notification est affichée à sa place. La notification manquante dispose du GUID suivant:", "report_guid_missing": "La notification associée n'a pas été trouvée. Un petit délai existe entre l'envoi d'une notification et sa disponibilité réelle pour affichage. Rafraichissez la page et votre cache après quelques secondes. Il est aussi possible que la notification sélectionnée ait été supprimée durant une opération de maintenance, comme renseigné dans le paramètre <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/> La dernière notification est affichée à sa place. La notification manquante dispose du GUID suivant:",
"report_select_format": "Sélectionner un format:", "report_select_format": "Sélectionner un format:",
"report_time": "Heure de la notification:", "report_time": "Heure de la notification:",
"run_event_icon": "fa-play",
"run_event_tooltip": "Activez le paramètre et enregistrez vos changements avant de le lancer.", "run_event_tooltip": "Activez le paramètre et enregistrez vos changements avant de le lancer.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Principal", "settings_core_label": "Principal",
@@ -753,6 +748,5 @@
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"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_icon": "fa-vial-circle-check",
"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

@@ -709,23 +709,18 @@
"WF_Trigger": "Trigger", "WF_Trigger": "Trigger",
"WF_Trigger_event_type": "Tipo evento", "WF_Trigger_event_type": "Tipo evento",
"WF_Trigger_type": "Tipo di trigger", "WF_Trigger_type": "Tipo di trigger",
"add_icon_event_icon": "fa-square-plus",
"add_icon_event_tooltip": "Aggiungi nuova icona", "add_icon_event_tooltip": "Aggiungi nuova icona",
"add_option_event_icon": "fa-square-plus",
"add_option_event_tooltip": "Aggiungi nuovo valore", "add_option_event_tooltip": "Aggiungi nuovo valore",
"copy_icons_event_icon": "fa-copy",
"copy_icons_event_tooltip": "Sovrascrivi le icone di tutti i dispositivi con lo stesso tipo di dispositivo", "copy_icons_event_tooltip": "Sovrascrivi le icone di tutti i dispositivi con lo stesso tipo di dispositivo",
"devices_old": "Aggiornamento…", "devices_old": "Aggiornamento…",
"general_event_description": "L'evento che hai attivato potrebbe richiedere del tempo prima che i processi in background vengano completati. L'esecuzione è terminata una volta che la coda di esecuzione sottostante si è svuotata (controlla il <a href='/maintenance.php#tab_Logging'>log degli errori</a> se riscontri problemi). <br/> <br/> Coda di esecuzione:", "general_event_description": "L'evento che hai attivato potrebbe richiedere del tempo prima che i processi in background vengano completati. L'esecuzione è terminata una volta che la coda di esecuzione sottostante si è svuotata (controlla il <a href='/maintenance.php#tab_Logging'>log degli errori</a> se riscontri problemi). <br/> <br/> Coda di esecuzione:",
"general_event_title": "Esecuzione di un evento ad-hoc", "general_event_title": "Esecuzione di un evento ad-hoc",
"go_to_node_event_icon": "fa-square-up-right",
"go_to_node_event_tooltip": "Passa alla pagina Rete del nodo specificato", "go_to_node_event_tooltip": "Passa alla pagina Rete del nodo specificato",
"new_version_available": "È disponibile una nuova versione.", "new_version_available": "È disponibile una nuova versione.",
"report_guid": "GUID notifica:", "report_guid": "GUID notifica:",
"report_guid_missing": "Notifica collegata non trovata. C'è un piccolo ritardo tra la disponibilità delle notifiche inviate di recente e la loro disponibilità. Aggiorna la pagina e la cache dopo alcuni secondi. È anche possibile che la notifica selezionata sia stata eliminata durante la manutenzione come specificato nell'impostazione <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/>Viene invece visualizzata l'ultima notifica. La notifica mancante ha il seguente GUID:", "report_guid_missing": "Notifica collegata non trovata. C'è un piccolo ritardo tra la disponibilità delle notifiche inviate di recente e la loro disponibilità. Aggiorna la pagina e la cache dopo alcuni secondi. È anche possibile che la notifica selezionata sia stata eliminata durante la manutenzione come specificato nell'impostazione <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/>Viene invece visualizzata l'ultima notifica. La notifica mancante ha il seguente GUID:",
"report_select_format": "Seleziona formato:", "report_select_format": "Seleziona formato:",
"report_time": "Orario notifica:", "report_time": "Orario notifica:",
"run_event_icon": "fa-play",
"run_event_tooltip": "Abilita l'impostazione e salva le modifiche prima di eseguirla.", "run_event_tooltip": "Abilita l'impostazione e salva le modifiche prima di eseguirla.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Core", "settings_core_label": "Core",
@@ -753,6 +748,5 @@
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"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_icon": "fa-vial-circle-check",
"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

@@ -709,23 +709,18 @@
"WF_Trigger": "", "WF_Trigger": "",
"WF_Trigger_event_type": "", "WF_Trigger_event_type": "",
"WF_Trigger_type": "", "WF_Trigger_type": "",
"add_icon_event_icon": "",
"add_icon_event_tooltip": "", "add_icon_event_tooltip": "",
"add_option_event_icon": "",
"add_option_event_tooltip": "", "add_option_event_tooltip": "",
"copy_icons_event_icon": "",
"copy_icons_event_tooltip": "", "copy_icons_event_tooltip": "",
"devices_old": "Oppdaterer...", "devices_old": "Oppdaterer...",
"general_event_description": "Hendelsen du har utløst kan ta en stund til før bakgrunnsprosesser er ferdig. Utførelsen ble avsluttet når utførelseskøen nedenfor tømmes (sjekk <a href='/maintenance.php#tab_Logging'>Feillogg</a> Hvis du møter problemer). <br/> <br/> Utførelseskø:", "general_event_description": "Hendelsen du har utløst kan ta en stund til før bakgrunnsprosesser er ferdig. Utførelsen ble avsluttet når utførelseskøen nedenfor tømmes (sjekk <a href='/maintenance.php#tab_Logging'>Feillogg</a> Hvis du møter problemer). <br/> <br/> Utførelseskø:",
"general_event_title": "Utfører en ad-hoc hendelse", "general_event_title": "Utfører en ad-hoc hendelse",
"go_to_node_event_icon": "",
"go_to_node_event_tooltip": "", "go_to_node_event_tooltip": "",
"new_version_available": "", "new_version_available": "",
"report_guid": "Notifikasjons GUID:", "report_guid": "Notifikasjons GUID:",
"report_guid_missing": "Koblet notifikasjon ikke funnet. Det er en liten forsinkelse mellom nylig sendt notifikasjoner og at de er tilgjengelige. Oppdater siden din og hurtigbufferen etter noen sekunder. Det er også mulig den valgte notifikasjonen er slettet under vedlikehold som spesifisert i <code>DBCLNP_NOTIFI_HIST</code> innstillingen. <br/> <br/> Den siste notifikasjonen vises i stedet. Den manglende notifikasjonen har følgende GUID:", "report_guid_missing": "Koblet notifikasjon ikke funnet. Det er en liten forsinkelse mellom nylig sendt notifikasjoner og at de er tilgjengelige. Oppdater siden din og hurtigbufferen etter noen sekunder. Det er også mulig den valgte notifikasjonen er slettet under vedlikehold som spesifisert i <code>DBCLNP_NOTIFI_HIST</code> innstillingen. <br/> <br/> Den siste notifikasjonen vises i stedet. Den manglende notifikasjonen har følgende GUID:",
"report_select_format": "Velg format:", "report_select_format": "Velg format:",
"report_time": "Notifikasjonstid:", "report_time": "Notifikasjonstid:",
"run_event_icon": "fa-play",
"run_event_tooltip": "Aktiver innstillingen og lagre endringene først før du kjører den.", "run_event_tooltip": "Aktiver innstillingen og lagre endringene først før du kjører den.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Core", "settings_core_label": "Core",
@@ -753,6 +748,5 @@
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"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_icon": "fa-vial-circle-check",
"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

@@ -709,23 +709,18 @@
"WF_Trigger": "Wyzwalacz", "WF_Trigger": "Wyzwalacz",
"WF_Trigger_event_type": "Typ zdarzenia", "WF_Trigger_event_type": "Typ zdarzenia",
"WF_Trigger_type": "Typ wyzwalacza", "WF_Trigger_type": "Typ wyzwalacza",
"add_icon_event_icon": "fa-square-plus",
"add_icon_event_tooltip": "Dodaj nową ikonę", "add_icon_event_tooltip": "Dodaj nową ikonę",
"add_option_event_icon": "fa-square-plus",
"add_option_event_tooltip": "Dodaj nową wartość", "add_option_event_tooltip": "Dodaj nową wartość",
"copy_icons_event_icon": "fa-copy",
"copy_icons_event_tooltip": "Nadpisz ikony wszystkich urządzeń tego samego typu", "copy_icons_event_tooltip": "Nadpisz ikony wszystkich urządzeń tego samego typu",
"devices_old": "Odświeżanie…", "devices_old": "Odświeżanie…",
"general_event_description": "Zdarzenie, które wywołałeś, może potrwać chwilę, zanim zakończą się procesy w tle. Wykonanie zostanie zakończone, gdy poniższa kolejka wykonania zostanie opróżniona (jeśli napotkasz problemy, sprawdź <a href='/maintenance.php#tab_Logging'>dziennik błędów</a>). <br/><br/>Kolejka wykonania:", "general_event_description": "Zdarzenie, które wywołałeś, może potrwać chwilę, zanim zakończą się procesy w tle. Wykonanie zostanie zakończone, gdy poniższa kolejka wykonania zostanie opróżniona (jeśli napotkasz problemy, sprawdź <a href='/maintenance.php#tab_Logging'>dziennik błędów</a>). <br/><br/>Kolejka wykonania:",
"general_event_title": "Wykonywanie zdarzenia ad-hoc", "general_event_title": "Wykonywanie zdarzenia ad-hoc",
"go_to_node_event_icon": "fa-square-up-right",
"go_to_node_event_tooltip": "Przejdź do strony Sieć danego węzła", "go_to_node_event_tooltip": "Przejdź do strony Sieć danego węzła",
"new_version_available": "Dostępna jest nowa wersja.", "new_version_available": "Dostępna jest nowa wersja.",
"report_guid": "GUID powiadomienia:", "report_guid": "GUID powiadomienia:",
"report_guid_missing": "Nie znaleziono powiązanego powiadomienia. Istnieje niewielkie opóźnienie między momentem wysłania powiadomienia a jego dostępnością. Odśwież stronę i pamięć podręczną po kilku sekundach. Możliwe również, że wybrane powiadomienie zostało usunięte podczas konserwacji, zgodnie z ustawieniem <code>DBCLNP_NOTIFI_HIST</code>. <br/><br/>Zamiast tego wyświetlane jest najnowsze powiadomienie. Brakujące powiadomienie ma następujący identyfikator GUID:", "report_guid_missing": "Nie znaleziono powiązanego powiadomienia. Istnieje niewielkie opóźnienie między momentem wysłania powiadomienia a jego dostępnością. Odśwież stronę i pamięć podręczną po kilku sekundach. Możliwe również, że wybrane powiadomienie zostało usunięte podczas konserwacji, zgodnie z ustawieniem <code>DBCLNP_NOTIFI_HIST</code>. <br/><br/>Zamiast tego wyświetlane jest najnowsze powiadomienie. Brakujące powiadomienie ma następujący identyfikator GUID:",
"report_select_format": "Wybierz format:", "report_select_format": "Wybierz format:",
"report_time": "Czas powiadomienia:", "report_time": "Czas powiadomienia:",
"run_event_icon": "fa-play",
"run_event_tooltip": "Najpierw włącz to ustawienie i zapisz zmiany, zanim je uruchomisz.", "run_event_tooltip": "Najpierw włącz to ustawienie i zapisz zmiany, zanim je uruchomisz.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Główne", "settings_core_label": "Główne",
@@ -753,6 +748,5 @@
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"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_icon": "fa-vial-circle-check",
"test_event_tooltip": "Najpierw zapisz swoje zmiany, zanim przetestujesz ustawienia." "test_event_tooltip": "Najpierw zapisz swoje zmiany, zanim przetestujesz ustawienia."
} }

View File

@@ -709,23 +709,18 @@
"WF_Trigger": "", "WF_Trigger": "",
"WF_Trigger_event_type": "", "WF_Trigger_event_type": "",
"WF_Trigger_type": "", "WF_Trigger_type": "",
"add_icon_event_icon": "",
"add_icon_event_tooltip": "", "add_icon_event_tooltip": "",
"add_option_event_icon": "",
"add_option_event_tooltip": "", "add_option_event_tooltip": "",
"copy_icons_event_icon": "",
"copy_icons_event_tooltip": "", "copy_icons_event_tooltip": "",
"devices_old": "", "devices_old": "",
"general_event_description": "", "general_event_description": "",
"general_event_title": "", "general_event_title": "",
"go_to_node_event_icon": "",
"go_to_node_event_tooltip": "", "go_to_node_event_tooltip": "",
"new_version_available": "", "new_version_available": "",
"report_guid": "", "report_guid": "",
"report_guid_missing": "", "report_guid_missing": "",
"report_select_format": "", "report_select_format": "",
"report_time": "", "report_time": "",
"run_event_icon": "",
"run_event_tooltip": "", "run_event_tooltip": "",
"settings_core_icon": "", "settings_core_icon": "",
"settings_core_label": "", "settings_core_label": "",
@@ -753,6 +748,5 @@
"settings_system_icon": "", "settings_system_icon": "",
"settings_system_label": "", "settings_system_label": "",
"settings_update_item_warning": "", "settings_update_item_warning": "",
"test_event_icon": "",
"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."
} }

6
front/php/templates/language/ru_ru.json Normal file → Executable file
View File

@@ -709,23 +709,18 @@
"WF_Trigger": "Триггер", "WF_Trigger": "Триггер",
"WF_Trigger_event_type": "Тип события", "WF_Trigger_event_type": "Тип события",
"WF_Trigger_type": "Тип триггера", "WF_Trigger_type": "Тип триггера",
"add_icon_event_icon": "fa-square-plus",
"add_icon_event_tooltip": "Добавить новую иконку", "add_icon_event_tooltip": "Добавить новую иконку",
"add_option_event_icon": "fa-square-plus",
"add_option_event_tooltip": "Добавить новое значение", "add_option_event_tooltip": "Добавить новое значение",
"copy_icons_event_icon": "fa-copy",
"copy_icons_event_tooltip": "Заменить иконки всех устройств с одним и тем же типом устройства", "copy_icons_event_tooltip": "Заменить иконки всех устройств с одним и тем же типом устройства",
"devices_old": "Актуализируется…", "devices_old": "Актуализируется…",
"general_event_description": "Событие, которое вы инициировали, может занять некоторое время, прежде чем фоновые процессы завершатся. Выполнение завершится, как только очередь выполнения, указанная ниже, опустеет (Проверьте <a href='/maintenance.php#tab_Logging'>журнал ошибок</a> при возникновении проблем). <br/> <br/>· · Очередь выполнения:", "general_event_description": "Событие, которое вы инициировали, может занять некоторое время, прежде чем фоновые процессы завершатся. Выполнение завершится, как только очередь выполнения, указанная ниже, опустеет (Проверьте <a href='/maintenance.php#tab_Logging'>журнал ошибок</a> при возникновении проблем). <br/> <br/>· · Очередь выполнения:",
"general_event_title": "Выполнение специального события", "general_event_title": "Выполнение специального события",
"go_to_node_event_icon": "fa-square-up-right",
"go_to_node_event_tooltip": "Переход на страницу \"Сеть\" данного узла", "go_to_node_event_tooltip": "Переход на страницу \"Сеть\" данного узла",
"new_version_available": "Доступна новая версия.", "new_version_available": "Доступна новая версия.",
"report_guid": "Идентификатор уведомления:", "report_guid": "Идентификатор уведомления:",
"report_guid_missing": "Связанное уведомление не найдено. Между недавно отправленными уведомлениями и их доступностью существует небольшая задержка. Обновите страницу и кэшируйте ее через несколько секунд. Также возможно, что выбранное уведомление было удалено во время обслуживания, как указано в настройке <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/>Вместо этого отображается последнее уведомление. Отсутствующее уведомление имеет следующий GUID:", "report_guid_missing": "Связанное уведомление не найдено. Между недавно отправленными уведомлениями и их доступностью существует небольшая задержка. Обновите страницу и кэшируйте ее через несколько секунд. Также возможно, что выбранное уведомление было удалено во время обслуживания, как указано в настройке <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/>Вместо этого отображается последнее уведомление. Отсутствующее уведомление имеет следующий GUID:",
"report_select_format": "Выбрать формат:", "report_select_format": "Выбрать формат:",
"report_time": "Время уведомления:", "report_time": "Время уведомления:",
"run_event_icon": "fa-play",
"run_event_tooltip": "Включите настройку и сначала сохраните изменения, прежде чем запускать ее.", "run_event_tooltip": "Включите настройку и сначала сохраните изменения, прежде чем запускать ее.",
"settings_core_icon": "fa-solid fa-gem", "settings_core_icon": "fa-solid fa-gem",
"settings_core_label": "Основные", "settings_core_label": "Основные",
@@ -753,6 +748,5 @@
"settings_system_icon": "fa-solid fa-gear", "settings_system_icon": "fa-solid fa-gear",
"settings_system_label": "Система", "settings_system_label": "Система",
"settings_update_item_warning": "Обновить значение ниже. Будьте осторожны, следуя предыдущему формату. <b>Проверка не выполняется.</b>", "settings_update_item_warning": "Обновить значение ниже. Будьте осторожны, следуя предыдущему формату. <b>Проверка не выполняется.</b>",
"test_event_icon": "fa-vial-circle-check",
"test_event_tooltip": "Сначала сохраните изменения, прежде чем проверять настройки." "test_event_tooltip": "Сначала сохраните изменения, прежде чем проверять настройки."
} }

View File

@@ -709,23 +709,18 @@
"WF_Trigger": "", "WF_Trigger": "",
"WF_Trigger_event_type": "", "WF_Trigger_event_type": "",
"WF_Trigger_type": "", "WF_Trigger_type": "",
"add_icon_event_icon": "",
"add_icon_event_tooltip": "", "add_icon_event_tooltip": "",
"add_option_event_icon": "",
"add_option_event_tooltip": "", "add_option_event_tooltip": "",
"copy_icons_event_icon": "",
"copy_icons_event_tooltip": "", "copy_icons_event_tooltip": "",
"devices_old": "Yenileniyor...", "devices_old": "Yenileniyor...",
"general_event_description": "", "general_event_description": "",
"general_event_title": "", "general_event_title": "",
"go_to_node_event_icon": "",
"go_to_node_event_tooltip": "", "go_to_node_event_tooltip": "",
"new_version_available": "", "new_version_available": "",
"report_guid": "", "report_guid": "",
"report_guid_missing": "", "report_guid_missing": "",
"report_select_format": "", "report_select_format": "",
"report_time": "Bildirim zamanı:", "report_time": "Bildirim zamanı:",
"run_event_icon": "",
"run_event_tooltip": "", "run_event_tooltip": "",
"settings_core_icon": "", "settings_core_icon": "",
"settings_core_label": "", "settings_core_label": "",
@@ -753,6 +748,5 @@
"settings_system_icon": "", "settings_system_icon": "",
"settings_system_label": "Sistem", "settings_system_label": "Sistem",
"settings_update_item_warning": "", "settings_update_item_warning": "",
"test_event_icon": "",
"test_event_tooltip": "" "test_event_tooltip": ""
} }

6
front/php/templates/language/uk_ua.json Normal file → Executable file
View File

@@ -709,23 +709,18 @@
"WF_Trigger": "Тригер", "WF_Trigger": "Тригер",
"WF_Trigger_event_type": "Тип події", "WF_Trigger_event_type": "Тип події",
"WF_Trigger_type": "Тип тригера", "WF_Trigger_type": "Тип тригера",
"add_icon_event_icon": "фа-квадрат-плюс",
"add_icon_event_tooltip": "додати новий значок", "add_icon_event_tooltip": "додати новий значок",
"add_option_event_icon": "фа-квадрат-плюс",
"add_option_event_tooltip": "Додати нове значення", "add_option_event_tooltip": "Додати нове значення",
"copy_icons_event_icon": "фа-копія",
"copy_icons_event_tooltip": "Перезаписати піктограми всіх пристроїв одним типом пристрою", "copy_icons_event_tooltip": "Перезаписати піктограми всіх пристроїв одним типом пристрою",
"devices_old": "Освіжає…", "devices_old": "Освіжає…",
"general_event_description": "Подія, яку ви ініціювали, може зайняти деякий час, поки завершаться фонові процеси. Виконання завершилося, коли наведена нижче черга виконання спорожнилася (перевірте <a href='/maintenance.php#tab_Logging'>журнал помилок</a>, якщо виникнуть проблеми). <br/> <br/> Черга виконання:", "general_event_description": "Подія, яку ви ініціювали, може зайняти деякий час, поки завершаться фонові процеси. Виконання завершилося, коли наведена нижче черга виконання спорожнилася (перевірте <a href='/maintenance.php#tab_Logging'>журнал помилок</a>, якщо виникнуть проблеми). <br/> <br/> Черга виконання:",
"general_event_title": "Виконання спеціальної події", "general_event_title": "Виконання спеціальної події",
"go_to_node_event_icon": "fa-квадрат-вгору-вправо",
"go_to_node_event_tooltip": "Перейдіть на сторінку Мережа даного вузла", "go_to_node_event_tooltip": "Перейдіть на сторінку Мережа даного вузла",
"new_version_available": "Доступна нова версія.", "new_version_available": "Доступна нова версія.",
"report_guid": "Довідник сповіщень:", "report_guid": "Довідник сповіщень:",
"report_guid_missing": "Пов’язане сповіщення не знайдено. Існує невелика затримка між нещодавно надісланими сповіщеннями та їх доступністю. Оновіть сторінку та кеш через кілька секунд. Також можливо, вибране сповіщення було видалено під час обслуговування, як зазначено в параметрі <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/>Натомість відображається останнє сповіщення. Відсутнє сповіщення має такий GUID:", "report_guid_missing": "Пов’язане сповіщення не знайдено. Існує невелика затримка між нещодавно надісланими сповіщеннями та їх доступністю. Оновіть сторінку та кеш через кілька секунд. Також можливо, вибране сповіщення було видалено під час обслуговування, як зазначено в параметрі <code>DBCLNP_NOTIFI_HIST</code>. <br/> <br/>Натомість відображається останнє сповіщення. Відсутнє сповіщення має такий GUID:",
"report_select_format": "Виберіть формат:", "report_select_format": "Виберіть формат:",
"report_time": "Час сповіщення:", "report_time": "Час сповіщення:",
"run_event_icon": "fa- play",
"run_event_tooltip": "Увімкніть налаштування та збережіть зміни, перш ніж запускати його.", "run_event_tooltip": "Увімкніть налаштування та збережіть зміни, перш ніж запускати його.",
"settings_core_icon": "фа-твердий фа-самоцвіт", "settings_core_icon": "фа-твердий фа-самоцвіт",
"settings_core_label": "Ядро", "settings_core_label": "Ядро",
@@ -753,6 +748,5 @@
"settings_system_icon": "фа-твердий фа-передача", "settings_system_icon": "фа-твердий фа-передача",
"settings_system_label": "Система", "settings_system_label": "Система",
"settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. <b>Перевірка не виконана.</b>", "settings_update_item_warning": "Оновіть значення нижче. Слідкуйте за попереднім форматом. <b>Перевірка не виконана.</b>",
"test_event_icon": "fa-vial-circle- check",
"test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни." "test_event_tooltip": "Перш ніж перевіряти налаштування, збережіть зміни."
} }

View File

@@ -709,23 +709,18 @@
"WF_Trigger": "", "WF_Trigger": "",
"WF_Trigger_event_type": "", "WF_Trigger_event_type": "",
"WF_Trigger_type": "", "WF_Trigger_type": "",
"add_icon_event_icon": "",
"add_icon_event_tooltip": "", "add_icon_event_tooltip": "",
"add_option_event_icon": "",
"add_option_event_tooltip": "", "add_option_event_tooltip": "",
"copy_icons_event_icon": "",
"copy_icons_event_tooltip": "", "copy_icons_event_tooltip": "",
"devices_old": "刷新中...", "devices_old": "刷新中...",
"general_event_description": "您触发的事件可能需要一段时间才能完成后台进程。一旦以下执行队列清空,执行就会结束(如果遇到问题,请检查<a href='/maintenance.php#tab_Logging'>错误日志</a>)。<br/> <br/> 执行队列:", "general_event_description": "您触发的事件可能需要一段时间才能完成后台进程。一旦以下执行队列清空,执行就会结束(如果遇到问题,请检查<a href='/maintenance.php#tab_Logging'>错误日志</a>)。<br/> <br/> 执行队列:",
"general_event_title": "执行自组织网络事件", "general_event_title": "执行自组织网络事件",
"go_to_node_event_icon": "",
"go_to_node_event_tooltip": "", "go_to_node_event_tooltip": "",
"new_version_available": "", "new_version_available": "",
"report_guid": "通知guid", "report_guid": "通知guid",
"report_guid_missing": "未找到链接的通知。最近发送的通知与可用通知之间存在短暂延迟。几秒钟后刷新页面并缓存。所选通知也可能已在维护期间被删除,如 <code>DBCLNP_NOTIFI_HIST</code> 设置中所述。<br/> <br/>系统将改为显示最新通知。缺失的通知具有以下 GUID", "report_guid_missing": "未找到链接的通知。最近发送的通知与可用通知之间存在短暂延迟。几秒钟后刷新页面并缓存。所选通知也可能已在维护期间被删除,如 <code>DBCLNP_NOTIFI_HIST</code> 设置中所述。<br/> <br/>系统将改为显示最新通知。缺失的通知具有以下 GUID",
"report_select_format": "选择格式:", "report_select_format": "选择格式:",
"report_time": "通知时间:", "report_time": "通知时间:",
"run_event_icon": "",
"run_event_tooltip": "在运行之前,请先启用设置并保存更改。", "run_event_tooltip": "在运行之前,请先启用设置并保存更改。",
"settings_core_icon": "", "settings_core_icon": "",
"settings_core_label": "核", "settings_core_label": "核",
@@ -753,6 +748,5 @@
"settings_system_icon": "", "settings_system_icon": "",
"settings_system_label": "系统", "settings_system_label": "系统",
"settings_update_item_warning": "更新下面的值。请注意遵循先前的格式。<b>未执行验证。</b>", "settings_update_item_warning": "更新下面的值。请注意遵循先前的格式。<b>未执行验证。</b>",
"test_event_icon": "",
"test_event_tooltip": "在测试设置之前,请先保存更改。" "test_event_tooltip": "在测试设置之前,请先保存更改。"
} }

View File

@@ -1338,7 +1338,8 @@
{ {
"function": "devParentMAC", "function": "devParentMAC",
"events": [ "events": [
"go_to_node" "go_to_node",
"go_to_device"
], ],
"type": { "type": {
"dataType": "string", "dataType": "string",