bernd commited on 2010-04-06 14:52:49
Zeige 2 geänderte Dateien mit 52 Einfügungen und 3 Löschungen.
git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1709 87cf0b9e-d624-0410-a070-f6ee81989793
... | ... |
@@ -37,21 +37,25 @@ foreach ($user_domains as $domain) |
37 | 37 |
|
38 | 38 |
$features = array(); |
39 | 39 |
if ($domain->dns == 1) { |
40 |
+ if (dns_in_use($domain->id)) |
|
40 | 41 |
$features[] = 'DNS'; |
41 | 42 |
//if ($domain->autodns == 1) |
42 | 43 |
// $features[] = 'AutoDNS'; |
43 | 44 |
} |
44 | 45 |
$mailman = mailman_subdomains($domain->id); |
45 |
- if ($domain->mail != 'none') |
|
46 |
+ if (mail_in_use($domain->id)) |
|
46 | 47 |
$features[] = 'Mail'; |
47 | 48 |
if ($mailman) |
48 | 49 |
$features[] = 'Mailinglisten'; |
49 |
- if ($domain->webserver == 1) |
|
50 |
+ if (web_in_use($domain->id)) |
|
50 | 51 |
$features[] = 'Web'; |
51 | 52 |
if ($domain->jabber == 1) |
52 | 53 |
$features[] = 'Jabber'; |
53 | 54 |
|
54 |
- output(" <tr><td>{$domain->fqdn}</td><td>{$regdate}</td><td>".implode(', ', $features)."</td></tr>\n"); |
|
55 |
+ $features = implode(', ', $features); |
|
56 |
+ if (! $features) |
|
57 |
+ $features = '<em>unbenutzt</em>'; |
|
58 |
+ output(" <tr><td>{$domain->fqdn}</td><td>{$regdate}</td><td>{$features}</td></tr>\n"); |
|
55 | 59 |
} |
56 | 60 |
output('</table>'); |
57 | 61 |
output("<br />"); |
... | ... |
@@ -20,5 +20,50 @@ function mailman_subdomains($domain) |
20 | 20 |
return $ret; |
21 | 21 |
} |
22 | 22 |
|
23 |
+function dns_in_use($domain) |
|
24 |
+{ |
|
25 |
+ if ( ! in_array('dns', config('modules'))) |
|
26 |
+ return false; |
|
27 |
+ $domain = (int) $domain; |
|
28 |
+ $result = db_query("SELECT id FROM dns.custom_records WHERE domain={$domain}"); |
|
29 |
+ return (mysql_num_rows($result) > 0); |
|
30 |
+} |
|
31 |
+ |
|
32 |
+ |
|
33 |
+function mail_in_use($domain) |
|
34 |
+{ |
|
35 |
+ if ( ! in_array('email', config('modules'))) |
|
36 |
+ { |
|
37 |
+ return false; |
|
38 |
+ } |
|
39 |
+ $domain = (int) $domain; |
|
40 |
+ $result = db_query("SELECT mail FROM kundendaten.domains WHERE id={$domain}"); |
|
41 |
+ if (mysql_num_rows($result) < 1) |
|
42 |
+ system_failure("Domain not found"); |
|
43 |
+ $d = mysql_fetch_assoc($result); |
|
44 |
+ if ($d['mail'] == 'none') |
|
45 |
+ return false; // manually disabled |
|
46 |
+ $result = db_query("SELECT id FROM mail.virtual_mail_domains WHERE domain={$domain}"); |
|
47 |
+ if (mysql_num_rows($result) < 1) |
|
48 |
+ return true; // .courier |
|
49 |
+ $result = db_query("SELECT acc.id FROM mail.vmail_accounts acc LEFT JOIN mail.virtual_mail_domains dom ON (acc.domain=dom.id) WHERE dom.domain={$domain}"); |
|
50 |
+ return (mysql_num_rows($result) > 0); |
|
51 |
+} |
|
52 |
+ |
|
53 |
+function web_in_use($domain) |
|
54 |
+{ |
|
55 |
+ if ( ! in_array('vhosts', config('modules'))) |
|
56 |
+ return false; |
|
57 |
+ |
|
58 |
+ $domain = (int) $domain; |
|
59 |
+ |
|
60 |
+ $result = db_query("SELECT id FROM kundendaten.domains WHERE id={$domain} AND webserver=1"); |
|
61 |
+ if (mysql_num_rows($result) < 1) |
|
62 |
+ return false; |
|
63 |
+ |
|
64 |
+ $result = db_query("SELECT id FROM vhosts.vhost WHERE domain={$domain}"); |
|
65 |
+ $result2 = db_query("SELECT id FROM vhosts.alias WHERE domain={$domain}"); |
|
66 |
+ return (mysql_num_rows($result) > 0 || mysql_num_rows($result2) > 0); |
|
67 |
+} |
|
23 | 68 |
|
24 | 69 |
|
25 | 70 |