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

@@ -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();
}