Merge branch 'spidev' into 'master'

Device Update

See merge request fronk/thetool!1364
This commit is contained in:
Daniel Spitzer
2025-05-19 18:20:51 +00:00
5 changed files with 98 additions and 2 deletions

View File

@@ -202,7 +202,15 @@ asort($Devices);
</div>
</div>
<?php endif; ?>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="backup_check">Backup Check</label>
<div class="col-lg-10">
<div class="custom-control custom-switch mt-1">
<input type="checkbox" <?= ($device->backup_check == "0") ? "" : "checked='checked'" ?> class="custom-control-input" value="1" id="backup_check" name="backup_check">
<label class="custom-control-label no-user-select" for="backup_check">Es wird täglich geprüft, ob Backups vorhanden und nicht älter als 7 Tage sind</label>
</div>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="serial">Seriennummer</label>

View File

@@ -164,6 +164,7 @@ class DeviceController extends mfBaseController
$data['devicetype_id'] = $r->devicetype_id;
$data['parent_id'] = $r->parent_id;
$data['autobackup'] = trim($r->autobackup);
$data['backup_check'] = trim($r->backup_check);
if (trim($r->pop_id) == "0") {
$data['pop_id'] = NULL;
@@ -193,6 +194,9 @@ class DeviceController extends mfBaseController
if ($data['autobackup'] != "1") {
$data['autobackup'] = "0";
}
if ($data['backup_check'] != "1") {
$data['backup_check'] = "0";
}
if (!$data['parent_id']) {
$data['parent_id'] = NULL;
}
@@ -364,6 +368,7 @@ class DeviceController extends mfBaseController
exit;
}
private function uploadFile($id)
{
$r = $this->request;

View File

@@ -18,6 +18,7 @@ class DeviceModel
public $addr_city = null;
public $gps_long = null;
public $autobackup = null;
public $backup_check = null;
public $create_by = null;
public $snmp_version = null;
public $edit_by = null;

View File

@@ -93,7 +93,7 @@ table.dataTable > tbody > tr.child span.dtr-data {
cursor: pointer;
font-size: 25px;
margin-top: 7px;
margin-left: 10px;
margin-left: 5px;
}
.spinner-ico {

View File

@@ -0,0 +1,82 @@
<?php
//require 'vendor/autoload.php';
require("../../config/config.php");
define('FRONKDB_SQLDEBUG', false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
require_once(LIBDIR . "/mvcfronk/mfRouter/mfRouter.php");
require_once(LIBDIR . "/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR . "/mvcfronk/mfBase/mfBaseController.php");
$me = new User(154);
define("INTERNAL_USER_ID", $me->id);
define("INTERNAL_USER_USERNAME", $me->username);
$url="https://thetool.xinon.at/Device/Detail?id=";
$devices = DeviceModel::getAll();
//var_dump($timerecordingemployees);
$deviceBackupOld = [];
$devicesAll = [];
$deviceBackupNone = [];
foreach ($devices as $device) {
$devicesAll[$device->id] = $device;
if ($device->last_config_backup && $device->backup_check == 1) {
$timediff = time() - 7 * 24 * 60 * 60;
if ($device->last_config_backup < $timediff) {
$deviceBackupOld[$device->id] = $device->last_config_backup;
}
} elseif ($device->backup_check == 1) {
$deviceBackupNone[$device->id] = $device->name;
}
}
$message = "";
//create a tables
if (!empty($deviceBackupOld)) {
asort($deviceBackupOld);
$message .= "<h3>Devices mit Backups älter als 7 Tagen:</h3>";
$message .= "<table>";
$message .= "<tr><th>Device</th><th>Gerätetyp</th><th>IP-Adresse</th><th>Letztes Backup</th></tr>";
foreach ($deviceBackupOld as $deviceId => $lastBackup) {
$message .= '<tr><td><a href="'.$url.$devicesAll[$deviceId]->id.'" >' . $devicesAll[$deviceId]->name . '</a></td><td>'.$devicesAll[$deviceId]->devicetype->devicemanufactor->name." ".$devicesAll[$deviceId]->devicetype->name.'</td><td class="center">'.$devicesAll[$deviceId]->ip.'</td><td>' . date("d.m.Y H:i", $lastBackup) . "</td></tr>";
}
$message .= "</table>";
}
if (!empty($deviceBackupNone)) {
asort($deviceBackupNone);
$message .= "<h3>Devices ohne Backup:</h3>";
$message .= "<table>";
$message .= "<tr><th>Device</th><th>Gerätetyp</th><th>IP-Adresse</th></tr>";
foreach ($deviceBackupNone as $deviceId => $deviceName) {
$message .= '<tr><td ><a href="'.$url.$devicesAll[$deviceId]->id.'" >' . $deviceName . '</a></td><td>'.$devicesAll[$deviceId]->devicetype->devicemanufactor->name." ".$devicesAll[$deviceId]->devicetype->name.'</td><td class="center">'.$devicesAll[$deviceId]->ip.'</td></tr>';
}
$message .= "</table>";
}
if (!empty($message)) {
$style="<style>
table {
border-collapse: collapse;
border: 1px solid #000000;
}
th, td {
margin: 2px 7px 2px 7px;
border: 1px solid #000000;
}
a {
color: #000000;
}
.center{
text-align: center;
}
</style>";
$email = new Emailnotification();
$email->setSubject('Backup Checks');
$email->setHtmlBody($style.$message);
$email->setFrom('notify@xinon.at', 'Xinon Information');
$email->setTo('daniel.spitzer@inode.at');
$email->send();
}