Add Expiring in Filter Field to assets, licenses, domains and certificate and wire that into the dashboard as well

This commit is contained in:
johnnyq
2026-07-20 18:25:44 -04:00
parent ce0a62b0c3
commit a35ef025dc
5 changed files with 143 additions and 18 deletions

View File

@@ -90,6 +90,21 @@ if (isset($_GET['tags']) && is_array($_GET['tags']) && !empty($_GET['tags'])) {
$tag_query = '';
}
// Expiring In Filter
if (isset($_GET['expire_days']) && !empty($_GET['expire_days'])) {
if ($_GET['expire_days'] == "expired") {
$expire_days = "expired";
$expire_query = "AND (asset_warranty_expire IS NOT NULL AND asset_warranty_expire != '0000-00-00' AND asset_warranty_expire < CURDATE())";
} else {
$expire_days = intval($_GET['expire_days']);
$expire_query = "AND (asset_warranty_expire IS NOT NULL AND asset_warranty_expire != '0000-00-00' AND asset_warranty_expire BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL $expire_days DAY))";
}
} else {
// Default - any
$expire_days = '';
$expire_query = '';
}
//Get Asset Counts
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "
SELECT
@@ -148,6 +163,7 @@ $sql = mysqli_query(
AND ($type_query)
$access_permission_query
$location_query
$expire_query
$client_query
GROUP BY asset_id
ORDER BY $sort $order LIMIT $record_from, $record_to"
@@ -226,7 +242,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<input type="hidden" name="type" value="<?php echo stripslashes(escapeHtml($_GET['type'])); ?>">
<input type="hidden" name="archived" value="<?php echo $archived; ?>">
<div class="row">
<div class="col-md-4">
<div class="col-md-3">
<div class="input-group mb-3 mb-md-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(escapeHtml($q)); } ?>" placeholder="Search <?php if (!empty($_GET['type'])) { echo ucwords(stripslashes(escapeHtml($_GET['type']))); } else { echo "Asset"; } ?>s">
<div class="input-group-append">
@@ -313,6 +329,19 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</select>
</div>
</div>
<div class="col-md-2">
<div class="input-group mb-3 mb-md-0">
<select class="form-control select2" name="expire_days" onchange="this.form.submit()">
<option value="" <?php if ($expire_days == "") { echo "selected"; } ?>>- Expiring In -</option>
<option value="expired" <?php if ($expire_days === "expired") { echo "selected"; } ?>>Expired</option>
<option value="7" <?php if ($expire_days === 7) { echo "selected"; } ?>>7 Days</option>
<option value="30" <?php if ($expire_days === 30) { echo "selected"; } ?>>30 Days</option>
<option value="45" <?php if ($expire_days === 45) { echo "selected"; } ?>>45 Days</option>
<option value="60" <?php if ($expire_days === 60) { echo "selected"; } ?>>60 Days</option>
<option value="90" <?php if ($expire_days === 90) { echo "selected"; } ?>>90 Days</option>
</select>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<select onchange="this.form.submit()" class="form-control select2" name="show_column[]" data-placeholder="- Show Additional Columns -" multiple>
@@ -331,7 +360,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</select>
</div>
</div>
<div class="col-md-2">
<div class="col-md-1">
<div class="btn-group float-right">
<a href="?<?php echo $client_url; ?>&archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">

View File

@@ -34,6 +34,21 @@ if (isset($_GET['client_id'])) {
// Perms
enforceUserPermission('module_support');
// Expiring In Filter
if (isset($_GET['expire_days']) && !empty($_GET['expire_days'])) {
if ($_GET['expire_days'] == "expired") {
$expire_days = "expired";
$expire_query = "AND (certificate_expire IS NOT NULL AND certificate_expire != '0000-00-00' AND certificate_expire < CURDATE())";
} else {
$expire_days = intval($_GET['expire_days']);
$expire_query = "AND (certificate_expire IS NOT NULL AND certificate_expire != '0000-00-00' AND certificate_expire BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL $expire_days DAY))";
}
} else {
// Default - any
$expire_days = '';
$expire_query = '';
}
if (!$client_url) {
// Client Filter
if (isset($_GET['client']) & !empty($_GET['client'])) {
@@ -52,6 +67,7 @@ $sql = mysqli_query($mysqli, "SELECT SQL_CALC_FOUND_ROWS * FROM certificates
AND (certificate_name LIKE '%$q%' OR certificate_domain LIKE '%$q%' OR certificate_description LIKE '%$q%' OR certificate_issued_by LIKE '%$q%' OR client_name LIKE '%$q%')
$access_permission_query
$client_query
$expire_query
ORDER BY $sort $order LIMIT $record_from, $record_to"
);
@@ -94,9 +110,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<?php if ($client_url) { ?>
<div class="col-md-2"></div>
<?php } else { ?>
<?php if (!$client_url) { ?>
<div class="col-md-2">
<div class="input-group">
<select class="form-control select2" name="client" onchange="this.form.submit()">
@@ -125,7 +139,25 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
<?php } ?>
<div class="col-md-6">
<div class="col-md-2">
<div class="input-group mb-3 mb-md-0">
<select class="form-control select2" name="expire_days" onchange="this.form.submit()">
<option value="" <?php if ($expire_days == "") { echo "selected"; } ?>>- Expiring In -</option>
<option value="expired" <?php if ($expire_days === "expired") { echo "selected"; } ?>>Expired</option>
<option value="7" <?php if ($expire_days === 7) { echo "selected"; } ?>>7 Days</option>
<option value="30" <?php if ($expire_days === 30) { echo "selected"; } ?>>30 Days</option>
<option value="45" <?php if ($expire_days === 45) { echo "selected"; } ?>>45 Days</option>
<option value="60" <?php if ($expire_days === 60) { echo "selected"; } ?>>60 Days</option>
<option value="90" <?php if ($expire_days === 90) { echo "selected"; } ?>>90 Days</option>
</select>
</div>
</div>
<?php if ($client_url) { // filler ?>
<div class="col-md-2"></div>
<?php } ?>
<div class="col-md-4">
<div class="btn-group float-right">
<a href="?<?php echo $client_url; ?>archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">

View File

@@ -666,7 +666,7 @@ if ($user_config_dashboard_technical_enable == 1) {
<!-- ./col -->
<div class="col-lg-3 col-6">
<a class="small-box bg-warning" href="domains.php?sort=domain_expire&order=ASC">
<a class="small-box bg-warning" href="domains.php?expire_days=30&sort=domain_expire&order=ASC">
<div class="inner">
<h3><?php echo $expiring_domains; ?></h3>
<p>Expiring Domains <small>30 Day</small></p>
@@ -679,7 +679,7 @@ if ($user_config_dashboard_technical_enable == 1) {
<!-- ./col -->
<div class="col-lg-3 col-6">
<a class="small-box bg-primary" href="certificates.php?sort=certificate_expire&order=ASC">
<a class="small-box bg-primary" href="certificates.php?expire_days=30&sort=certificate_expire&order=ASC">
<div class="inner">
<h3><?php echo $expiring_certificates; ?></h3>
<p>Expiring Certificates<small>30 Day</small></p>
@@ -692,7 +692,7 @@ if ($user_config_dashboard_technical_enable == 1) {
<!-- ./col -->
<div class="col-lg-3 col-6">
<a class="small-box bg-purple" href="software.php?sort=software_expire&order=ASC">
<a class="small-box bg-purple" href="software.php?expire_days=30&sort=software_expire&order=ASC">
<div class="inner">
<h3><?= $expiring_licenses ?></h3>
<p>Expiring Licenses<small>30 Day</small></p>
@@ -705,7 +705,7 @@ if ($user_config_dashboard_technical_enable == 1) {
<!-- ./col -->
<div class="col-lg-3 col-6">
<a class="small-box bg-olive" href="assets.php?sort=asset_warranty_expire&order=ASC&show_column[]=Warranty_Expire">
<a class="small-box bg-olive" href="assets.php?expire_days=30&sort=asset_warranty_expire&order=ASC&show_column[]=Warranty_Expire">
<div class="inner">
<h3><?= $expiring_asset_warranties ?></h3>
<p>Expiring Asset Warranties<small>30 Day</small></p>

View File

@@ -34,6 +34,21 @@ if (isset($_GET['client_id'])) {
// Perms
enforceUserPermission('module_support');
// Expiring In Filter
if (isset($_GET['expire_days']) && !empty($_GET['expire_days'])) {
if ($_GET['expire_days'] == "expired") {
$expire_days = "expired";
$expire_query = "AND (domain_expire IS NOT NULL AND domain_expire != '0000-00-00' AND domain_expire < CURDATE())";
} else {
$expire_days = intval($_GET['expire_days']);
$expire_query = "AND (domain_expire IS NOT NULL AND domain_expire != '0000-00-00' AND domain_expire BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL $expire_days DAY))";
}
} else {
// Default - any
$expire_days = '';
$expire_query = '';
}
if (!$client_url) {
// Client Filter
if (isset($_GET['client']) & !empty($_GET['client'])) {
@@ -65,6 +80,7 @@ $sql = mysqli_query($mysqli, "SELECT SQL_CALC_FOUND_ROWS domains.*, clients.*,
AND $archive_query
$access_permission_query
$client_query
$expire_query
ORDER BY $sort $order LIMIT $record_from, $record_to");
$num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
@@ -106,9 +122,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<?php if ($client_url) { ?>
<div class="col-md-2"></div>
<?php } else { ?>
<?php if (!$client_url) { ?>
<div class="col-md-2">
<div class="input-group mb-3 mb-md-0">
<select class="form-control select2" name="client" onchange="this.form.submit()">
@@ -137,7 +151,25 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
<?php } ?>
<div class="col-md-6">
<div class="col-md-2">
<div class="input-group mb-3 mb-md-0">
<select class="form-control select2" name="expire_days" onchange="this.form.submit()">
<option value="" <?php if ($expire_days == "") { echo "selected"; } ?>>- Expiring In -</option>
<option value="expired" <?php if ($expire_days === "expired") { echo "selected"; } ?>>Expired</option>
<option value="7" <?php if ($expire_days === 7) { echo "selected"; } ?>>7 Days</option>
<option value="30" <?php if ($expire_days === 30) { echo "selected"; } ?>>30 Days</option>
<option value="45" <?php if ($expire_days === 45) { echo "selected"; } ?>>45 Days</option>
<option value="60" <?php if ($expire_days === 60) { echo "selected"; } ?>>60 Days</option>
<option value="90" <?php if ($expire_days === 90) { echo "selected"; } ?>>90 Days</option>
</select>
</div>
</div>
<?php if ($client_url) { // filler ?>
<div class="col-md-2"></div>
<?php } ?>
<div class="col-md-4">
<div class="btn-group float-right">
<a href="?<?php echo $client_url; ?>archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">

View File

@@ -34,6 +34,21 @@ if (isset($_GET['client_id'])) {
// Perms
enforceUserPermission('module_support');
// Expiring In Filter
if (isset($_GET['expire_days']) && !empty($_GET['expire_days'])) {
if ($_GET['expire_days'] == "expired") {
$expire_days = "expired";
$expire_query = "AND (software_expire IS NOT NULL AND software_expire != '0000-00-00' AND software_expire < CURDATE())";
} else {
$expire_days = intval($_GET['expire_days']);
$expire_query = "AND (software_expire IS NOT NULL AND software_expire != '0000-00-00' AND software_expire BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL $expire_days DAY))";
}
} else {
// Default - any
$expire_days = '';
$expire_query = '';
}
if (!$client_url) {
// Client Filter
if (isset($_GET['client']) & !empty($_GET['client'])) {
@@ -55,6 +70,7 @@ $sql = mysqli_query(
AND $archive_query
$access_permission_query
$client_query
$expire_query
ORDER BY $sort $order LIMIT $record_from, $record_to");
$num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
@@ -103,9 +119,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
</div>
<?php if ($client_url) { ?>
<div class="col-md-2"></div>
<?php } else { ?>
<?php if (!$client_url) { ?>
<div class="col-md-2">
<div class="input-group mb-3 mb-md-0">
<select class="form-control select2" name="client" onchange="this.form.submit()">
@@ -134,7 +148,25 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</div>
<?php } ?>
<div class="col-md-6">
<div class="col-md-2">
<div class="input-group mb-3 mb-md-0">
<select class="form-control select2" name="expire_days" onchange="this.form.submit()">
<option value="" <?php if ($expire_days == "") { echo "selected"; } ?>>- Expiring In -</option>
<option value="expired" <?php if ($expire_days === "expired") { echo "selected"; } ?>>Expired</option>
<option value="7" <?php if ($expire_days === 7) { echo "selected"; } ?>>7 Days</option>
<option value="30" <?php if ($expire_days === 30) { echo "selected"; } ?>>30 Days</option>
<option value="45" <?php if ($expire_days === 45) { echo "selected"; } ?>>45 Days</option>
<option value="60" <?php if ($expire_days === 60) { echo "selected"; } ?>>60 Days</option>
<option value="90" <?php if ($expire_days === 90) { echo "selected"; } ?>>90 Days</option>
</select>
</div>
</div>
<?php if ($client_url) { // filler ?>
<div class="col-md-2"></div>
<?php } ?>
<div class="col-md-4">
<div class="float-right">
<a href="?<?php echo $client_url; ?>archived=<?php if($archived == 1){ echo 0; } else { echo 1; } ?>"
class="btn btn-<?php if($archived == 1){ echo "primary"; } else { echo "default"; } ?>">