File manager - Edit - /usr/local/cpanel/base/frontend/jupiter/cpguard/scanner/mscan_data.php
Back
<?php include_once dirname(__DIR__) . "/includes/init.php"; include_once $base_dir . "/classes/language.class.php"; include_once dirname(__DIR__) . "/classes/api.class.php"; $lang = new Language('manual_scan'); $api = new Api($current_user); $request = array(); /* * **************************************************************************** * ACTIONS ON SINGLE/MULTIPLE SELECTED ROWS * **************************************************************************** */ if (!empty($_POST['table_action']) && !empty($_POST['table_action_ids'])) { $request['table_action'] = filter_var($_POST['table_action']); if ($_POST['table_action'] == 'delete') { $request['ids'] = explode(',', filter_var($_POST['table_action_ids'])); } else if ($_POST['table_action'] == 'stop') { $request['id'] = filter_var($_POST['table_action_ids']); } $result = $api->request('manualScanAction', $request); } $start = filter_var($_POST['start']); $length = filter_var($_POST['length']); $column_index = filter_var($_POST['order'][0]['column']); // Column index $column_name = filter_var($_POST['columns'][$column_index]['data']); // Column name $column_sort_order = filter_var($_POST['order'][0]['dir']); // asc or desc $request = [ 'page' => ($start / $length) + 1, 'length' => $length, 'sort' => [$column_name => $column_sort_order] ]; $result = $api->request('manualScanData', $request); $response = array(); if($result['records']){ foreach ($result['records'] as $row) { $actions = ""; if (isset($row['actions']['view']) && $row['actions']['view'] == true) { $tooltip = $lang->_('mscan.table.actions.view', true); $actions = "<a class=\"view-log tooltip-toggle\" data-placement=\"left\" title=\"$tooltip\" data-infected-count=\"" . ($row['infected_count'] + $row['cms_infected_count']) . "\" data-scanid=\"" . $row['id'] . "\"><i class=\"la la-file-alt\"></i></a> "; } if (isset($row['actions']['delete']) && $row['actions']['delete'] == true) { $actions .= "<a class=\"table-action\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"Delete entry\" data-id=\"" . $row['id'] . "\" data-action=\"delete\"><i class=\"la la-trash\"></i></a>"; } if (isset($row['actions']['kill']) && $row['actions']['kill'] == true) { $actions .= "<a class=\"table-action\" data-toggle=\"tooltip\" data-placement=\"left\" title=\"Stop scan\"data-id=\"" . $row['id'] . "\" data-action=\"stop\"><i class=\"la la-power-off\"></i></a>"; } $response[] = array( "id" => $row['id'], "type" => strtoupper($row['type']), "target" => $row['target'] == 'ALL' ? 'All directories in watchlist' : $row['target'], "total_files" => $row['total_files'], "infected_count" => $row['infected_count'], "pid" => renderStatus($row), "start_time" => $row['start_time'], "actions" => $actions ); } } function renderStatus($scan) { if ($scan['status'] == 'queued') { $status = '<span class="badge badge-info"><i class="la la-hourglass-start fa-spin hourglass-animate"></i> In queue</span>'; } else if ($scan['status'] == 'running') { $progress = $scan['progress']['total'] != 0 ? round(($scan['progress']['completed'] / $scan['progress']['total']) * 100, 2) : 0; if ($progress < 50) { //needed to fix css gradient issue $progress_bar = 'style="background:none;background-image: linear-gradient(-90deg, #26C6DA ' . (100 - $progress) . '%, #007bff ' . $progress . '%);"'; } else { $progress_bar = 'style="background:none;background-image: linear-gradient(90deg, #007bff ' . $progress . '%, #26C6DA ' . (100 - $progress) . '%);"'; } $status = '<span class="badge badge-primary" ' . $progress_bar . '><i class="la la-circle-notch fa-spin"></i> Running..</span>'; } else if ($scan['status'] == 'completed') { $status = '<span class="badge badge-success"><i class="la la-check-circle"></i> Success</span>'; } else if ($scan['status'] == 'stopped') { $status = '<span class="badge badge-warning"><i class="la la-ban"></i> Stopped</span>'; } else { $status = '<span class="badge badge-secondary"><i class="la la-flag"></i> Failed</span>'; } return $status; } ## Response echo json_encode(array( "draw" => intval(filter_var($_POST['draw'])), "iTotalRecords" => $result['meta']['total']?$result['meta']['total']:0, "iTotalDisplayRecords" => $result['meta']['total']?$result['meta']['total']:0, "aaData" => $response ));
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings