mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2024-12-09 08:50:05 +08:00
[Web] Add ACL for unlimited quota (default 0)
This commit is contained in:
parent
c612f7ee4c
commit
14e57cf80f
@ -757,6 +757,14 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||
$password2 = $_data['password2'];
|
||||
$name = ltrim(rtrim($_data['name'], '>'), '<');
|
||||
$quota_m = intval($_data['quota']);
|
||||
if ((!isset($_SESSION['acl']['unlimited_quota']) || $_SESSION['acl']['quarantine_notification'] != "1") && $quota_m === 0) {
|
||||
$_SESSION['return'][] = array(
|
||||
'type' => 'danger',
|
||||
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
|
||||
'msg' => 'unlimited_quota_acl'
|
||||
);
|
||||
return false;
|
||||
}
|
||||
if (empty($name)) {
|
||||
$name = $local_part;
|
||||
}
|
||||
@ -2000,6 +2008,15 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||
);
|
||||
continue;
|
||||
}
|
||||
// if already 0 == ok
|
||||
if ((!isset($_SESSION['acl']['unlimited_quota']) || $_SESSION['acl']['unlimited_quota'] != "1") && ($quota_m == 0 && $is_now['quota'] != 0)) {
|
||||
$_SESSION['return'][] = array(
|
||||
'type' => 'danger',
|
||||
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
|
||||
'msg' => 'unlimited_quota_acl'
|
||||
);
|
||||
return false;
|
||||
}
|
||||
$stmt = $pdo->prepare("SELECT `quota`, `maxquota`
|
||||
FROM `domain`
|
||||
WHERE `domain` = :domain");
|
||||
|
@ -3,7 +3,7 @@ function init_db_schema() {
|
||||
try {
|
||||
global $pdo;
|
||||
|
||||
$db_version = "27012019_1217";
|
||||
$db_version = "30032019_1905";
|
||||
|
||||
$stmt = $pdo->query("SHOW TABLES LIKE 'versions'");
|
||||
$num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
|
||||
@ -464,6 +464,7 @@ function init_db_schema() {
|
||||
"filters" => "TINYINT(1) NOT NULL DEFAULT '1'",
|
||||
"ratelimit" => "TINYINT(1) NOT NULL DEFAULT '1'",
|
||||
"spam_policy" => "TINYINT(1) NOT NULL DEFAULT '1'",
|
||||
"unlimited_quota" => "TINYINT(1) NOT NULL DEFAULT '0'",
|
||||
"alias_domains" => "TINYINT(1) NOT NULL DEFAULT '0'",
|
||||
),
|
||||
"keys" => array(
|
||||
|
@ -19,6 +19,7 @@ $lang['footer']['cancel'] = 'Abbrechen';
|
||||
$lang['footer']['hibp_nok'] = 'Übereinstimmung gefunden! Dieses Passwort ist potentiell gefährlich!';
|
||||
$lang['footer']['hibp_ok'] = 'Keine Übereinstimmung gefunden.';
|
||||
|
||||
$lang['danger']['unlimited_quota_acl'] = "Unendliche Quota untersagt durch ACL";
|
||||
$lang['danger']['mysql_error'] = "MySQL Fehler: %s";
|
||||
$lang['danger']['redis_error'] = "Redis Fehler: %s";
|
||||
$lang['danger']['unknown_tfa_method'] = "Unbekannte TFA Methode";
|
||||
@ -405,6 +406,7 @@ $lang['acl']['bcc_maps'] = 'BCC Maps';
|
||||
$lang['acl']['filters'] = 'Filter';
|
||||
$lang['acl']['ratelimit'] = 'Rate limit';
|
||||
$lang['acl']['recipient_maps'] = 'Empfängerumschreibungen';
|
||||
$lang['acl']['unlimited_quota'] = 'Unendliche Quota für Mailboxen';
|
||||
$lang['acl']['prohibited'] = 'Untersagt durch Richtlinie';
|
||||
|
||||
$lang['mailbox']['quarantine_notification'] = 'Quarantäne-Benachrichtigung';
|
||||
|
@ -20,6 +20,7 @@ $lang['footer']['cancel'] = 'Cancel';
|
||||
$lang['footer']['hibp_nok'] = 'Matched! This is a potentially dangerous password!';
|
||||
$lang['footer']['hibp_ok'] = 'No match found.';
|
||||
|
||||
$lang['danger']['unlimited_quota_acl'] = "Unlimited quota prohibited by ACL";
|
||||
$lang['danger']['mysql_error'] = "MySQL error: %s";
|
||||
$lang['danger']['redis_error'] = "Redis error: %s";
|
||||
$lang['danger']['unknown_tfa_method'] = "Unknown TFA method";
|
||||
@ -418,6 +419,7 @@ $lang['acl']['bcc_maps'] = 'BCC maps';
|
||||
$lang['acl']['filters'] = 'Filters';
|
||||
$lang['acl']['ratelimit'] = 'Rate limit';
|
||||
$lang['acl']['recipient_maps'] = 'Recipient maps';
|
||||
$lang['acl']['unlimited_quota'] = 'Unlimited quota for mailboxes';
|
||||
$lang['acl']['prohibited'] = 'Prohibited by ACL';
|
||||
|
||||
$lang['mailbox']['quarantine_notification'] = 'Quarantine notifications';
|
||||
|
Loading…
Reference in New Issue
Block a user