Browse the code
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<entry |
| 4 | 4 |
kind="dir" |
| 5 | 5 |
path="." |
| 6 |
revision="128"> | |
| 6 |
revision="129">
| |
| 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="128"> | |
| 16 |
revision="129">
| |
| 17 | 17 |
<author>zenjo</author> |
| 18 |
<date>2009-12-25T15:02:53.788446Z</date> | |
| 18 |
<date>2009-12-26T10:58:16.151567Z</date>
| |
| 19 | 19 |
</commit> |
| 20 | 20 |
</entry> |
| 21 | 21 |
</info> |
| 22 | 22 |
| Old | New | Code |
|---|---|---|
| 115 | 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>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> - '; | |
| 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> UNDER CONSTRUCTION --> - <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) |
| 122 | 122 |
| Old | New | Code |
|---|---|---|
| 3 | 3 |
<div class="nonante"> |
| 4 | 4 | |
| 5 | 5 |
<h2>Administration système</h2> |
| 6 |
| |
| 7 |
<h1 style="background:red;color:yellow;text-align:center;">ATTENTION: cette partie (visible uniquement par le superadmin) est en construction et instable.<br>Ne pas utiliser svp.</h1> | |
| 6 | 8 | |
| 7 | 9 |
~!t_mess_accueil~ |
| 8 | 10 | |
| 9 | 11 |
<div class="as_a_form"> |
| 10 | 12 |
<ul> |
| 11 |
<li><a href="liste-admin-genalias.php">Alias génériques</a> | |
| 13 |
<li><!-- <a href="liste-admin-genalias.php"> -->Alias génériques<!-- </a> UNDER CONSTRUCTION -->
| |
| 12 | 14 |
<ul> |
| 13 | 15 |
<li><span class="sql">Gestion des alias génériques</span></a> |
| 14 | 16 |
</ul> |
| 15 | 17 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vérification 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", "déconnexion.");}
| |
| 42 |
session_destroy(); header("Location: login.php?mess=".urlencode("Vous êtes déconnecté")); 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 après ../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 |
// Accès ok pour niveaux 1 à 2 | |
| 60 |
niveau_ok(1,2); | |
| 59 |
// Accès ok pour niveau 1
| |
| 60 |
niveau_ok(1,1); | |
| 61 | 61 | |
| 62 | 62 |
// compute starting time with microseconds precision |
| 63 | 63 |
if ($conf_aff_req_sql) {
|
| 65 | 65 |
$starttime = $mtime[1] + $mtime[0]; |
| 66 | 66 |
} |
| 67 | 67 |
|
| 68 |
// Soyons prudent et portable, désactivons 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 |
/* Crée 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 |
// prépare un message éventuellement passé par GET (déconnexion, 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\">Durée 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 vérification 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 déconnecté")); 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 après ../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 |
// Accès ok pour niveaux 1 à 2 | |
| 62 |
niveau_ok(1,2); | |
| 61 |
// Accès ok pour niveau 1
| |
| 62 |
niveau_ok(1,1); | |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 65 | 65 |
if ($conf_aff_req_sql) {
|
| 67 | 67 |
$starttime = $mtime[1] + $mtime[0]; |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
// Soyons prudent et portable, désactivons 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 rôle différent 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 départ, 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 |
// récupération 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 première 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 créer 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 |
// Vérifie 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 |
// Préparation de l'info alias / destination générique. 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 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.""; | |
| 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 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"; | |
| 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 |
// Caractères autorisés 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 |
// Caractères autorisés 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 |
// Caractères autorisés 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 paramètres adéquats !")); 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 |
// Prétraitement 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 |
// vérification 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 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 | |
| 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 créer d'adresse générqiue 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 vérifie si l'alias n'existe pas déjà | |
| 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 déjà !"; $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 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 | |
| 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 créer d'auto-référence : ".$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 vérifie qu'on ne crée pas une référence 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 créer de référence circulaire : ".$circ_ref_chaine1." car ".$circ_ref_chaine2." existe déjà. 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 |
/* Crée 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 caractères autorisés | |
| 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 sélectionné 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 générique | |
| 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 |
// prépare un message éventuellement passé par GET (déconnexion, 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\">Durée 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 |
|---|---|---|
| 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 |
// Accès ok pour niveaux 1 à 2 | |
| 60 |
niveau_ok(1,2); | |
| 59 |
// Accès ok pour niveau 1
| |
| 60 |
niveau_ok(1,1); | |
| 61 | 61 | |
| 62 | 62 |
// compute starting time with microseconds precision |
| 63 | 63 |
if ($conf_aff_req_sql) {
|
| 64 | 64 |
| Old | New | Code |
|---|---|---|
| 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 |
// Accès ok pour niveaux 1 à 2 | |
| 62 |
niveau_ok(1,2); | |
| 61 |
// Accès ok pour niveau 1
| |
| 62 |
niveau_ok(1,1); | |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 65 | 65 |
if ($conf_aff_req_sql) {
|
| 66 | 66 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vérification 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 déconnecté")); 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 après ../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 |
// Accès 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, désactivons 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 |
/* Crée les objets TemTab */ | |
| 86 |
/* Crée les objets TemTab */
| |
| 87 | 87 |
/**************************/ |
| 88 | 88 |
|
| 89 | 89 |
$export_format = false;$sympa_format = false; |
| 147 | 147 |
foreach ($liste_prov as $val) {
|
| 148 | 148 |
if ($val[champ_contact] <> "") {array_push($sympa_liste_login, $val);}
|
| 149 | 149 |
} |
| 150 |
if (count($sympa_liste_login) == 0) {array_push($sympa_liste_login, array("", "", "Aucun login n'a d'émail !"));}
| |
| 150 |
if (count($sympa_liste_login) == 0) {array_push($sympa_liste_login, array("", "", "Aucun login n'a d'émail !"));}
| |
| 151 | 151 |
} |
| 152 | 152 | |
| 153 | 153 |
/***********************************/ |
| 176 | 176 |
@$template->replace_loop_vars("loop_f_login", $liste_login->RS_ligne);
|
| 177 | 177 |
} |
| 178 | 178 | |
| 179 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence) | |
| 179 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 180 | 180 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 181 | 181 |
if (!isset($affmess)) {$affmess = "";}
|
| 182 | 182 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 214 | 214 |
$mtime = explode(" ",microtime());
|
| 215 | 215 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 216 | 216 |
print "\n"; |
| 217 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 217 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 218 | 218 |
} |
| 219 | 219 | |
| 220 | 220 | |
| 221 | 221 |
| Old | New | Code |
|---|---|---|
| 24 | 24 |
if (isset($_SESSION['S_id'])) {session_destroy ();}
|
| 25 | 25 |
session_start(); |
| 26 | 26 | |
| 27 |
//Page accessible à tous | |
| 27 |
//Page accessible à tous
| |
| 28 | 28 |
|
| 29 | 29 |
// Load TemTab class et messages.inc.php |
| 30 | 30 |
require "../classes/class.TemTab.php"; |
| 31 | 31 |
require "../classes/class.ReqSql.php"; |
| 32 | 32 |
require "../utiles/config.inc.php"; |
| 33 | 33 |
require "../utiles/c.inc.php"; |
| 34 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php | |
| 34 |
// ../utiles/fonctions.inc.php OBLIGATOIREMENT après ../utiles/config.inc.php
| |
| 35 | 35 |
require "../utiles/fonctions.inc.php"; |
| 36 | 36 |
|
| 37 | 37 |
$langue_fichier = ""; |
| 43 | 43 |
$starttime = $mtime[1] + $mtime[0]; |
| 44 | 44 |
} |
| 45 | 45 |
|
| 46 |
// Soyons prudent et portable, désactivons 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()) {
| |
| 47 | 46 |
function stripslashes_deep($value) |
| 48 | 47 |
{
|
| 83 | 83 |
require langue_ok("../".$langue_fichier."html/messages.inc.php");
|
| 84 | 84 |
if (isset($_GET["langue"])) {$affmess = $traduction["VOUS_AVEZ_CHOISI_LANGUE"];}
|
| 85 | 85 |
|
| 86 |
// Préparation affichage liste | |
| 86 |
// Préparation affichage liste
| |
| 87 | 87 |
$liste_choix_langue = array(); asort($conf_lang); |
| 88 | 88 |
foreach ($conf_lang as $key => $val) {
|
| 89 | 89 |
if ($val[1] == "" or $val[1] == "test") {
|
| 105 | 105 | |
| 106 | 106 |
if (isset($_POST["f_connect"])) {
|
| 107 | 107 |
/*************************/ |
| 108 |
/* Vérification du login */ | |
| 108 |
/* Vérification du login */
| |
| 109 | 109 |
/*************************/ |
| 110 | 110 | |
| 111 | 111 |
$sel = $conf_champ_login.",".$conf_champ_contact; |
| 123 | 123 | |
| 124 | 124 | |
| 125 | 125 |
/******************************/ |
| 126 |
/* Vérification du login+pass+select des domaines */ | |
| 126 |
/* Vérification du login+pass+select des domaines */
| |
| 127 | 127 |
/******************************/ |
| 128 | 128 |
|
| 129 | 129 |
// else {$whe_pass = "\"\"";},
|
| 130 |
// sinon, problème mysql clause where et fonction de codage | |
| 130 |
// sinon, problème mysql clause where et fonction de codage
| |
| 131 | 131 |
if ($pass != "") {$whe_pass = codage_pass_mysql($pass, $conf_codage_pass_login);}
|
| 132 | 132 |
else {$whe_pass = "\"\"";}
|
| 133 | 133 |
|
| 141 | 141 |
$pass_code = $log_pass->RS_ligne["0"][$conf_champ_pass]; |
| 142 | 142 | |
| 143 | 143 |
if ($log_pass->RS_nb_ligne == 0) {
|
| 144 |
//log (les tentatives avec login ou pass vide ne sont pas loguée) | |
| 144 |
//log (les tentatives avec login ou pass vide ne sont pas loguée)
| |
| 145 | 145 |
if ($conf_log and !$champ_vide) {ajout_to_log("LOGIN FAILED: UNIDENTIFIED USER ".$login." or/and WRONG PASSWORD");}
|
| 146 | 146 |
$affmess = exclamation()."Login et mot de passe incorrects"; |
| 147 | 147 |
} |
| 156 | 156 |
$domaines = $log_pass->RS_ligne["0"][$conf_champ_domaines];$niveau = 2; |
| 157 | 157 |
if ($domaines == "all") {
|
| 158 | 158 |
$niveau = 1; |
| 159 |
// Sélection des domaunes présents dans la table transport, aux autres | |
| 159 |
// Sélection des domaunes présents dans la table transport, aux autres
| |
| 160 | 160 |
$domaines_array = array(); |
| 161 | 161 |
$dom_trans = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 162 | 162 |
$dom_trans->RS_select($conf_champ_domaine, $conf_table_transport); |
| 165 | 165 |
array_push($domaines_array, $val[$conf_champ_domaine]); |
| 166 | 166 |
} // foreach($conf_login_domaine as $val) |
| 167 | 167 | |
| 168 |
// on dédoublonne et on trie. | |
| 168 |
// on dédoublonne et on trie.
| |
| 169 | 169 |
$domaines_array = array_unique($domaines_array); |
| 170 | 170 |
sort($domaines_array, SORT_STRING); |
| 171 | 171 |
$domaines = implode(",", $domaines_array);
|
| 172 | 172 |
$domaines = str_replace(" ", "", $domaines);
|
| 173 | 173 |
} // if ($conf_login_domaine[$login] == "all") |
| 174 | 174 | |
| 175 |
// compte le nombre de domaines trouvés | |
| 175 |
// compte le nombre de domaines trouvés
| |
| 176 | 176 |
$nb_domaines = count(explode(",", $domaines));
|
| 177 | 177 | |
| 178 | 178 |
$_SESSION['S_niveau'] = $niveau; |
| 182 | 182 |
else {$_SESSION['S_domaines_courant'] = $domaines;}
|
| 183 | 183 |
$_SESSION['S_nb_domaines'] = $nb_domaines; |
| 184 | 184 |
|
| 185 |
// prépare le suivi de session par secure.inc.php | |
| 185 |
// prépare le suivi de session par secure.inc.php
| |
| 186 | 186 |
$_SESSION['S_pass'] = md5($pass_code).$adm_time_alea; |
| 187 | 187 |
} // if ($log_pass->RS_nb_ligne == 0) |
| 188 | 188 | |
| 199 | 199 |
// uniquement pour les sites de demo (v. utiles/config.inc.php) |
| 200 | 200 |
$site_demo = "<div><h2>Site demo</h2>- Superadministrateur: login supadmin, password supadmin<br>- Administrateur: login admin, password admin<br>- Exemple de css par domaine: login admin1, password admin1</div><div> </div>"; |
| 201 | 201 |
/**************************/ |
| 202 |
/* Crée les objets TemTab */ | |
| 202 |
/* Crée les objets TemTab */
| |
| 203 | 203 |
/**************************/ |
| 204 | 204 |
|
| 205 | 205 |
// top |
| 231 | 231 |
// Affichage des titres |
| 232 | 232 |
$template_meta->replace_var("t_nom_site", $conf_nom_site);
|
| 233 | 233 |
|
| 234 |
// affichage des langues à choisir | |
| 234 |
// affichage des langues à choisir
| |
| 235 | 235 |
$template->replace_loop_vars_one("loop_langue", $liste_choix_langue);
|
| 236 | 236 |
|
| 237 | 237 |
// Affichage de l'identifiant du site |
| 243 | 243 |
if ($conf_demo) {$template->replace_var("t_site_demo", $site_demo);} else {$template->replace_var("t_site_demo", "");}
|
| 244 | 244 |
|
| 245 | 245 |
|
| 246 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence) | |
| 246 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 247 | 247 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 248 | 248 |
if (!isset($affmess)) {$affmess = "";}
|
| 249 | 249 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 273 | 273 |
$mtime = explode(" ",microtime());
|
| 274 | 274 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 275 | 275 |
print "\n "; |
| 276 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 276 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 277 | 277 |
} |
| 278 | 278 | |
| 279 | 279 | |
| 280 | 280 |
| Old | New | Code |
|---|---|---|
| 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 |
// Accès ok pour niveaux 1 à 2 | |
| 62 |
niveau_ok(1,2); | |
| 61 |
// Accès ok pour niveau 1
| |
| 62 |
niveau_ok(1,1); | |
| 63 | 63 | |
| 64 | 64 |
// compute starting time with microseconds precision |
| 65 | 65 |
if ($conf_aff_req_sql) {
|
| 66 | 66 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vérification 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 déconnecté")); 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 après ../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 |
|
| 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 |
// Accès 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, désactivons 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 rôle différent joué par $f_mailbox, $f_mailbox_email | |
| 93 |
Il faut faire attention dans ce script au rôle différent joué par $f_mailbox, $f_mailbox_email
| |
| 94 | 94 |
$f_mailbox = user@domain.tld de la boite aux lettres |
| 95 |
$f_mailbox_email = le user de user@domain.tld, modifé ou pas par le client | |
| 95 |
$f_mailbox_email = le user de user@domain.tld, modifé ou pas par le client
| |
| 96 | 96 | |
| 97 | 97 |
******************************************************/ |
| 98 | 98 | |
| 99 |
// récupération de la boite aux lettres, des valeurs des autres champs | |
| 99 |
// récupération de la boite aux lettres, des valeurs des autres champs
| |
| 100 | 100 |
// et du domaine |
| 101 | 101 |
$f_mailbox = ""; $f_domaine = "";$f_mailbox_email = "";$f_mailbox_id = ""; |
| 102 | 102 |
$f_mailbox_pass1 = "";$f_mailbox_pass2 = "";$f_mailbox_nom = "";$get_full_mailbox = ""; |
| 103 | 103 |
if (isset($_GET["mailbox"])) {$get_full_mailbox = secure_get($_GET["mailbox"]);}
|
| 104 | 104 | |
| 105 |
// Retrouver le domaine passé avec la boite aux lettres | |
| 106 |
// Notamment pour verifier si le domaine est autorisé pour ce login | |
| 105 |
// Retrouver le domaine passé avec la boite aux lettres
| |
| 106 |
// Notamment pour verifier si le domaine est autorisé pour ce login | |
| 107 | 107 |
// avec verif_domaine($f_domaine); ci-dessous |
| 108 | 108 |
$at_pos = 0; |
| 109 | 109 |
$f_domaine = strstr($get_full_mailbox, "@"); |
| 110 | 110 |
$f_domaine = substr($f_domaine, 1, strlen($f_domaine)); |
| 111 | 111 |
$at_pos = strpos($get_full_mailbox, "@"); |
| 112 | 112 |
$f_mailbox_email = substr($get_full_mailbox, 0, $at_pos); |
| 113 |
// Vérifie si les domaines sont autorisé pour ce login | |
| 113 |
// Vérifie si les domaines sont autorisé pour ce login
| |
| 114 | 114 |
verif_domaine($f_domaine); |
| 115 | 115 | |
| 116 | 116 |
// on verifie si on n'a pas modifie l'adresse email en GET pour une inexistante |
| 166 | 166 |
if (isset($_POST["f_mailbox_email_accueil"])) {$f_mailbox_email_accueil = $_POST["f_mailbox_email_accueil"];}
|
| 167 | 167 |
if (isset($_POST["f_mailbox_quota"])) {$f_mailbox_quota = $_POST["f_mailbox_quota"];}
|
| 168 | 168 | |
| 169 |
// c'est la première fois qu'on charge la page, $_POST["f_no_active_defaut"] n'existe pas encore | |
| 169 |
// c'est la première fois qu'on charge la page, $_POST["f_no_active_defaut"] n'existe pas encore
| |
| 170 | 170 |
$no_active_defaut = $_POST["f_no_active_defaut"]; |
| 171 | 171 |
if (isset($_POST["f_mailbox_active"]) and $no_active_defaut == "1") |
| 172 | 172 |
{$active_checked = 1; $f_mailbox_active = 1;}
|
| 173 | 173 |
if (!isset($_POST["f_mailbox_active"]) and $no_active_defaut == "1") |
| 174 | 174 |
{$active_checked = 0; $f_mailbox_active = 0;}
|
| 175 |
// On va créer un $_POST["f_no_active_defaut"] dans un champ "hidden" avec | |
| 175 |
// On va créer un $_POST["f_no_active_defaut"] dans un champ "hidden" avec
| |
| 176 | 176 |
// $template->replace_var("t_f_no_active_defaut", $no_active_defaut);
|
| 177 |
// On saura alors qu'on est à un rechargement de la page | |
| 177 |
// On saura alors qu'on est à un rechargement de la page
| |
| 178 | 178 |
$no_active_defaut = "1"; |
| 179 | 179 |
|
| 180 | 180 |
// jamais W |
| 189 | 189 |
$f_mailbox_domaine = $f_domaine; |
| 190 | 190 | |
| 191 | 191 |
|
| 192 |
// Caractères autorisés pour le user | |
| 192 |
// Caractères autorisés pour le user
| |
| 193 | 193 |
$car_auth_user = ""; |
| 194 | 194 |
$car_auth_user = car_auth_user(); |
| 195 | 195 |
|
| 196 |
// Caractères autorisés pour le domaine | |
| 196 |
// Caractères autorisés pour le domaine
| |
| 197 | 197 |
$car_auth_domain = ""; |
| 198 | 198 |
$car_auth_domain = car_auth_domain(); |
| 199 | 199 | |
| 200 |
// Caractères autorisés pour le tld | |
| 200 |
// Caractères autorisés pour le tld
| |
| 201 | 201 |
$car_auth_tld = ""; |
| 202 | 202 |
$car_auth_tld = car_auth_tld(); |
| 203 | 203 |
|
| 423 | 423 |
} |
| 424 | 424 | |
| 425 | 425 |
if (isset($conf_mb_id)) {
|
| 426 |
// on vérifie si le champ is est rempli | |
| 426 |
// on vérifie si le champ is est rempli
| |
| 427 | 427 |
if ($f_mailbox_id == "") {
|
| 428 | 428 |
if ($affmess != "") {$affmess .= "<br>";}
|
| 429 | 429 |
$affmess .= exclamation().$traduction["VOUSDEVEZREMPLIRLECHAMP"]." id !"; |
| 430 | 430 |
$modif_autorise = false; |
| 431 | 431 |
} |
| 432 | 432 | |
| 433 |
// on vérifie si l'id n'a pas ete modifiee pour une qui existe deja | |
| 433 |
// on vérifie si l'id n'a pas ete modifiee pour une qui existe deja
| |
| 434 | 434 |
$verif_id = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 435 | 435 |
$sel = $conf_mb_id[0]; |
| 436 | 436 |
$from = $conf_table_mailbox; |
| 559 | 559 | |
| 560 | 560 | |
| 561 | 561 |
/**************************/ |
| 562 |
/* Crée les objets TemTab */ | |
| 562 |
/* Crée les objets TemTab */
| |
| 563 | 563 |
/**************************/ |
| 564 | 564 |
|
| 565 | 565 |
// top |
| 588 | 588 |
insere_menu ("Boites");
|
| 589 | 589 | |
| 590 | 590 |
// Affichage des balises meta et title: voir require ci-dessus |
| 591 |
// Affichage caractères autorisés | |
| 591 |
// Affichage caractères autorisés
| |
| 592 | 592 |
$template->replace_var("t_car_auth_user", $car_auth_user);
|
| 593 | 593 |
$template->replace_var("t_car_auth_domain", $car_auth_domain);
|
| 594 | 594 |
$template->replace_var("t_car_auth_tld", $car_auth_tld);
|
| 614 | 614 |
$template->replace_var("t_champ_gid", $champ_gid);
|
| 615 | 615 |
$template->replace_var("t_champ_domaine", $champ_domaine);
|
| 616 | 616 |
|
| 617 |
// Affichage boite aux lettres, partie modifiable de la boite aux lettres. Sauvetage du domaine sélectionné dans POST['f_domaine'] | |
| 617 |
// Affichage boite aux lettres, partie modifiable de la boite aux lettres. Sauvetage du domaine sélectionné dans POST['f_domaine']
| |
| 618 | 618 |
$template_tete->replace_var("t_f_domaine", $f_domaine);
|
| 619 | 619 |
$template->replace_var("t_f_domaine", $f_domaine);
|
| 620 | 620 |
$template->replace_var("t_f_mailbox_id", $f_mailbox_id);
|
| 640 | 640 |
$template->replace_var("t_f_mailbox_supprime_user", $f_mailbox_email);
|
| 641 | 641 |
|
| 642 | 642 | |
| 643 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence) | |
| 643 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 644 | 644 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 645 | 645 |
if (!isset($affmess)) {$affmess = "";}
|
| 646 | 646 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 670 | 670 |
$mtime = explode(" ",microtime());
|
| 671 | 671 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 672 | 672 |
print "\n"; |
| 673 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 673 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 674 | 674 |
} |
| 675 | 675 | |
| 676 | 676 | |
| 677 | 677 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vérification 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 déconnecté")); 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 après ../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 |
// Accès 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, désactivons 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 |
/* Crée les objets TemTab */ | |
| 86 |
/* Crée les objets TemTab */
| |
| 87 | 87 |
/**************************/ |
| 88 | 88 |
|
| 89 | 89 |
// top |
| 109 | 109 |
/* Traitement du script */ |
| 110 | 110 |
/************************/ |
| 111 | 111 | |
| 112 |
// Préparation de l'info alias / destination générique | |
| 112 |
// Préparation de l'info alias / destination générique
| |
| 113 | 113 |
$info_alias_dest_gen = ""; |
| 114 | 114 |
if (!($_SESSION["S_niveau"] == 1)) {
|
| 115 | 115 |
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>");
|
| 116 | 116 |
} |
| 117 | 117 |
else {
|
| 118 |
$info_alias_dest_gen = "Vous avez le droit de modifier des alias ou destinations génériques, du type "@domain.tld "."; | |
| 118 |
$info_alias_dest_gen = "Vous avez le droit de modifier des alias ou destinations génériques, du type "@domain.tld ".";
| |
| 119 | 119 |
} |
| 120 | 120 | |
| 121 | 121 |
$domaines = str_replace(" ", "", $_SESSION["S_domaines"]);
|
| 123 | 123 |
/***************/ |
| 124 | 124 |
/* Alias start */ |
| 125 | 125 |
/***************/ |
| 126 |
// construction de la clause where en fonction des domaines autorisés par le login | |
| 126 |
// construction de la clause where en fonction des domaines autorisés par le login
| |
| 127 | 127 |
$whe_dom = ""; |
| 128 | 128 |
$whe_dom = $conf_champ_alias." like \"%".$domaines; |
| 129 | 129 |
$whe_dom = str_replace(",", "\" or ".$conf_champ_alias." like \"%", $whe_dom);
|
| 130 | 130 |
$whe_dom = $whe_dom."\""; |
| 131 | 131 |
|
| 132 |
// recherche des alias et destinations génériques | |
| 132 |
// recherche des alias et destinations génériques
| |
| 133 | 133 |
$alias_dest_gen = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 134 | 134 |
$sel = $conf_champ_alias.", ".$conf_champ_destination; |
| 135 | 135 |
$from = $conf_table_alias; |
| 150 | 150 |
|
| 151 | 151 |
// Recherche des domaines ayant un alias |
| 152 | 152 |
$dom_login = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 153 |
// Pas mal, le select et le group by, là ;-) | |
| 153 |
// Pas mal, le select et le group by, là ;-)
| |
| 154 | 154 |
$sel = "SUBSTRING(".$conf_champ_alias.", LOCATE('@', ".$conf_champ_alias.") + 1, LENGTH(".$conf_champ_alias.")) as nom_domaine, count( SUBSTRING(".$conf_champ_alias.", LOCATE('@', ".$conf_champ_alias.") + 1, LENGTH(".$conf_champ_alias."))) as nb_domaine";
|
| 155 | 155 |
$from = $conf_table_alias; |
| 156 | 156 |
$group = "SUBSTRING(".$conf_champ_alias.", LOCATE('@', ".$conf_champ_alias.") + 1, LENGTH(".$conf_champ_alias."))";
|
| 160 | 160 | |
| 161 | 161 |
// Ajout des domaines n'ayant pas d'alias, puis tri |
| 162 | 162 |
$domaine_array = array();$dom_array_compare = array();$dom_array_all = array(); |
| 163 |
// dédoublonner le tableau de la requete + preparer un tableau simple de comparaison | |
| 163 |
// dédoublonner le tableau de la requete + preparer un tableau simple de comparaison
| |
| 164 | 164 |
foreach($dom_login->RS_ligne as $val) {
|
| 165 | 165 |
array_push($domaine_array, array_unique($val)); |
| 166 | 166 |
array_push($dom_array_compare, $val["0"]); |
| 167 | 167 |
} |
| 168 | 168 | |
| 169 |
// Tableau simple de tous les domaines autorisé | |
| 169 |
// Tableau simple de tous les domaines autorisé
| |
| 170 | 170 |
$dom_array_all = explode(",", $domaines);
|
| 171 | 171 | |
| 172 | 172 |
// ajout des domaines n'ayant pas d'alias a ceux qui en ont |
| 198 | 198 |
// Domaine |
| 199 | 199 |
$template_tete->replace_var("t_f_domaine", $_SESSION['S_domaines_courant']);
|
| 200 | 200 | |
| 201 |
// Affichage des alias et destination génériques | |
| 201 |
// Affichage des alias et destination génériques
| |
| 202 | 202 |
$template->replace_loop_vars_one("loop_gen", $alias_dest_gen_array);
|
| 203 | 203 |
|
| 204 | 204 |
// Affichage des statistiques des alias |
| 205 | 205 |
$template->replace_loop_vars("loop_stats", $domaine_array);
|
| 206 | 206 | |
| 207 |
// Affichage de l'info alias / destination générique | |
| 207 |
// Affichage de l'info alias / destination générique
| |
| 208 | 208 |
$template->replace_var("t_info_alias_dest_gen", $info_alias_dest_gen);
|
| 209 | 209 | |
| 210 | 210 |
// affichage du login |
| 212 | 212 |
$template->replace_var("t_login", $f_login);
|
| 213 | 213 | |
| 214 | 214 | |
| 215 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence) | |
| 215 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 216 | 216 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 217 | 217 |
if (!isset($affmess)) {$affmess = "";}
|
| 218 | 218 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 242 | 242 |
$mtime = explode(" ",microtime());
|
| 243 | 243 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 244 | 244 |
print "\n"; |
| 245 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 245 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 246 | 246 |
} |
| 247 | 247 | |
| 248 | 248 | |
| 249 | 249 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vérification 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 déconnecté")); 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 après ../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 |
// Accès 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, désactivons 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 |
/* Crée les objets TemTab */ | |
| 86 |
/* Crée les objets TemTab */
| |
| 87 | 87 |
/**************************/ |
| 88 | 88 |
|
| 89 | 89 |
// top |
| 128 | 128 |
$f_login = $_SESSION["S_login"]; |
| 129 | 129 |
$template->replace_var("t_login", $f_login);
|
| 130 | 130 | |
| 131 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence) | |
| 131 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 132 | 132 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 133 | 133 |
if (!isset($affmess)) {$affmess = "";}
|
| 134 | 134 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 158 | 158 |
$mtime = explode(" ",microtime());
|
| 159 | 159 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 160 | 160 |
print "\n"; |
| 161 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 161 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 162 | 162 |
} |
| 163 | 163 | |
| 164 | 164 | |
| 165 | 165 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vérification 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 déconnecté")); 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 après ../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 |
// Accès ok pour niveaux 2 Le niveau 1 risque de pomper bcp de ressources | |
| 60 |
// Accès ok pour niveaux 2 Le niveau 1 risque de pomper bcp de ressources
| |
| 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, désactivons 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 |
/* Crée les objets TemTab */ | |
| 86 |
/* Crée les objets TemTab */
| |
| 87 | 87 |
/**************************/ |
| 88 | 88 |
|
| 89 | 89 |
// top |
| 109 | 109 |
/* Traitement du script */ |
| 110 | 110 |
/************************/ |
| 111 | 111 | |
| 112 |
// Préparation de l'info alias / destination générique | |
| 112 |
// Préparation de l'info alias / destination générique
| |
| 113 | 113 |
$info_alias_dest_gen = ""; |
| 114 | 114 |
if (!($_SESSION["S_niveau"] == 1)) {
|
| 115 |
$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."; | |
| 115 |
$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.";
| |
| 116 | 116 |
} |
| 117 | 117 |
else {
|
| 118 | 118 |
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>");
|
| 123 | 123 |
/***************/ |
| 124 | 124 |
/* Alias start */ |
| 125 | 125 |
/***************/ |
| 126 |
// construction de la clause where en fonction des domaines autorisés par le login | |
| 126 |
// construction de la clause where en fonction des domaines autorisés par le login
| |
| 127 | 127 |
$whe_dom = ""; |
| 128 | 128 |
$whe_dom = $conf_champ_alias." like \"%".$domaines; |
| 129 | 129 |
$whe_dom = str_replace(",", "\" or ".$conf_champ_alias." like \"%", $whe_dom);
|
| 130 | 130 |
$whe_dom = $whe_dom."\""; |
| 131 | 131 |
|
| 132 |
// recherche des alias et destinations génériques | |
| 132 |
// recherche des alias et destinations génériques
| |
| 133 | 133 |
$alias_dest_gen = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 134 | 134 |
$sel = $conf_champ_alias.", ".$conf_champ_destination; |
| 135 | 135 |
$from = $conf_table_alias; |
| 150 | 150 |
|
| 151 | 151 |
// Recherche des domaines ayant un alias |
| 152 | 152 |
$dom_login = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 153 |
// Pas mal, le select et le group by, là ;-) | |
| 153 |
// Pas mal, le select et le group by, là ;-)
| |
| 154 | 154 |
$sel = "SUBSTRING(".$conf_champ_alias.", LOCATE('@', ".$conf_champ_alias.") + 1, LENGTH(".$conf_champ_alias.")) as nom_domaine, count( SUBSTRING(".$conf_champ_alias.", LOCATE('@', ".$conf_champ_alias.") + 1, LENGTH(".$conf_champ_alias."))) as nb_domaine";
|
| 155 | 155 |
$from = $conf_table_alias; |
| 156 | 156 |
$group = "SUBSTRING(".$conf_champ_alias.", LOCATE('@', ".$conf_champ_alias.") + 1, LENGTH(".$conf_champ_alias."))";
|
| 160 | 160 | |
| 161 | 161 |
// Ajout des domaines n'ayant pas d'alias, puis tri |
| 162 | 162 |
$domaine_array = array();$dom_array_compare = array();$dom_array_all = array(); |
| 163 |
// dédoublonner le tableau de la requete + preparer un tableau simple de comparaison | |
| 163 |
// dédoublonner le tableau de la requete + preparer un tableau simple de comparaison
| |
| 164 | 164 |
foreach($dom_login->RS_ligne as $val) {
|
| 165 | 165 |
array_push($domaine_array, array_unique($val)); |
| 166 | 166 |
array_push($dom_array_compare, $val["0"]); |
| 167 | 167 |
} |
| 168 | 168 | |
| 169 |
// Tableau simple de tous les domaines autorisé | |
| 169 |
// Tableau simple de tous les domaines autorisé
| |
| 170 | 170 |
$dom_array_all = explode(",", $domaines);
|
| 171 | 171 | |
| 172 | 172 |
// ajout des domaines n'ayant pas d'alias a ceux qui en ont |
| 188 | 188 |
/*****************/ |
| 189 | 189 |
/* Mailbox start */ |
| 190 | 190 |
/*****************/ |
| 191 |
// construction de la clause where en fonction des domaines autorisés par le login | |
| 191 |
// construction de la clause where en fonction des domaines autorisés par le login
| |
| 192 | 192 |
$whe_dom = ""; |
| 193 | 193 |
$whe_dom = $conf_mb_email[0]." like \"%".$domaines; |
| 194 | 194 |
$whe_dom = str_replace(",", "\" or ".$conf_mb_email[0]." like \"%", $whe_dom);
|
| 196 | 196 |
|
| 197 | 197 |
// Recherche des domaines ayant une mailbox |
| 198 | 198 |
$dom_login_mb = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 199 |
// Pas mal, le select et le group by, là ;-) | |
| 199 |
// Pas mal, le select et le group by, là ;-)
| |
| 200 | 200 |
$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";
|
| 201 | 201 |
$from = $conf_table_mailbox; |
| 202 | 202 |
$group = "SUBSTRING(".$conf_mb_email[0].", LOCATE('@', ".$conf_mb_email[0].") + 1, LENGTH(".$conf_mb_email[0]."))";
|
| 206 | 206 | |
| 207 | 207 |
// Ajout des domaines n'ayant pas de mailbox, puis tri |
| 208 | 208 |
$domaine_array_mb = array();$dom_array_mb_compare = array();$dom_array_mb_all = array(); |
| 209 |
// dédoublonner le tableau de la requete + preparer un tableau simple de comparaison | |
| 209 |
// dédoublonner le tableau de la requete + preparer un tableau simple de comparaison
| |
| 210 | 210 |
foreach($dom_login_mb->RS_ligne as $val) {
|
| 211 | 211 |
array_push($domaine_array_mb, array_unique($val)); |
| 212 | 212 |
array_push($dom_array_mb_compare, $val["0"]); |
| 213 | 213 |
} |
| 214 | 214 | |
| 215 |
// Tableau simple de tous les domaines autorisé | |
| 215 |
// Tableau simple de tous les domaines autorisé
| |
| 216 | 216 |
$dom_array_mb_all = explode(",", $domaines);
|
| 217 | 217 | |
| 218 | 218 |
// ajout des domaines n'ayant pas de mailbox a ceux qui en ont |
| 239 | 239 |
$from = $conf_table_login; |
| 240 | 240 |
$liste_login->RS_select($sel, $from, "", $conf_champ_login); |
| 241 | 241 |
mysql_free_result($liste_login->RS_res); |
| 242 |
$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>";
| |
| 242 |
$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>";
| |
| 243 | 243 |
|
| 244 | 244 |
$liste_dom = new ReqSql($hm_, $um_, $pm_, $nm_); |
| 245 | 245 |
$sel = $conf_champ_domaine.",".$conf_champ_transport; |
| 246 | 246 |
$from = $conf_table_transport; |
| 247 | 247 |
$liste_dom->RS_select($sel, $from, "", $conf_champ_domaine); |
| 248 | 248 |
mysql_free_result($liste_dom->RS_res); |
| 249 |
$f_base_domaines = "Domaines [<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>";
| |
| 249 |
$f_base_domaines = "Domaines [<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>";
| |
| 250 | 250 | |
| 251 | 251 |
} // if ($_SESSION["S_niveau"] == 1) |
| 252 | 252 |
|
| 264 | 264 |
// Domaine |
| 265 | 265 |
$template_tete->replace_var("t_f_domaine", $_SESSION['S_domaines_courant']);
|
| 266 | 266 | |
| 267 |
// Affichage des alias et destination génériques | |
| 267 |
// Affichage des alias et destination génériques
| |
| 268 | 268 |
$template->replace_loop_vars_one("loop_gen", $alias_dest_gen_array);
|
| 269 | 269 |
|
| 270 | 270 |
// Affichage des statistiques des alias |
| 283 | 283 |
if ($_SESSION["S_niveau"] == 1) {$template->replace_loop_vars("loop_liste_domaines", $liste_dom->RS_ligne);}
|
| 284 | 284 |
else {@$template->replace_loop_vars("loop_liste_domaines", $login_domaines_array);} // tableau vide si niveau 2
|
| 285 | 285 |
*/ |
| 286 |
// Affichage de l'info alias / destination générique | |
| 286 |
// Affichage de l'info alias / destination générique
| |
| 287 | 287 |
$template->replace_var("t_info_alias_dest_gen", $info_alias_dest_gen);
|
| 288 | 288 | |
| 289 | 289 |
// affichage du login |
| 291 | 291 |
$template->replace_var("t_login", $f_login);
|
| 292 | 292 | |
| 293 | 293 | |
| 294 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence) | |
| 294 |
// prépare un message éventuellement passé par GET (déconnexion, en l'occurence)
| |
| 295 | 295 |
if (isset($_GET["mess"])) {$affmess = stripslashes(secure_get($_GET["mess"]));}
|
| 296 | 296 |
if (!isset($affmess)) {$affmess = "";}
|
| 297 | 297 |
if (isset($_GET["mess"]) or $affmess != "") {
|
| 321 | 321 |
$mtime = explode(" ",microtime());
|
| 322 | 322 |
$endtime = $mtime[1] + $mtime[0] - $starttime; |
| 323 | 323 |
print "\n"; |
| 324 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>"; | |
| 324 |
print "<div><div class=\"pied\">Durée du traitement: ".$endtime." microsecondes</div></div>\n<br>";
| |
| 325 | 325 |
} |
| 326 | 326 | |
| 327 | 327 | |
| 328 | 328 |
| Old | New | Code |
|---|---|---|
| 20 | 20 |
* Company: Cassiopea asbl - Belgique |
| 21 | 21 |
*****************************************************************************/ |
| 22 | 22 |
|
| 23 |
// Placement d'un cookie de vérification 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 déconnecté")); 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 après ../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 |
// Accès ok pour niveaux 1 à 2 | |
| 61 |
niveau_ok(1,2); | |
| 60 |
// Accès ok pour niveau 1
| |
| 61 |
niveau_ok(1,1); | |
| 62 | 62 | |
| 63 | 63 |
// compute starting time with microseconds precision |
| 64 | 64 |
if ($conf_aff_req_sql) {
|
| 66 | 66 |
$starttime = $mtime[1] + $mtime[0]; |
| 67 | 67 |
} |
| 68 | 68 |
|
| 69 |
// Soyons prudent et portable, désactivons 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 |
// récupération 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 |
// Vérifie 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 |
/* Crée 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 |
// prépare un message éventuellement passé par GET (déconnexion, 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\">Durée 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 |
|---|---|---|
| 2 | 2 |
/***********************************/ |
| 3 | 3 |
/* Fichier de configuration de bechamail */ |
| 4 | 4 |
/***********************************/ |
| 5 |
// fichier pour développement local | |
| 5 |
// fichier pour développement local
| |
| 6 | 6 | |
| 7 | 7 |
// Nom du site |
| 8 | 8 |
$conf_nom_site = "Bechamail local dev"; |
| 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="bechloglocal"; |
| 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 particulières 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 particulières 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 commentée, 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=3; |
| 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) | |
| 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 écrasée, domaine par domaine, par la décision 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 commentée, 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 défaut 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 inopérante) | |
| 109 |
// !! TOUJOURS = force par le programme (la valeur V3 est inopérante)
| |
| 110 | 110 | |
| 111 | 111 |
$conf_table_mailbox="mailbox"; |
| 112 | 112 | |
| 113 | 113 |
// Certains systemes demande la generation d'une ID pour les mailbox. Voici 3 possibilites: |
| 114 |
// Si ce champ est active, il sera obligatoire, l'unicité sera vérifiée par le programme. | |
| 114 |
// Si ce champ est active, il sera obligatoire, l'unicité sera vérifiée par le programme.
| |
| 115 | 115 | |
| 116 | 116 |
//$conf_mb_id=array("id","","RRR","CHAINE",128);
|
| 117 | 117 |
// id determinee manuellement |
| 118 | 118 |
// Toujours WWN en ajout, RRR autrement |
| 119 | 119 | |
| 120 | 120 |
// Les 3 possibilites suivantes sont toujours RRR, les ajouts sont geres par le programme |
| 121 |
// Si l'id existe déjà, elle est incrémentée successivement jusqu'à unicité: id0, id1, etc. | |
| 121 |
// Si l'id existe déjà , elle est incrémentée successivement jusqu'à unicité: id0, id1, etc.
| |
| 122 | 122 |
//$conf_mb_id=array("id","email","RRR","CHAINE",128); // l'id = user@domain.tld
|
| 123 | 123 |
//$conf_mb_id=array("id","md5email","RRR","CHAINE",128); // l'id = md5(user@domain.tld)
|
| 124 |
$conf_mb_id=array("id","xxx.user","RRR","CHAINE",128); // cas de cassiopea; xxx = les 3 premières lettres du domaine et user = la partie user de user@domain.tld.
| |
| 124 |
$conf_mb_id=array("id","xxx.user","RRR","CHAINE",128); // cas de cassiopea; xxx = les 3 premières lettres du domaine et user = la partie user de user@domain.tld.
| |
| 125 | 125 | |
| 126 | 126 |
$conf_mb_email=array("email","","WWR","CHAINE",128);
|
| 127 |
// !! TOUJOURS RRR en modification !! L'unicité sera vérifiée par le programme. | |
| 128 |
// Seule la partie user de user@domain est éditable dans l'ajout. | |
| 127 |
// !! TOUJOURS RRR en modification !! L'unicité sera vérifiée par le programme.
| |
| 128 |
// Seule la partie user de user@domain est éditable dans l'ajout. | |
| 129 | 129 |
// Ce champ est obligatoire |
| 130 | 130 | |
| 131 | 131 |
$conf_mb_pass_clair=array("clear","","WWW","CHAINE",128);
|
| 144 | 144 |
$conf_long_commentaire_list_mb=20; |
| 145 | 145 | |
| 146 | 146 |
$conf_user_email_accueil=array("","","WWN","CHAINE",128);
|
| 147 |
// Ou envoyer les paramètres la première fois? | |
| 148 |
// V1 = toujours "" (pas un champ dans la base); V2 = "" (on ne connaît pas la valeur par defaut) | |
| 147 |
// Ou envoyer les paramètres la première fois?
| |
| 148 |
// V1 = toujours "" (pas un champ dans la base); V2 = "" (on ne connaît pas la valeur par defaut) | |
| 149 | 149 |
// NB: V3 != "WWN" n'a pas de sens, ici |
| 150 | 150 |
// Enfin, meme si cette variable est desactivee, (et si la fonction mail de php est activee), |
| 151 | 151 |
// l'email de premier accueil est envoye a la boite cree |
| 157 | 157 |
// valeur du quota maximum pour une boite aux lettres; peut etre ecrasee par le superadmin seulement |
| 158 | 158 | |
| 159 | 159 |
$conf_mb_active=array("active","1","WWR","BOOL");
|
| 160 |
// "1" = actif par defaut | "0" = inactif par defaut (à l'ajout) | |
| 160 |
// "1" = actif par defaut | "0" = inactif par defaut (Ã l'ajout)
| |
| 161 | 161 | |
| 162 | 162 |
$conf_mb_date_creation=array("created","date()","RRN","DATETIME");
|
| 163 | 163 |
// Conserve toujours sa valeur au moment de l'ajout (W n'est jamais traite) ! |
| 164 | 164 |
// N'est actif que dans le formulaire de creation (ajout), |
| 165 |
// mais n'y est pas affiché, puisque pas encore connu | |
| 165 |
// mais n'y est pas affiché, puisque pas encore connu
| |
| 166 | 166 | |
| 167 | 167 |
$conf_mb_date_modif=array("modified","date()","RRN","DATETIME");
|
| 168 | 168 |
// Conserve toujours sa valeur au moment de la modification (W n'est jamais traite) ! |
| 169 | 169 |
// Est actif que dans le formulaire de creation et de modification, |
| 170 |
// mais n'est pas affiché en ajout, puisque pas encore connu | |
| 170 |
// mais n'est pas affiché en ajout, puisque pas encore connu
| |
| 171 | 171 | |
| 172 | 172 |
$conf_mb_homemail_rep=array("homedir","/home/bechmail","RNN","CHAINE",128);
|
| 173 | 173 |
// Conserve toujours sa valeur par defaut (W n'est jamais traite) ! |
| 175 | 175 |
$conf_mb_mailbox_rep=array("maildir","|domain|/|user|/","RNN","CHAINE",255);
|
| 176 | 176 |
// Conserve toujours sa valeur par defaut (W n'est jamais traite) ! |
| 177 | 177 |
// |user| et |domain| sont des variables interpretees pour ce champ, |
| 178 |
// a partir du champ email, représentant user et domain.tld de user@domain.tld | |
| 178 |
// a partir du champ email, représentant user et domain.tld de user@domain.tld
| |
| 179 | 179 |
// NB: domain.tld est un choix dans la liste des domaines autorises pour l'utilisateur |
| 180 | 180 | |
| 181 | 181 |
$conf_mb_uid=array("uid","1001","RNN","ENTIER");
|
| 190 | 190 | |
| 191 | 191 | |
| 192 | 192 |
// Definition des variable du mail d'accueil envoye a l'ajout d'une mailbox; |
| 193 |
// le message lui-même est défini dans html/messages.inc.php ou ISO_html/messages.inc.php | |
| 193 |
// le message lui-même est défini dans html/messages.inc.php ou ISO_html/messages.inc.php
| |
| 194 | 194 |
// en fonction du code ISO de la langue - ISO 639-2/B, voir utiles/conf-lang.inc.php |
| 195 | 195 |
$conf_serveur_pop3="pop.domain.tld"; |
| 196 | 196 |
$conf_port_pop3="110"; |
| 207 | 207 |
$conf_email_mailmaster = "mailmaster@domain.tld"; |
| 208 | 208 | |
| 209 | 209 |
// Les destinations des alias generiques (@domain.tld) sont des domaines de la table des transports = true; |
| 210 |
// Les destinations des alias generiques (@domain.tld) sont gérées par le MTA = false; | |
| 210 |
// Les destinations des alias generiques (@domain.tld) sont gérées par le MTA = false;
| |
| 211 | 211 |
// TO DO |
| 212 | 212 |
$conf_alias_gen_transport = true; |
| 213 | 213 |
//$conf_alias_gen_transport = false; |
| 240 | 240 |
//$conf_aff_req_sql=true; |
| 241 | 241 | |
| 242 | 242 |
// true: la page login affiche un login supadmin pass supadmin et un login admin pass admin pour les demo. |
| 243 |
// il faut alors bien sur créer ces login/pass de demo | |
| 243 |
// il faut alors bien sur créer ces login/pass de demo
| |
| 244 | 244 |
// Ceci, uniquement pour les site de demo !!!! |
| 245 | 245 |
// L'envoi d'email est desactive dans ce mode et le titre SITE DE DEMO apparait sur le site |
| 246 | 246 |
$conf_demo=false; |
| 259 | 259 |
$conf_path_from_root = substr($conf_path_from_root, 0, -strlen(strrchr($conf_path_from_root, "/")))."/"; |
| 260 | 260 |
$conf_absolute_path = $_SERVER["DOCUMENT_ROOT"].$conf_path_from_root; |
| 261 | 261 | |
| 262 |
// Placement d'un cookie de vérification pour le login | |
| 262 |
// Placement d'un cookie de vérification pour le login
| |
| 263 | 263 |
SETCOOKIE("BechamailCookieEnabled", "supportbechamail");
|
| 264 | 264 |
// nom du script en cours |
| 265 | 265 |
$conf_script_name = substr(strrchr($_SERVER["SCRIPT_FILENAME"], "/"), 1); |
| 272 | 272 |
if ($conf_lang_defaut == "fre") {$conf_lang_defaut = "";}
|
| 273 | 273 | |
| 274 | 274 |
// fonctionnement obligatoire en mode securise |
| 275 |
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.");}
| |
| 275 |
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.");}
| |
| 276 | 276 | |
| 277 | 277 |
/******************************************************************************************************/ |
| 278 | 278 | |
| 279 | 279 |

Bechamail