Update to fix some of the improper working of the results page. This does not fix the SCC result parsing...still working on that.
This commit is contained in:
parent
3ffd9b971e
commit
1645914d32
@ -4269,13 +4269,13 @@ class db
|
||||
public function get_Finding_Count_By_Status($cat_id, $status, $cat = null, $ctrl = null)
|
||||
{
|
||||
$joins = [
|
||||
"LEFT JOIN sagacity.target_checklist tc ON t.id=tc.tgt_id",
|
||||
"LEFT JOIN sagacity.pdi_checklist_lookup pcl ON pcl.checklist_id=tc.chk_id",
|
||||
"LEFT JOIN sagacity.findings f ON f.pdi_id=pcl.pdi_id AND t.id=f.tgt_id",
|
||||
"LEFT JOIN sagacity.findings_status fs ON fs.id=f.findings_status_id"
|
||||
"JOIN target_checklist tc ON t.id = tc.tgt_id",
|
||||
"JOIN pdi_checklist_lookup pcl ON pcl.checklist_id = tc.chk_id",
|
||||
"LEFT JOIN findings f ON f.pdi_id = pcl.pdi_id AND t.id = f.tgt_id",
|
||||
"LEFT JOIN findings_status fs ON fs.id = f.findings_status_id"
|
||||
];
|
||||
if (!is_null($ctrl)) {
|
||||
$joins[] = "JOIN `sagacity`.`finding_controls` fc ON fc.`finding_id`=f.`id`";
|
||||
$joins[] = "JOIN finding_controls fc ON fc.finding_id = f.id";
|
||||
}
|
||||
|
||||
$where = [
|
||||
@ -4323,20 +4323,20 @@ class db
|
||||
}
|
||||
|
||||
$field = ($status == 'Not Reviewed' ? "COUNT(DISTINCT(pcl.pdi_id)) AS 'count'" : "COUNT(DISTINCT(f.id)) AS 'count'");
|
||||
$this->help->select_count("sagacity.target t", $where, ['table_joins' => $joins]);
|
||||
$this->help->select_count("target t", $where, ['table_joins' => $joins]);
|
||||
$this->help->sql = str_replace("COUNT(1) AS 'count'", $field, $this->help->sql);
|
||||
|
||||
$cnt = $this->help->execute();
|
||||
|
||||
$joins = [
|
||||
"LEFT JOIN sagacity.pdi_checklist_lookup pcl ON pcl.checklist_id=c.id",
|
||||
"LEFT JOIN sagacity.findings f ON f.pdi_id=pcl.pdi_id",
|
||||
"LEFT JOIN sagacity.findings_status fs ON f.findings_status_id=fs.id",
|
||||
"JOIN sagacity.target t ON t.id=f.tgt_id"
|
||||
"JOIN pdi_checklist_lookup pcl ON pcl.checklist_id = c.id",
|
||||
"JOIN findings f ON f.pdi_id = pcl.pdi_id",
|
||||
"LEFT JOIN findings_status fs ON f.findings_status_id = fs.id",
|
||||
"JOIN target t ON t.id = f.tgt_id"
|
||||
];
|
||||
|
||||
if (!is_null($ctrl) && is_a($ctrl, 'proc_ia_controls')) {
|
||||
$joins[] = "JOIN sagacity.finding_controls fc ON fc.finding_id=f.id";
|
||||
$joins[] = "JOIN finding_controls fc ON fc.finding_id = f.id";
|
||||
}
|
||||
|
||||
$where = [
|
||||
@ -4388,7 +4388,7 @@ class db
|
||||
];
|
||||
}
|
||||
|
||||
$this->help->select_count("sagacity.checklist c", $where, array('table_joins' => $joins));
|
||||
$this->help->select_count("checklist c", $where, array('table_joins' => $joins));
|
||||
$this->help->sql = str_replace("COUNT(1) AS 'count'", $field, $this->help->sql);
|
||||
|
||||
$cnt += $this->help->execute();
|
||||
@ -8404,8 +8404,11 @@ class db
|
||||
}
|
||||
|
||||
if ($del_tgts) {
|
||||
/**
|
||||
* @var host_list $host
|
||||
*/
|
||||
foreach ($scan->get_Host_List() as $host) {
|
||||
$this->delete_Target($host->targetId);
|
||||
$this->delete_Target($host->getTargetId());
|
||||
}
|
||||
}
|
||||
|
||||
@ -9845,6 +9848,7 @@ class db
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to retrieve the category count data from the database for a specific category
|
||||
*
|
||||
* @param ste_cat $cat
|
||||
*/
|
||||
@ -9854,12 +9858,14 @@ class db
|
||||
if($cat->get_ID()) {
|
||||
$where[] = [
|
||||
'field' => 'cat_id',
|
||||
'op' => '=',
|
||||
'value' => $cat->get_ID()
|
||||
];
|
||||
}
|
||||
else {
|
||||
$where[] = [
|
||||
'field' => 'ste_id',
|
||||
'op' => '=',
|
||||
'value' => $cat->get_STE_ID()
|
||||
];
|
||||
}
|
||||
@ -11343,8 +11349,8 @@ class db
|
||||
]
|
||||
], [
|
||||
'table_joins' => [
|
||||
"LEFT JOIN target_checklist tc ON tc.tgt_id = t.id",
|
||||
"LEFT JOIN pdi_checklist_lookup pcl ON tc.chk_id = pcl.checklist_id",
|
||||
"JOIN target_checklist tc ON tc.tgt_id = t.id",
|
||||
"JOIN pdi_checklist_lookup pcl ON tc.chk_id = pcl.checklist_id",
|
||||
"LEFT JOIN findings f ON f.tgt_id = t.id AND f.pdi_id = pcl.pdi_id",
|
||||
"LEFT JOIN findings_status fs ON f.findings_status_id = fs.id"
|
||||
],
|
||||
@ -11382,6 +11388,7 @@ class db
|
||||
$na += $row['finding_count'];
|
||||
break;
|
||||
case 'Not Reviewed':
|
||||
case 'No Data':
|
||||
$nr += $row['finding_count'];
|
||||
break;
|
||||
case 'Open':
|
||||
@ -11566,11 +11573,17 @@ class db
|
||||
if (!$tgt->is_PP_Suspended()) {
|
||||
$this->post_Processing($tgt->get_ID());
|
||||
}
|
||||
else {
|
||||
$this->update_Target_Counts($tgt->get_ID());
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ($pp === true) {
|
||||
$this->post_Processing($tgt->get_ID());
|
||||
}
|
||||
else {
|
||||
$this->update_Target_Counts($tgt->get_ID());
|
||||
}
|
||||
}
|
||||
|
||||
$this->help->replace("target_net_meta", [
|
||||
|
@ -55,27 +55,21 @@ set_time_limit(120);
|
||||
|
||||
$db = new db();
|
||||
|
||||
$sources = $db->get_Sources();
|
||||
$task_status = $db->get_Task_Statuses();
|
||||
|
||||
$ste_id = filter_input(INPUT_POST, 'ste', FILTER_VALIDATE_INT);
|
||||
if (!$ste_id) {
|
||||
if (! $ste_id) {
|
||||
$ste_id = filter_input(INPUT_COOKIE, 'ste', FILTER_VALIDATE_INT);
|
||||
}
|
||||
$status = filter_input(INPUT_POST, 'status', FILTER_SANITIZE_STRING);
|
||||
$type = filter_input(INPUT_POST, 'type', FILTER_SANITIZE_STRING);
|
||||
$scans = [];
|
||||
$status = filter_input(INPUT_POST, 'status', FILTER_SANITIZE_STRING);
|
||||
$type = filter_input(INPUT_POST, 'type', FILTER_SANITIZE_STRING);
|
||||
$scans = [];
|
||||
|
||||
if ($type != 'all' && $status != 'all') {
|
||||
$scans = $db->get_ScanData($ste_id, null, $status, $type);
|
||||
}
|
||||
elseif ($type != 'all') {
|
||||
} elseif ($type != 'all') {
|
||||
$scans = $db->get_ScanData($ste_id, null, null, $type);
|
||||
}
|
||||
elseif ($status != 'all') {
|
||||
} elseif ($status != 'all') {
|
||||
$scans = $db->get_ScanData($ste_id, null, $status);
|
||||
}
|
||||
elseif (isset($ste_id)) {
|
||||
} elseif (isset($ste_id)) {
|
||||
$scans = $db->get_ScanData($ste_id);
|
||||
}
|
||||
|
||||
@ -86,76 +80,81 @@ $stes = $db->get_STE();
|
||||
|
||||
<!-- add in page style tags for Results page size -->
|
||||
<style type="text/css">
|
||||
.scan_type {
|
||||
width: 25px;
|
||||
}
|
||||
.scan_type {
|
||||
width: 25px;
|
||||
}
|
||||
|
||||
#importBtn {
|
||||
margin: auto;
|
||||
width: 1200px;
|
||||
text-align: right;
|
||||
}
|
||||
#importBtn {
|
||||
margin: auto;
|
||||
width: 1200px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#host_list_frame {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
#host_list_frame {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#progress p {
|
||||
width: 1000px;
|
||||
}
|
||||
#progress p {
|
||||
width: 1000px;
|
||||
}
|
||||
|
||||
/* Results Management list host button */
|
||||
.button-list {
|
||||
display: inline-block;
|
||||
outline: 0;
|
||||
white-space: nowrap;
|
||||
background: #A4C1DD;
|
||||
box-shadow: inset 0px 0px 0px 1px #192364, 0px 2px 3px 0px rgba(0, 0, 0, 0.25);
|
||||
border: solid 1px #102D5F;
|
||||
border-radius: 6px;
|
||||
background-image: -moz-linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
background-image: -webkit-linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#A4C1DD), to(#1D57A0));
|
||||
background-image: -ms-linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
background-image: -o-linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
background-image: linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
text-decoration: none;
|
||||
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
|
||||
font-size: 12pt;
|
||||
color: #fff;
|
||||
font-family: 'Yanone Kaffeesatz';
|
||||
width: 70px;
|
||||
height: 30px;
|
||||
}
|
||||
/* Results Management list host button */
|
||||
.button-list {
|
||||
display: inline-block;
|
||||
outline: 0;
|
||||
white-space: nowrap;
|
||||
background: #A4C1DD;
|
||||
box-shadow: inset 0px 0px 0px 1px #192364, 0px 2px 3px 0px
|
||||
rgba(0, 0, 0, 0.25);
|
||||
border: solid 1px #102D5F;
|
||||
border-radius: 6px;
|
||||
background-image: -moz-linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
background-image: -webkit-linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#A4C1DD),
|
||||
to(#1D57A0));
|
||||
background-image: -ms-linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
background-image: -o-linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
background-image: linear-gradient(top, #A4C1DD, #1D57A0);
|
||||
text-decoration: none;
|
||||
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5);
|
||||
font-size: 12pt;
|
||||
color: #fff;
|
||||
font-family: 'Yanone Kaffeesatz';
|
||||
width: 70px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
/* Button mouseover Activity for scan table */
|
||||
.mouseover-scan {
|
||||
background: #E55234;
|
||||
box-shadow: inset 0px 0px 0px 1px #F5AC97, 0px 2px 3px 0px rgba(0, 0, 0, 0.25);
|
||||
border: solid 1px #B72204;
|
||||
border-radius: 6px;
|
||||
background-image: -moz-linear-gradient(top, #B41D08, #EB6541);
|
||||
background-image: -webkit-linear-gradient(top, #B41D08, #EB6541);
|
||||
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#B41D08), to(#EB6541));
|
||||
background-image: -ms-linear-gradient(top, #B41D08, #EB6541);
|
||||
background-image: -o-linear-gradient(top, #B41D08, #EB6541);
|
||||
background-image: linear-gradient(top, #B41D08, #EB6541);
|
||||
}
|
||||
/* Button mouseover Activity for scan table */
|
||||
.mouseover-scan {
|
||||
background: #E55234;
|
||||
box-shadow: inset 0px 0px 0px 1px #F5AC97, 0px 2px 3px 0px
|
||||
rgba(0, 0, 0, 0.25);
|
||||
border: solid 1px #B72204;
|
||||
border-radius: 6px;
|
||||
background-image: -moz-linear-gradient(top, #B41D08, #EB6541);
|
||||
background-image: -webkit-linear-gradient(top, #B41D08, #EB6541);
|
||||
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#B41D08),
|
||||
to(#EB6541));
|
||||
background-image: -ms-linear-gradient(top, #B41D08, #EB6541);
|
||||
background-image: -o-linear-gradient(top, #B41D08, #EB6541);
|
||||
background-image: linear-gradient(top, #B41D08, #EB6541);
|
||||
}
|
||||
|
||||
td span {
|
||||
display: none;
|
||||
}
|
||||
td span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.checklist_image {
|
||||
width: 32px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.checklist_image {
|
||||
width: 32px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type='text/javascript'>
|
||||
var to;
|
||||
var table;
|
||||
var button;
|
||||
<?php if (NOTIFICATIONS && file_exists("complete.mp3")) { ?>
|
||||
var audio = new Audio("complete.mp3");
|
||||
<?php } ?>
|
||||
@ -211,16 +210,19 @@ $stes = $db->get_STE();
|
||||
for (var x in data.results) {
|
||||
var kill = '';
|
||||
var scan_id = data.results[x].scan_id;
|
||||
if ($('#id-' + scan_id).length) {
|
||||
var cur_status = table.cell(table.rows('#id-' + scan_id), 5).data();
|
||||
table.cell(table.rows('#id-' + scan_id), 4).data(data.results[x].run_time);
|
||||
table.cell(table.rows('#id-' + scan_id), 5).data(data.results[x].status);
|
||||
table.cell(table.rows('#id-' + scan_id), 6).data("<progress min='0' max='100' value='" + data.results[x].perc_comp + "' title='" + data.results[x].perc_comp + "%'></progress><span>" + data.results[x].perc_comp + "</span>");
|
||||
var row = table.row('#id-' + scan_id);
|
||||
if(row.length) {
|
||||
var idx = row.index();
|
||||
tmp = row.data();
|
||||
var cur_status = tmp[5];
|
||||
tmp[4] = data.results[x].run_time;
|
||||
tmp[5] = data.results[x].status;
|
||||
tmp[6] = "<progress min='0' max='100' value='" + data.results[x].perc_comp + "' title='" + data.results[x].perc_comp + "%'></progress><span>" + data.results[x].perc_comp + "</span>";
|
||||
kill = $('#action-' + scan_id + ' .kill');
|
||||
if (data.results[x].status === 'RUNNING' && !kill.length) {
|
||||
$('#action-' + scan_id).append("<a class='kill-link' href='kill.php?ste=<?php print $ste_id; ?>&id=" + scan_id + "&pid=" + data.results[x].pid + "' target='_blank'>" +
|
||||
tmp[7] += "<a class='kill-link' href='kill.php?ste=<?php print $ste_id; ?>&id=" + scan_id + "&pid=" + data.results[x].pid + "' target='_blank'>" +
|
||||
"<img class='kill checklist_image' src='/img/X.png' style='vertical-align:middle;' title='Kill' />" +
|
||||
"</a>");
|
||||
"</a>";
|
||||
}
|
||||
else if (cur_status === 'RUNNING' && data.results[x].status === 'COMPLETE') {
|
||||
$('#action-' + scan_id + '.kill-link').remove();
|
||||
@ -228,6 +230,7 @@ $stes = $db->get_STE();
|
||||
audio.play();
|
||||
<?php } ?>
|
||||
}
|
||||
table.row(idx).invalidate(tmp).draw(false);
|
||||
}
|
||||
else {
|
||||
if ($('#status').val() && $('#type').val()) {
|
||||
@ -266,25 +269,23 @@ $stes = $db->get_STE();
|
||||
row.append("<td class='dt-body-center' id='action-" + scan_id + "'>" +
|
||||
(data.results[x].error ? "<img src='/img/error.png' class='checklist_image' onclick='javascript:List_host(" + scan_id + ");' />" : "") +
|
||||
"<a href='javascript:void(0);' title='Host Listing' onclick='javascript:List_host(" + scan_id + ");'><img src='/img/options.png' class='checklist_image' /></a> " +
|
||||
"<form method='post' action='index.php' onsubmit='return del_scan(this);' style='display:inline;'>" +
|
||||
"<input type='hidden' name='ste' value='<?php print $ste_id ?>' />" +
|
||||
"<input type='hidden' name='delete_scan' value='" + scan_id + "' />" +
|
||||
"<input type='hidden' name='delete_targets' value='0' />" +
|
||||
"<input type='image' class='checklist_image' src='/img/delete.png' border='0' alt='Delete' />" +
|
||||
"</form>" + kill
|
||||
"<img src='/img/delete.png' class='checklist_image' " +
|
||||
"onclick='scan_id=" + scan_id + ";del_scan($(this));' " +
|
||||
"title='Delete a scan file' />"
|
||||
+ kill
|
||||
);
|
||||
table.row.add(row[0]);
|
||||
}
|
||||
}
|
||||
|
||||
table.order(table.order()[0]).draw();
|
||||
table.order(table.order()[0]).draw(false);
|
||||
$('.button-delete,.button-list').mouseover(function () {
|
||||
$(this).addClass('mouseover-scan');
|
||||
});
|
||||
$('.button-delete,.button-list').mouseout(function () {
|
||||
$(this).removeClass('mouseover-scan');
|
||||
});
|
||||
if ($('#toggle_refresh').val() === 'Stop Refresh') {
|
||||
if ($('#toggle_refresh').val() === 'Stop Refresh' && (!$('#delete-target-confirm').dialog('isOpen') || !$('#delete-scan-confirm').dialog('isOpen'))) {
|
||||
to = setTimeout(update_script_status, <?php print UPDATE_FREQ * 1000; ?>);
|
||||
}
|
||||
},
|
||||
@ -296,8 +297,7 @@ $stes = $db->get_STE();
|
||||
dataType: 'json',
|
||||
//timeout: 5000,
|
||||
method: 'post'
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
/**
|
||||
*
|
||||
@ -329,8 +329,8 @@ $stes = $db->get_STE();
|
||||
<form method="post" action="index.php">
|
||||
ST&E Name:
|
||||
<select name='ste' style='width: 400px;' id="ste"
|
||||
onchange="setCookie('ste', this.value);this.form.submit();">
|
||||
<option value='0'> -- Please Select an ST&E -- </option>
|
||||
onchange="setCookie('ste', this.value);this.form.submit();">
|
||||
<option value='0'>-- Please Select an ST&E --</option>
|
||||
<?php
|
||||
if (is_array($stes) && count($stes)) {
|
||||
foreach ($stes as $ste) {
|
||||
@ -348,23 +348,26 @@ $stes = $db->get_STE();
|
||||
</div>
|
||||
<div id="importBtn">
|
||||
<!-- Results tab Import Button -->
|
||||
<input type='button' class="button" value='Stop Refresh'
|
||||
id="toggle_refresh" onclick="javascript:toggle_refresh();" />
|
||||
<input type='button' class='button' value='Import'
|
||||
onclick="javascript:add_import();" />
|
||||
<input type='button' class="button"
|
||||
value='Stop Refresh' id="toggle_refresh"
|
||||
onclick="javascript:toggle_refresh();" />
|
||||
<input type='button' class='button'
|
||||
value='Import'
|
||||
onclick="javascript:add_import();" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style='margin:20px auto auto auto;width:1200px;'>
|
||||
<table id="results-table" class='display compact hover' data-order='[[ 3, "desc" ]]' data-page-length='25'>
|
||||
<div style='margin: 20px auto auto auto; width: 1200px;'>
|
||||
<table id="results-table" class='display compact hover'
|
||||
data-page-length='25'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style='width:325px;'>Name</th>
|
||||
<th style='width:75px;'>Date</th>
|
||||
<th style='width:65px;'>
|
||||
<select id='type' style='width:60px;'>
|
||||
<th style='width: 325px;'>Name</th>
|
||||
<th style='width: 75px;'>Date</th>
|
||||
<th style='width: 65px;'>
|
||||
<select id='type' style='width: 60px;'>
|
||||
<option value=''>TYPE</option>
|
||||
<option>Data Collection</option>
|
||||
<option>eChecklist</option>
|
||||
@ -379,10 +382,10 @@ $stes = $db->get_STE();
|
||||
<option>STIG Viewer</option>
|
||||
</select>
|
||||
</th>
|
||||
<th style='width:65px;'>Start</th>
|
||||
<th style='width: 65px;'>Start</th>
|
||||
<th>Running</th>
|
||||
<th style='width:80px;'>
|
||||
<select id='status' style='width:75px;'>
|
||||
<th style='width: 80px;'>
|
||||
<select id='status' style='width: 75px;'>
|
||||
<option value=''>STATUS</option>
|
||||
<option>IN QUEUE</option>
|
||||
<option>RUNNING</option>
|
||||
@ -393,8 +396,11 @@ $stes = $db->get_STE();
|
||||
</th>
|
||||
<th>% Comp</th>
|
||||
<th>Action
|
||||
<a href="kill.php?pid=*&ste=<?php print (isset($ste_id) ? $ste_id : '0'); ?>" target='_new'>
|
||||
<img src='/img/X.png' class='checklist_image' style='vertical-align:middle;' title='Kill and Remove All' />
|
||||
<a href="kill.php?pid=*&ste=<?php print (isset($ste_id) ? $ste_id : '0'); ?>"
|
||||
target='_new'>
|
||||
<img src='/img/X.png' class='checklist_image'
|
||||
style='vertical-align: middle;'
|
||||
title='Kill and Remove All' />
|
||||
</a>
|
||||
</th>
|
||||
</tr>
|
||||
@ -406,36 +412,45 @@ $stes = $db->get_STE();
|
||||
$diff = $scan->get_Last_Update()->diff($scan->get_Start_Time());
|
||||
|
||||
?>
|
||||
<tr id='<?php print "id-{$scan->get_ID()}"; ?>'>
|
||||
<td title='<?php print $scan->get_Notes(); ?>'><?php print $scan->get_File_Name(); ?></td>
|
||||
<td><?php print $scan->get_File_DateTime()->format("Y-m-d"); ?></td>
|
||||
<td class='dt-body-center'>
|
||||
<img class='scan_type' src='/img/scan_types/<?php print $scan->get_Source()->get_Icon(); ?>' title='<?php print $scan->get_Source()->get_Name(); ?>' /><br />
|
||||
<span><?php print $scan->get_Source()->get_Name(); ?></span>
|
||||
</td>
|
||||
<td><?php print $scan->get_Start_Time()->format("y-m-d H:i:s"); ?></td>
|
||||
<td><?php print (!is_null($diff) ? $diff->format("%H:%I:%S") : ""); ?></td>
|
||||
<td><?php print $scan->get_Status(); ?></td>
|
||||
<td>
|
||||
<progress min='0' max='100' value='<?php print $scan->get_Percentage_Complete(); ?>' title='<?php print $scan->get_Percentage_Complete(); ?>%'></progress>
|
||||
<span><?php print $scan->get_Percentage_Complete(); ?></span>
|
||||
</td>
|
||||
<td class='dt-body-center' id="action-<?php print $scan->get_ID(); ?>">
|
||||
<?php if ($scan->isScanError()) { ?>
|
||||
<img src='/img/error.png' class='checklist_image' onclick='javascript:List_host(<?php print $scan->get_ID(); ?>);' />
|
||||
<?php } ?>
|
||||
<a href='javascript:void(0);' title='Host Listing' onclick='javascript:List_host(<?php print $scan->get_ID(); ?>);'>
|
||||
<img src='/img/options.png' class='checklist_image' title='See what hosts are on this target' />
|
||||
</a>
|
||||
|
||||
<img src='/img/delete.png' class='checklist_image' onclick='scan_id =<?php print $scan->get_ID(); ?>;del_scan();' title='Delete a scan file' />
|
||||
<?php if ($scan->get_Status() == 'RUNNING') { ?>
|
||||
<a class='kill-link' href='kill.php?<?php print "ste={$ste_id}&id={$scan->get_ID()}&pid={$scan->get_PID()}"; ?>' target='_blank'>
|
||||
<img src='/img/X.png' class='kill checklist_image' style='vertical-align:middle;' title='Kill' />
|
||||
</a>
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id='<?php print "id-{$scan->get_ID()}"; ?>'>
|
||||
<td title='<?php print $scan->get_Notes(); ?>'><?php print $scan->get_File_Name(); ?></td>
|
||||
<td><?php print $scan->get_File_DateTime()->format("Y-m-d"); ?></td>
|
||||
<td class='dt-body-center'>
|
||||
<img class='scan_type' src='/img/scan_types/<?php print $scan->get_Source()->get_Icon(); ?>'
|
||||
title='<?php print $scan->get_Source()->get_Name(); ?>' /><br />
|
||||
<span><?php print $scan->get_Source()->get_Name(); ?></span>
|
||||
</td>
|
||||
<td><?php print $scan->get_Start_Time()->format("y-m-d H:i:s"); ?></td>
|
||||
<td><?php print (!is_null($diff) ? $diff->format("%H:%I:%S") : ""); ?></td>
|
||||
<td><?php print $scan->get_Status(); ?></td>
|
||||
<td>
|
||||
<progress min='0' max='100'
|
||||
value='<?php print $scan->get_Percentage_Complete(); ?>'
|
||||
title='<?php print $scan->get_Percentage_Complete(); ?>%'></progress>
|
||||
<span><?php print $scan->get_Percentage_Complete(); ?></span>
|
||||
</td>
|
||||
<td class='dt-body-center' id="action-<?php print $scan->get_ID(); ?>">
|
||||
<?php if ($scan->isScanError()) { ?>
|
||||
<img src='/img/error.png' class='checklist_image'
|
||||
onclick='javascript:List_host(<?php print $scan->get_ID(); ?>);' />
|
||||
<?php } ?>
|
||||
<a href='javascript:void(0);' title='Host Listing'
|
||||
onclick='javascript:List_host(<?php print $scan->get_ID(); ?>);'>
|
||||
<img src='/img/options.png' class='checklist_image'
|
||||
title='See what hosts are on this target' />
|
||||
</a>
|
||||
<img src='/img/delete.png' class='checklist_image'
|
||||
onclick='scan_id=<?php print $scan->get_ID(); ?>;del_scan($(this));'
|
||||
title='Delete a scan file' />
|
||||
<?php if ($scan->get_Status() == 'RUNNING') { ?>
|
||||
<a class='kill-link' target='_blank'
|
||||
href='kill.php?<?php print "ste={$ste_id}&id={$scan->get_ID()}&pid={$scan->get_PID()}"; ?>'>
|
||||
<img src='/img/X.png' class='kill checklist_image'
|
||||
style='vertical-align: middle;' title='Kill' />
|
||||
</a>
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
@ -460,6 +475,18 @@ $stes = $db->get_STE();
|
||||
$(this).removeClass('mouseover-scan');
|
||||
});
|
||||
|
||||
$('#delete-target-confirm').on('dialogclose', function(e) {
|
||||
if ($('#toggle_refresh').val() === 'Stop Refresh' && !$('#delete-scan-confirm').dialog('isOpen')) {
|
||||
to = setTimeout(update_script_status, <?php print UPDATE_FREQ * 1000; ?>);
|
||||
}
|
||||
});
|
||||
|
||||
$('#delete-scan-confirm').on('dialogclose', function(e) {
|
||||
if ($('#toggle_refresh').val() === 'Stop Refresh') {
|
||||
to = setTimeout(update_script_status, <?php print UPDATE_FREQ * 1000; ?>);
|
||||
}
|
||||
});
|
||||
|
||||
$('#delete-target-confirm').dialog({
|
||||
autoOpen: false,
|
||||
resizable: false,
|
||||
@ -473,6 +500,7 @@ $stes = $db->get_STE();
|
||||
$(this).dialog('close');
|
||||
},
|
||||
'No': function () {
|
||||
delete_targets = false;
|
||||
$('#delete-scan-confirm').dialog('open');
|
||||
$(this).dialog('close');
|
||||
}
|
||||
@ -499,7 +527,7 @@ $stes = $db->get_STE();
|
||||
alert(data.error);
|
||||
}
|
||||
else if (data.success) {
|
||||
//alert(data.success);
|
||||
table.row($(button).closest('tr').index()).remove().draw();
|
||||
$('#id-' + scan_id).remove();
|
||||
}
|
||||
},
|
||||
@ -509,29 +537,44 @@ $stes = $db->get_STE();
|
||||
dataType: 'json',
|
||||
method: 'post'
|
||||
});
|
||||
if ($('#toggle_refresh').val() === 'Stop Refresh') {
|
||||
to = setTimeout(update_script_status, <?php print UPDATE_FREQ * 1000; ?>);
|
||||
}
|
||||
|
||||
$(this).dialog('close');
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog('close');
|
||||
if ($('#toggle_refresh').val() === 'Stop Refresh') {
|
||||
to = setTimeout(update_script_status, <?php print UPDATE_FREQ * 1000; ?>);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function del_scan(pressed_button) {
|
||||
if ($('#toggle_refresh').val() == 'Stop Refresh') {
|
||||
clearTimeout(to);
|
||||
to = null;
|
||||
}
|
||||
button = pressed_button;
|
||||
$('#delete-target-confirm').dialog('open');
|
||||
}
|
||||
</script>
|
||||
|
||||
<div id='delete-target-confirm' title='Delete associated targets?'>
|
||||
<p><span class='ui-icon ui-icon-alert' style='float:left;margin:12px 12px 20px 0;'></span> Do you want to delete the associated targets?</p><br />
|
||||
<p>WARNING: This will delete ALL targets in this scan and all associated data even if it was imported from another scan. This action is irreversible</p>
|
||||
<p>
|
||||
<span class='ui-icon ui-icon-alert'
|
||||
style='float: left; margin: 12px 12px 20px 0;'></span> Do
|
||||
you want to delete the associated targets?
|
||||
</p>
|
||||
<br />
|
||||
<p>WARNING: This will delete ALL targets in this scan and all
|
||||
associated data even if it was imported from another scan. This
|
||||
action is irreversible</p>
|
||||
</div>
|
||||
|
||||
<div id='delete-scan-confirm' title='Delete this scan?'>
|
||||
<p><span class='ui-icon ui-icon-alert' style='float:left;margin:12px 12px 20px 0;'></span> Are you sure you want to delete this scan?</p>
|
||||
<p>
|
||||
<span class='ui-icon ui-icon-alert'
|
||||
style='float: left; margin: 12px 12px 20px 0;'></span> Are
|
||||
you sure you want to delete this scan?
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- code for list button -->
|
||||
|
@ -66,11 +66,3 @@ function add_import() {
|
||||
$('#import').css('display', 'block');
|
||||
view_box();
|
||||
}
|
||||
|
||||
function del_scan(form) {
|
||||
if ($('#toggle_refresh').val() == 'Stop Refresh') {
|
||||
clearTimeout(to);
|
||||
to = null;
|
||||
}
|
||||
$('#delete-target-confirm').dialog('open');
|
||||
}
|
||||
|
4
results/results_script.min.js
vendored
4
results/results_script.min.js
vendored
@ -1,2 +1,2 @@
|
||||
|
||||
$(function(){$(".close, .backdrop").click(function(){close_box()})});function List_host(a){$("#host_list_frame").attr("src","host_list_iframe.php?ste="+$("#ste").val()+"&scan_id="+a);$("#host_list_div").animate({opacity:"1.00"},300,"linear");$("#host_list_div").css("display","block");view_box()}function close_box(){$(".backdrop, .box").animate({opacity:"0"},300,"linear",function(){$(".backdrop, .box").css("display","none")});$(".dz-complete").remove();$(".dz-message").show()}function view_box(){$(".backdrop").animate({opacity:".5"},300,"linear");$(".backdrop").css("display","block")}function add_import(){if($("#ste").val()<1){alert("Please select an ST&E");return}$("#add_import").val($("#ste").val());$("#import").animate({opacity:"1.00"},300,"linear");$("#import").css("display","block");view_box()}function del_scan(a){if($("#toggle_refresh").val()=="Stop Refresh"){clearTimeout(to);to=null}$("#delete-target-confirm").dialog("open")};
|
||||
$(function(){$(".close, .backdrop").click(function(){close_box();});});function List_host(scan_id){$("#host_list_frame").attr("src","host_list_iframe.php?ste="+$("#ste").val()+"&scan_id="+scan_id);$("#host_list_div").animate({"opacity":"1.00"},300,"linear");$("#host_list_div").css("display","block");view_box();}function close_box(){$(".backdrop, .box").animate({"opacity":"0"},300,"linear",function(){$(".backdrop, .box").css("display","none");});$(".dz-complete").remove();$(".dz-message").show();}function view_box(){$(".backdrop").animate({"opacity":".5"},300,"linear");
|
||||
$(".backdrop").css("display","block");}function add_import(){if($("#ste").val()<1){alert("Please select an ST&E");return;}$("#add_import").val($("#ste").val());$("#import").animate({"opacity":"1.00"},300,"linear");$("#import").css("display","block");view_box();}
|
Loading…
Reference in New Issue
Block a user