Bernd Wurst commited on 2018-01-05 14:52:18
Zeige 1 geänderte Dateien mit 5 Einfügungen und 1 Löschungen.
... | ... |
@@ -193,7 +193,7 @@ function get_max_mailboxquota($server, $oldquota) { |
193 | 193 |
$result = db_query("SELECT systemquota - (COALESCE(systemquota_used,0) + COALESCE(mailquota,0)) AS free FROM system.v_quota WHERE uid=:uid AND server=:server", array(":uid" => $uid, ":server" => $server)); |
194 | 194 |
$item = $result->fetch(); |
195 | 195 |
DEBUG("Free space: ".$item['free']." / Really: ".($item['free'] + ($oldquota - config('vmail_basequota')))); |
196 |
- return $item['free'] + ($oldquota - config('vmail_basequota')); |
|
196 |
+ return max(0, $item['free'] + ($oldquota - config('vmail_basequota'))); |
|
197 | 197 |
} |
198 | 198 |
|
199 | 199 |
|
... | ... |
@@ -305,6 +305,10 @@ function save_vmail_account($account) |
305 | 305 |
$newquota = max((int) config('vmail_basequota'), (int) $account['quota']); |
306 | 306 |
if ($newquota > config('vmail_basequota') && $newquota > ($free+config('vmail_basequota'))) { |
307 | 307 |
$newquota = $free + config('vmail_basequota'); |
308 |
+ if ($account['quota'] >= $oldaccount['quota'] && $newquota < $oldaccount['quota']) { |
|
309 |
+ # Wenn das Limit künstlich reduziert wurde, dann maximal auf den alten Wert. |
|
310 |
+ $newquota = $oldaccount['quota']; |
|
311 |
+ } |
|
308 | 312 |
warning("Ihr Speicherplatz reicht für diese Postfach-Größe nicht mehr aus. Ihr Postfach wurde auf {$newquota} MB reduziert. Bitte beachten Sie, dass damit Ihr Benutzerkonto keinen freien Speicherplatz mehr aufweist!"); |
309 | 313 |
} |
310 | 314 |
|
311 | 315 |