Browse the code
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<entry |
| 4 | 4 |
kind="dir" |
| 5 | 5 |
path="." |
| 6 |
revision="125"> | |
| 6 |
revision="127">
| |
| 7 | 7 |
<url>http://svn.codingteam.net/code/bechamail</url> |
| 8 | 8 |
<repository> |
| 9 | 9 |
<root>http://svn.codingteam.net/code/bechamail</root> |
| 13 | 13 |
<schedule>normal</schedule> |
| 14 | 14 |
</wc-info> |
| 15 | 15 |
<commit |
| 16 |
revision="125"> | |
| 16 |
revision="127">
| |
| 17 | 17 |
<author>zenjo</author> |
| 18 |
<date>2009-10-23T10:31:03.013448Z</date> | |
| 18 |
<date>2009-11-15T11:22:04.049218Z</date>
| |
| 19 | 19 |
</commit> |
| 20 | 20 |
</entry> |
| 21 | 21 |
</info> |
| 22 | 22 |
| Old | New | Code |
|---|---|---|
| 57 | 57 |
if ($_SESSION["S_niveau"] == 1) {
|
| 58 | 58 |
switch ($type) {
|
| 59 | 59 |
case "Alias": |
| 60 |
$menu = '<a href="liste-alias.php?f_domaine=~!t_f_domaine~" title="Liste et liens vers la modification ou la suppression"><b>Alias:</b></a> <a href="ajoute-alias.php?f_domaine=~!t_f_domaine~"><i>Ajouter</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-admin-login.php">Login</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - '; | |
| 60 |
$menu = '<a href="liste-alias.php?f_domaine=~!t_f_domaine~" title="Liste et liens vers la modification ou la suppression"><b>Alias:</b></a> <a href="ajoute-alias.php?f_domaine=~!t_f_domaine~"><i>Ajouter</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-admin-login.php">Login</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - ';
| |
| 61 | 61 |
break; |
| 62 | 62 |
case "Boites": |
| 63 |
$menu = '<a href="liste-mailbox.php?f_domaine=~!t_f_domaine~" title="Liste et liens vers la modification ou la suppression"><b>Boites aux lettres:</b></a> <a href="ajoute-mailbox.php?f_domaine=~!t_f_domaine~"><i>Ajouter</i></a> - <a href="mailbox-supprimees.php?f_domaine=~!t_f_domaine~"><i>Boites supprimes</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> - <a href="liste-admin-login.php">Login</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - '; | |
| 63 |
$menu = '<a href="liste-mailbox.php?f_domaine=~!t_f_domaine~" title="Liste et liens vers la modification ou la suppression"><b>Boites aux lettres:</b></a> <a href="ajoute-mailbox.php?f_domaine=~!t_f_domaine~"><i>Ajouter</i></a> - <a href="mailbox-supprimees.php?f_domaine=~!t_f_domaine~"><i>Boites supprimées</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> - <a href="liste-admin-login.php">Login</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - ';
| |
| 64 | 64 |
break; |
| 65 | 65 |
case "Statistiques": |
| 66 |
$menu = '<a href="statistiques-admin.php"><b>Statistiques:</b></a> <a href="statistiques-admin-mailbox.php" title="Domaine: nombre de boites aux lettres"><i>Boites aux lettres</i></a> - <a href="statistiques-admin-alias.php"title="Alias gnriques | Domaine: nombre d\'alias"><i>Alias</i></a> - <a href="statistiques-admin-autres.php" title="Login: domaine(s) gr(s) | Domaine (nb max. boites) (nb max. alias) [tansport]"><i>Autres</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> - <a href="liste-admin-login.php">Login</a> | Consulter: '; | |
| 66 |
$menu = '<a href="statistiques-admin.php"><b>Statistiques:</b></a> <a href="statistiques-admin-mailbox.php" title="Domaine: nombre de boites aux lettres"><i>Boites aux lettres</i></a> - <a href="statistiques-admin-alias.php"title="Alias génériques | Domaine: nombre d\'alias"><i>Alias</i></a> - <a href="statistiques-admin-autres.php" title="Login: domaine(s) géré(s) | Domaine (nb max. boites) (nb max. alias) [tansport]"><i>Autres</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> - <a href="liste-admin-login.php">Login</a> | Consulter: ';
| |
| 67 | 67 |
break; |
| 68 | 68 |
case "Logins": |
| 69 |
$menu = '<a href="liste-admin-login.php" title="Liste et liens vers la modification ou la suppression"><b>Login:</b></a> <a href="ajoute-admin-login.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - '; | |
| 69 |
$menu = '<a href="liste-admin-login.php" title="Liste et liens vers la modification ou la suppression"><b>Login:</b></a> <a href="ajoute-admin-login.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - ';
| |
| 70 | 70 |
break; |
| 71 | 71 |
} // switch ($type) |
| 72 | 72 |
} // if ($_SESSION["S_niveau"] == 1) |
| 74 | 74 |
if ($_SESSION["S_niveau"] == 2) {
|
| 75 | 75 |
switch ($type) {
|
| 76 | 76 |
case "Alias": |
| 77 |
$menu = '<a href="liste-alias.php?f_domaine=~!t_f_domaine~" title="Liste et liens vers la modification ou la suppression"><b>Alias:</b></a> <a href="ajoute-alias.php?f_domaine=~!t_f_domaine~"><i>Ajouter</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="modif-login.php">Mes donnes</a> | <b>Consulter:</b> <a href="statistiques.php">Statistiques</a> - '; | |
| 77 |
$menu = '<a href="liste-alias.php?f_domaine=~!t_f_domaine~" title="Liste et liens vers la modification ou la suppression"><b>Alias:</b></a> <a href="ajoute-alias.php?f_domaine=~!t_f_domaine~"><i>Ajouter</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="modif-login.php">Mes données</a> | <b>Consulter:</b> <a href="statistiques.php">Statistiques</a> - ';
| |
| 78 | 78 |
break; |
| 79 | 79 |
case "Boites": |
| 80 |
$menu = '<a href="liste-mailbox.php?f_domaine=~!t_f_domaine~" title="Liste et liens vers la modification ou la suppression"><b>Boites aux lettres:</b></a> <a href="ajoute-mailbox.php?f_domaine=~!t_f_domaine~"><i>Ajouter</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> - <a href="modif-login.php">Mes donnes</a> | Consulter: <a href="statistiques.php">Statistiques</a> - '; | |
| 80 |
$menu = '<a href="liste-mailbox.php?f_domaine=~!t_f_domaine~" title="Liste et liens vers la modification ou la suppression"><b>Boites aux lettres:</b></a> <a href="ajoute-mailbox.php?f_domaine=~!t_f_domaine~"><i>Ajouter</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> - <a href="modif-login.php">Mes données</a> | Consulter: <a href="statistiques.php">Statistiques</a> - ';
| |
| 81 | 81 |
break; |
| 82 | 82 |
case "Statistiques": |
| 83 |
$menu = '<b>Statistiques</b> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> - <a href="modif-login.php">Mes donnes</a> | Consulter: '; | |
| 83 |
$menu = '<b>Statistiques</b> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> - <a href="modif-login.php">Mes données</a> | Consulter: ';
| |
| 84 | 84 |
break; |
| 85 | 85 |
case "Logins": |
| 86 |
$menu = '<b>Mes donnes</b> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> | Consulter: <a href="statistiques.php">Statistiques</a> - '; | |
| 86 |
$menu = '<b>Mes données</b> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php?f_domaine=~!t_f_domaine~">Boites aux lettres</a> - <a href="liste-alias.php?f_domaine=~!t_f_domaine~">Alias</a> | Consulter: <a href="statistiques.php">Statistiques</a> - ';
| |
| 87 | 87 |
break; |
| 88 | 88 |
} // switch ($type) |
| 89 | 89 |
} // if ($_SESSION["S_niveau"] == 2) |
| 103 | 103 |
if ($_SESSION["S_niveau"] == 1) {
|
| 104 | 104 |
switch ($type) {
|
| 105 | 105 |
case "Alias": |
| 106 |
$menu = '<a href="liste-alias.php" title="Liste et liens vers la modification ou la suppression"><b>Alias:</b></a> <a href="ajoute-alias.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-admin-login.php">Login</a> - <a href="admin-systeme.php">Systme</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - '; | |
| 106 |
$menu = '<a href="liste-alias.php" title="Liste et liens vers la modification ou la suppression"><b>Alias:</b></a> <a href="ajoute-alias.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-admin-login.php">Login</a> - <a href="admin-systeme.php">Système</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - ';
| |
| 107 | 107 |
break; |
| 108 | 108 |
case "Boites": |
| 109 |
$menu = '<a href="liste-mailbox.php" title="Liste et liens vers la modification ou la suppression"><b>Boites aux lettres:</b></a> <a href="ajoute-mailbox.php"><i>Ajouter</i></a> - <a href="mailbox-supprimees.php"><i>Boites supprimes</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-alias.php">Alias</a> - <a href="liste-admin-login.php">Login</a> - <a href="admin-systeme.php">Systme</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - '; | |
| 109 |
$menu = '<a href="liste-mailbox.php" title="Liste et liens vers la modification ou la suppression"><b>Boites aux lettres:</b></a> <a href="ajoute-mailbox.php"><i>Ajouter</i></a> - <a href="mailbox-supprimees.php"><i>Boites supprimées</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-alias.php">Alias</a> - <a href="liste-admin-login.php">Login</a> - <a href="admin-systeme.php">Système</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - ';
| |
| 110 | 110 |
break; |
| 111 | 111 |
case "Statistiques": |
| 112 |
$menu = '<a href="statistiques-admin.php"><b>Statistiques:</b></a> <a href="statistiques-admin-mailbox.php" title="Domaine: nombre de boites aux lettres"><i>Boites aux lettres</i></a> - <a href="statistiques-admin-alias.php"title="Alias gnriques | Domaine: nombre d\'alias"><i>Alias</i></a> - <a href="statistiques-admin-autres.php" title="Login: domaine(s) gr(s) | Domaine (nb max. boites) (nb max. alias) [tansport]"><i>Autres</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> - <a href="liste-admin-login.php">Login</a> - <a href="admin-systeme.php">Systme</a> | Consulter: '; | |
| 112 |
$menu = '<a href="statistiques-admin.php"><b>Statistiques:</b></a> <a href="statistiques-admin-mailbox.php" title="Domaine: nombre de boites aux lettres"><i>Boites aux lettres</i></a> - <a href="statistiques-admin-alias.php"title="Alias génériques | Domaine: nombre d\'alias"><i>Alias</i></a> - <a href="statistiques-admin-autres.php" title="Login: domaine(s) géré(s) | Domaine (nb max. boites) (nb max. alias) [tansport]"><i>Autres</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> - <a href="liste-admin-login.php">Login</a> - <a href="admin-systeme.php">Système</a> | Consulter: ';
| |
| 113 | 113 |
break; |
| 114 | 114 |
case "Logins": |
| 115 |
$menu = '<a href="liste-admin-login.php" title="Liste et liens vers la modification ou la suppression"><b>Login:</b></a> <a href="ajoute-admin-login.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> - <a href="admin-systeme.php">Systme</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - '; | |
| 115 |
$menu = '<a href="liste-admin-login.php" title="Liste et liens vers la modification ou la suppression"><b>Login:</b></a> <a href="ajoute-admin-login.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> - <a href="admin-systeme.php">Système</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - ';
| |
| 116 | 116 |
break; |
| 117 | 117 |
case "Systeme": |
| 118 |
$menu = '<a href="admin-systeme.php"><b>Systme:</b></a> <a href="liste-admin-genalias.php" title="Liste et liens vers la modification ou la suppression"><i>Alias gnriques</i></a> - <a href="liste-admin-domaines.php" title="Liste et liens vers la modification ou la suppression"><i>Domaines</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> - <a href="liste-admin-login.php">Login</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - '; | |
| 118 |
$menu = '<a href="admin-systeme.php"><b>Système:</b></a> <a href="liste-admin-genalias.php" title="Liste et liens vers la modification ou la suppression"><i>Alias génériques</i></a> - <a href="liste-admin-domaines.php" title="Liste et liens vers la modification ou la suppression"><i>Domaines</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> - <a href="liste-admin-login.php">Login</a> | Consulter: <a href="statistiques-admin.php">Statistiques</a> - ';
| |
| 119 | 119 |
break; |
| 120 | 120 |
} // switch ($type) |
| 121 | 121 |
} // if ($_SESSION["S_niveau"] == 1) |
| 123 | 123 |
if ($_SESSION["S_niveau"] == 2) {
|
| 124 | 124 |
switch ($type) {
|
| 125 | 125 |
case "Alias": |
| 126 |
$menu = '<a href="liste-alias.php" title="Liste et liens vers la modification ou la suppression"><b>Alias:</b></a> <a href="ajoute-alias.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="modif-login.php">Mes donnes</a> | <b>Consulter:</b> <a href="statistiques.php">Statistiques</a> - '; | |
| 126 |
$menu = '<a href="liste-alias.php" title="Liste et liens vers la modification ou la suppression"><b>Alias:</b></a> <a href="ajoute-alias.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="modif-login.php">Mes données</a> | <b>Consulter:</b> <a href="statistiques.php">Statistiques</a> - ';
| |
| 127 | 127 |
break; |
| 128 | 128 |
case "Boites": |
| 129 |
$menu = '<a href="liste-mailbox.php" title="Liste et liens vers la modification ou la suppression"><b>Boites aux lettres:</b></a> <a href="ajoute-mailbox.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-alias.php">Alias</a> - <a href="modif-login.php">Mes donnes</a> | Consulter: <a href="statistiques.php">Statistiques</a> - '; | |
| 129 |
$menu = '<a href="liste-mailbox.php" title="Liste et liens vers la modification ou la suppression"><b>Boites aux lettres:</b></a> <a href="ajoute-mailbox.php"><i>Ajouter</i></a> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-alias.php">Alias</a> - <a href="modif-login.php">Mes données</a> | Consulter: <a href="statistiques.php">Statistiques</a> - ';
| |
| 130 | 130 |
break; |
| 131 | 131 |
case "Statistiques": |
| 132 |
$menu = '<b>Statistiques</b> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> - <a href="modif-login.php">Mes donnes</a> | Consulter: '; | |
| 132 |
$menu = '<b>Statistiques</b> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> - <a href="modif-login.php">Mes données</a> | Consulter: ';
| |
| 133 | 133 |
break; |
| 134 | 134 |
case "Logins": |
| 135 |
$menu = '<b>Mes donnes</b> | <input name="f_deconnect" value="Dconnexion" type="submit" tabindex="0"> | Grer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> | Consulter: <a href="statistiques.php">Statistiques</a> - '; | |
| 135 |
$menu = '<b>Mes données</b> | <input name="f_deconnect" value="Déconnexion" type="submit" tabindex="0"> | Gérer: <a href="liste-mailbox.php">Boites aux lettres</a> - <a href="liste-alias.php">Alias</a> | Consulter: <a href="statistiques.php">Statistiques</a> - ';
| |
| 136 | 136 |
break; |
| 137 | 137 |
} // switch ($type) |
| 138 | 138 |
} // if ($_SESSION["S_niveau"] == 2) |
| 145 | 145 | |
| 146 | 146 | |
| 147 | 147 |
/* Autres template var de tete.html */ |
| 148 |
// formulaire dconnexion | |
| 148 |
// formulaire déconnexion
| |
| 149 | 149 |
$template_tete->replace_var("t_script_name", $conf_script_name);
|
| 150 | 150 | |
| 151 | 151 |
$template_tete->replace_var("t_f_domaine", $_SESSION['S_domaines_courant']);
|
| 152 | 152 |
| Old | New | Code |
|---|---|---|
| 21 | 21 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, |
| 22 | 22 |
* or go to http://www.gnu.org/copyleft/gpl.html |
| 23 | 23 |
* |
| 24 |
* Copyright 2002 Robert Sebille | |
| 24 |
* Copyright © 2002 Robert Sebille
| |
| 25 | 25 |
*****************************************************************************/ |
| 26 | 26 | |
| 27 | 27 |
/****************************************************************************** |
| 30 | 30 |
* Function Listing: |
| 31 | 31 |
* Constructor : param. connexion, connexion |
| 32 | 32 |
* Public methods : |
| 33 |
* RS_select Retourne les rsultats d'une requte SELECT (lignes, champs, nb ligne, nb champs) | |
| 34 |
* RS_insert Insere des donnes dans une table et retourne le nombre d'enregistrements modifis | |
| 35 |
* RS_update Met jour des donnes dans une table | |
| 33 |
* RS_select Retourne les résultats d'une requête SELECT (lignes, champs, nb ligne, nb champs)
| |
| 34 |
* RS_insert Insere des données dans une table et retourne le nombre d'enregistrements modifiés | |
| 35 |
* RS_update Met à jour des données dans une table | |
| 36 | 36 |
* RS_delete Efface $limit enregistrement(s) dans une table |
| 37 | 37 |
* RS_litcolset Lit les valeur d'une colonne enum (set) |
| 38 | 38 |
* Private methods : |
| 49 | 49 |
var $RS_dbname; // Database name |
| 50 | 50 |
var $RS_link; //Connexion |
| 51 | 51 |
var $RS_nb_ligne; //nb resultats d'une requete SELECT |
| 52 |
var $RS_ligne; // rsultats d'une requete SELECT (tableau associatif) | |
| 52 |
var $RS_ligne; // résultats d'une requete SELECT (tableau associatif)
| |
| 53 | 53 |
var $RS_champ; // Champ d'une requete SELECT (tableau) |
| 54 | 54 |
var $RS_nb_champ; // nb champs d'une requete SELECT |
| 55 |
var $RS_nb_modif; // Nb d'enregistrement modifi dans une table | |
| 55 |
var $RS_nb_modif; // Nb d'enregistrement modifié dans une table
| |
| 56 | 56 |
var $RS_sql; // enregistre la requete mysql |
| 57 | 57 |
var $RS_res; // resultat de la requete sql |
| 58 | 58 |
var $RS_rescolset; // retourne les valeurs d'une colonne enum (set), sinon une chaine vide |
| 59 | 59 |
var $RS_nbvalset; // retourne le nombre de valeurs d'une colonne enum (set), sinon 0 |
| 60 |
var $RS_resselect; // tableau de tableau pour champ option ou radio partir d'une colonne set. voir la mthode RS_litcolset ci-dessous. | |
| 61 |
var $RS_reqformat; // Compare le premier champ d'une requete Mysql (Req1) avec le premier d'une autre requete (Req2) et renvoie la premire requete formate pour formulaire html (option, radio, ou checkbox). voir la mthode RS_check_opt_rad ci dessous. | |
| 60 |
var $RS_resselect; // tableau de tableau pour champ option ou radio à partir d'une colonne set. voir la méthode RS_litcolset ci-dessous.
| |
| 61 |
var $RS_reqformat; // Compare le premier champ d'une requete Mysql (Req1) avec le premier d'une autre requete (Req2) et renvoie la première requete formatée pour formulaire html (option, radio, ou checkbox). voir la méthode RS_check_opt_rad ci dessous. | |
| 62 | 62 | |
| 63 | 63 |
/************/ |
| 64 | 64 |
/* Privates */ |
| 79 | 79 |
/* Publics */ |
| 80 | 80 |
/***********/ |
| 81 | 81 | |
| 82 |
// Retourne le rsultat de send_sql | |
| 83 |
// Place le rsultat d'une requte SELECT dans le tableau $RS_ligne | |
| 84 |
// Place le nombre de rsultats trouvs dans $RS_nb_ligne | |
| 82 |
// Retourne le résultat de send_sql
| |
| 83 |
// Place le résultat d'une requête SELECT dans le tableau $RS_ligne | |
| 84 |
// Place le nombre de résultats trouvés dans $RS_nb_ligne | |
| 85 | 85 |
// Place les noms des champs dans le tableau $RS_champ |
| 86 | 86 |
// Place le nombre de champs dans $RS_nb_champ |
| 87 |
// Si pas de rsultats trouvs, | |
| 87 |
// Si pas de résultats trouvés,
| |
| 88 | 88 |
// $RS_nb_ligne et $RS_nb_champ = 0 |
| 89 | 89 |
// RS_ligne, $RS_champ = NULL |
| 90 | 90 |
function RS_select($fields = "*", $from, $where = "", $order = "", $limit = "") {
|
| 111 | 111 |
return $this->RS_res; |
| 112 | 112 |
} |
| 113 | 113 | |
| 114 |
//ajout de GROUP BY. nouvelle fonction pour compatibilit ascendante. | |
| 114 |
//ajout de GROUP BY. nouvelle fonction pour compatibilité ascendante.
| |
| 115 | 115 |
function RS_select_group($fields = "*", $from, $where = "", $group = "", $order = "", $limit = "") {
|
| 116 | 116 | |
| 117 | 117 |
$sql = "SELECT ".$fields." FROM ".$from; |
| 137 | 137 |
return $this->RS_res; |
| 138 | 138 |
} |
| 139 | 139 | |
| 140 |
// Insere des donnes dans une table | |
| 140 |
// Insere des données dans une table
| |
| 141 | 141 |
function RS_insert($table, $colonnes, $valeurs) {
|
| 142 | 142 | |
| 143 | 143 |
$sql = "INSERT INTO ".$table." (".$colonnes.") VALUES(".$valeurs.")";
|
| 151 | 151 |
return $this->RS_res; |
| 152 | 152 |
} |
| 153 | 153 | |
| 154 |
// Met jour des donnes dans une table | |
| 154 |
// Met à jour des données dans une table
| |
| 155 | 155 |
function RS_update($table, $colval, $where) {
|
| 156 | 156 | |
| 157 | 157 |
$sql = "UPDATE ".$table." SET ".$colval." WHERE ".$where; |
| 181 | 181 |
// (Req2, $type_array_req2="2", defaut) ou d'un tableau simple (Req2, $type_array_req2="1") |
| 182 | 182 |
// - Si $type="option" ou "radio", $req2 = une valeur simple, la valeur de $_type_array_req2 ne compte pas. |
| 183 | 183 |
// |
| 184 |
// Ensuite renvoie la premire requete formate pour formulaire html (option, radio, ou checkbox): | |
| 184 |
// Ensuite renvoie la première requete formatée pour formulaire html (option, radio, ou checkbox):
| |
| 185 | 185 |
// Pour toute valeur Req1Valeur1 = Req2Valeur1: |
| 186 | 186 |
// key=0: value="Req1Valeur1" selected="selected" (ou checked="checked"), key=1: Req1Valeur2 |
| 187 | 187 |
// Pour tout Req1Valeur1 != Req2Valeur1, renvoie: |
| 188 | 188 |
// key=0: value="Req1Valeur1", key=1: Req1Valeur2 |
| 189 | 189 |
// |
| 190 |
// Les requetes (req1 (et req2 si c'est une requete) doivent tre au format loop_vars de TemTab ou | |
| 191 |
// un tableau associatif rsultat d'un split avec mysql_fetch_array | |
| 192 |
// le rsultat est dans $RS_reqformat | |
| 190 |
// Les requetes (req1 (et req2 si c'est une requete) doivent être au format loop_vars de TemTab ou
| |
| 191 |
// un tableau associatif résultat d'un split avec mysql_fetch_array | |
| 192 |
// le résultat est dans $RS_reqformat | |
| 193 | 193 | |
| 194 | 194 |
function RS_check_opt_rad($req1, $req2, $type="checkbox", $type_array_req2="2") {
|
| 195 | 195 |
|
| 245 | 245 |
// lit les valeurs d'une colonne enum (set) |
| 246 | 246 |
// Place les valeurs dans le tableau $RS_rescolset |
| 247 | 247 |
// Place le nombre de valeurs dans $RS_nbvalset |
| 248 |
// Si pas de rsultats trouvs, | |
| 248 |
// Si pas de résultats trouvés,
| |
| 249 | 249 |
// $RS_rescolset = "" |
| 250 | 250 |
// RS_lnbvalset = 0 |
| 251 |
// Cre un tableau de tableau RS_resselect qui contient, pour chaque valeur du set, 1 tableau 2 valeurs: key=0: value="ValeurDuSet" selected="selected" (ou checked="checked"), key=1: ValeurDuSet | |
| 251 |
// Crée un tableau de tableau RS_resselect qui contient, pour chaque valeur du set, 1 tableau à 2 valeurs: key=0: value="ValeurDuSet" selected="selected" (ou checked="checked"), key=1: ValeurDuSet
| |
| 252 | 252 |
// Si $select="", il n'y a pas de selected="selected" dans key=0 |
| 253 | 253 |
// Ce tableau est diretement utilisable avec replace_loop_vars de temtab, pour <option> ou des champs radio dans un formulaire. key=0 -> ~!loop_var-0~, key=1 -> ~!loop_var-1~ |
| 254 | 254 |
// $type="option" (defaut), "radio". |
| 325 | 325 |
/***************/ |
| 326 | 326 |
/* Constructor */ |
| 327 | 327 |
/***************/ |
| 328 |
// Initialisation et connexion la base de donnes | |
| 328 |
// Initialisation et connexion à la base de données
| |
| 329 | 329 | |
| 330 | 330 |
function ReqSql($host, $DBuser, $DBpass, $DBname) {
|
| 331 | 331 | |
| 332 | 332 |
| Old | New | Code |
|---|---|---|
| 32 | 32 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, |
| 33 | 33 |
* or go to http://www.gnu.org/copyleft/gpl.html |
| 34 | 34 |
* |
| 35 |
* Copyright 2002 Antoine Delvaux | |
| 35 |
* Copyright © 2002 Antoine Delvaux
| |
| 36 | 36 |
*****************************************************************************/ |
| 37 | 37 | |
| 38 | 38 |
/****************************************************************************** |
| 39 | 39 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content="bechamail, mail, couriel, administration, cassiopea, robert sebille, sebille"> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert Sebille"> |
| 10 | 10 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content="bechamail, mail, couriel, administration, cassiopea, robert sebille, sebille"> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert Sebille"> |
| 31 | 31 |
<td width="80%" valign="top"> |
| 32 | 32 |
<div class="corps-doc"> |
| 33 | 33 |
<h3>Concept</h3> |
| 34 |
Bechamail est avant tout orient utilisateur final. Son concept est<br> | |
| 35 |
1. de donner cet utilisateur final un outil qui lui permette de s'approprier aisment la gestion des adresses email de son(ses) domaine(s).<br> | |
| 36 |
2. de faciliter la tache de l'administrateur systme en le soulageant de cet aspect de la gestion "client", ET, en s'adaptant si possible aux configurations du systme. | |
| 34 |
Bechamail est avant tout orienté utilisateur final. Son concept est<br>
| |
| 35 |
1. de donner à cet utilisateur final un outil qui lui permette de s'approprier aisément la gestion des adresses email de son(ses) domaine(s).<br> | |
| 36 |
2. de faciliter la tache de l'administrateur système en le soulageant de cet aspect de la gestion "client", ET, en s'adaptant si possible aux configurations du système. | |
| 37 | 37 |
</div> |
| 38 | 38 |
</td> |
| 39 | 39 |
</tr> |
| 40 | 40 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content="bechamail, mail, couriel, administration, cassiopea, robert sebille, sebille"> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert Sebille"> |
| 30 | 30 |
</td> |
| 31 | 31 |
<td width="80%" valign="top"> |
| 32 | 32 |
<div class="corps-doc"> |
| 33 |
<h3>Crdits</h3> | |
| 33 |
<h3>Crédits</h3>
| |
| 34 | 34 |
<ul> |
| 35 |
<li><a href="http://membres.cassiopea.org/robert.sebille/" title="Curriculum vitae">Robert Sebille</a>, analyse et dveloppement.</li> | |
| 35 |
<li><a href="http://membres.cassiopea.org/robert.sebille/" title="Curriculum vitae">Robert Sebille</a>, analyse et développement.</li>
| |
| 36 | 36 |
<li><a href="http://antoine.delvaux.net/" title="Le webavard du Tonin">Antoine Delvaux</a>, classe <a href="http://support.cassiopea.org/library#TemTab">TemTab 1.0</a> (enrichie 1.1 dans Bechamail).</li> |
| 37 | 37 |
</ul> |
| 38 | 38 |
</div> |
| 39 | 39 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content=""> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert"> |
| 25 | 25 | |
| 26 | 26 |
<div class="corps-doc"> |
| 27 | 27 |
<ul> |
| 28 |
<li><b>Un administrateur peut administrer un ou plusieurs domaines d'adresses email</b>, partir d'un login et d'un mot de passe, qui ont t choisi et lui ont t transmis par un super administrateur.</li> | |
| 28 |
<li><b>Un administrateur peut administrer un ou plusieurs domaines d'adresses email</b>, à partir d'un login et d'un mot de passe, qui ont été choisi et lui ont été transmis par un super administrateur.</li>
| |
| 29 | 29 |
<li><b>Un super administrateur administre tous les domaines d'adresses email et les login.</b></li> |
| 30 | 30 |
</ul> |
| 31 | 31 |
</div> |
| 34 | 34 | |
| 35 | 35 |
<div class="centre"> |
| 36 | 36 |
<script language="JavaScript" type="text/javascript"> |
| 37 |
document.write("<a href='javascript:history.back();'>Page prcdente</a> | ");
| |
| 38 |
document.write("<a href='javascript:self.close();'>Fermer la fentre</a>");
| |
| 37 |
document.write("<a href='javascript:history.back();'>Page précédente</a> | ");
| |
| 38 |
document.write("<a href='javascript:self.close();'>Fermer la fenêtre</a>");
| |
| 39 | 39 |
</script> |
| 40 | 40 |
<noscript> |
| 41 |
<div class="note">Javascript n'est pas activ dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner la page prcdente ou fermer cette fentre.</div> | |
| 41 |
<div class="note">Javascript n'est pas activé dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner à la page précédente ou fermer cette fenêtre.</div>
| |
| 42 | 42 |
</noscript> |
| 43 | 43 |
</div> |
| 44 | 44 | |
| 45 | 45 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content=""> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert"> |
| 24 | 24 |
</div> |
| 25 | 25 | |
| 26 | 26 |
<div class="corps-doc"> |
| 27 |
<b>Un alias est une adresse email, mais qui n'est pas associe une boite aux lettres. Les messages qui parviennent un alias sont redirigs vers une ou plusieurs autres adresses email (destination)</b>, qui peuvent tre indiffrement une adresse email asocie une boite aux lettres (le message sera alors stock en attendant consultation ou relvement) ou d'autres alias (le message sera nouveau redirig, jusqu' ce qu'il arrive une adresse email associe une boite aux lettres, o il sera stock). <br><br> | |
| 27 |
<b>Un alias est une adresse email, mais qui n'est pas associée à une boite aux lettres. Les messages qui parviennent à un alias sont redirigés vers une ou plusieurs autres adresses email (destination)</b>, qui peuvent être indifférement une adresse email asociée à une boite aux lettres (le message sera alors stocké en attendant consultation ou relèvement) ou d'autres alias (le message sera à nouveau redirigé, jusqu'à ce qu'il arrive à une adresse email associée à une boite aux lettres, où il sera stocké). <br><br>
| |
| 28 | 28 |
Exemple: |
| 29 | 29 |
<table border="1"> |
| 30 | 30 |
<tr> |
| 59 | 59 | |
| 60 | 60 |
<div class="centre"> |
| 61 | 61 |
<script language="JavaScript" type="text/javascript"> |
| 62 |
document.write("<a href='javascript:history.back();'>Page prcdente</a> | ");
| |
| 63 |
document.write("<a href='javascript:self.close();'>Fermer la fentre</a>");
| |
| 62 |
document.write("<a href='javascript:history.back();'>Page précédente</a> | ");
| |
| 63 |
document.write("<a href='javascript:self.close();'>Fermer la fenêtre</a>");
| |
| 64 | 64 |
</script> |
| 65 | 65 |
<noscript> |
| 66 |
<div class="note">Javascript n'est pas activ dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner la page prcdente ou fermer cette fentre.</div> | |
| 66 |
<div class="note">Javascript n'est pas activé dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner à la page précédente ou fermer cette fenêtre.</div>
| |
| 67 | 67 |
</noscript> |
| 68 | 68 |
</div> |
| 69 | 69 | |
| 70 | 70 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content=""> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert"> |
| 24 | 24 |
</div> |
| 25 | 25 | |
| 26 | 26 |
<div class="corps-doc"> |
| 27 |
<b>Une boite aux lettres email n'est pas une adresse email, mais un endroit de stockage (en fait, un rpertoire sur le serveur) associ une adresse email (user@domain.tld), et dans lequel vont tre stocks les messages arrivant l'adresse associe.</b><br><br> | |
| 28 |
Ensuite, le propritaire de l'adresse pourra: | |
| 27 |
<b>Une boite aux lettres email n'est pas une adresse email, mais un endroit de stockage (en fait, un répertoire sur le serveur) associé à une adresse email (user@domain.tld), et dans lequel vont être stockés les messages arrivant à l'adresse associée.</b><br><br>
| |
| 28 |
Ensuite, le propriétaire de l'adresse pourra: | |
| 29 | 29 |
<ul> |
| 30 |
<li>Soit: rcuprer ses messages du serveur sur son ordinateur, via son client mail (protocole pop3).<br> | |
| 31 |
Les messages peuvent rester en copie sur le serveur la demande, mais quand la boite sera pleine, elle refusera les nouveaux messages.</li> | |
| 30 |
<li>Soit: récupérer ses messages du serveur sur son ordinateur, via son client mail (protocole pop3).<br>
| |
| 31 |
Les messages peuvent rester en copie sur le serveur à la demande, mais quand la boite sera pleine, elle refusera les nouveaux messages.</li> | |
| 32 | 32 |
<li>Soit: consulter ses messages directement sur le serveur (les messages restent sur le serveur), via son client mail (protocole imap).<br> |
| 33 |
Les messages restant sur le serveur, il est donc conseill de vider la boite rgulirement afin d'viter - quand elle sera pleine - le refus des nouveaux messages (pour vider votre boite, utilisez le protocole pop3 ET SANS LAISSER DE COPIE DES MESSAGES SUR LE SERVEUR).</li> | |
| 33 |
Les messages restant sur le serveur, il est donc conseillé de vider la boite régulièrement afin d'éviter - quand elle sera pleine - le refus des nouveaux messages (pour vider votre boite, utilisez le protocole pop3 ET SANS LAISSER DE COPIE DES MESSAGES SUR LE SERVEUR).</li>
| |
| 34 | 34 |
<li>Soit: consulter ses messages directement sur le serveur (les messages restent sur le serveur), via un navigateur (webmail).<br> |
| 35 |
Les messages restant sur le serveur, il est donc conseill de vider la boite rgulirement afin d'viter - quand elle sera pleine - le refus des nouveaux messages (pour vider votre boite, utilisez le protocole pop3 ET SANS LAISSER DE COPIE DES MESSAGES SUR LE SERVEUR).</li> | |
| 35 |
Les messages restant sur le serveur, il est donc conseillé de vider la boite régulièrement afin d'éviter - quand elle sera pleine - le refus des nouveaux messages (pour vider votre boite, utilisez le protocole pop3 ET SANS LAISSER DE COPIE DES MESSAGES SUR LE SERVEUR).</li>
| |
| 36 | 36 |
</ul> |
| 37 | 37 |
</div> |
| 38 | 38 | |
| 40 | 40 | |
| 41 | 41 |
<div class="centre"> |
| 42 | 42 |
<script language="JavaScript" type="text/javascript"> |
| 43 |
document.write("<a href='javascript:history.back();'>Page prcdente</a> | ");
| |
| 44 |
document.write("<a href='javascript:self.close();'>Fermer la fentre</a>");
| |
| 43 |
document.write("<a href='javascript:history.back();'>Page précédente</a> | ");
| |
| 44 |
document.write("<a href='javascript:self.close();'>Fermer la fenêtre</a>");
| |
| 45 | 45 |
</script> |
| 46 | 46 |
<noscript> |
| 47 |
<div class="note">Javascript n'est pas activ dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner la page prcdente ou fermer cette fentre.</div> | |
| 47 |
<div class="note">Javascript n'est pas activé dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner à la page précédente ou fermer cette fenêtre.</div>
| |
| 48 | 48 |
</noscript> |
| 49 | 49 |
</div> |
| 50 | 50 | |
| 51 | 51 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content=""> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert"> |
| 24 | 24 |
</div> |
| 25 | 25 | |
| 26 | 26 |
<div class="corps-doc"> |
| 27 |
<b><i>user@domain.tld</i> est le format d'criture des adresses email.</b> | |
| 27 |
<b><i>user@domain.tld</i> est le format d'écriture des adresses email.</b>
| |
| 28 | 28 |
<ul> |
| 29 |
<li><i>tld</i> signifie "top level domain" (domaine de niveau le plus haut). Ce sont les domaines comme .com, .org, .net, .be, .fr, etc. qui sont les hauts niveaux de domaines dans la hirarchie de noms de domaine Internet.</li> | |
| 30 |
<li><i>domain</i> signifie domaine, c-a-d le nom de domaine que vous ou votre association auront achet dans un tld, pour rpondre vos besoins. Par exemple, Cassiopea a achet le domaine "cassiopea" dans le tld "org", ce qui fait qu'il possde le nom de domaine cassiopea.org, avec lequel il pourra crer son site http://www.cassiopea.org et des adresses email user@cassiopea.org.</li> | |
| 31 |
<li><i>user</i> est tout simplement le nom de l'utilisateur final, vous par exemple jeannot@domain.tld, ou plus gnrique pour une association, par exemple info@domain.tld</li> | |
| 29 |
<li><i>tld</i> signifie "top level domain" (domaine de niveau le plus haut). Ce sont les domaines comme .com, .org, .net, .be, .fr, etc. qui sont les hauts niveaux de domaines dans la hiérarchie de noms de domaine Internet.</li>
| |
| 30 |
<li><i>domain</i> signifie domaine, c-a-d le nom de domaine que vous ou votre association auront acheté dans un tld, pour répondre à vos besoins. Par exemple, Cassiopea a acheté le domaine "cassiopea" dans le tld "org", ce qui fait qu'il possède le nom de domaine cassiopea.org, avec lequel il pourra créer son site http://www.cassiopea.org et des adresses email user@cassiopea.org.</li> | |
| 31 |
<li><i>user</i> est tout simplement le nom de l'utilisateur final, vous par exemple jeannot@domain.tld, ou plus générique pour une association, par exemple info@domain.tld</li> | |
| 32 | 32 |
</ul> |
| 33 | 33 |
</div> |
| 34 | 34 | |
| 35 | 35 |
<div class="corps-doc"> |
| 36 |
NB: Le format complet d'criture d'une adresse email est plutt: <b><i>user@[subdomain[s].]domain.tld</i></b>. En effet, quand on a achet un nom de domaine, on en est matre, et on peut crer tous les sous-domaines dont on a besoin dans ce domaine: sousdom1.cassiopea.org, sousdom2.sousdom1.cassiopea.org.<br> | |
| 36 |
NB: Le format complet d'écriture d'une adresse email est plutôt: <b><i>user@[subdomain[s].]domain.tld</i></b>. En effet, quand on a acheté un nom de domaine, on en est maître, et on peut créer tous les sous-domaines dont on a besoin dans ce domaine: sousdom1.cassiopea.org, sousdom2.sousdom1.cassiopea.org.<br>
| |
| 37 | 37 |
Exemple concret pour le web: http://lists.cassiopea.org ou http://support.cassiopea.org.<br> |
| 38 | 38 |
Dans <i>[subdomain[s]]</i>, <i>subdomain</i> signifie sous-domaine, les crochets disent que <i>[subdomain]</i> est facultatif et <i>[s]</i> qu'il peut y en avoir un ou plusieurs. |
| 39 | 39 |
</div> |
| 42 | 42 | |
| 43 | 43 |
<div class="centre"> |
| 44 | 44 |
<script language="JavaScript" type="text/javascript"> |
| 45 |
document.write("<a href='javascript:history.back();'>Page prcdente</a> | ");
| |
| 46 |
document.write("<a href='javascript:self.close();'>Fermer la fentre</a>");
| |
| 45 |
document.write("<a href='javascript:history.back();'>Page précédente</a> | ");
| |
| 46 |
document.write("<a href='javascript:self.close();'>Fermer la fenêtre</a>");
| |
| 47 | 47 |
</script> |
| 48 | 48 |
<noscript> |
| 49 |
<div class="note">Javascript n'est pas activ dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner la page prcdente ou fermer cette fentre.</div> | |
| 49 |
<div class="note">Javascript n'est pas activé dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner à la page précédente ou fermer cette fenêtre.</div>
| |
| 50 | 50 |
</noscript> |
| 51 | 51 |
</div> |
| 52 | 52 | |
| 53 | 53 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content=""> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert"> |
| 20 | 20 |
<body> |
| 21 | 21 | |
| 22 | 22 |
<div class="nonante"> |
| 23 |
<h2>Qu'est-ce qu'une adresse gnrique (@domain.tld) ?</h2> | |
| 23 |
<h2>Qu'est-ce qu'une adresse générique (@domain.tld) ?</h2>
| |
| 24 | 24 |
</div> |
| 25 | 25 | |
| 26 | 26 |
<div class="corps-doc"> |
| 27 |
<b>Une adresse gnrique, du type @domain.tld, est une adresse qui reprsente l'ensemble des adresses emails du domaine @domain.tld</b>. <br><br> | |
| 27 |
<b>Une adresse générique, du type @domain.tld, est une adresse qui représente l'ensemble des adresses emails du domaine @domain.tld</b>. <br><br>
| |
| 28 | 28 |
|
| 29 |
A quoi a sert ? <br><br> | |
| 30 |
Admettons que vous ayez 2 domaines: domain.org et domain.be. Vous avez choisi de grer vos adresses email dans le domaine domain.be. Mais vous souhaitez galement que l'quivalent des adresses de votre domaine domain.be (par exemple user@domain<b>.be</b>) dans domain.org (par exemple user@domain<b>.org</b>) soit rediriges de votre domaine domain.org vers votre domaine domain.be, sans avoir recrer ces quivalents dans domain.org.<br><br> | |
| 31 |
En crant un alias gnrique @domain.org avec pour destination @domain.be, tous les messages envoys user@domain.org arriveront user@domain.be, en crant seulement user@domain.be sans avoir besoin de recrer user@domain.org.<br><br> | |
| 32 |
La gestion des emails gnriques peut prsenter des risques. Par exemple, l'alias @domain.tld1 vers user@domain.tld2 redirigera TOUS les messages de @domain.tld1 vers user@domain.tld2. C'est pourquoi, dans Bechamail, elle est rserve par dfaut aux super administrateurs. | |
| 29 |
A quoi ça sert ? <br><br>
| |
| 30 |
Admettons que vous ayez 2 domaines: domain.org et domain.be. Vous avez choisi de gérer vos adresses email dans le domaine domain.be. Mais vous souhaitez également que l'équivalent des adresses de votre domaine domain.be (par exemple user@domain<b>.be</b>) dans domain.org (par exemple user@domain<b>.org</b>) soit redirigées de votre domaine domain.org vers votre domaine domain.be, sans avoir à recréer ces équivalents dans domain.org.<br><br> | |
| 31 |
En créant un alias générique @domain.org avec pour destination @domain.be, tous les messages envoyés à user@domain.org arriveront à user@domain.be, en créant seulement user@domain.be sans avoir besoin de recréer user@domain.org.<br><br> | |
| 32 |
La gestion des emails génériques peut présenter des risques. Par exemple, l'alias @domain.tld1 vers user@domain.tld2 redirigera TOUS les messages de @domain.tld1 vers user@domain.tld2. C'est pourquoi, dans Bechamail, elle est réservée par défaut aux super administrateurs. | |
| 33 | 33 | |
| 34 | 34 |
</div> |
| 35 | 35 | |
| 38 | 38 | |
| 39 | 39 |
<div class="centre"> |
| 40 | 40 |
<script language="JavaScript" type="text/javascript"> |
| 41 |
document.write("<a href='javascript:history.back();'>Page prcdente</a> | ");
| |
| 42 |
document.write("<a href='javascript:self.close();'>Fermer la fentre</a>");
| |
| 41 |
document.write("<a href='javascript:history.back();'>Page précédente</a> | ");
| |
| 42 |
document.write("<a href='javascript:self.close();'>Fermer la fenêtre</a>");
| |
| 43 | 43 |
</script> |
| 44 | 44 |
<noscript> |
| 45 |
<div class="note">Javascript n'est pas activ dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner la page prcdente ou fermer cette fentre.</div> | |
| 45 |
<div class="note">Javascript n'est pas activé dans votre navigateur. Utilisez les boutons de votre navigateur pour retourner à la page précédente ou fermer cette fenêtre.</div>
| |
| 46 | 46 |
</noscript> |
| 47 | 47 |
</div> |
| 48 | 48 | |
| 49 | 49 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content=""> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert"> |
| 28 | 28 |
<li><a href="faq-format-adresse.html">Que siginfie user@domain.tld ?</a></li> |
| 29 | 29 |
<li><a href="faq-boite.html">Qu'est-ce qu'une boite aux lettres ?</a></li> |
| 30 | 30 |
<li><a href="faq-alias.html">Qu'est-ce qu'un alias ?</a></li> |
| 31 |
<li><a href="faq-generique.html">Qu'est-ce qu'une adresse gnrique (@domain.tld) ?</a></li> | |
| 31 |
<li><a href="faq-generique.html">Qu'est-ce qu'une adresse générique (@domain.tld) ?</a></li>
| |
| 32 | 32 |
</ul> |
| 33 | 33 | |
| 34 | 34 |
<div class="centre"> |
| 35 | 35 |
<script language="JavaScript" type="text/javascript"> |
| 36 |
document.write("<a href='javascript:self.close();'>Fermer la fentre</a>");
| |
| 36 |
document.write("<a href='javascript:self.close();'>Fermer la fenêtre</a>");
| |
| 37 | 37 |
</script> |
| 38 | 38 |
<noscript> |
| 39 |
<div class="note">Javascript n'est pas activ dans votre navigateur. Utilisez le bouton de fermeture de votre navigateur pour fermer cette fentre.</div> | |
| 39 |
<div class="note">Javascript n'est pas activé dans votre navigateur. Utilisez le bouton de fermeture de votre navigateur pour fermer cette fenêtre.</div>
| |
| 40 | 40 |
</noscript> |
| 41 | 41 |
</div> |
| 42 | 42 | |
| 43 | 43 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content="bechamail, mail, couriel, administration, cassiopea, robert sebille, sebille"> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert Sebille"> |
| 31 | 31 |
<td width="80%" valign="top"> |
| 32 | 32 |
<div class="corps-doc"> |
| 33 | 33 |
<h3>Interactions de bechamail avec les serveurs</h3> |
| 34 |
Un des objectifs de Bechamail est d'tre le plus indpendant possible des serveurs de courrier et de sa base de donnes utilisateurs (faciliter la vie du sysadmin).<br> | |
| 35 |
C'est pourquoi de nombreuses <a href="sysadmin.php">variables de configuration</a> cherchent l'adapter au systme en place. | |
| 34 |
Un des objectifs de Bechamail est d'être le plus indépendant possible des serveurs de courrier et de sa base de données utilisateurs (faciliter la vie du sysadmin).<br>
| |
| 35 |
C'est pourquoi de nombreuses <a href="sysadmin.php">variables de configuration</a> cherchent à l'adapter au système en place. | |
| 36 | 36 |
<img src="interactions.png" width="607" height="418" alt="Interactions de bechamail avec les serveurs"><br> |
| 37 | 37 |
</div> |
| 38 | 38 |
</td> |
| 39 | 39 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content="bechamail, mail, couriel, administration, cassiopea, robert sebille, sebille"> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert Sebille"> |
| 32 | 32 |
<div class="corps-doc"> |
| 33 | 33 |
<h3>Sysadmin: variables de configuration</h3> |
| 34 | 34 |
|
| 35 |
Le fichier de configuration par dfaut<br> | |
| 35 |
Le fichier de configuration par défaut<br>
| |
| 36 | 36 |
<!-- Mis en forme avec Quick Txt2Html |
| 37 | 37 |
http://txt2html.nautile/txt2html.php --> |
| 38 | 38 | |
| 39 | 39 |
<i>Note 1: <b>**</b> = fonctionnalité à tester<br> |
| 40 |
Note 2: La fonction PASSWORD() est utilise pour l'identification mySQL, il n'est pas recommand d'utiliser ce type d'encodage de mot de passe sur un programme de type PHP, PERL... Il est recommand d'utiliser les fonctions ENCRYPT(), MD5() ou SHA1() comme la plupart des CMS. (<a href="http://guide.exolia.fr/index.php/2006/02/15/50-mysql-password" target="_blank">http://guide.exolia.fr/index.php/2006/02/15/50-mysql-password</a>)</i> | |
| 40 |
Note 2: La fonction PASSWORD() est utilisée pour l'identification à mySQL, il n'est pas recommandé d'utiliser ce type d'encodage de mot de passe sur un programme de type PHP, PERL... Il est recommandé d'utiliser les fonctions ENCRYPT(), MD5() ou SHA1() comme la plupart des CMS. (<a href="http://guide.exolia.fr/index.php/2006/02/15/50-mysql-password" target="_blank">http://guide.exolia.fr/index.php/2006/02/15/50-mysql-password</a>)</i>
| |
| 41 | 41 | |
| 42 | 42 |
<!-- Mis en forme avec Quick Txt2Html |
| 43 | 43 |
http://txt2html.praline/txt2html.php --> |
| 241 | 241 |
$conf_email_mailmaster = "mailmaster@domain.tld"; |
| 242 | 242 |
<br /><br /> |
| 243 | 243 |
<p>// Les destinations des alias generiques (@domain.tld) sont des domaines de la table des transports = true;<br /> |
| 244 |
// Les destinations des alias generiques (@domain.tld) sont gres par le MTA = false;<br /> | |
| 244 |
// Les destinations des alias generiques (@domain.tld) sont gérées par le MTA = false;<br />
| |
| 245 | 245 |
// TO DO<br /> |
| 246 | 246 |
$conf_alias_gen_transport = true;<br /> |
| 247 | 247 |
//$conf_alias_gen_transport = false; |
| 248 | 248 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<head> |
| 4 | 4 | |
| 5 | 5 |
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
| |
| 7 | 7 |
<meta name="keywords" content="bechamail, mail, couriel, administration, cassiopea, robert sebille, sebille"> |
| 8 | 8 |
<meta name="copyright" content="Cassiopea"> |
| 9 | 9 |
<meta name="author" content="Robert Sebille"> |
| 31 | 31 |
<td width="80%" valign="top"> |
| 32 | 32 |
<div class="corps-doc"> |
| 33 | 33 |
<h3>Use cases</h3> |
| 34 |
Bien que Bechamail soit dvelopp de manire procdurale, et pas orient objet, le diagramme UML des cas d'utilisation avec objectif utilisateur donne une bonne reprsentation des fonctionnalits auxquelles peuvent s'attendre ces utilisateurs.<br><br> | |
| 34 |
Bien que Bechamail soit développé de manière procédurale, et pas orienté objet, le diagramme UML des cas d'utilisation avec objectif utilisateur donne une bonne représentation des fonctionnalités auxquelles peuvent s'attendre ces utilisateurs.<br><br>
| |
| 35 | 35 |
<a name="usecase0"></a><h4>Use case 0</h4> |
| 36 | 36 |
<div><a href="#usecase1" style="font-size: 80%">Vers le use case 1</a></div> |
| 37 | 37 |
<img src="Bechamail-use-case.png" width="1023" height="1414" alt="Diagramme use case 0 de Bechamail"><br> |
| 38 | 38 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 6 | 6 | |
| 7 | 7 |
<form action="login.php" enctype="multipart/form-data" method="POST" name="f_log"> |
| 8 | 8 | |
| 9 |
<!-- <div class="mess">Une mise jour de Bechamail sera effectue ce jeudi 01 fvrier 2007 entre 16H00 et 17H00 (CET)<br>Pour viter tout problme, l'accs Bechamail sera dsactiv pendant ce temps.<br>Si vous tes connect avant, il vaut mieux cesser tout encodage pendant la mise jour.<br>Merci de votre comprhension.</div><br> --> | |
| 10 |
<!-- <div class="mess">Mise jour de Bechamail en cours ...<br>Dure prvue: jusqu' ce jour 17H00 (CET) ou disparition de ce message et ractivation du bouton "Connexion".<br>Pour viter tout problme, l'accs Bechamail est dsactiv pendant ce temps.<br>Si vous tiez connect avant, il vaut mieux cesser tout encodage pendant la dure de la mise jour.<br>Merci de votre comprhension.</div><br> --> | |
| 9 |
<!-- <div class="mess">Une mise à jour de Bechamail sera effectuée ce jeudi 01 février 2007 entre 16H00 et 17H00 (CET)<br>Pour éviter tout problème, l'accès à Bechamail sera désactivé pendant ce temps.<br>Si vous êtes connecté avant, il vaut mieux cesser tout encodage pendant la mise à jour.<br>Merci de votre compréhension.</div><br> -->
| |
| 10 |
<!-- <div class="mess">Mise à jour de Bechamail en cours ...<br>Durée prévue: jusqu'à ce jour 17H00 (CET) ou disparition de ce message et réactivation du bouton "Connexion".<br>Pour éviter tout problème, l'accès à Bechamail est désactivé pendant ce temps.<br>Si vous étiez connecté avant, il vaut mieux cesser tout encodage pendant la durée de la mise à jour.<br>Merci de votre compréhension.</div><br> --> | |
| 11 | 11 | |
| 12 | 12 |
~!t_mess_accueil~ |
| 13 | 13 | |
| 27 | 27 | |
| 28 | 28 |
<div> |
| 29 | 29 | |
| 30 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Les activits que vous execerez dans Bechamail sont traces dans des fichiers de log. L\'unique but de ce traage est un ventuel "debugging" et de prvenir toute malveillance.', CAPTION, 'Avertissement', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 30 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Les activités que vous execerez dans Bechamail sont tracées dans des fichiers de log. L\'unique but de ce traçage est un éventuel "debugging" et de prévenir toute malveillance.', CAPTION, 'Avertissement', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 31 | 31 | |
| 32 | 32 |
<input name="f_connect" value="Inloggen" type="submit" tabindex="0"> |
| 33 | 33 |
</div> |
| 34 | 34 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 5 |
<h2>Administration systme</h2> | |
| 5 |
<h2>Administration système</h2>
| |
| 6 | 6 | |
| 7 | 7 |
~!t_mess_accueil~ |
| 8 | 8 | |
| 9 | 9 |
<div class="as_a_form"> |
| 10 | 10 |
<ul> |
| 11 |
<li><a href="liste-admin-genalias.php">Alias gnriques</a> | |
| 11 |
<li><a href="liste-admin-genalias.php">Alias génériques</a>
| |
| 12 | 12 |
<ul> |
| 13 |
<li><span class="sql">Gestion des alias gnriques</span></a> | |
| 13 |
<li><span class="sql">Gestion des alias génériques</span></a>
| |
| 14 | 14 |
</ul> |
| 15 | 15 |
</ul> |
| 16 | 16 |
<ul> |
| 17 | 17 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 |
<script type="text/javascript"> |
| 3 | 3 |
<!-- |
| 4 | 4 |
function bloquerChamps(ouiounon) {
|
| 8 | 8 |
alias_gen_actuel = document.f_form_dom.f_domaine.value; |
| 9 | 9 |
document.getElementById('f_alias_modif_id').setAttribute('readonly','readonly');
|
| 10 | 10 |
document.getElementById('f_dest_modif_id').setAttribute('readonly','readonly');
|
| 11 |
alert('ATTENTION:\nVous apprtez modifier l\'alias gnrique (actuellement) @'+alias_gen_actuel+' > ~!t_f_domaine~. Les champs user de l\'alias et de la destination sont maintenant non modifiables. Si c\'est involontaire ou si vous ne savez pas ce que vous faites, cliquez sur "Retourner" et recommencez l\'opration de modification');
| |
| 11 |
alert('ATTENTION:\nVous apprêtez à modifier l\'alias générique (actuellement) @'+alias_gen_actuel+' > ~!t_f_domaine~. Les champs user de l\'alias et de la destination sont maintenant non modifiables. Si c\'est involontaire ou si vous ne savez pas ce que vous faites, cliquez sur "Retourner" et recommencez l\'opération de modification');
| |
| 12 | 12 |
} |
| 13 | 13 |
} |
| 14 | 14 |
// --> |
| 28 | 28 |
<div><span class="sql">Format d'une adresse email: user@domain.tld (tld pour top level domain).</span></div> |
| 29 | 29 | |
| 30 | 30 |
<h3> |
| 31 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractres autoriss', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 31 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractères autorisés', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 32 | 32 |
Alias: <input type="text" name="f_alias_ajoute" value="~!t_f_alias_ajoute~">@~!t_f_domaine~ |
| 33 | 33 |
</h3> |
| 34 | 34 | |
| 39 | 39 |
textbrev = document.f_form_dom.f_dest_ajoute.value; |
| 40 | 40 |
longbrev = textbrev.length; |
| 41 | 41 |
if (longbrev > nbmax) {
|
| 42 |
alert("Votre texte est trop long de "+(longbrev-nbmax)+" car.\nIl va tre tronqu "+nbmax+" car.");
| |
| 42 |
alert("Votre texte est trop long de "+(longbrev-nbmax)+" car.\nIl va être tronqué à "+nbmax+" car.");
| |
| 43 | 43 |
textbrev=textbrev.substring(0,nbmax); |
| 44 | 44 |
document.f_form_dom.f_dest_ajoute.value=textbrev; |
| 45 | 45 |
longbrev = textbrev.length; |
| 51 | 51 |
</script> |
| 52 | 52 | |
| 53 | 53 |
<h3> |
| 54 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractres autoriss pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 54 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractères autorisés pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 55 | 55 |
|
| 56 | 56 |
Destination. (max ~!t_nbcar_champ_destination~ car.) |
| 57 | 57 | |
| 65 | 65 | |
| 66 | 66 |
</h3> |
| 67 | 67 | |
| 68 |
<div><span class="sql">Inscrivez ci-dessous les adresses email o vous souhaitez que cet alias soit redirig:<br>(Format du champ destination: user1@domain1.tld1,user2@domain2.tld2,etc.)</span></div> | |
| 68 |
<div><span class="sql">Inscrivez ci-dessous les adresses email où vous souhaitez que cet alias soit redirigé:<br>(Format du champ destination: user1@domain1.tld1,user2@domain2.tld2,etc.)</span></div>
| |
| 69 | 69 |
|
| 70 |
<img src="../images/info.png" width="20" height="20" border="0" align="top" alt="Info" onMouseOver="overlib('<strong> · </strong>Ce champ sera enregistr dans la base de donnes sur une seule ligne et sans espaces ni retours de ligne.<br>\n<strong> · </strong>Vous pouvez cependant utiliser espaces et retours de ligne lors de votre encodage pour vous en faciliter la lecture, le programme corrigera automatiquement l\'enregistrement (bouton Ajouter).<br>\n<b><u>Attention ceci:</u></b><br>\n<strong> · </strong><b>Dans tous les cas, les adresses email doivent tre spares par une virgule !</b><br>\n<strong> · </strong>Chaque espace ou retour de chariot utilis vous cotera 1 2 caractres en longueur sur les ~!t_nbcar_champ_destination~ maximum autoriss pour ce champ.<br>\n<strong> · </strong>Si la chane de caractre de ce champ est proche de sa longueur maximum (~!t_nbcar_champ_destination~ car.), en introduisant espace ou retour de chariot, vous risquez de forcer le programme tronquer la fin de la liste des adresses et de fausser ainsi la dernire adresse. Rassurez vous cependant que vous serez averti d\'un ventuel tronquage. Si c\'est le cas, vrifiez alors la fin de la chane.\n', CAPTION, 'Espaces, retours de lignes', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;">
| |
| 70 |
<img src="../images/info.png" width="20" height="20" border="0" align="top" alt="Info" onMouseOver="overlib('<strong> · </strong>Ce champ sera enregistré dans la base de données sur une seule ligne et sans espaces ni retours de ligne.<br>\n<strong> · </strong>Vous pouvez cependant utiliser espaces et retours de ligne lors de votre encodage pour vous en faciliter la lecture, le programme corrigera automatiquement à l\'enregistrement (bouton Ajouter).<br>\n<b><u>Attention à ceci:</u></b><br>\n<strong> · </strong><b>Dans tous les cas, les adresses email doivent être séparées par une virgule !</b><br>\n<strong> · </strong>Chaque espace ou retour de chariot utilisé vous coûtera 1 à 2 caractères en longueur sur les ~!t_nbcar_champ_destination~ maximum autorisés pour ce champ.<br>\n<strong> · </strong>Si la chaîne de caractère de ce champ est proche de sa longueur maximum (~!t_nbcar_champ_destination~ car.), en introduisant espace ou retour de chariot, vous risquez de forcer le programme à tronquer la fin de la liste des adresses et de fausser ainsi la dernière adresse. Rassurez vous cependant que vous serez averti d\'un éventuel tronquage. Si c\'est le cas, vérifiez alors la fin de la chaîne.\n', CAPTION, 'Espaces, retours de lignes', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;">
| |
| 71 | 71 | |
| 72 | 72 |
<textarea name="f_dest_ajoute" cols="80" rows="3" onMousemove='veriflong();' onKeyUp='veriflong();'>~!t_f_dest_ajoute~</textarea><br> |
| 73 | 73 | |
| 82 | 82 | |
| 83 | 83 |
|
| 84 | 84 |
|
| 85 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias gnriques et auto-rfrences', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;"> Alias gnriques et rfrences
| |
| 85 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias génériques et auto-références', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;"> Alias génériques et références
| |
| 86 | 86 |
</div> |
| 87 | 87 | |
| 88 | 88 |
</form> |
| 93 | 93 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 94 | 94 |
|
| 95 | 95 |
<div> |
| 96 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour la liste des alias.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 96 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour à la liste des alias.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 97 | 97 |
<input name="f_alias_annule_submit" value="Annuler" type="submit" tabindex="0"> |
| 98 | 98 |
</div> |
| 99 | 99 | |
| 100 | 100 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 13 | 13 |
<div> |
| 14 | 14 | |
| 15 | 15 |
<h3> |
| 16 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractres autoriss', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 16 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractères autorisés', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 17 | 17 |
Login: <input type="text" name="f_login_ajout" value="~!t_f_login_ajout~"> |
| 18 | 18 |
<br> |
| 19 | 19 |
</h3> |
| 20 | 20 |
|
| 21 | 21 |
|
| 22 | 22 |
<h3> |
| 23 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractres autoriss pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 23 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractères autorisés pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 24 | 24 |
Contact email: <input type="text" name="f_contact_ajout" value="~!t_f_contact_ajout~" size="24"> |
| 25 | 25 |
<div> |
| 26 | 26 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_message_lg_accueil_overlib~', CAPTION, '~!t_message_lg_accueil_overlib_caption~', HAUTO, VAUTO, WIDTH, 420)" onMouseOut="nd();" style="cursor:help;">
|
| 27 | 27 |
<input type="checkbox" name="f_envoie_mail" value="" ~!t_envoie_mail_checked~> |
| 28 |
<span class="sql">Lors de sa cration, un message de premier accueil avec les paramtres de connexion est envoy Contact email. Si vous dcochez cette case, le message ne sera pas envoy. Vous pouvez avoir un aperu du message en survolant avec la souris le <i>point info</i> gauche de la case cocher. | |
| 29 |
<br>NB: le message sera complt des champs adquats au fur et mesure que vous remplirez ces autres champs.</span> | |
| 28 |
<span class="sql">Lors de sa création, un message de premier accueil avec les paramètres de connexion est envoyé à Contact email. Si vous décochez cette case, le message ne sera pas envoyé. Vous pouvez avoir un aperçu du message en survolant avec la souris le <i>point info</i> à gauche de la case à cocher.
| |
| 29 |
<br>NB: le message sera complété des champs adéquats au fur et à mesure que vous remplirez ces autres champs.</span> | |
| 30 | 30 |
</div> |
| 31 | 31 |
<br> |
| 32 | 32 |
</h3> |
| 33 | 33 |
|
| 34 | 34 |
|
| 35 | 35 |
<h3> |
| 36 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Rpeter 2 fois le mot de passe.', CAPTION, 'Mot de passe', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 36 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Répeter 2 fois le mot de passe.', CAPTION, 'Mot de passe', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 37 | 37 |
Mot de passe: |
| 38 | 38 |
<input type="password" name="f_pass_ajout" value="~!t_f_pass_ajout~"> = |
| 39 | 39 |
<input type="password" name="f_pass1_ajout" value="~!t_f_pass1_ajout~"><br> |
| 76 | 76 | |
| 77 | 77 | |
| 78 | 78 |
<h3> |
| 79 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Choisissez les domaines ajouter ou supprimer pour le login <i>~!t_f_login~</i>. <br>\n<strong> · </strong><u>all</u> reprsente TOUS les domaines (super administrateur).', CAPTION, 'Domaines', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 79 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Choisissez les domaines à ajouter ou supprimer pour le login <i>~!t_f_login~</i>. <br>\n<strong> · </strong><u>all</u> représente TOUS les domaines (super administrateur).', CAPTION, 'Domaines', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 80 | 80 | |
| 81 |
Domaines grs | |
| 81 |
Domaines gérés&nbsp;
| |
| 82 | 82 |
<select id="f_domaines_existants" name="f_dom_existant" tabindex="0"> |
| 83 | 83 |
<!-- ~!begin-loop_f_domaines_existants~ --> |
| 84 | 84 |
<option value="~!loop_f_domaines_existants-var-0~">~!loop_f_domaines_existants-var-1~ ~!loop_f_domaines_existants-var-2~</option> |
| 85 | 85 |
<!-- ~!end-loop_f_domaines_existants~ --> |
| 86 | 86 |
</select> |
| 87 | 87 |
</h3> |
| 88 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Attention: c\'est le domaine slectionn ci-dessus (dans "Domaines grs") que vous ajoutez ou supprimez ! <br><strong> · </strong><u>all</u> reprsente TOUS les domaines (super administrateur).', CAPTION, 'Ajouter - Supprimer - Supprimer tout', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 88 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Attention: c\'est le domaine sélectionné ci-dessus (dans "Domaines gérés") que vous ajoutez ou supprimez ! <br><strong> · </strong><u>all</u> représente TOUS les domaines (super administrateur).', CAPTION, 'Ajouter - Supprimer - Supprimer tout', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 89 | 89 |
<input name="f_dom_ajoute" value="Ajouter" type="button" tabindex="0" onClick="add_dom (f_dom_existant.value)"> |
| 90 | 90 |
<input name="f_dom_supprime" value="Supprimer" type="button" tabindex="0" onClick="del_dom (f_dom_existant.value)"> |
| 91 | 91 |
<input name="f_dom_supprime_tout" value="Supprimer tout" type="button" tabindex="0" onClick="f_domaine_ajout.value='';"><br> |
| 92 | 92 |
<div class="note"> </div> |
| 93 | 93 |
<textarea name="f_domaine_ajout" cols="80" rows="3" readonly="readonly">~!t_f_domaine_ajout~</textarea><br> |
| 94 |
<span class="danger">Attention: un login sans domaine ne pourra pas se connecter Bechamail !</span> | |
| 94 |
<span class="danger">Attention: un login sans domaine ne pourra pas se connecter à Bechamail !</span>
| |
| 95 | 95 |
|
| 96 | 96 |
<br><br> |
| 97 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Aucune confirmation ne sera demande.', CAPTION, 'Ajouter', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 97 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Aucune confirmation ne sera demandée.', CAPTION, 'Ajouter', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 98 | 98 |
<input name="f_login_ajout_submit" value="Ajouter" type="submit" tabindex="0"> |
| 99 | 99 |
</div> |
| 100 | 100 | |
| 104 | 104 |
<form action="liste-admin-login.php" enctype="multipart/form-data" method="POST" name="f_form_liste_login"> |
| 105 | 105 | |
| 106 | 106 |
<div> |
| 107 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour la liste des login.', CAPTION, 'Annuler', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 107 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour à la liste des login.', CAPTION, 'Annuler', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 108 | 108 |
<input name="f_login_annule_submit" value="Annuler" type="submit" tabindex="0"> |
| 109 | 109 |
</div> |
| 110 | 110 | |
| 111 | 111 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 |
<script type="text/javascript"> |
| 3 | 3 |
<!-- |
| 4 | 4 |
function bloquerChamps(ouiounon) {
|
| 8 | 8 |
alias_gen_actuel = document.f_form_dom.f_domaine.value; |
| 9 | 9 |
document.getElementById('f_alias_modif_id').setAttribute('readonly','readonly');
|
| 10 | 10 |
document.getElementById('f_dest_modif_id').setAttribute('readonly','readonly');
|
| 11 |
alert('ATTENTION:\nVous apprtez modifier l\'alias gnrique (actuellement) @'+alias_gen_actuel+' > ~!t_f_domaine~. Les champs user de l\'alias et de la destination sont maintenant non modifiables. Si c\'est involontaire ou si vous ne savez pas ce que vous faites, cliquez sur "Retourner" et recommencez l\'opration de modification');
| |
| 11 |
alert('ATTENTION:\nVous apprêtez à modifier l\'alias générique (actuellement) @'+alias_gen_actuel+' > ~!t_f_domaine~. Les champs user de l\'alias et de la destination sont maintenant non modifiables. Si c\'est involontaire ou si vous ne savez pas ce que vous faites, cliquez sur "Retourner" et recommencez l\'opération de modification');
| |
| 12 | 12 |
} |
| 13 | 13 |
} |
| 14 | 14 |
// --> |
| 28 | 28 |
<div><span class="sql">Format d'une adresse email: user@domain.tld (tld pour top level domain).</span></div> |
| 29 | 29 | |
| 30 | 30 |
<h3> |
| 31 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractres autoriss', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 31 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractères autorisés', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 32 | 32 |
Alias: <input type="text" name="f_alias_ajoute" value="~!t_f_alias_ajoute~">@~!t_f_domaine~ |
| 33 | 33 |
</h3> |
| 34 | 34 | |
| 39 | 39 |
textbrev = document.f_form_dom.f_dest_ajoute.value; |
| 40 | 40 |
longbrev = textbrev.length; |
| 41 | 41 |
if (longbrev > nbmax) {
|
| 42 |
alert("Votre texte est trop long de "+(longbrev-nbmax)+" car.\nIl va tre tronqu "+nbmax+" car.");
| |
| 42 |
alert("Votre texte est trop long de "+(longbrev-nbmax)+" car.\nIl va être tronqué à "+nbmax+" car.");
| |
| 43 | 43 |
textbrev=textbrev.substring(0,nbmax); |
| 44 | 44 |
document.f_form_dom.f_dest_ajoute.value=textbrev; |
| 45 | 45 |
longbrev = textbrev.length; |
| 51 | 51 |
</script> |
| 52 | 52 | |
| 53 | 53 |
<h3> |
| 54 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractres autoriss pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 54 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractères autorisés pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 55 | 55 |
|
| 56 | 56 |
Destination. (max ~!t_nbcar_champ_destination~ car.) |
| 57 | 57 | |
| 65 | 65 | |
| 66 | 66 |
</h3> |
| 67 | 67 | |
| 68 |
<div><span class="sql">Inscrivez ci-dessous les adresses email o vous souhaitez que cet alias soit redirig:<br>(Format du champ destination: user1@domain1.tld1,user2@domain2.tld2,etc.)</span></div> | |
| 68 |
<div><span class="sql">Inscrivez ci-dessous les adresses email où vous souhaitez que cet alias soit redirigé:<br>(Format du champ destination: user1@domain1.tld1,user2@domain2.tld2,etc.)</span></div>
| |
| 69 | 69 |
|
| 70 |
<img src="../images/info.png" width="20" height="20" border="0" align="top" alt="Info" onMouseOver="overlib('<strong> · </strong>Ce champ sera enregistr dans la base de donnes sur une seule ligne et sans espaces ni retours de ligne.<br>\n<strong> · </strong>Vous pouvez cependant utiliser espaces et retours de ligne lors de votre encodage pour vous en faciliter la lecture, le programme corrigera automatiquement l\'enregistrement (bouton Ajouter).<br>\n<b><u>Attention ceci:</u></b><br>\n<strong> · </strong><b>Dans tous les cas, les adresses email doivent tre spares par une virgule !</b><br>\n<strong> · </strong>Chaque espace ou retour de chariot utilis vous cotera 1 2 caractres en longueur sur les ~!t_nbcar_champ_destination~ maximum autoriss pour ce champ.<br>\n<strong> · </strong>Si la chane de caractre de ce champ est proche de sa longueur maximum (~!t_nbcar_champ_destination~ car.), en introduisant espace ou retour de chariot, vous risquez de forcer le programme tronquer la fin de la liste des adresses et de fausser ainsi la dernire adresse. Rassurez vous cependant que vous serez averti d\'un ventuel tronquage. Si c\'est le cas, vrifiez alors la fin de la chane.\n', CAPTION, 'Espaces, retours de lignes', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;">
| |
| 70 |
<img src="../images/info.png" width="20" height="20" border="0" align="top" alt="Info" onMouseOver="overlib('<strong> · </strong>Ce champ sera enregistré dans la base de données sur une seule ligne et sans espaces ni retours de ligne.<br>\n<strong> · </strong>Vous pouvez cependant utiliser espaces et retours de ligne lors de votre encodage pour vous en faciliter la lecture, le programme corrigera automatiquement à l\'enregistrement (bouton Ajouter).<br>\n<b><u>Attention à ceci:</u></b><br>\n<strong> · </strong><b>Dans tous les cas, les adresses email doivent être séparées par une virgule !</b><br>\n<strong> · </strong>Chaque espace ou retour de chariot utilisé vous coûtera 1 à 2 caractères en longueur sur les ~!t_nbcar_champ_destination~ maximum autorisés pour ce champ.<br>\n<strong> · </strong>Si la chaîne de caractère de ce champ est proche de sa longueur maximum (~!t_nbcar_champ_destination~ car.), en introduisant espace ou retour de chariot, vous risquez de forcer le programme à tronquer la fin de la liste des adresses et de fausser ainsi la dernière adresse. Rassurez vous cependant que vous serez averti d\'un éventuel tronquage. Si c\'est le cas, vérifiez alors la fin de la chaîne.\n', CAPTION, 'Espaces, retours de lignes', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;">
| |
| 71 | 71 | |
| 72 | 72 |
<textarea name="f_dest_ajoute" cols="80" rows="3" onMousemove='veriflong();' onKeyUp='veriflong();'>~!t_f_dest_ajoute~</textarea><br> |
| 73 | 73 | |
| 82 | 82 | |
| 83 | 83 |
|
| 84 | 84 |
|
| 85 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias gnriques et auto-rfrences', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;"> Alias gnriques et rfrences
| |
| 85 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias génériques et auto-références', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;"> Alias génériques et références
| |
| 86 | 86 |
</div> |
| 87 | 87 | |
| 88 | 88 |
</form> |
| 93 | 93 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 94 | 94 |
|
| 95 | 95 |
<div> |
| 96 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour la liste des alias.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 96 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour à la liste des alias.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 97 | 97 |
<input name="f_alias_annule_submit" value="Annuler" type="submit" tabindex="0"> |
| 98 | 98 |
</div> |
| 99 | 99 | |
| 100 | 100 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 45 | 45 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 46 | 46 |
|
| 47 | 47 |
<div> |
| 48 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour la liste des boites aux lettres.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 48 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour à la liste des boites aux lettres.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 49 | 49 |
<input name="f_mailbox_annule_submit" value="Annuler" type="submit" tabindex="0"> |
| 50 | 50 |
</div> |
| 51 | 51 | |
| 52 | 52 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 5 | 5 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 8 | 8 | |
| 9 | 9 |
<form action="modif-admin-login.php" enctype="multipart/form-data" method="POST" name="f_form_login"> |
| 10 | 10 | |
| 11 |
<h3><img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Cliquez sur un login dans la liste pour le modifier ou le supprimer.<br>\n<strong> · </strong>Cliquez sur un [email@domain.tld]<sup>(1)</sup> dans la liste pour envoyer un mail au propritaire du login.<br>\n<hr>\nNote:<br>\n(1) Si l\'email n\'existe pas, une paire de crochets vides [] est affiche.', CAPTION, 'Liste des logins', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;" align="left"> ~!t_nb_login~ login trouv(s).<br><span class="note">all = tous les domaines (super administrateur).</span></h3>
| |
| 11 |
<h3><img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Cliquez sur un login dans la liste pour le modifier ou le supprimer.<br>\n<strong> · </strong>Cliquez sur un [email@domain.tld]<sup>(1)</sup> dans la liste pour envoyer un mail au propriétaire du login.<br>\n<hr>\nNote:<br>\n(1) Si l\'email n\'existe pas, une paire de crochets vides [] est affichée.', CAPTION, 'Liste des logins', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;" align="left"> ~!t_nb_login~ login trouvé(s).<br><span class="note">all = tous les domaines (super administrateur).</span></h3>
| |
| 12 | 12 |
|
| 13 | 13 |
<div> |
| 14 | 14 |
|
| 15 | 15 |
<ol> |
| 16 | 16 |
<!-- ~!begin-loop_f_login~ --> |
| 17 |
<li><a href="modif-admin-login.php?login=~!loop_f_login-var-0~" title="Modifier ou supprimer ~!loop_f_login-var-0~">~!loop_f_login-var-0~</a> [<a href="mailto:~!loop_f_login-var-2~" title="Envoyer un email ~!loop_f_login-var-0~">~!loop_f_login-var-2~</a>] => ~!loop_f_login-var-1~</li> | |
| 17 |
<li><a href="modif-admin-login.php?login=~!loop_f_login-var-0~" title="Modifier ou supprimer ~!loop_f_login-var-0~">~!loop_f_login-var-0~</a> [<a href="mailto:~!loop_f_login-var-2~" title="Envoyer un email à ~!loop_f_login-var-0~">~!loop_f_login-var-2~</a>] => ~!loop_f_login-var-1~</li>
| |
| 18 | 18 |
<!-- ~!end-loop_f_login~ --> |
| 19 | 19 |
</ol> |
| 20 | 20 |
</div> |
| 27 | 27 |
<!-- <input type="hidden" name="f_domaine" value="~!t_f_domaine~"> --> |
| 28 | 28 |
<h3>Exportation</h3> |
| 29 | 29 |
<div> |
| 30 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>Sparateurs de champ:</u> <strong>,</strong> (virgule)<br>\n<strong> · </strong><u>Sparateurs de texte:</u> <strong>"</strong> (guillemet)<br><br><u>Exemple:</u><br>"login1","domaine1-1,domaine1-2","email1"<br>"login2","domaine2-1,domaine2-2","email2"<br>"etc."', CAPTION, 'Format accessible dans un tableur', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 30 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>Séparateurs de champ:</u> <strong>,</strong> (virgule)<br>\n<strong> · </strong><u>Séparateurs de texte:</u> <strong>"</strong> (guillemet)<br><br><u>Exemple:</u><br>"login1","domaine1-1,domaine1-2","email1"<br>"login2","domaine2-1,domaine2-2","email2"<br>"etc."', CAPTION, 'Format accessible dans un tableur', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 31 | 31 | |
| 32 | 32 |
<input name="f_format_csv_submit" value="Login au format csv" type="submit" tabindex="0"> <span class="sql">"login","domaine1,domaine2","email"</span> |
| 33 | 33 |
</div> |
| 38 | 38 |
<form action="~!t_script_name~" enctype="multipart/form-data" method="POST" name="f_form_login_sympa1"> |
| 39 | 39 | |
| 40 | 40 |
<div> |
| 41 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Format pour abonnement multiple une liste Sympa<br><br><u>Exemple:</u><br>email-login1@domain1.tld1<br>email-login2@domain2.tld2<br>email-login3@domain3.tld3<br>etc.', CAPTION, 'Format Sympa 1', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 41 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Format pour abonnement multiple à une liste Sympa<br><br><u>Exemple:</u><br>email-login1@domain1.tld1<br>email-login2@domain2.tld2<br>email-login3@domain3.tld3<br>etc.', CAPTION, 'Format Sympa 1', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 42 | 42 | |
| 43 | 43 |
<input name="f_format_sympa1_submit" value="Login au format Sympa 1" type="submit" tabindex="0"> <span class="sql">email-login1@domain1.tld1 (1 item par ligne)</span> |
| 44 | 44 |
</div> |
| 49 | 49 |
<form action="~!t_script_name~" enctype="multipart/form-data" method="POST" name="f_form_login_sympa2"> |
| 50 | 50 | |
| 51 | 51 |
<div> |
| 52 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Format pour abonnement multiple une liste Sympa<br><br><u>Exemple:</u><br>email-login1@domain1.tld1 login1<br>email-login2@domain2.tld2 login2<br>email-login3@domain3.tld3 login3<br>etc.', CAPTION, 'Format Sympa 2', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 52 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Format pour abonnement multiple à une liste Sympa<br><br><u>Exemple:</u><br>email-login1@domain1.tld1 login1<br>email-login2@domain2.tld2 login2<br>email-login3@domain3.tld3 login3<br>etc.', CAPTION, 'Format Sympa 2', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 53 | 53 | |
| 54 | 54 |
<input name="f_format_sympa2_submit" value="Login au format Sympa 2" type="submit" tabindex="0"> <span class="sql">email-login1@domain1.tld1 login (1 item par ligne)</span> |
| 55 | 55 |
</div> |
| 56 | 56 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 |
<div>Liste des alias au format csv - <a href="javascript:history.back();">Retour la page prcedente</a></div> | |
| 3 |
<div>Liste des alias au format csv - <a href="javascript:history.back();">Retour à la page précedente</a></div>
| |
| 4 | 4 | |
| 5 |
<div>~!t_nb_alias~ alias trouv(s). Copiez / collez les informations sous la ligne dans un fichier texte.csv</div> | |
| 5 |
<div>~!t_nb_alias~ alias trouvé(s). Copiez / collez les informations sous la ligne dans un fichier texte.csv</div>
| |
| 6 | 6 |
<div>Vous pourrez ensuite l'importer dans un tableur</div> |
| 7 | 7 | |
| 8 | 8 |
<div><hr></div> |
| 9 | 9 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 |
<div>Liste des alias au format Sympa - <a href="javascript:history.back();">Retour la page prcedente</a></div> | |
| 3 |
<div>Liste des alias au format Sympa - <a href="javascript:history.back();">Retour à la page précedente</a></div>
| |
| 4 | 4 | |
| 5 |
<div>~!t_nb_alias~ alias trouv(s). Vous pouvez copier / coller les informations sous la ligne dans le formulaire d'abonnement multiple d'une liste sympa</div> | |
| 5 |
<div>~!t_nb_alias~ alias trouvé(s). Vous pouvez copier / coller les informations sous la ligne dans le formulaire d'abonnement multiple d'une liste sympa</div>
| |
| 6 | 6 | |
| 7 | 7 |
<div><hr></div> |
| 8 | 8 |
<div> </div> |
| 9 | 9 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 8 | 8 | |
| 9 | 9 |
<form action="liste-alias.php" enctype="multipart/form-data" method="POST" name="f_form_dom"> |
| 10 | 10 | |
| 11 |
<h3>~!t_nb_domaines~ domaine(s) trouv(s).</h3> | |
| 11 |
<h3>~!t_nb_domaines~ domaine(s) trouvé(s).</h3>
| |
| 12 | 12 | |
| 13 | 13 |
<div> |
| 14 | 14 |
<select id="f_domaine" name="f_domaine" tabindex="0"> |
| 20 | 20 |
</div> |
| 21 | 21 | |
| 22 | 22 |
<h3> |
| 23 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Seul le super administrateur est autoris modifier ce paramtre.~!t_aide_supadmin_maxnb~', CAPTION, 'Modification du nombre de boites pour ce domaine', HAUTO, VAUTO, WIDTH, '260')" onMouseOut="nd();" style="cursor:help;">
| |
| 23 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Seul le super administrateur est autorisé à modifier ce paramètre.~!t_aide_supadmin_maxnb~', CAPTION, 'Modification du nombre de boites pour ce domaine', HAUTO, VAUTO, WIDTH, '260')" onMouseOut="nd();" style="cursor:help;">
| |
| 24 | 24 |
~!t_display_max_nb_alias~ |
| 25 | 25 |
</h3> |
| 26 | 26 | |
| 31 | 31 |
<form action="modif-alias.php" enctype="multipart/form-data" method="POST" name="f_form_alias"> |
| 32 | 32 | |
| 33 | 33 |
<h3> |
| 34 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias et destinations gnriques', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 35 |
~!t_nb_alias~ / ~!t_nb_tot_alias~ alias trouv(s). Cliquez sur un lien dans la liste pour modifier ou supprimer un alias. | |
| 34 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias et destinations génériques', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 35 |
~!t_nb_alias~ / ~!t_nb_tot_alias~ alias trouvé(s). Cliquez sur un lien dans la liste pour modifier ou supprimer un alias. | |
| 36 | 36 |
</h3> |
| 37 | 37 | |
| 38 | 38 |
<div class="liste-initiales">~!t_liste_initiales~</div> |
| 53 | 53 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 54 | 54 |
<h3>Exportation</h3> |
| 55 | 55 |
<div> |
| 56 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>Sparateurs de champ:</u> <strong>,</strong> (virgule)<br>\n<strong> · </strong><u>Sparateurs de texte:</u> <strong>"</strong> (guillemet)<br><br><u>Exemple:</u><br>"alias1-1@domain1-1.tld1-1","destination1-1@domain1-1.tld1-1,destination1-2@domain1-2.tld1-2"<br>"alias2-1@domain2-1.tld2-1","destination2-1@domain2-1.tld2-1,destination2-2@domain2-2.tld2-2"<br>"etc."', CAPTION, 'Format accessible dans un tableur', HAUTO, VAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;">
| |
| 56 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>Séparateurs de champ:</u> <strong>,</strong> (virgule)<br>\n<strong> · </strong><u>Séparateurs de texte:</u> <strong>"</strong> (guillemet)<br><br><u>Exemple:</u><br>"alias1-1@domain1-1.tld1-1","destination1-1@domain1-1.tld1-1,destination1-2@domain1-2.tld1-2"<br>"alias2-1@domain2-1.tld2-1","destination2-1@domain2-1.tld2-1,destination2-2@domain2-2.tld2-2"<br>"etc."', CAPTION, 'Format accessible dans un tableur', HAUTO, VAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;">
| |
| 57 | 57 | |
| 58 | 58 |
<input name="f_format_csv_submit" value="Alias au format csv" type="submit" tabindex="0"> <span class="sql">"alias1-1@domain1.tld1","destination1-1@domain1-1.tld1-1,destination1-2@domain1-2.tld1-2"</span> |
| 59 | 59 |
</div> |
| 64 | 64 |
<form action="~!t_script_name~" enctype="multipart/form-data" method="POST" name="f_form_alias_sympa"> |
| 65 | 65 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 66 | 66 |
<div> |
| 67 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Format pour abonnement multiple une liste Sympa<br><br><u>Exemple:</u><br>alias1@domain1.tld1<br>alias2@domain2.tld2<br>alias3@domain3.tld3<br>etc.', CAPTION, 'Format Sympa', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 67 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Format pour abonnement multiple à une liste Sympa<br><br><u>Exemple:</u><br>alias1@domain1.tld1<br>alias2@domain2.tld2<br>alias3@domain3.tld3<br>etc.', CAPTION, 'Format Sympa', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 68 | 68 | |
| 69 | 69 |
<input name="f_format_sympa_submit" value="Alias au format Sympa" type="submit" tabindex="0"> <span class="sql">alias1-1@domain1.tld1 (1 item par ligne)</span> |
| 70 | 70 |
</div> |
| 71 | 71 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 |
<div>Liste des logins au format csv - <a href="javascript:history.back();">Retour la page prcedente</a></div> | |
| 3 |
<div>Liste des logins au format csv - <a href="javascript:history.back();">Retour à la page précedente</a></div>
| |
| 4 | 4 | |
| 5 |
<div>~!t_nb_login~ login(s) trouv(s). Copiez / collez les informations sous la ligne dans un fichier texte.csv</div> | |
| 5 |
<div>~!t_nb_login~ login(s) trouvé(s). Copiez / collez les informations sous la ligne dans un fichier texte.csv</div>
| |
| 6 | 6 |
<div>Vous pourrez ensuite l'importer dans un tableur</div> |
| 7 | 7 | |
| 8 | 8 |
<div><hr></div> |
| 9 | 9 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 |
<div>Liste des login au format Sympa 1 - <a href="javascript:history.back();">Retour la page prcedente</a></div> | |
| 3 |
<div>Liste des login au format Sympa 1 - <a href="javascript:history.back();">Retour à la page précedente</a></div>
| |
| 4 | 4 | |
| 5 |
<div>~!t_nb_login_sympa~ login(s) trouv(s) avec un email de contact sur un total de ~!t_nb_login~. Vous pouvez copier / coller les informations sous la ligne dans le formulaire d'abonnement multiple d'une liste sympa</div> | |
| 5 |
<div>~!t_nb_login_sympa~ login(s) trouvé(s) avec un email de contact sur un total de ~!t_nb_login~. Vous pouvez copier / coller les informations sous la ligne dans le formulaire d'abonnement multiple d'une liste sympa</div>
| |
| 6 | 6 | |
| 7 | 7 |
<div><hr></div> |
| 8 | 8 |
<div> </div> |
| 9 | 9 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 |
<div>Liste des login au format Sympa 2 - <a href="javascript:history.back();">Retour la page prcedente</a></div> | |
| 3 |
<div>Liste des login au format Sympa 2 - <a href="javascript:history.back();">Retour à la page précedente</a></div>
| |
| 4 | 4 | |
| 5 |
<div>~!t_nb_login_sympa~ login(s) trouv(s) avec un email de contact sur un total de ~!t_nb_login~. Vous pouvez copier / coller les informations sous la ligne dans le formulaire d'abonnement multiple d'une liste sympa</div> | |
| 5 |
<div>~!t_nb_login_sympa~ login(s) trouvé(s) avec un email de contact sur un total de ~!t_nb_login~. Vous pouvez copier / coller les informations sous la ligne dans le formulaire d'abonnement multiple d'une liste sympa</div>
| |
| 6 | 6 | |
| 7 | 7 |
<div><hr></div> |
| 8 | 8 |
<div> </div> |
| 9 | 9 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 |
<div>Liste des boites aux lettres au format csv - <a href="javascript:history.back();">Retour la page prcedente</a></div> | |
| 3 |
<div>Liste des boites aux lettres au format csv - <a href="javascript:history.back();">Retour à la page précedente</a></div>
| |
| 4 | 4 | |
| 5 |
<div>~!t_nb_mailbox~ boite(s) aux lettres trouve(s). Copiez / collez les informations sous la ligne dans un fichier texte.csv</div> | |
| 5 |
<div>~!t_nb_mailbox~ boite(s) aux lettres trouvée(s). Copiez / collez les informations sous la ligne dans un fichier texte.csv</div>
| |
| 6 | 6 |
<div>Vous pourrez ensuite l'importer dans un tableur</div> |
| 7 | 7 | |
| 8 | 8 |
<div><hr></div> |
| 9 | 9 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 |
<div>Liste des boites aux lettres au format Sympa - <a href="javascript:history.back();">Retour la page prcedente</a></div> | |
| 3 |
<div>Liste des boites aux lettres au format Sympa - <a href="javascript:history.back();">Retour à la page précedente</a></div>
| |
| 4 | 4 | |
| 5 |
<div>~!t_nb_mailbox~ boite(s) aux lettres trouve(s). Vous pouvez copier / coller les informations sous la ligne dans le formulaire d'abonnement multiple d'une liste sympa</div> | |
| 5 |
<div>~!t_nb_mailbox~ boite(s) aux lettres trouvée(s). Vous pouvez copier / coller les informations sous la ligne dans le formulaire d'abonnement multiple d'une liste sympa</div>
| |
| 6 | 6 | |
| 7 | 7 |
<div><hr></div> |
| 8 | 8 |
<div> </div> |
| 9 | 9 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 8 | 8 | |
| 9 | 9 |
<form action="liste-mailbox.php" enctype="multipart/form-data" method="POST" name="f_form_dom"> |
| 10 | 10 | |
| 11 |
<h3>~!t_nb_domaines~ domaine(s) trouv(s).</h3> | |
| 11 |
<h3>~!t_nb_domaines~ domaine(s) trouvé(s).</h3>
| |
| 12 | 12 | |
| 13 | 13 |
<div> |
| 14 | 14 |
<select id="f_domaine" name="f_domaine" tabindex="0"> |
| 20 | 20 |
</div> |
| 21 | 21 | |
| 22 | 22 |
<h3> |
| 23 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Seul le super administrateur est autoris modifier ce paramtre.~!t_aide_supadmin_maxnb~', CAPTION, 'Modification du nombre de boites pour ce domaine', HAUTO, VAUTO, WIDTH, '260')" onMouseOut="nd();" style="cursor:help;">
| |
| 23 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Seul le super administrateur est autorisé à modifier ce paramètre.~!t_aide_supadmin_maxnb~', CAPTION, 'Modification du nombre de boites pour ce domaine', HAUTO, VAUTO, WIDTH, '260')" onMouseOut="nd();" style="cursor:help;">
| |
| 24 | 24 |
~!t_display_max_nb_mailbox~ |
| 25 | 25 |
</h3> |
| 26 | 26 | |
| 31 | 31 |
<form action="modif-mailbox.php" enctype="multipart/form-data" method="POST" name="f_form_mailbox"> |
| 32 | 32 | |
| 33 | 33 |
<h3> |
| 34 |
~!t_nb_mailbox~ / ~!t_nb_tot_mailbox~ boite(s) aux lettres trouve(s). Cliquez sur un lien dans la liste pour modifier ou supprimer une boite aux lettres. | |
| 34 |
~!t_nb_mailbox~ / ~!t_nb_tot_mailbox~ boite(s) aux lettres trouvée(s). Cliquez sur un lien dans la liste pour modifier ou supprimer une boite aux lettres.
| |
| 35 | 35 |
</h3> |
| 36 | 36 | |
| 37 | 37 | |
| 53 | 53 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 54 | 54 |
<h3>Exportation</h3> |
| 55 | 55 |
<div> |
| 56 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>Sparateurs de champ:</u> <strong>,</strong> (virgule)<br>\n<strong> · </strong><u>Sparateurs de texte:</u> <strong>"</strong> (guillemet)<br><br><u>Exemple:</u><br>"mailbox1@domain1.tld1","Nom1"<br>"mailbox2@domain2.tld2","Nom2"<br>etc.<br><br>Attention: NomX n\'est prsent que si il existe', CAPTION, 'Format accessible dans un tableur', HAUTO, VAUTO, WIDTH, '280')" onMouseOut="nd();" style="cursor:help;">
| |
| 56 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>Séparateurs de champ:</u> <strong>,</strong> (virgule)<br>\n<strong> · </strong><u>Séparateurs de texte:</u> <strong>"</strong> (guillemet)<br><br><u>Exemple:</u><br>"mailbox1@domain1.tld1","Nom1"<br>"mailbox2@domain2.tld2","Nom2"<br>etc.<br><br>Attention: NomX n\'est présent que si il existe', CAPTION, 'Format accessible dans un tableur', HAUTO, VAUTO, WIDTH, '280')" onMouseOut="nd();" style="cursor:help;">
| |
| 57 | 57 | |
| 58 |
<input name="f_format_csv_submit" value="Boite(s) aux lettres au format csv" type="submit" tabindex="0"> <span class="sql">"mailbox1@domain1.tld1","mailbox1@domain1.tld1" (1 item par ligne, le nom est prsent si il existe)</span> | |
| 58 |
<input name="f_format_csv_submit" value="Boite(s) aux lettres au format csv" type="submit" tabindex="0"> <span class="sql">"mailbox1@domain1.tld1","mailbox1@domain1.tld1" (1 item par ligne, le nom est présent si il existe)</span>
| |
| 59 | 59 |
</div> |
| 60 | 60 |
</form> |
| 61 | 61 | |
| 64 | 64 |
<form action="~!t_script_name~" enctype="multipart/form-data" method="POST" name="f_form_mailbox_sympa"> |
| 65 | 65 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 66 | 66 |
<div> |
| 67 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Format pour abonnement multiple une liste Sympa<br><br><u>Exemple:</u><br>mailbox1@domain1.tld1 Nom1<br>mailbox2@domain2.tld2 Nom2<br>mailbox3@domain3.tld3 Nom3<br>etc.<br><br>Attention: NomX n\'est prsent que si il existe', CAPTION, 'Format Sympa', HAUTO, VAUTO, WIDTH, '280')" onMouseOut="nd();" style="cursor:help;">
| |
| 67 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Format pour abonnement multiple à une liste Sympa<br><br><u>Exemple:</u><br>mailbox1@domain1.tld1 Nom1<br>mailbox2@domain2.tld2 Nom2<br>mailbox3@domain3.tld3 Nom3<br>etc.<br><br>Attention: NomX n\'est présent que si il existe', CAPTION, 'Format Sympa', HAUTO, VAUTO, WIDTH, '280')" onMouseOut="nd();" style="cursor:help;">
| |
| 68 | 68 | |
| 69 |
<input name="f_format_sympa_submit" value="Boite(s) aux lettres au format Sympa" type="submit" tabindex="0"> <span class="sql">mailbox1@domain1.tld1 Nom1 (1 item par ligne, le nom est prsent si il existe)</span> | |
| 69 |
<input name="f_format_sympa_submit" value="Boite(s) aux lettres au format Sympa" type="submit" tabindex="0"> <span class="sql">mailbox1@domain1.tld1 Nom1 (1 item par ligne, le nom est présent si il existe)</span>
| |
| 70 | 70 |
</div> |
| 71 | 71 |
<div> </div> |
| 72 | 72 |
</form> |
| 73 | 73 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 5 |
<h2>Login (franais)</h2> | |
| 5 |
<h2>Login (français)</h2>
| |
| 6 | 6 | |
| 7 | 7 |
<form action="login.php" enctype="multipart/form-data" method="POST" name="f_log"> |
| 8 | 8 | |
| 9 |
<!-- <div class="mess">Une mise jour de Bechamail sera effectue ce jeudi 01 fvrier 2007 entre 16H00 et 17H00 (CET)<br>Pour viter tout problme, l'accs Bechamail sera dsactiv pendant ce temps.<br>Si vous tes connect avant, il vaut mieux cesser tout encodage pendant la mise jour.<br>Merci de votre comprhension.</div><br> --> | |
| 10 |
<!-- <div class="mess">Mise jour de Bechamail en cours ...<br>Dure prvue: jusqu' ce jour 17H00 (CET) ou disparition de ce message et ractivation du bouton "Connexion".<br>Pour viter tout problme, l'accs Bechamail est dsactiv pendant ce temps.<br>Si vous tiez connect avant, il vaut mieux cesser tout encodage pendant la dure de la mise jour.<br>Merci de votre comprhension.</div><br> --> | |
| 9 |
<!-- <div class="mess">Une mise à jour de Bechamail sera effectuée ce jeudi 01 février 2007 entre 16H00 et 17H00 (CET)<br>Pour éviter tout problème, l'accès à Bechamail sera désactivé pendant ce temps.<br>Si vous êtes connecté avant, il vaut mieux cesser tout encodage pendant la mise à jour.<br>Merci de votre compréhension.</div><br> -->
| |
| 10 |
<!-- <div class="mess">Mise à jour de Bechamail en cours ...<br>Durée prévue: jusqu'à ce jour 17H00 (CET) ou disparition de ce message et réactivation du bouton "Connexion".<br>Pour éviter tout problème, l'accès à Bechamail est désactivé pendant ce temps.<br>Si vous étiez connecté avant, il vaut mieux cesser tout encodage pendant la durée de la mise à jour.<br>Merci de votre compréhension.</div><br> --> | |
| 11 | 11 | |
| 12 | 12 |
~!t_mess_accueil~ |
| 13 | 13 | |
| 27 | 27 | |
| 28 | 28 |
<div> |
| 29 | 29 | |
| 30 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Les activits que vous execerez dans Bechamail sont traces dans des fichiers de log. L\'unique but de ce traage est un ventuel "debugging" et de prvenir toute malveillance.', CAPTION, 'Avertissement', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 30 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Les activités que vous execerez dans Bechamail sont tracées dans des fichiers de log. L\'unique but de ce traçage est un éventuel "debugging" et de prévenir toute malveillance.', CAPTION, 'Avertissement', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 31 | 31 | |
| 32 | 32 |
<input name="f_connect" value="Connexion" type="submit" tabindex="0"> |
| 33 | 33 |
</div> |
| 34 | 34 |
| Old | New | Code |
|---|---|---|
| 2 | 2 |
/***********************************/ |
| 3 | 3 |
/* Fichier de messages dynamiques de bechamail */ |
| 4 | 4 |
/***********************************/ |
| 5 |
/* Franais */ | |
| 5 |
/* Français */
| |
| 6 | 6 | |
| 7 | 7 |
// DO_NOT_CHANGE_THIS_PART => "Part to translate escaping special charts, so: \" |
| 8 | 8 | |
| 26 | 26 |
ALIASMAXPOURCEDOMAINE => "alias maximum sont possibles pour ce domaine", |
| 27 | 27 |
APERCUDUMESSAGE => "Aperçu du message", |
| 28 | 28 |
ATTENTIONLESMOTSDEPASSESONTDIFFERENTS => "Attention ! Les mots de passe sont différents !", |
| 29 |
ATTENTIONRESPECTEZSCRUPULEUSEMENTLESINSTRUCTIONS => "Attention, respectez scrupuleusement les instructions que vous a transmises l'administrateur du systme !", | |
| 29 |
ATTENTIONRESPECTEZSCRUPULEUSEMENTLESINSTRUCTIONS => "Attention, respectez scrupuleusement les instructions que vous a transmises l'administrateur du système !",
| |
| 30 | 30 |
AUCUNAJOUTEFFECTUE => "Aucun ajout effectué", |
| 31 |
AUCUNEMAILNAETEENVOYE => "Aucun email n'a t envoy. Suggestion: Demandez l'administrateur systme si l'envoi de mail via php est autoris ?", | |
| 31 |
AUCUNEMAILNAETEENVOYE => "Aucun email n'a été envoyé. Suggestion: Demandez à l'administrateur système si l'envoi de mail via php est autorisé ?",
| |
| 32 | 32 |
AUCUNEMODIFICATIONEFFECTUEE => "Aucune modification effectuée", |
| 33 | 33 |
AUCUNEMODICATIONNESERAFAITESURCESCHAMPS => "aucune modification ne sera effectuée sur ces champs", |
| 34 | 34 | |
| 68 | 68 | |
| 69 | 69 |
// G |
| 70 | 70 |
// !!! PAS D'ENTITES HTML !!! |
| 71 |
GERERLOGINCLIQUERSURVOTRELOGIN => "Grer: Login - Cliquer sur votre login pour modifier vos donnes", | |
| 71 |
GERERLOGINCLIQUERSURVOTRELOGIN => "Gérer: Login - Cliquer sur votre login pour modifier vos données",
| |
| 72 | 72 |
// !!! PAS D'ENTITES HTML !!! |
| 73 |
GERERMESDONNEES => "Grer: Mes donnes", | |
| 73 |
GERERMESDONNEES => "Gérer: Mes données",
| |
| 74 | 74 |
GESTIONDESID => "Gestion de id", |
| 75 | 75 |
GID => "GID", |
| 76 | 76 | |
| 78 | 78 |
LABOITEAUXLETTRES => "La boite aux lettres", |
| 79 | 79 |
LADRESSEEMAIL => "L'adresse email", |
| 80 | 80 |
LADRESSEEMAILDACCUEILDELUTILISATEUR => "L'adresse email d'accueil de l'utilisateur", |
| 81 |
LADMINISTRAREURAFIXELALIMITEMAXIMUMDESQUOTAS => "L'administrateur du systme a fix la limite maximum des quotas", | |
| 81 |
LADMINISTRAREURAFIXELALIMITEMAXIMUMDESQUOTAS => "L'administrateur du système a fixé la limite maximum des quotas",
| |
| 82 | 82 |
LALIAS => "L'alias", |
| 83 | 83 |
LAQUANTITEDOCTETSPOURCETTEBOITE => "Ce nombre représente la quantité maximum d'octets que peut contenir cette boite", |
| 84 | 84 |
LAVALEURPARDEFAUT => "la valeur par défaut", |
| 132 | 132 |
// Q |
| 133 | 133 |
QUOTA => "Quota", |
| 134 | 134 |
QUOTAMAXIMUM => "quota maximum", |
| 135 |
QUOTAPARDEFAUT => "quota par dfaut", | |
| 135 |
QUOTAPARDEFAUT => "quota par défaut",
| |
| 136 | 136 | |
| 137 | 137 |
// R |
| 138 | 138 |
REMPLACEMENTDESCARACTERESLITIGIEUXPARDESZEROS => "remplacement des caractères litigieux par des 0 [zéro]", |
| 166 | 166 |
VOTRECOMPTEBECHAMAILAETEACTIVE => "Votre compte Bechamail a été activé", |
| 167 | 167 |
VOTRENOUVELLEBOITEEMAILAETEACTIVEE => "Votre nouvelle boite email a été activée", |
| 168 | 168 |
VOUSDEVEZCOCHERLACASEDECONFIRMATION => "Vous devez cocher la case de confirmation", |
| 169 |
VOUSDEVEZREPETERLEMOTDEPASSE => "Vous devez rpter votre mot de passe, afin d'tre certain que ce que vous avez crit correspond bien ce que vous avez voulu crire.", | |
| 169 |
VOUSDEVEZREPETERLEMOTDEPASSE => "Vous devez répéter votre mot de passe, afin d'être certain que ce que vous avez écrit correspond bien à ce que vous avez voulu écrire.",
| |
| 170 | 170 |
VOUSDEVEZREMPLIRLECHAMP => "Vous devez remplir le champ", |
| 171 | 171 |
VOUSDEVEZREMPLIRLESCHAMPS => "Vous devez remplir les champs", |
| 172 | 172 |
VOUSNAVEZRIENMODIFIE => "Vous n'avez rien modifié", |
| 173 | 173 |
| Old | New | Code |
|---|---|---|
| 2 | 2 |
/***********************************/ |
| 3 | 3 |
/* Fichier de messages dynamiques de bechamail */ |
| 4 | 4 |
/***********************************/ |
| 5 |
/* Franais */ | |
| 5 |
/* Français */
| |
| 6 | 6 | |
| 7 | 7 |
// DO_NOT_CHANGE_THIS_PART => "Part to translate escaping special charts, so: \" |
| 8 | 8 | |
| 17 | 17 |
MESSAGE_ACCUEIL_NOUVEAU_LOGIN => " |
| 18 | 18 |
Bonjour |lg_login|, |
| 19 | 19 | |
| 20 |
Votre login pour bechamail est activ. | |
| 20 |
Votre login pour bechamail est activé.
| |
| 21 | 21 | |
| 22 |
Pour rfrence, voici les dtails de votre compte (gardez ce message ou imprimez-le) : | |
| 22 |
Pour référence, voici les détails de votre compte (gardez ce message ou imprimez-le) :
| |
| 23 | 23 |
- Nom d'utilisateur ou login: |lg_login| |
| 24 | 24 |
- Mot de passe: |lg_pass| |
| 25 |
- Domaine(s) gr(s): |lg_domains| | |
| 25 |
- Domaine(s) géré(s): |lg_domains|
| |
| 26 | 26 |
- Statut: |lg_statut| |
| 27 | 27 | |
| 28 |
Vous pouvez aisment modifier votre mot de passe en vous rendant sur le site: | |
| 28 |
Vous pouvez aisément modifier votre mot de passe en vous rendant sur le site:
| |
| 29 | 29 |
URL: |conf_url_site| |
| 30 | 30 |
Cliquez: |lg_comment_modifier| |
| 31 | 31 | |
| 32 |
2 questions frquentes: | |
| 33 |
- Qu'est-ce qu'une boite aux lettres ? Une boite aux lettres email n'est pas une adresse email, mais un endroit de stockage (en fait, un rpertoire sur le serveur) associ une adresse email (par exemple, user@domain.tld), et dans lequel vont tre stocks les messages arrivant l'adresse associe. | |
| 34 |
- Qu'est-ce q'un alias ? Un alias est une adresse email, mais qui n'est pas associe une boite aux lettres. Les messages qui parviennent un alias sont redirigs vers une ou plusieurs autres adresses email appeles destination. Les adresses email de destination peuvent tre indiffremment d'autres alias ou des boites aux lettres. | |
| 32 |
2 questions fréquentes:
| |
| 33 |
- Qu'est-ce qu'une boite aux lettres ? Une boite aux lettres email n'est pas une adresse email, mais un endroit de stockage (en fait, un répertoire sur le serveur) associé à une adresse email (par exemple, user@domain.tld), et dans lequel vont être stockés les messages arrivant à l'adresse associée. | |
| 34 |
- Qu'est-ce q'un alias ? Un alias est une adresse email, mais qui n'est pas associée à une boite aux lettres. Les messages qui parviennent à un alias sont redirigés vers une ou plusieurs autres adresses email appelées destination. Les adresses email de destination peuvent être indifféremment d'autres alias ou des boites aux lettres. | |
| 35 | 35 | |
| 36 |
N'hsitez pas consulter le lien FAQ dans Bechamail pour plus d'information. | |
| 36 |
N'hésitez pas à consulter le lien FAQ dans Bechamail pour plus d'information.
| |
| 37 | 37 | |
| 38 |
Bien vous, | |
| 38 |
Bien à vous,
| |
| 39 | 39 | |
| 40 |
L'quipe de support. | |
| 40 |
L'équipe de support.
| |
| 41 | 41 |
", |
| 42 | 42 | |
| 43 |
// Variables pour cette valeur particulire: | |
| 43 |
// Variables pour cette valeur particulière:
| |
| 44 | 44 |
// |mb_id|, |mb_nom|, |mb_email|, |mb_pass|, |mb_user|, |mb_domain| telles que definies lors de l'ajout; |
| 45 | 45 |
// NB: |mb_email| = |mb_user|@|mb_domain| |
| 46 | 46 |
// |conf_serveur_pop3|, |conf_serveur_imap|, |conf_serveur_smtp|, |conf_url_webmail|, |
| 51 | 51 |
MESSAGE_ACCUEIL_NOUVELLE_BOITE => " |
| 52 | 52 |
Bonjour |mb_nom|, |
| 53 | 53 | |
| 54 |
Votre adresse email |mb_email| est active. Si c'est partir de cette adresse que vous consultez ce message, c'est que votre client de courrier lectronique est correctement configur. | |
| 54 |
Votre adresse email |mb_email| est activée. Si c'est à partir de cette adresse que vous consultez ce message, c'est que votre client de courrier électronique est correctement configuré.
| |
| 55 | 55 | |
| 56 |
Pour rfrence, voici les dtails de votre compte (gardez ce message ou imprimez-le) : | |
| 56 |
Pour référence, voici les détails de votre compte (gardez ce message ou imprimez-le) :
| |
| 57 | 57 |
- Serveur entrant (POP3, POP3-SSL) : |conf_serveur_pop3| |
| 58 |
- Port : |conf_port_pop3| (Port SSL, conseill ! ): |conf_port_ssl_pop3| | |
| 58 |
- Port : |conf_port_pop3| (Port SSL, conseillé ! ): |conf_port_ssl_pop3|
| |
| 59 | 59 |
- Serveur sortant (SMTP, SMTP-SSL) : |conf_serveur_smtp| |
| 60 |
- Port : |conf_port_smtp| (Port SSL, conseill ! ): |conf_port_ssl_smtp| | |
| 60 |
- Port : |conf_port_smtp| (Port SSL, conseillé ! ): |conf_port_ssl_smtp|
| |
| 61 | 61 |
- Nom d'utilisateur ou login: |mb_email| |
| 62 | 62 |
- Mot de passe: |mb_pass| |
| 63 | 63 |
- Webmail: |conf_url_webmail| |
| 64 | 64 | |
| 65 | 65 |
Voyez aussi http://support.ispdomain.tld/VosEmails |
| 66 | 66 | |
| 67 |
Bien vous, | |
| 67 |
Bien à vous,
| |
| 68 | 68 | |
| 69 |
L'quipe de support. | |
| 69 |
L'équipe de support.
| |
| 70 | 70 |
", |
| 71 | 71 | |
| 72 | 72 |
PAS_DE_VIRGULE => "Pour les distraits." |
| 73 | 73 |
| Old | New | Code |
|---|---|---|
| 22 | 22 |
// Return if cookies not enabled |
| 23 | 23 |
Cook = GetCookie ("BechamailCookieEnabled");
|
| 24 | 24 |
if (Cook == null) {
|
| 25 |
document.write(res = "<div class='mess'>Les cookies ne sont pas activs dans votre navigateur. Il est ncessaire de les autoriser pour administrer Bechamail.<\/div>"); | |
| 25 |
document.write(res = "<div class='mess'>Les cookies ne sont pas activés dans votre navigateur. Il est nécessaire de les autoriser pour administrer Bechamail.<\/div>");
| |
| 26 | 26 |
} |
| 27 | 27 |
// --> |
| 28 | 28 |
</script> |
| 29 | 29 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 13 | 13 |
<div> |
| 14 | 14 | |
| 15 | 15 |
<h3> |
| 16 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractres autoriss', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 16 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractères autorisés', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 17 | 17 |
Login ~!t_f_login~: <input type="text" name="f_login_modif" value="~!t_f_login_modif~"> |
| 18 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractres autoriss pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 18 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractères autorisés pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 19 | 19 |
Contact email: <input type="text" name="f_contact_modif" value="~!t_f_contact_modif~" size="24"> |
| 20 | 20 |
<br> |
| 21 | 21 |
</h3> |
| 22 | 22 |
|
| 23 | 23 |
<h3> |
| 24 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Rpeter 2 fois le mot de passe.<br>\n<strong> · </strong>Mots de passe vides = pas de modification.', CAPTION, 'Mot de passe', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 24 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Répeter 2 fois le mot de passe.<br>\n<strong> · </strong>Mots de passe vides = pas de modification.', CAPTION, 'Mot de passe', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 25 | 25 |
Mot de passe: |
| 26 | 26 |
<input type="password" name="f_pass_modif" value="~!t_f_pass_modif~"> = |
| 27 | 27 |
<input type="password" name="f_pass1_modif" value="~!t_f_pass1_modif~"><br> |
| 64 | 64 | |
| 65 | 65 | |
| 66 | 66 |
<h3> |
| 67 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Choisissez les domaines ajouter ou supprimer pour le login <i>~!t_f_login~</i>. <br>\n<strong> · </strong><u>all</u> reprsente TOUS les domaines (super administrateur).', CAPTION, 'Domaines', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 67 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Choisissez les domaines à ajouter ou supprimer pour le login <i>~!t_f_login~</i>. <br>\n<strong> · </strong><u>all</u> représente TOUS les domaines (super administrateur).', CAPTION, 'Domaines', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 68 | 68 | |
| 69 |
Domaines grs | |
| 69 |
Domaines gérés&nbsp;
| |
| 70 | 70 |
<select id="f_domaines_existants" name="f_dom_existant" tabindex="0"> |
| 71 | 71 |
<!-- ~!begin-loop_f_domaines_existants~ --> |
| 72 | 72 |
<option value="~!loop_f_domaines_existants-var-0~">~!loop_f_domaines_existants-var-1~ ~!loop_f_domaines_existants-var-2~</option> |
| 73 | 73 |
<!-- ~!end-loop_f_domaines_existants~ --> |
| 74 | 74 |
</select> <br> |
| 75 | 75 |
</h3> |
| 76 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Attention: c\'est le domaine slectionn ci-dessus (dans "Domaines grs") que vous ajoutez ou supprimez ! <br><strong> · </strong><u>all</u> reprsente TOUS les domaines (super administrateur).', CAPTION, 'Ajouter - Supprimer - Supprimer tout', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 76 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Attention: c\'est le domaine sélectionné ci-dessus (dans "Domaines gérés") que vous ajoutez ou supprimez ! <br><strong> · </strong><u>all</u> représente TOUS les domaines (super administrateur).', CAPTION, 'Ajouter - Supprimer - Supprimer tout', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 77 | 77 |
<input name="f_dom_ajoute" value="Ajouter" type="button" tabindex="0" onClick="add_dom (f_dom_existant.value)"> |
| 78 | 78 |
<input name="f_dom_supprime" value="Supprimer" type="button" tabindex="0" onClick="del_dom (f_dom_existant.value)"> |
| 79 | 79 |
<input name="f_dom_supprime_tout" value="Supprimer tout" type="button" tabindex="0" onClick="f_domaine_modif.value='';"><br> |
| 80 | 80 |
<div class="note"> </div> |
| 81 | 81 |
<textarea name="f_domaine_modif" cols="80" rows="3" readonly="readonly">~!t_f_domaine_modif~</textarea><br> |
| 82 |
<span class="danger">Attention: un login sans domaine ne pourra pas se connecter Bechamail !</span> | |
| 82 |
<span class="danger">Attention: un login sans domaine ne pourra pas se connecter à Bechamail !</span>
| |
| 83 | 83 |
|
| 84 | 84 |
<br><br> |
| 85 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Aucune confirmation ne sera demande.', CAPTION, 'Modifier', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 85 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Aucune confirmation ne sera demandée.', CAPTION, 'Modifier', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 86 | 86 |
<input name="f_login_modif_submit" value="Modifier" type="submit" tabindex="0"> |
| 87 | 87 |
</div> |
| 88 | 88 | |
| 92 | 92 |
<form action="liste-admin-login.php" enctype="multipart/form-data" method="POST" name="f_form_liste_login"> |
| 93 | 93 | |
| 94 | 94 |
<div> |
| 95 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour la liste des login.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 95 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour à la liste des login.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 96 | 96 |
<input name="f_login_annule_submit" value="Retourner" type="submit" tabindex="0"> |
| 97 | 97 |
</div> |
| 98 | 98 | |
| 105 | 105 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine_modif~"> |
| 106 | 106 | |
| 107 | 107 |
<div class="danger"> |
| 108 |
<input name="f_login_supprime_submit" value="Supprimer" type="submit" tabindex="0"> <u>SUPPRESSION DEFINITIVE d'un login</u> (il sera effac de la base de donnes), une confirmation sera demande. <u>Pour SUPPRIMER PROVISOIREMENT un login, effacez tous les domaines qu'il gre</u> (Domaines grs > Supprimer tout > Modifier), il restera dans la base de donnes avec tous ses paramtres, mais ne pourra plus se connecter Bechamail. | |
| 108 |
<input name="f_login_supprime_submit" value="Supprimer" type="submit" tabindex="0"> <u>SUPPRESSION DEFINITIVE d'un login</u> (il sera effacé de la base de données), une confirmation sera demandée. <u>Pour SUPPRIMER PROVISOIREMENT un login, effacez tous les domaines qu'il gère</u> (Domaines gérés > Supprimer tout > Modifier), il restera dans la base de données avec tous ses paramètres, mais ne pourra plus se connecter à Bechamail.
| |
| 109 | 109 |
</div> |
| 110 | 110 | |
| 111 | 111 |
</form> |
| 112 | 112 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 17 | 17 |
<div> |
| 18 | 18 |
<div><span class="sql">Format d'une adresse email: user@domain.tld (tld pour top level domain).</span></div> |
| 19 | 19 |
<h3> |
| 20 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractres autoriss', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 20 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_car_auth_user~', CAPTION, 'Caractères autorisés', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 21 | 21 |
Alias ~!t_f_alias~: <input type="text" name="f_alias_modif" value="~!t_f_alias_modif~">@~!t_f_domaine~ |
| 22 | 22 |
</h3> |
| 23 | 23 | |
| 28 | 28 |
textbrev = document.f_form_dom.f_dest_modif.value; |
| 29 | 29 |
longbrev = textbrev.length; |
| 30 | 30 |
if (longbrev > nbmax) {
|
| 31 |
alert("Votre texte est trop long de "+(longbrev-nbmax)+" car.\nIl va tre tronqu "+nbmax+" car.");
| |
| 31 |
alert("Votre texte est trop long de "+(longbrev-nbmax)+" car.\nIl va être tronqué à "+nbmax+" car.");
| |
| 32 | 32 |
textbrev=textbrev.substring(0,nbmax); |
| 33 | 33 |
document.f_form_dom.f_dest_modif.value=textbrev; |
| 34 | 34 |
longbrev = textbrev.length; |
| 40 | 40 |
</script> |
| 41 | 41 | |
| 42 | 42 |
<h3> |
| 43 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractres autoriss pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 43 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractères autorisés pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 44 | 44 | |
| 45 | 45 |
Destination. (max ~!t_nbcar_champ_destination~ car.) |
| 46 | 46 | |
| 54 | 54 | |
| 55 | 55 |
</h3> |
| 56 | 56 |
|
| 57 |
<div><span class="sql">Modifiez ou inscrivez ci-dessous les adresses email o vous souhaitez que cet alias soit redirig:<br>(Format du champ destination: user1@domain1.tld1,user2@domain2.tld2,etc.)</span></div> | |
| 57 |
<div><span class="sql">Modifiez ou inscrivez ci-dessous les adresses email où vous souhaitez que cet alias soit redirigé:<br>(Format du champ destination: user1@domain1.tld1,user2@domain2.tld2,etc.)</span></div>
| |
| 58 | 58 |
|
| 59 |
<img src="../images/info.png" width="20" height="20" border="0" align="top" alt="Info" onMouseOver="overlib('<strong> · </strong>Ce champ est enregistr dans la base de donnes sur une seule ligne et sans espaces ni retours de ligne.<br>\n<strong> · </strong>Vous pouvez cependant utiliser espaces et retours de ligne lors de votre encodage pour vous en faciliter la lecture, le programme corrigera automatiquement l\'enregistrement (bouton Modifier).<br>\n<b><u>Attention ceci:</u></b><br>\n<strong> · </strong><b>Dans tous les cas, les adresses email doivent tre spares par une virgule !</b><br>\n<strong> · </strong>Chaque espace ou retour de chariot utilis vous cotera 1 2 caractres en longueur sur les ~!t_nbcar_champ_destination~ maximum autoriss pour ce champ.<br>\n<strong> · </strong>Si la chane de caractre de ce champ est proche de sa longueur maximum (~!t_nbcar_champ_destination~ car.), en introduisant espace ou retour de chariot, vous risquez de forcer le programme tronquer la fin de la liste des adresses et de fausser ainsi la dernire adresse. Rassurez vous cependant que vous serez averti d\'un ventuel tronquage. Si c\'est le cas, vrifiez alors la fin de la chane.\n', CAPTION, 'Espaces, retours de lignes', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;">
| |
| 59 |
<img src="../images/info.png" width="20" height="20" border="0" align="top" alt="Info" onMouseOver="overlib('<strong> · </strong>Ce champ est enregistré dans la base de données sur une seule ligne et sans espaces ni retours de ligne.<br>\n<strong> · </strong>Vous pouvez cependant utiliser espaces et retours de ligne lors de votre encodage pour vous en faciliter la lecture, le programme corrigera automatiquement à l\'enregistrement (bouton Modifier).<br>\n<b><u>Attention à ceci:</u></b><br>\n<strong> · </strong><b>Dans tous les cas, les adresses email doivent être séparées par une virgule !</b><br>\n<strong> · </strong>Chaque espace ou retour de chariot utilisé vous coûtera 1 à 2 caractères en longueur sur les ~!t_nbcar_champ_destination~ maximum autorisés pour ce champ.<br>\n<strong> · </strong>Si la chaîne de caractère de ce champ est proche de sa longueur maximum (~!t_nbcar_champ_destination~ car.), en introduisant espace ou retour de chariot, vous risquez de forcer le programme à tronquer la fin de la liste des adresses et de fausser ainsi la dernière adresse. Rassurez vous cependant que vous serez averti d\'un éventuel tronquage. Si c\'est le cas, vérifiez alors la fin de la chaîne.\n', CAPTION, 'Espaces, retours de lignes', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;">
| |
| 60 | 60 | |
| 61 | 61 |
<textarea name="f_dest_modif" cols="80" rows="3" onMousemove='veriflong();' onKeyUp='veriflong();'>~!t_f_dest_modif~</textarea><br> |
| 62 | 62 | |
| 65 | 65 |
~!t_champ_domaine~ |
| 66 | 66 | |
| 67 | 67 |
<br> |
| 68 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Aucune confirmation ne sera demande.', CAPTION, 'Modifier', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 68 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Aucune confirmation ne sera demandée.', CAPTION, 'Modifier', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 69 | 69 |
<input name="f_alias_modif_submit" value="Modifier" type="submit" tabindex="0"> |
| 70 | 70 |
|
| 71 | 71 |
|
| 72 | 72 |
|
| 73 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias gnriques et auto-rfrences', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;"> Alias gnriques et rfrences
| |
| 73 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias génériques et auto-références', HAUTO, WIDTH, '500')" onMouseOut="nd();" style="cursor:help;"> Alias génériques et références
| |
| 74 | 74 |
</div> |
| 75 | 75 | |
| 76 | 76 |
</form> |
| 81 | 81 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 82 | 82 | |
| 83 | 83 |
<div> |
| 84 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour la liste des alias.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 84 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour à la liste des alias.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 85 | 85 |
<input name="f_alias_annule_submit" value="Retourner" type="submit" tabindex="0"> |
| 86 | 86 |
</div> |
| 87 | 87 | |
| 95 | 95 |
<input type="hidden" name="f_dest" value="~!t_f_dest~"> |
| 96 | 96 | |
| 97 | 97 |
<div> |
| 98 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Une confirmation sera demande avant une suppression dfinitive.', CAPTION, 'Supprimer', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 98 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Une confirmation sera demandée avant une suppression définitive.', CAPTION, 'Supprimer', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 99 | 99 |
<input name="f_alias_supprime_submit" value="Supprimer" type="submit" tabindex="0"> |
| 100 | 100 |
</div> |
| 101 | 101 | |
| 102 | 102 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 12 | 12 | |
| 13 | 13 |
<div> |
| 14 | 14 | |
| 15 |
<h3>Login ~!t_f_login~ <span class="sql">[Domaine(s) gr(s): ~!t_f_liste_domaines~]</span> | |
| 15 |
<h3>Login ~!t_f_login~ <span class="sql">[Domaine(s) géré(s): ~!t_f_liste_domaines~]</span>
| |
| 16 | 16 |
|
| 17 | 17 | |
| 18 |
<br><br><img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractres autoriss pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 18 |
<br><br><img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong><u>user:</u> ~!t_car_auth_user~<br>\n<strong> · </strong><u>domain:</u> ~!t_car_auth_domain~<br>\n<strong> · </strong><u>tld:</u> ~!t_car_auth_tld~\n', CAPTION, 'Caractères autorisés pour user@domain.tld', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 19 | 19 |
Contact email: <input type="text" name="f_contact_modif" value="~!t_f_contact_modif~" size="24"> |
| 20 | 20 |
<br> |
| 21 | 21 |
</h3> |
| 22 | 22 |
|
| 23 | 23 |
<h3> |
| 24 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Rpeter 2 fois le mot de passe.<br>\n<strong> · </strong>Mots de passe vides = pas de modification.', CAPTION, 'Mot de passe', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 24 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('<strong> · </strong>Répeter 2 fois le mot de passe.<br>\n<strong> · </strong>Mots de passe vides = pas de modification.', CAPTION, 'Mot de passe', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 25 | 25 |
Mot de passe: |
| 26 | 26 |
<input type="password" name="f_pass_modif" value="~!t_f_pass_modif~"> = |
| 27 | 27 |
<input type="password" name="f_pass1_modif" value="~!t_f_pass1_modif~"><br> |
| 29 | 29 | |
| 30 | 30 |
<div> </div> |
| 31 | 31 |
|
| 32 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Aucune confirmation ne sera demande.', CAPTION, 'Modifier', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 32 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Aucune confirmation ne sera demandée.', CAPTION, 'Modifier', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 33 | 33 |
<input name="f_login_modif_submit" value="Modifier" type="submit" tabindex="0"> |
| 34 | 34 |
</div> |
| 35 | 35 | |
| 36 | 36 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 46 | 46 |
<input type="hidden" name="f_domaine" value="~!t_f_domaine~"> |
| 47 | 47 |
|
| 48 | 48 |
<div> |
| 49 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour la liste des boites aux lettres.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 49 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Retour à la liste des boites aux lettres.', CAPTION, 'Retourner', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 50 | 50 |
<input name="f_mailbox_annule_submit" value="Retourner" type="submit" tabindex="0"> |
| 51 | 51 |
</div> |
| 52 | 52 | |
| 58 | 58 |
<input type="hidden" name="f_mailbox_supprime_user" value="~!t_f_mailbox_supprime_user~"> |
| 59 | 59 | |
| 60 | 60 |
<div> |
| 61 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Une confirmation sera demande avant une suppression dfinitive.', CAPTION, 'Supprimer', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 61 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('Une confirmation sera demandée avant une suppression définitive.', CAPTION, 'Supprimer', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 62 | 62 |
<input name="f_mailbox_supprime_submit" value="Supprimer" type="submit" tabindex="0"> |
| 63 | 63 |
</div> |
| 64 | 64 | |
| 65 | 65 |
| Old | New | Code |
|---|---|---|
| 2 | 2 |
<div class="nonante"> |
| 3 | 3 |
<div class="pied"> |
| 4 | 4 | |
| 5 |
<b>Bechamail</b> V. 0.9.1.alpha - logiciel dvelopp par <a href="http://www.cassiopea.org" onMouseOver="overlib('Une alternative pour vos services Internet', CAPTION, 'Cassiopea', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">Cassiopea</a> © sous licence <a href="http://www.gnu.org/copyleft/gpl.html" onMouseOver="overlib('GNU\'s not UNIX', CAPTION, 'GNU', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">GNU/GPL</a> <a href="http://www.april.org/gnu/gpl_french.html">(trad.fran.)</a> - <a href="../doc" onMouseOver="overlib('Documentation de Bechamail', CAPTION, 'Documentation', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">Documentation</a>
| |
| 5 |
<b>Bechamail</b> V. 0.9.1.alpha - logiciel développé par <a href="http://www.cassiopea.org" onMouseOver="overlib('Une alternative pour vos services Internet', CAPTION, 'Cassiopea', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">Cassiopea</a> © sous licence <a href="http://www.gnu.org/copyleft/gpl.html" onMouseOver="overlib('GNU\'s not UNIX', CAPTION, 'GNU', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">GNU/GPL</a> <a href="http://www.april.org/gnu/gpl_french.html">(trad.franç.)</a> - <a href="../doc" onMouseOver="overlib('Documentation de Bechamail', CAPTION, 'Documentation', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">Documentation</a>
| |
| 6 | 6 |
|
| 7 | 7 |
<div class="centre" style="margin-top:10px;"> |
| 8 | 8 |
<a href="http://validator.w3.org/check?uri=referer" onMouseOver="overlib('Validation HTML 4.01 Transitional<br>\nNB: Seulement possible pour les pages sans authentification', CAPTION, 'Standards HTML', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;"><img src="../images/valid-html401.png" alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
|
| 9 | 9 |
<a href="http://jigsaw.w3.org/css-validator/" onMouseOver="overlib('Validation W3C CSS<br>\n<strong> · </strong><u>URL:</u> [URL SITE]/nohtml/bechamail.css<br>\nNB: Seulement possible pour les pages sans authentification', CAPTION, 'Standards CSS', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;"><img style="border:0;width:88px;height:31px" src="../images/vcss.png" alt="Valid CSS!"></a>
|
| 10 |
<a href="http://www.codingteam.net/bechamail-aff_fr.html" onMouseOver="overlib('Bechamail en dveloppement sur CodingTeam', CAPTION, 'Forge', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;"><img src="../images/coding-team.png" width="80" height="15" alt="Logo CodingTeam"></a>
| |
| 10 |
<a href="http://www.codingteam.net/bechamail-aff_fr.html" onMouseOver="overlib('Bechamail en développement sur CodingTeam', CAPTION, 'Forge', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;"><img src="../images/coding-team.png" width="80" height="15" alt="Logo CodingTeam"></a>
| |
| 11 | 11 |
<a href="http://www.cassiopea.org" title="" onMouseOver="overlib('Une alternative pour vos services Internet', CAPTION, 'Cassiopea', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;"><img src="../images/cassButton.png" width="88" height="31" alt="Logo de Cassiopea"></a>
|
| 12 | 12 |
<a href="http://www.mozilla-europe.org/fr/products/firefox/" onMouseOver="overlib('Utilisez un navigateur qui respecte les standards, c\'est mieux !', CAPTION, 'Firefox', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;"><img src="../images/mieux-firefox.gif" width="88" height="31" alt="Logo Firefox"></a>
|
| 13 | 13 |
</div> |
| 16 | 16 |
|
| 17 | 17 |
</div> |
| 18 | 18 | |
| 19 |
<img src="../images/rien.gif" width="20px;" height="8px" onMouseOver="overlib('<strong> · </strong>Robert Sebille, analyse et dveloppement.<br>\n<strong> · </strong>Antoine Delvaux, classe TemTab 1.0<br>\n (contrleur d\'affichage, enrichie 1.1 dans Bechamail).', CAPTION, 'Crdits', HAUTO, VAUTO, WIDTH, '270')" onMouseOut="nd();" style="cursor:help;" alt=" ">
| |
| 19 |
<img src="../images/rien.gif" width="20px;" height="8px" onMouseOver="overlib('<strong> · </strong>Robert Sebille, analyse et développement.<br>\n<strong> · </strong>Antoine Delvaux, classe TemTab 1.0<br>\n (contrôleur d\'affichage, enrichie 1.1 dans Bechamail).', CAPTION, 'Crédits', HAUTO, VAUTO, WIDTH, '270')" onMouseOut="nd();" style="cursor:help;" alt=" ">
| |
| 20 | 20 | |
| 21 | 21 |
</body> |
| 22 | 22 | |
| 23 | 23 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 7 | 7 |
~!t_mess_accueil~ |
| 8 | 8 | |
| 9 | 9 |
<h3> |
| 10 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias et destinations gnriques', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 11 |
Liste des alias et destinations gnriques | |
| 10 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias et destinations génériques', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 11 |
Liste des alias et destinations génériques | |
| 12 | 12 |
</h3> |
| 13 | 13 | |
| 14 | 14 |
<div class="as_a_form"> |
| 15 | 15 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 5 | 5 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 7 | 7 |
~!t_mess_accueil~ |
| 8 | 8 | |
| 9 | 9 | |
| 10 |
<h3>Log: les ~!t_derniers_k~ derniers Ko (maximum) du fichier des logs<br><span class="sql">(NB: la dernire ligne n'est pas affiche si elle est incomplte)</span></h3> | |
| 10 |
<h3>Log: les ~!t_derniers_k~ derniers Ko (maximum) du fichier des logs<br><span class="sql">(NB: la dernière ligne n'est pas affichée si elle est incomplète)</span></h3>
| |
| 11 | 11 | |
| 12 | 12 |
<div class="as_a_form"> |
| 13 | 13 |
<ol> |
| 14 | 14 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 5 | 5 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 16 | 16 |
<ul> |
| 17 | 17 |
<li><a href="statistiques-admin-alias.php">Alias</a> |
| 18 | 18 |
<ul> |
| 19 |
<li><span class="sql">Liste des alias gnriques</span></a> | |
| 19 |
<li><span class="sql">Liste des alias génériques</span></a>
| |
| 20 | 20 |
<li><span class="sql">Nombre d'alias par domaine</span></a> |
| 21 | 21 |
</ul> |
| 22 | 22 |
</ul> |
| 23 | 23 |
<ul> |
| 24 | 24 |
<li><a href="statistiques-admin-autres.php" title="Login et domaines">Autres</a> |
| 25 | 25 |
<ul> |
| 26 |
<li><span class="sql">Domaine(s) gr(s) par login</span></a> | |
| 27 |
<li><span class="sql">Domaines (si activ, nombre maximum de boites aux lettres) [tansport]</span></a> | |
| 26 |
<li><span class="sql">Domaine(s) géré(s) par login</span></a>
| |
| 27 |
<li><span class="sql">Domaines (si activé, nombre maximum de boites aux lettres) [tansport]</span></a> | |
| 28 | 28 |
</ul> |
| 29 | 29 |
</ul> |
| 30 | 30 |
<hr> |
| 31 | 31 |
<ul> |
| 32 | 32 |
<li><a href="statistiques-admin-log.php" title="Log de Bechamail">Log</a> |
| 33 | 33 |
<ul> |
| 34 |
<li><span class="sql">(si activ) les derniers items du log de Bechamail</span></a> | |
| 34 |
<li><span class="sql">(si activé) les derniers items du log de Bechamail</span></a>
| |
| 35 | 35 |
</ul> |
| 36 | 36 |
</ul> |
| 37 | 37 |
</div> |
| 38 | 38 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 7 | 7 |
~!t_mess_accueil~ |
| 8 | 8 | |
| 9 | 9 |
<h3> |
| 10 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias et destinations gnriques', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 11 |
Liste des alias et destinations gnriques | |
| 10 |
<img src="../images/info.png" width="20" height="20" border="0" alt="Info" onMouseOver="overlib('~!t_info_alias_dest_gen~', CAPTION, 'Alias et destinations génériques', HAUTO, VAUTO)" onMouseOut="nd();" style="cursor:help;">
| |
| 11 |
Liste des alias et destinations génériques | |
| 12 | 12 |
</h3> |
| 13 | 13 | |
| 14 | 14 |
<div class="as_a_form"> |
| 15 | 15 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 19 | 19 |
<div> </div> |
| 20 | 20 | |
| 21 | 21 |
<div class="danger"> |
| 22 |
<input name="f_alias_delete_submit" value="Supprimer" type="submit" tabindex="0"> <u>La suppression est dfinitive.</u> | |
| 22 |
<input name="f_alias_delete_submit" value="Supprimer" type="submit" tabindex="0"> <u>La suppression est définitive.</u>
| |
| 23 | 23 |
</div> |
| 24 | 24 | |
| 25 | 25 |
<div> </div> |
| 27 | 27 |
<!-- Correction bug 166, remplacement du POST par un GET --> |
| 28 | 28 |
<div> |
| 29 | 29 |
<a href="modif-alias.php?alias=~!t_f_alias~&dest=~!t_f_dest~">Annuler</a> |
| 30 |
<span class="note">Retour au formulaire de modification. Aucune suppression ne sera effectue.</span> | |
| 30 |
<span class="note">Retour au formulaire de modification. Aucune suppression ne sera effectuée.</span>
| |
| 31 | 31 |
</div> |
| 32 | 32 | |
| 33 | 33 |
</form> |
| 34 | 34 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 13 | 13 | |
| 14 | 14 |
<h3>Login: ~!t_f_login~</h3> |
| 15 | 15 | |
| 16 |
<div>Domaines grs: ~!t_f_listes_domaines~</div> | |
| 16 |
<div>Domaines gérés: ~!t_f_listes_domaines~</div>
| |
| 17 | 17 | |
| 18 | 18 |
<div> </div> |
| 19 | 19 | |
| 20 | 20 |
<div class="danger"> |
| 21 |
<input name="f_login_delete_submit" value="Supprimer" type="submit" tabindex="0"> <u>LA SUPPRESSION EST DEFINITIVE</u> (il sera effac de la base de donnes) sans confirmation. <u>Pour SUPPRIMER PROVISOIREMENT un login, cliquez sur Annuler, puis effacez tous les domaines qu'il gre</u> (Domaines grs > Supprimer tout > Modifier), il restera dans la base de donnes avec tous ses paramtres, mais ne pourra plus se connecter Bechamail. | |
| 21 |
<input name="f_login_delete_submit" value="Supprimer" type="submit" tabindex="0"> <u>LA SUPPRESSION EST DEFINITIVE</u> (il sera effacé de la base de données) sans confirmation. <u>Pour SUPPRIMER PROVISOIREMENT un login, cliquez sur Annuler, puis effacez tous les domaines qu'il gère</u> (Domaines gérés > Supprimer tout > Modifier), il restera dans la base de données avec tous ses paramètres, mais ne pourra plus se connecter à Bechamail.
| |
| 22 | 22 |
</div> |
| 23 | 23 | |
| 24 | 24 |
</form> |
| 30 | 30 |
<input type="hidden" name="f_login" value="~!t_f_login~"> |
| 31 | 31 | |
| 32 | 32 |
<div> |
| 33 |
<input name="f_login_annule_submit" value="Annuler" type="submit" tabindex="0"> <span class="note">Retour au formulaire de modification. Aucune suppression ne sera effectue.</span> | |
| 33 |
<input name="f_login_annule_submit" value="Annuler" type="submit" tabindex="0"> <span class="note">Retour au formulaire de modification. Aucune suppression ne sera effectuée.</span>
| |
| 34 | 34 |
</div> |
| 35 | 35 | |
| 36 | 36 |
</form> |
| 37 | 37 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 19 | 19 |
<div> </div> |
| 20 | 20 | |
| 21 | 21 |
<div class="danger"> |
| 22 |
<input name="f_alias_delete_submit" value="Supprimer" type="submit" tabindex="0"> <u>La suppression est dfinitive.</u> | |
| 22 |
<input name="f_alias_delete_submit" value="Supprimer" type="submit" tabindex="0"> <u>La suppression est définitive.</u>
| |
| 23 | 23 |
</div> |
| 24 | 24 | |
| 25 | 25 |
<div> </div> |
| 27 | 27 |
<!-- Correction bug 166, remplacement du POST par un GET --> |
| 28 | 28 |
<div> |
| 29 | 29 |
<a href="modif-alias.php?alias=~!t_f_alias~&dest=~!t_f_dest~">Annuler</a> |
| 30 |
<span class="note">Retour au formulaire de modification. Aucune suppression ne sera effectue.</span> | |
| 30 |
<span class="note">Retour au formulaire de modification. Aucune suppression ne sera effectuée.</span>
| |
| 31 | 31 |
</div> |
| 32 | 32 | |
| 33 | 33 |
</form> |
| 34 | 34 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 13 | 13 | |
| 14 | 14 |
<h3>Boite aux lettres: ~!t_f_mailbox_supprime~</h3> |
| 15 | 15 | |
| 16 |
<div><span class="sql">Le bouton "Supprimer" va supprimer l'adresse email <i>~!t_f_mailbox_supprime~</i> de la base de donnes. Le rpertoire contenant le courrier sera effac ultrieurement par l'administrateur systme. ~!t_email_mailmaster~</span></div> | |
| 16 |
<div><span class="sql">Le bouton "Supprimer" va supprimer l'adresse email <i>~!t_f_mailbox_supprime~</i> de la base de données. Le répertoire contenant le courrier sera effacé ultérieurement par l'administrateur système. ~!t_email_mailmaster~</span></div>
| |
| 17 | 17 | |
| 18 | 18 |
<div> </div> |
| 19 | 19 | |
| 20 | 20 |
<div class="danger"> |
| 21 |
<input name="f_mailbox_delete_submit" value="Supprimer" type="submit" tabindex="0"> <u>Supprimer <i>~!t_f_mailbox_supprime~</i> de la base de donnes et donner l'autorisation l'administrateur systme de supprimer le rpertoire du courrier de cette boite.</u> | |
| 21 |
<input name="f_mailbox_delete_submit" value="Supprimer" type="submit" tabindex="0"> <u>Supprimer <i>~!t_f_mailbox_supprime~</i> de la base de données et donner l'autorisation à l'administrateur système de supprimer le répertoire du courrier de cette boite.</u>
| |
| 22 | 22 |
</div> |
| 23 | 23 | |
| 24 | 24 |
<div> </div> |
| 26 | 26 |
<!-- Correction bug 166, remplacement du POST par un GET --> |
| 27 | 27 |
<div> |
| 28 | 28 |
<a href="modif-mailbox.php?mailbox=~!t_f_mailbox_supprime~">Annuler</a> |
| 29 |
<span class="note">Retour au formulaire de modification. Aucune suppression ne sera effectue.</span> | |
| 29 |
<span class="note">Retour au formulaire de modification. Aucune suppression ne sera effectuée.</span>
| |
| 30 | 30 |
</div> |
| 31 | 31 | |
| 32 | 32 |
</form> |
| 33 | 33 |
| Old | New | Code |
|---|---|---|
| 1 |
<!-- Ne rien crire ci-dessus. --> | |
| 1 |
<!-- Ne rien écrire ci-dessus. -->
| |
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 |
|
| 5 | 5 |
| Old | New | Code |
|---|---|---|
| 1 | 1 | |
| 2 | 2 |
<body> |
| 3 | 3 |
<noscript> |
| 4 |
<div class="mess">Javascript n'est pas activ dans votre navigateur. Certaines fonctionnalits importantes ne seront pas disponibles. Je ne peux pas non plus dterminer si les cookies sont autoriss ou pas dans votre navigateur, or cette autorisation est ncessaire pour administrer Bechamail.</div> | |
| 4 |
<div class="mess">Javascript n'est pas activé dans votre navigateur. Certaines fonctionnalités importantes ne seront pas disponibles. Je ne peux pas non plus déterminer si les cookies sont autorisés ou pas dans votre navigateur, or cette autorisation est nécessaire pour administrer Bechamail.</div>
| |
| 5 | 5 |
</noscript> |
| 6 | 6 | |
| 7 | 7 |
<!-- overLib Section begin --> |
| 8 | 8 |
| Old | New | Code |
|---|---|---|
| 1 | 1 | |
| 2 | 2 |
<body> |
| 3 | 3 |
<noscript> |
| 4 |
<div class="mess">Javascript n'est pas activ dans votre navigateur. Certaines fonctionnalits importantes ne seront pas disponibles. Je ne peux pas non plus dterminer si les cookies sont autoriss ou pas dans votre navigateur, or cette autorisation est ncessaire pour administrer Bechamail.</div> | |
| 4 |
<div class="mess">Javascript n'est pas activé dans votre navigateur. Certaines fonctionnalités importantes ne seront pas disponibles. Je ne peux pas non plus déterminer si les cookies sont autorisés ou pas dans votre navigateur, or cette autorisation est nécessaire pour administrer Bechamail.</div>
| |
| 5 | 5 |
</noscript> |
| 6 | 6 | |
| 7 | 7 |
<!-- overLib Section begin --> |
| 9 | 9 |
<!-- overLib Section end --> |
| 10 | 10 | |
| 11 | 11 |
<div class="nonante"> |
| 12 |
<h2>Bechamail <span class="note">[<a href="~!t_conf_url_site~">~!t_conf_nom_site~</a> ~!t_titre_demo~]<br>Domaine courant: ~!t_f_domaine~ | Administrateur systme: <a href="mailto:~!t_conf_email_mailmaster~?subject=[From ~!t_conf_nom_site~]">~!t_conf_email_mailmaster~</a></span></h2> | |
| 12 |
<h2>Bechamail <span class="note">[<a href="~!t_conf_url_site~">~!t_conf_nom_site~</a> ~!t_titre_demo~]<br>Domaine courant: ~!t_f_domaine~ | Administrateur système: <a href="mailto:~!t_conf_email_mailmaster~?subject=[From ~!t_conf_nom_site~]">~!t_conf_email_mailmaster~</a></span></h2>
| |
| 13 | 13 | |
| 14 | 14 |
|
| 15 | 15 |
<form action="~!t_script_name~" enctype="multipart/form-data" method="POST" name="f_delog"> |
| 16 | 16 |
| Old | New | Code |
|---|---|---|
| 73 | 73 |
// return false; |
| 74 | 74 |
} |
| 75 | 75 | |
| 76 |
// Redirige vers un lien partir d'un select | |
| 76 |
// Redirige vers un lien à partir d'un select
| |
| 77 | 77 |
function lien() {
|
| 78 | 78 |
i = document.choix.recherche.selectedIndex; |
| 79 | 79 |
if (i == 0) return; |
| 80 | 80 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
|
| 54 | 54 |
require "../utiles/secure-session.inc.php"; |
| 57 | 57 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 58 | 58 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 59 | 59 |
|
| 60 |
// Accs ok pour niveaux 1 | |
| 60 |
// Accès ok pour niveaux 1
| |
| 61 | 61 |
niveau_ok(1,1); |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 70 | 69 |
function stripslashes_deep($value) |
| 71 | 70 |
{
|
| 90 | 90 |
/* Traitement du script */ |
| 91 | 91 |
/************************/ |
| 92 | 92 | |
| 93 |
// Caractres autoriss pour le login et l'email'(voir function login_propre dans /utiles/fonctions.inc.php) | |
| 94 |
// L'espace (non autoris) est supprim dans ce script | |
| 93 |
// Caractères autorisés pour le login et l'email'(voir function login_propre dans /utiles/fonctions.inc.php)
| |
| 94 |
// L'espace (non autorisé) est supprimé dans ce script | |
| 95 | 95 |
|
| 96 |
// Caractres autoriss pour le user | |
| 96 |
// Caractères autorisés pour le user
| |
| 97 | 97 |
$car_auth_user = ""; |
| 98 | 98 |
$car_auth_user = car_auth_user(); |
| 99 | 99 |
|
| 100 |
// Caractres autoriss pour le domaine | |
| 100 |
// Caractères autorisés pour le domaine
| |
| 101 | 101 |
$car_auth_domain = ""; |
| 102 | 102 |
$car_auth_domain = car_auth_domain(); |
| 103 | 103 | |
| 104 |
// Caractres autoriss pour le tld | |
| 104 |
// Caractères autorisés pour le tld
| |
| 105 | 105 |
$car_auth_tld = ""; |
| 106 | 106 |
$car_auth_tld = car_auth_tld(); |
| 107 | 107 |
|
| 113 | 113 |
$ordre = $conf_champ_domaine." ASC"; |
| 114 | 114 |
$dom_existant->RS_select($sel, $from, "", $ordre); |
| 115 | 115 |
mysql_free_result($dom_existant->RS_res); |
| 116 |
// Ajout de "all" aux domaines existant et prparation de l'affichage | |
| 116 |
// Ajout de "all" aux domaines existant et préparation de l'affichage
| |
| 117 | 117 |
$domaines_existants = array(); |
| 118 | 118 |
foreach ($dom_existant->RS_ligne as $val) {
|
| 119 | 119 |
array_push ($domaines_existants, array($val[$conf_champ_domaine], $val[$conf_champ_domaine], "[".$val[$conf_champ_transport]."]")); |
| 121 | 121 |
array_push ($domaines_existants, array("all", "all - Super admin"));
|
| 122 | 122 | |
| 123 | 123 | |
| 124 |
// c'est la premire fois qu'on charge la page, $_POST["f_premiere_fois"] n'existe pas encore | |
| 124 |
// c'est la première fois qu'on charge la page, $_POST["f_premiere_fois"] n'existe pas encore
| |
| 125 | 125 |
$envoie_mail_checked = ""; |
| 126 | 126 |
if (!isset($_POST["f_premiere_fois"])) {$envoie_mail_checked = "checked";}
|
| 127 |
// On va crer un $_POST["f_premiere_fois"] dans un champ "hidden" avec | |
| 127 |
// On va créer un $_POST["f_premiere_fois"] dans un champ "hidden" avec
| |
| 128 | 128 |
// $template->replace_var("t_premiere_fois", $premiere_fois);
- // On saura alors qu'on est un rechargement de la page
|
| 129 |
// On saura alors qu'on est à un rechargement de la page | |
| 129 | 130 |
$premiere_fois = "1"; |
| 130 | 131 |
|
| 131 |
// c'est pas la premire fois qu'on charge la page, $_POST["f_premiere_fois"] existe | |
| 132 |
// c'est pas la première fois qu'on charge la page, $_POST["f_premiere_fois"] existe
| |
| 132 | 133 |
if (isset($_POST["f_premiere_fois"])) {
|
| 133 | 134 |
if (isset($_POST["f_envoie_mail"])) |
| 134 | 135 |
{$envoie_mail_checked = "checked";} else {$envoie_mail_checked = "";}
|
| 135 | 136 |
} |
| 136 | 137 |
|
| 137 |
// rcupration du login et des pass en clair | |
| 138 |
// récupération du login et des pass en clair
| |
| 138 | 139 |
$f_pass_ajout = "";$f_pass1_ajout = "";$f_login_ajout = "";$f_domaine_ajout = ""; |
| 139 | 140 |
if (isset($_POST["f_login_ajout"])) {$f_login_ajout = login_propre($_POST["f_login_ajout"]);}
|
| 140 | 141 |
if (isset($_POST["f_pass_ajout"])) {$f_pass_ajout = $_POST["f_pass_ajout"];}
|
| 168 | 168 |
// bouton ajouter |
| 169 | 169 |
if (isset($_POST["f_login_ajout_submit"])) {
|
| 170 | 170 | |
| 171 |
// Prtraitement de l'email de contact (suppr des espaces et accents) | |
| 171 |
// Prétraitement de l'email de contact (suppr des espaces et accents)
| |
| 172 | 172 |
if ($f_contact_ajout <> "") {
|
| 173 | 173 |
$retire = array(" ", "\"", "'", "\n", "\r", "\t");
|
| 174 | 174 |
$f_contact_ajout = str_replace($retire, "", $_POST["f_contact_ajout"]); |
| 178 | 178 |
|
| 179 | 179 |
$ajoute = true; |
| 180 | 180 |
if ($f_login_ajout == "" or $f_pass_ajout == "" or $f_pass1_ajout == "") {
|
| 181 |
$affmess = exclamation()."Les champs login et mots de passe ne peuvent tre vide! Aucun ajout effectu."; | |
| 181 |
$affmess = exclamation()."Les champs login et mots de passe ne peuvent être vide! Aucun ajout effectué.";
| |
| 182 | 182 |
$ajoute = false; |
| 183 | 183 |
} |
| 184 | 184 |
|
| 185 | 185 |
if ($f_pass_ajout != $f_pass1_ajout) {
|
| 186 |
$affmess = exclamation()."Les mots de passe sont diffrents !"; | |
| 186 |
$affmess = exclamation()."Les mots de passe sont différents !";
| |
| 187 | 187 |
$ajoute = false; |
| 188 | 188 |
} |
| 189 | 189 |
|
| 190 |
// On vrifie si le login n'existe pas dj | |
| 190 |
// On vérifie si le login n'existe pas déjà
| |
| 191 | 191 |
$verif_login = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 192 | 192 |
$sel = $conf_champ_login; |
| 193 | 193 |
$from = $conf_table_login; |
| 195 | 195 |
$verif_login->RS_select($sel, $from, $whe); |
| 196 | 196 |
mysql_free_result($verif_login->RS_res); |
| 197 | 197 |
if ($verif_login->RS_nb_ligne > 0) {
|
| 198 |
$affmess = exclamation()."Le login ".$verif_login->RS_ligne["0"][$conf_champ_login]." existe dj !"; | |
| 198 |
$affmess = exclamation()."Le login ".$verif_login->RS_ligne["0"][$conf_champ_login]." existe déjà !";
| |
| 199 | 199 |
$ajoute = false; |
| 200 | 200 |
} |
| 201 | 201 |
|
| 202 | 202 |
|
| 203 | 203 |
// l'adresse de contact est obligatoire |
| 204 | 204 |
if ($f_contact_ajout == "") {
|
| 205 |
$affmess = exclamation()."Le champ contact email ne peut tre vide! Aucune modifiation effectue."; | |
| 205 |
$affmess = exclamation()."Le champ contact email ne peut être vide! Aucune modifiation effectuée.";
| |
| 206 | 206 |
$ajoute=false; |
| 207 | 207 |
} |
| 208 | 208 | |
| 209 |
// vrification de validit de l'email de contact | |
| 209 |
// vérification de validité de l'email de contact
| |
| 210 | 210 |
if (!email_valide($f_contact_ajout) and $f_contact_ajout <> "") {
|
| 211 | 211 |
$affmess = exclamation()."L'adresse email de contact n'est pas valide !"; |
| 212 | 212 |
$ajoute = false; |
| 213 | 213 |
} |
| 214 | 214 |
|
| 215 | 215 |
if ($ajoute) {
|
| 216 |
// insre | |
| 216 |
// insère
| |
| 217 | 217 |
$aj_login = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 218 | 218 |
// Codage du mot de passe |
| 219 | 219 |
$pass_ajout_sql = codage_pass_mysql($f_pass_ajout, $conf_codage_pass_login); |
| 243 | 243 | |
| 244 | 244 |
if ($conf_demo) {$mess_result_envoi = " ".$traduction["LENVOIDEMAILESTDESACTIVEENMODEDEMO"];}
|
| 245 | 245 |
|
| 246 |
header("Location: liste-admin-login.php?mess=".urlencode("Le login ".$f_login_ajout." a t ajout.".$mess_result_envoi));exit();
| |
| 246 |
header("Location: liste-admin-login.php?mess=".urlencode("Le login ".$f_login_ajout." a été ajouté.".$mess_result_envoi));exit();
| |
| 247 | 247 |
|
| 248 | 248 |
} // if ($ajoute) |
| 249 | 249 | |
| 250 | 250 |
} // if (isset($_POST["f_login_ajout_submit"])) |
| 251 | 251 | |
| 252 | 252 |
/**************************/ |
| 253 |
/* Cre les objets TemTab */ | |
| 253 |
/* Crée les objets TemTab */
| |
| 254 | 254 |
/**************************/ |
| 255 | 255 |
|
| 256 | 256 |
// top |
| 290 | 290 |
$template->replace_var("t_f_contact_ajout", $f_contact_ajout);
|
| 291 | 291 |
$template->replace_loop_vars("loop_f_domaines_existants", $domaines_existants);
|
| 292 | 292 | |
| 293 |
// Affichage caractres autoriss (login et email) | |
| 293 |
// Affichage caractères autorisés (login et email)
| |
| 294 | 294 |
$template->replace_var("t_car_auth_user", $car_auth_user);
|
| 295 | 295 |
$template->replace_var("t_car_auth_domain", $car_auth_domain);
|
| 296 | 296 |
$template->replace_var("t_car_auth_tld", $car_auth_tld);
|
| 301 | 301 |
$template->replace_var("t_premiere_fois", $f_premiere_fois);
|
| 302 | 302 |
$template->replace_var("t_envoie_mail_checked", $envoie_mail_checked);
|
| 303 | 303 |
|
| 304 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 304 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 305 | 305 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 306 | 306 |
if (!isset($affmess)) {$affmess = "";}
|
| 307 | 307 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 331 | 331 |
$mtime = explode(" ",microtime());
|
| 332 | 332 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 333 | 333 |
print "\n"; |
| 334 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 334 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 335 | 335 |
} |
| 336 | 336 | |
| 337 | 337 | |
| 338 | 338 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
require "../utiles/fonctions-mb-fichiers.inc.php"; |
| 54 | 54 |
|
| 58 | 58 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 59 | 59 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 60 | 60 |
|
| 61 |
// Accs ok pour niveaux 1 2 | |
| 61 |
// Accès ok pour niveaux 1 à 2
| |
| 62 | 62 |
niveau_ok(1,2); |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 67 | 67 |
$starttime = $mtime[1] + $mtime[0]; |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 71 | 70 |
function stripslashes_deep($value) |
| 72 | 71 |
{
|
| 90 | 90 |
/* Traitement du script */ |
| 91 | 91 |
/************************/ |
| 92 | 92 |
/******************** NOTE: ********************************** |
| 93 |
Il faut faire attention dans ce script au rle diffrent jou par $f_alias, $f_alias_ajoute et $f_dest_ajoute | |
| 93 |
Il faut faire attention dans ce script au rôle différent joué par $f_alias, $f_alias_ajoute et $f_dest_ajoute
| |
| 94 | 94 |
$f_alias = user@domain.tld de l'alias |
| 95 |
$f_alias_ajoute = le user de user@domain.tld, modif ou pas par le client | |
| 96 |
$f_dest_ajoute = le champ de destination de dpart, modif ou pas par le client | |
| 95 |
$f_alias_ajoute = le user de user@domain.tld, modifé ou pas par le client
| |
| 96 |
$f_dest_ajoute = le champ de destination de départ, modifé ou pas par le client | |
| 97 | 97 | |
| 98 |
$f_alias est modifi par $f_alias_ajoute si $f_dest_ajoute n'est pas vide | |
| 98 |
$f_alias est modifié par $f_alias_ajoute si $f_dest_ajoute n'est pas vide
| |
| 99 | 99 |
(if ($f_dest_ajoute == "") ... else ) |
| 100 | 100 |
$f_alias = $f_alias_ajoute."@".$f_domaine; |
| 101 | 101 |
******************************************************/ |
| 102 | 102 | |
| 103 |
// rcupration de la partie modifiable de l'alias, de la destination et du domaine | |
| 103 |
// récupération de la partie modifiable de l'alias, de la destination et du domaine
| |
| 104 | 104 |
$f_alias = ""; $f_domaine = "";$f_alias_ajoute = "";$f_dest_ajoute = ""; |
| 105 | 105 |
if (isset($_POST["f_alias_ajoute"])) {$f_alias_ajoute = $_POST["f_alias_ajoute"];}
|
| 106 | 106 |
if (isset($_POST["f_dest_ajoute"])) {$f_dest_ajoute = $_POST["f_dest_ajoute"];}
|
| 107 | 107 |
$f_domaine = $_SESSION['S_domaines_courant']; |
| 108 | 108 | |
| 109 |
// ici, , si $conf_champ_nb_alias_defaut est activ , | |
| 109 |
// ici, , si $conf_champ_nb_alias_defaut est activé ,
| |
| 110 | 110 |
// on compte si le nombre de alias n'est pas depasse |
| 111 | 111 |
if (isset($conf_champ_nb_alias_defaut)) {
|
| 112 | 112 |
$verif_nb_alias = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 135 | 135 |
} // if (isset($conf_champ_nb_alias_defaut)) |
| 136 | 136 |
|
| 137 | 137 |
|
| 138 |
// c'est la premire fois qu'on charge la page, $_POST["f_no_active_defaut"] n'existe pas encore | |
| 138 |
// c'est la première fois qu'on charge la page, $_POST["f_no_active_defaut"] n'existe pas encore
| |
| 139 | 139 |
$no_active_defaut = $_POST["f_no_active_defaut"]; |
| 140 |
$active_checked = 1; // on met le champ active 1 par defaut | |
| 140 |
$active_checked = 1; // on met le champ active à 1 par defaut
| |
| 141 | 141 |
if (isset($_POST["f_alias_active"]) and $no_active_defaut == "1") |
| 142 | 142 |
{$active_checked = 1; $f_alias_active = 1;}
|
| 143 | 143 |
if (!isset($_POST["f_alias_active"]) and $no_active_defaut == "1") |
| 144 | 144 |
{$active_checked = 0; $f_alias_active = 0;}
|
| 145 |
// On va crer un $_POST["f_no_active_defaut"] dans un champ "hidden" avec | |
| 145 |
// On va créer un $_POST["f_no_active_defaut"] dans un champ "hidden" avec
| |
| 146 | 146 |
// $template->replace_var("t_f_no_active_defaut", $no_active_defaut);
|
| 147 |
// On saura alors qu'on est un rechargement de la page | |
| 147 |
// On saura alors qu'on est à un rechargement de la page
| |
| 148 | 148 |
$no_active_defaut = "1"; |
| 149 | 149 |
|
| 150 |
// Vrifie si les domaines sont autoris pour ce login | |
| 150 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 151 | 151 |
verif_domaine($f_domaine); |
| 152 | 152 |
|
| 153 |
// Prparation de l'info alias / destination gnrique. le traitement de l'autorisation d'ajout est fait par les fonctions | |
| 153 |
// Préparation de l'info alias / destination générique. le traitement de l'autorisation d'ajout est fait par les fonctions
| |
| 154 | 154 |
// "alias_valide($alias) et dest_alias_valide($dest_alias) " dans /utiles/fonctons.inc.php |
| 155 | 155 |
$client_auth_gen = false; $info_alias_dest_gen = ""; |
| 156 | 156 |
$client_auth_gen = ($_SESSION["S_niveau"] == 1); |
| 157 | 157 |
if (!$client_auth_gen) {
|
| 158 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias gnriques:</u> Vous n\'tes pas autoris crer des alias ou destinations gnriques du type @".$f_domaine."<br><strong> · </strong><u>Rfrences circulaires:</u> Vous ne pourrez pas crer de rfrences circulaires c-a-d un alias user1@domain1.tld1 destin user2@domain2.tld2, si la rfrence inverse (alias user2@domain2.tld2 destin user1@domain1.tld1) existe dj.<br><strong> · </strong><u>Auto-rfrences:</u> Vous ne pourrez pas non plus crer d\'auto-rfrences , c-a-d un alias user1@".$f_domaine." destin user1@".$f_domaine.""; | |
| 158 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias génériques:</u> Vous n\'êtes pas autorisé à créer des alias ou destinations génériques du type @".$f_domaine."<br><strong> · </strong><u>Références circulaires:</u> Vous ne pourrez pas créer de références circulaires c-a-d un alias user1@domain1.tld1 destiné à user2@domain2.tld2, si la référence inverse (alias user2@domain2.tld2 destiné à user1@domain1.tld1) existe déjà.<br><strong> · </strong><u>Auto-références:</u> Vous ne pourrez pas non plus créer d\'auto-références , c-a-d un alias user1@".$f_domaine." destiné à user1@".$f_domaine."";
| |
| 159 | 159 |
} |
| 160 | 160 |
else {
|
| 161 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias gnriques:</u> Si vous tes responsable de domain1.tld1 ET de domain2.tld2, vous pouvez crer des alias gnriques du type @domain1.tld1 avec pour destination [user]@domain2.tld2 qui redirigeront tous les emails de @domain1.tld1 vers [user]@domain2.tld2.<br><strong> · </strong><u>Rfrences circulaires:</u> Vous ne pourrez pas crer de rfrences circulaires c-a-d un alias [user1]@domain1.tld1 destin [user2]@domain2.tld2, si la rfrence inverse (alias [user2]@domain2.tld2 destin [user1]@domain1.tld1) existe dj.<br><strong> · </strong><u>Auto-rfrences:</u> Vous ne pourrez pas non plus crer d\'auto-rfrences , c-a-d un alias [user1]@domain1.tld1 destin [user1]@domain1.tld1"; | |
| 161 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias génériques:</u> Si vous êtes responsable de domain1.tld1 ET de domain2.tld2, vous pouvez créer des alias génériques du type @domain1.tld1 avec pour destination [user]@domain2.tld2 qui redirigeront tous les emails de @domain1.tld1 vers [user]@domain2.tld2.<br><strong> · </strong><u>Références circulaires:</u> Vous ne pourrez pas créer de références circulaires c-a-d un alias [user1]@domain1.tld1 destiné à [user2]@domain2.tld2, si la référence inverse (alias [user2]@domain2.tld2 destiné à [user1]@domain1.tld1) existe déjà.<br><strong> · </strong><u>Auto-références:</u> Vous ne pourrez pas non plus créer d\'auto-références , c-a-d un alias [user1]@domain1.tld1 destiné à [user1]@domain1.tld1";
| |
| 162 | 162 |
} |
| 163 | 163 |
|
| 164 |
// Caractres autoriss pour le user | |
| 164 |
// Caractères autorisés pour le user
| |
| 165 | 165 |
$car_auth_user = ""; |
| 166 | 166 |
$car_auth_user = car_auth_user(); |
| 167 | 167 |
|
| 168 |
// Caractres autoriss pour le domaine | |
| 168 |
// Caractères autorisés pour le domaine
| |
| 169 | 169 |
$car_auth_domain = ""; |
| 170 | 170 |
$car_auth_domain = car_auth_domain(); |
| 171 | 171 | |
| 172 |
// Caractres autoriss pour le tld | |
| 172 |
// Caractères autorisés pour le tld
| |
| 173 | 173 |
$car_auth_tld = ""; |
| 174 | 174 |
$car_auth_tld = car_auth_tld(); |
| 175 | 175 |
|
| 191 | 191 |
} |
| 192 | 192 |
|
| 193 | 193 |
// Not reload whithout parameters ! |
| 194 |
//if ($f_alias == "") {header("Location: liste-alias.php?mess=".urlencode("La page ajouter n'est pas accessible sans paramtres adquats !")); exit(); }
| |
| 194 |
//if ($f_alias == "") {header("Location: liste-alias.php?mess=".urlencode("La page ajouter n'est pas accessible sans paramètres adéquats !")); exit(); }
| |
| 195 | 195 |
|
| 196 | 196 |
// bouton ajouter |
| 197 | 197 |
if (isset($_POST["f_alias_ajoute_submit"])) {
|
| 198 | 198 |
|
| 199 | 199 |
$ajout_autorise = true; |
| 200 | 200 | |
| 201 |
// Prtraitement des adresses emails alias et destination (suppr des espaces et accents - et retours de ligne ventuels dans la destination) | |
| 201 |
// Prétraitement des adresses emails alias et destination (suppr des espaces et accents - et retours de ligne éventuels dans la destination)
| |
| 202 | 202 |
/* $f_dest_ajoute = preg_replace("/(\r\n|\n|\r)/", " ", $f_dest_ajoute);
|
| 203 | 203 |
$f_alias_ajoute = str_replace(" ", "", $f_alias_ajoute);
|
| 204 | 204 |
$f_dest_ajoute = str_replace(" ", "", $f_dest_ajoute);
|
| 227 | 227 |
$ajout_autorise = false; |
| 228 | 228 |
} |
| 229 | 229 |
|
| 230 |
// vrification des adresses emails alias et destination | |
| 230 |
// vérification des adresses emails alias et destination
| |
| 231 | 231 |
$alias_validite = false; |
| 232 | 232 |
$alias_validite = alias_valide($f_alias_ajoute."@".$f_domaine); |
| 233 | 233 |
if (!$alias_validite) {
|
| 244 | 244 |
$ajout_autorise = false; |
| 245 | 245 |
} |
| 246 | 246 | |
| 247 |
// si login a le droit de crer des adresses gnriques | |
| 248 |
// on empche la cration d'adresse gnrique du type user@domain1.tld1 > @domain2.tld2 | |
| 249 |
// seul @domain1.tld1 > @domain2.tld2 et @domain1.tld1 > user@domain2.tld2 sont authoriss | |
| 247 |
// si login a le droit de créer des adresses génériques
| |
| 248 |
// on empêche la création d'adresse générique du type user@domain1.tld1 > @domain2.tld2 | |
| 249 |
// seul @domain1.tld1 > @domain2.tld2 et @domain1.tld1 > user@domain2.tld2 sont authorisés | |
| 250 | 250 |
if ($client_auth_gen and substr($f_alias_ajoute, 0, 1) != "" and substr($f_dest_ajoute, 0, 1) == "@") {
|
| 251 | 251 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 252 |
$affmess .= exclamation()."Vous ne pouvez pas crer d'adresse gnrqiue du type ".$f_alias_ajoute."@".$f_domaine." > ".$f_dest_ajoute." Effectuez la correction, s.v.p."; | |
| 252 |
$affmess .= exclamation()."Vous ne pouvez pas créer d'adresse générqiue du type ".$f_alias_ajoute."@".$f_domaine." > ".$f_dest_ajoute." Effectuez la correction, s.v.p.";
| |
| 253 | 253 |
$ajout_autorise = false; |
| 254 | 254 |
} |
| 255 | 255 | |
| 256 | 256 |
if ($f_dest_ajoute == "") {
|
| 257 | 257 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 258 |
$affmess .= exclamation()."Vous devez remplir le champ destination ! Aucun ajout effectu."; | |
| 258 |
$affmess .= exclamation()."Vous devez remplir le champ destination ! Aucun ajout effectué.";
| |
| 259 | 259 |
$ajout_autorise = false; |
| 260 | 260 |
} |
| 261 | 261 | |
| 262 | 262 |
$f_alias = $f_alias_ajoute."@".$f_domaine; |
| 263 |
// on vrifie si l'alias n'existe pas dj | |
| 263 |
// on vérifie si l'alias n'existe pas déjà
| |
| 264 | 264 |
$verif_alias = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 265 | 265 |
$sel = $conf_champ_alias.", ".$conf_champ_destination; |
| 266 | 266 |
$from = $conf_table_alias; |
| 270 | 270 | |
| 271 | 271 |
if ($verif_alias->RS_nb_ligne == 1) {
|
| 272 | 272 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 273 |
$affmess .= exclamation()."Cet alias existe dj !"; $ajout_autorise = false; | |
| 273 |
$affmess .= exclamation()."Cet alias existe déjà !"; $ajout_autorise = false;
| |
| 274 | 274 |
} // if ($verif_alias->RS_nb_ligne == 1) |
| 275 | 275 | |
| 276 |
// On vrifie qu'on ne cre pas une auto rfrence du type @machin.be > @machin.be ou truc@machin.be > truc@machin.be | |
| 276 |
// On vérifie qu'on ne crée pas une auto référence du type @machin.be > @machin.be ou truc@machin.be > truc@machin.be
| |
| 277 | 277 |
$f_dest_ajoute_array = array(); $auto_ref = false; |
| 278 | 278 |
$f_dest_ajoute_array = explode(",", $f_dest_ajoute);
|
| 279 | 279 |
foreach ($f_dest_ajoute_array as $val) {
|
| 282 | 282 | |
| 283 | 283 |
if ($auto_ref) {
|
| 284 | 284 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 285 |
$affmess .= exclamation()."Vous ne pouvez pas crer d'auto-rfrence : ".$f_alias." > ".$f_dest_ajoute." Effectuez la correction, s.v.p."; | |
| 285 |
$affmess .= exclamation()."Vous ne pouvez pas créer d'auto-référence : ".$f_alias." > ".$f_dest_ajoute." Effectuez la correction, s.v.p.";
| |
| 286 | 286 |
$ajout_autorise = false; |
| 287 | 287 |
} // if ($auto_ref) |
| 288 | 288 |
|
| 289 | 289 |
|
| 290 |
// On vrifie qu'on ne cre pas une rfrence circulaire du type @machin.be > @machin.org et @machin.org > @machin.be | |
| 290 |
// On vérifie qu'on ne crée pas une référence circulaire du type @machin.be > @machin.org et @machin.org > @machin.be
| |
| 291 | 291 |
$circ_ref_dest_array = array(); $circ_ref = false; $circ_ref_chaine1 = ""; $circ_ref_chaine2 = ""; |
| 292 | 292 |
$circ_ref_dest_array = explode(",", $f_dest_ajoute);
|
| 293 | 293 |
foreach($circ_ref_dest_array as $val) {
|
| 308 | 308 |
|
| 309 | 309 |
if ($circ_ref) {
|
| 310 | 310 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 311 |
$affmess .= exclamation()."Vous ne pouvez pas crer de rfrence circulaire : ".$circ_ref_chaine1." car ".$circ_ref_chaine2." existe dj. Effectuez la correction, s.v.p."; | |
| 311 |
$affmess .= exclamation()."Vous ne pouvez pas créer de référence circulaire : ".$circ_ref_chaine1." car ".$circ_ref_chaine2." existe déjà. Effectuez la correction, s.v.p.";
| |
| 312 | 312 |
$ajout_autorise = false; |
| 313 | 313 |
} // if ($circ_ref) |
| 314 | 314 | |
| 326 | 326 | |
| 327 | 327 |
$aj_alias->RS_insert($conf_table_alias, $col, $val); |
| 328 | 328 |
// mysql_free_result($aj_alias->RS_res); |
| 329 |
$affmess = "L'alias ".$f_alias." a t ajout.".$f_alias_ajoute; | |
| 329 |
$affmess = "L'alias ".$f_alias." a été ajouté.".$f_alias_ajoute;
| |
| 330 | 330 | |
| 331 |
// si alias generique, on met le nombre max de mailbox pour ce domaine 0 | |
| 331 |
// si alias generique, on met le nombre max de mailbox pour ce domaine à 0
| |
| 332 | 332 |
if ($f_alias_ajoute == "") {
|
| 333 | 333 |
$mod_max_nb_mailbox = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 334 | 334 |
$col_val = "`".$conf_champ_nb_box_defaut."`= 0"; |
| 335 | 335 |
$whe = $conf_champ_domaine." = '".$_SESSION['S_domaines_courant']."'"; |
| 336 | 336 |
//echo "UPDATE ".$conf_table_transport." SET ".$col_val." WHERE ".$whe; |
| 337 | 337 |
$mod_max_nb_mailbox->RS_update($conf_table_transport, $col_val, $whe); |
| 338 |
$affmess .= " Le nombre maximum de boites aux lettres pour @".$f_domaine." a t mis 0."; | |
| 338 |
$affmess .= " Le nombre maximum de boites aux lettres pour @".$f_domaine." a été mis à 0.";
| |
| 339 | 339 |
} |
| 340 | 340 |
|
| 341 | 341 |
//log |
| 357 | 357 | |
| 358 | 358 | |
| 359 | 359 |
/**************************/ |
| 360 |
/* Cre les objets TemTab */ | |
| 360 |
/* Crée les objets TemTab */
| |
| 361 | 361 |
/**************************/ |
| 362 | 362 |
|
| 363 | 363 |
// top |
| 387 | 387 | |
| 388 | 388 |
// Affichage des balises meta et title: voir require ci-dessus |
| 389 | 389 |
|
| 390 |
// Affichage caractres autoriss | |
| 390 |
// Affichage caractères autorisés
| |
| 391 | 391 |
$template->replace_var("t_car_auth_user", $car_auth_user);
|
| 392 | 392 |
$template->replace_var("t_car_auth_domain", $car_auth_domain);
|
| 393 | 393 |
$template->replace_var("t_car_auth_tld", $car_auth_tld);
|
| 394 | 394 |
|
| 395 |
// Affichage alias, partie modifiable de l'alias, destination. Sauvetage du domaine slectionn dans POST['f_domaine'] | |
| 395 |
// Affichage alias, partie modifiable de l'alias, destination. Sauvetage du domaine sélectionné dans POST['f_domaine']
| |
| 396 | 396 |
$template_tete->replace_var("t_f_domaine", $f_domaine);
|
| 397 | 397 |
$template->replace_var("t_f_domaine", $f_domaine);
|
| 398 | 398 |
$template->replace_var("t_f_alias_ajoute", $f_alias_ajoute);
|
| 405 | 405 |
$template->replace_var("t_f_no_active_defaut", $no_active_defaut);
|
| 406 | 406 |
$template->replace_var("t_champ_active", $champ_active);
|
| 407 | 407 | |
| 408 |
// Affichage de l'info alias / destination gnrique | |
| 408 |
// Affichage de l'info alias / destination générique
| |
| 409 | 409 |
$template->replace_var("t_info_alias_dest_gen", $info_alias_dest_gen);
|
| 410 | 410 |
|
| 411 | 411 | |
| 412 | 412 | |
| 413 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 413 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 414 | 414 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 415 | 415 |
if (!isset($affmess)) {$affmess = "";}
|
| 416 | 416 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 440 | 440 |
$mtime = explode(" ",microtime());
|
| 441 | 441 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 442 | 442 |
print "\n"; |
| 443 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 443 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 444 | 444 |
} |
| 445 | 445 | |
| 446 | 446 | |
| 447 | 447 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
require "../utiles/fonctions-mb-html.inc.php"; |
| 54 | 54 |
require "../utiles/fonctions-mb-fichiers.inc.php"; |
| 59 | 59 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 60 | 60 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 61 | 61 |
|
| 62 |
// Accs ok pour niveaux 1 2 | |
| 62 |
// Accès ok pour niveaux 1 à 2
| |
| 63 | 63 |
niveau_ok(1,2); |
| 64 | 64 | |
| 65 | 65 |
// compute starting time with microseconds precision |
| 68 | 68 |
$starttime = $mtime[1] + $mtime[0]; |
| 69 | 69 |
} |
| 70 | 70 |
|
| 71 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 72 | 71 |
function stripslashes_deep($value) |
| 73 | 72 |
{
|
| 91 | 91 |
/* Traitement du script */ |
| 92 | 92 |
/************************/ |
| 93 | 93 |
/******************** NOTE: ********************************** |
| 94 |
Il faut faire attention dans ce script au rle diffrent jou par $f_mailbox, $f_mailbox_email | |
| 94 |
Il faut faire attention dans ce script au rôle différent joué par $f_mailbox, $f_mailbox_email
| |
| 95 | 95 |
$f_mailbox = user@domain.tld de la boite aux lettres |
| 96 |
$f_mailbox_email = le user de user@domain.tld, modif ou pas par le client | |
| 96 |
$f_mailbox_email = le user de user@domain.tld, modifé ou pas par le client
| |
| 97 | 97 | |
| 98 | 98 |
******************************************************/ |
| 99 | 99 | |
| 100 |
// rcupration de la partie modifiable de la boite aux lettres, des valeurs des autres champs | |
| 100 |
// récupération de la partie modifiable de la boite aux lettres, des valeurs des autres champs
| |
| 101 | 101 |
// et du domaine |
| 102 | 102 |
$f_mailbox = ""; $f_domaine = "";$f_mailbox_email = "";$f_mailbox_id = ""; |
| 103 | 103 |
$f_mailbox_pass1 = "";$f_mailbox_pass2 = "";$f_mailbox_nom = ""; |
| 104 | 104 |
$f_domaine = $_SESSION['S_domaines_courant']; |
| 105 | 105 |
|
| 106 |
// ici, , si $conf_champ_nb_box_defaut est activ , | |
| 106 |
// ici, , si $conf_champ_nb_box_defaut est activé ,
| |
| 107 | 107 |
// on compte si le nombre de mailbox n'est pas depasse |
| 108 | 108 |
if (isset($conf_champ_nb_box_defaut)) {
|
| 109 | 109 |
$verif_nb_mailbox = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 161 | 161 |
$f_mailbox_gid = $conf_mb_gid[1]; |
| 162 | 162 |
$f_mailbox_domaine = $f_domaine; |
| 163 | 163 | |
| 164 |
// traitement du champ particulier id, et crasement du post s'il est automatique. | |
| 164 |
// traitement du champ particulier id, et écrasement du post s'il est automatique.
| |
| 165 | 165 |
if (isset($conf_mb_id)) {
|
| 166 | 166 |
if ($conf_mb_id[1] == "email") {$f_mailbox_id = $f_mailbox_email."@".$f_mailbox_domaine;}
|
| 167 | 167 |
if ($conf_mb_id[1] == "md5email") {$f_mailbox_id = md5($f_mailbox_email."@".$f_mailbox_domaine);}
|
| 170 | 170 |
if ($conf_mb_id[1] != "") {$mailbox_id_auto = true;} else {$mailbox_id_auto = false;}
|
| 171 | 171 |
} // if (isset($conf_mb_id)) |
| 172 | 172 |
|
| 173 |
// Vrifie si les domaines sont autoris pour ce login | |
| 173 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 174 | 174 |
verif_domaine($f_domaine); |
| 175 | 175 | |
| 176 | 176 |
// on sauve le domaine dans une variable de session |
| 178 | 178 |
// dans les stats, on retombe sur liste-/mailbox/alias |
| 179 | 179 |
$_SESSION['S_domaines_courant'] = $f_domaine; |
| 180 | 180 |
|
| 181 |
// Caractres autoriss pour le user | |
| 181 |
// Caractères autorisés pour le user
| |
| 182 | 182 |
$car_auth_user = ""; |
| 183 | 183 |
$car_auth_user = car_auth_user(); |
| 184 | 184 |
|
| 185 |
// Caractres autoriss pour le domaine | |
| 185 |
// Caractères autorisés pour le domaine
| |
| 186 | 186 |
$car_auth_domain = ""; |
| 187 | 187 |
$car_auth_domain = car_auth_domain(); |
| 188 | 188 | |
| 189 |
// Caractres autoriss pour le tld | |
| 189 |
// Caractères autorisés pour le tld
| |
| 190 | 190 |
$car_auth_tld = ""; |
| 191 | 191 |
$car_auth_tld = car_auth_tld(); |
| 192 | 192 |
|
| 425 | 425 |
if (isset($conf_mb_id)) {
|
| 426 | 426 |
// Est-ce un champ manuel ou auto |
| 427 | 427 |
|
| 428 |
// on vrifie si le champ is est rempli | |
| 428 |
// on vérifie si le champ is est rempli
| |
| 429 | 429 |
if ($f_mailbox_id == "" AND !$mailbox_id_auto) {
|
| 430 | 430 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 431 | 431 |
$affmess .= exclamation().$traduction["VOUSDEVEZREMPLIRLECHAMP"]." id !"; |
| 432 | 432 |
$ajout_autorise = false; |
| 433 | 433 |
} |
| 434 | 434 | |
| 435 |
// on vrifie si l'id n'existe pas deja | |
| 435 |
// on vérifie si l'id n'existe pas deja
| |
| 436 | 436 |
$verif_id = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 437 | 437 |
$sel = $conf_mb_id[0]; |
| 438 | 438 |
$from = $conf_table_mailbox; |
| 460 | 460 |
} // if ($verif_id->RS_nb_ligne == 1) |
| 461 | 461 |
} // if (isset($conf_mb_id)) |
| 462 | 462 |
|
| 463 |
// Prtraitement de l'adresse email boite aux lettres (suppr des espaces et accents ) | |
| 463 |
// Prétraitement de l'adresse email boite aux lettres (suppr des espaces et accents )
| |
| 464 | 464 |
$f_mailbox_email_save = $f_mailbox_email; |
| 465 | 465 |
/* |
| 466 | 466 |
$f_mailbox_email = str_replace(" ", "", $f_mailbox_email);
|
| 476 | 476 |
} |
| 477 | 477 |
|
| 478 | 478 | |
| 479 |
// vrification de l'adresse email boite aux lettres | |
| 479 |
// vérification de l'adresse email boite aux lettres
| |
| 480 | 480 |
$mailbox_validite = false; |
| 481 | 481 |
$mailbox_validite = email_valide($f_mailbox_email."@".$f_domaine); |
| 482 | 482 |
if (!$mailbox_validite) {
|
| 505 | 505 |
$ajout_autorise = false; |
| 506 | 506 |
} |
| 507 | 507 | |
| 508 |
// Prtraitement de l'adresse email d'accueil (suppr des espaces et accents ) | |
| 508 |
// Prétraitement de l'adresse email d'accueil (suppr des espaces et accents )
| |
| 509 | 509 |
if ($f_mailbox_email_accueil != "" and isset($conf_user_email_accueil)) {
|
| 510 | 510 |
$f_mailbox_email_accueil_save = $f_mailbox_email_accueil; |
| 511 | 511 | |
| 520 | 520 |
} |
| 521 | 521 |
|
| 522 | 522 | |
| 523 |
// vrification de l'adresse email d'accueil | |
| 523 |
// vérification de l'adresse email d'accueil
| |
| 524 | 524 |
$mailbox_validite = false; |
| 525 | 525 |
$mailbox_validite = email_valide($f_mailbox_email_accueil); |
| 526 | 526 |
if (!$mailbox_validite) {
|
| 557 | 557 |
} // if (isset($conf_mb_quota)) |
| 558 | 558 | |
| 559 | 559 | |
| 560 |
// on vrifie si la boite aux lettres n'existe pas dj | |
| 560 |
// on vérifie si la boite aux lettres n'existe pas déjà
| |
| 561 | 561 |
$f_mailbox = $f_mailbox_email."@".$f_domaine; |
| 562 | 562 |
$verif_mailbox = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 563 | 563 |
$sel = $conf_mb_email[0]; |
| 708 | 708 | |
| 709 | 709 | |
| 710 | 710 |
/**************************/ |
| 711 |
/* Cre les objets TemTab */ | |
| 711 |
/* Crée les objets TemTab */
| |
| 712 | 712 |
/**************************/ |
| 713 | 713 |
|
| 714 | 714 |
// top |
| 737 | 737 |
insere_menu ("Boites");
|
| 738 | 738 | |
| 739 | 739 |
// Affichage des balises meta et title: voir require ci-dessus |
| 740 |
// Affichage caractres autoriss | |
| 740 |
// Affichage caractères autorisés
| |
| 741 | 741 |
$template->replace_var("t_car_auth_user", $car_auth_user);
|
| 742 | 742 |
$template->replace_var("t_car_auth_domain", $car_auth_domain);
|
| 743 | 743 |
$template->replace_var("t_car_auth_tld", $car_auth_tld);
|
| 762 | 762 |
$template->replace_var("t_champ_gid", $champ_gid);
|
| 763 | 763 |
$template->replace_var("t_champ_domaine", $champ_domaine);
|
| 764 | 764 |
|
| 765 |
// Affichage boite aux lettres, partie modifiable de la boite aux lettres. Sauvetage du domaine slectionn dans POST['f_domaine'] | |
| 765 |
// Affichage boite aux lettres, partie modifiable de la boite aux lettres. Sauvetage du domaine sélectionné dans POST['f_domaine']
| |
| 766 | 766 |
$template_tete->replace_var("t_f_domaine", $f_domaine);
|
| 767 | 767 |
$template->replace_var("t_f_domaine", $f_domaine);
|
| 768 | 768 |
$template->replace_var("t_f_mailbox_id", $f_mailbox_id);
|
| 788 | 788 |
|
| 789 | 789 | |
| 790 | 790 | |
| 791 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 791 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 792 | 792 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 793 | 793 |
if (!isset($affmess)) {$affmess = "";}
|
| 794 | 794 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 818 | 818 |
$mtime = explode(" ",microtime());
|
| 819 | 819 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 820 | 820 |
print "\n"; |
| 821 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 821 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 822 | 822 |
} |
| 823 | 823 | |
| 824 | 824 | |
| 825 | 825 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 38 | 38 |
//log |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 |
if ($conf_log_login) {alias_ajout_to_log("login", "dconnexion.");}
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 41 |
if ($conf_log_login) {alias_ajout_to_log("login", "déconnexion.");}
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 |
// Load TemTab class et messages.inc.php |
| 47 | 47 |
require "../classes/class.ReqSql.php"; |
| 48 | 48 |
require "../utiles/config.inc.php"; |
| 49 | 49 |
require "../utiles/c.inc.php"; |
| 50 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 50 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 51 | 51 |
require "../utiles/fonctions.inc.php"; |
| 52 | 52 |
|
| 53 | 53 |
require "../utiles/secure-session.inc.php"; |
| 56 | 56 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 57 | 57 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 58 | 58 |
|
| 59 |
// Accs ok pour niveaux 1 2 | |
| 59 |
// Accès ok pour niveaux 1 à 2
| |
| 60 | 60 |
niveau_ok(1,2); |
| 61 | 61 | |
| 62 | 62 |
// compute starting time with microseconds precision |
| 65 | 65 |
$starttime = $mtime[1] + $mtime[0]; |
| 66 | 66 |
} |
| 67 | 67 |
|
| 68 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 69 | 68 |
function stripslashes_deep($value) |
| 70 | 69 |
{
|
| 82 | 82 |
} |
| 83 | 83 | |
| 84 | 84 |
/**************************/ |
| 85 |
/* Cre les objets TemTab */ | |
| 85 |
/* Crée les objets TemTab */
| |
| 86 | 86 |
/**************************/ |
| 87 | 87 |
|
| 88 | 88 |
// top |
| 122 | 122 |
// Domaines |
| 123 | 123 |
$template_tete->replace_var("t_f_domaine", $f_domaine);
|
| 124 | 124 | |
| 125 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 125 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 126 | 126 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 127 | 127 |
if (!isset($affmess)) {$affmess = "";}
|
| 128 | 128 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 152 | 152 |
$mtime = explode(" ",microtime());
|
| 153 | 153 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 154 | 154 |
print "\n"; |
| 155 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 155 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 156 | 156 |
} |
| 157 | 157 | |
| 158 | 158 | |
| 159 | 159 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
require "../utiles/fonctions-mb-fichiers.inc.php"; |
| 54 | 54 | |
| 58 | 58 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 59 | 59 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 60 | 60 |
|
| 61 |
// Accs ok pour niveaux 1 2 | |
| 61 |
// Accès ok pour niveaux 1 à 2
| |
| 62 | 62 |
niveau_ok(1,2); |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 67 | 67 |
$starttime = $mtime[1] + $mtime[0]; |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 71 | 70 |
function stripslashes_deep($value) |
| 72 | 71 |
{
|
| 84 | 84 |
} |
| 85 | 85 | |
| 86 | 86 |
/**************************/ |
| 87 |
/* Cre les objets TemTab */ | |
| 87 |
/* Crée les objets TemTab */
| |
| 88 | 88 |
/**************************/ |
| 89 | 89 |
|
| 90 | 90 |
$export_format = false; |
| 129 | 129 |
/* Traitement du script */ |
| 130 | 130 |
/************************/ |
| 131 | 131 |
|
| 132 |
// Prparation de l'info alias / destination gnrique | |
| 132 |
// Préparation de l'info alias / destination générique
| |
| 133 | 133 |
$info_alias_dest_gen = ""; |
| 134 | 134 |
if (!($_SESSION["S_niveau"] == 1)) {
|
| 135 |
$info_alias_dest_gen = "Vous n\'avez pas le droit de modifier des alias ou destinations gnriques, du type "@domain.tld " ! Vous devez demander cette modification l\'administrateur du systme."; | |
| 135 |
$info_alias_dest_gen = "Vous n\'avez pas le droit de modifier des alias ou destinations génériques, du type "@domain.tld " ! Vous devez demander cette modification à l\'administrateur du système.";
| |
| 136 | 136 |
} |
| 137 | 137 |
else {
|
| 138 |
$info_alias_dest_gen = "Vous avez le droit de modifier des alias ou destinations gnriques, du type "@domain.tld "."; | |
| 138 |
$info_alias_dest_gen = "Vous avez le droit de modifier des alias ou destinations génériques, du type "@domain.tld ".";
| |
| 139 | 139 |
} |
| 140 | 140 | |
| 141 | 141 |
|
| 144 | 144 |
$dom_array = explode(",", str_replace(" ", "", $_SESSION["S_domaines"]));
|
| 145 | 145 |
sort($dom_array); |
| 146 | 146 | |
| 147 |
//domaine slectionn pour le formulaire | |
| 147 |
//domaine sélectionné pour le formulaire
| |
| 148 | 148 |
$domaine_select = $dom_array['0']; |
| 149 | 149 |
If (isset($_GET["f_domaine"])) {$_SESSION['S_domaines_courant'] = secure_get($_GET["f_domaine"]);}
|
| 150 | 150 |
If (isset($_POST["f_domaine"])) {$_SESSION['S_domaines_courant'] = $_POST["f_domaine"];}
|
| 151 | 151 |
|
| 152 |
// Vrifie si les domaines sont autoris pour ce login | |
| 152 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 153 | 153 |
verif_domaine($_SESSION['S_domaines_courant']); |
| 154 | 154 |
|
| 155 | 155 |
// on sauve le domaine dans une variable de session |
| 163 | 163 |
} |
| 164 | 164 |
sort($domaine_formulaire); |
| 165 | 165 | |
| 166 |
// Nombre maximum de alias pour ce domaine, si $conf_champ_nb_alias_defaut est activ | |
| 166 |
// Nombre maximum de alias pour ce domaine, si $conf_champ_nb_alias_defaut est activé
| |
| 167 | 167 | |
| 168 | 168 |
// Aide complementaire pour le superadmin |
| 169 | 169 |
if ($_SESSION["S_niveau"] == 1) {
|
| 184 | 184 |
$previous_max_nb_alias = $_POST["f_previous_max_nb_alias"]; |
| 185 | 185 |
$nb_infini_alias = ""; |
| 186 | 186 | |
| 187 |
// Si superadmin et on a cliqu sur le bouton modifier, on update le nb max de alias pour le domaine | |
| 187 |
// Si superadmin et on a cliqué sur le bouton modifier, on update le nb max de alias pour le domaine
| |
| 188 | 188 |
if (isset($_POST["f_max_nb_alias_submit"]) and $_SESSION["S_niveau"] == 1) {
|
| 189 | 189 |
$f_max_nb_alias = 0; |
| 190 | 190 |
if ($_POST["f_max_nb_alias"] < 0) {$f_max_nb_alias = -1;}
|
| 237 | 237 |
$liste_initiales_alias->RS_select($sel, $from, $whe, $conf_champ_alias." ASC"); |
| 238 | 238 |
mysql_free_result($liste_initiales_alias->RS_res); |
| 239 | 239 |
|
| 240 |
// Cration des liens sur les initiales | |
| 240 |
// Création des liens sur les initiales
| |
| 241 | 241 |
$initiale = ""; |
| 242 | 242 |
if ($liste_initiales_alias->RS_nb_ligne > 0) {
|
| 243 |
$liste_initiales = "<div><span class=\"sql\">[<a href=\"liste-alias.php?lettre=tout\">TOUS LES ALIAS</a> Peut-tre long charger, si il y a beaucoup d'alias.]</span></div>"; | |
| 243 |
$liste_initiales = "<div><span class=\"sql\">[<a href=\"liste-alias.php?lettre=tout\">TOUS LES ALIAS</a> Peut-être long à charger, si il y a beaucoup d'alias.]</span></div>";
| |
| 244 | 244 |
$liste_initiales .= "|"; |
| 245 | 245 |
$initiales_array_prov = array(); $initiales_array = array(); |
| 246 | 246 |
$initiales_array_prov = $liste_initiales_alias->RS_ligne; |
| 279 | 279 |
$liste_alias->RS_select($sel, $from, $whe,$conf_champ_alias." ASC"); |
| 280 | 280 |
mysql_free_result($liste_alias->RS_res); |
| 281 | 281 |
|
| 282 |
// Prpare le format d'affichage (2) des destination | |
| 282 |
// Prépare le format d'affichage (2) des destination
| |
| 283 | 283 |
$liste_alias_prov = $liste_alias->RS_ligne;$liste_alias_array = array(); |
| 284 | 284 |
if (count($liste_alias_prov) > 0) {
|
| 285 | 285 |
foreach ($liste_alias_prov as $val) {
|
| 321 | 321 |
$template->replace_var("t_previous_max_nb_alias", $max_nb_alias);
|
| 322 | 322 |
$template->replace_var("t_aide_supadmin_maxnb", $aide_supadmin_maxnb);
|
| 323 | 323 | |
| 324 |
// Affichage de l'info alias / destination gnrique | |
| 324 |
// Affichage de l'info alias / destination générique
| |
| 325 | 325 |
$template->replace_var("t_info_alias_dest_gen", $info_alias_dest_gen);
|
| 326 | 326 |
|
| 327 | 327 |
// Liste des initiales |
| 332 | 332 |
$template->replace_var("t_nb_tot_alias", $nb_tot_alias->RS_ligne[0][0]);
|
| 333 | 333 |
$template->replace_loop_vars("loop_f_alias", $liste_alias_array);
|
| 334 | 334 | |
| 335 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 335 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 336 | 336 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 337 | 337 |
if (!isset($affmess)) {$affmess = "";}
|
| 338 | 338 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 370 | 370 |
$mtime = explode(" ",microtime());
|
| 371 | 371 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 372 | 372 |
print "\n"; |
| 373 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 373 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 374 | 374 |
} |
| 375 | 375 | |
| 376 | 376 | |
| 377 | 377 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
require "../utiles/fonctions-mb-fichiers.inc.php"; |
| 54 | 54 |
|
| 58 | 58 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 59 | 59 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 60 | 60 |
|
| 61 |
// Accs ok pour niveaux 1 2 | |
| 61 |
// Accès ok pour niveaux 1 à 2
| |
| 62 | 62 |
niveau_ok(1,1); |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 67 | 67 |
$starttime = $mtime[1] + $mtime[0]; |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 71 | 70 |
function stripslashes_deep($value) |
| 72 | 71 |
{
|
| 95 | 95 |
//if (isset($_GET["f_domaine"])) {$f_domaine = secure_get($_GET["f_domaine"]);}
|
| 96 | 96 |
//if (isset($_POST["f_domaine"])) {$f_domaine = $_POST["f_domaine"];}
|
| 97 | 97 |
$f_domaine = $_SESSION['S_domaines_courant']; |
| 98 |
if ($f_domaine == "") {die(exclamation()."Manque de paramtres !");}
| |
| 98 |
if ($f_domaine == "") {die(exclamation()."Manque de paramètres !");}
| |
| 99 | 99 | |
| 100 | 100 |
// Gere l'effacement des lignes du fichier |
| 101 | 101 |
$ligne_supprime = ""; |
| 105 | 105 |
$affmess = $traduction["TOUTESLESOCCURENCESDE"]." ".$ligne_supprime." ".$traduction["ONTETEEFFACEES"]."."; |
| 106 | 106 |
//log |
| 107 | 107 |
if ($conf_log) {ajout_to_log("ALL OCCURENCES OF ".$ligne_supprime." DELETED IN files.bech/mailbox-deleted.bech");}
|
| 108 |
// Eviter un rappel a l'effacement par un re-GET | |
| 108 |
// Eviter un réappel a l'effacement par un re-GET
| |
| 109 | 109 |
header("Location: mailbox-supprimees.php?mess=".urlencode($affmess));exit();
|
| 110 | 110 |
} |
| 111 | 111 |
// Purger tout le fichier ? |
| 115 | 115 |
$affmess = $traduction["LEFICHIERAETEPURGE"].". ".$traduction["LEFICHIERPRECEDENTAETESAUVEDANS"]." files.bech/mailbox-deleted.bech.bak"; |
| 116 | 116 |
// log |
| 117 | 117 |
if ($conf_log) {ajout_to_log("FILE files.bech/mailbox-deleted.bech PURGED");}
|
| 118 |
// Eviter un rappel a l'effacement par un re-GET | |
| 118 |
// Eviter un réappel a l'effacement par un re-GET
| |
| 119 | 119 |
header("Location: mailbox-supprimees.php?mess=".urlencode($affmess));exit();
|
| 120 | 120 |
} |
| 121 | 121 |
else {
|
| 127 | 127 |
$boites_deleted = lis_boites_supprimees_format_suppression (); |
| 128 | 128 | |
| 129 | 129 |
/**************************/ |
| 130 |
/* Cre les objets TemTab */ | |
| 130 |
/* Crée les objets TemTab */
| |
| 131 | 131 |
/**************************/ |
| 132 | 132 |
|
| 133 | 133 |
// top |
| 162 | 162 |
$template->replace_loop_vars_one("loop_boites_deleted", $boites_deleted);
|
| 163 | 163 |
|
| 164 | 164 | |
| 165 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 165 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 166 | 166 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 167 | 167 |
if (!isset($affmess)) {$affmess = "";}
|
| 168 | 168 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 192 | 192 |
$mtime = explode(" ",microtime());
|
| 193 | 193 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 194 | 194 |
print "\n"; |
| 195 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 195 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 196 | 196 |
} |
| 197 | 197 | |
| 198 | 198 | |
| 199 | 199 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
require "../utiles/fonctions-mb-fichiers.inc.php"; |
| 54 | 54 |
|
| 58 | 58 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 59 | 59 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 60 | 60 |
|
| 61 |
// Accs ok pour niveaux 1 2 | |
| 61 |
// Accès ok pour niveaux 1 à 2
| |
| 62 | 62 |
niveau_ok(1,2); |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 67 | 67 |
$starttime = $mtime[1] + $mtime[0]; |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 71 | 70 |
function stripslashes_deep($value) |
| 72 | 71 |
{
|
| 86 | 86 |
|
| 87 | 87 | |
| 88 | 88 |
/**************************/ |
| 89 |
/* Cre les objets TemTab */ | |
| 89 |
/* Crée les objets TemTab */
| |
| 90 | 90 |
/**************************/ |
| 91 | 91 |
|
| 92 | 92 |
// top |
| 112 | 112 |
/************************/ |
| 113 | 113 | |
| 114 | 114 |
/******************** NOTE: ********************************** |
| 115 |
Il faut faire attention dans ce script au rle diffrent jou par $f_alias, $f_dest, $f_alias_modif et $f_dest_modif | |
| 115 |
Il faut faire attention dans ce script au rôle différent joué par $f_alias, $f_dest, $f_alias_modif et $f_dest_modif
| |
| 116 | 116 |
$f_alias = user@domain.tld de l'alias |
| 117 |
$f_dest = le champ de destination de dpart | |
| 118 |
$f_alias_modif = le user de user@domain.tld, modif ou pas par le client | |
| 119 |
$f_dest_modif = le champ de destination de dpart, modif ou pas par le client | |
| 117 |
$f_dest = le champ de destination de départ
| |
| 118 |
$f_alias_modif = le user de user@domain.tld, modifé ou pas par le client | |
| 119 |
$f_dest_modif = le champ de destination de départ, modifé ou pas par le client | |
| 120 | 120 | |
| 121 |
$f_alias et $f_dest sont modifi par $f_alias_modif et $f_dest_modif au moment de la modification si elle est autorise | |
| 121 |
$f_alias et $f_dest sont modifié par $f_alias_modif et $f_dest_modif au moment de la modification si elle est autorisée
| |
| 122 | 122 |
($modif_autorise = true) |
| 123 | 123 |
$f_alias = $f_alias_modif."@".$f_domaine; |
| 124 | 124 |
$f_dest = $f_dest_modif; |
| 125 | 125 |
******************************************************/ |
| 126 | 126 | |
| 127 |
// rcupration de l'alias et du domaine slectionn et prparation de la partie modifiable de l'alias, rcupration de la destination en get | |
| 127 |
// récupération de l'alias et du domaine sélectionné et préparation de la partie modifiable de l'alias, récupération de la destination en get
| |
| 128 | 128 |
$f_alias = ""; $f_dest = ""; $f_domaine = "";$f_alias_modif = "";$f_dest_modif = ""; |
| 129 |
// GET pour entre dans le script, ensuite sauvetage par POST dans des champs hidden du formulaire html | |
| 129 |
// GET pour entrée dans le script, ensuite sauvetage par POST dans des champs hidden du formulaire html
| |
| 130 | 130 |
// Initialisation de $f_alias_modif et $f_dest_modif |
| 131 | 131 |
if (isset($_GET["alias"])) {$f_alias = secure_get($_GET["alias"]);}
|
| 132 | 132 |
if (isset($_POST["f_alias"])) {$f_alias = $_POST["f_alias"];}
|
| 134 | 134 |
if (isset($_POST["f_dest"])) {$f_dest = $_POST["f_dest"];}
|
| 135 | 135 |
$f_alias_modif = substr($f_alias, 0, strpos ($f_alias, "@")); |
| 136 | 136 | |
| 137 |
// Retrouver le domaine pass avec l'alias | |
| 138 |
// Notamment pour verifier si le domaine est autoris pour ce login | |
| 137 |
// Retrouver le domaine passé avec l'alias
| |
| 138 |
// Notamment pour verifier si le domaine est autorisé pour ce login | |
| 139 | 139 |
// avec verif_domaine($f_domaine); ci-dessous |
| 140 | 140 |
$f_domaine = strstr($f_alias, "@"); |
| 141 | 141 |
$f_domaine = substr($f_domaine, 1, strlen($f_domaine)); |
| 142 |
// Vrifie si les domaines sont autoris pour ce login | |
| 142 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 143 | 143 |
verif_domaine($f_domaine); |
| 144 | 144 |
|
| 145 |
// On rcupre les donnes originales dans la table | |
| 145 |
// On récupère les données originales dans la table
| |
| 146 | 146 |
$verif_adresse = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 147 | 147 |
$sel = $conf_champ_alias.",".$conf_champ_destination; |
| 148 | 148 |
if (isset($conf_al_champ_active)) {$sel .= ",".$conf_al_champ_active;}
|
| 159 | 159 |
if ($verif_adresse->RS_nb_ligne <1) |
| 160 | 160 |
{die("<h1>Forbidden</h1><br>".exclamation()."You don't have permission to access ".$conf_path_from_root." on this server.<hr><i>Apache-AdvancedExtranetServer/2.0.53</i>");}
|
| 161 | 161 | |
| 162 |
// c'est la premire fois qu'on charge la page, $_POST["f_premiere_fois"] n'existe pas encore | |
| 162 |
// c'est la première fois qu'on charge la page, $_POST["f_premiere_fois"] n'existe pas encore
| |
| 163 | 163 |
$premiere_fois = $_POST["f_premiere_fois"]; |
| 164 | 164 |
if (!isset($_POST["f_premiere_fois"])) |
| 165 |
{if (!dest_alias_valide($f_dest) and substr($f_alias, 0, 1) != "@") {header("Location: liste-alias.php?mess=".urlencode("Cet alias \"".$f_alias."\" est un alias spcial qui a t cr par la systme ou l'administrateur systme. Vous ne devez pas le modifer ni le supprimer. ".$traduction['ENCASDEPROBLEMECRIREALADMIN'].": ".$conf_email_mailmaster)); exit();}
| |
| 165 |
{if (!dest_alias_valide($f_dest) and substr($f_alias, 0, 1) != "@") {header("Location: liste-alias.php?mess=".urlencode("Cet alias \"".$f_alias."\" est un alias spécial qui a été créé par la système ou l'administrateur système. Vous ne devez pas le modifer ni le supprimer. ".$traduction['ENCASDEPROBLEMECRIREALADMIN'].": ".$conf_email_mailmaster)); exit();}
| |
| 166 | 166 |
} |
| 167 | 167 | |
| 168 | 168 |
if (isset($conf_al_champ_active)) {
|
| 174 | 174 |
{$active_checked = 0; $f_alias_active = 0;}
|
| 175 | 175 |
} |
| 176 | 176 |
|
| 177 |
// On va crer un $_POST["f_premiere_fois"] dans un champ "hidden" avec | |
| 177 |
// On va créer un $_POST["f_premiere_fois"] dans un champ "hidden" avec
| |
| 178 | 178 |
// $template->replace_var("t_premiere_fois", $premiere_fois);
- // On saura alors qu'on est un rechargement de la page
|
| 179 |
// On saura alors qu'on est à un rechargement de la page | |
| 179 | 180 |
$premiere_fois = "1"; |
| 180 | 181 |
|
| 181 |
// On vrifie si les clients ont le droit de modifier les alias / destinations gnrique (@domain.tld) | |
| 182 |
// On vérifie si les clients ont le droit de modifier les alias / destinations générique (@domain.tld)
| |
| 182 | 183 |
$client_auth_gen = false; |
| 183 | 184 |
$client_auth_gen = ($_SESSION["S_niveau"] == 1); |
| 184 | 185 |
if (!$client_auth_gen and (substr($f_alias, 0, 1) == "@" or substr($f_dest_modif, 0, 1) == "@")) |
| 185 |
{header("Location: liste-alias.php?&mess=".urlencode("Vous n'avez pas le droit de modifier des alias ou destinations gnriques, comme \"".$f_alias." > ".$f_dest."\". ! Vous devez demander cette modification l'administrateur du systme.")); exit(); }
| |
| 186 |
{header("Location: liste-alias.php?&mess=".urlencode("Vous n'avez pas le droit de modifier des alias ou destinations génériques, comme \"".$f_alias." > ".$f_dest."\". ! Vous devez demander cette modification à l'administrateur du système.")); exit(); }
| |
| 186 | 187 | |
| 187 | 188 | |
| 188 | 189 |
// Not reload whithout parameters ! |
| 189 |
if ($f_alias == "") {header("Location: liste-alias.php?mess=".urlencode("La page modification n'est pas accessible sans paramtres adquats !")); exit(); }
| |
| 190 |
if ($f_alias == "") {header("Location: liste-alias.php?mess=".urlencode("La page modification n'est pas accessible sans paramètres adéquats !")); exit(); }
| |
| 190 | 191 | |
| 191 |
// Prparation de l'info alias / destination gnrique | |
| 192 |
// Préparation de l'info alias / destination générique
| |
| 192 | 193 |
$info_alias_dest_gen = ""; |
| 193 | 194 |
if (!$client_auth_gen) {
|
| 194 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias gnriques:</u> Vous n\'tes pas autoris crer des alias ou destinations gnriques du type @".$f_domaine."<br><strong> · </strong><u>Rfrences circulaires:</u> Vous ne pourrez pas crer de rfrences circulaires c-a-d un alias user1@domain1.tld1 destin user2@domain2.tld2, si la rfrence inverse (alias user2@domain2.tld2 destin user1@domain1.tld1) existe dj.<br><strong> · </strong><u>Auto-rfrences:</u> Vous ne pourrez pas non plus crer d\'auto-rfrences , c-a-d un alias user1@".$f_domaine." destin user1@".$f_domaine.""; | |
| 195 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias génériques:</u> Vous n\'êtes pas autorisé à créer des alias ou destinations génériques du type @".$f_domaine."<br><strong> · </strong><u>Références circulaires:</u> Vous ne pourrez pas créer de références circulaires c-a-d un alias user1@domain1.tld1 destiné à user2@domain2.tld2, si la référence inverse (alias user2@domain2.tld2 destiné à user1@domain1.tld1) existe déjà.<br><strong> · </strong><u>Auto-références:</u> Vous ne pourrez pas non plus créer d\'auto-références , c-a-d un alias user1@".$f_domaine." destiné à user1@".$f_domaine."";
| |
| 195 | 196 |
} |
| 196 | 197 |
else {
|
| 197 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias gnriques:</u> Si vous tes responsable de domain1.tld1 ET de domain2.tld2, vous pouvez crer des alias gnriques du type @domain1.tld1 avec pour destination [user]@domain2.tld2 qui redirigeront tous les emails de @domain1.tld1 vers [user]@domain2.tld2.<br><strong> · </strong><u>Rfrences circulaires:</u> Vous ne pourrez pas crer de rfrences circulaires c-a-d un alias [user1]@domain1.tld1 destin [user2]@domain2.tld2, si la rfrence inverse (alias [user2]@domain2.tld2 destin [user1]@domain1.tld1) existe dj.<br><strong> · </strong><u>Auto-rfrences:</u> Vous ne pourrez pas non plus crer d\'auto-rfrences , c-a-d un alias [user1]@domain1.tld1 destin [user1]@domain1.tld1"; | |
| 198 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias génériques:</u> Si vous êtes responsable de domain1.tld1 ET de domain2.tld2, vous pouvez créer des alias génériques du type @domain1.tld1 avec pour destination [user]@domain2.tld2 qui redirigeront tous les emails de @domain1.tld1 vers [user]@domain2.tld2.<br><strong> · </strong><u>Références circulaires:</u> Vous ne pourrez pas créer de références circulaires c-a-d un alias [user1]@domain1.tld1 destiné à [user2]@domain2.tld2, si la référence inverse (alias [user2]@domain2.tld2 destiné à [user1]@domain1.tld1) existe déjà.<br><strong> · </strong><u>Auto-références:</u> Vous ne pourrez pas non plus créer d\'auto-références , c-a-d un alias [user1]@domain1.tld1 destiné à [user1]@domain1.tld1";
| |
| 198 | 199 |
} |
| 199 | 200 | |
| 200 | 201 |
// Affichage du champ domaine, si il est active |
| 215 | 215 |
} |
| 216 | 216 |
|
| 217 | 217 | |
| 218 |
// Caractres autoriss pour le user | |
| 218 |
// Caractères autorisés pour le user
| |
| 219 | 219 |
$car_auth_user = ""; |
| 220 | 220 |
$car_auth_user = car_auth_user(); |
| 221 | 221 |
|
| 222 |
// Caractres autoriss pour le domaine | |
| 222 |
// Caractères autorisés pour le domaine
| |
| 223 | 223 |
$car_auth_domain = ""; |
| 224 | 224 |
$car_auth_domain = car_auth_domain(); |
| 225 | 225 | |
| 226 |
// Caractres autoriss pour le tld | |
| 226 |
// Caractères autorisés pour le tld
| |
| 227 | 227 |
$car_auth_tld = ""; |
| 228 | 228 |
$car_auth_tld = car_auth_tld(); |
| 229 | 229 |
|
| 230 |
// On verifie si l'alias en Get n'a pas t chang pour un inexistant | |
| 230 |
// On verifie si l'alias en Get n'a pas été changé pour un inexistant
| |
| 231 | 231 |
/* |
| 232 | 232 |
$verif_alias = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 233 | 233 |
$sel = $conf_champ_alias; |
| 244 | 244 | |
| 245 | 245 |
$modif_autorise = true; |
| 246 | 246 | |
| 247 |
// Prtraitement des adresses emails alias et destination (suppr des espaces et accents) | |
| 247 |
// Prétraitement des adresses emails alias et destination (suppr des espaces et accents)
| |
| 248 | 248 | |
| 249 | 249 |
$f_alias_modif = $_POST["f_alias_modif"]; |
| 250 | 250 |
$f_dest_modif = $_POST["f_dest_modif"]; |
| 270 | 270 |
$modif_autorise = false; |
| 271 | 271 |
} |
| 272 | 272 |
|
| 273 |
// vrification des adresses emails alias et destination | |
| 273 |
// vérification des adresses emails alias et destination
| |
| 274 | 274 |
$alias_validite = false; |
| 275 | 275 |
$alias_validite = alias_valide($f_alias_modif."@".$f_domaine); |
| 276 | 276 |
if (!$alias_validite) {
|
| 287 | 287 |
$modif_autorise = false; |
| 288 | 288 |
} |
| 289 | 289 | |
| 290 |
// si login a le droit de crer des adresses gnriques | |
| 291 |
// on empche la cration d'adresse gnrique du type user@domain1.tld1 > @domain2.tld2 | |
| 292 |
// seul @domain1.tld1 > @domain2.tld2 et @domain1.tld1 > user@domain2.tld2 sont authoriss | |
| 290 |
// si login a le droit de créer des adresses génériques
| |
| 291 |
// on empêche la création d'adresse générique du type user@domain1.tld1 > @domain2.tld2 | |
| 292 |
// seul @domain1.tld1 > @domain2.tld2 et @domain1.tld1 > user@domain2.tld2 sont authorisés | |
| 293 | 293 |
if ($client_auth_gen and substr($f_alias_modif, 0, 1) != "" and substr($f_dest_modif, 0, 1) == "@") {
|
| 294 | 294 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 295 |
$affmess .= exclamation()."Vous ne pouvez pas crer d'adresse gnrqiue du type ".$f_alias_modif."@".$f_domaine." > ".$f_dest_modif." Effectuez la correction, s.v.p."; | |
| 295 |
$affmess .= exclamation()."Vous ne pouvez pas créer d'adresse générqiue du type ".$f_alias_modif."@".$f_domaine." > ".$f_dest_modif." Effectuez la correction, s.v.p.";
| |
| 296 | 296 |
$modif_autorise = false; |
| 297 | 297 |
} |
| 298 | 298 | |
| 299 | 299 |
if ($f_dest_modif == "") {
|
| 300 | 300 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 301 |
$affmess .= exclamation()."Le champ destination ne peut tre vide! Aucune modifiation effectue."; | |
| 301 |
$affmess .= exclamation()."Le champ destination ne peut être vide! Aucune modifiation effectuée.";
| |
| 302 | 302 |
$modif_autorise = false; |
| 303 | 303 |
} |
| 304 | 304 | |
| 305 | 305 | |
| 306 |
// On vrifie qu'on ne cre pas une auto rfrence du type @machin.be > @machin.be ou truc@machin.be > truc@machin.be | |
| 306 |
// On vérifie qu'on ne crée pas une auto référence du type @machin.be > @machin.be ou truc@machin.be > truc@machin.be
| |
| 307 | 307 |
$f_dest_modif_array = array(); $auto_ref = false; |
| 308 | 308 |
$f_dest_modif_array = explode(",", $f_dest_modif);
|
| 309 | 309 |
foreach ($f_dest_modif_array as $val) {
|
| 312 | 312 | |
| 313 | 313 |
if ($auto_ref) {
|
| 314 | 314 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 315 |
$affmess .= exclamation()."Vous ne pouvez pas crer d'auto-rfrence : ".$f_alias_modif."@".$f_domaine." > ".$f_dest_modif." Effectuez la correction, s.v.p. - ".$f_dest_modif." ++ ".$f_alias_modif."@".$f_domaine; | |
| 315 |
$affmess .= exclamation()."Vous ne pouvez pas créer d'auto-référence : ".$f_alias_modif."@".$f_domaine." > ".$f_dest_modif." Effectuez la correction, s.v.p. - ".$f_dest_modif." ++ ".$f_alias_modif."@".$f_domaine;
| |
| 316 | 316 |
$modif_autorise = false; |
| 317 | 317 |
} // if ($auto_ref) |
| 318 | 318 |
|
| 319 |
// On vrifie qu'on ne cre pas une rfrence circulaire du type @machin.be > @machin.org et @machin.org > @machin.be | |
| 319 |
// On vérifie qu'on ne crée pas une référence circulaire du type @machin.be > @machin.org et @machin.org > @machin.be
| |
| 320 | 320 |
$circ_ref_dest_array = array(); $circ_ref = false; $circ_ref_chaine1 = ""; $circ_ref_chaine2 = ""; |
| 321 | 321 |
$circ_ref_dest_array = explode(",", $f_dest_modif);
|
| 322 | 322 |
foreach($circ_ref_dest_array as $val) {
|
| 337 | 337 |
|
| 338 | 338 |
if ($circ_ref) {
|
| 339 | 339 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 340 |
$affmess .= exclamation()."Vous ne pouvez pas crer de rfrence circulaire : ".$circ_ref_chaine1." car ".$circ_ref_chaine2." existe dj. Effectuez la correction, s.v.p."; | |
| 340 |
$affmess .= exclamation()."Vous ne pouvez pas créer de référence circulaire : ".$circ_ref_chaine1." car ".$circ_ref_chaine2." existe déjà. Effectuez la correction, s.v.p.";
| |
| 341 | 341 |
$modif_autorise = false; |
| 342 | 342 |
} // if ($circ_ref) |
| 343 | 343 | |
| 344 | 344 | |
| 345 |
// On vrifie les doublons | |
| 345 |
// On vérifie les doublons
| |
| 346 | 346 |
$doublons_chaine = $f_alias_modif."@".$f_domaine; |
| 347 | 347 |
$verif_doublons = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 348 | 348 |
$sel = $conf_champ_alias.", ".$conf_champ_destination; |
| 353 | 353 | |
| 354 | 354 |
if ($verif_doublons->RS_ligne["0"][$conf_champ_alias] == $doublons_chaine AND $previous_alias != $doublons_chaine) {
|
| 355 | 355 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 356 |
$affmess .= exclamation()."L'alias ".$doublons_chaine." vers ".$verif_doublons->RS_ligne["0"][$conf_champ_destination]." existe dj. Effectuez la correction, s.v.p."; | |
| 356 |
$affmess .= exclamation()."L'alias ".$doublons_chaine." vers ".$verif_doublons->RS_ligne["0"][$conf_champ_destination]." existe déjà. Effectuez la correction, s.v.p.";
| |
| 357 | 357 |
$modif_autorise = false; |
| 358 | 358 |
} |
| 359 | 359 | |
| 360 |
// Enregistrement modifi? | |
| 360 |
// Enregistrement modifié?
| |
| 361 | 361 |
$on_a_modifie = ($previous_alias != $f_alias_modif."@".$f_domaine or $previous_dest != $f_dest_modif or (isset($conf_al_champ_active) and $previous_alias_active != $active_checked)); |
| 362 | 362 |
if (!$on_a_modifie) {
|
| 363 | 363 |
$affmess .= $traduction["VOUSNAVEZRIENMODIFIE"]; |
| 377 | 377 |
$f_alias = $f_alias_modif."@".$f_domaine; |
| 378 | 378 |
$f_dest = $f_dest_modif; |
| 379 | 379 | |
| 380 |
$affmess = $f_alias_modif."@".$f_domaine." a t modifi."; | |
| 380 |
$affmess = $f_alias_modif."@".$f_domaine." a été modifié.";
| |
| 381 | 381 | |
| 382 |
// si alias generique, on met le nombre max de mailbox pour ce domaine 0 | |
| 382 |
// si alias generique, on met le nombre max de mailbox pour ce domaine à 0
| |
| 383 | 383 |
if ($f_alias_modif == "") {
|
| 384 | 384 |
$mod_max_nb_mailbox = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 385 | 385 |
$col_val = "`".$conf_champ_nb_box_defaut."`= 0"; |
| 386 | 386 |
$whe = $conf_champ_domaine." = '".$f_domaine."'"; |
| 387 | 387 |
//echo "UPDATE ".$conf_table_transport." SET ".$col_val." WHERE ".$whe; |
| 388 | 388 |
$mod_max_nb_mailbox->RS_update($conf_table_transport, $col_val, $whe); |
| 389 |
$affmess .= " Le nombre maximum de boites aux lettres pour @".$f_domaine." a t mis 0."; | |
| 389 |
$affmess .= " Le nombre maximum de boites aux lettres pour @".$f_domaine." a été mis à 0.";
| |
| 390 | 390 |
} |
| 391 | 391 |
|
| 392 | 392 |
//log |
| 414 | 414 |
|
| 415 | 415 |
} // if (isset($_POST["f_alias_modif_submit"])) |
| 416 | 416 |
|
| 417 |
// Rcupration des champs alias et destination | |
| 417 |
// Récupération des champs alias et destination
| |
| 418 | 418 |
/* |
| 419 | 419 |
$dest_alias = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 420 | 420 |
$sel = $conf_champ_alias.", ".$conf_champ_destination; |
| 437 | 437 |
// formulaire |
| 438 | 438 |
$template->replace_var("t_script_name", $conf_script_name);
|
| 439 | 439 | |
| 440 |
// Affichage caractres autoriss | |
| 440 |
// Affichage caractères autorisés
| |
| 441 | 441 |
$template->replace_var("t_car_auth_user", $car_auth_user);
|
| 442 | 442 |
$template->replace_var("t_car_auth_domain", $car_auth_domain);
|
| 443 | 443 |
$template->replace_var("t_car_auth_tld", $car_auth_tld);
|
| 446 | 446 |
// mais a un rechargement |
| 447 | 447 |
$template->replace_var("t_f_premiere_fois", $premiere_fois);
|
| 448 | 448 |
|
| 449 |
// Affichage alias, partie modifiable de l'alias, destination. Sauvetage du domaine slectionn dans POST['f_domaine'] | |
| 449 |
// Affichage alias, partie modifiable de l'alias, destination. Sauvetage du domaine sélectionné dans POST['f_domaine']
| |
| 450 | 450 |
$template_tete->replace_var("t_f_domaine", $f_domaine);
|
| 451 | 451 |
$template->replace_var("t_f_domaine", $f_domaine);
|
| 452 | 452 |
$template->replace_var("t_f_alias", $f_alias);
|
| 460 | 460 |
$template->replace_var("t_champ_domaine", $champ_domaine);
|
| 461 | 461 |
$template->replace_var("t_champ_active", $champ_active);
|
| 462 | 462 | |
| 463 |
// Affichage de l'info alias / destination gnrique | |
| 463 |
// Affichage de l'info alias / destination générique
| |
| 464 | 464 |
$template->replace_var("t_info_alias_dest_gen", $info_alias_dest_gen);
|
| 465 | 465 | |
| 466 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 466 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 467 | 467 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 468 | 468 |
if (!isset($affmess)) {$affmess = "";}
|
| 469 | 469 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 493 | 493 |
$mtime = explode(" ",microtime());
|
| 494 | 494 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 495 | 495 |
print "\n"; |
| 496 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 496 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 497 | 497 |
} |
| 498 | 498 | |
| 499 | 499 | |
| 500 | 500 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
|
| 54 | 54 |
require "../utiles/secure-session.inc.php"; |
| 57 | 57 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 58 | 58 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 59 | 59 |
|
| 60 |
// Accs ok pour niveaux 1 | |
| 60 |
// Accès ok pour niveaux 1
| |
| 61 | 61 |
niveau_ok(1,1); |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 70 | 69 |
function stripslashes_deep($value) |
| 71 | 70 |
{
|
| 85 | 85 |
|
| 86 | 86 | |
| 87 | 87 |
/**************************/ |
| 88 |
/* Cre les objets TemTab */ | |
| 88 |
/* Crée les objets TemTab */
| |
| 89 | 89 |
/**************************/ |
| 90 | 90 |
|
| 91 | 91 |
// top |
| 110 | 110 |
/* Traitement du script */ |
| 111 | 111 |
/************************/ |
| 112 | 112 | |
| 113 |
// Caractres autoriss pour le login et l'email'(voir function login_propre dans /utiles/fonctions.inc.php) | |
| 114 |
// L'espace (non autoris) est supprim dans ce script | |
| 113 |
// Caractères autorisés pour le login et l'email'(voir function login_propre dans /utiles/fonctions.inc.php)
| |
| 114 |
// L'espace (non autorisé) est supprimé dans ce script | |
| 115 | 115 |
|
| 116 |
// Caractres autoriss pour le user | |
| 116 |
// Caractères autorisés pour le user
| |
| 117 | 117 |
$car_auth_user = ""; |
| 118 | 118 |
$car_auth_user = car_auth_user(); |
| 119 | 119 |
|
| 120 |
// Caractres autoriss pour le domaine | |
| 120 |
// Caractères autorisés pour le domaine
| |
| 121 | 121 |
$car_auth_domain = ""; |
| 122 | 122 |
$car_auth_domain = car_auth_domain(); |
| 123 | 123 | |
| 124 |
// Caractres autoriss pour le tld | |
| 124 |
// Caractères autorisés pour le tld
| |
| 125 | 125 |
$car_auth_tld = ""; |
| 126 | 126 |
$car_auth_tld = car_auth_tld(); |
| 127 | 127 | |
| 128 | 128 |
|
| 129 |
// rcupration du login et des pass en clair | |
| 129 |
// récupération du login et des pass en clair
| |
| 130 | 130 |
$f_login = "";$f_pass_modif = "";$f_pass1_modif = "";$f_login_modif = "";$f_domaine_modif = ""; |
| 131 | 131 |
if (isset($_GET["login"])) {$f_login = secure_get($_GET["login"]);}
|
| 132 | 132 |
if (isset($_POST["f_login"])) {$f_login = $_POST["f_login"];}
|
| 135 | 135 |
$f_login_modif = login_propre($f_login); |
| 136 | 136 | |
| 137 | 137 |
// proteger le mode demo |
| 138 |
if ($conf_demo and ($f_login == "admin" or $f_login == "admin1" or $f_login == "supadmin")) {header("Location: liste-admin-login.php?mess=".urlencode("En mode demo, le superadmin ne peut pas modifier les login supadmin, ni admin, ni admin1, afin de prserver le bon droulement de la demo et des tests.")); exit();}
| |
| 138 |
if ($conf_demo and ($f_login == "admin" or $f_login == "admin1" or $f_login == "supadmin")) {header("Location: liste-admin-login.php?mess=".urlencode("En mode demo, le superadmin ne peut pas modifier les login supadmin, ni admin, ni admin1, afin de préserver le bon déroulement de la demo et des tests.")); exit();}
| |
| 139 | 139 |
|
| 140 | 140 |
// Not reload whithout parameters ! |
| 141 |
if ($f_login == "") {header("Location: liste-admin-login.php?mess=".urlencode(exclamation()."La page modification n'est pas accessible sans paramtres adquats !")); exit(); }
| |
| 141 |
if ($f_login == "") {header("Location: liste-admin-login.php?mess=".urlencode(exclamation()."La page modification n'est pas accessible sans paramètres adéquats !")); exit(); }
| |
| 142 | 142 |
|
| 143 |
// On verifie si le login en Get n'a pas t chang pour un inexistant et on rcupre les domaines grs par le login + l'email original de contact lu dans la base' | |
| 143 |
// On verifie si le login en Get n'a pas été changé pour un inexistant et on récupère les domaines gérés par le login + l'email original de contact lu dans la base'
| |
| 144 | 144 |
$verif_login = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 145 | 145 |
$sel = $conf_champ_login.",".$conf_champ_domaines.",".$conf_champ_contact; |
| 146 | 146 |
$from = $conf_table_login; |
| 157 | 157 |
|
| 158 | 158 |
|
| 159 | 159 |
// on compte le nombre de super admin restant (en vue de ne pas supprimer le dernier! ) |
| 160 |
// (et s'il n'en reste qu'un, ce sera celui-l! ;-) | |
| 160 |
// (et s'il n'en reste qu'un, ce sera celui-là! ;-)
| |
| 161 | 161 |
$compte_admin = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 162 | 162 |
$sel = $conf_champ_domaines; |
| 163 | 163 |
$from = $conf_table_login; |
| 172 | 172 |
$ordre = $conf_champ_domaine." ASC"; |
| 173 | 173 |
$dom_existant->RS_select($sel, $from, "", $ordre); |
| 174 | 174 |
mysql_free_result($dom_existant->RS_res); |
| 175 |
// Ajout de "all" aux domaines existant et prparation de l'affichage | |
| 175 |
// Ajout de "all" aux domaines existant et préparation de l'affichage
| |
| 176 | 176 |
$domaines_existants = array(); |
| 177 | 177 |
foreach ($dom_existant->RS_ligne as $val) {
|
| 178 | 178 |
array_push ($domaines_existants, array($val[$conf_champ_domaine], $val[$conf_champ_domaine], "[".$val[$conf_champ_transport]."]")); |
| 184 | 184 | |
| 185 | 185 |
// ne pas tuer le dernier super admin |
| 186 | 186 |
if ($compte_admin->RS_nb_ligne < 2 and $verif_login->RS_ligne["0"][$conf_champ_domaines] == "all" and $f_domaine_modif != "all") {
|
| 187 |
die(exclamation()."<br>Vous ne pouvez pas supprimer le dernier super administrateur !<hr><a href='javascript:history.back();'>Retour la page prcdente</a>"); | |
| 187 |
die(exclamation()."<br>Vous ne pouvez pas supprimer le dernier super administrateur !<hr><a href='javascript:history.back();'>Retour à la page précédente</a>");
| |
| 188 | 188 |
} |
| 189 | 189 |
|
| 190 | 190 |
$f_login_modif = login_propre(str_replace(" ", "", $_POST["f_login_modif"]));
|
| 192 | 192 |
$f_pass1_modif = $_POST["f_pass1_modif"]; |
| 193 | 193 |
|
| 194 | 194 |
$modifie = false; |
| 195 |
$affmess = exclamation()."Rien modifier."; | |
| 195 |
$affmess = exclamation()."Rien à modifier.";
| |
| 196 | 196 |
|
| 197 |
// $modifie = true si on a vraiment modifi quelque chose | |
| 197 |
// $modifie = true si on a vraiment modifié quelque chose
| |
| 198 | 198 |
$modifie = ($f_login != $f_login_modif or $f_pass_modif != "" or $verif_login->RS_ligne["0"][$conf_champ_domaines] != $f_domaine_modif or $verif_login->RS_ligne["0"][$conf_champ_contact] != $f_contact_modif); |
| 199 | 199 |
|
| 200 |
// on vrifie d'autres contraintes | |
| 200 |
// on vérifie d'autres contraintes
| |
| 201 | 201 |
if ($f_login_modif == "") {
|
| 202 |
$affmess = exclamation()."Le champ login ne peut tre vide! Aucune modifiation effectue."; | |
| 202 |
$affmess = exclamation()."Le champ login ne peut être vide! Aucune modifiation effectuée.";
| |
| 203 | 203 |
$modifie = false; |
| 204 | 204 |
} |
| 205 | 205 |
if ($f_pass_modif != $f_pass1_modif) {
|
| 206 |
$affmess = exclamation()."Les mots de passe sont diffrents !"; | |
| 206 |
$affmess = exclamation()."Les mots de passe sont différents !";
| |
| 207 | 207 |
$modifie = false; |
| 208 | 208 |
} |
| 209 | 209 |
|
| 210 |
// On vrifie si le login n'existe pas dj ailleurs dans la table | |
| 210 |
// On vérifie si le login n'existe pas déjà ailleurs dans la table
| |
| 211 | 211 |
$verif2_login = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 212 | 212 |
$sel = $conf_champ_login; |
| 213 | 213 |
$from = $conf_table_login; |
| 215 | 215 |
$verif2_login->RS_select($sel, $from, $whe); |
| 216 | 216 |
mysql_free_result($verif2_login->RS_res); |
| 217 | 217 |
if ($verif2_login->RS_nb_ligne > 0 and $verif2_login->RS_ligne["0"][$conf_champ_login] <> $verif_login->RS_ligne["0"][$conf_champ_login]) {
|
| 218 |
$affmess = exclamation()."Le login ".$verif2_login->RS_ligne["0"][$conf_champ_login]." existe dj !"; | |
| 218 |
$affmess = exclamation()."Le login ".$verif2_login->RS_ligne["0"][$conf_champ_login]." existe déjà !";
| |
| 219 | 219 |
$f_login_modif = $verif_login->RS_ligne["0"][$conf_champ_login]; |
| 220 | 220 |
$modifie = false; |
| 221 | 221 |
} |
| 222 | 222 |
|
| 223 |
// Prtraitement de l'email de contact (suppr des espaces et accents) | |
| 223 |
// Prétraitement de l'email de contact (suppr des espaces et accents)
| |
| 224 | 224 |
if ($f_contact_modif <> "") {
|
| 225 | 225 |
$retire = array(" ", "\"", "'", "\n", "\r", "\t");
|
| 226 | 226 |
$f_contact_modif = str_replace($retire, "", $_POST["f_contact_modif"]); |
| 229 | 229 |
|
| 230 | 230 |
// l'adresse de contact est obligatoire |
| 231 | 231 |
if ($f_contact_modif == "") {
|
| 232 |
$affmess = exclamation()."Le champ contact email ne peut tre vide! Aucune modifiation effectue."; | |
| 232 |
$affmess = exclamation()."Le champ contact email ne peut être vide! Aucune modifiation effectuée.";
| |
| 233 | 233 |
$modifie=false; |
| 234 | 234 |
} |
| 235 | 235 | |
| 236 |
// et vrification de validit | |
| 236 |
// et vérification de validité
| |
| 237 | 237 |
if (!email_valide($f_contact_modif) and $f_contact_modif <> "") {
|
| 238 | 238 |
$affmess = exclamation()."L'adresse email de contact n'est pas valide !"; |
| 239 | 239 |
$modifie=false; |
| 241 | 241 |
|
| 242 | 242 |
|
| 243 | 243 |
if ($modifie) {
|
| 244 |
$affmess = "Enregistrement modifi"; | |
| 244 |
$affmess = "Enregistrement modifié";
| |
| 245 | 245 | |
| 246 | 246 |
$mod_login = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 247 | 247 |
// on ne change pas le mot de passe s'il est vide |
| 297 | 297 |
$template->replace_var("t_f_domaine_modif", $f_domaine_modif);
|
| 298 | 298 |
$template->replace_loop_vars("loop_f_domaines_existants", $domaines_existants);
|
| 299 | 299 | |
| 300 |
// Affichage caractres autoriss (login et email) | |
| 300 |
// Affichage caractères autorisés (login et email)
| |
| 301 | 301 |
$template->replace_var("t_car_auth_user", $car_auth_user);
|
| 302 | 302 |
$template->replace_var("t_car_auth_domain", $car_auth_domain);
|
| 303 | 303 |
$template->replace_var("t_car_auth_tld", $car_auth_tld);
|
| 304 | 304 |
|
| 305 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 305 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 306 | 306 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 307 | 307 |
if (!isset($affmess)) {$affmess = "";}
|
| 308 | 308 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 332 | 332 |
$mtime = explode(" ",microtime());
|
| 333 | 333 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 334 | 334 |
print "\n"; |
| 335 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 335 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 336 | 336 |
} |
| 337 | 337 | |
| 338 | 338 | |
| 339 | 339 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
require "../utiles/fonctions-mb-fichiers.inc.php"; |
| 54 | 54 |
|
| 58 | 58 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 59 | 59 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 60 | 60 |
|
| 61 |
// Accs ok pour niveaux 1 2 | |
| 61 |
// Accès ok pour niveaux 1 à 2
| |
| 62 | 62 |
niveau_ok(1,2); |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 67 | 67 |
$starttime = $mtime[1] + $mtime[0]; |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 71 | 70 |
function stripslashes_deep($value) |
| 72 | 71 |
{
|
| 86 | 86 |
|
| 87 | 87 | |
| 88 | 88 |
/**************************/ |
| 89 |
/* Cre les objets TemTab */ | |
| 89 |
/* Crée les objets TemTab */
| |
| 90 | 90 |
/**************************/ |
| 91 | 91 |
|
| 92 | 92 |
// top |
| 112 | 112 |
/************************/ |
| 113 | 113 | |
| 114 | 114 |
/******************** NOTE: ********************************** |
| 115 |
Il faut faire attention dans ce script au rle diffrent jou par $f_alias, $f_dest, $f_alias_modif et $f_dest_modif | |
| 115 |
Il faut faire attention dans ce script au rôle différent joué par $f_alias, $f_dest, $f_alias_modif et $f_dest_modif
| |
| 116 | 116 |
$f_alias = user@domain.tld de l'alias |
| 117 |
$f_dest = le champ de destination de dpart | |
| 118 |
$f_alias_modif = le user de user@domain.tld, modif ou pas par le client | |
| 119 |
$f_dest_modif = le champ de destination de dpart, modif ou pas par le client | |
| 117 |
$f_dest = le champ de destination de départ
| |
| 118 |
$f_alias_modif = le user de user@domain.tld, modifé ou pas par le client | |
| 119 |
$f_dest_modif = le champ de destination de départ, modifé ou pas par le client | |
| 120 | 120 | |
| 121 |
$f_alias et $f_dest sont modifi par $f_alias_modif et $f_dest_modif au moment de la modification si elle est autorise | |
| 121 |
$f_alias et $f_dest sont modifié par $f_alias_modif et $f_dest_modif au moment de la modification si elle est autorisée
| |
| 122 | 122 |
($modif_autorise = true) |
| 123 | 123 |
$f_alias = $f_alias_modif."@".$f_domaine; |
| 124 | 124 |
$f_dest = $f_dest_modif; |
| 125 | 125 |
******************************************************/ |
| 126 | 126 | |
| 127 |
// rcupration de l'alias et du domaine slectionn et prparation de la partie modifiable de l'alias, rcupration de la destination en get | |
| 127 |
// récupération de l'alias et du domaine sélectionné et préparation de la partie modifiable de l'alias, récupération de la destination en get
| |
| 128 | 128 |
$f_alias = ""; $f_dest = ""; $f_domaine = "";$f_alias_modif = "";$f_dest_modif = ""; |
| 129 |
// GET pour entre dans le script, ensuite sauvetage par POST dans des champs hidden du formulaire html | |
| 129 |
// GET pour entrée dans le script, ensuite sauvetage par POST dans des champs hidden du formulaire html
| |
| 130 | 130 |
// Initialisation de $f_alias_modif et $f_dest_modif |
| 131 | 131 |
if (isset($_GET["alias"])) {$f_alias = secure_get($_GET["alias"]);}
|
| 132 | 132 |
if (isset($_POST["f_alias"])) {$f_alias = $_POST["f_alias"];}
|
| 134 | 134 |
if (isset($_POST["f_dest"])) {$f_dest = $_POST["f_dest"];}
|
| 135 | 135 |
$f_alias_modif = substr($f_alias, 0, strpos ($f_alias, "@")); |
| 136 | 136 | |
| 137 |
// Retrouver le domaine pass avec l'alias | |
| 138 |
// Notamment pour verifier si le domaine est autoris pour ce login | |
| 137 |
// Retrouver le domaine passé avec l'alias
| |
| 138 |
// Notamment pour verifier si le domaine est autorisé pour ce login | |
| 139 | 139 |
// avec verif_domaine($f_domaine); ci-dessous |
| 140 | 140 |
$f_domaine = strstr($f_alias, "@"); |
| 141 | 141 |
$f_domaine = substr($f_domaine, 1, strlen($f_domaine)); |
| 142 |
// Vrifie si les domaines sont autoris pour ce login | |
| 142 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 143 | 143 |
verif_domaine($f_domaine); |
| 144 | 144 |
|
| 145 |
// On rcupre les donnes originales dans la table | |
| 145 |
// On récupère les données originales dans la table
| |
| 146 | 146 |
$verif_adresse = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 147 | 147 |
$sel = $conf_champ_alias.",".$conf_champ_destination; |
| 148 | 148 |
if (isset($conf_al_champ_active)) {$sel .= ",".$conf_al_champ_active;}
|
| 159 | 159 |
if ($verif_adresse->RS_nb_ligne <1) |
| 160 | 160 |
{die("<h1>Forbidden</h1><br>".exclamation()."You don't have permission to access ".$conf_path_from_root." on this server.<hr><i>Apache-AdvancedExtranetServer/2.0.53</i>");}
|
| 161 | 161 | |
| 162 |
// c'est la premire fois qu'on charge la page, $_POST["f_premiere_fois"] n'existe pas encore | |
| 162 |
// c'est la première fois qu'on charge la page, $_POST["f_premiere_fois"] n'existe pas encore
| |
| 163 | 163 |
$premiere_fois = $_POST["f_premiere_fois"]; |
| 164 | 164 |
if (!isset($_POST["f_premiere_fois"])) |
| 165 |
{if (!dest_alias_valide($f_dest) and substr($f_alias, 0, 1) != "@") {header("Location: liste-alias.php?mess=".urlencode("Cet alias \"".$f_alias."\" est un alias spcial qui a t cr par la systme ou l'administrateur systme. Vous ne devez pas le modifer ni le supprimer. ".$traduction['ENCASDEPROBLEMECRIREALADMIN'].": ".$conf_email_mailmaster)); exit();}
| |
| 165 |
{if (!dest_alias_valide($f_dest) and substr($f_alias, 0, 1) != "@") {header("Location: liste-alias.php?mess=".urlencode("Cet alias \"".$f_alias."\" est un alias spécial qui a été créé par la système ou l'administrateur système. Vous ne devez pas le modifer ni le supprimer. ".$traduction['ENCASDEPROBLEMECRIREALADMIN'].": ".$conf_email_mailmaster)); exit();}
| |
| 166 | 166 |
} |
| 167 | 167 | |
| 168 | 168 |
if (isset($conf_al_champ_active)) {
|
| 174 | 174 |
{$active_checked = 0; $f_alias_active = 0;}
|
| 175 | 175 |
} |
| 176 | 176 |
|
| 177 |
// On va crer un $_POST["f_premiere_fois"] dans un champ "hidden" avec | |
| 177 |
// On va créer un $_POST["f_premiere_fois"] dans un champ "hidden" avec
| |
| 178 | 178 |
// $template->replace_var("t_premiere_fois", $premiere_fois);
- // On saura alors qu'on est un rechargement de la page
|
| 179 |
// On saura alors qu'on est à un rechargement de la page | |
| 179 | 180 |
$premiere_fois = "1"; |
| 180 | 181 |
|
| 181 |
// On vrifie si les clients ont le droit de modifier les alias / destinations gnrique (@domain.tld) | |
| 182 |
// On vérifie si les clients ont le droit de modifier les alias / destinations générique (@domain.tld)
| |
| 182 | 183 |
$client_auth_gen = false; |
| 183 | 184 |
$client_auth_gen = ($_SESSION["S_niveau"] == 1); |
| 184 | 185 |
if (!$client_auth_gen and (substr($f_alias, 0, 1) == "@" or substr($f_dest_modif, 0, 1) == "@")) |
| 185 |
{header("Location: liste-alias.php?&mess=".urlencode("Vous n'avez pas le droit de modifier des alias ou destinations gnriques, comme \"".$f_alias." > ".$f_dest."\". ! Vous devez demander cette modification l'administrateur du systme.")); exit(); }
| |
| 186 |
{header("Location: liste-alias.php?&mess=".urlencode("Vous n'avez pas le droit de modifier des alias ou destinations génériques, comme \"".$f_alias." > ".$f_dest."\". ! Vous devez demander cette modification à l'administrateur du système.")); exit(); }
| |
| 186 | 187 | |
| 187 | 188 | |
| 188 | 189 |
// Not reload whithout parameters ! |
| 189 |
if ($f_alias == "") {header("Location: liste-alias.php?mess=".urlencode("La page modification n'est pas accessible sans paramtres adquats !")); exit(); }
| |
| 190 |
if ($f_alias == "") {header("Location: liste-alias.php?mess=".urlencode("La page modification n'est pas accessible sans paramètres adéquats !")); exit(); }
| |
| 190 | 191 | |
| 191 |
// Prparation de l'info alias / destination gnrique | |
| 192 |
// Préparation de l'info alias / destination générique
| |
| 192 | 193 |
$info_alias_dest_gen = ""; |
| 193 | 194 |
if (!$client_auth_gen) {
|
| 194 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias gnriques:</u> Vous n\'tes pas autoris crer des alias ou destinations gnriques du type @".$f_domaine."<br><strong> · </strong><u>Rfrences circulaires:</u> Vous ne pourrez pas crer de rfrences circulaires c-a-d un alias user1@domain1.tld1 destin user2@domain2.tld2, si la rfrence inverse (alias user2@domain2.tld2 destin user1@domain1.tld1) existe dj.<br><strong> · </strong><u>Auto-rfrences:</u> Vous ne pourrez pas non plus crer d\'auto-rfrences , c-a-d un alias user1@".$f_domaine." destin user1@".$f_domaine.""; | |
| 195 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias génériques:</u> Vous n\'êtes pas autorisé à créer des alias ou destinations génériques du type @".$f_domaine."<br><strong> · </strong><u>Références circulaires:</u> Vous ne pourrez pas créer de références circulaires c-a-d un alias user1@domain1.tld1 destiné à user2@domain2.tld2, si la référence inverse (alias user2@domain2.tld2 destiné à user1@domain1.tld1) existe déjà.<br><strong> · </strong><u>Auto-références:</u> Vous ne pourrez pas non plus créer d\'auto-références , c-a-d un alias user1@".$f_domaine." destiné à user1@".$f_domaine."";
| |
| 195 | 196 |
} |
| 196 | 197 |
else {
|
| 197 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias gnriques:</u> Si vous tes responsable de domain1.tld1 ET de domain2.tld2, vous pouvez crer des alias gnriques du type @domain1.tld1 avec pour destination [user]@domain2.tld2 qui redirigeront tous les emails de @domain1.tld1 vers [user]@domain2.tld2.<br><strong> · </strong><u>Rfrences circulaires:</u> Vous ne pourrez pas crer de rfrences circulaires c-a-d un alias [user1]@domain1.tld1 destin [user2]@domain2.tld2, si la rfrence inverse (alias [user2]@domain2.tld2 destin [user1]@domain1.tld1) existe dj.<br><strong> · </strong><u>Auto-rfrences:</u> Vous ne pourrez pas non plus crer d\'auto-rfrences , c-a-d un alias [user1]@domain1.tld1 destin [user1]@domain1.tld1"; | |
| 198 |
$info_alias_dest_gen = "<strong> · </strong><u>Alias génériques:</u> Si vous êtes responsable de domain1.tld1 ET de domain2.tld2, vous pouvez créer des alias génériques du type @domain1.tld1 avec pour destination [user]@domain2.tld2 qui redirigeront tous les emails de @domain1.tld1 vers [user]@domain2.tld2.<br><strong> · </strong><u>Références circulaires:</u> Vous ne pourrez pas créer de références circulaires c-a-d un alias [user1]@domain1.tld1 destiné à [user2]@domain2.tld2, si la référence inverse (alias [user2]@domain2.tld2 destiné à [user1]@domain1.tld1) existe déjà.<br><strong> · </strong><u>Auto-références:</u> Vous ne pourrez pas non plus créer d\'auto-références , c-a-d un alias [user1]@domain1.tld1 destiné à [user1]@domain1.tld1";
| |
| 198 | 199 |
} |
| 199 | 200 | |
| 200 | 201 |
// Affichage du champ domaine, si il est active |
| 215 | 215 |
} |
| 216 | 216 |
|
| 217 | 217 | |
| 218 |
// Caractres autoriss pour le user | |
| 218 |
// Caractères autorisés pour le user
| |
| 219 | 219 |
$car_auth_user = ""; |
| 220 | 220 |
$car_auth_user = car_auth_user(); |
| 221 | 221 |
|
| 222 |
// Caractres autoriss pour le domaine | |
| 222 |
// Caractères autorisés pour le domaine
| |
| 223 | 223 |
$car_auth_domain = ""; |
| 224 | 224 |
$car_auth_domain = car_auth_domain(); |
| 225 | 225 | |
| 226 |
// Caractres autoriss pour le tld | |
| 226 |
// Caractères autorisés pour le tld
| |
| 227 | 227 |
$car_auth_tld = ""; |
| 228 | 228 |
$car_auth_tld = car_auth_tld(); |
| 229 | 229 |
|
| 230 |
// On verifie si l'alias en Get n'a pas t chang pour un inexistant | |
| 230 |
// On verifie si l'alias en Get n'a pas été changé pour un inexistant
| |
| 231 | 231 |
/* |
| 232 | 232 |
$verif_alias = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 233 | 233 |
$sel = $conf_champ_alias; |
| 244 | 244 | |
| 245 | 245 |
$modif_autorise = true; |
| 246 | 246 | |
| 247 |
// Prtraitement des adresses emails alias et destination (suppr des espaces et accents) | |
| 247 |
// Prétraitement des adresses emails alias et destination (suppr des espaces et accents)
| |
| 248 | 248 | |
| 249 | 249 |
$f_alias_modif = $_POST["f_alias_modif"]; |
| 250 | 250 |
$f_dest_modif = $_POST["f_dest_modif"]; |
| 270 | 270 |
$modif_autorise = false; |
| 271 | 271 |
} |
| 272 | 272 |
|
| 273 |
// vrification des adresses emails alias et destination | |
| 273 |
// vérification des adresses emails alias et destination
| |
| 274 | 274 |
$alias_validite = false; |
| 275 | 275 |
$alias_validite = alias_valide($f_alias_modif."@".$f_domaine); |
| 276 | 276 |
if (!$alias_validite) {
|
| 287 | 287 |
$modif_autorise = false; |
| 288 | 288 |
} |
| 289 | 289 | |
| 290 |
// si login a le droit de crer des adresses gnriques | |
| 291 |
// on empche la cration d'adresse gnrique du type user@domain1.tld1 > @domain2.tld2 | |
| 292 |
// seul @domain1.tld1 > @domain2.tld2 et @domain1.tld1 > user@domain2.tld2 sont authoriss | |
| 290 |
// si login a le droit de créer des adresses génériques
| |
| 291 |
// on empêche la création d'adresse générique du type user@domain1.tld1 > @domain2.tld2 | |
| 292 |
// seul @domain1.tld1 > @domain2.tld2 et @domain1.tld1 > user@domain2.tld2 sont authorisés | |
| 293 | 293 |
if ($client_auth_gen and substr($f_alias_modif, 0, 1) != "" and substr($f_dest_modif, 0, 1) == "@") {
|
| 294 | 294 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 295 |
$affmess .= exclamation()."Vous ne pouvez pas crer d'adresse gnrqiue du type ".$f_alias_modif."@".$f_domaine." > ".$f_dest_modif." Effectuez la correction, s.v.p."; | |
| 295 |
$affmess .= exclamation()."Vous ne pouvez pas créer d'adresse générqiue du type ".$f_alias_modif."@".$f_domaine." > ".$f_dest_modif." Effectuez la correction, s.v.p.";
| |
| 296 | 296 |
$modif_autorise = false; |
| 297 | 297 |
} |
| 298 | 298 | |
| 299 | 299 |
if ($f_dest_modif == "") {
|
| 300 | 300 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 301 |
$affmess .= exclamation()."Le champ destination ne peut tre vide! Aucune modifiation effectue."; | |
| 301 |
$affmess .= exclamation()."Le champ destination ne peut être vide! Aucune modifiation effectuée.";
| |
| 302 | 302 |
$modif_autorise = false; |
| 303 | 303 |
} |
| 304 | 304 | |
| 305 | 305 | |
| 306 |
// On vrifie qu'on ne cre pas une auto rfrence du type @machin.be > @machin.be ou truc@machin.be > truc@machin.be | |
| 306 |
// On vérifie qu'on ne crée pas une auto référence du type @machin.be > @machin.be ou truc@machin.be > truc@machin.be
| |
| 307 | 307 |
$f_dest_modif_array = array(); $auto_ref = false; |
| 308 | 308 |
$f_dest_modif_array = explode(",", $f_dest_modif);
|
| 309 | 309 |
foreach ($f_dest_modif_array as $val) {
|
| 312 | 312 | |
| 313 | 313 |
if ($auto_ref) {
|
| 314 | 314 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 315 |
$affmess .= exclamation()."Vous ne pouvez pas crer d'auto-rfrence : ".$f_alias_modif."@".$f_domaine." > ".$f_dest_modif." Effectuez la correction, s.v.p. - ".$f_dest_modif." ++ ".$f_alias_modif."@".$f_domaine; | |
| 315 |
$affmess .= exclamation()."Vous ne pouvez pas créer d'auto-référence : ".$f_alias_modif."@".$f_domaine." > ".$f_dest_modif." Effectuez la correction, s.v.p. - ".$f_dest_modif." ++ ".$f_alias_modif."@".$f_domaine;
| |
| 316 | 316 |
$modif_autorise = false; |
| 317 | 317 |
} // if ($auto_ref) |
| 318 | 318 |
|
| 319 |
// On vrifie qu'on ne cre pas une rfrence circulaire du type @machin.be > @machin.org et @machin.org > @machin.be | |
| 319 |
// On vérifie qu'on ne crée pas une référence circulaire du type @machin.be > @machin.org et @machin.org > @machin.be
| |
| 320 | 320 |
$circ_ref_dest_array = array(); $circ_ref = false; $circ_ref_chaine1 = ""; $circ_ref_chaine2 = ""; |
| 321 | 321 |
$circ_ref_dest_array = explode(",", $f_dest_modif);
|
| 322 | 322 |
foreach($circ_ref_dest_array as $val) {
|
| 337 | 337 |
|
| 338 | 338 |
if ($circ_ref) {
|
| 339 | 339 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 340 |
$affmess .= exclamation()."Vous ne pouvez pas crer de rfrence circulaire : ".$circ_ref_chaine1." car ".$circ_ref_chaine2." existe dj. Effectuez la correction, s.v.p."; | |
| 340 |
$affmess .= exclamation()."Vous ne pouvez pas créer de référence circulaire : ".$circ_ref_chaine1." car ".$circ_ref_chaine2." existe déjà. Effectuez la correction, s.v.p.";
| |
| 341 | 341 |
$modif_autorise = false; |
| 342 | 342 |
} // if ($circ_ref) |
| 343 | 343 | |
| 344 | 344 | |
| 345 |
// On vrifie les doublons | |
| 345 |
// On vérifie les doublons
| |
| 346 | 346 |
$doublons_chaine = $f_alias_modif."@".$f_domaine; |
| 347 | 347 |
$verif_doublons = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 348 | 348 |
$sel = $conf_champ_alias.", ".$conf_champ_destination; |
| 353 | 353 | |
| 354 | 354 |
if ($verif_doublons->RS_ligne["0"][$conf_champ_alias] == $doublons_chaine AND $previous_alias != $doublons_chaine) {
|
| 355 | 355 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 356 |
$affmess .= exclamation()."L'alias ".$doublons_chaine." vers ".$verif_doublons->RS_ligne["0"][$conf_champ_destination]." existe dj. Effectuez la correction, s.v.p."; | |
| 356 |
$affmess .= exclamation()."L'alias ".$doublons_chaine." vers ".$verif_doublons->RS_ligne["0"][$conf_champ_destination]." existe déjà. Effectuez la correction, s.v.p.";
| |
| 357 | 357 |
$modif_autorise = false; |
| 358 | 358 |
} |
| 359 | 359 | |
| 360 |
// Enregistrement modifi? | |
| 360 |
// Enregistrement modifié?
| |
| 361 | 361 |
$on_a_modifie = ($previous_alias != $f_alias_modif."@".$f_domaine or $previous_dest != $f_dest_modif or (isset($conf_al_champ_active) and $previous_alias_active != $active_checked)); |
| 362 | 362 |
if (!$on_a_modifie) {
|
| 363 | 363 |
$affmess .= $traduction["VOUSNAVEZRIENMODIFIE"]; |
| 377 | 377 |
$f_alias = $f_alias_modif."@".$f_domaine; |
| 378 | 378 |
$f_dest = $f_dest_modif; |
| 379 | 379 | |
| 380 |
$affmess = $f_alias_modif."@".$f_domaine." a t modifi."; | |
| 380 |
$affmess = $f_alias_modif."@".$f_domaine." a été modifié.";
| |
| 381 | 381 | |
| 382 |
// si alias generique, on met le nombre max de mailbox pour ce domaine 0 | |
| 382 |
// si alias generique, on met le nombre max de mailbox pour ce domaine à 0
| |
| 383 | 383 |
if ($f_alias_modif == "") {
|
| 384 | 384 |
$mod_max_nb_mailbox = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 385 | 385 |
$col_val = "`".$conf_champ_nb_box_defaut."`= 0"; |
| 386 | 386 |
$whe = $conf_champ_domaine." = '".$f_domaine."'"; |
| 387 | 387 |
//echo "UPDATE ".$conf_table_transport." SET ".$col_val." WHERE ".$whe; |
| 388 | 388 |
$mod_max_nb_mailbox->RS_update($conf_table_transport, $col_val, $whe); |
| 389 |
$affmess .= " Le nombre maximum de boites aux lettres pour @".$f_domaine." a t mis 0."; | |
| 389 |
$affmess .= " Le nombre maximum de boites aux lettres pour @".$f_domaine." a été mis à 0.";
| |
| 390 | 390 |
} |
| 391 | 391 |
|
| 392 | 392 |
//log |
| 414 | 414 |
|
| 415 | 415 |
} // if (isset($_POST["f_alias_modif_submit"])) |
| 416 | 416 |
|
| 417 |
// Rcupration des champs alias et destination | |
| 417 |
// Récupération des champs alias et destination
| |
| 418 | 418 |
/* |
| 419 | 419 |
$dest_alias = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 420 | 420 |
$sel = $conf_champ_alias.", ".$conf_champ_destination; |
| 437 | 437 |
// formulaire |
| 438 | 438 |
$template->replace_var("t_script_name", $conf_script_name);
|
| 439 | 439 | |
| 440 |
// Affichage caractres autoriss | |
| 440 |
// Affichage caractères autorisés
| |
| 441 | 441 |
$template->replace_var("t_car_auth_user", $car_auth_user);
|
| 442 | 442 |
$template->replace_var("t_car_auth_domain", $car_auth_domain);
|
| 443 | 443 |
$template->replace_var("t_car_auth_tld", $car_auth_tld);
|
| 446 | 446 |
// mais a un rechargement |
| 447 | 447 |
$template->replace_var("t_f_premiere_fois", $premiere_fois);
|
| 448 | 448 |
|
| 449 |
// Affichage alias, partie modifiable de l'alias, destination. Sauvetage du domaine slectionn dans POST['f_domaine'] | |
| 449 |
// Affichage alias, partie modifiable de l'alias, destination. Sauvetage du domaine sélectionné dans POST['f_domaine']
| |
| 450 | 450 |
$template_tete->replace_var("t_f_domaine", $f_domaine);
|
| 451 | 451 |
$template->replace_var("t_f_domaine", $f_domaine);
|
| 452 | 452 |
$template->replace_var("t_f_alias", $f_alias);
|
| 460 | 460 |
$template->replace_var("t_champ_domaine", $champ_domaine);
|
| 461 | 461 |
$template->replace_var("t_champ_active", $champ_active);
|
| 462 | 462 | |
| 463 |
// Affichage de l'info alias / destination gnrique | |
| 463 |
// Affichage de l'info alias / destination générique
| |
| 464 | 464 |
$template->replace_var("t_info_alias_dest_gen", $info_alias_dest_gen);
|
| 465 | 465 | |
| 466 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 466 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 467 | 467 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 468 | 468 |
if (!isset($affmess)) {$affmess = "";}
|
| 469 | 469 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 493 | 493 |
$mtime = explode(" ",microtime());
|
| 494 | 494 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 495 | 495 |
print "\n"; |
| 496 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 496 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 497 | 497 |
} |
| 498 | 498 | |
| 499 | 499 | |
| 500 | 500 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
|
| 54 | 54 |
require "../utiles/secure-session.inc.php"; |
| 57 | 57 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 58 | 58 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 59 | 59 |
|
| 60 |
// Accs ok pour niveaux 2 | |
| 60 |
// Accès ok pour niveaux 2
| |
| 61 | 61 |
niveau_ok(2,2); |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 70 | 69 |
function stripslashes_deep($value) |
| 71 | 70 |
{
|
| 85 | 85 |
|
| 86 | 86 | |
| 87 | 87 |
/**************************/ |
| 88 |
/* Cre les objets TemTab */ | |
| 88 |
/* Crée les objets TemTab */
| |
| 89 | 89 |
/**************************/ |
| 90 | 90 |
|
| 91 | 91 |
// top |
| 110 | 110 |
/* Traitement du script */ |
| 111 | 111 |
/************************/ |
| 112 | 112 | |
| 113 |
// Caractres autoriss pour le login et l'email'(voir function login_propre dans /utiles/fonctions.inc.php) | |
| 114 |
// L'espace (non autoris) est supprim dans ce script | |
| 113 |
// Caractères autorisés pour le login et l'email'(voir function login_propre dans /utiles/fonctions.inc.php)
| |
| 114 |
// L'espace (non autorisé) est supprimé dans ce script | |
| 115 | 115 |
|
| 116 |
// Caractres autoriss pour le user | |
| 116 |
// Caractères autorisés pour le user
| |
| 117 | 117 |
$car_auth_user = ""; |
| 118 | 118 |
$car_auth_user = car_auth_user(); |
| 119 | 119 |
|
| 120 |
// Caractres autoriss pour le domaine | |
| 120 |
// Caractères autorisés pour le domaine
| |
| 121 | 121 |
$car_auth_domain = ""; |
| 122 | 122 |
$car_auth_domain = car_auth_domain(); |
| 123 | 123 | |
| 124 |
// Caractres autoriss pour le tld | |
| 124 |
// Caractères autorisés pour le tld
| |
| 125 | 125 |
$car_auth_tld = ""; |
| 126 | 126 |
$car_auth_tld = car_auth_tld(); |
| 127 | 127 | |
| 128 | 128 |
|
| 129 |
// rcupration du login et des pass en clair | |
| 129 |
// récupération du login et des pass en clair
| |
| 130 | 130 |
$f_login = "";$f_pass_modif = "";$f_pass1_modif = ""; |
| 131 | 131 |
$f_login = $_SESSION["S_login"]; |
| 132 | 132 |
if (isset($_POST["f_pass_modif"])) {$f_pass_modif = $_POST["f_pass_modif"];}
|
| 133 | 133 |
if (isset($_POST["f_pass1_modif"])) {$f_pass1_modif = $_POST["f_pass1_modif"];}
|
| 134 | 134 | |
| 135 | 135 |
// proteger le mode demo |
| 136 |
if ($conf_demo and $f_login == "admin") {header("Location: liste-".$conf_page_apres_login.".php?mess=".urlencode("En mode demo, vous ne pouvez pas modifier le login admin, afin de prserver le bon droulement de la demo et des tests.")); exit();}
| |
| 136 |
if ($conf_demo and $f_login == "admin") {header("Location: liste-".$conf_page_apres_login.".php?mess=".urlencode("En mode demo, vous ne pouvez pas modifier le login admin, afin de préserver le bon déroulement de la demo et des tests.")); exit();}
| |
| 137 | 137 |
|
| 138 | 138 |
|
| 139 |
// On verifie si le login en Seesion n'a pas t chang pour un inexistant et on rcupre l'email original de contact lu dans la base' | |
| 139 |
// On verifie si le login en Seesion n'a pas été changé pour un inexistant et on récupère l'email original de contact lu dans la base'
| |
| 140 | 140 |
$verif_login = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 141 | 141 |
$sel = $conf_champ_login.",".$conf_champ_contact; |
| 142 | 142 |
$from = $conf_table_login; |
| 156 | 156 |
$f_pass1_modif = $_POST["f_pass1_modif"]; |
| 157 | 157 |
|
| 158 | 158 |
$modifie = false; |
| 159 |
$affmess = exclamation()."Rien modifier."; | |
| 159 |
$affmess = exclamation()."Rien à modifier.";
| |
| 160 | 160 |
|
| 161 |
// $modifie = true si on a vraiment modifi quelque chose | |
| 161 |
// $modifie = true si on a vraiment modifié quelque chose
| |
| 162 | 162 |
$modifie = ($f_pass_modif != "" or $verif_login->RS_ligne["0"][$conf_champ_contact] != $f_contact_modif); |
| 163 | 163 |
|
| 164 |
// on vrifie d'autres contraintes | |
| 164 |
// on vérifie d'autres contraintes
| |
| 165 | 165 |
if ($f_pass_modif != $f_pass1_modif) {
|
| 166 |
$affmess = exclamation()."Les mots de passe sont diffrents !"; | |
| 166 |
$affmess = exclamation()."Les mots de passe sont différents !";
| |
| 167 | 167 |
$modifie = false; |
| 168 | 168 |
} |
| 169 | 169 |
|
| 170 |
// Prtraitement de l'email de contact (suppr des espaces et accents) | |
| 170 |
// Prétraitement de l'email de contact (suppr des espaces et accents)
| |
| 171 | 171 |
if ($f_contact_modif <> "") {
|
| 172 | 172 |
$retire = array(" ", "\"", "'", "\n", "\r", "\t");
|
| 173 | 173 |
$f_contact_modif = str_replace($retire, "", $_POST["f_contact_modif"]); |
| 176 | 176 |
|
| 177 | 177 |
// l'adresse de contact est obligatoire |
| 178 | 178 |
if ($f_contact_modif == "") {
|
| 179 |
$affmess = exclamation()."Le champ contact email ne peut tre vide! Aucune modifiation effectue."; | |
| 179 |
$affmess = exclamation()."Le champ contact email ne peut être vide! Aucune modifiation effectuée.";
| |
| 180 | 180 |
$modifie=false; |
| 181 | 181 |
} |
| 182 | 182 | |
| 183 |
// et vrification de validit | |
| 183 |
// et vérification de validité
| |
| 184 | 184 |
if (!email_valide($f_contact_modif) and $f_contact_modif <> "") {
|
| 185 | 185 |
$affmess = exclamation()."L'adresse email de contact n'est pas valide !"; |
| 186 | 186 |
$modifie=false; |
| 188 | 188 |
|
| 189 | 189 |
|
| 190 | 190 |
if ($modifie) {
|
| 191 |
$affmess = "Enregistrement modifi"; | |
| 191 |
$affmess = "Enregistrement modifié";
| |
| 192 | 192 | |
| 193 | 193 |
$mod_login = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 194 | 194 |
// on ne change pas le mot de passe s'il est vide |
| 237 | 237 |
$template->replace_var("t_f_pass_modif", $f_pass_modif);
|
| 238 | 238 |
$template->replace_var("t_f_pass1_modif", $f_pass1_modif);
|
| 239 | 239 | |
| 240 |
// Affichage caractres autoriss (login et email) | |
| 240 |
// Affichage caractères autorisés (login et email)
| |
| 241 | 241 |
$template->replace_var("t_car_auth_user", $car_auth_user);
|
| 242 | 242 |
$template->replace_var("t_car_auth_domain", $car_auth_domain);
|
| 243 | 243 |
$template->replace_var("t_car_auth_tld", $car_auth_tld);
|
| 244 | 244 |
|
| 245 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 245 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 246 | 246 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 247 | 247 |
if (!isset($affmess)) {$affmess = "";}
|
| 248 | 248 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 272 | 272 |
$mtime = explode(" ",microtime());
|
| 273 | 273 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 274 | 274 |
print "\n"; |
| 275 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 275 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 276 | 276 |
} |
| 277 | 277 | |
| 278 | 278 | |
| 279 | 279 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
|
| 54 | 54 |
require "../utiles/secure-session.inc.php"; |
| 57 | 57 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 58 | 58 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 59 | 59 |
|
| 60 |
// Accs ok pour niveaux 1 | |
| 60 |
// Accès ok pour niveaux 1
| |
| 61 | 61 |
niveau_ok(1,1); |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 70 | 69 |
function stripslashes_deep($value) |
| 71 | 70 |
{
|
| 83 | 83 |
} |
| 84 | 84 | |
| 85 | 85 |
/**************************/ |
| 86 |
/* Cre les objets TemTab */ | |
| 86 |
/* Crée les objets TemTab */
| |
| 87 | 87 |
/**************************/ |
| 88 | 88 |
|
| 89 | 89 |
// top |
| 120 | 120 |
$from = $conf_table_login; |
| 121 | 121 |
$liste_login->RS_select($sel, $from, "", $conf_champ_login); |
| 122 | 122 |
mysql_free_result($liste_login->RS_res); |
| 123 |
$f_base_login = "Login => domaines grs<br><span class=\"note\">(".$liste_login->RS_nb_ligne." login trouv(s) dans dans la table <i>".$conf_table_login."</i> de la base de donnes <i>".$conf_base_login."</i>. All = tous les domaines [super admin] )</span>";
| |
| 123 |
$f_base_login = "Login => domaines gérés<br><span class=\"note\">(".$liste_login->RS_nb_ligne." login trouvé(s) dans dans la table <i>".$conf_table_login."</i> de la base de données <i>".$conf_base_login."</i>. All = tous les domaines [super admin] )</span>";
| |
| 124 | 124 |
|
| 125 | 125 |
$liste_dom = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 126 | 126 |
$sel = $conf_champ_domaine.",".$conf_champ_transport; |
| 134 | 134 |
else {$aff_label_max_mb = "";}
|
| 135 | 135 |
if (isset($conf_champ_nb_alias_defaut)) {$aff_label_max_al = " (Nb max. alias)";}
|
| 136 | 136 |
else {$aff_label_max_al = "";}
|
| 137 |
$f_base_domaines = "Domaines".$aff_label_max_mb.$aff_label_max_al." [<i>transport</i>]<br><span class=\"note\">(".$liste_dom->RS_nb_ligne." domaine(s) trouv(s) dans la table <i>".$conf_table_transport."</i> de la base de donnes <i>".$conf_base_mail."</i>.</span>";
| |
| 137 |
$f_base_domaines = "Domaines".$aff_label_max_mb.$aff_label_max_al." [<i>transport</i>]<br><span class=\"note\">(".$liste_dom->RS_nb_ligne." domaine(s) trouvé(s) dans la table <i>".$conf_table_transport."</i> de la base de données <i>".$conf_base_mail."</i>.</span>";
| |
| 138 | 138 | |
| 139 | 139 |
} // if ($_SESSION["S_niveau"] == 1) |
| 140 | 140 |
|
| 166 | 166 |
$template->replace_var("t_login", $f_login);
|
| 167 | 167 | |
| 168 | 168 | |
| 169 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 169 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 170 | 170 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 171 | 171 |
if (!isset($affmess)) {$affmess = "";}
|
| 172 | 172 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 196 | 196 |
$mtime = explode(" ",microtime());
|
| 197 | 197 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 198 | 198 |
print "\n"; |
| 199 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 199 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 200 | 200 |
} |
| 201 | 201 | |
| 202 | 202 | |
| 203 | 203 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
|
| 54 | 54 |
require "../utiles/secure-session.inc.php"; |
| 57 | 57 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 58 | 58 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 59 | 59 |
|
| 60 |
// Accs ok pour niveaux 1 | |
| 60 |
// Accès ok pour niveaux 1
| |
| 61 | 61 |
niveau_ok(1,1); |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 70 | 69 |
function stripslashes_deep($value) |
| 71 | 70 |
{
|
| 83 | 83 |
} |
| 84 | 84 | |
| 85 | 85 |
// proteger le mode demo de la lecture d'un eventuel fichier en production |
| 86 |
if ($conf_demo and !file_exists("../utiles/logdemo.unlock")) {header("Location: statistiques-admin.php?mess=".urlencode("Cette fonctionnalit est dsactive en mode demo")); exit();}
| |
| 86 |
if ($conf_demo and !file_exists("../utiles/logdemo.unlock")) {header("Location: statistiques-admin.php?mess=".urlencode("Cette fonctionnalité est désactivée en mode demo")); exit();}
| |
| 87 | 87 | |
| 88 | 88 |
/**************************/ |
| 89 |
/* Cre les objets TemTab */ | |
| 89 |
/* Crée les objets TemTab */
| |
| 90 | 90 |
/**************************/ |
| 91 | 91 |
|
| 92 | 92 |
// top |
| 140 | 140 |
} // if file_exists($file_log) |
| 141 | 141 |
|
| 142 | 142 |
} // if ($conf_log) |
| 143 |
else {array_push($log_array, "Les logs ne sont pas activs");}
| |
| 143 |
else {array_push($log_array, "Les logs ne sont pas activés");}
| |
| 144 | 144 | |
| 145 | 145 |
/***********************************/ |
| 146 | 146 |
/* traitement des variables TemTab */ |
| 163 | 163 |
$template->replace_var("t_login", $f_login);
|
| 164 | 164 | |
| 165 | 165 | |
| 166 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 166 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 167 | 167 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 168 | 168 |
if (!isset($affmess)) {$affmess = "";}
|
| 169 | 169 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 193 | 193 |
$mtime = explode(" ",microtime());
|
| 194 | 194 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 195 | 195 |
print "\n"; |
| 196 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 196 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 197 | 197 |
} |
| 198 | 198 | |
| 199 | 199 | |
| 200 | 200 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
|
| 54 | 54 |
require "../utiles/secure-session.inc.php"; |
| 57 | 57 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 58 | 58 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 59 | 59 |
|
| 60 |
// Accs ok pour niveaux 1 | |
| 60 |
// Accès ok pour niveaux 1
| |
| 61 | 61 |
niveau_ok(1,1); |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 70 | 69 |
function stripslashes_deep($value) |
| 71 | 70 |
{
|
| 83 | 83 |
} |
| 84 | 84 | |
| 85 | 85 |
/**************************/ |
| 86 |
/* Cre les objets TemTab */ | |
| 86 |
/* Crée les objets TemTab */
| |
| 87 | 87 |
/**************************/ |
| 88 | 88 |
|
| 89 | 89 |
// top |
| 116 | 116 |
/*****************/ |
| 117 | 117 |
/* Mailbox start */ |
| 118 | 118 |
/*****************/ |
| 119 |
// construction de la clause where en fonction des domaines autoriss par le login | |
| 119 |
// construction de la clause where en fonction des domaines autorisés par le login
| |
| 120 | 120 |
$whe_dom = ""; |
| 121 | 121 |
$whe_dom = $conf_mb_email[0]." like \"%".$domaines; |
| 122 | 122 |
$whe_dom = str_replace(",", "\" or ".$conf_mb_email[0]." like \"%", $whe_dom);
|
| 124 | 124 |
|
| 125 | 125 |
// Recherche des domaines ayant une mailbox |
| 126 | 126 |
$dom_login_mb = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 127 |
// Pas mal, le select et le group by, l ;-) | |
| 127 |
// Pas mal, le select et le group by, là ;-)
| |
| 128 | 128 |
$sel = "SUBSTRING(".$conf_mb_email[0].", LOCATE('@', ".$conf_mb_email[0].") + 1, LENGTH(".$conf_mb_email[0].")) as nom_domaine, count( SUBSTRING(".$conf_mb_email[0].", LOCATE('@', ".$conf_mb_email[0].") + 1, LENGTH(".$conf_mb_email[0]."))) as nb_domaine";
|
| 129 | 129 |
$from = $conf_table_mailbox; |
| 130 | 130 |
$group = "SUBSTRING(".$conf_mb_email[0].", LOCATE('@', ".$conf_mb_email[0].") + 1, LENGTH(".$conf_mb_email[0]."))";
|
| 134 | 134 | |
| 135 | 135 |
// Ajout des domaines n'ayant pas de mailbox, puis tri |
| 136 | 136 |
$domaine_array_mb = array();$dom_array_mb_compare = array();$dom_array_mb_all = array(); |
| 137 |
// ddoublonner le tableau de la requete + preparer un tableau simple de comparaison | |
| 137 |
// dédoublonner le tableau de la requete + preparer un tableau simple de comparaison
| |
| 138 | 138 |
foreach($dom_login_mb->RS_ligne as $val) {
|
| 139 | 139 |
array_push($domaine_array_mb, array_unique($val)); |
| 140 | 140 |
array_push($dom_array_mb_compare, $val["0"]); |
| 141 | 141 |
} |
| 142 | 142 | |
| 143 |
// Tableau simple de tous les domaines autoris | |
| 143 |
// Tableau simple de tous les domaines autorisé
| |
| 144 | 144 |
$dom_array_mb_all = explode(",", $domaines);
|
| 145 | 145 | |
| 146 | 146 |
// ajout des domaines n'ayant pas de mailbox a ceux qui en ont |
| 180 | 180 |
$template->replace_var("t_login", $f_login);
|
| 181 | 181 | |
| 182 | 182 | |
| 183 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 183 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 184 | 184 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 185 | 185 |
if (!isset($affmess)) {$affmess = "";}
|
| 186 | 186 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 210 | 210 |
$mtime = explode(" ",microtime());
|
| 211 | 211 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 212 | 212 |
print "\n"; |
| 213 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 213 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 214 | 214 |
} |
| 215 | 215 | |
| 216 | 216 | |
| 217 | 217 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
|
| 54 | 54 |
require "../utiles/secure-session.inc.php"; |
| 57 | 57 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 58 | 58 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 59 | 59 |
|
| 60 |
// Accs ok pour niveaux 1 | |
| 60 |
// Accès ok pour niveaux 1
| |
| 61 | 61 |
niveau_ok(1,1); |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 70 | 69 |
function stripslashes_deep($value) |
| 71 | 70 |
{
|
| 89 | 89 |
/* Traitement du script */ |
| 90 | 90 |
/************************/ |
| 91 | 91 | |
| 92 |
// rcupration de l'alias, de la destination et du domaine | |
| 92 |
// récupération de l'alias, de la destination et du domaine
| |
| 93 | 93 |
$f_login = ""; $f_domaine = ""; |
| 94 | 94 |
if (isset($_POST["f_login"])) {$f_login = $_POST["f_login"];}
|
| 95 | 95 |
if (isset($_POST["f_domaine"])) {$f_domaine = $_POST["f_domaine"];}
|
| 96 | 96 | |
| 97 | 97 |
// proteger le mode demo |
| 98 |
if ($conf_demo and ($f_login == "admin" or $f_login == "admin1" or $f_login == "supadmin")) {header("Location: liste-admin-login.php?mess=".urlencode("En mode demo, le superadmin ne peut pas supprimer les login supadmin, ni admin, ni admin1, afin de prserver le bon droulement de la demo et des tests.")); exit();}
| |
| 98 |
if ($conf_demo and ($f_login == "admin" or $f_login == "admin1" or $f_login == "supadmin")) {header("Location: liste-admin-login.php?mess=".urlencode("En mode demo, le superadmin ne peut pas supprimer les login supadmin, ni admin, ni admin1, afin de préserver le bon déroulement de la demo et des tests.")); exit();}
| |
| 99 | 99 |
|
| 100 | 100 |
// on compte le nombre de super admin restant (en vue de ne pas supprimer le dernier! ) |
| 101 |
// (et s'il n'en reste qu'un, ce sera celui-l! ;-) | |
| 101 |
// (et s'il n'en reste qu'un, ce sera celui-là! ;-)
| |
| 102 | 102 |
$compte_admin = new ReqSql($hl_, $ul_, $pl_, $nl_); |
| 103 | 103 |
$sel = $conf_champ_domaines; |
| 104 | 104 |
$from = $conf_table_login; |
| 106 | 106 |
$compte_admin->RS_select($sel, $from, $whe); |
| 107 | 107 |
mysql_free_result($compte_admin->RS_res); |
| 108 | 108 |
if ($compte_admin->RS_nb_ligne < 2 and $f_domaine == "all") {
|
| 109 |
die(exclamation()."<br>Vous ne pouvez pas supprimer le dernier super administrateur !<hr><a href='javascript:history.back();'>Retour la page prcdente</a>"); | |
| 109 |
die(exclamation()."<br>Vous ne pouvez pas supprimer le dernier super administrateur !<hr><a href='javascript:history.back();'>Retour à la page précédente</a>");
| |
| 110 | 110 |
} |
| 111 | 111 | |
| 112 | 112 |
// Not reload whithout parameters ! |
| 113 |
if ($f_login == "") {header("Location: liste-admin-login.php?mess=".urlencode("La page suppression n'est pas accessible sans paramtres adquats !")); exit(); }
| |
| 113 |
if ($f_login == "") {header("Location: liste-admin-login.php?mess=".urlencode("La page suppression n'est pas accessible sans paramètres adéquats !")); exit(); }
| |
| 114 | 114 | |
| 115 | 115 |
// bouton supprimer |
| 116 | 116 |
if (isset($_POST["f_login_delete_submit"])) {
|
| 123 | 123 |
// log |
| 124 | 124 |
if ($conf_log) {ajout_to_log("USER ".addslashes(secure_get(strip_tags($f_login)))." DELETED");}
|
| 125 | 125 |
|
| 126 |
header("Location: liste-admin-login.php?mess=".urlencode("Le login ".$f_login." a t supprim."));
| |
| 126 |
header("Location: liste-admin-login.php?mess=".urlencode("Le login ".$f_login." a été supprimé."));
| |
| 127 | 127 |
exit(); |
| 128 | 128 |
|
| 129 | 129 |
} // if (isset($_POST["f_login_supprime_submit"])) |
| 130 | 130 | |
| 131 | 131 | |
| 132 | 132 |
/**************************/ |
| 133 |
/* Cre les objets TemTab */ | |
| 133 |
/* Crée les objets TemTab */
| |
| 134 | 134 |
/**************************/ |
| 135 | 135 |
|
| 136 | 136 |
// top |
| 168 | 168 |
$template->replace_var("t_f_login", $f_login);
|
| 169 | 169 |
|
| 170 | 170 | |
| 171 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 171 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 172 | 172 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 173 | 173 |
if (!isset($affmess)) {$affmess = "";}
|
| 174 | 174 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 198 | 198 |
$mtime = explode(" ",microtime());
|
| 199 | 199 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 200 | 200 |
print "\n"; |
| 201 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 201 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 202 | 202 |
} |
| 203 | 203 | |
| 204 | 204 | |
| 205 | 205 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
|
| 54 | 54 |
require "../utiles/secure-session.inc.php"; |
| 57 | 57 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 58 | 58 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 59 | 59 |
|
| 60 |
// Accs ok pour niveaux 1 2 | |
| 60 |
// Accès ok pour niveaux 1 à 2
| |
| 61 | 61 |
niveau_ok(1,2); |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 70 | 69 |
function stripslashes_deep($value) |
| 71 | 70 |
{
|
| 89 | 89 |
/* Traitement du script */ |
| 90 | 90 |
/************************/ |
| 91 | 91 | |
| 92 |
// rcupration de l'alias, de la destination et du domaine | |
| 92 |
// récupération de l'alias, de la destination et du domaine
| |
| 93 | 93 |
$f_alias = ""; $f_domaine = "";$f_dest_modif = ""; |
| 94 | 94 |
if (isset($_POST["f_alias_modif"])) {$f_alias_modif = $_POST["f_alias_modif"];}
|
| 95 | 95 |
if (isset($_POST["f_domaine"])) {$f_domaine = $_POST["f_domaine"];}
|
| 96 | 96 |
$f_alias = $f_alias_modif."@".$f_domaine; |
| 97 | 97 |
if (isset($_POST["f_dest"])) {$f_dest = $_POST["f_dest"];}
|
| 98 | 98 | |
| 99 |
// Vrifie si les domaines sont autoris pour ce login | |
| 99 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 100 | 100 |
verif_domaine($f_domaine); |
| 101 | 101 | |
| 102 | 102 |
// Not reload whithout parameters ! (obsolete) |
| 140 | 140 | |
| 141 | 141 | |
| 142 | 142 |
/**************************/ |
| 143 |
/* Cre les objets TemTab */ | |
| 143 |
/* Crée les objets TemTab */
| |
| 144 | 144 |
/**************************/ |
| 145 | 145 |
|
| 146 | 146 |
// top |
| 178 | 178 |
$template->replace_var("t_f_dest", $f_dest);
|
| 179 | 179 |
|
| 180 | 180 | |
| 181 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 181 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 182 | 182 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 183 | 183 |
if (!isset($affmess)) {$affmess = "";}
|
| 184 | 184 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 208 | 208 |
$mtime = explode(" ",microtime());
|
| 209 | 209 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 210 | 210 |
print "\n"; |
| 211 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 211 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 212 | 212 |
} |
| 213 | 213 | |
| 214 | 214 | |
| 215 | 215 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 | 41 |
if ($conf_log) {ajout_to_log("LOGOUT");}
|
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 | |
| 48 | 48 |
require "../classes/class.ReqSql.php"; |
| 49 | 49 |
require "../utiles/config.inc.php"; |
| 50 | 50 |
require "../utiles/c.inc.php"; |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 51 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 52 | 52 |
require "../utiles/fonctions.inc.php"; |
| 53 | 53 |
require "../utiles/fonctions-mb-fichiers.inc.php"; |
| 54 | 54 |
|
| 58 | 58 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 59 | 59 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 60 | 60 |
|
| 61 |
// Accs ok pour niveaux 1 2 | |
| 61 |
// Accès ok pour niveaux 1 à 2
| |
| 62 | 62 |
niveau_ok(1,2); |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 67 | 67 |
$starttime = $mtime[1] + $mtime[0]; |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 71 | 70 |
function stripslashes_deep($value) |
| 72 | 71 |
{
|
| 90 | 90 |
/* Traitement du script */ |
| 91 | 91 |
/************************/ |
| 92 | 92 | |
| 93 |
// rcupration de la mailbox et du domaine | |
| 93 |
// récupération de la mailbox et du domaine
| |
| 94 | 94 |
$f_mailbox_supprime = ""; $f_domaine = ""; |
| 95 | 95 |
if (isset($_POST["f_domaine"])) {$f_domaine = $_POST["f_domaine"];}
|
| 96 | 96 |
if (isset($_POST["f_mailbox_supprime_user"])) {$f_mailbox_supprime_user = $_POST["f_mailbox_supprime_user"];}
|
| 97 | 97 |
$f_mailbox_supprime = $f_mailbox_supprime_user."@".$f_domaine; |
| 98 | 98 | |
| 99 |
// Vrifie si les domaines sont autoris pour ce login | |
| 99 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 100 | 100 |
verif_domaine($f_domaine); |
| 101 | 101 | |
| 102 | 102 |
// Not reload whithout parameters ! |
| 147 | 147 | |
| 148 | 148 | |
| 149 | 149 |
/**************************/ |
| 150 |
/* Cre les objets TemTab */ | |
| 150 |
/* Crée les objets TemTab */
| |
| 151 | 151 |
/**************************/ |
| 152 | 152 |
|
| 153 | 153 |
// top |
| 186 | 186 |
$template->replace_var("t_email_mailmaster", $email_mailmaster);
|
| 187 | 187 |
|
| 188 | 188 |
|
| 189 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 189 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 190 | 190 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 191 | 191 |
if (!isset($affmess)) {$affmess = "";}
|
| 192 | 192 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 216 | 216 |
$mtime = explode(" ",microtime());
|
| 217 | 217 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 218 | 218 |
print "\n"; |
| 219 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 219 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 220 | 220 |
} |
| 221 | 221 | |
| 222 | 222 | |
| 223 | 223 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vrification pour le login
+// Placement d'un cookie de vérification pour le login
// SETCOOKIE("CartableCookieEnabled", "test");
// Maintenant via config.inc.php
| |
| 24 | 23 | |
| 25 | 24 |
session_start(); |
| 26 | 25 | |
| 27 |
//Page accessible tous | |
| 26 |
//Page accessible à tous
| |
| 28 | 27 |
/* |
| 29 | 28 |
if (!isset($_SESSION['S_id_niveau']) or $_SESSION['S_id_niveau'] < 0 or $_SESSION['S_id_niveau'] > 4) |
| 38 | 38 |
//log |
| 39 | 39 |
require "../utiles/config.inc.php"; |
| 40 | 40 |
require "../utiles/fonctions.inc.php"; |
| 41 |
if ($conf_log_login) {alias_ajout_to_log("login", "dconnexion.");}
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit();
| |
| 41 |
if ($conf_log_login) {alias_ajout_to_log("login", "déconnexion.");}
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit();
| |
| 43 | 43 |
} |
| 44 | 44 | |
| 45 | 45 |
// Load TemTab class et messages.inc.php |
| 47 | 47 |
require "../classes/class.ReqSql.php"; |
| 48 | 48 |
require "../utiles/config.inc.php"; |
| 49 | 49 |
require "../utiles/c.inc.php"; |
| 50 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT aprs ../utiles/config.inc.php | |
| 50 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 51 | 51 |
require "../utiles/fonctions.inc.php"; |
| 52 | 52 |
|
| 53 | 53 |
require "../utiles/secure-session.inc.php"; |
| 56 | 56 |
if ($conf_lang_defaut != "") {$langue_fichier = $conf_lang_defaut."_";}
|
| 57 | 57 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 58 | 58 |
|
| 59 |
// Accs ok pour niveaux 1 2 | |
| 59 |
// Accès ok pour niveaux 1 à 2
| |
| 60 | 60 |
niveau_ok(1,2); |
| 61 | 61 | |
| 62 | 62 |
// compute starting time with microseconds precision |
| 65 | 65 |
$starttime = $mtime[1] + $mtime[0]; |
| 66 | 66 |
} |
| 67 | 67 |
|
| 68 |
// Soyons prudent et portable, dsactivons magic_quote pour ce script. merci nexen ;)
+// Soyons prudent et portable, désactivons magic_quote pour ce script. merci nexen ;)
if (get_magic_quotes_gpc()) {
| |
| 69 | 68 |
function stripslashes_deep($value) |
| 70 | 69 |
{
|
| 82 | 82 |
} |
| 83 | 83 | |
| 84 | 84 |
/**************************/ |
| 85 |
/* Cre les objets TemTab */ | |
| 85 |
/* Crée les objets TemTab */
| |
| 86 | 86 |
/**************************/ |
| 87 | 87 |
|
| 88 | 88 |
// top |
| 122 | 122 |
// Domaines |
| 123 | 123 |
$template_tete->replace_var("t_f_domaine", $f_domaine);
|
| 124 | 124 | |
| 125 |
// prpare un message ventuellement pass par GET (dconnexion, en l'occurence) | |
| 125 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 126 | 126 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 127 | 127 |
if (!isset($affmess)) {$affmess = "";}
|
| 128 | 128 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 152 | 152 |
$mtime = explode(" ",microtime());
|
| 153 | 153 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 154 | 154 |
print "\n"; |
| 155 |
print "<div><div class=\"pied\">Dure du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 155 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 156 | 156 |
} |
| 157 | 157 | |
| 158 | 158 | |
| 159 | 159 |
| Old | New | Code |
|---|---|---|
| 11 | 11 | |
| 12 | 12 |
$conf_lang_nom_cookie = "bechamail_langue"; |
| 13 | 13 | |
| 14 |
/* Les codes utiliss sont ceux de l'ISO 639-2/B | |
| 14 |
/* Les codes utilisés sont ceux de l'ISO 639-2/B
| |
| 15 | 15 |
* Voir: http://fr.wikipedia.org/wiki/ISO_639 |
| 16 |
* La langue se trouve dans le rpertoire <code>_html | |
| 16 |
* La langue se trouve dans le répertoire <code>_html
| |
| 17 | 17 |
* Si le fichier n'existe pas dans la langue <code>, ou n'est pas lisisble, |
| 18 |
* le franais (rpertoire html) est choisi | |
| 18 |
* le français (répertoire html) est choisi
| |
| 19 | 19 |
* code => (array("nom dans la langue", "statut"))
|
| 20 |
* Si statut est vide, la langue est ok et peut tre choisie | |
| 21 |
* Si statut = "test", la langue est en test et peut tre choisie | |
| 20 |
* Si statut est vide, la langue est ok et peut être choisie
| |
| 21 |
* Si statut = "test", la langue est en test et peut être choisie | |
| 22 | 22 |
*/ |
| 23 | 23 | |
| 24 | 24 |
$conf_lang = array ( |
| 31 | 31 |
// epo => (array("esperanto", "(to translate)")),
|
| 32 | 32 |
|
| 33 | 33 |
// F |
| 34 |
fre => (array("franais", ""))
| |
| 34 |
fre => (array("français", ""))
| |
| 35 | 35 |
|
| 36 | 36 |
// I |
| 37 | 37 |
// ita => (array("italian", "(to translate)")),
|
| 38 | 38 |
| Old | New | Code |
|---|---|---|
| 223 | 223 |
// balises meta de l'entete |
| 224 | 224 |
// ATTENTION les guillemets (") dans les valeurs des variables doivent etre echappe par des \
|
| 225 | 225 |
// EXEMPLE: $conf_meta_description="Le site \"Machin\" decrit des activites."; |
| 226 |
$conf_meta_charset="ISO-8859-1"; | |
| 226 |
//$conf_meta_charset="ISO-8859-1"; | |
| 227 |
$conf_meta_charset="UTF-8"; | |
| 227 | 228 |
$conf_meta_general_keywords=""; |
| 228 | 229 |
$conf_meta_copyright="Cassiopea"; |
| 229 | 230 |
$conf_meta_author="Robert Sebille"; |
| 230 | 231 |
| Old | New | Code |
|---|---|---|
| 14 | 14 |
$conf_page_apres_login = "alias"; |
| 15 | 15 |
//$conf_page_apres_login = "mailbox"; |
| 16 | 16 | |
| 17 |
// Base des login: connexion mysql | |
| 17 |
// Base des login: connexion à mysql
| |
| 18 | 18 |
$conf_base_login="base_login"; |
| 19 | 19 |
$conf_host_login="localhost"; |
| 20 | 20 |
//$conf_host_login="xxx.yyy.zzz.www:port"; |
| 30 | 30 | |
| 31 | 31 |
// Base des login, codage des passwords |
| 32 | 32 |
// exemple avec 2 arguments : $conf_codage_pass_login="codage, valeur_argument"; |
| 33 |
// codage = type de codage, valeur_argument = second argument [ventuel] de la fonction de codage mysql | |
| 33 |
// codage = type de codage, valeur_argument = second argument [éventuel] de la fonction de codage mysql
| |
| 34 | 34 |
//$conf_codage_pass_login=""; // pas de chiffrement |
| 35 | 35 |
//$conf_codage_pass_login="aes_encrypt, key_str)"; |
| 36 | 36 |
//$conf_codage_pass_login="des_encrypt, (key_num|key_str)"; // connection ssl uniquement |
| 40 | 40 |
//$conf_codage_pass_login="old_password"; // mysql < 4.1 |
| 41 | 41 |
//$conf_codage_pass_login="password"; |
| 42 | 42 |
$conf_codage_pass_login="md5"; |
| 43 |
//$conf_codage_pass_pop="md5crypt"; // pour les fonctions de codage particulires comme dans postfixadmin | |
| 43 |
//$conf_codage_pass_pop="md5crypt"; // pour les fonctions de codage particulières comme dans postfixadmin
| |
| 44 | 44 |
//$conf_codage_pass_login="sha1" // La fonction SHA() est un alias de la fonction SHA1() |
| 45 | 45 | |
| 46 | 46 |
// Base des mail, codage des passwords pop3 |
| 47 | 47 |
// exemple avec 2 arguments : $conf_codage_pass_login="codage, valeur_argument"; |
| 48 |
// codage = type de codage, valeur_argument = second argument [ventuel] de la fonction de codage mysql | |
| 48 |
// codage = type de codage, valeur_argument = second argument [éventuel] de la fonction de codage mysql
| |
| 49 | 49 |
//$conf_codage_pass_pop=""; // pas de chiffrement |
| 50 | 50 |
//$conf_codage_pass_pop="aes_encrypt, key_str)"; |
| 51 | 51 |
//$conf_codage_pass_pop="des_encrypt, (key_num|key_str)"; // connection ssl uniquement |
| 55 | 55 |
//$conf_codage_pass_pop="old_password"; // mysql < 4.1 |
| 56 | 56 |
//$conf_codage_pass_pop="password"; |
| 57 | 57 |
//$conf_codage_pass_pop="md5"; |
| 58 |
//$conf_codage_pass_pop="md5crypt"; // pour les fonctions de codage particulires comme dans postfixadmin | |
| 58 |
//$conf_codage_pass_pop="md5crypt"; // pour les fonctions de codage particulières comme dans postfixadmin
| |
| 59 | 59 |
//$conf_codage_pass_pop="sha1" // La fonction SHA() est un alias de la fonction SHA1() |
| 60 | 60 | |
| 61 | 61 |
// Base des emails, connexion mysql |
| 78 | 78 |
// Nom du champ de la table des transports qui contient le nombre maximum de alias pour chaque domaine |
| 79 | 79 |
//$conf_champ_nb_alias_defaut="maxalias"; |
| 80 | 80 |
// Nombre de alias max par defaut pour chaque domaine. max = 2147483647 (+ = erreur mysql) |
| 81 |
// Si la variable $conf_champ_nb_alias_defaut ci-dessus est commente, le champs n'est pas traite. (nombre infini de alias pour TOUS les domaines) | |
| 81 |
// Si la variable $conf_champ_nb_alias_defaut ci-dessus est commentée, le champs n'est pas traite. (nombre infini de alias pour TOUS les domaines)
| |
| 82 | 82 | |
| 83 | 83 |
// Table des transport |
| 84 | 84 |
$conf_table_transport="transport"; |
| 88 | 88 |
//$conf_champ_nb_box_defaut="maxmailbox"; |
| 89 | 89 |
// Nombre de mailbox max par defaut pour chaque domaine. max = 2147483647 (+ = erreur mysql) |
| 90 | 90 |
// variable obsolete $conf_tr_nb_box_defaut=100; |
| 91 |
// Si la variable $conf_champ_nb_box_defaut ci-dessus est commente, le champs n'est pas traite. (nombre infini de boites pour TOUS les domaines) | |
| 91 |
// Si la variable $conf_champ_nb_box_defaut ci-dessus est commentée, le champs n'est pas traite. (nombre infini de boites pour TOUS les domaines)
| |
| 92 | 92 |
// Sinon : |
| 93 |
// 1) cette variable est crase, domaine par domaine, par la dcision du superadmin dans l'administration | |
| 93 |
// 1) cette variable est écrasée, domaine par domaine, par la décision du superadmin dans l'administration
| |
| 94 | 94 |
// NB: -1 = l'infini pour ce domaine. max = 2147483647 (+ = erreur mysql) |
| 95 |
// 2) si $conf_champ_nb_box_defaut est activ, il faut aussi activer $conf_tr_nb_box_defaut | |
| 95 |
// 2) si $conf_champ_nb_box_defaut est activé, il faut aussi activer $conf_tr_nb_box_defaut
| |
| 96 | 96 | |
| 97 | 97 |
// Table des mailbox |
| 98 |
// $conf_mb_champ=array("V1","V2","V3","V4"[,V5]); Si la variable est commente, le champ n'est pas traite (valable pour une PK auto-incrementee, par exemple).
| |
| 98 |
// $conf_mb_champ=array("V1","V2","V3","V4"[,V5]); Si la variable est commentée, le champ n'est pas traite (valable pour une PK auto-incrementee, par exemple).
| |
| 99 | 99 |
// V1 contient le nom du champ. |
| 100 |
// V2 = le contenu par dfaut du champ. Si V2 = "", ce contenu est libre. | |
| 100 |
// V2 = le contenu par défaut du champ. Si V2 = "", ce contenu est libre.
| |
| 101 | 101 |
// V3 = les droits sur le champ = une matrice : |
| 102 | 102 |
// Superadmin | Admin | Utilisateur X [W]ritable | [R]ead only | [N]o display |
| 103 | 103 |
// exemple: WRN = W pour le superadmin, R pour l'admin et N pour l'utilisateur |
| 106 | 106 |
// A part intervertir les types CHAINE, ENTIER ou TEXTE suivant les necessites, |
| 107 | 107 |
// il n'est pas conseille de modifier les autres champs V4 |
| 108 | 108 |
// V5 = longueur de la chaine (-> 255) |
| 109 |
// !! TOUJOURS = force par le programme (la valeur V3 est inoprante) | |
| 109 |
// !! TOUJOURS = force par le programme (la valeur V3 est inopérante)
| |
| 110 | 110 | |
| 111 | 111 |
$conf_table_mailbox="table_mailbox"; |
| 112 | 112 |
// $conf_mb_id=array("id","","WRR","CHAINE",128);
|
| 113 |
// Si utilise, l'unicit sera vrifie par le programme. | |
| 113 |
// Si utilisée, l'unicité sera vérifiée par le programme.
| |
| 114 | 114 |
// Si ce champ est active, il sera obligatoire |
| 115 | 115 |
// Toujours WWN en ajout |
| 116 | 116 | |
| 117 | 117 |
$conf_mb_email=array("email","","WWR","CHAINE",128);
|
| 118 |
// !! TOUJOURS RRR en modification !! L'unicit sera vrifie par le programme. | |
| 119 |
// Seule la partie user de user@domain est ditable dans l'ajout. | |
| 118 |
// !! TOUJOURS RRR en modification !! L'unicité sera vérifiée par le programme.
| |
| 119 |
// Seule la partie user de user@domain est éditable dans l'ajout. | |
| 120 | 120 |
// Ce champ est obligatoire |
| 121 | 121 | |
| 122 | 122 |
$conf_mb_pass_clair=array("pass_clear","","WWW","CHAINE",128);
|
| 135 | 135 |
//$conf_long_commentaire_list_mb=20; |
| 136 | 136 | |
| 137 | 137 |
$conf_user_email_accueil=array("","","WWN","CHAINE",128);
|
| 138 |
// Ou envoyer les paramtres la premire fois? | |
| 139 |
// V1 = toujours "" (pas un champ dans la base); V2 = "" (on ne connat pas la valeur par defaut) | |
| 138 |
// Ou envoyer les paramètres la première fois?
| |
| 139 |
// V1 = toujours "" (pas un champ dans la base); V2 = "" (on ne connaît pas la valeur par defaut) | |
| 140 | 140 |
// NB: V3 != "WWN" n'a pas de sens, ici |
| 141 | 141 |
// Enfin, meme si cette variable est desactivee, (et si la fonction mail de php est activee), |
| 142 | 142 |
// l'email de premier accueil est envoye a la boite cree |
| 148 | 148 |
// valeur du quota maximum pour une boite aux lettres; peut etre ecrasee par le superadmin seulement |
| 149 | 149 | |
| 150 | 150 |
//$conf_mb_active=array("active","1","WWR","BOOL");
|
| 151 |
// "1" = actif par defaut | "0" = inactif par defaut ( l'ajout) | |
| 151 |
// "1" = actif par defaut | "0" = inactif par defaut (à l'ajout)
| |
| 152 | 152 | |
| 153 | 153 |
//$conf_mb_date_creation=array("created","date()","RRN","DATETIME");
|
| 154 | 154 |
// Conserve toujours sa valeur au moment de l'ajout (W n'est jamais traite) ! |
| 155 | 155 |
// N'est actif que dans le formulaire de creation (ajout), |
| 156 |
// mais n'y est pas affich, puisque pas encore connu | |
| 156 |
// mais n'y est pas affiché, puisque pas encore connu
| |
| 157 | 157 | |
| 158 | 158 |
//$conf_mb_date_modif=array("modified","date()","RRN","DATETIME");
|
| 159 | 159 |
// Conserve toujours sa valeur au moment de la modification (W n'est jamais traite) ! |
| 160 | 160 |
// Est actif que dans le formulaire de creation et de modification, |
| 161 |
// mais n'est pas affich en ajout, puisque pas encore connu | |
| 161 |
// mais n'est pas affiché en ajout, puisque pas encore connu
| |
| 162 | 162 | |
| 163 | 163 |
$conf_mb_homemail_rep=array("homedir","/home/vmail","RNN","CHAINE",128);
|
| 164 | 164 |
// Conserve toujours sa valeur par defaut (W n'est jamais traite) ! |
| 166 | 166 |
$conf_mb_mailbox_rep=array("maildir","|domain|/|user|/","RNN","CHAINE",255);
|
| 167 | 167 |
// Conserve toujours sa valeur par defaut (W n'est jamais traite) ! |
| 168 | 168 |
// |user| et |domain| sont des variables interpretees pour ce champ, |
| 169 |
// a partir du champ email, reprsentant user et domain.tld de user@domain.tld | |
| 169 |
// a partir du champ email, représentant user et domain.tld de user@domain.tld
| |
| 170 | 170 |
// NB: domain.tld est un choix dans la liste des domaines autorises pour l'utilisateur |
| 171 | 171 | |
| 172 | 172 |
//$conf_mb_uid=array("uid","1001","RNN","ENTIER");
|
| 181 | 181 | |
| 182 | 182 | |
| 183 | 183 |
// Definition des variable du mail d'accueil envoye a l'ajout d'une mailbox; |
| 184 |
// le message lui-mme est dfini dans html/messages.inc.php ou ISO_html/messages.inc.php | |
| 184 |
// le message lui-même est défini dans html/messages.inc.php ou ISO_html/messages.inc.php
| |
| 185 | 185 |
// en fonction du code ISO de la langue - ISO 639-2/B, voir utiles/conf-lang.inc.php |
| 186 | 186 |
//$conf_serveur_pop3="pop.domain.tld"; |
| 187 | 187 |
//$conf_port_pop3="110"; |
| 198 | 198 |
$conf_email_mailmaster = "mailmaster@domain.tld"; |
| 199 | 199 | |
| 200 | 200 |
// Les destinations des alias generiques (@domain.tld) sont des domaines de la table des transports = true; |
| 201 |
// Les destinations des alias generiques (@domain.tld) sont gres par le MTA = false; | |
| 201 |
// Les destinations des alias generiques (@domain.tld) sont gérées par le MTA = false;
| |
| 202 | 202 |
//TO DO |
| 203 | 203 |
$conf_alias_gen_transport = true; |
| 204 | 204 |
// $conf_alias_gen_transport = false; |
| 214 | 214 |
// balises meta de l'entete |
| 215 | 215 |
// ATTENTION les guillemets (") dans les valeurs des variables doivent etre echappe par des \
|
| 216 | 216 |
// EXEMPLE: $conf_meta_description="Le site \"Machin\" decrit des activites."; |
| 217 |
$conf_meta_charset="ISO-8859-1"; | |
| 217 |
$conf_meta_charset="UTF-8";
| |
| 218 | 218 |
$conf_meta_general_keywords=""; |
| 219 | 219 |
$conf_meta_copyright="Cassiopea"; |
| 220 | 220 |
$conf_meta_author="Robert Sebille"; |
| 230 | 230 |
//$conf_aff_req_sql=true; |
| 231 | 231 | |
| 232 | 232 |
// true: la page login affiche un login supadmin pass supadmin et un login admin pass admin pour les demo. |
| 233 |
// il faut alors bien sur crer ces login/pass de demo | |
| 233 |
// il faut alors bien sur créer ces login/pass de demo
| |
| 234 | 234 |
// Ceci, uniquement pour les site de demo !!!! |
| 235 | 235 |
// L'envoi d'email est desactive dans ce mode et le titre SITE DE DEMO apparait sur le site |
| 236 | 236 |
$conf_demo=false; |
| 249 | 249 |
$conf_path_from_root = substr($conf_path_from_root, 0, -strlen(strrchr($conf_path_from_root, "/")))."/"; |
| 250 | 250 |
$conf_absolute_path = $_SERVER["DOCUMENT_ROOT"].$conf_path_from_root; |
| 251 | 251 | |
| 252 |
// Placement d'un cookie de vrification pour le login | |
| 252 |
// Placement d'un cookie de vérification pour le login
| |
| 253 | 253 |
SETCOOKIE("BechamailCookieEnabled", "supportbechamail");
|
| 254 | 254 |
// nom du script en cours |
| 255 | 255 |
$conf_script_name = substr(strrchr($_SERVER["SCRIPT_FILENAME"], "/"), 1); |
| 262 | 262 |
if ($conf_lang_defaut == "fre") {$conf_lang_defaut = "";}
|
| 263 | 263 | |
| 264 | 264 |
// fonctionnement obligatoire en mode securise |
| 265 |
if (file_exists("../bechamail.lock")) {die ("Bechamail est en cours de maintenance.<br>Administrateur systme, utilisez le script bechamail_denied pour mettre fin la maintenance.");}
| |
| 265 |
if (file_exists("../bechamail.lock")) {die ("Bechamail est en cours de maintenance.<br>Administrateur système, utilisez le script bechamail_denied pour mettre fin à la maintenance.");}
| |
| 266 | 266 | |
| 267 | 267 |
/******************************************************************************************************/ |
| 268 | 268 | |
| 269 | 269 |
| Old | New | Code |
|---|---|---|
| 24 | 24 |
// on retombe sur cette initiale des qu'on choisit ce domaine dans liste alias ou mailbox |
| 25 | 25 |
// les initiales sont propres soit aux mailbox, soit aux alias |
| 26 | 26 |
function ecris_initiale ($fichier_domaine, $type, $initiale) {
|
| 27 |
if (!is_writable("../files.bech")) {die(exclamation()."Le rpertoire /files.bech doit tre accessible en criture !");}
| |
| 28 |
if (!($type == "mailbox" or $type == "alias")) {die(exclamation()."Problme de code: le paramtre \$type de la fonction \"ecris_initiale (\$fichier_domaine, \$type, \$initiale)\" doit tre \"mailbox\" ou \"alias\". Merci de rapporter le bug <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 27 |
if (!is_writable("../files.bech")) {die(exclamation()."Le répertoire /files.bech doit être accessible en écriture !");}
| |
| 28 |
if (!($type == "mailbox" or $type == "alias")) {die(exclamation()."Problème de code: le paramètre \$type de la fonction \"ecris_initiale (\$fichier_domaine, \$type, \$initiale)\" doit être \"mailbox\" ou \"alias\". Merci de rapporter le bug à <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 29 | 29 |
$suffixe = ""; |
| 30 | 30 |
if ($type == "mailbox") {$suffixe = "imb";}
|
| 31 | 31 |
if ($type == "alias") {$suffixe = "ial";}
|
| 35 | 35 |
} |
| 36 | 36 | |
| 37 | 37 |
function lis_initiale ($fichier_domaine, $type) {
|
| 38 |
if (!is_readable("../files.bech")) {die(exclamation()."Le rpertoire /files.bech doit tre accessible en lecture !");}
| |
| 39 |
if (!($type == "mailbox" or $type == "alias")) {die(exclamation()."Problme de code: le paramtre \$type de la fonction \"ecris_initiale (\$fichier_domaine, \$type)\" doit tre \"mailbox\" ou \"alias\". Merci de rapporter le bug <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 38 |
if (!is_readable("../files.bech")) {die(exclamation()."Le répertoire /files.bech doit être accessible en lecture !");}
| |
| 39 |
if (!($type == "mailbox" or $type == "alias")) {die(exclamation()."Problème de code: le paramètre \$type de la fonction \"ecris_initiale (\$fichier_domaine, \$type)\" doit être \"mailbox\" ou \"alias\". Merci de rapporter le bug à <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 40 | 40 |
$suffixe = "";$initiale = ""; |
| 41 | 41 |
if ($type == "mailbox") {$suffixe = "imb";}
|
| 42 | 42 |
if ($type == "alias") {$suffixe = "ial";}
|
| 50 | 50 | |
| 51 | 51 |
// ajoute une ligne dans le fichier des boites supprimees |
| 52 | 52 |
function ecris_boites_supprimees ($boite, $action) {
|
| 53 |
if (!is_writable("../files.bech")) {die(exclamation()."Le rpertoire /files.bech doit tre accessible en criture !");}
| |
| 54 |
if (!($action == "DELETED" or $action == "RESTORED")) {die(exclamation()."Problme de code: le paramtre \$action de la fonction \"ecris_boites_supprimees (\$boite, \$action)\" doit tre \"DELETED\" ou \"RESTORED\". Merci de rapporter le bug <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 53 |
if (!is_writable("../files.bech")) {die(exclamation()."Le répertoire /files.bech doit être accessible en écriture !");}
| |
| 54 |
if (!($action == "DELETED" or $action == "RESTORED")) {die(exclamation()."Problème de code: le paramètre \$action de la fonction \"ecris_boites_supprimees (\$boite, \$action)\" doit être \"DELETED\" ou \"RESTORED\". Merci de rapporter le bug à <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 55 | 55 |
$filetowrite = "../files.bech/mailbox-deleted.bech"; |
| 56 | 56 |
if (!$handle = fopen($filetowrite, "a")) {die(exclamation()."Impossible d'ecrire le fichier <i>".$filetowrite."</i> dans /files.bech");}
|
| 57 | 57 |
else {
|
| 63 | 63 | |
| 64 | 64 |
// purge le fichier des boites supprimees |
| 65 | 65 |
function vide_boites_supprimees () {
|
| 66 |
if (!is_writable("../files.bech")) {die(exclamation()."Le rpertoire /files.bech doit tre accessible en criture !");}
| |
| 66 |
if (!is_writable("../files.bech")) {die(exclamation()."Le répertoire /files.bech doit être accessible en écriture !");}
| |
| 67 | 67 |
$filetowrite = "../files.bech/mailbox-deleted.bech"; |
| 68 | 68 |
copy($filetowrite, $filetowrite.".bak"); |
| 69 | 69 |
if (!$handle = fopen($filetowrite, "w")) {die(exclamation()."Impossible d'ecrire le fichier <i>".$filetowrite."</i> dans /files.bech");}
|
| 70 | 70 |
else {fclose($handle);@chmod($filetowrite, 0660);} // if (!$handle = fopen($filetowrite, "w"))
|
| 71 | 71 |
} |
| 72 | 72 | |
| 73 |
// lis le fichier des boites supprimes dans un tableau trie alphabetiquement | |
| 73 |
// lis le fichier des boites supprimées dans un tableau trie alphabetiquement
| |
| 74 | 74 |
function lis_boites_supprimees () {
|
| 75 |
if (!is_readable("../files.bech")) {die(exclamation()."Le rpertoire /files.bech doit tre accessible en lecture !");}
| |
| 75 |
if (!is_readable("../files.bech")) {die(exclamation()."Le répertoire /files.bech doit être accessible en lecture !");}
| |
| 76 | 76 |
$filetowrite = "../files.bech/mailbox-deleted.bech"; |
| 77 | 77 |
$boites_array = array(); $buffer_mail_array = array(); |
| 78 | 78 |
$buffer = ""; $buffer_mail = ""; |
| 88 | 88 |
return $boites_array; |
| 89 | 89 |
} |
| 90 | 90 | |
| 91 |
// lis le fichier des boites supprimes dans un tableau trie alphabetiquement | |
| 91 |
// lis le fichier des boites supprimées dans un tableau trie alphabetiquement
| |
| 92 | 92 |
// lis ce fichier en generant une url pour la suppression dans mailbox-supprimees |
| 93 | 93 |
function lis_boites_supprimees_format_suppression () {
|
| 94 |
if (!is_readable("../files.bech")) {die(exclamation()."Le rpertoire /files.bech doit tre accessible en lecture !");}
| |
| 94 |
if (!is_readable("../files.bech")) {die(exclamation()."Le répertoire /files.bech doit être accessible en lecture !");}
| |
| 95 | 95 |
$filetowrite = "../files.bech/mailbox-deleted.bech"; |
| 96 | 96 |
$boites_array = array(); $buffer_mail_array = array(); |
| 97 | 97 |
$buffer = ""; $buffer_mail = ""; |
| 113 | 113 | |
| 114 | 114 |
// efface toutes les occurences d'une boite dans le fichier des boites supprimees |
| 115 | 115 |
function efface_lignes_boites_supprimees ($boite) {
|
| 116 |
if (!is_writable("../files.bech")) {die(exclamation()."Le rpertoire /files.bech doit tre accessible en criture !");}
| |
| 116 |
if (!is_writable("../files.bech")) {die(exclamation()."Le répertoire /files.bech doit être accessible en écriture !");}
| |
| 117 | 117 |
$buffer = ""; |
| 118 | 118 |
$filetowrite = "../files.bech/mailbox-deleted.bech"; |
| 119 | 119 |
$filetowritetmp = "../files.bech/mailbox-deleted-tmp.bech"; |
| 120 | 120 |
| Old | New | Code |
|---|---|---|
| 23 | 23 | |
| 24 | 24 |
// Cette fonction retourne le code html d'un champ des mailbox, en fonction des droits |
| 25 | 25 |
// defini dans le fichier de configuration ou force par le programme et du niveau |
| 26 |
// Seuls les niveaux 1 (superadmin), 2 (admin) et 3 (utilisateur) sont accepts | |
| 26 |
// Seuls les niveaux 1 (superadmin), 2 (admin) et 3 (utilisateur) sont acceptés
| |
| 27 | 27 |
function code_html_champ_mailbox($nom_champ, $t_nom, $info=0, $droits_forces="", $bool=0, $obligatoire=0, $format_entier=0) {
|
| 28 | 28 |
GLOBAL $traduction; |
| 29 | 29 | |
| 30 |
if ($nom_champ == "") {die(exclamation()."Problme de code: la fonction \"code_html_champ_mailbox(\$nom_champ, \$droits_forces = \"\")\" doit avoir au moins le nom du champ mailbox comme premier argument. Merci de rapporter le bug <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 31 |
if ($_SESSION["S_niveau"] < 1 or $_SESSION["S_niveau"] > 3) {die(exclamation()."Problme de code: la fonction \"code_html_champ_mailbox(\$nom_champ, \$droits_forces = \"\") est rserve aux niveaux 1 (superadmin), 2 (admin) et 3 (utilisateur). Merci de rapporter le bug <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 30 |
if ($nom_champ == "") {die(exclamation()."Problème de code: la fonction \"code_html_champ_mailbox(\$nom_champ, \$droits_forces = \"\")\" doit avoir au moins le nom du champ mailbox comme premier argument. Merci de rapporter le bug à <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 31 |
if ($_SESSION["S_niveau"] < 1 or $_SESSION["S_niveau"] > 3) {die(exclamation()."Problème de code: la fonction \"code_html_champ_mailbox(\$nom_champ, \$droits_forces = \"\") est réservée aux niveaux 1 (superadmin), 2 (admin) et 3 (utilisateur). Merci de rapporter le bug à <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 32 | 32 |
if ($droits_forces != "") {$droit = substr($droits_forces, $_SESSION["S_niveau"] - 1, 1);}
|
| 33 | 33 |
else {$droit = substr($nom_champ[2], $_SESSION["S_niveau"] - 1, 1);}
|
| 34 | 34 |
$droits_autorise = array("W", "R", "N");
|
| 35 |
if (!in_array($droit, $droits_autorise)) {die(exclamation()."Erreur de droits dans la configuration ou le programme pour le champ mailbox \"".$nom_champ[0]."\". Le droit pass est ".$droit." au lieu de W, R ou N. NB: les droits autoriss pour la fonction \"code_html_champ_mailbox(\$nom_champ, \$droits_forces = \"\") sont W (Writable), R (Readonly) ou N (No display). Vrifiez votre configuration, si elle est correcte, merci de rapporter le bug <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 35 |
if (!in_array($droit, $droits_autorise)) {die(exclamation()."Erreur de droits dans la configuration ou le programme pour le champ mailbox \"".$nom_champ[0]."\". Le droit passé est ".$droit." au lieu de W, R ou N. NB: les droits autorisés pour la fonction \"code_html_champ_mailbox(\$nom_champ, \$droits_forces = \"\") sont W (Writable), R (Readonly) ou N (No display). Vérifiez votre configuration, si elle est correcte, merci de rapporter le bug à <a href=\"http://www.codingteam.net/bechamail-bugs_fr.html\">http://www.codingteam.net/bechamail-bugs_fr.html</a>");}
| |
| 36 | 36 | |
| 37 | 37 |
$display_statut_champ = ""; |
| 38 | 38 |
|
| 39 | 39 |
| Old | New | Code |
|---|---|---|
| 66 | 66 |
} |
| 67 | 67 |
} |
| 68 | 68 | |
| 69 |
// Vrifie si les domaines sont autoris pour ce login | |
| 69 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 70 | 70 |
function verif_domaine($fct_domaines = "") {
|
| 71 | 71 |
GLOBAL $conf_path_from_root; |
| 72 | 72 | |
| 89 | 89 |
function SuppAccents($chaine){
|
| 90 | 90 |
// http://www.phpscripts-fr.net/portions/portion.php?id=89 |
| 91 | 91 |
// pub-AT-mcolonna.net |
| 92 |
$tofind = ""; | |
| 92 |
$tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
| |
| 93 | 93 |
$replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"; |
| 94 | 94 |
return(strtr($chaine,$tofind,$replac)); |
| 95 | 95 |
} |
| 102 | 102 |
} |
| 103 | 103 | |
| 104 | 104 |
function login_propre($login_propose) {
|
| 105 |
// supprimer tous les caractres ascii de 0 31, 32 44, 46 47, 58 64, 91 94, 96, 123 126 //, 127 255 | |
| 105 |
// supprimer tous les caractères ascii de 0 à 31, 32 à 44, 46 à 47, 58 à 64, 91 à 94, 96, 123 à 126 //, 127 à 255
| |
| 106 | 106 |
// laisse uniquement les lettres (min/MAJ), les chiffres, - et _ |
| 107 | 107 |
$login_propose = trim($login_propose, "\x00..\x1F"); |
| 108 | 108 |
$login_propose = preg_replace("([\x20-\x2C]|[\x2E-\x2F]|[\x3A-\x40]|[\x5B-\x5E]|\x60|[\x7B-\x7E])", "", $login_propose);
|
| 116 | 116 |
function fichier_existe_rwx_die($fichier ="", $rwx = ""){
|
| 117 | 117 |
if (!file_exists($fichier)) {die (exclamation()."Le fichier ".$fichier." n'existe pas !");}
|
| 118 | 118 |
if (!is_readable($fichier) and preg_match("/r/i", $rwx) > 0) {die (exclamation()."Le fichier ".$fichier." n'est pas accessible en lecture !");}
|
| 119 |
if (!is_writable($fichier) and preg_match("/w/i", $rwx) > 0) {die (exclamation()."Le fichier ".$fichier." n'est pas accessible en criture !");}
| |
| 120 |
if (!is_executable($fichier) and preg_match("/x/i", $rwx) > 0) {die (exclamation()."Le rpertoire fichier ".$fichier." n'est pas accessible ou le fichier ".$fichier." n'est pas excutable !");}
| |
| 119 |
if (!is_writable($fichier) and preg_match("/w/i", $rwx) > 0) {die (exclamation()."Le fichier ".$fichier." n'est pas accessible en écriture !");}
| |
| 120 |
if (!is_executable($fichier) and preg_match("/x/i", $rwx) > 0) {die (exclamation()."Le répertoire fichier ".$fichier." n'est pas accessible ou le fichier ".$fichier." n'est pas exécutable !");}
| |
| 121 | 121 |
} |
| 122 | 122 |
|
| 123 | 123 |
function langue_ok($fichier = "") {
|
| 124 | 124 |
global $conf_lang_defaut; |
| 125 |
if ($fichier == "") {die (exclamation()."Problme avec un fichier de langue");}
| |
| 125 |
if ($fichier == "") {die (exclamation()."Problème avec un fichier de langue");}
| |
| 126 | 126 |
if (!file_exists($fichier) or !is_readable($fichier)) {
|
| 127 | 127 |
$fichier = str_replace($conf_lang_defaut."_", "", $fichier); |
| 128 | 128 |
} |
| 129 | 129 |
return $fichier; |
| 130 | 130 |
} |
| 131 | 131 |
|
| 132 |
// vrifie la validit d'une adresse email (robert.sebille AT cassiopea dot org, antoine.delvaux AT cassiopea dot org) | |
| 132 |
// vérifie la validité d'une adresse email (robert.sebille AT cassiopea dot org, antoine.delvaux AT cassiopea dot org)
| |
| 133 | 133 |
function email_valide($email) {
|
| 134 | 134 |
|
| 135 | 135 |
$email_result = false; |
| 137 | 137 |
return $email_result; |
| 138 | 138 |
} |
| 139 | 139 | |
| 140 |
// vrifie la validit d'un alias (robert.sebille AT cassiopea dot org, antoine.delvaux AT cassiopea dot org) | |
| 141 |
// gre les adresses gnriques (@domain.tld) suivant client_auth_gen | |
| 140 |
// vérifie la validité d'un alias (robert.sebille AT cassiopea dot org, antoine.delvaux AT cassiopea dot org)
| |
| 141 |
// gère les adresses génériques (@domain.tld) suivant client_auth_gen | |
| 142 | 142 |
function alias_valide($alias) {
|
| 143 | 143 |
GLOBAL $client_auth_gen; |
| 144 | 144 | |
| 145 | 145 |
$alias_result = false; |
| 146 | 146 | |
| 147 | 147 |
if (!$client_auth_gen) {
|
| 148 |
// Ne pas autoriser les rfrence gnriques: @domain.tld | |
| 148 |
// Ne pas autoriser les référence génériques: @domain.tld
| |
| 149 | 149 |
if(eregi("^[a-z0-9\._-]+@[\ba-z0-9][a-z0-9\.-]*[\ba-z0-9]\.[a-z]{2,6}$", $alias)) {$alias_result = true;}
|
| 150 | 150 |
} |
| 151 | 151 |
else {
|
| 152 |
// Autoriser les rfrence gnriques: @domain.tld | |
| 152 |
// Autoriser les référence génériques: @domain.tld
| |
| 153 | 153 |
if(eregi("^[a-z0-9\._-]*@[\ba-z0-9][a-z0-9\.-]*[\ba-z0-9]\.[a-z]{2,6}$", $alias)) {$alias_result = true;}
|
| 154 | 154 |
} |
| 155 | 155 | |
| 156 | 156 |
return $alias_result; |
| 157 | 157 |
} |
| 158 | 158 |
|
| 159 |
// vrifie la validit d'une liste d'adresses email | |
| 159 |
// vérifie la validité d'une liste d'adresses email
| |
| 160 | 160 |
function liste_email_valide($liste_email, $separateur = ",") {
|
| 161 | 161 |
$liste_email_result = true; |
| 162 | 162 |
$liste_email_array = array(); |
| 169 | 169 |
|
| 170 | 170 |
} |
| 171 | 171 | |
| 172 |
// vrifie la validit des adresse email de la destination | |
| 173 |
// gre les adresses gnriques (@domain.tld) suivant client_auth_gen | |
| 172 |
// vérifie la validité des adresse email de la destination
| |
| 173 |
// gère les adresses génériques (@domain.tld) suivant client_auth_gen | |
| 174 | 174 |
function dest_alias_valide($dest_alias) {
|
| 175 | 175 |
$dest_alias_result = true; |
| 176 | 176 |
$dest_alias_array = array(); |
| 207 | 207 |
$message .= ip_date_heure()."\n\n"; |
| 208 | 208 |
|
| 209 | 209 |
$mail_sended = mail($to, $sujet, $message, $mail_headers, |
| 210 |
"-f".$from); // 5ime argument "-fvotre_email@site.com" pour le Return-Path | |
| 210 |
"-f".$from); // 5ième argument "-fvotre_email@site.com" pour le Return-Path
| |
| 211 | 211 |
|
| 212 | 212 |
return $mail_sended; |
| 213 | 213 |
} |
| 223 | 223 |
$path = $conf_path_log."/"; |
| 224 | 224 |
$path_file = $path."bechamail.log"; |
| 225 | 225 |
$dir_acces_ok = is_executable($path); |
| 226 |
if (!$dir_acces_ok) {die(exclamation()."Rpetoire des logs <i>".$path."</i> inaccessible en criture");}
| |
| 226 |
if (!$dir_acces_ok) {die(exclamation()."Répetoire des logs <i>".$path."</i> inaccessible en écriture");}
| |
| 227 | 227 | |
| 228 | 228 |
$file_exist_ok = file_exists($path_file); |
| 229 | 229 |
if (!$file_exist_ok) {
|
| 230 |
if (!$handle = fopen($path_file, "w")) {die(exclamation()."Impossible de crer <i>".$path_file."</i> dans ".$path);}
| |
| 230 |
if (!$handle = fopen($path_file, "w")) {die(exclamation()."Impossible de créer <i>".$path_file."</i> dans ".$path);}
| |
| 231 | 231 |
else {fwrite($handle, $chaine4log."\n"); fclose($handle);}
|
| 232 | 232 |
} // if (!$file_exist_ok) |
| 233 | 233 |
else {
|
| 234 | 234 |
$file_acces_ok = (is_readable($path_file) AND is_writable($path_file)); |
| 235 |
if (!$file_acces_ok) {die(exclamation()."Fichier de logs <i>".$path_file."</i> inaccessible en criture");}
| |
| 235 |
if (!$file_acces_ok) {die(exclamation()."Fichier de logs <i>".$path_file."</i> inaccessible en écriture");}
| |
| 236 | 236 |
$handle = fopen($path_file, "a"); |
| 237 | 237 |
fwrite($handle, $chaine4log."\n"); fclose($handle); |
| 238 | 238 |
} //if (!$file_exist_ok) |
| 240 | 240 |
} |
| 241 | 241 | |
| 242 | 242 | |
| 243 |
// Caractres autoriss pour user@domain.tld | |
| 243 |
// Caractères autorisés pour user@domain.tld
| |
| 244 | 244 |
function car_auth_user() {
|
| 245 | 245 |
$cau = ""; |
| 246 | 246 |
for ($i = 65; $i <= 90; $i++) {$cau .= chr($i);} $cau .= " ";
|
| 289 | 289 |
"I see, Francis ! ", |
| 290 | 290 |
"Well, professeur Mortimer ! ", |
| 291 | 291 |
"My God, capitaine Blake ! ", |
| 292 |
"Plus d'Orval ! Ce dmon d'Olrik est pass par l ! ", | |
| 293 |
"Plus d'Achel ! Olrik est pass par l ! ", | |
| 294 |
"Plus de Chimay ! Ce diable d'Olrik est pass par l ! ", | |
| 295 |
"Plus de Rochefort ! Ce dmon d'Olrik est pass par l ! ", | |
| 296 |
"Plus de Westmalle ! Ce diable d'Olrik est pass par l ! ", | |
| 297 |
"Plus de Westvleteren ! Olrik est pass par l ! ", | |
| 292 |
"Plus d'Orval ! Ce démon d'Olrik est passé par là ! ",
| |
| 293 |
"Plus d'Achel ! Olrik est passé par là ! ", | |
| 294 |
"Plus de Chimay ! Ce diable d'Olrik est passé par là ! ", | |
| 295 |
"Plus de Rochefort ! Ce démon d'Olrik est passé par là ! ", | |
| 296 |
"Plus de Westmalle ! Ce diable d'Olrik est passé par là ! ", | |
| 297 |
"Plus de Westvleteren ! Olrik est passé par là ! ", | |
| 298 | 298 |
"Goddam, Mortimer ! ", |
| 299 | 299 |
"Hell, Olrik ! ", |
| 300 | 300 |
"Good lord, Philip ! ", |
| 301 | 301 |
"Heavens, Blake ! ", |
| 302 |
"Maldiction, Francis ! ", | |
| 302 |
"Malédiction, Francis ! ",
| |
| 303 | 303 |
"Que le grand cric me croque, Tintin ! ", |
| 304 | 304 |
"Tonnerre de Brest, Nestor ! ", |
| 305 | 305 |
"Mille sabords, Milou ! ", |
| 307 | 307 |
"Meuuunoonn, Prunelle ! ", |
| 308 | 308 |
"Pffouhh, Fantasio ! ", |
| 309 | 309 |
"Ooaah, M'oiselle Jeanne ! ", |
| 310 |
"Ben a, Lebrac ! ", | |
| 310 |
"Ben ça, Lebrac ! ",
| |
| 311 | 311 |
"Boaafh, Fantasio ! ", |
| 312 |
"Rogntudju, Gaston ! ", | |
| 312 |
"Rogntudjuù, Gaston ! ",
| |
| 313 | 313 |
"Humph, Gaston ! " |
| 314 | 314 |
); |
| 315 | 315 |
|
| 316 | 316 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
if (!isset($_SESSION['S_login'])) {session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit(); }
| |
| 23 |
if (!isset($_SESSION['S_login'])) {session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit(); }
| |
| 24 | 24 | |
| 25 | 25 |
if ($_SESSION['S_domaines'] == "") {session_destroy(); die("<h1>Forbidden</h1><br>".exclamation()."You don't have permission to access ".$conf_path_from_root." on this server.<hr><i>Apache-AdvancedExtranetServer/2.0.53</i>");}
|
| 26 | 26 | |
| 31 | 31 |
$adm_verif->RS_select($sel, $from, $whe); |
| 32 | 32 |
mysql_free_result($adm_verif->RS_res); |
| 33 | 33 | |
| 34 |
if ($adm_verif->RS_nb_ligne > 1) {die("Conflit de login. ".exclamation()."Login ".$_SESSION['S_login']." prsent ".$adm_verif->RS_nb_ligne." fois dans la base ".$conf_base_login.", table ".$conf_table_login);}
| |
| 35 |
if ($adm_verif->RS_nb_ligne = 0) {session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit(); }
| |
| 34 |
if ($adm_verif->RS_nb_ligne > 1) {die("Conflit de login. ".exclamation()."Login ".$_SESSION['S_login']." présent ".$adm_verif->RS_nb_ligne." fois dans la base ".$conf_base_login.", table ".$conf_table_login);}
| |
| 35 |
if ($adm_verif->RS_nb_ligne = 0) {session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit(); }
| |
| 36 | 36 | |
| 37 | 37 |
$pass_verif = ""; |
| 38 | 38 |
$pass_verif = md5($adm_verif->RS_ligne["0"][$conf_champ_pass]).$_SESSION["S_time"]; |
| 39 |
if ($_SESSION['S_pass'] != $pass_verif) {session_destroy(); header("Location: login.php?mess=".urlencode("Vous tes dconnect")); exit(); }
| |
| 39 |
if ($_SESSION['S_pass'] != $pass_verif) {session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); exit(); }
| |
| 40 | 40 | |
| 41 | 41 |
$time_alea = time(); |
| 42 | 42 |
$_SESSION['S_time'] = $time_alea; |
| 43 | 43 |

Bechamail