bernd commited on 2011-07-17 13:28:37
Zeige 3 geänderte Dateien mit 23 Einfügungen und 4 Löschungen.
git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@2024 87cf0b9e-d624-0410-a070-f6ee81989793
| ... | ... |
@@ -97,6 +97,9 @@ if ($is_mailbox and $account['quota']) {
|
| 97 | 97 |
|
| 98 | 98 |
$form .= "<p style=\"margin-left: 2em;\" class=\"quota_options\">Größe des Postfachs: <input type=\"text\" id=\"quota\" name=\"quota\" value=\"{$quota}\" /> MB<br /><span style=\"font-size: 80%\"><em>Hinweis: Die Differenz zwischen dem hier gesetzten Wert und dem Sockelbetrag von ".config('vmail_basequota')." MB wird vom Speicherplatz Ihres Benutzer-Kontos abgezogen.</em></span></p>";
|
| 99 | 99 |
|
| 100 |
+$quota_notify = ($account['quota_threshold'] >= 0) ? ' checked="checked" ' : ''; |
|
| 101 |
+$quota_threshold = ($account['quota_threshold'] >= 0) ? $account['quota_threshold'] : ''; |
|
| 102 |
+$form .= "<p style=\"margin-left: 2em;\" class=\"quota_options\"><input type=\"checkbox\" id=\"quota_notify\" name=\"quota_notify\" value=\"1\" {$quota_notify} /><label for=\"quota_notify\">Benachrichtigung wenn weniger als</label> <input type=\"text\" name=\"quota_threshold\" id=\"quota_threshold\" value=\"{$quota_threshold}\" /> MB Speicherplatz zur Verfügung stehen.</p>";
|
|
| 100 | 103 |
|
| 101 | 104 |
|
| 102 | 105 |
$form .= "<p><input type=\"checkbox\" id=\"forward\" name=\"forward\" value=\"yes\" ".($is_forward ? 'checked="checked" ' : '')." /><label for=\"forward\"> <strong>Weiterleitung an andere E-Mail-Adressen</strong></label></p>"; |
| ... | ... |
@@ -16,6 +16,7 @@ function empty_account() |
| 16 | 16 |
'spamfilter' => 'folder', |
| 17 | 17 |
'spamexpire' => 7, |
| 18 | 18 |
'quota' => config('vmail_basequota'),
|
| 19 |
+ 'quota_threshold' => 20, |
|
| 19 | 20 |
'forwards' => array() |
| 20 | 21 |
); |
| 21 | 22 |
return $account; |
| ... | ... |
@@ -27,7 +28,7 @@ function get_account_details($id, $checkuid = true) |
| 27 | 28 |
$id = (int) $id; |
| 28 | 29 |
$uid = (int) $_SESSION['userinfo']['uid']; |
| 29 | 30 |
$uid_check = ($checkuid ? "useraccount='{$uid}' AND " : "");
|
| 30 |
- $result = db_query("SELECT id, local, domain, password, spamfilter, forwards, server, quota, quota_used from mail.v_vmail_accounts WHERE {$uid_check}id={$id} LIMIT 1");
|
|
| 31 |
+ $result = db_query("SELECT id, local, domain, password, spamfilter, forwards, server, quota, quota_used, quota_threshold from mail.v_vmail_accounts WHERE {$uid_check}id={$id} LIMIT 1");
|
|
| 31 | 32 |
if (mysql_num_rows($result) == 0) |
| 32 | 33 |
system_failure('Ungültige ID oder kein eigener Account');
|
| 33 | 34 |
$acc = empty_account(); |
| ... | ... |
@@ -43,6 +44,9 @@ function get_account_details($id, $checkuid = true) |
| 43 | 44 |
array_push($acc['forwards'], array("id" => $item['id'], 'spamfilter' => $item['spamfilter'], 'destination' => $item['destination']));
|
| 44 | 45 |
} |
| 45 | 46 |
} |
| 47 |
+ if ($acc['quota_threshold'] === NULL) {
|
|
| 48 |
+ $acc['quota_threshold'] = -1; |
|
| 49 |
+ } |
|
| 46 | 50 |
return $acc; |
| 47 | 51 |
} |
| 48 | 52 |
|
| ... | ... |
@@ -226,6 +230,13 @@ function save_vmail_account($account) |
| 226 | 230 |
|
| 227 | 231 |
$account['quota'] = $newquota; |
| 228 | 232 |
|
| 233 |
+ if ($account['quota_threshold'] == -1) {
|
|
| 234 |
+ $account['quota_threshold'] = 'NULL'; |
|
| 235 |
+ } |
|
| 236 |
+ else {
|
|
| 237 |
+ $account['quota_threshold'] = min( (int) $account['quota_threshold'], (int) $account['quota'] ); |
|
| 238 |
+ } |
|
| 239 |
+ |
|
| 229 | 240 |
$account['local'] = mysql_real_escape_string($account['local']); |
| 230 | 241 |
$account['password'] = mysql_real_escape_string($account['password']); |
| 231 | 242 |
$account['spamexpire'] = (int) $account['spamexpire']; |
| ... | ... |
@@ -233,8 +244,8 @@ function save_vmail_account($account) |
| 233 | 244 |
$query = ''; |
| 234 | 245 |
if ($id == NULL) |
| 235 | 246 |
{
|
| 236 |
- $query = "INSERT INTO mail.vmail_accounts (local, domain, spamfilter, spamexpire, password, quota) VALUES "; |
|
| 237 |
- $query .= "('{$account['local']}', {$account['domain']}, {$spam}, {$account['spamexpire']}, {$password}, {$account['quota']});";
|
|
| 247 |
+ $query = "INSERT INTO mail.vmail_accounts (local, domain, spamfilter, spamexpire, password, quota, quota_threshold) VALUES "; |
|
| 248 |
+ $query .= "('{$account['local']}', {$account['domain']}, {$spam}, {$account['spamexpire']}, {$password}, {$account['quota']}, {$account['quota_threshold']});";
|
|
| 238 | 249 |
} |
| 239 | 250 |
else |
| 240 | 251 |
{
|
| ... | ... |
@@ -243,7 +254,7 @@ function save_vmail_account($account) |
| 243 | 254 |
else |
| 244 | 255 |
$password=''; |
| 245 | 256 |
$query = "UPDATE mail.vmail_accounts SET local='{$account['local']}', domain={$account['domain']}{$password}, ";
|
| 246 |
- $query .= "spamfilter={$spam}, spamexpire={$account['spamexpire']}, quota={$account['quota']} ";
|
|
| 257 |
+ $query .= "spamfilter={$spam}, spamexpire={$account['spamexpire']}, quota={$account['quota']}, quota_threshold={$account['quota_threshold']} ";
|
|
| 247 | 258 |
$query .= "WHERE id={$id} LIMIT 1;";
|
| 248 | 259 |
} |
| 249 | 260 |
db_query($query); |
| ... | ... |
@@ -36,6 +36,11 @@ if ($_GET['action'] == 'edit') |
| 36 | 36 |
$account['quota'] = $_POST['quota']; |
| 37 | 37 |
} |
| 38 | 38 |
|
| 39 |
+ $account['quota_threshold'] = -1; |
|
| 40 |
+ if (isset($_POST['quota_notify']) && isset($_POST['quota_threshold']) && $_POST['quota_notify'] == 1) {
|
|
| 41 |
+ $account['quota_threshold'] = $_POST['quota_threshold']; |
|
| 42 |
+ } |
|
| 43 |
+ |
|
| 39 | 44 |
if (isset($_POST['forward']) && $_POST['forward'] == 'yes') |
| 40 | 45 |
{
|
| 41 | 46 |
$num = 1; |
| 42 | 47 |