diff --git a/agent/post/software.php b/agent/post/software.php index f5914b1f7..3281a3975 100644 --- a/agent/post/software.php +++ b/agent/post/software.php @@ -200,6 +200,32 @@ if (isset($_GET['archive_software'])) { } +if(isset($_GET['restore_software'])){ + + validateCSRFToken(); + + enforceUserPermission('module_support', 2); + + $software_id = intval($_GET['restore_software']); + + // Get Software Name and Client ID for logging and alert message + $sql = mysqli_query($mysqli,"SELECT software_name, software_client_id FROM software WHERE software_id = $software_id"); + $row = mysqli_fetch_assoc($sql); + $software_name = escapeSql($row['software_name']); + $client_id = intval($row['software_client_id']); + + enforceClientAccess(); + + mysqli_query($mysqli,"UPDATE software SET software_archived_at = NULL WHERE software_id = $software_id"); + + logAudit("Software", "Restore", "$session_name restored software $software_name", $client_id, $software_id); + + flashAlert("Software $software_name restored"); + + redirect(); + +} + if (isset($_GET['delete_software'])) { validateCSRFToken(); diff --git a/agent/software.php b/agent/software.php index ce74433d6..c9092b08a 100644 --- a/agent/software.php +++ b/agent/software.php @@ -65,7 +65,7 @@ $sql = mysqli_query( $mysqli, "SELECT SQL_CALC_FOUND_ROWS client_id, client_name, software_created_at, software_description, software_expire, software_id, software_license_type, software_name, software_seats, software_type, - software_version, vendor_id, vendor_name FROM software + software_version, software_archived_at, vendor_id, vendor_name FROM software LEFT JOIN clients ON client_id = software_client_id LEFT JOIN vendors ON vendor_id = software_vendor_id WHERE (software_name LIKE '%$q%' OR software_type LIKE '%$q%' OR software_key LIKE '%$q%' OR client_name LIKE '%$q%') @@ -236,6 +236,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); $software_license_type = escapeHtml($row['software_license_type']) ?: '-'; $software_seats = escapeHtml($row['software_seats']); $software_expire = escapeHtml($row['software_expire']); + $software_archived_at = escapeHtml($row['software_archived_at']); $vendor_name = escapeHtml($row['vendor_name']); $vendor_id = intval($row['vendor_id']); if ($vendor_name) { @@ -321,13 +322,19 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));