[Web] Allow spam/ham "traps"

[Web] Changes to docker functions
[Web] List all containers of compose project name
This commit is contained in:
André
2018-07-29 00:38:22 +02:00
parent 15b80760b2
commit 8934a3a68b
13 changed files with 162 additions and 245 deletions

View File

@@ -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":