🆕 db locked icon #685

This commit is contained in:
jokob-sk
2024-05-26 15:28:37 +10:00
parent 2c7d71d13c
commit df071c0835
11 changed files with 88 additions and 27 deletions

View File

@@ -70,6 +70,12 @@ Get visibility of what's going on on your WIFI/LAN network. Schedule scans for d
> - [Fing](https://www.fing.com/) - Network scanner app for your Internet security (Commercial, Phone App, Proprietary hardware)
> - [NetBox](https://netboxlabs.com/) - Network management software (Commercial)
## 🔔 Get notified what's new
Get notified about a new release, what new functionality you can use and about breaking changes.
![Follow and star][follow_star]
### ⭐ Sponsors
[![GitHub Sponsors](https://img.shields.io/github/sponsors/jokob-sk?style=social)](https://github.com/sponsors/jokob-sk)
@@ -144,4 +150,5 @@ Help out and suggest languages in the [online portal of Weblate](https://hosted.
[report2]: ./docs/img/4_report_2.jpg "Report sample 2"
[main_dark]: /docs/img/1_devices_dark.jpg "Main screen dark"
[maintain_dark]: /docs/img/5_maintain.jpg "Maintain screen dark"
[follow_star]: /docs/img/Follow_Releases_and_Star.gif "Follow and Star"

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

View File

@@ -144,6 +144,17 @@
{
background-color: rgba(0, 0, 0, 0);
}
.header-status-locked-db
{
width: 25px;
height: 25px;
color: red;
position: absolute;
top: 12px;
right: -17px;
display: none;
}
.navbar-nav > li > a
{
line-height: 30px;

View File

@@ -628,7 +628,7 @@
<script src="lib/AdminLTE/bower_components/fullcalendar/dist/locale-all.js"></script>
<!-- ----------------------------------------------------------------------- -->
<script src="js/db_methods.js?v=<?php include 'php/templates/version.php'; ?>"></script>
<!-- ----------------------------------------------------------------------- -->
<!-- Dark-Mode Patch -->

View File

@@ -1,7 +1,9 @@
// -----------------------------------------------------------------------------
// General utilities to interact with teh database
// General utilities to interact with the database
// -----------------------------------------------------------------------------
// --------------------------------------------------
// Read data and place intotarget location, callback processies the results
function readData(sqlQuery, processDataCallback, valuesArray, targetLocation, targetField, nameTransformer) {
var apiUrl = `php/server/dbHelper.php?action=read&rawSql=${encodeURIComponent(sqlQuery)}`;
@@ -16,3 +18,30 @@ function readData(sqlQuery, processDataCallback, valuesArray, targetLocation, ta
$("#" + targetLocation).replaceWith(htmlResult);
});
}
// --------------------------------------------------
// Check if database is locked
function checkDbLock() {
$.ajax({
url: 'php/server/dbHelper.php', // Replace with the actual path to your PHP file
type: 'GET',
data: { action: 'checkLock' },
success: function(response) {
if (response == 1) {
console.log('🟥 Database is locked');
$(".header-status-locked-db").show()
} else {
// console.log('Database is not locked');
$(".header-status-locked-db").hide()
}
},
error: function() {
console.log('Error checking database lock status');
}
});
}
// Start the loop
setInterval(() => {
checkDbLock();
}, 1000);

View File

@@ -326,7 +326,6 @@ getData();
<!-- ----------------------------------------------------------------------- -->
<script src="js/db_methods.js?v=<?php include 'php/templates/version.php'; ?>"></script>
<!-- ----------------------------------------------------------------------- -->

View File

@@ -72,6 +72,7 @@
case 'read' : read($rawSql); break;
case 'update': update($columnName, $id, $defaultValue, $expireMinutes, $dbtable, $columns, $values); break;
case 'delete': delete($columnName, $id, $dbtable); break;
case 'checkLock': checkLock(); break;
default: logServerConsole ('Action: '. $action); break;
}
}
@@ -264,4 +265,20 @@ function delete($columnName, $id, $dbtable)
//------------------------------------------------------------------------------
// check if the database is locked
//------------------------------------------------------------------------------
function checkLock() {
global $db;
try {
$db->exec('BEGIN EXCLUSIVE TRANSACTION');
$db->exec('COMMIT');
echo 0; // Not locked
return 0;
} catch (Exception $e) {
echo 1; // Locked
return 1;
}
}
?>

View File

@@ -55,6 +55,7 @@
<!-- NetAlertX -->
<script src="js/handle_version.js"></script>
<script src="js/ui_components.js?v=<?php include 'php/templates/version.php'; ?>"></script>
<script src="js/db_methods.js?v=<?php include 'php/templates/version.php'; ?>"></script>
<!-- Select2 JavaScript -->
<script src="lib/AdminLTE/bower_components/select2/dist/js/select2.full.min.js" defer></script>

View File

@@ -57,12 +57,6 @@ require dirname(__FILE__).'/security.php';
<!-- NetAlertX CSS -->
<link rel="stylesheet" href="css/app.css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Google Font -->
<!-- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic"> -->
@@ -173,6 +167,9 @@ if ($ENABLED_DARKMODE === True) {
<div class="header-status">
<code id="state"></code>
</div>
<div class="header-status-locked-db">
<i class="fa-solid fa-database fa-fade"></i>
</div>
</a>
</li>
<!-- Server Name -->

View File

@@ -54,7 +54,7 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) {
<!-- Page ------------------------------------------------------------------ -->
<script src="js/settings_utils.js?v=<?php include 'php/templates/version.php'; ?>"></script>
<script src="js/db_methods.js?v=<?php include 'php/templates/version.php'; ?>"></script>
<script src="lib/crypto/crypto-js.min.js"></script>

View File

@@ -103,7 +103,7 @@ def get_notifications (db):
json_obj = db.get_table_as_json(sqlQuery)
json_down_devices_meta = {
"title": " Down devices",
"title": "🔴 Down devices",
"columnNames": json_obj.columnNames
}
json_down_devices = json_obj.json["data"]