Alternc
3.2
Alternc logiel libre pour l'hébergement
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Pages
m_squirrelmail.php
Go to the documentation of this file.
1
<?php
2
/*
3
----------------------------------------------------------------------
4
AlternC - Web Hosting System
5
Copyright (C) 2000-2012 by the AlternC Development Team.
6
https://alternc.org/
7
----------------------------------------------------------------------
8
LICENSE
9
10
This program is free software; you can redistribute it and/or
11
modify it under the terms of the GNU General Public License (GPL)
12
as published by the Free Software Foundation; either version 2
13
of the License, or (at your option) any later version.
14
15
This program is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU General Public License for more details.
19
20
To read the license please visit http://www.gnu.org/copyleft/gpl.html
21
----------------------------------------------------------------------
22
Purpose of file: Manage Squirrelmail webmail configuration
23
----------------------------------------------------------------------
24
*/
25
26
/**
27
* This class handle squirrelmail's webmail
28
* hook the main panel page to add a link to the webmail
29
*/
30
class
m_squirrelmail
{
31
32
/* ----------------------------------------------------------------- */
33
/** Hook called by the homepage or the /webmail link
34
* to redirect the user to a known webmail url.
35
* the variable 'webmail_redirect' tells which webmail has the priority.
36
* @return string the URL of the webmail
37
*/
38
function
hook_admin_webmail
() {
39
global
$db
;
40
// Search for the domain where the panel is hosted, then search for a webmail in it.
41
$i
=2;
42
$domain
=
""
;
43
if
(!empty($_SERVER[
"HTTP_HOST"
])) {
44
do
{
// for each domain part (search panel.alternc.org then alternc.org then org, if the current panel is at www.panel.alternc.org)
45
$expl=explode(
"."
,$_SERVER[
"HTTP_HOST"
],
$i
);
46
if
(count($expl)>=2) {
47
list(
$host
,$dompart)=$expl;
48
// We search for a 'squirrelmail' subdomain in that domain
49
$db->query(
"SELECT * FROM sub_domaines s WHERE s.domaine='"
.addslashes($dompart).
"' AND s.type='squirrelmail';"
);
50
if
($db->next_record()) {
51
$domain
=$db->Record;
52
return
"http://"
.$domain[
"sub"
].(($domain[
"sub"
])?
"."
:
""
).$domain[
"domaine"
];
53
}
54
}
55
$i
++;
56
}
while
(strpos($dompart,
'.'
)!==
false
);
57
}
58
59
// not found: search for a webmail in the admin user account
60
$db->query(
"SELECT * FROM sub_domaines s WHERE s.compte=2000 AND s.type='squirrelmail';"
);
61
if
($db->next_record()) {
62
$domain
=$db->Record;
63
return
"http://"
.$domain[
"sub"
].(($domain[
"sub"
])?
"."
:
""
).$domain[
"domaine"
];
64
}
65
66
}
67
68
69
/* ----------------------------------------------------------------- */
70
/** Hook called when an email is REALLY deleted (by the cron, not just in the panel)
71
* @param mail_id integer the ID of the mail in the AlternC database
72
* @param fullmail string the deleted mail himself in the form of john@domain.tld
73
* @return boolean
74
*/
75
function
hook_mail_delete_for_real
(
$mail_id
, $fullmail) {
76
$fullmail2 = str_replace(
'@'
,
'_'
,$fullmail);
// fullname with _ instead of @ (compatibility)
77
$todel = array (
78
"$fullmail.abook"
,
79
"$fullmail.pref"
,
80
"$fullmail2.abook"
,
81
"$fullmail2.pref"
);
82
83
foreach
( $todel as
$t
) {
84
if
(file_exists(
"/var/lib/squirrelmail/data/$t"
) ) {
85
@unlink(
"/var/lib/squirrelmail/data/$t"
);
86
}
87
}
88
}
// hook_mail_delete_for_real
89
90
91
92
}
/* Class Squirrelmail */
93
code
alternc
squirrelmail
class
m_squirrelmail.php
Generated on Mon Mar 24 2014 17:14:20 for Alternc by
1.8.1.2