diff --git a/data/conf/rspamd/local.d/metadata_exporter.conf b/data/conf/rspamd/local.d/metadata_exporter.conf index 0c0ce1d8..f1600708 100644 --- a/data/conf/rspamd/local.d/metadata_exporter.conf +++ b/data/conf/rspamd/local.d/metadata_exporter.conf @@ -1,5 +1,5 @@ rules { - QUARANTAINE { + QUARANTINE { backend = "http"; url = "http://nginx:9081/pipe.php"; selector = "is_reject"; diff --git a/data/conf/rspamd/meta_exporter/pipe.php b/data/conf/rspamd/meta_exporter/pipe.php index 31f5daac..5c9026af 100644 --- a/data/conf/rspamd/meta_exporter/pipe.php +++ b/data/conf/rspamd/meta_exporter/pipe.php @@ -133,12 +133,12 @@ foreach (json_decode($rcpts, true) as $rcpt) { // Loop through all found gotos foreach ($gotos_array as $index => &$goto) { - error_log("quarantaine pipe: query " . $goto . " as username from mailbox"); + error_log("quarantine pipe: query " . $goto . " as username from mailbox"); $stmt = $pdo->prepare("SELECT `username` FROM `mailbox` WHERE `username` = :goto AND `active`= '1';"); $stmt->execute(array(':goto' => $goto)); $username = $stmt->fetch(PDO::FETCH_ASSOC)['username']; if (!empty($username)) { - error_log("quarantaine pipe: mailbox found: " . $username); + error_log("quarantine pipe: mailbox found: " . $username); // Current goto is a mailbox, save to rcpt_final_mailboxes if not a duplicate if (!in_array($username, $rcpt_final_mailboxes)) { $rcpt_final_mailboxes[] = $username; @@ -153,7 +153,7 @@ foreach (json_decode($rcpts, true) as $rcpt) { $stmt = $pdo->prepare("SELECT `goto` FROM `alias` WHERE `address` = :goto AND `active` = '1'"); $stmt->execute(array(':goto' => $goto)); $goto_branch = $stmt->fetch(PDO::FETCH_ASSOC)['goto']; - error_log("quarantaine pipe: goto address " . $goto . " is a alias branch for " . $goto_branch); + error_log("quarantine pipe: goto address " . $goto . " is a alias branch for " . $goto_branch); $goto_branch_array = explode(',', $goto_branch); } } @@ -173,7 +173,7 @@ foreach (json_decode($rcpts, true) as $rcpt) { // Force exit if loop cannot be solved // Postfix does not allow for alias loops, so this should never happen. $loop_c++; - error_log("quarantaine pipe: goto array count on loop #". $loop_c . " is " . count($gotos_array)); + error_log("quarantine pipe: goto array count on loop #". $loop_c . " is " . count($gotos_array)); } } catch (PDOException $e) { @@ -184,9 +184,9 @@ foreach (json_decode($rcpts, true) as $rcpt) { } foreach ($rcpt_final_mailboxes as $rcpt) { - error_log("quarantaine pipe: processing quarantaine message for rcpt " . $rcpt); + error_log("quarantine pipe: processing quarantine message for rcpt " . $rcpt); try { - $stmt = $pdo->prepare("INSERT INTO `quarantaine` (`qid`, `score`, `sender`, `rcpt`, `symbols`, `user`, `ip`, `msg`, `action`) + $stmt = $pdo->prepare("INSERT INTO `quarantine` (`qid`, `score`, `sender`, `rcpt`, `symbols`, `user`, `ip`, `msg`, `action`) VALUES (:qid, :score, :sender, :rcpt, :symbols, :user, :ip, :msg, :action)"); $stmt->execute(array( ':qid' => $qid, @@ -199,11 +199,11 @@ foreach ($rcpt_final_mailboxes as $rcpt) { ':msg' => $raw_data, ':action' => $action )); - $stmt = $pdo->prepare('DELETE FROM `quarantaine` WHERE `rcpt` = :rcpt AND `id` NOT IN ( + $stmt = $pdo->prepare('DELETE FROM `quarantine` WHERE `rcpt` = :rcpt AND `id` NOT IN ( SELECT `id` FROM ( SELECT `id` - FROM `quarantaine` + FROM `quarantine` WHERE `rcpt` = :rcpt2 ORDER BY id DESC LIMIT :retention_size diff --git a/data/web/admin.php b/data/web/admin.php index 0d4affd0..06881fa0 100644 --- a/data/web/admin.php +++ b/data/web/admin.php @@ -147,7 +147,7 @@ $tfa_data = get_tfa(); Relayhosts - + @@ -414,28 +414,28 @@ $tfa_data = get_tfa(); - +
-
+
- -
+ +
- +
- +
-
+
- +
diff --git a/data/web/css/quarantaine.css b/data/web/css/quarantine.css similarity index 90% rename from data/web/css/quarantaine.css rename to data/web/css/quarantine.css index 7a5ee761..2f7c5ecb 100644 --- a/data/web/css/quarantaine.css +++ b/data/web/css/quarantine.css @@ -28,10 +28,10 @@ table.footable>tbody>tr.footable-empty>td { width: 80%; } } -.mass-actions-quarantaine { +.mass-actions-Quarantine { user-select: none; padding:10px 0 10px 10px; } .inputMissingAttr { border-color: #FF4136; -} \ No newline at end of file +} diff --git a/data/web/inc/ajax/qitem_details.php b/data/web/inc/ajax/qitem_details.php index fc6434ed..801fd3d0 100644 --- a/data/web/inc/ajax/qitem_details.php +++ b/data/web/inc/ajax/qitem_details.php @@ -23,7 +23,7 @@ function rrmdir($src) { } if (!empty($_GET['id']) && ctype_alnum($_GET['id'])) { $tmpdir = '/tmp/' . $_GET['id'] . '/'; - $mailc = quarantaine('details', $_GET['id']); + $mailc = quarantine('details', $_GET['id']); if (strlen($mailc['msg']) > 10485760) { echo json_encode(array('error' => 'Message size exceeds 10 MiB.')); exit; diff --git a/data/web/inc/functions.quarantaine.inc.php b/data/web/inc/functions.quarantaine.inc.php index 15b8b94f..057ebb57 100644 --- a/data/web/inc/functions.quarantaine.inc.php +++ b/data/web/inc/functions.quarantaine.inc.php @@ -1,5 +1,5 @@ 'danger', 'msg' => sprintf($lang['danger']['access_denied']) @@ -28,12 +28,12 @@ function quarantaine($_action, $_data = null) { return false; } try { - $stmt = $pdo->prepare('SELECT `rcpt` FROM `quarantaine` WHERE `id` = :id'); + $stmt = $pdo->prepare('SELECT `rcpt` FROM `quarantine` WHERE `id` = :id'); $stmt->execute(array(':id' => $id)); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (hasMailboxObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $row['rcpt'])) { try { - $stmt = $pdo->prepare("DELETE FROM `quarantaine` WHERE `id` = :id"); + $stmt = $pdo->prepare("DELETE FROM `quarantine` WHERE `id` = :id"); $stmt->execute(array( ':id' => $id )); @@ -67,7 +67,7 @@ function quarantaine($_action, $_data = null) { ); break; case 'edit': - if (!isset($_SESSION['acl']['quarantaine']) || $_SESSION['acl']['quarantaine'] != "1" ) { + if (!isset($_SESSION['acl']['quarantine']) || $_SESSION['acl']['quarantine'] != "1" ) { $_SESSION['return'] = array( 'type' => 'danger', 'msg' => sprintf($lang['danger']['access_denied']) @@ -121,7 +121,7 @@ function quarantaine($_action, $_data = null) { return false; } try { - $stmt = $pdo->prepare('SELECT `msg`, `qid`, `sender`, `rcpt` FROM `quarantaine` WHERE `id` = :id'); + $stmt = $pdo->prepare('SELECT `msg`, `qid`, `sender`, `rcpt` FROM `quarantine` WHERE `id` = :id'); $stmt->execute(array(':id' => $id)); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!hasMailboxObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $row['rcpt'])) { @@ -167,13 +167,13 @@ function quarantaine($_action, $_data = null) { $mail->Port = 590; $mail->setFrom($sender); $mail->CharSet = 'UTF-8'; - $mail->Subject = sprintf($lang['quarantaine']['release_subject'], $row['qid']); + $mail->Subject = sprintf($lang['quarantine']['release_subject'], $row['qid']); $mail->addAddress($row['rcpt']); $mail->IsHTML(false); $msg_tmpf = tempnam("/tmp", $row['qid']); file_put_contents($msg_tmpf, $row['msg']); $mail->addAttachment($msg_tmpf, $row['qid'] . '.eml'); - $mail->Body = sprintf($lang['quarantaine']['release_body']); + $mail->Body = sprintf($lang['quarantine']['release_body']); $mail->send(); unlink($msg_tmpf); } @@ -186,7 +186,7 @@ function quarantaine($_action, $_data = null) { return false; } try { - $stmt = $pdo->prepare("DELETE FROM `quarantaine` WHERE `id` = :id"); + $stmt = $pdo->prepare("DELETE FROM `quarantine` WHERE `id` = :id"); $stmt->execute(array( ':id' => $id )); @@ -209,7 +209,7 @@ function quarantaine($_action, $_data = null) { case 'get': try { if ($_SESSION['mailcow_cc_role'] == "user") { - $stmt = $pdo->prepare('SELECT `id`, `qid`, `rcpt`, `sender`, UNIX_TIMESTAMP(`created`) AS `created` FROM `quarantaine` WHERE `rcpt` = :mbox'); + $stmt = $pdo->prepare('SELECT `id`, `qid`, `rcpt`, `sender`, UNIX_TIMESTAMP(`created`) AS `created` FROM `quarantine` WHERE `rcpt` = :mbox'); $stmt->execute(array(':mbox' => $_SESSION['mailcow_cc_username'])); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); while($row = array_shift($rows)) { @@ -217,7 +217,7 @@ function quarantaine($_action, $_data = null) { } } elseif ($_SESSION['mailcow_cc_role'] == "admin") { - $stmt = $pdo->query('SELECT `id`, `qid`, `rcpt`, `sender`, UNIX_TIMESTAMP(`created`) AS `created` FROM `quarantaine`'); + $stmt = $pdo->query('SELECT `id`, `qid`, `rcpt`, `sender`, UNIX_TIMESTAMP(`created`) AS `created` FROM `quarantine`'); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); while($row = array_shift($rows)) { $q_meta[] = $row; @@ -226,7 +226,7 @@ function quarantaine($_action, $_data = null) { else { $domains = array_merge(mailbox('get', 'domains'), mailbox('get', 'alias_domains')); foreach ($domains as $domain) { - $stmt = $pdo->prepare('SELECT `id`, `qid`, `rcpt`, `sender`, UNIX_TIMESTAMP(`created`) AS `created` FROM `quarantaine` WHERE `rcpt` REGEXP :domain'); + $stmt = $pdo->prepare('SELECT `id`, `qid`, `rcpt`, `sender`, UNIX_TIMESTAMP(`created`) AS `created` FROM `quarantine` WHERE `rcpt` REGEXP :domain'); $stmt->execute(array(':domain' => '@' . $domain . '$')); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); while($row = array_shift($rows)) { @@ -270,7 +270,7 @@ function quarantaine($_action, $_data = null) { return false; } try { - $stmt = $pdo->prepare('SELECT `rcpt`, `symbols`, `msg`, `domain` FROM `quarantaine` WHERE `id`= :id'); + $stmt = $pdo->prepare('SELECT `rcpt`, `symbols`, `msg`, `domain` FROM `quarantine` WHERE `id`= :id'); $stmt->execute(array(':id' => $_data)); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (hasMailboxObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $row['rcpt'])) { @@ -287,4 +287,4 @@ function quarantaine($_action, $_data = null) { return false; break; } -} \ No newline at end of file +} diff --git a/data/web/inc/header.inc.php b/data/web/inc/header.inc.php index f0fd832a..253692fc 100644 --- a/data/web/inc/header.inc.php +++ b/data/web/inc/header.inc.php @@ -30,7 +30,7 @@ ' : null; ?> ' : null; ?> ' : null; ?> -' : null; ?> +' : null; ?> ' : null; ?> @@ -96,7 +96,7 @@ - > + > query("SHOW TABLES LIKE 'versions'"); $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC)); @@ -154,7 +154,7 @@ function init_db_schema() { ), "attr" => "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC" ), - "quarantaine" => array( + "quarantine" => array( "cols" => array( "id" => "INT NOT NULL AUTO_INCREMENT", "qid" => "VARCHAR(30) NOT NULL", @@ -244,7 +244,7 @@ function init_db_schema() { "syncjobs" => "TINYINT(1) NOT NULL DEFAULT '1'", "eas_reset" => "TINYINT(1) NOT NULL DEFAULT '1'", "filters" => "TINYINT(1) NOT NULL DEFAULT '1'", - "quarantaine" => "TINYINT(1) NOT NULL DEFAULT '1'", + "quarantine" => "TINYINT(1) NOT NULL DEFAULT '1'", "bcc_maps" => "TINYINT(1) NOT NULL DEFAULT '0'", "recipient_maps" => "TINYINT(1) NOT NULL DEFAULT '0'", ), @@ -621,7 +621,14 @@ function init_db_schema() { ); foreach ($tables as $table => $properties) { - $stmt = $pdo->query("SHOW TABLES LIKE '" . $table . "'"); + if ($table == 'quarantine') { + $stmt = $pdo->query("SHOW TABLES LIKE 'quarantaine'"); + $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC)); + if ($num_results != 0) { + $pdo->query("RENAME TABLE `quarantaine` TO `quarantine`"); + } + } + $stmt = $pdo->query("SHOW TABLES LIKE '" . $table . "'"); $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC)); if ($num_results != 0) { $stmt = $pdo->prepare("SELECT CONCAT('ALTER TABLE ', `table_schema`, '.', `table_name`, ' DROP FOREIGN KEY ', `constraint_name`, ';') AS `FKEY_DROP` FROM `information_schema`.`table_constraints` diff --git a/data/web/inc/prerequisites.inc.php b/data/web/inc/prerequisites.inc.php index c7a75fdc..f7041d07 100644 --- a/data/web/inc/prerequisites.inc.php +++ b/data/web/inc/prerequisites.inc.php @@ -83,7 +83,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.mailbox.inc.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.customize.inc.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.address_rewriting.inc.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.domain_admin.inc.php'; -require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.quarantaine.inc.php'; +require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.quarantine.inc.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.policy.inc.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.dkim.inc.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.fwdhost.inc.php'; diff --git a/data/web/js/quarantaine.js b/data/web/js/quarantine.js similarity index 92% rename from data/web/js/quarantaine.js rename to data/web/js/quarantine.js index 09a3b2df..bc2c4975 100644 --- a/data/web/js/quarantaine.js +++ b/data/web/js/quarantine.js @@ -6,8 +6,8 @@ jQuery(function($){ function escapeHtml(n){return String(n).replace(/[&<>"'`=\/]/g,function(n){return entityMap[n]})} function humanFileSize(i){if(Math.abs(i)<1024)return i+" B";var B=["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],e=-1;do{i/=1024,++e}while(Math.abs(i)>=1024&&e $items)) === false) { + if (quarantine('delete', array('id' => $items)) === false) { if (isset($_SESSION['return'])) { echo json_encode($_SESSION['return']); } @@ -2615,7 +2615,7 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u $attr = (array)json_decode($_POST['attr'], true); $postarray = array_merge(array('id' => $items), $attr); if (is_array($postarray['id'])) { - if (quarantaine('edit', $postarray) === false) { + if (quarantine('edit', $postarray) === false) { if (isset($_SESSION['return'])) { echo json_encode($_SESSION['return']); } @@ -2653,11 +2653,11 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u )); } break; - case "quarantaine": + case "quarantine": // Edit settings, does not need IDs if (isset($_POST['attr'])) { $postarray = json_decode($_POST['attr'], true); - if (quarantaine('edit', $postarray) === false) { + if (quarantine('edit', $postarray) === false) { if (isset($_SESSION['return'])) { echo json_encode($_SESSION['return']); } diff --git a/data/web/lang/lang.de.php b/data/web/lang/lang.de.php index 71587fcf..29451679 100644 --- a/data/web/lang/lang.de.php +++ b/data/web/lang/lang.de.php @@ -625,32 +625,32 @@ $lang['success']['reset_main_logo'] = "Standardgrafik wurde wiederhergestellt"; $lang['success']['items_released'] = "Ausgewählte Objekte wurden an Mailbox versendet"; $lang['danger']['imagick_exception'] = "Fataler Bildverarbeitungsfehler"; -$lang['quarantaine']['quarantaine'] = "Quarantäne"; -$lang['quarantaine']['qinfo'] = "Das Quarantänesystem speichert abgelehnte Nachrichten in der Datenbank. Dem Sender wird nicht signalisiert, dass seine E-Mail zugestellt wurde."; -$lang['quarantaine']['release'] = "Freigeben"; -$lang['quarantaine']['empty'] = 'Keine Einträge'; -$lang['quarantaine']['toggle_all'] = 'Alle auswählen'; -$lang['quarantaine']['quick_actions'] = 'Aktionen'; -$lang['quarantaine']['remove'] = 'Entfernen'; -$lang['quarantaine']['received'] = "Empfangen"; -$lang['quarantaine']['action'] = "Aktion"; -$lang['quarantaine']['rcpt'] = "Empfänger"; -$lang['quarantaine']['qid'] = "Rspamd QID"; -$lang['quarantaine']['sender'] = "Sender"; -$lang['quarantaine']['show_item'] = "Details"; -$lang['quarantaine']['check_hash'] = "Checksumme auf VirusTotal suchen"; -$lang['quarantaine']['qitem'] = "Quarantäneeintrag"; -$lang['quarantaine']['subj'] = "Betreff"; -$lang['quarantaine']['text_plain_content'] = "Inhalt (text/plain)"; -$lang['quarantaine']['text_from_html_content'] = "Inhalt (html, konvertiert)"; -$lang['quarantaine']['atts'] = "Anhänge"; +$lang['quarantine']['quarantine'] = "Quarantäne"; +$lang['quarantine']['qinfo'] = "Das Quarantänesystem speichert abgelehnte Nachrichten in der Datenbank. Dem Sender wird nicht signalisiert, dass seine E-Mail zugestellt wurde."; +$lang['quarantine']['release'] = "Freigeben"; +$lang['quarantine']['empty'] = 'Keine Einträge'; +$lang['quarantine']['toggle_all'] = 'Alle auswählen'; +$lang['quarantine']['quick_actions'] = 'Aktionen'; +$lang['quarantine']['remove'] = 'Entfernen'; +$lang['quarantine']['received'] = "Empfangen"; +$lang['quarantine']['action'] = "Aktion"; +$lang['quarantine']['rcpt'] = "Empfänger"; +$lang['quarantine']['qid'] = "Rspamd QID"; +$lang['quarantine']['sender'] = "Sender"; +$lang['quarantine']['show_item'] = "Details"; +$lang['quarantine']['check_hash'] = "Checksumme auf VirusTotal suchen"; +$lang['quarantine']['qitem'] = "Quarantäneeintrag"; +$lang['quarantine']['subj'] = "Betreff"; +$lang['quarantine']['text_plain_content'] = "Inhalt (text/plain)"; +$lang['quarantine']['text_from_html_content'] = "Inhalt (html, konvertiert)"; +$lang['quarantine']['atts'] = "Anhänge"; -$lang['header']['quarantaine'] = "Quarantäne"; +$lang['header']['quarantine'] = "Quarantäne"; $lang['header']['debug'] = "Debugging"; -$lang['quarantaine']['release_body'] = "Die ursprüngliche Nachricht wurde als EML-Datei im Anhang hinterlegt."; +$lang['quarantine']['release_body'] = "Die ursprüngliche Nachricht wurde als EML-Datei im Anhang hinterlegt."; $lang['danger']['release_send_failed'] = "Die Nachricht konnte nicht versendet werden: %s"; -$lang['quarantaine']['release_subject'] = "Potentiell schädliche Nachricht aus Quarantäne: %s"; +$lang['quarantine']['release_subject'] = "Potentiell schädliche Nachricht aus Quarantäne: %s"; $lang['mailbox']['bcc_map_type'] = "BCC Typ"; $lang['mailbox']['bcc_type'] = "BCC Typ"; @@ -676,4 +676,4 @@ $lang['mailbox']['sender_maps'] = 'Senderumschreibungen'; $lang['mailbox']['sender_map_info'] = 'Senderumschreibungen werden verwendet, um den Absender einer E-Mail noch vor dem Versand umzuschreiben.'; $lang['mailbox']['sender_map_old'] = 'Original Absender'; $lang['mailbox']['sender_map_new'] = 'Neuer Absender'; -$lang['mailbox']['add_sender_map_entry'] = 'Senderumschreibung hinzufügen'; \ No newline at end of file +$lang['mailbox']['add_sender_map_entry'] = 'Senderumschreibung hinzufügen'; diff --git a/data/web/lang/lang.en.php b/data/web/lang/lang.en.php index 0765d1e7..9dc91eb4 100644 --- a/data/web/lang/lang.en.php +++ b/data/web/lang/lang.en.php @@ -576,10 +576,10 @@ $lang['admin']['api_key'] = "API key"; $lang['admin']['activate_api'] = "Activate API"; $lang['admin']['regen_api_key'] = "Regenerate API key"; -$lang['admin']['quarantaine'] = "Quarantine"; -$lang['admin']['quarantaine_retention_size'] = "Retentions per mailbox:"; -$lang['admin']['quarantaine_max_size'] = "Maximum size in MiB (larger elements are discarded):"; -$lang['admin']['quarantaine_exclude_domains'] = "Exclude domains and alias-domains:"; +$lang['admin']['quarantine'] = "Quarantine"; +$lang['admin']['quarantine_retention_size'] = "Retentions per mailbox:"; +$lang['admin']['quarantine_max_size'] = "Maximum size in MiB (larger elements are discarded):"; +$lang['admin']['quarantine_exclude_domains'] = "Exclude domains and alias-domains:"; $lang['admin']['ui_texts'] = "UI labels and texts"; $lang['admin']['help_text'] = "Override help text below login mask (HTML allowed)"; @@ -620,32 +620,32 @@ $lang['success']['reset_main_logo'] = "Reset to default logo"; $lang['success']['items_released'] = "Selected items were released"; $lang['danger']['imagick_exception'] = "Error: Imagick exception while reading image"; -$lang['quarantaine']['quarantaine'] = "Quarantine"; -$lang['quarantaine']['qinfo'] = "The quarantine system will save rejected mail to the database, while the sender will not be given the impression of a delivered mail."; -$lang['quarantaine']['release'] = "Release"; -$lang['quarantaine']['empty'] = 'No results'; -$lang['quarantaine']['toggle_all'] = 'Toggle all'; -$lang['quarantaine']['quick_actions'] = 'Actions'; -$lang['quarantaine']['remove'] = 'Remove'; -$lang['quarantaine']['received'] = "Received"; -$lang['quarantaine']['action'] = "Action"; -$lang['quarantaine']['rcpt'] = "Recipient"; -$lang['quarantaine']['qid'] = "Rspamd QID"; -$lang['quarantaine']['sender'] = "Sender"; -$lang['quarantaine']['show_item'] = "Show item"; -$lang['quarantaine']['check_hash'] = "Search file hash @ VT"; -$lang['quarantaine']['qitem'] = "Quarantine item"; -$lang['quarantaine']['subj'] = "Subject"; -$lang['quarantaine']['text_plain_content'] = "Content (text/plain)"; -$lang['quarantaine']['text_from_html_content'] = "Content (converted html)"; -$lang['quarantaine']['atts'] = "Attachments"; +$lang['quarantine']['quarantine'] = "Quarantine"; +$lang['quarantine']['qinfo'] = "The quarantine system will save rejected mail to the database, while the sender will not be given the impression of a delivered mail."; +$lang['quarantine']['release'] = "Release"; +$lang['quarantine']['empty'] = 'No results'; +$lang['quarantine']['toggle_all'] = 'Toggle all'; +$lang['quarantine']['quick_actions'] = 'Actions'; +$lang['quarantine']['remove'] = 'Remove'; +$lang['quarantine']['received'] = "Received"; +$lang['quarantine']['action'] = "Action"; +$lang['quarantine']['rcpt'] = "Recipient"; +$lang['quarantine']['qid'] = "Rspamd QID"; +$lang['quarantine']['sender'] = "Sender"; +$lang['quarantine']['show_item'] = "Show item"; +$lang['quarantine']['check_hash'] = "Search file hash @ VT"; +$lang['quarantine']['qitem'] = "Quarantine item"; +$lang['quarantine']['subj'] = "Subject"; +$lang['quarantine']['text_plain_content'] = "Content (text/plain)"; +$lang['quarantine']['text_from_html_content'] = "Content (converted html)"; +$lang['quarantine']['atts'] = "Attachments"; -$lang['header']['quarantaine'] = "Quarantine"; +$lang['header']['quarantine'] = "Quarantine"; $lang['header']['debug'] = "Debug"; -$lang['quarantaine']['release_body'] = "We have attached your message as eml file to this message."; +$lang['quarantine']['release_body'] = "We have attached your message as eml file to this message."; $lang['danger']['release_send_failed'] = "Message could not be released: %s"; -$lang['quarantaine']['release_subject'] = "Potentially damaging quarantine item %s"; +$lang['quarantine']['release_subject'] = "Potentially damaging quarantine item %s"; $lang['mailbox']['bcc_map_type'] = "BCC type"; $lang['mailbox']['bcc_type'] = "BCC type"; @@ -671,4 +671,4 @@ $lang['mailbox']['sender_maps'] = 'Sender maps'; $lang['mailbox']['sender_map_info'] = 'Sender maps are used to replace the sender address on a message before it is sent.'; $lang['mailbox']['sender_map_old'] = 'Original sender'; $lang['mailbox']['sender_map_new'] = 'New sender'; -$lang['mailbox']['add_sender_map_entry'] = 'Add sender map'; \ No newline at end of file +$lang['mailbox']['add_sender_map_entry'] = 'Add sender map'; diff --git a/data/web/modals/quarantaine.php b/data/web/modals/quarantine.php similarity index 70% rename from data/web/modals/quarantaine.php rename to data/web/modals/quarantine.php index 698e3c36..41a63413 100644 --- a/data/web/modals/quarantaine.php +++ b/data/web/modals/quarantine.php @@ -9,24 +9,24 @@ if (!isset($_SESSION['mailcow_cc_role'])) {