[Web] Allow spam/ham "traps"
[Web] Changes to docker functions [Web] List all containers of compose project name
This commit is contained in:
@@ -167,7 +167,9 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
|
||||
if ($data) {
|
||||
$return = array();
|
||||
$stats_array = json_decode($data, true)['actions'];
|
||||
$stats_array['soft reject'] = $stats_array['soft reject'] + $stats_array['greylist'];
|
||||
if (!empty($stats_array['soft reject']) || !empty($stats_array['greylist'])) {
|
||||
$stats_array['soft reject'] = $stats_array['soft reject'] + $stats_array['greylist'];
|
||||
}
|
||||
unset($stats_array['greylist']);
|
||||
foreach ($stats_array as $action => $count) {
|
||||
$return[] = array($action, $count);
|
||||
@@ -178,154 +180,6 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
|
||||
echo '{}';
|
||||
}
|
||||
break;
|
||||
case "stat":
|
||||
$data = file_get_contents('http://rspamd-mailcow:11334/stat');
|
||||
process_get_return($data);
|
||||
break;
|
||||
case "graph":
|
||||
switch ($extra) {
|
||||
case "hourly":
|
||||
$data = file_get_contents('http://rspamd-mailcow:11334/graph?type=hourly');
|
||||
if (!empty($data)) {
|
||||
$data_array = json_decode($data, true);
|
||||
$rejected['label'] = "reject";
|
||||
foreach ($data_array[0] as $dataset) {
|
||||
$rejected['data'][] = $dataset;
|
||||
}
|
||||
$temp_reject['label'] = "temp_reject";
|
||||
foreach ($data_array[1] as $dataset) {
|
||||
$temp_reject['data'][] = $dataset;
|
||||
}
|
||||
$add_header['label'] = "add_header";
|
||||
foreach ($data_array[2] as $dataset) {
|
||||
$add_header['data'][] = $dataset;
|
||||
}
|
||||
$prob_spam['label'] = "prob_spam";
|
||||
foreach ($data_array[3] as $dataset) {
|
||||
$prob_spam['data'][] = $dataset;
|
||||
}
|
||||
$greylist['label'] = "greylist";
|
||||
foreach ($data_array[4] as $dataset) {
|
||||
$greylist['data'][] = $dataset;
|
||||
}
|
||||
$clean['label'] = "clean";
|
||||
$clean['pointStyle'] = "cross";
|
||||
foreach ($data_array[5] as $dataset) {
|
||||
$clean['data'][] = $dataset;
|
||||
}
|
||||
echo json_encode(array($rejected, $temp_reject, $add_header, $prob_spam, $greylist, $clean), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
}
|
||||
elseif (!isset($data) || empty($data)) {
|
||||
echo '{}';
|
||||
}
|
||||
break;
|
||||
case "daily":
|
||||
$data = file_get_contents('http://rspamd-mailcow:11334/graph?type=daily');
|
||||
if (!empty($data)) {
|
||||
$data_array = json_decode($data, true);
|
||||
$rejected['label'] = "reject";
|
||||
foreach ($data_array[0] as $dataset) {
|
||||
$rejected['data'][] = $dataset;
|
||||
}
|
||||
$temp_reject['label'] = "temp_reject";
|
||||
foreach ($data_array[1] as $dataset) {
|
||||
$temp_reject['data'][] = $dataset;
|
||||
}
|
||||
$add_header['label'] = "add_header";
|
||||
foreach ($data_array[2] as $dataset) {
|
||||
$add_header['data'][] = $dataset;
|
||||
}
|
||||
$prob_spam['label'] = "prob_spam";
|
||||
foreach ($data_array[3] as $dataset) {
|
||||
$prob_spam['data'][] = $dataset;
|
||||
}
|
||||
$greylist['label'] = "greylist";
|
||||
foreach ($data_array[4] as $dataset) {
|
||||
$greylist['data'][] = $dataset;
|
||||
}
|
||||
$clean['label'] = "clean";
|
||||
$clean['pointStyle'] = "cross";
|
||||
foreach ($data_array[5] as $dataset) {
|
||||
$clean['data'][] = $dataset;
|
||||
}
|
||||
echo json_encode(array($rejected, $temp_reject, $add_header, $prob_spam, $greylist, $clean), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
}
|
||||
elseif (!isset($data) || empty($data)) {
|
||||
echo '{}';
|
||||
}
|
||||
break;
|
||||
case "weekly":
|
||||
$data = file_get_contents('http://rspamd-mailcow:11334/graph?type=weekly');
|
||||
if (!empty($data)) {
|
||||
$data_array = json_decode($data, true);
|
||||
$rejected['label'] = "reject";
|
||||
foreach ($data_array[0] as $dataset) {
|
||||
$rejected['data'][] = $dataset;
|
||||
}
|
||||
$temp_reject['label'] = "temp_reject";
|
||||
foreach ($data_array[1] as $dataset) {
|
||||
$temp_reject['data'][] = $dataset;
|
||||
}
|
||||
$add_header['label'] = "add_header";
|
||||
foreach ($data_array[2] as $dataset) {
|
||||
$add_header['data'][] = $dataset;
|
||||
}
|
||||
$prob_spam['label'] = "prob_spam";
|
||||
foreach ($data_array[3] as $dataset) {
|
||||
$prob_spam['data'][] = $dataset;
|
||||
}
|
||||
$greylist['label'] = "greylist";
|
||||
foreach ($data_array[4] as $dataset) {
|
||||
$greylist['data'][] = $dataset;
|
||||
}
|
||||
$clean['label'] = "clean";
|
||||
$clean['pointStyle'] = "cross";
|
||||
foreach ($data_array[5] as $dataset) {
|
||||
$clean['data'][] = $dataset;
|
||||
}
|
||||
echo json_encode(array($rejected, $temp_reject, $add_header, $prob_spam, $greylist, $clean), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
}
|
||||
elseif (!isset($data) || empty($data)) {
|
||||
echo '{}';
|
||||
}
|
||||
break;
|
||||
case "monthly":
|
||||
$data = file_get_contents('http://rspamd-mailcow:11334/graph?type=monthly');
|
||||
if (!empty($data)) {
|
||||
$data_array = json_decode($data, true);
|
||||
$rejected['label'] = "reject";
|
||||
foreach ($data_array[0] as $dataset) {
|
||||
$rejected['data'][] = $dataset;
|
||||
}
|
||||
$temp_reject['label'] = "temp_reject";
|
||||
foreach ($data_array[1] as $dataset) {
|
||||
$temp_reject['data'][] = $dataset;
|
||||
}
|
||||
$add_header['label'] = "add_header";
|
||||
foreach ($data_array[2] as $dataset) {
|
||||
$add_header['data'][] = $dataset;
|
||||
}
|
||||
$prob_spam['label'] = "prob_spam";
|
||||
foreach ($data_array[3] as $dataset) {
|
||||
$prob_spam['data'][] = $dataset;
|
||||
}
|
||||
$greylist['label'] = "greylist";
|
||||
foreach ($data_array[4] as $dataset) {
|
||||
$greylist['data'][] = $dataset;
|
||||
}
|
||||
$clean['label'] = "clean";
|
||||
$clean['pointStyle'] = "cross";
|
||||
foreach ($data_array[5] as $dataset) {
|
||||
$clean['data'][] = $dataset;
|
||||
}
|
||||
echo json_encode(array($rejected, $temp_reject, $add_header, $prob_spam, $greylist, $clean), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
}
|
||||
elseif (!isset($data) || empty($data)) {
|
||||
echo '{}';
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case "domain":
|
||||
|
Reference in New Issue
Block a user