websiteWebsite
bechamail Bechamail
Bechamail est un outil de gestion des adresses email par domaine, avant tout orienté utilisateur final.

 

Browse the code

Differences between 129 and 130 on /.
Number of edited files: 16 (0 added, 0 deleted and 16 modified)
Author: zenjo
Log message: quelques corrections pour utf8 et certains fichiers en construction
Date: 2009-12-26 12:46:52

Added file(s) Deleted file(s) Modified file(s)

 

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 --&gt;
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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;&#183;&nbsp;</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>&nbsp;</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  &quot;@domain.tld &quot;.";
  118
		$info_alias_dest_gen = "Vous avez le droit de modifier des alias ou destinations génériques, du type  &quot;@domain.tld &quot;.";
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 &quot;@domain.tld &quot; ! 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 &quot;@domain.tld &quot; ! 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