Completed
Push — master ( 3898e1...ad50fe )
by cam
01:35
created
ecrire/action/converser.php 1 patch
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Langue
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 include_spip('inc/cookie');
@@ -30,21 +30,21 @@  discard block
 block discarded – undo
30 30
  * @return void
31 31
  */
32 32
 function action_converser_dist() {
33
-	$update_session = false;
34
-	if (_request('arg') and spip_connect()) {
35
-		$securiser_action = charger_fonction('securiser_action', 'inc');
36
-		$securiser_action();
37
-		$update_session = true;
38
-	}
33
+    $update_session = false;
34
+    if (_request('arg') and spip_connect()) {
35
+        $securiser_action = charger_fonction('securiser_action', 'inc');
36
+        $securiser_action();
37
+        $update_session = true;
38
+    }
39 39
 
40
-	$lang = action_converser_changer_langue($update_session);
41
-	$redirect = rawurldecode(_request('redirect'));
40
+    $lang = action_converser_changer_langue($update_session);
41
+    $redirect = rawurldecode(_request('redirect'));
42 42
 
43
-	if (!$redirect) {
44
-		$redirect = _DIR_RESTREINT_ABS;
45
-	}
46
-	$redirect = parametre_url($redirect, 'lang', $lang, '&');
47
-	redirige_par_entete($redirect, true);
43
+    if (!$redirect) {
44
+        $redirect = _DIR_RESTREINT_ABS;
45
+    }
46
+    $redirect = parametre_url($redirect, 'lang', $lang, '&');
47
+    redirige_par_entete($redirect, true);
48 48
 }
49 49
 
50 50
 /**
@@ -56,23 +56,23 @@  discard block
 block discarded – undo
56 56
  * @return string
57 57
  */
58 58
 function action_converser_changer_langue($update_session) {
59
-	if ($lang = _request('var_lang')) {
60
-		action_converser_post($lang);
61
-	} elseif ($lang = _request('var_lang_ecrire')) {
62
-		if ($update_session) {
63
-			sql_updateq('spip_auteurs', ['lang' => $lang], 'id_auteur = ' . $GLOBALS['visiteur_session']['id_auteur']);
64
-			$GLOBALS['visiteur_session']['lang'] = $lang;
65
-			$session = charger_fonction('session', 'inc');
66
-			if ($spip_session = $session($GLOBALS['visiteur_session'])) {
67
-				spip_setcookie('spip_session', $spip_session, [
68
-					'expires' => time() + 3600 * 24 * 14
69
-				]);
70
-			}
71
-		}
72
-		action_converser_post($lang, true);
73
-	}
59
+    if ($lang = _request('var_lang')) {
60
+        action_converser_post($lang);
61
+    } elseif ($lang = _request('var_lang_ecrire')) {
62
+        if ($update_session) {
63
+            sql_updateq('spip_auteurs', ['lang' => $lang], 'id_auteur = ' . $GLOBALS['visiteur_session']['id_auteur']);
64
+            $GLOBALS['visiteur_session']['lang'] = $lang;
65
+            $session = charger_fonction('session', 'inc');
66
+            if ($spip_session = $session($GLOBALS['visiteur_session'])) {
67
+                spip_setcookie('spip_session', $spip_session, [
68
+                    'expires' => time() + 3600 * 24 * 14
69
+                ]);
70
+            }
71
+        }
72
+        action_converser_post($lang, true);
73
+    }
74 74
 
75
-	return $lang;
75
+    return $lang;
76 76
 }
77 77
 
78 78
 /**
@@ -83,17 +83,17 @@  discard block
 block discarded – undo
83 83
  * @return void
84 84
  */
85 85
 function action_converser_post($lang, $ecrire = false) {
86
-	if ($lang) {
87
-		include_spip('inc/lang');
88
-		if (changer_langue($lang)) {
89
-			spip_setcookie('spip_lang', $_COOKIE['spip_lang'] = $lang, [
90
-				'expires' => time() + 365 * 24 * 3600
91
-			]);
92
-			if ($ecrire) {
93
-				spip_setcookie('spip_lang_ecrire', $_COOKIE['spip_lang_ecrire'] = $lang, [
94
-					'expires' => time() + 365 * 24 * 3600
95
-				]);
96
-			}
97
-		}
98
-	}
86
+    if ($lang) {
87
+        include_spip('inc/lang');
88
+        if (changer_langue($lang)) {
89
+            spip_setcookie('spip_lang', $_COOKIE['spip_lang'] = $lang, [
90
+                'expires' => time() + 365 * 24 * 3600
91
+            ]);
92
+            if ($ecrire) {
93
+                spip_setcookie('spip_lang_ecrire', $_COOKIE['spip_lang_ecrire'] = $lang, [
94
+                    'expires' => time() + 365 * 24 * 3600
95
+                ]);
96
+            }
97
+        }
98
+    }
99 99
 }
Please login to merge, or discard this patch.
ecrire/action/logout.php 1 patch
Indentation   +80 added lines, -80 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  */
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('inc/cookie');
@@ -34,73 +34,73 @@  discard block
 block discarded – undo
34 34
  *
35 35
  */
36 36
 function action_logout_dist() {
37
-	$logout = _request('logout');
38
-	$url = securiser_redirect_action(_request('url'));
39
-	// cas particulier, logout dans l'espace public
40
-	if ($logout == 'public' and !$url) {
41
-		$url = url_de_base();
42
-	}
37
+    $logout = _request('logout');
38
+    $url = securiser_redirect_action(_request('url'));
39
+    // cas particulier, logout dans l'espace public
40
+    if ($logout == 'public' and !$url) {
41
+        $url = url_de_base();
42
+    }
43 43
 
44
-	// seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee)
45
-	if (
46
-		isset($GLOBALS['visiteur_session']['id_auteur'])
47
-		and is_numeric($GLOBALS['visiteur_session']['id_auteur'])
48
-		// des sessions anonymes avec id_auteur=0 existent, mais elle n'ont pas de statut : double check
49
-		and isset($GLOBALS['visiteur_session']['statut'])
50
-	) {
51
-		// il faut un jeton pour fermer la session (eviter les CSRF)
52
-		if (
53
-			!$jeton = _request('jeton')
54
-			or !verifier_jeton_logout($jeton, $GLOBALS['visiteur_session'])
55
-		) {
56
-			$jeton = generer_jeton_logout($GLOBALS['visiteur_session']);
57
-			$action = generer_url_action('logout', "jeton=$jeton");
58
-			$action = parametre_url($action, 'logout', _request('logout'));
59
-			$action = parametre_url($action, 'url', _request('url'));
60
-			include_spip('inc/minipres');
61
-			include_spip('inc/filtres');
62
-			$texte = bouton_action(_T('spip:icone_deconnecter'), $action);
63
-			$texte = "<div class='boutons'>$texte</div>";
64
-			$texte .= '<script type="text/javascript">document.write("<style>body{visibility:hidden;}</style>");window.document.forms[0].submit();</script>';
65
-			$res = minipres(_T('spip:icone_deconnecter'), $texte, ['all_inline' => true]);
66
-			echo $res;
44
+    // seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee)
45
+    if (
46
+        isset($GLOBALS['visiteur_session']['id_auteur'])
47
+        and is_numeric($GLOBALS['visiteur_session']['id_auteur'])
48
+        // des sessions anonymes avec id_auteur=0 existent, mais elle n'ont pas de statut : double check
49
+        and isset($GLOBALS['visiteur_session']['statut'])
50
+    ) {
51
+        // il faut un jeton pour fermer la session (eviter les CSRF)
52
+        if (
53
+            !$jeton = _request('jeton')
54
+            or !verifier_jeton_logout($jeton, $GLOBALS['visiteur_session'])
55
+        ) {
56
+            $jeton = generer_jeton_logout($GLOBALS['visiteur_session']);
57
+            $action = generer_url_action('logout', "jeton=$jeton");
58
+            $action = parametre_url($action, 'logout', _request('logout'));
59
+            $action = parametre_url($action, 'url', _request('url'));
60
+            include_spip('inc/minipres');
61
+            include_spip('inc/filtres');
62
+            $texte = bouton_action(_T('spip:icone_deconnecter'), $action);
63
+            $texte = "<div class='boutons'>$texte</div>";
64
+            $texte .= '<script type="text/javascript">document.write("<style>body{visibility:hidden;}</style>");window.document.forms[0].submit();</script>';
65
+            $res = minipres(_T('spip:icone_deconnecter'), $texte, ['all_inline' => true]);
66
+            echo $res;
67 67
 
68
-			return;
69
-		}
68
+            return;
69
+        }
70 70
 
71
-		include_spip('inc/auth');
72
-		auth_trace($GLOBALS['visiteur_session'], '0000-00-00 00:00:00');
73
-		// le logout explicite vaut destruction de toutes les sessions
74
-		if (isset($_COOKIE['spip_session'])) {
75
-			$session = charger_fonction('session', 'inc');
76
-			$session($GLOBALS['visiteur_session']['id_auteur']);
77
-			spip_setcookie('spip_session', $_COOKIE['spip_session'], [
78
-				'expires' => time() - 3600
79
-			]);
80
-		}
81
-		// si authentification http, et que la personne est loge,
82
-		// pour se deconnecter, il faut proposer un nouveau formulaire de connexion http
83
-		if (
84
-			isset($_SERVER['PHP_AUTH_USER'])
85
-			and !$GLOBALS['ignore_auth_http']
86
-			and $GLOBALS['auth_can_disconnect']
87
-		) {
88
-			ask_php_auth(
89
-				_T('login_deconnexion_ok'),
90
-				_T('login_verifiez_navigateur'),
91
-				_T('login_retour_public'),
92
-				'redirect=' . _DIR_RESTREINT_ABS,
93
-				_T('login_test_navigateur'),
94
-				true
95
-			);
96
-		}
97
-	}
71
+        include_spip('inc/auth');
72
+        auth_trace($GLOBALS['visiteur_session'], '0000-00-00 00:00:00');
73
+        // le logout explicite vaut destruction de toutes les sessions
74
+        if (isset($_COOKIE['spip_session'])) {
75
+            $session = charger_fonction('session', 'inc');
76
+            $session($GLOBALS['visiteur_session']['id_auteur']);
77
+            spip_setcookie('spip_session', $_COOKIE['spip_session'], [
78
+                'expires' => time() - 3600
79
+            ]);
80
+        }
81
+        // si authentification http, et que la personne est loge,
82
+        // pour se deconnecter, il faut proposer un nouveau formulaire de connexion http
83
+        if (
84
+            isset($_SERVER['PHP_AUTH_USER'])
85
+            and !$GLOBALS['ignore_auth_http']
86
+            and $GLOBALS['auth_can_disconnect']
87
+        ) {
88
+            ask_php_auth(
89
+                _T('login_deconnexion_ok'),
90
+                _T('login_verifiez_navigateur'),
91
+                _T('login_retour_public'),
92
+                'redirect=' . _DIR_RESTREINT_ABS,
93
+                _T('login_test_navigateur'),
94
+                true
95
+            );
96
+        }
97
+    }
98 98
 
99
-	// Rediriger en contrant le cache navigateur (Safari3)
100
-	include_spip('inc/headers');
101
-	redirige_par_entete($url
102
-		? parametre_url($url, 'var_hasard', uniqid(random_int(0, mt_getrandmax())), '&')
103
-		: generer_url_public('login'));
99
+    // Rediriger en contrant le cache navigateur (Safari3)
100
+    include_spip('inc/headers');
101
+    redirige_par_entete($url
102
+        ? parametre_url($url, 'var_hasard', uniqid(random_int(0, mt_getrandmax())), '&')
103
+        : generer_url_public('login'));
104 104
 }
105 105
 
106 106
 /**
@@ -111,17 +111,17 @@  discard block
 block discarded – undo
111 111
  * @return string
112 112
  */
113 113
 function generer_jeton_logout($session, $alea = null) {
114
-	if (is_null($alea)) {
115
-		include_spip('inc/acces');
116
-		$alea = charger_aleas();
117
-	}
114
+    if (is_null($alea)) {
115
+        include_spip('inc/acces');
116
+        $alea = charger_aleas();
117
+    }
118 118
 
119
-	$jeton = md5($session['date_session']
120
-		. $session['id_auteur']
121
-		. $session['statut']
122
-		. $alea);
119
+    $jeton = md5($session['date_session']
120
+        . $session['id_auteur']
121
+        . $session['statut']
122
+        . $alea);
123 123
 
124
-	return $jeton;
124
+    return $jeton;
125 125
 }
126 126
 
127 127
 /**
@@ -135,13 +135,13 @@  discard block
 block discarded – undo
135 135
  * @return bool
136 136
  */
137 137
 function verifier_jeton_logout($jeton, $session) {
138
-	if (generer_jeton_logout($session) === $jeton) {
139
-		return true;
140
-	}
138
+    if (generer_jeton_logout($session) === $jeton) {
139
+        return true;
140
+    }
141 141
 
142
-	if (generer_jeton_logout($session, $GLOBALS['meta']['alea_ephemere_ancien']) === $jeton) {
143
-		return true;
144
-	}
142
+    if (generer_jeton_logout($session, $GLOBALS['meta']['alea_ephemere_ancien']) === $jeton) {
143
+        return true;
144
+    }
145 145
 
146
-	return false;
146
+    return false;
147 147
 }
Please login to merge, or discard this patch.
ecrire/action/instituer_langue_objet.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -31,43 +31,43 @@  discard block
 block discarded – undo
31 31
  * @return string
32 32
  */
33 33
 function action_instituer_langue_objet_dist($objet, $id, $id_rubrique, $changer_lang, $serveur = '') {
34
-	if ($changer_lang) {
35
-		$table_objet_sql = table_objet_sql($objet);
36
-		$id_table_objet = id_table_objet($objet);
37
-		$trouver_table = charger_fonction('trouver_table', 'base');
38
-		$desc = $trouver_table($table_objet_sql, $serveur);
34
+    if ($changer_lang) {
35
+        $table_objet_sql = table_objet_sql($objet);
36
+        $id_table_objet = id_table_objet($objet);
37
+        $trouver_table = charger_fonction('trouver_table', 'base');
38
+        $desc = $trouver_table($table_objet_sql, $serveur);
39 39
 
40
-		$set = [];
41
-		if (isset($desc['field']['langue_choisie'])) {
42
-			$set['langue_choisie'] = 'oui';
43
-		}
40
+        $set = [];
41
+        if (isset($desc['field']['langue_choisie'])) {
42
+            $set['langue_choisie'] = 'oui';
43
+        }
44 44
 
45
-		if ($changer_lang != 'herit') {
46
-			$set['lang'] = $changer_lang;
47
-			sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
48
-			include_spip('inc/rubriques'); // pour calculer_langues_rubriques et calculer_langues_utilisees
49
-			if ($table_objet_sql == 'spip_rubriques') {
50
-				calculer_langues_rubriques();
51
-			}
52
-			$langues = calculer_langues_utilisees($serveur);
53
-			ecrire_meta('langues_utilisees', $langues);
54
-		} else {
55
-			$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
56
-			if (!$langue_parent) {
57
-				$langue_parent = $GLOBALS['meta']['langue_site'];
58
-			}
59
-			$changer_lang = $langue_parent;
60
-			$set['lang'] = $changer_lang;
61
-			if (isset($set['langue_choisie'])) {
62
-				$set['langue_choisie'] = 'non';
63
-			}
64
-			sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
65
-			if ($table_objet_sql == 'spip_rubriques') {
66
-				include_spip('inc/rubriques');
67
-				calculer_langues_rubriques();
68
-			}
69
-		}
70
-	}
45
+        if ($changer_lang != 'herit') {
46
+            $set['lang'] = $changer_lang;
47
+            sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
48
+            include_spip('inc/rubriques'); // pour calculer_langues_rubriques et calculer_langues_utilisees
49
+            if ($table_objet_sql == 'spip_rubriques') {
50
+                calculer_langues_rubriques();
51
+            }
52
+            $langues = calculer_langues_utilisees($serveur);
53
+            ecrire_meta('langues_utilisees', $langues);
54
+        } else {
55
+            $langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
56
+            if (!$langue_parent) {
57
+                $langue_parent = $GLOBALS['meta']['langue_site'];
58
+            }
59
+            $changer_lang = $langue_parent;
60
+            $set['lang'] = $changer_lang;
61
+            if (isset($set['langue_choisie'])) {
62
+                $set['langue_choisie'] = 'non';
63
+            }
64
+            sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur);
65
+            if ($table_objet_sql == 'spip_rubriques') {
66
+                include_spip('inc/rubriques');
67
+                calculer_langues_rubriques();
68
+            }
69
+        }
70
+    }
71 71
 
72
-	return $changer_lang;
72
+    return $changer_lang;
73 73
 }
Please login to merge, or discard this patch.
ecrire/base/abstract_sql.php 1 patch
Indentation   +693 added lines, -693 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
  */
26 26
 
27 27
 if (!defined('_ECRIRE_INC_VERSION')) {
28
-	return;
28
+    return;
29 29
 }
30 30
 
31 31
 /** Version de l'API SQL */
@@ -45,39 +45,39 @@  discard block
 block discarded – undo
45 45
  *     contexte de l'erreur
46 46
  **/
47 47
 function sql_error_backtrace($compil_info = false) {
48
-	$trace = debug_backtrace();
49
-	$caller = array_shift($trace);
50
-	while (count($trace) and (empty($trace[0]['file']) or $trace[0]['file'] === $caller['file'] or $trace[0]['file'] === __FILE__)) {
51
-		array_shift($trace);
52
-	}
53
-
54
-	if ($compil_info) {
55
-		$contexte_compil = [
56
-			$trace[0]['file'],// sourcefile
57
-			'', //nom
58
-			(isset($trace[1]) ? $trace[1]['function'] . "(){\n" : '')
59
-			. $trace[0]['function'] . '();'
60
-			. (isset($trace[1]) ? "\n}" : ''), //id_boucle
61
-			$trace[0]['line'], // ligne
62
-			$GLOBALS['spip_lang'], // lang
63
-		];
64
-
65
-		return $contexte_compil;
66
-	}
67
-
68
-	$message = count($trace) ? $trace[0]['file'] . ' L' . $trace[0]['line'] : '';
69
-	$f = [];
70
-	while (count($trace) and $t = array_shift($trace)) {
71
-		if (in_array($t['function'], ['include_once', 'include_spip', 'find_in_path'])) {
72
-			break;
73
-		}
74
-		$f[] = $t['function'];
75
-	}
76
-	if (count($f)) {
77
-		$message .= ' [' . implode('(),', $f) . '()]';
78
-	}
79
-
80
-	return $message;
48
+    $trace = debug_backtrace();
49
+    $caller = array_shift($trace);
50
+    while (count($trace) and (empty($trace[0]['file']) or $trace[0]['file'] === $caller['file'] or $trace[0]['file'] === __FILE__)) {
51
+        array_shift($trace);
52
+    }
53
+
54
+    if ($compil_info) {
55
+        $contexte_compil = [
56
+            $trace[0]['file'],// sourcefile
57
+            '', //nom
58
+            (isset($trace[1]) ? $trace[1]['function'] . "(){\n" : '')
59
+            . $trace[0]['function'] . '();'
60
+            . (isset($trace[1]) ? "\n}" : ''), //id_boucle
61
+            $trace[0]['line'], // ligne
62
+            $GLOBALS['spip_lang'], // lang
63
+        ];
64
+
65
+        return $contexte_compil;
66
+    }
67
+
68
+    $message = count($trace) ? $trace[0]['file'] . ' L' . $trace[0]['line'] : '';
69
+    $f = [];
70
+    while (count($trace) and $t = array_shift($trace)) {
71
+        if (in_array($t['function'], ['include_once', 'include_spip', 'find_in_path'])) {
72
+            break;
73
+        }
74
+        $f[] = $t['function'];
75
+    }
76
+    if (count($f)) {
77
+        $message .= ' [' . implode('(),', $f) . '()]';
78
+    }
79
+
80
+    return $message;
81 81
 }
82 82
 
83 83
 
@@ -102,16 +102,16 @@  discard block
 block discarded – undo
102 102
  *
103 103
  **/
104 104
 function sql_serveur($ins_sql = '', $serveur = '', $continue = false) {
105
-	static $sql_serveur = [];
106
-	if (!isset($sql_serveur[$serveur][$ins_sql])) {
107
-		$f = spip_connect_sql(\SQL_ABSTRACT_VERSION, $ins_sql, $serveur, $continue);
108
-		if (!is_string($f) or !$f) {
109
-			return $f;
110
-		}
111
-		$sql_serveur[$serveur][$ins_sql] = $f;
112
-	}
113
-
114
-	return $sql_serveur[$serveur][$ins_sql];
105
+    static $sql_serveur = [];
106
+    if (!isset($sql_serveur[$serveur][$ins_sql])) {
107
+        $f = spip_connect_sql(\SQL_ABSTRACT_VERSION, $ins_sql, $serveur, $continue);
108
+        if (!is_string($f) or !$f) {
109
+            return $f;
110
+        }
111
+        $sql_serveur[$serveur][$ins_sql] = $f;
112
+    }
113
+
114
+    return $sql_serveur[$serveur][$ins_sql];
115 115
 }
116 116
 
117 117
 /**
@@ -133,23 +133,23 @@  discard block
 block discarded – undo
133 133
  *     Retourne le nom du charset si effectivement trouvé, sinon false.
134 134
  **/
135 135
 function sql_get_charset($charset, $serveur = '', $option = true) {
136
-	// le nom http du charset differe parfois du nom SQL utf-8 ==> utf8 etc.
137
-	$desc = sql_serveur('', $serveur, true);
138
-	$desc = $desc[\SQL_ABSTRACT_VERSION];
139
-	$c = $desc['charsets'][$charset];
140
-	if ($c) {
141
-		if (function_exists($f = @$desc['get_charset'])) {
142
-			if ($f($c, $serveur, $option !== false)) {
143
-				return $c;
144
-			}
145
-		}
146
-	}
147
-	spip_log(
148
-		"SPIP ne connait pas les Charsets disponibles sur le serveur $serveur. Le serveur choisira seul.",
149
-		_LOG_AVERTISSEMENT
150
-	);
151
-
152
-	return false;
136
+    // le nom http du charset differe parfois du nom SQL utf-8 ==> utf8 etc.
137
+    $desc = sql_serveur('', $serveur, true);
138
+    $desc = $desc[\SQL_ABSTRACT_VERSION];
139
+    $c = $desc['charsets'][$charset];
140
+    if ($c) {
141
+        if (function_exists($f = @$desc['get_charset'])) {
142
+            if ($f($c, $serveur, $option !== false)) {
143
+                return $c;
144
+            }
145
+        }
146
+    }
147
+    spip_log(
148
+        "SPIP ne connait pas les Charsets disponibles sur le serveur $serveur. Le serveur choisira seul.",
149
+        _LOG_AVERTISSEMENT
150
+    );
151
+
152
+    return false;
153 153
 }
154 154
 
155 155
 
@@ -175,12 +175,12 @@  discard block
 block discarded – undo
175 175
  *    Retourne true si elle reussie.
176 176
  **/
177 177
 function sql_set_charset($charset, $serveur = '', $option = true) {
178
-	$f = sql_serveur('set_charset', $serveur, $option === 'continue' or $option === false);
179
-	if (!is_string($f) or !$f) {
180
-		return false;
181
-	}
178
+    $f = sql_serveur('set_charset', $serveur, $option === 'continue' or $option === false);
179
+    if (!is_string($f) or !$f) {
180
+        return false;
181
+    }
182 182
 
183
-	return $f($charset, $serveur, $option !== false);
183
+    return $f($charset, $serveur, $option !== false);
184 184
 }
185 185
 
186 186
 
@@ -231,59 +231,59 @@  discard block
 block discarded – undo
231 231
  *
232 232
  **/
233 233
 function sql_select(
234
-	$select = [],
235
-	$from = [],
236
-	$where = [],
237
-	$groupby = [],
238
-	$orderby = [],
239
-	$limit = '',
240
-	$having = [],
241
-	$serveur = '',
242
-	$option = true
234
+    $select = [],
235
+    $from = [],
236
+    $where = [],
237
+    $groupby = [],
238
+    $orderby = [],
239
+    $limit = '',
240
+    $having = [],
241
+    $serveur = '',
242
+    $option = true
243 243
 ) {
244
-	$f = sql_serveur('select', $serveur, $option === 'continue' or $option === false);
245
-	if (!is_string($f) or !$f) {
246
-		return false;
247
-	}
248
-
249
-	$debug = (defined('_VAR_MODE') and _VAR_MODE == 'debug');
250
-	if (($option !== false) and !$debug) {
251
-		$res = $f(
252
-			$select,
253
-			$from,
254
-			$where,
255
-			$groupby,
256
-			$orderby,
257
-			$limit,
258
-			$having,
259
-			$serveur,
260
-			is_array($option) ? true : $option
261
-		);
262
-	} else {
263
-		$query = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
264
-		if (!$option) {
265
-			return $query;
266
-		}
267
-		// le debug, c'est pour ce qui a ete produit par le compilateur
268
-		if (isset($GLOBALS['debug']['aucasou'])) {
269
-			[$table, $id, ] = $GLOBALS['debug']['aucasou'];
270
-			$nom = $GLOBALS['debug_objets']['courant'] . $id;
271
-			$GLOBALS['debug_objets']['requete'][$nom] = $query;
272
-		}
273
-		$res = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, true);
274
-	}
275
-
276
-	// en cas d'erreur
277
-	if (!is_string($res)) {
278
-		return $res;
279
-	}
280
-	// denoncer l'erreur SQL dans sa version brute
281
-	spip_sql_erreur($serveur);
282
-	// idem dans sa version squelette (prefixe des tables non substitue)
283
-	$contexte_compil = sql_error_backtrace(true);
284
-	erreur_squelette([sql_errno($serveur), sql_error($serveur), $res], $contexte_compil);
285
-
286
-	return false;
244
+    $f = sql_serveur('select', $serveur, $option === 'continue' or $option === false);
245
+    if (!is_string($f) or !$f) {
246
+        return false;
247
+    }
248
+
249
+    $debug = (defined('_VAR_MODE') and _VAR_MODE == 'debug');
250
+    if (($option !== false) and !$debug) {
251
+        $res = $f(
252
+            $select,
253
+            $from,
254
+            $where,
255
+            $groupby,
256
+            $orderby,
257
+            $limit,
258
+            $having,
259
+            $serveur,
260
+            is_array($option) ? true : $option
261
+        );
262
+    } else {
263
+        $query = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
264
+        if (!$option) {
265
+            return $query;
266
+        }
267
+        // le debug, c'est pour ce qui a ete produit par le compilateur
268
+        if (isset($GLOBALS['debug']['aucasou'])) {
269
+            [$table, $id, ] = $GLOBALS['debug']['aucasou'];
270
+            $nom = $GLOBALS['debug_objets']['courant'] . $id;
271
+            $GLOBALS['debug_objets']['requete'][$nom] = $query;
272
+        }
273
+        $res = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, true);
274
+    }
275
+
276
+    // en cas d'erreur
277
+    if (!is_string($res)) {
278
+        return $res;
279
+    }
280
+    // denoncer l'erreur SQL dans sa version brute
281
+    spip_sql_erreur($serveur);
282
+    // idem dans sa version squelette (prefixe des tables non substitue)
283
+    $contexte_compil = sql_error_backtrace(true);
284
+    erreur_squelette([sql_errno($serveur), sql_error($serveur), $res], $contexte_compil);
285
+
286
+    return false;
287 287
 }
288 288
 
289 289
 
@@ -320,16 +320,16 @@  discard block
 block discarded – undo
320 320
  *
321 321
  **/
322 322
 function sql_get_select(
323
-	$select = [],
324
-	$from = [],
325
-	$where = [],
326
-	$groupby = [],
327
-	$orderby = [],
328
-	$limit = '',
329
-	$having = [],
330
-	$serveur = ''
323
+    $select = [],
324
+    $from = [],
325
+    $where = [],
326
+    $groupby = [],
327
+    $orderby = [],
328
+    $limit = '',
329
+    $having = [],
330
+    $serveur = ''
331 331
 ) {
332
-	return sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
332
+    return sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
333 333
 }
334 334
 
335 335
 
@@ -373,23 +373,23 @@  discard block
 block discarded – undo
373 373
  *
374 374
  **/
375 375
 function sql_countsel(
376
-	$from = [],
377
-	$where = [],
378
-	$groupby = [],
379
-	$having = [],
380
-	$serveur = '',
381
-	$option = true
376
+    $from = [],
377
+    $where = [],
378
+    $groupby = [],
379
+    $having = [],
380
+    $serveur = '',
381
+    $option = true
382 382
 ) {
383
-	$f = sql_serveur('countsel', $serveur, $option === 'continue' or $option === false);
384
-	if (!is_string($f) or !$f) {
385
-		return false;
386
-	}
387
-	$r = $f($from, $where, $groupby, $having, $serveur, $option !== false);
388
-	if ($r === false) {
389
-		spip_sql_erreur($serveur);
390
-	}
391
-
392
-	return $r;
383
+    $f = sql_serveur('countsel', $serveur, $option === 'continue' or $option === false);
384
+    if (!is_string($f) or !$f) {
385
+        return false;
386
+    }
387
+    $r = $f($from, $where, $groupby, $having, $serveur, $option !== false);
388
+    if ($r === false) {
389
+        spip_sql_erreur($serveur);
390
+    }
391
+
392
+    return $r;
393 393
 }
394 394
 
395 395
 /**
@@ -421,16 +421,16 @@  discard block
 block discarded – undo
421 421
  *     Ce retour n'est pas pertinent pour savoir si l'opération est correctement réalisée.
422 422
  **/
423 423
 function sql_alter($q, $serveur = '', $option = true) {
424
-	$f = sql_serveur('alter', $serveur, $option === 'continue' or $option === false);
425
-	if (!is_string($f) or !$f) {
426
-		return false;
427
-	}
428
-	$r = $f($q, $serveur, $option !== false);
429
-	if ($r === false) {
430
-		spip_sql_erreur($serveur);
431
-	}
432
-
433
-	return $r;
424
+    $f = sql_serveur('alter', $serveur, $option === 'continue' or $option === false);
425
+    if (!is_string($f) or !$f) {
426
+        return false;
427
+    }
428
+    $r = $f($q, $serveur, $option !== false);
429
+    if ($r === false) {
430
+        spip_sql_erreur($serveur);
431
+    }
432
+
433
+    return $r;
434 434
 }
435 435
 
436 436
 /**
@@ -453,12 +453,12 @@  discard block
 block discarded – undo
453 453
  *    presentant une ligne de resultat d'une selection
454 454
  */
455 455
 function sql_fetch($res, $serveur = '', $option = true) {
456
-	$f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false);
457
-	if (!is_string($f) or !$f) {
458
-		return false;
459
-	}
456
+    $f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false);
457
+    if (!is_string($f) or !$f) {
458
+        return false;
459
+    }
460 460
 
461
-	return $f($res, null, $serveur, $option !== false);
461
+    return $f($res, null, $serveur, $option !== false);
462 462
 }
463 463
 
464 464
 
@@ -485,20 +485,20 @@  discard block
 block discarded – undo
485 485
  *    presentant une ligne de resultat d'une selection
486 486
  */
487 487
 function sql_fetch_all($res, $serveur = '', $option = true) {
488
-	$rows = [];
489
-	if (!$res) {
490
-		return $rows;
491
-	}
492
-	$f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false);
493
-	if (!is_string($f) or !$f) {
494
-		return [];
495
-	}
496
-	while ($r = $f($res, null, $serveur, $option !== false)) {
497
-		$rows[] = $r;
498
-	}
499
-	sql_free($res, $serveur);
500
-
501
-	return $rows;
488
+    $rows = [];
489
+    if (!$res) {
490
+        return $rows;
491
+    }
492
+    $f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false);
493
+    if (!is_string($f) or !$f) {
494
+        return [];
495
+    }
496
+    while ($r = $f($res, null, $serveur, $option !== false)) {
497
+        $rows[] = $r;
498
+    }
499
+    sql_free($res, $serveur);
500
+
501
+    return $rows;
502 502
 }
503 503
 
504 504
 /**
@@ -526,16 +526,16 @@  discard block
 block discarded – undo
526 526
  *    Operation effectuée (true), sinon false.
527 527
  **/
528 528
 function sql_seek($res, $row_number, $serveur = '', $option = true) {
529
-	$f = sql_serveur('seek', $serveur, $option === 'continue' or $option === false);
530
-	if (!is_string($f) or !$f) {
531
-		return false;
532
-	}
533
-	$r = $f($res, $row_number, $serveur, $option !== false);
534
-	if ($r === false) {
535
-		spip_sql_erreur($serveur);
536
-	}
537
-
538
-	return $r;
529
+    $f = sql_serveur('seek', $serveur, $option === 'continue' or $option === false);
530
+    if (!is_string($f) or !$f) {
531
+        return false;
532
+    }
533
+    $r = $f($res, $row_number, $serveur, $option !== false);
534
+    if ($r === false) {
535
+        spip_sql_erreur($serveur);
536
+    }
537
+
538
+    return $r;
539 539
 }
540 540
 
541 541
 
@@ -560,16 +560,16 @@  discard block
 block discarded – undo
560 560
  *    False en cas d'erreur.
561 561
  **/
562 562
 function sql_listdbs($serveur = '', $option = true) {
563
-	$f = sql_serveur('listdbs', $serveur, $option === 'continue' or $option === false);
564
-	if (!is_string($f) or !$f) {
565
-		return false;
566
-	}
567
-	$r = $f($serveur);
568
-	if ($r === false) {
569
-		spip_sql_erreur($serveur);
570
-	}
571
-
572
-	return $r;
563
+    $f = sql_serveur('listdbs', $serveur, $option === 'continue' or $option === false);
564
+    if (!is_string($f) or !$f) {
565
+        return false;
566
+    }
567
+    $r = $f($serveur);
568
+    if ($r === false) {
569
+        spip_sql_erreur($serveur);
570
+    }
571
+
572
+    return $r;
573 573
 }
574 574
 
575 575
 
@@ -592,16 +592,16 @@  discard block
 block discarded – undo
592 592
  *     - False en cas d'erreur.
593 593
  **/
594 594
 function sql_selectdb($nom, $serveur = '', $option = true) {
595
-	$f = sql_serveur('selectdb', $serveur, $option === 'continue' or $option === false);
596
-	if (!is_string($f) or !$f) {
597
-		return false;
598
-	}
599
-	$r = $f($nom, $serveur, $option !== false);
600
-	if ($r === false) {
601
-		spip_sql_erreur($serveur);
602
-	}
603
-
604
-	return $r;
595
+    $f = sql_serveur('selectdb', $serveur, $option === 'continue' or $option === false);
596
+    if (!is_string($f) or !$f) {
597
+        return false;
598
+    }
599
+    $r = $f($nom, $serveur, $option !== false);
600
+    if ($r === false) {
601
+        spip_sql_erreur($serveur);
602
+    }
603
+
604
+    return $r;
605 605
 }
606 606
 
607 607
 /**
@@ -626,16 +626,16 @@  discard block
 block discarded – undo
626 626
  *     - false en cas d'erreur.
627 627
  **/
628 628
 function sql_count($res, $serveur = '', $option = true) {
629
-	$f = sql_serveur('count', $serveur, $option === 'continue' or $option === false);
630
-	if (!is_string($f) or !$f) {
631
-		return false;
632
-	}
633
-	$r = $f($res, $serveur, $option !== false);
634
-	if ($r === false) {
635
-		spip_sql_erreur($serveur);
636
-	}
637
-
638
-	return $r;
629
+    $f = sql_serveur('count', $serveur, $option === 'continue' or $option === false);
630
+    if (!is_string($f) or !$f) {
631
+        return false;
632
+    }
633
+    $r = $f($res, $serveur, $option !== false);
634
+    if ($r === false) {
635
+        spip_sql_erreur($serveur);
636
+    }
637
+
638
+    return $r;
639 639
 }
640 640
 
641 641
 /**
@@ -657,12 +657,12 @@  discard block
 block discarded – undo
657 657
  *     True si réussi
658 658
  */
659 659
 function sql_free($res, $serveur = '', $option = true) {
660
-	$f = sql_serveur('free', $serveur, $option === 'continue' or $option === false);
661
-	if (!is_string($f) or !$f) {
662
-		return false;
663
-	}
660
+    $f = sql_serveur('free', $serveur, $option === 'continue' or $option === false);
661
+    if (!is_string($f) or !$f) {
662
+        return false;
663
+    }
664 664
 
665
-	return $f($res);
665
+    return $f($res);
666 666
 }
667 667
 
668 668
 
@@ -700,17 +700,17 @@  discard block
 block discarded – undo
700 700
  *     - False en cas d'erreur.
701 701
  **/
702 702
 function sql_insert($table, $noms, $valeurs, $desc = [], $serveur = '', $option = true) {
703
-	$f = sql_serveur('insert', $serveur, $option === 'continue' or $option === false);
704
-	if (!is_string($f) or !$f) {
705
-		return false;
706
-	}
707
-	$r = $f($table, $noms, $valeurs, $desc, $serveur, $option !== false);
708
-	if ($r === false or $r === null) {
709
-		spip_sql_erreur($serveur);
710
-		$r = false;
711
-	}
712
-
713
-	return $r;
703
+    $f = sql_serveur('insert', $serveur, $option === 'continue' or $option === false);
704
+    if (!is_string($f) or !$f) {
705
+        return false;
706
+    }
707
+    $r = $f($table, $noms, $valeurs, $desc, $serveur, $option !== false);
708
+    if ($r === false or $r === null) {
709
+        spip_sql_erreur($serveur);
710
+        $r = false;
711
+    }
712
+
713
+    return $r;
714 714
 }
715 715
 
716 716
 /**
@@ -751,17 +751,17 @@  discard block
 block discarded – undo
751 751
  *     - False en cas d'erreur.
752 752
  **/
753 753
 function sql_insertq($table, $couples = [], $desc = [], $serveur = '', $option = true) {
754
-	$f = sql_serveur('insertq', $serveur, $option === 'continue' or $option === false);
755
-	if (!is_string($f) or !$f) {
756
-		return false;
757
-	}
758
-	$r = $f($table, $couples, $desc, $serveur, $option !== false);
759
-	if ($r === false or $r === null) {
760
-		spip_sql_erreur($serveur);
761
-		$r = false;
762
-	}
763
-
764
-	return $r;
754
+    $f = sql_serveur('insertq', $serveur, $option === 'continue' or $option === false);
755
+    if (!is_string($f) or !$f) {
756
+        return false;
757
+    }
758
+    $r = $f($table, $couples, $desc, $serveur, $option !== false);
759
+    if ($r === false or $r === null) {
760
+        spip_sql_erreur($serveur);
761
+        $r = false;
762
+    }
763
+
764
+    return $r;
765 765
 }
766 766
 
767 767
 /**
@@ -796,17 +796,17 @@  discard block
 block discarded – undo
796 796
  *     - False en cas d'erreur.
797 797
  **/
798 798
 function sql_insertq_multi($table, $couples = [], $desc = [], $serveur = '', $option = true) {
799
-	$f = sql_serveur('insertq_multi', $serveur, $option === 'continue' or $option === false);
800
-	if (!is_string($f) or !$f) {
801
-		return false;
802
-	}
803
-	$r = $f($table, $couples, $desc, $serveur, $option !== false);
804
-	if ($r === false or $r === null) {
805
-		spip_sql_erreur($serveur);
806
-		$r = false;
807
-	}
808
-
809
-	return $r;
799
+    $f = sql_serveur('insertq_multi', $serveur, $option === 'continue' or $option === false);
800
+    if (!is_string($f) or !$f) {
801
+        return false;
802
+    }
803
+    $r = $f($table, $couples, $desc, $serveur, $option !== false);
804
+    if ($r === false or $r === null) {
805
+        spip_sql_erreur($serveur);
806
+        $r = false;
807
+    }
808
+
809
+    return $r;
810 810
 }
811 811
 
812 812
 /**
@@ -846,16 +846,16 @@  discard block
 block discarded – undo
846 846
  *     - array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
847 847
  */
848 848
 function sql_update($table, $exp, $where = '', $desc = [], $serveur = '', $option = true) {
849
-	$f = sql_serveur('update', $serveur, $option === 'continue' or $option === false);
850
-	if (!is_string($f) or !$f) {
851
-		return false;
852
-	}
853
-	$r = $f($table, $exp, $where, $desc, $serveur, $option !== false);
854
-	if ($r === false) {
855
-		spip_sql_erreur($serveur);
856
-	}
857
-
858
-	return $r;
849
+    $f = sql_serveur('update', $serveur, $option === 'continue' or $option === false);
850
+    if (!is_string($f) or !$f) {
851
+        return false;
852
+    }
853
+    $r = $f($table, $exp, $where, $desc, $serveur, $option !== false);
854
+    if ($r === false) {
855
+        spip_sql_erreur($serveur);
856
+    }
857
+
858
+    return $r;
859 859
 }
860 860
 
861 861
 
@@ -901,16 +901,16 @@  discard block
 block discarded – undo
901 901
  *     - False en cas d'erreur.
902 902
  **/
903 903
 function sql_updateq($table, $exp, $where = '', $desc = [], $serveur = '', $option = true) {
904
-	$f = sql_serveur('updateq', $serveur, $option === 'continue' or $option === false);
905
-	if (!is_string($f) or !$f) {
906
-		return false;
907
-	}
908
-	$r = $f($table, $exp, $where, $desc, $serveur, $option !== false);
909
-	if ($r === false) {
910
-		spip_sql_erreur($serveur);
911
-	}
912
-
913
-	return $r;
904
+    $f = sql_serveur('updateq', $serveur, $option === 'continue' or $option === false);
905
+    if (!is_string($f) or !$f) {
906
+        return false;
907
+    }
908
+    $r = $f($table, $exp, $where, $desc, $serveur, $option !== false);
909
+    if ($r === false) {
910
+        spip_sql_erreur($serveur);
911
+    }
912
+
913
+    return $r;
914 914
 }
915 915
 
916 916
 /**
@@ -941,16 +941,16 @@  discard block
 block discarded – undo
941 941
  *     - False en cas d'erreur.
942 942
  **/
943 943
 function sql_delete($table, $where = '', $serveur = '', $option = true) {
944
-	$f = sql_serveur('delete', $serveur, $option === 'continue' or $option === false);
945
-	if (!is_string($f) or !$f) {
946
-		return false;
947
-	}
948
-	$r = $f($table, $where, $serveur, $option !== false);
949
-	if ($r === false) {
950
-		spip_sql_erreur($serveur);
951
-	}
952
-
953
-	return $r;
944
+    $f = sql_serveur('delete', $serveur, $option === 'continue' or $option === false);
945
+    if (!is_string($f) or !$f) {
946
+        return false;
947
+    }
948
+    $r = $f($table, $where, $serveur, $option !== false);
949
+    if ($r === false) {
950
+        spip_sql_erreur($serveur);
951
+    }
952
+
953
+    return $r;
954 954
 }
955 955
 
956 956
 /**
@@ -986,16 +986,16 @@  discard block
 block discarded – undo
986 986
  *     - False en cas d'erreur.
987 987
  **/
988 988
 function sql_replace($table, $couples, $desc = [], $serveur = '', $option = true) {
989
-	$f = sql_serveur('replace', $serveur, $option === 'continue' or $option === false);
990
-	if (!is_string($f) or !$f) {
991
-		return false;
992
-	}
993
-	$r = $f($table, $couples, $desc, $serveur, $option !== false);
994
-	if ($r === false) {
995
-		spip_sql_erreur($serveur);
996
-	}
997
-
998
-	return $r;
989
+    $f = sql_serveur('replace', $serveur, $option === 'continue' or $option === false);
990
+    if (!is_string($f) or !$f) {
991
+        return false;
992
+    }
993
+    $r = $f($table, $couples, $desc, $serveur, $option !== false);
994
+    if ($r === false) {
995
+        spip_sql_erreur($serveur);
996
+    }
997
+
998
+    return $r;
999 999
 }
1000 1000
 
1001 1001
 
@@ -1033,16 +1033,16 @@  discard block
 block discarded – undo
1033 1033
  *     - False en cas d'erreur.
1034 1034
  **/
1035 1035
 function sql_replace_multi($table, $tab_couples, $desc = [], $serveur = '', $option = true) {
1036
-	$f = sql_serveur('replace_multi', $serveur, $option === 'continue' or $option === false);
1037
-	if (!is_string($f) or !$f) {
1038
-		return false;
1039
-	}
1040
-	$r = $f($table, $tab_couples, $desc, $serveur, $option !== false);
1041
-	if ($r === false) {
1042
-		spip_sql_erreur($serveur);
1043
-	}
1044
-
1045
-	return $r;
1036
+    $f = sql_serveur('replace_multi', $serveur, $option === 'continue' or $option === false);
1037
+    if (!is_string($f) or !$f) {
1038
+        return false;
1039
+    }
1040
+    $r = $f($table, $tab_couples, $desc, $serveur, $option !== false);
1041
+    if ($r === false) {
1042
+        spip_sql_erreur($serveur);
1043
+    }
1044
+
1045
+    return $r;
1046 1046
 }
1047 1047
 
1048 1048
 /**
@@ -1070,16 +1070,16 @@  discard block
 block discarded – undo
1070 1070
  *     - False en cas d'erreur.
1071 1071
  **/
1072 1072
 function sql_drop_table($table, $exist = '', $serveur = '', $option = true) {
1073
-	$f = sql_serveur('drop_table', $serveur, $option === 'continue' or $option === false);
1074
-	if (!is_string($f) or !$f) {
1075
-		return false;
1076
-	}
1077
-	$r = $f($table, $exist, $serveur, $option !== false);
1078
-	if ($r === false) {
1079
-		spip_sql_erreur($serveur);
1080
-	}
1081
-
1082
-	return $r;
1073
+    $f = sql_serveur('drop_table', $serveur, $option === 'continue' or $option === false);
1074
+    if (!is_string($f) or !$f) {
1075
+        return false;
1076
+    }
1077
+    $r = $f($table, $exist, $serveur, $option !== false);
1078
+    if ($r === false) {
1079
+        spip_sql_erreur($serveur);
1080
+    }
1081
+
1082
+    return $r;
1083 1083
 }
1084 1084
 
1085 1085
 /**
@@ -1103,16 +1103,16 @@  discard block
 block discarded – undo
1103 1103
  *     - true si la requête a réussie, false sinon
1104 1104
  */
1105 1105
 function sql_drop_view($table, $exist = '', $serveur = '', $option = true) {
1106
-	$f = sql_serveur('drop_view', $serveur, $option === 'continue' or $option === false);
1107
-	if (!is_string($f) or !$f) {
1108
-		return false;
1109
-	}
1110
-	$r = $f($table, $exist, $serveur, $option !== false);
1111
-	if ($r === false) {
1112
-		spip_sql_erreur($serveur);
1113
-	}
1114
-
1115
-	return $r;
1106
+    $f = sql_serveur('drop_view', $serveur, $option === 'continue' or $option === false);
1107
+    if (!is_string($f) or !$f) {
1108
+        return false;
1109
+    }
1110
+    $r = $f($table, $exist, $serveur, $option !== false);
1111
+    if ($r === false) {
1112
+        spip_sql_erreur($serveur);
1113
+    }
1114
+
1115
+    return $r;
1116 1116
 }
1117 1117
 
1118 1118
 /**
@@ -1136,18 +1136,18 @@  discard block
 block discarded – undo
1136 1136
  *     Ressource à utiliser avec sql_fetch()
1137 1137
  **/
1138 1138
 function sql_showbase($spip = null, $serveur = '', $option = true) {
1139
-	$f = sql_serveur('showbase', $serveur, $option === 'continue' or $option === false);
1140
-	if (!is_string($f) or !$f) {
1141
-		return false;
1142
-	}
1143
-
1144
-	// la globale n'est remplie qu'apres l'appel de sql_serveur.
1145
-	if ($spip == null) {
1146
-		$connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1147
-		$spip = $connexion['prefixe'] . '\_%';
1148
-	}
1149
-
1150
-	return $f($spip, $serveur, $option !== false);
1139
+    $f = sql_serveur('showbase', $serveur, $option === 'continue' or $option === false);
1140
+    if (!is_string($f) or !$f) {
1141
+        return false;
1142
+    }
1143
+
1144
+    // la globale n'est remplie qu'apres l'appel de sql_serveur.
1145
+    if ($spip == null) {
1146
+        $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1147
+        $spip = $connexion['prefixe'] . '\_%';
1148
+    }
1149
+
1150
+    return $f($spip, $serveur, $option !== false);
1151 1151
 }
1152 1152
 
1153 1153
 /**
@@ -1170,15 +1170,15 @@  discard block
 block discarded – undo
1170 1170
  *     Liste des tables SQL
1171 1171
  **/
1172 1172
 function sql_alltable($spip = null, $serveur = '', $option = true) {
1173
-	$q = sql_showbase($spip, $serveur, $option);
1174
-	$r = [];
1175
-	if ($q) {
1176
-		while ($t = sql_fetch($q, $serveur)) {
1177
-			$r[] = array_shift($t);
1178
-		}
1179
-	}
1180
-
1181
-	return $r;
1173
+    $q = sql_showbase($spip, $serveur, $option);
1174
+    $r = [];
1175
+    if ($q) {
1176
+        while ($t = sql_fetch($q, $serveur)) {
1177
+            $r[] = array_shift($t);
1178
+        }
1179
+    }
1180
+
1181
+    return $r;
1182 1182
 }
1183 1183
 
1184 1184
 /**
@@ -1211,31 +1211,31 @@  discard block
 block discarded – undo
1211 1211
  *       - 'join' => array() // jointures, si déclarées.
1212 1212
  **/
1213 1213
 function sql_showtable($table, $table_spip = false, $serveur = '', $option = true) {
1214
-	$f = sql_serveur('showtable', $serveur, $option === 'continue' or $option === false);
1215
-	if (!is_string($f) or !$f) {
1216
-		return false;
1217
-	}
1218
-
1219
-	// la globale n'est remplie qu'apres l'appel de sql_serveur.
1220
-	if ($table_spip) {
1221
-		$connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1222
-		$prefixe = $connexion['prefixe'];
1223
-		$vraie_table = prefixer_table_spip($table, $prefixe);
1224
-	} else {
1225
-		$vraie_table = $table;
1226
-	}
1227
-
1228
-	$f = $f($vraie_table, $serveur, $option !== false);
1229
-	if (!$f) {
1230
-		return [];
1231
-	}
1232
-	if (isset($GLOBALS['tables_principales'][$table]['join'])) {
1233
-		$f['join'] = $GLOBALS['tables_principales'][$table]['join'];
1234
-	} elseif (isset($GLOBALS['tables_auxiliaires'][$table]['join'])) {
1235
-		$f['join'] = $GLOBALS['tables_auxiliaires'][$table]['join'];
1236
-	}
1237
-
1238
-	return $f;
1214
+    $f = sql_serveur('showtable', $serveur, $option === 'continue' or $option === false);
1215
+    if (!is_string($f) or !$f) {
1216
+        return false;
1217
+    }
1218
+
1219
+    // la globale n'est remplie qu'apres l'appel de sql_serveur.
1220
+    if ($table_spip) {
1221
+        $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1222
+        $prefixe = $connexion['prefixe'];
1223
+        $vraie_table = prefixer_table_spip($table, $prefixe);
1224
+    } else {
1225
+        $vraie_table = $table;
1226
+    }
1227
+
1228
+    $f = $f($vraie_table, $serveur, $option !== false);
1229
+    if (!$f) {
1230
+        return [];
1231
+    }
1232
+    if (isset($GLOBALS['tables_principales'][$table]['join'])) {
1233
+        $f['join'] = $GLOBALS['tables_principales'][$table]['join'];
1234
+    } elseif (isset($GLOBALS['tables_auxiliaires'][$table]['join'])) {
1235
+        $f['join'] = $GLOBALS['tables_auxiliaires'][$table]['join'];
1236
+    }
1237
+
1238
+    return $f;
1239 1239
 }
1240 1240
 
1241 1241
 
@@ -1263,21 +1263,21 @@  discard block
 block discarded – undo
1263 1263
  *     - False en cas d'erreur.
1264 1264
  **/
1265 1265
 function sql_table_exists(string $table, bool $table_spip = true, $serveur = '', $option = true) {
1266
-	$f = sql_serveur('table_exists', $serveur, $option === 'continue' or $option === false);
1267
-	if (!is_string($f) or !$f) {
1268
-		return false;
1269
-	}
1270
-
1271
-	// la globale n'est remplie qu'apres l'appel de sql_serveur.
1272
-	if ($table_spip) {
1273
-		$connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1274
-		$prefixe = $connexion['prefixe'];
1275
-		$vraie_table = prefixer_table_spip($table, $prefixe);
1276
-	} else {
1277
-		$vraie_table = $table;
1278
-	}
1279
-
1280
-	return $f($vraie_table, $serveur, $option !== false);
1266
+    $f = sql_serveur('table_exists', $serveur, $option === 'continue' or $option === false);
1267
+    if (!is_string($f) or !$f) {
1268
+        return false;
1269
+    }
1270
+
1271
+    // la globale n'est remplie qu'apres l'appel de sql_serveur.
1272
+    if ($table_spip) {
1273
+        $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1274
+        $prefixe = $connexion['prefixe'];
1275
+        $vraie_table = prefixer_table_spip($table, $prefixe);
1276
+    } else {
1277
+        $vraie_table = $table;
1278
+    }
1279
+
1280
+    return $f($vraie_table, $serveur, $option !== false);
1281 1281
 }
1282 1282
 
1283 1283
 
@@ -1323,24 +1323,24 @@  discard block
 block discarded – undo
1323 1323
  *     true si succès, false en cas d'echec
1324 1324
  **/
1325 1325
 function sql_create(
1326
-	$nom,
1327
-	$champs,
1328
-	$cles = [],
1329
-	$autoinc = false,
1330
-	$temporary = false,
1331
-	$serveur = '',
1332
-	$option = true
1326
+    $nom,
1327
+    $champs,
1328
+    $cles = [],
1329
+    $autoinc = false,
1330
+    $temporary = false,
1331
+    $serveur = '',
1332
+    $option = true
1333 1333
 ) {
1334
-	$f = sql_serveur('create', $serveur, $option === 'continue' or $option === false);
1335
-	if (!is_string($f) or !$f) {
1336
-		return false;
1337
-	}
1338
-	$r = $f($nom, $champs, $cles, $autoinc, $temporary, $serveur, $option !== false);
1339
-	if ($r === false) {
1340
-		spip_sql_erreur($serveur);
1341
-	}
1342
-
1343
-	return $r;
1334
+    $f = sql_serveur('create', $serveur, $option === 'continue' or $option === false);
1335
+    if (!is_string($f) or !$f) {
1336
+        return false;
1337
+    }
1338
+    $r = $f($nom, $champs, $cles, $autoinc, $temporary, $serveur, $option !== false);
1339
+    if ($r === false) {
1340
+        spip_sql_erreur($serveur);
1341
+    }
1342
+
1343
+    return $r;
1344 1344
 }
1345 1345
 
1346 1346
 /**
@@ -1358,16 +1358,16 @@  discard block
 block discarded – undo
1358 1358
  * @return bool true si la base est créee.
1359 1359
  **/
1360 1360
 function sql_create_base($nom, $serveur = '', $option = true) {
1361
-	$f = sql_serveur('create_base', $serveur, $option === 'continue' or $option === false);
1362
-	if (!is_string($f) or !$f) {
1363
-		return false;
1364
-	}
1365
-	$r = $f($nom, $serveur, $option !== false);
1366
-	if ($r === false) {
1367
-		spip_sql_erreur($serveur);
1368
-	}
1369
-
1370
-	return $r;
1361
+    $f = sql_serveur('create_base', $serveur, $option === 'continue' or $option === false);
1362
+    if (!is_string($f) or !$f) {
1363
+        return false;
1364
+    }
1365
+    $r = $f($nom, $serveur, $option !== false);
1366
+    if ($r === false) {
1367
+        spip_sql_erreur($serveur);
1368
+    }
1369
+
1370
+    return $r;
1371 1371
 }
1372 1372
 
1373 1373
 
@@ -1397,16 +1397,16 @@  discard block
 block discarded – undo
1397 1397
  *     - false en cas d'échec.
1398 1398
  **/
1399 1399
 function sql_create_view($nom, $select_query, $serveur = '', $option = true) {
1400
-	$f = sql_serveur('create_view', $serveur, $option === 'continue' or $option === false);
1401
-	if (!is_string($f) or !$f) {
1402
-		return false;
1403
-	}
1404
-	$r = $f($nom, $select_query, $serveur, $option !== false);
1405
-	if ($r === false) {
1406
-		spip_sql_erreur($serveur);
1407
-	}
1408
-
1409
-	return $r;
1400
+    $f = sql_serveur('create_view', $serveur, $option === 'continue' or $option === false);
1401
+    if (!is_string($f) or !$f) {
1402
+        return false;
1403
+    }
1404
+    $r = $f($nom, $select_query, $serveur, $option !== false);
1405
+    if ($r === false) {
1406
+        spip_sql_erreur($serveur);
1407
+    }
1408
+
1409
+    return $r;
1410 1410
 }
1411 1411
 
1412 1412
 /**
@@ -1435,12 +1435,12 @@  discard block
 block discarded – undo
1435 1435
  *     Texte de sélection pour la requête
1436 1436
  */
1437 1437
 function sql_multi($sel, $lang, $serveur = '', $option = true) {
1438
-	$f = sql_serveur('multi', $serveur, $option === 'continue' or $option === false);
1439
-	if (!is_string($f) or !$f) {
1440
-		return false;
1441
-	}
1438
+    $f = sql_serveur('multi', $serveur, $option === 'continue' or $option === false);
1439
+    if (!is_string($f) or !$f) {
1440
+        return false;
1441
+    }
1442 1442
 
1443
-	return $f($sel, $lang);
1443
+    return $f($sel, $lang);
1444 1444
 }
1445 1445
 
1446 1446
 
@@ -1455,12 +1455,12 @@  discard block
 block discarded – undo
1455 1455
  *      False si le serveur est indisponible
1456 1456
  */
1457 1457
 function sql_error($serveur = '') {
1458
-	$f = sql_serveur('error', $serveur, true);
1459
-	if (!is_string($f) or !$f) {
1460
-		return false;
1461
-	}
1458
+    $f = sql_serveur('error', $serveur, true);
1459
+    if (!is_string($f) or !$f) {
1460
+        return false;
1461
+    }
1462 1462
 
1463
-	return $f('query inconnue', $serveur);
1463
+    return $f('query inconnue', $serveur);
1464 1464
 }
1465 1465
 
1466 1466
 /**
@@ -1474,12 +1474,12 @@  discard block
 block discarded – undo
1474 1474
  *      False si le serveur est indisponible
1475 1475
  */
1476 1476
 function sql_errno($serveur = '') {
1477
-	$f = sql_serveur('errno', $serveur, true);
1478
-	if (!is_string($f) or !$f) {
1479
-		return false;
1480
-	}
1477
+    $f = sql_serveur('errno', $serveur, true);
1478
+    if (!is_string($f) or !$f) {
1479
+        return false;
1480
+    }
1481 1481
 
1482
-	return $f($serveur);
1482
+    return $f($serveur);
1483 1483
 }
1484 1484
 
1485 1485
 /**
@@ -1497,16 +1497,16 @@  discard block
 block discarded – undo
1497 1497
  * @return array|false   Tableau de l'explication
1498 1498
  */
1499 1499
 function sql_explain($q, $serveur = '', $option = true) {
1500
-	$f = sql_serveur('explain', $serveur, true);
1501
-	if (!is_string($f) or !$f) {
1502
-		return false;
1503
-	}
1504
-	$r = $f($q, $serveur, $option !== false);
1505
-	if ($r === false) {
1506
-		spip_sql_erreur($serveur);
1507
-	}
1508
-
1509
-	return $r;
1500
+    $f = sql_serveur('explain', $serveur, true);
1501
+    if (!is_string($f) or !$f) {
1502
+        return false;
1503
+    }
1504
+    $r = $f($q, $serveur, $option !== false);
1505
+    if ($r === false) {
1506
+        spip_sql_erreur($serveur);
1507
+    }
1508
+
1509
+    return $r;
1510 1510
 }
1511 1511
 
1512 1512
 /**
@@ -1524,16 +1524,16 @@  discard block
 block discarded – undo
1524 1524
  * @return bool            Toujours true
1525 1525
  */
1526 1526
 function sql_optimize($table, $serveur = '', $option = true) {
1527
-	$f = sql_serveur('optimize', $serveur, $option === 'continue' or $option === false);
1528
-	if (!is_string($f) or !$f) {
1529
-		return false;
1530
-	}
1531
-	$r = $f($table, $serveur, $option !== false);
1532
-	if ($r === false) {
1533
-		spip_sql_erreur($serveur);
1534
-	}
1535
-
1536
-	return $r;
1527
+    $f = sql_serveur('optimize', $serveur, $option === 'continue' or $option === false);
1528
+    if (!is_string($f) or !$f) {
1529
+        return false;
1530
+    }
1531
+    $r = $f($table, $serveur, $option !== false);
1532
+    if ($r === false) {
1533
+        spip_sql_erreur($serveur);
1534
+    }
1535
+
1536
+    return $r;
1537 1537
 }
1538 1538
 
1539 1539
 /**
@@ -1553,16 +1553,16 @@  discard block
 block discarded – undo
1553 1553
  *     - true si la requête a réussie, false sinon
1554 1554
  */
1555 1555
 function sql_repair($table, $serveur = '', $option = true) {
1556
-	$f = sql_serveur('repair', $serveur, $option === 'continue' or $option === false);
1557
-	if (!is_string($f) or !$f) {
1558
-		return false;
1559
-	}
1560
-	$r = $f($table, $serveur, $option !== false);
1561
-	if ($r === false) {
1562
-		spip_sql_erreur($serveur);
1563
-	}
1564
-
1565
-	return $r;
1556
+    $f = sql_serveur('repair', $serveur, $option === 'continue' or $option === false);
1557
+    if (!is_string($f) or !$f) {
1558
+        return false;
1559
+    }
1560
+    $r = $f($table, $serveur, $option !== false);
1561
+    if ($r === false) {
1562
+        spip_sql_erreur($serveur);
1563
+    }
1564
+
1565
+    return $r;
1566 1566
 }
1567 1567
 
1568 1568
 
@@ -1587,16 +1587,16 @@  discard block
 block discarded – undo
1587 1587
  *     - array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
1588 1588
  */
1589 1589
 function sql_query($ins, $serveur = '', $option = true) {
1590
-	$f = sql_serveur('query', $serveur, $option === 'continue' or $option === false);
1591
-	if (!is_string($f) or !$f) {
1592
-		return false;
1593
-	}
1594
-	$r = $f($ins, $serveur, $option !== false);
1595
-	if ($r === false) {
1596
-		spip_sql_erreur($serveur);
1597
-	}
1598
-
1599
-	return $r;
1590
+    $f = sql_serveur('query', $serveur, $option === 'continue' or $option === false);
1591
+    if (!is_string($f) or !$f) {
1592
+        return false;
1593
+    }
1594
+    $r = $f($ins, $serveur, $option !== false);
1595
+    if ($r === false) {
1596
+        spip_sql_erreur($serveur);
1597
+    }
1598
+
1599
+    return $r;
1600 1600
 }
1601 1601
 
1602 1602
 /**
@@ -1644,27 +1644,27 @@  discard block
 block discarded – undo
1644 1644
  *
1645 1645
  **/
1646 1646
 function sql_fetsel(
1647
-	$select = [],
1648
-	$from = [],
1649
-	$where = [],
1650
-	$groupby = [],
1651
-	$orderby = [],
1652
-	$limit = '',
1653
-	$having = [],
1654
-	$serveur = '',
1655
-	$option = true
1647
+    $select = [],
1648
+    $from = [],
1649
+    $where = [],
1650
+    $groupby = [],
1651
+    $orderby = [],
1652
+    $limit = '',
1653
+    $having = [],
1654
+    $serveur = '',
1655
+    $option = true
1656 1656
 ) {
1657
-	$q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1658
-	if ($option === false) {
1659
-		return $q;
1660
-	}
1661
-	if (!$q) {
1662
-		return [];
1663
-	}
1664
-	$r = sql_fetch($q, $serveur, $option);
1665
-	sql_free($q, $serveur, $option);
1666
-
1667
-	return $r;
1657
+    $q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1658
+    if ($option === false) {
1659
+        return $q;
1660
+    }
1661
+    if (!$q) {
1662
+        return [];
1663
+    }
1664
+    $r = sql_fetch($q, $serveur, $option);
1665
+    sql_free($q, $serveur, $option);
1666
+
1667
+    return $r;
1668 1668
 }
1669 1669
 
1670 1670
 
@@ -1721,22 +1721,22 @@  discard block
 block discarded – undo
1721 1721
  *
1722 1722
  **/
1723 1723
 function sql_allfetsel(
1724
-	$select = [],
1725
-	$from = [],
1726
-	$where = [],
1727
-	$groupby = [],
1728
-	$orderby = [],
1729
-	$limit = '',
1730
-	$having = [],
1731
-	$serveur = '',
1732
-	$option = true
1724
+    $select = [],
1725
+    $from = [],
1726
+    $where = [],
1727
+    $groupby = [],
1728
+    $orderby = [],
1729
+    $limit = '',
1730
+    $having = [],
1731
+    $serveur = '',
1732
+    $option = true
1733 1733
 ) {
1734
-	$q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1735
-	if ($option === false) {
1736
-		return $q;
1737
-	}
1734
+    $q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1735
+    if ($option === false) {
1736
+        return $q;
1737
+    }
1738 1738
 
1739
-	return sql_fetch_all($q, $serveur, $option);
1739
+    return sql_fetch_all($q, $serveur, $option);
1740 1740
 }
1741 1741
 
1742 1742
 
@@ -1783,33 +1783,33 @@  discard block
 block discarded – undo
1783 1783
  *
1784 1784
  **/
1785 1785
 function sql_getfetsel(
1786
-	$select,
1787
-	$from = [],
1788
-	$where = [],
1789
-	$groupby = [],
1790
-	$orderby = [],
1791
-	$limit = '',
1792
-	$having = [],
1793
-	$serveur = '',
1794
-	$option = true
1786
+    $select,
1787
+    $from = [],
1788
+    $where = [],
1789
+    $groupby = [],
1790
+    $orderby = [],
1791
+    $limit = '',
1792
+    $having = [],
1793
+    $serveur = '',
1794
+    $option = true
1795 1795
 ) {
1796
-	if (preg_match('/\s+as\s+(\w+)$/i', $select, $c)) {
1797
-		$id = $c[1];
1798
-	} elseif (!preg_match('/\W/', $select)) {
1799
-		$id = $select;
1800
-	} else {
1801
-		$id = 'n';
1802
-		$select .= ' AS n';
1803
-	}
1804
-	$r = sql_fetsel($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1805
-	if ($option === false) {
1806
-		return $r;
1807
-	}
1808
-	if (!$r) {
1809
-		return null;
1810
-	}
1811
-
1812
-	return $r[$id];
1796
+    if (preg_match('/\s+as\s+(\w+)$/i', $select, $c)) {
1797
+        $id = $c[1];
1798
+    } elseif (!preg_match('/\W/', $select)) {
1799
+        $id = $select;
1800
+    } else {
1801
+        $id = 'n';
1802
+        $select .= ' AS n';
1803
+    }
1804
+    $r = sql_fetsel($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1805
+    if ($option === false) {
1806
+        return $r;
1807
+    }
1808
+    if (!$r) {
1809
+        return null;
1810
+    }
1811
+
1812
+    return $r[$id];
1813 1813
 }
1814 1814
 
1815 1815
 /**
@@ -1827,9 +1827,9 @@  discard block
 block discarded – undo
1827 1827
  *    Numero de version du serveur SQL
1828 1828
  **/
1829 1829
 function sql_version($serveur = '', $option = true) {
1830
-	$row = sql_fetsel('version() AS n', '', '', '', '', '', '', $serveur);
1830
+    $row = sql_fetsel('version() AS n', '', '', '', '', '', '', $serveur);
1831 1831
 
1832
-	return ($row['n']);
1832
+    return ($row['n']);
1833 1833
 }
1834 1834
 
1835 1835
 /**
@@ -1865,16 +1865,16 @@  discard block
 block discarded – undo
1865 1865
  *    Le serveur SQL prefere t'il des transactions pour les insertions multiples ?
1866 1866
  **/
1867 1867
 function sql_preferer_transaction($serveur = '', $option = true) {
1868
-	$f = sql_serveur('preferer_transaction', $serveur, true);
1869
-	if (!is_string($f) or !$f) {
1870
-		return false;
1871
-	}
1872
-	$r = $f($serveur, $option !== false);
1873
-	if ($r === false) {
1874
-		spip_sql_erreur($serveur);
1875
-	}
1876
-
1877
-	return $r;
1868
+    $f = sql_serveur('preferer_transaction', $serveur, true);
1869
+    if (!is_string($f) or !$f) {
1870
+        return false;
1871
+    }
1872
+    $r = $f($serveur, $option !== false);
1873
+    if ($r === false) {
1874
+        spip_sql_erreur($serveur);
1875
+    }
1876
+
1877
+    return $r;
1878 1878
 }
1879 1879
 
1880 1880
 ;
@@ -1899,16 +1899,16 @@  discard block
 block discarded – undo
1899 1899
  *      false en cas d'erreur
1900 1900
  **/
1901 1901
 function sql_demarrer_transaction($serveur = '', $option = true) {
1902
-	$f = sql_serveur('demarrer_transaction', $serveur, true);
1903
-	if (!is_string($f) or !$f) {
1904
-		return false;
1905
-	}
1906
-	$r = $f($serveur, $option !== false);
1907
-	if ($r === false) {
1908
-		spip_sql_erreur($serveur);
1909
-	}
1910
-
1911
-	return $r;
1902
+    $f = sql_serveur('demarrer_transaction', $serveur, true);
1903
+    if (!is_string($f) or !$f) {
1904
+        return false;
1905
+    }
1906
+    $r = $f($serveur, $option !== false);
1907
+    if ($r === false) {
1908
+        spip_sql_erreur($serveur);
1909
+    }
1910
+
1911
+    return $r;
1912 1912
 }
1913 1913
 
1914 1914
 ;
@@ -1933,16 +1933,16 @@  discard block
 block discarded – undo
1933 1933
  *      false en cas d'erreur
1934 1934
  **/
1935 1935
 function sql_terminer_transaction($serveur = '', $option = true) {
1936
-	$f = sql_serveur('terminer_transaction', $serveur, true);
1937
-	if (!is_string($f) or !$f) {
1938
-		return false;
1939
-	}
1940
-	$r = $f($serveur, $option !== false);
1941
-	if ($r === false) {
1942
-		spip_sql_erreur($serveur);
1943
-	}
1944
-
1945
-	return $r;
1936
+    $f = sql_serveur('terminer_transaction', $serveur, true);
1937
+    if (!is_string($f) or !$f) {
1938
+        return false;
1939
+    }
1940
+    $r = $f($serveur, $option !== false);
1941
+    if ($r === false) {
1942
+        spip_sql_erreur($serveur);
1943
+    }
1944
+
1945
+    return $r;
1946 1946
 }
1947 1947
 
1948 1948
 ;
@@ -1969,12 +1969,12 @@  discard block
 block discarded – undo
1969 1969
  *     Valeur hexadécimale attendue par le serveur SQL
1970 1970
  **/
1971 1971
 function sql_hex($val, $serveur = '', $option = true) {
1972
-	$f = sql_serveur('hex', $serveur, $option === 'continue' or $option === false);
1973
-	if (!is_string($f) or !$f) {
1974
-		return false;
1975
-	}
1972
+    $f = sql_serveur('hex', $serveur, $option === 'continue' or $option === false);
1973
+    if (!is_string($f) or !$f) {
1974
+        return false;
1975
+    }
1976 1976
 
1977
-	return $f($val);
1977
+    return $f($val);
1978 1978
 }
1979 1979
 
1980 1980
 /**
@@ -2000,12 +2000,12 @@  discard block
 block discarded – undo
2000 2000
  *     La chaine echappee
2001 2001
  **/
2002 2002
 function sql_quote($val, $serveur = '', $type = '') {
2003
-	$f = sql_serveur('quote', $serveur, true);
2004
-	if (!is_string($f) or !$f) {
2005
-		$f = '_q';
2006
-	}
2003
+    $f = sql_serveur('quote', $serveur, true);
2004
+    if (!is_string($f) or !$f) {
2005
+        $f = '_q';
2006
+    }
2007 2007
 
2008
-	return $f($val, $type);
2008
+    return $f($val, $type);
2009 2009
 }
2010 2010
 
2011 2011
 /**
@@ -2030,12 +2030,12 @@  discard block
 block discarded – undo
2030 2030
  *     - false si le serveur SQL est indisponible
2031 2031
  **/
2032 2032
 function sql_date_proche($champ, $interval, $unite, $serveur = '', $option = true) {
2033
-	$f = sql_serveur('date_proche', $serveur, true);
2034
-	if (!is_string($f) or !$f) {
2035
-		return false;
2036
-	}
2033
+    $f = sql_serveur('date_proche', $serveur, true);
2034
+    if (!is_string($f) or !$f) {
2035
+        return false;
2036
+    }
2037 2037
 
2038
-	return $f($champ, $interval, $unite);
2038
+    return $f($champ, $interval, $unite);
2039 2039
 }
2040 2040
 
2041 2041
 /**
@@ -2071,26 +2071,26 @@  discard block
 block discarded – undo
2071 2071
  *     Expression de requête SQL
2072 2072
  **/
2073 2073
 function sql_in_quote($champ, $valeurs, $not = '', $serveur = '', $type = '', $option = true) {
2074
-	$quote = sql_serveur('quote', $serveur, true);
2075
-	if (!is_string($quote) or !$quote) {
2076
-		return false;
2077
-	}
2078
-
2079
-	// sql_quote produit une chaine dans tous les cas
2080
-	$valeurs = array_filter($valeurs, fn($v) => !is_array($v));
2081
-	$valeurs = array_unique($valeurs);
2082
-	$valeurs = $quote($valeurs, $type);
2083
-
2084
-	if (!strlen(trim($valeurs))) {
2085
-		return ($not ? '0=0' : '0=1');
2086
-	}
2087
-
2088
-	$f = sql_serveur('in', $serveur, $option === 'continue' or $option === false);
2089
-	if (!is_string($f) or !$f) {
2090
-		return false;
2091
-	}
2092
-
2093
-	return $f($champ, $valeurs, $not ? 'NOT' : '', $serveur, $option !== false);
2074
+    $quote = sql_serveur('quote', $serveur, true);
2075
+    if (!is_string($quote) or !$quote) {
2076
+        return false;
2077
+    }
2078
+
2079
+    // sql_quote produit une chaine dans tous les cas
2080
+    $valeurs = array_filter($valeurs, fn($v) => !is_array($v));
2081
+    $valeurs = array_unique($valeurs);
2082
+    $valeurs = $quote($valeurs, $type);
2083
+
2084
+    if (!strlen(trim($valeurs))) {
2085
+        return ($not ? '0=0' : '0=1');
2086
+    }
2087
+
2088
+    $f = sql_serveur('in', $serveur, $option === 'continue' or $option === false);
2089
+    if (!is_string($f) or !$f) {
2090
+        return false;
2091
+    }
2092
+
2093
+    return $f($champ, $valeurs, $not ? 'NOT' : '', $serveur, $option !== false);
2094 2094
 }
2095 2095
 
2096 2096
 /**
@@ -2107,19 +2107,19 @@  discard block
 block discarded – undo
2107 2107
  * @param bool $option
2108 2108
  */
2109 2109
 function sql_in($champ, $valeurs, $not = '', $serveur = '', $option = true) {
2110
-	$type = '';
2111
-	if (!is_array($valeurs)) {
2112
-		$valeurs = strval($valeurs);
2113
-		if (isset($valeurs[0]) and $valeurs[0] === ',') {
2114
-			$valeurs = substr($valeurs, 1);
2115
-		}
2116
-		// on explode en tableau pour pouvoir securiser le contenu
2117
-		$valeurs = explode(',', $valeurs);
2118
-		// et on force un cast de type int donc
2119
-		$type = 'int';
2120
-	}
2121
-
2122
-	return sql_in_quote($champ, $valeurs, $not, $serveur, $type, $option);
2110
+    $type = '';
2111
+    if (!is_array($valeurs)) {
2112
+        $valeurs = strval($valeurs);
2113
+        if (isset($valeurs[0]) and $valeurs[0] === ',') {
2114
+            $valeurs = substr($valeurs, 1);
2115
+        }
2116
+        // on explode en tableau pour pouvoir securiser le contenu
2117
+        $valeurs = explode(',', $valeurs);
2118
+        // et on force un cast de type int donc
2119
+        $type = 'int';
2120
+    }
2121
+
2122
+    return sql_in_quote($champ, $valeurs, $not, $serveur, $type, $option);
2123 2123
 }
2124 2124
 
2125 2125
 
@@ -2160,24 +2160,24 @@  discard block
 block discarded – undo
2160 2160
  *     Expression de requête SQL
2161 2161
  **/
2162 2162
 function sql_in_select(
2163
-	$in,
2164
-	$select,
2165
-	$from = [],
2166
-	$where = [],
2167
-	$groupby = [],
2168
-	$orderby = [],
2169
-	$limit = '',
2170
-	$having = [],
2171
-	$serveur = ''
2163
+    $in,
2164
+    $select,
2165
+    $from = [],
2166
+    $where = [],
2167
+    $groupby = [],
2168
+    $orderby = [],
2169
+    $limit = '',
2170
+    $having = [],
2171
+    $serveur = ''
2172 2172
 ) {
2173
-	$liste = [];
2174
-	$res = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur);
2175
-	while ($r = sql_fetch($res)) {
2176
-		$liste[] = array_shift($r);
2177
-	}
2178
-	sql_free($res);
2179
-
2180
-	return sql_in($in, $liste);
2173
+    $liste = [];
2174
+    $res = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur);
2175
+    while ($r = sql_fetch($res)) {
2176
+        $liste[] = array_shift($r);
2177
+    }
2178
+    sql_free($res);
2179
+
2180
+    return sql_in($in, $liste);
2181 2181
 }
2182 2182
 
2183 2183
 /**
@@ -2209,29 +2209,29 @@  discard block
 block discarded – undo
2209 2209
  *    Position apres le saut.
2210 2210
  */
2211 2211
 function sql_skip($res, $pos, $saut, $count, $serveur = '', $option = true) {
2212
-	// pas de saut en arriere qu'on ne sait pas faire sans sql_seek
2213
-	if (($saut = intval($saut)) <= 0) {
2214
-		return $pos;
2215
-	}
2216
-
2217
-	$seek = $pos + $saut;
2218
-	// si le saut fait depasser le maxi, on libere la resource
2219
-	// et on sort
2220
-	if ($seek >= $count) {
2221
-		sql_free($res, $serveur, $option);
2222
-
2223
-		return $count;
2224
-	}
2225
-
2226
-	if (sql_seek($res, $seek)) {
2227
-		$pos = $seek;
2228
-	} else {
2229
-		while ($pos < $seek and sql_fetch($res, $serveur, $option)) {
2230
-			$pos++;
2231
-		}
2232
-	}
2233
-
2234
-	return $pos;
2212
+    // pas de saut en arriere qu'on ne sait pas faire sans sql_seek
2213
+    if (($saut = intval($saut)) <= 0) {
2214
+        return $pos;
2215
+    }
2216
+
2217
+    $seek = $pos + $saut;
2218
+    // si le saut fait depasser le maxi, on libere la resource
2219
+    // et on sort
2220
+    if ($seek >= $count) {
2221
+        sql_free($res, $serveur, $option);
2222
+
2223
+        return $count;
2224
+    }
2225
+
2226
+    if (sql_seek($res, $seek)) {
2227
+        $pos = $seek;
2228
+    } else {
2229
+        while ($pos < $seek and sql_fetch($res, $serveur, $option)) {
2230
+            $pos++;
2231
+        }
2232
+    }
2233
+
2234
+    return $pos;
2235 2235
 }
2236 2236
 
2237 2237
 
@@ -2251,7 +2251,7 @@  discard block
 block discarded – undo
2251 2251
  *     True si le champ est de type entier
2252 2252
  */
2253 2253
 function sql_test_int($type, $serveur = '', $option = true) {
2254
-	return preg_match('/^(TINYINT|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT)/i', trim($type));
2254
+    return preg_match('/^(TINYINT|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT)/i', trim($type));
2255 2255
 }
2256 2256
 
2257 2257
 /**
@@ -2270,7 +2270,7 @@  discard block
 block discarded – undo
2270 2270
  *     True si le champ est de type entier
2271 2271
  */
2272 2272
 function sql_test_date($type, $serveur = '', $option = true) {
2273
-	return preg_match('/^(DATE|DATETIME|TIMESTAMP|TIME)/i', trim($type));
2273
+    return preg_match('/^(DATE|DATETIME|TIMESTAMP|TIME)/i', trim($type));
2274 2274
 }
2275 2275
 
2276 2276
 /**
@@ -2292,19 +2292,19 @@  discard block
 block discarded – undo
2292 2292
  *     La date formatee
2293 2293
  */
2294 2294
 function sql_format_date($annee = 0, $mois = 0, $jour = 0, $h = 0, $m = 0, $s = 0, $serveur = '') {
2295
-	$annee = sprintf('%04s', $annee);
2296
-	$mois = sprintf('%02s', $mois);
2297
-
2298
-	if ($annee == '0000') {
2299
-		$mois = 0;
2300
-	}
2301
-	if ($mois == '00') {
2302
-		$jour = 0;
2303
-	}
2304
-
2305
-	return sprintf('%04u', $annee) . '-' . sprintf('%02u', $mois) . '-'
2306
-	. sprintf('%02u', $jour) . ' ' . sprintf('%02u', $h) . ':'
2307
-	. sprintf('%02u', $m) . ':' . sprintf('%02u', $s);
2295
+    $annee = sprintf('%04s', $annee);
2296
+    $mois = sprintf('%02s', $mois);
2297
+
2298
+    if ($annee == '0000') {
2299
+        $mois = 0;
2300
+    }
2301
+    if ($mois == '00') {
2302
+        $jour = 0;
2303
+    }
2304
+
2305
+    return sprintf('%04u', $annee) . '-' . sprintf('%02u', $mois) . '-'
2306
+    . sprintf('%02u', $jour) . ' ' . sprintf('%02u', $h) . ':'
2307
+    . sprintf('%02u', $m) . ':' . sprintf('%02u', $s);
2308 2308
 }
2309 2309
 
2310 2310
 
@@ -2327,32 +2327,32 @@  discard block
 block discarded – undo
2327 2327
  **/
2328 2328
 function description_table($nom, $serveur = '') {
2329 2329
 
2330
-	static $trouver_table;
2330
+    static $trouver_table;
2331 2331
 
2332
-	/* toujours utiliser trouver_table
2332
+    /* toujours utiliser trouver_table
2333 2333
 	 qui renverra la description theorique
2334 2334
 	 car sinon on va se comporter differement selon que la table est declaree
2335 2335
 	 ou non
2336 2336
 	 */
2337
-	if (!$trouver_table) {
2338
-		$trouver_table = charger_fonction('trouver_table', 'base');
2339
-	}
2340
-	if ($desc = $trouver_table($nom, $serveur)) {
2341
-		return $desc;
2342
-	}
2343
-
2344
-	// sauf a l'installation :
2345
-	include_spip('base/serial');
2346
-	if (isset($GLOBALS['tables_principales'][$nom])) {
2347
-		return $GLOBALS['tables_principales'][$nom];
2348
-	}
2349
-
2350
-	include_spip('base/auxiliaires');
2351
-	if (isset($GLOBALS['tables_auxiliaires'][$nom])) {
2352
-		return $GLOBALS['tables_auxiliaires'][$nom];
2353
-	}
2354
-
2355
-	return false;
2337
+    if (!$trouver_table) {
2338
+        $trouver_table = charger_fonction('trouver_table', 'base');
2339
+    }
2340
+    if ($desc = $trouver_table($nom, $serveur)) {
2341
+        return $desc;
2342
+    }
2343
+
2344
+    // sauf a l'installation :
2345
+    include_spip('base/serial');
2346
+    if (isset($GLOBALS['tables_principales'][$nom])) {
2347
+        return $GLOBALS['tables_principales'][$nom];
2348
+    }
2349
+
2350
+    include_spip('base/auxiliaires');
2351
+    if (isset($GLOBALS['tables_auxiliaires'][$nom])) {
2352
+        return $GLOBALS['tables_auxiliaires'][$nom];
2353
+    }
2354
+
2355
+    return false;
2356 2356
 }
2357 2357
 
2358 2358
 /**
@@ -2365,8 +2365,8 @@  discard block
 block discarded – undo
2365 2365
  * @return string Table sql éventuellement renommée
2366 2366
  */
2367 2367
 function prefixer_table_spip($table, $prefixe) {
2368
-	if ($prefixe) {
2369
-		$table = preg_replace('/^spip_/', $prefixe . '_', $table);
2370
-	}
2371
-	return $table;
2368
+    if ($prefixe) {
2369
+        $table = preg_replace('/^spip_/', $prefixe . '_', $table);
2370
+    }
2371
+    return $table;
2372 2372
 }
Please login to merge, or discard this patch.
ecrire/balise/menu_lang.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
  *     Pile complétée du code compilé
38 38
  **/
39 39
 function balise_MENU_LANG($p) {
40
-	return calculer_balise_dynamique($p, 'MENU_LANG', ['lang']);
40
+    return calculer_balise_dynamique($p, 'MENU_LANG', ['lang']);
41 41
 }
42 42
 
43 43
 /**
@@ -56,11 +56,11 @@  discard block
 block discarded – undo
56 56
  *   string: (vide) si pas de multilinguisme
57 57
  */
58 58
 function balise_MENU_LANG_stat($args, $context_compil) {
59
-	if (strpos($GLOBALS['meta']['langues_multilingue'], ',') === false) {
60
-		return '';
61
-	}
59
+    if (strpos($GLOBALS['meta']['langues_multilingue'], ',') === false) {
60
+        return '';
61
+    }
62 62
 
63
-	return $args;
63
+    return $args;
64 64
 }
65 65
 
66 66
 /**
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
  *     Liste : Chemin du squelette, durée du cache, contexte
77 77
  **/
78 78
 function balise_MENU_LANG_dyn($opt) {
79
-	include_spip('balise/menu_lang_ecrire');
79
+    include_spip('balise/menu_lang_ecrire');
80 80
 
81
-	return menu_lang_pour_tous('var_lang', $opt);
81
+    return menu_lang_pour_tous('var_lang', $opt);
82 82
 }
Please login to merge, or discard this patch.
ecrire/auth/ldap.php 1 patch
Indentation   +176 added lines, -176 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 // Authentifie via LDAP et retourne la ligne SQL decrivant l'utilisateur si ok
@@ -25,12 +25,12 @@  discard block
 block discarded – undo
25 25
 // Attributs LDAP correspondants a ceux de SPIP, notamment pour le login
26 26
 // ne pas ecraser une definition perso dans mes_options
27 27
 if (!isset($GLOBALS['ldap_attributes']) or !is_array($GLOBALS['ldap_attributes'])) {
28
-	$GLOBALS['ldap_attributes'] = [
29
-		'login' => ['sAMAccountName', 'uid', 'login', 'userid', 'cn', 'sn'],
30
-		'nom' => 'cn',
31
-		'email' => 'mail',
32
-		'bio' => 'description'
33
-	];
28
+    $GLOBALS['ldap_attributes'] = [
29
+        'login' => ['sAMAccountName', 'uid', 'login', 'userid', 'cn', 'sn'],
30
+        'nom' => 'cn',
31
+        'email' => 'mail',
32
+        'bio' => 'description'
33
+    ];
34 34
 }
35 35
 
36 36
 /**
@@ -56,50 +56,50 @@  discard block
 block discarded – undo
56 56
  */
57 57
 function auth_ldap_dist($login, $pass, $serveur = '', $phpauth = false) {
58 58
 
59
-	#spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent"));
60
-
61
-	// Utilisateur connu ?
62
-	// si http auth, inutile de reauthentifier: cela
63
-	// ne marchera pas avec auth http autre que basic.
64
-	$checkpass = isset($_SERVER['REMOTE_USER']) ? false : true;
65
-	if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) {
66
-		return [];
67
-	}
68
-	$credentials_ldap = ['ldap_dn' => $dn, 'ldap_password' => $pass];
69
-
70
-	// Si l'utilisateur figure deja dans la base, y recuperer les infos
71
-	$r = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login) . " AND source='ldap'", '', '', '', '', $serveur);
72
-
73
-	if ($r) {
74
-		return array_merge($r, $credentials_ldap);
75
-	}
76
-
77
-	// sinon importer les infos depuis LDAP,
78
-
79
-	if (
80
-		$GLOBALS['meta']['ldap_statut_import']
81
-		and $desc = auth_ldap_retrouver($dn, [], $serveur)
82
-	) {
83
-		// rajouter le statut indique  a l'install
84
-		$desc['statut'] = $GLOBALS['meta']['ldap_statut_import'];
85
-		$desc['login'] = $login;
86
-		$desc['source'] = 'ldap';
87
-		$desc['pass'] = '';
88
-
89
-		$r = sql_insertq('spip_auteurs', $desc, [], $serveur);
90
-	}
91
-
92
-	if ($r) {
93
-		return array_merge(
94
-			$credentials_ldap,
95
-			sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($r), '', '', '', '', $serveur)
96
-		);
97
-	}
98
-
99
-	// sinon echec
100
-	spip_log("Creation de l'auteur '$login' impossible");
101
-
102
-	return [];
59
+    #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent"));
60
+
61
+    // Utilisateur connu ?
62
+    // si http auth, inutile de reauthentifier: cela
63
+    // ne marchera pas avec auth http autre que basic.
64
+    $checkpass = isset($_SERVER['REMOTE_USER']) ? false : true;
65
+    if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) {
66
+        return [];
67
+    }
68
+    $credentials_ldap = ['ldap_dn' => $dn, 'ldap_password' => $pass];
69
+
70
+    // Si l'utilisateur figure deja dans la base, y recuperer les infos
71
+    $r = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login) . " AND source='ldap'", '', '', '', '', $serveur);
72
+
73
+    if ($r) {
74
+        return array_merge($r, $credentials_ldap);
75
+    }
76
+
77
+    // sinon importer les infos depuis LDAP,
78
+
79
+    if (
80
+        $GLOBALS['meta']['ldap_statut_import']
81
+        and $desc = auth_ldap_retrouver($dn, [], $serveur)
82
+    ) {
83
+        // rajouter le statut indique  a l'install
84
+        $desc['statut'] = $GLOBALS['meta']['ldap_statut_import'];
85
+        $desc['login'] = $login;
86
+        $desc['source'] = 'ldap';
87
+        $desc['pass'] = '';
88
+
89
+        $r = sql_insertq('spip_auteurs', $desc, [], $serveur);
90
+    }
91
+
92
+    if ($r) {
93
+        return array_merge(
94
+            $credentials_ldap,
95
+            sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($r), '', '', '', '', $serveur)
96
+        );
97
+    }
98
+
99
+    // sinon echec
100
+    spip_log("Creation de l'auteur '$login' impossible");
101
+
102
+    return [];
103 103
 }
104 104
 
105 105
 /**
@@ -113,36 +113,36 @@  discard block
 block discarded – undo
113 113
  * @return array
114 114
  */
115 115
 function auth_ldap_connect($serveur = '') {
116
-	include_spip('base/connect_sql');
117
-	static $connexions_ldap = [];
118
-	if (isset($connexions_ldap[$serveur])) {
119
-		return $connexions_ldap[$serveur];
120
-	}
121
-	$connexion = spip_connect($serveur);
122
-	if (!is_array($connexion['ldap'])) {
123
-		if ($connexion['authentification']['ldap']) {
124
-			$f = _DIR_CONNECT . $connexion['authentification']['ldap'];
125
-			unset($GLOBALS['ldap_link']);
126
-			if (is_readable($f)) {
127
-				include_once($f);
128
-			};
129
-			if (isset($GLOBALS['ldap_link'])) {
130
-				$connexion['ldap'] = [
131
-					'link' => $GLOBALS['ldap_link'],
132
-					'base' => $GLOBALS['ldap_base']
133
-				];
134
-			} else {
135
-				spip_log("connection LDAP $serveur mal definie dans $f");
136
-			}
137
-			if (isset($GLOBALS['ldap_champs'])) {
138
-				$connexion['ldap']['attributes'] = $GLOBALS['ldap_champs'];
139
-			}
140
-		} else {
141
-			spip_log("connection LDAP $serveur inconnue");
142
-		}
143
-	}
144
-
145
-	return $connexions_ldap[$serveur] = $connexion['ldap'];
116
+    include_spip('base/connect_sql');
117
+    static $connexions_ldap = [];
118
+    if (isset($connexions_ldap[$serveur])) {
119
+        return $connexions_ldap[$serveur];
120
+    }
121
+    $connexion = spip_connect($serveur);
122
+    if (!is_array($connexion['ldap'])) {
123
+        if ($connexion['authentification']['ldap']) {
124
+            $f = _DIR_CONNECT . $connexion['authentification']['ldap'];
125
+            unset($GLOBALS['ldap_link']);
126
+            if (is_readable($f)) {
127
+                include_once($f);
128
+            };
129
+            if (isset($GLOBALS['ldap_link'])) {
130
+                $connexion['ldap'] = [
131
+                    'link' => $GLOBALS['ldap_link'],
132
+                    'base' => $GLOBALS['ldap_base']
133
+                ];
134
+            } else {
135
+                spip_log("connection LDAP $serveur mal definie dans $f");
136
+            }
137
+            if (isset($GLOBALS['ldap_champs'])) {
138
+                $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs'];
139
+            }
140
+        } else {
141
+            spip_log("connection LDAP $serveur inconnue");
142
+        }
143
+    }
144
+
145
+    return $connexions_ldap[$serveur] = $connexion['ldap'];
146 146
 }
147 147
 
148 148
 /**
@@ -156,52 +156,52 @@  discard block
 block discarded – undo
156 156
  *    Le login trouvé ou chaine vide si non trouvé
157 157
  */
158 158
 function auth_ldap_search($login, $pass, $checkpass = true, $serveur = '') {
159
-	// Securite anti-injection et contre un serveur LDAP laxiste
160
-	$login_search = preg_replace('/[^-@._\s\d\w]/', '', $login);
161
-	if (!strlen($login_search) or ($checkpass and !strlen($pass))) {
162
-		return '';
163
-	}
164
-
165
-	// verifier la connexion
166
-	if (!$ldap = auth_ldap_connect($serveur)) {
167
-		return '';
168
-	}
169
-
170
-	$ldap_link = $ldap['link'] ?? null;
171
-	$ldap_base = $ldap['base'] ?? null;
172
-	$desc = !empty($ldap['attributes']) ? $ldap['attributes'] : $GLOBALS['ldap_attributes'];
173
-
174
-	$logins = is_array($desc['login']) ? $desc['login'] : [$desc['login']];
175
-
176
-	// Tenter une recherche pour essayer de retrouver le DN
177
-	foreach ($logins as $att) {
178
-		$result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", ['dn']);
179
-		$info = @ldap_get_entries($ldap_link, $result);
180
-		// Ne pas accepter les resultats si plus d'une entree
181
-		// (on veut un attribut unique)
182
-
183
-		if (is_array($info) and $info['count'] == 1) {
184
-			$dn = $info[0]['dn'];
185
-			if (!$checkpass) {
186
-				return $dn;
187
-			}
188
-			if (@ldap_bind($ldap_link, $dn, $pass)) {
189
-				return $dn;
190
-			}
191
-		}
192
-	}
193
-
194
-	if ($checkpass and !isset($dn)) {
195
-		// Si echec, essayer de deviner le DN
196
-		foreach ($logins as $att) {
197
-			$dn = "$att=$login_search, $ldap_base";
198
-			if (@ldap_bind($ldap_link, $dn, $pass)) {
199
-				return "$att=$login_search, $ldap_base";
200
-			}
201
-		}
202
-	}
203
-
204
-	return '';
159
+    // Securite anti-injection et contre un serveur LDAP laxiste
160
+    $login_search = preg_replace('/[^-@._\s\d\w]/', '', $login);
161
+    if (!strlen($login_search) or ($checkpass and !strlen($pass))) {
162
+        return '';
163
+    }
164
+
165
+    // verifier la connexion
166
+    if (!$ldap = auth_ldap_connect($serveur)) {
167
+        return '';
168
+    }
169
+
170
+    $ldap_link = $ldap['link'] ?? null;
171
+    $ldap_base = $ldap['base'] ?? null;
172
+    $desc = !empty($ldap['attributes']) ? $ldap['attributes'] : $GLOBALS['ldap_attributes'];
173
+
174
+    $logins = is_array($desc['login']) ? $desc['login'] : [$desc['login']];
175
+
176
+    // Tenter une recherche pour essayer de retrouver le DN
177
+    foreach ($logins as $att) {
178
+        $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", ['dn']);
179
+        $info = @ldap_get_entries($ldap_link, $result);
180
+        // Ne pas accepter les resultats si plus d'une entree
181
+        // (on veut un attribut unique)
182
+
183
+        if (is_array($info) and $info['count'] == 1) {
184
+            $dn = $info[0]['dn'];
185
+            if (!$checkpass) {
186
+                return $dn;
187
+            }
188
+            if (@ldap_bind($ldap_link, $dn, $pass)) {
189
+                return $dn;
190
+            }
191
+        }
192
+    }
193
+
194
+    if ($checkpass and !isset($dn)) {
195
+        // Si echec, essayer de deviner le DN
196
+        foreach ($logins as $att) {
197
+            $dn = "$att=$login_search, $ldap_base";
198
+            if (@ldap_bind($ldap_link, $dn, $pass)) {
199
+                return "$att=$login_search, $ldap_base";
200
+            }
201
+        }
202
+    }
203
+
204
+    return '';
205 205
 }
206 206
 
207 207
 /**
@@ -213,40 +213,40 @@  discard block
 block discarded – undo
213 213
  * @return array
214 214
  */
215 215
 function auth_ldap_retrouver($dn, $desc = [], $serveur = '') {
216
-	// Lire les infos sur l'utilisateur a partir de son DN depuis LDAP
216
+    // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP
217 217
 
218
-	if (!$ldap = auth_ldap_connect($serveur)) {
219
-		spip_log("ldap $serveur injoignable");
218
+    if (!$ldap = auth_ldap_connect($serveur)) {
219
+        spip_log("ldap $serveur injoignable");
220 220
 
221
-		return [];
222
-	}
221
+        return [];
222
+    }
223 223
 
224
-	$ldap_link = $ldap['link'];
225
-	if (!$desc) {
226
-		$desc = $ldap['attributes'] ?: $GLOBALS['ldap_attributes'];
227
-		unset($desc['login']);
228
-	}
229
-	$result = @ldap_read($ldap_link, $dn, 'objectClass=*', array_values($desc));
224
+    $ldap_link = $ldap['link'];
225
+    if (!$desc) {
226
+        $desc = $ldap['attributes'] ?: $GLOBALS['ldap_attributes'];
227
+        unset($desc['login']);
228
+    }
229
+    $result = @ldap_read($ldap_link, $dn, 'objectClass=*', array_values($desc));
230 230
 
231
-	if (!$result) {
232
-		return [];
233
-	}
231
+    if (!$result) {
232
+        return [];
233
+    }
234 234
 
235
-	// Recuperer les donnees du premier (unique?) compte de l'auteur
236
-	$val = @ldap_get_entries($ldap_link, $result);
237
-	if (!is_array($val) or !is_array($val[0])) {
238
-		return [];
239
-	}
240
-	$val = $val[0];
235
+    // Recuperer les donnees du premier (unique?) compte de l'auteur
236
+    $val = @ldap_get_entries($ldap_link, $result);
237
+    if (!is_array($val) or !is_array($val[0])) {
238
+        return [];
239
+    }
240
+    $val = $val[0];
241 241
 
242
-	// Convertir depuis UTF-8 (jeu de caracteres par defaut)
243
-	include_spip('inc/charsets');
242
+    // Convertir depuis UTF-8 (jeu de caracteres par defaut)
243
+    include_spip('inc/charsets');
244 244
 
245
-	foreach ($desc as $k => $v) {
246
-		$desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8');
247
-	}
245
+    foreach ($desc as $k => $v) {
246
+        $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8');
247
+    }
248 248
 
249
-	return $desc;
249
+    return $desc;
250 250
 }
251 251
 
252 252
 
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
  * @return string
259 259
  */
260 260
 function auth_ldap_retrouver_login($login, $serveur = '') {
261
-	return auth_ldap_search($login, '', false, $serveur) ? $login : '';
261
+    return auth_ldap_search($login, '', false, $serveur) ? $login : '';
262 262
 }
263 263
 
264 264
 /**
@@ -278,9 +278,9 @@  discard block
 block discarded – undo
278 278
  *   Message d'erreur si login non valide, chaîne vide sinon
279 279
  */
280 280
 function auth_ldap_verifier_pass($login, $new_pass, $id_auteur = 0, $serveur = '') {
281
-	include_spip('auth/spip');
281
+    include_spip('auth/spip');
282 282
 
283
-	return auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur);
283
+    return auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur);
284 284
 }
285 285
 
286 286
 /**
@@ -301,7 +301,7 @@  discard block
 block discarded – undo
301 301
  *   ```
302 302
  */
303 303
 function auth_ldap_autoriser_modifier_pass($serveur = '') {
304
-	return true;
304
+    return true;
305 305
 }
306 306
 
307 307
 /**
@@ -319,23 +319,23 @@  discard block
 block discarded – undo
319 319
  *    Informe du succès ou de l'echec du changement du mot de passe
320 320
  */
321 321
 function auth_ldap_modifier_pass($login, $new_pass, $id_auteur, $serveur = '') {
322
-	if (is_null($new_pass) or auth_ldap_verifier_pass($login, $new_pass, $id_auteur, $serveur) != '') {
323
-		return false;
324
-	}
325
-	if (!$ldap = auth_ldap_connect($serveur)) {
326
-		return false;
327
-	}
328
-	$link = $ldap['link'];
329
-	include_spip('inc/session');
330
-	$dn = session_get('ldap_dn');
331
-	if ('' == $dn) {
332
-		return false;
333
-	}
334
-	if (!ldap_bind($link, $dn, session_get('ldap_password'))) {
335
-		return false;
336
-	}
337
-	$encoded_pass = '{MD5}' . base64_encode(pack('H*', md5($new_pass)));
338
-	$success = ldap_mod_replace($link, $dn, ['userPassword' => $encoded_pass]);
339
-
340
-	return $success;
322
+    if (is_null($new_pass) or auth_ldap_verifier_pass($login, $new_pass, $id_auteur, $serveur) != '') {
323
+        return false;
324
+    }
325
+    if (!$ldap = auth_ldap_connect($serveur)) {
326
+        return false;
327
+    }
328
+    $link = $ldap['link'];
329
+    include_spip('inc/session');
330
+    $dn = session_get('ldap_dn');
331
+    if ('' == $dn) {
332
+        return false;
333
+    }
334
+    if (!ldap_bind($link, $dn, session_get('ldap_password'))) {
335
+        return false;
336
+    }
337
+    $encoded_pass = '{MD5}' . base64_encode(pack('H*', md5($new_pass)));
338
+    $success = ldap_mod_replace($link, $dn, ['userPassword' => $encoded_pass]);
339
+
340
+    return $success;
341 341
 }
Please login to merge, or discard this patch.
ecrire/balise/menu_lang_ecrire.php 1 patch
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
  *     Pile complétée du code compilé
38 38
  **/
39 39
 function balise_MENU_LANG_ECRIRE($p) {
40
-	return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', ['lang']);
40
+    return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', ['lang']);
41 41
 }
42 42
 
43 43
 /**
@@ -56,12 +56,12 @@  discard block
 block discarded – undo
56 56
  *   - string: Si pas de multilinguisme
57 57
  */
58 58
 function balise_MENU_LANG_ECRIRE_stat($args, $context_compil) {
59
-	include_spip('inc/lang');
60
-	if (strpos($GLOBALS['meta']['langues_proposees'], ',') === false) {
61
-		return '';
62
-	}
59
+    include_spip('inc/lang');
60
+    if (strpos($GLOBALS['meta']['langues_proposees'], ',') === false) {
61
+        return '';
62
+    }
63 63
 
64
-	return $args;
64
+    return $args;
65 65
 }
66 66
 
67 67
 /**
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
  *     Liste : Chemin du squelette, durée du cache, contexte
78 78
  **/
79 79
 function balise_MENU_LANG_ECRIRE_dyn($opt) {
80
-	return menu_lang_pour_tous('var_lang_ecrire', $opt);
80
+    return menu_lang_pour_tous('var_lang_ecrire', $opt);
81 81
 }
82 82
 
83 83
 /**
@@ -97,30 +97,30 @@  discard block
 block discarded – undo
97 97
  *     Liste : Chemin du squelette, durée du cache, contexte
98 98
  **/
99 99
 function menu_lang_pour_tous($nom, $default) {
100
-	include_spip('inc/lang');
100
+    include_spip('inc/lang');
101 101
 
102
-	if ($GLOBALS['spip_lang'] <> $default) {
103
-		$opt = lang_select($default);  # et remplace
104
-		if ($GLOBALS['spip_lang'] <> $default) {
105
-			$default = '';  # annule tout choix par defaut
106
-			if ($opt) {
107
-				lang_select();
108
-			}
109
-		}
110
-	}
102
+    if ($GLOBALS['spip_lang'] <> $default) {
103
+        $opt = lang_select($default);  # et remplace
104
+        if ($GLOBALS['spip_lang'] <> $default) {
105
+            $default = '';  # annule tout choix par defaut
106
+            if ($opt) {
107
+                lang_select();
108
+            }
109
+        }
110
+    }
111 111
 
112
-	# lien a partir de /
113
-	$cible = parametre_url(self(), 'lang', '', '&');
114
-	$post = generer_url_action('converser', 'redirect=' . rawurlencode($cible), true);
112
+    # lien a partir de /
113
+    $cible = parametre_url(self(), 'lang', '', '&');
114
+    $post = generer_url_action('converser', 'redirect=' . rawurlencode($cible), true);
115 115
 
116
-	return [
117
-		'formulaires/menu_lang',
118
-		3600,
119
-		[
120
-			'nom' => $nom,
121
-			'url' => $post,
122
-			'name' => $nom,
123
-			'default' => $default,
124
-		]
125
-	];
116
+    return [
117
+        'formulaires/menu_lang',
118
+        3600,
119
+        [
120
+            'nom' => $nom,
121
+            'url' => $post,
122
+            'name' => $nom,
123
+            'default' => $default,
124
+        ]
125
+    ];
126 126
 }
Please login to merge, or discard this patch.
ecrire/inc/filtres_mime.php 1 patch
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
  **/
23 23
 
24 24
 if (!defined('_ECRIRE_INC_VERSION')) {
25
-	return;
25
+    return;
26 26
 }
27 27
 include_spip('inc/filtres');
28 28
 
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
  * @return string Rien.
40 40
  **/
41 41
 function filtre_image_dist($t) {
42
-	return '';
42
+    return '';
43 43
 }
44 44
 
45 45
 /**
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
  * @return string Rien.
53 53
  **/
54 54
 function filtre_audio_dist($t) {
55
-	return '';
55
+    return '';
56 56
 }
57 57
 
58 58
 /**
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
  * @return string Rien.
66 66
  **/
67 67
 function filtre_video_dist($t) {
68
-	return '';
68
+    return '';
69 69
 }
70 70
 
71 71
 /**
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
  * @return string Rien.
79 79
  **/
80 80
 function filtre_application_dist($t) {
81
-	return '';
81
+    return '';
82 82
 }
83 83
 
84 84
 /**
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
  * @return string Rien.
92 92
  **/
93 93
 function filtre_message_dist($t) {
94
-	return '';
94
+    return '';
95 95
 }
96 96
 
97 97
 /**
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
  * @return string Rien.
105 105
  **/
106 106
 function filtre_multipart_dist($t) {
107
-	return '';
107
+    return '';
108 108
 }
109 109
 
110 110
 /**
@@ -117,10 +117,10 @@  discard block
 block discarded – undo
117 117
  * @return string Contenu échappé.
118 118
  **/
119 119
 function filtre_text_dist($t) {
120
-	static $t1 = ['&', '<', '>'];
121
-	static $t2 = ['&amp;', '&lt;', '&gt;'];
120
+    static $t1 = ['&', '<', '>'];
121
+    static $t2 = ['&amp;', '&lt;', '&gt;'];
122 122
 
123
-	return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>';
123
+    return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>';
124 124
 }
125 125
 
126 126
 /**
@@ -135,21 +135,21 @@  discard block
 block discarded – undo
135 135
  *     Tableau (formaté en SPIP)
136 136
  **/
137 137
 function filtre_text_csv_dist($t) {
138
-	include_spip('inc/csv');
139
-	[$entete, $lignes, $caption] = analyse_csv($t);
140
-	foreach ($lignes as &$l) {
141
-		$l = join('|', $l);
142
-	}
143
-	$corps = join("\n", $lignes) . "\n";
144
-	$corps = $caption .
145
-		"\n|{{" .
146
-		join('}}|{{', $entete) .
147
-		'}}|' .
148
-		"\n|" .
149
-		str_replace("\n", "|\n|", $corps);
150
-	include_spip('inc/texte');
151
-
152
-	return propre($corps);
138
+    include_spip('inc/csv');
139
+    [$entete, $lignes, $caption] = analyse_csv($t);
140
+    foreach ($lignes as &$l) {
141
+        $l = join('|', $l);
142
+    }
143
+    $corps = join("\n", $lignes) . "\n";
144
+    $corps = $caption .
145
+        "\n|{{" .
146
+        join('}}|{{', $entete) .
147
+        '}}|' .
148
+        "\n|" .
149
+        str_replace("\n", "|\n|", $corps);
150
+    include_spip('inc/texte');
151
+
152
+    return propre($corps);
153 153
 }
154 154
 
155 155
 /**
@@ -163,33 +163,33 @@  discard block
 block discarded – undo
163 163
  * @return string Code html sécurisé ou texte échappé
164 164
  **/
165 165
 function filtre_text_html_dist($t) {
166
-	if (!preg_match(',^(.*?)<body[^>]*>(.*)</body>,is', $t, $r)) {
167
-		return appliquer_filtre($t, 'text/plain');
168
-	}
169
-
170
-	[, $h, $t] = $r;
171
-
172
-	$style = '';
173
-	// recuperer les styles internes
174
-	if (preg_match_all(',<style>(.*?)</style>,is', $h, $r, PREG_PATTERN_ORDER)) {
175
-		$style = join("\n", $r[1]);
176
-	}
177
-	// ... et externes
178
-
179
-	include_spip('inc/distant');
180
-	if (preg_match_all(',<link[^>]+type=.text/css[^>]*>,is', $h, $r, PREG_PATTERN_ORDER)) {
181
-		foreach ($r[0] as $l) {
182
-			preg_match("/href='([^']*)'/", str_replace('"', "'", $l), $m);
183
-			$page = recuperer_url($m[1]);
184
-			$page = $page['page'] ?? '';
185
-			$style .= "\n/* $l */\n"
186
-				. str_replace('<', '', $page);
187
-		}
188
-	}
189
-	// Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ?
190
-	$t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t));
191
-
192
-	return (!$style ? '' : "\n<style>" . $style . '</style>') . $t;
166
+    if (!preg_match(',^(.*?)<body[^>]*>(.*)</body>,is', $t, $r)) {
167
+        return appliquer_filtre($t, 'text/plain');
168
+    }
169
+
170
+    [, $h, $t] = $r;
171
+
172
+    $style = '';
173
+    // recuperer les styles internes
174
+    if (preg_match_all(',<style>(.*?)</style>,is', $h, $r, PREG_PATTERN_ORDER)) {
175
+        $style = join("\n", $r[1]);
176
+    }
177
+    // ... et externes
178
+
179
+    include_spip('inc/distant');
180
+    if (preg_match_all(',<link[^>]+type=.text/css[^>]*>,is', $h, $r, PREG_PATTERN_ORDER)) {
181
+        foreach ($r[0] as $l) {
182
+            preg_match("/href='([^']*)'/", str_replace('"', "'", $l), $m);
183
+            $page = recuperer_url($m[1]);
184
+            $page = $page['page'] ?? '';
185
+            $style .= "\n/* $l */\n"
186
+                . str_replace('<', '', $page);
187
+        }
188
+    }
189
+    // Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ?
190
+    $t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t));
191
+
192
+    return (!$style ? '' : "\n<style>" . $style . '</style>') . $t;
193 193
 }
194 194
 
195 195
 /**
@@ -202,7 +202,7 @@  discard block
 block discarded – undo
202 202
  * @return string Code HTML des balises `<param>`
203 203
  **/
204 204
 function filtre_audio_x_pn_realaudio($id) {
205
-	return "
205
+    return "
206 206
 	<param name='controls' value='PositionSlider' />
207 207
 	<param name='controls' value='ImageWindow' />
208 208
 	<param name='controls' value='PlayButton' />
Please login to merge, or discard this patch.
ecrire/lang/spip_fr.php 1 patch
Indentation   +669 added lines, -669 removed lines patch added patch discarded remove patch
@@ -2,248 +2,248 @@  discard block
 block discarded – undo
2 2
 // This is a SPIP language file  --  Ceci est un fichier langue de SPIP
3 3
 // Fichier source, a modifier dans https://git.spip.net/spip/spip.git
4 4
 if (!defined('_ECRIRE_INC_VERSION')) {
5
-	return;
5
+    return;
6 6
 }
7 7
 
8 8
 $GLOBALS[$GLOBALS['idx_lang']] = array(
9 9
 
10
-	// A
11
-	'access_interface_graphique' => 'Retour à l’interface graphique complète',
12
-	'access_mode_texte' => 'Afficher l’interface textuelle simplifiée',
13
-	'admin_debug' => 'debug',
14
-	'admin_modifier_article' => 'Modifier cet article',
15
-	'admin_modifier_auteur' => 'Modifier cet auteur',
16
-	'admin_modifier_breve' => 'Modifier cette brève',
17
-	'admin_modifier_mot' => 'Modifier ce mot-clé',
18
-	'admin_modifier_rubrique' => 'Modifier cette rubrique',
19
-	'admin_recalculer' => 'Recalculer cette page',
20
-	'afficher_calendrier' => 'Afficher le calendrier',
21
-	'afficher_trad' => 'afficher les traductions',
22
-	'alerte_maj_impossible' => '<b>Alerte !</b> La mise à jour de la base SQL vers la version @version@ est impossible, peut-être à cause d’un problème de droit de modification sur la base de données. Veuillez contacter votre hébergeur.',
23
-	'alerte_modif_info_concourante' => 'ATTENTION : Cette information a été modifiée par ailleurs. La valeur actuelle est :',
24
-	'analyse_xml' => 'Analyse XML',
25
-	'annuler' => 'Annuler',
26
-	'antispam_champ_vide' => 'Veuillez laisser ce champ vide :',
27
-	'articles_recents' => 'Articles les plus récents',
28
-	'attention_champ_mini_nb_caractères' => 'Attention ! @nb@ caractères au minimum',
29
-	'avis_1_erreur_saisie' => 'Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.',
30
-	'avis_archive_incorrect' => 'le fichier archive n’est pas un fichier SPIP',
31
-	'avis_archive_invalide' => 'le fichier archive n’est pas valide',
32
-	'avis_attention' => 'ATTENTION !',
33
-	'avis_champ_incorrect_type_objet' => 'Nom de champ incorrect @name@ pour objet de type @type@',
34
-	'avis_colonne_inexistante' => 'La colonne @col@ n’existe pas',
35
-	'avis_erreur' => 'Erreur : voir ci-dessous',
36
-	'avis_erreur_connexion' => 'Erreur de connexion',
37
-	'avis_erreur_cookie' => 'problème de cookie',
38
-	'avis_erreur_fonction_contexte' => 'Erreur de programmation. Cette fonction ne doit pas être appelée dans ce contexte.',
39
-	'avis_erreur_mysql' => 'Erreur SQL',
40
-	'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !',
41
-	'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé',
42
-	'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans votre saisie, veuillez vérifier les informations.',
10
+    // A
11
+    'access_interface_graphique' => 'Retour à l’interface graphique complète',
12
+    'access_mode_texte' => 'Afficher l’interface textuelle simplifiée',
13
+    'admin_debug' => 'debug',
14
+    'admin_modifier_article' => 'Modifier cet article',
15
+    'admin_modifier_auteur' => 'Modifier cet auteur',
16
+    'admin_modifier_breve' => 'Modifier cette brève',
17
+    'admin_modifier_mot' => 'Modifier ce mot-clé',
18
+    'admin_modifier_rubrique' => 'Modifier cette rubrique',
19
+    'admin_recalculer' => 'Recalculer cette page',
20
+    'afficher_calendrier' => 'Afficher le calendrier',
21
+    'afficher_trad' => 'afficher les traductions',
22
+    'alerte_maj_impossible' => '<b>Alerte !</b> La mise à jour de la base SQL vers la version @version@ est impossible, peut-être à cause d’un problème de droit de modification sur la base de données. Veuillez contacter votre hébergeur.',
23
+    'alerte_modif_info_concourante' => 'ATTENTION : Cette information a été modifiée par ailleurs. La valeur actuelle est :',
24
+    'analyse_xml' => 'Analyse XML',
25
+    'annuler' => 'Annuler',
26
+    'antispam_champ_vide' => 'Veuillez laisser ce champ vide :',
27
+    'articles_recents' => 'Articles les plus récents',
28
+    'attention_champ_mini_nb_caractères' => 'Attention ! @nb@ caractères au minimum',
29
+    'avis_1_erreur_saisie' => 'Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.',
30
+    'avis_archive_incorrect' => 'le fichier archive n’est pas un fichier SPIP',
31
+    'avis_archive_invalide' => 'le fichier archive n’est pas valide',
32
+    'avis_attention' => 'ATTENTION !',
33
+    'avis_champ_incorrect_type_objet' => 'Nom de champ incorrect @name@ pour objet de type @type@',
34
+    'avis_colonne_inexistante' => 'La colonne @col@ n’existe pas',
35
+    'avis_erreur' => 'Erreur : voir ci-dessous',
36
+    'avis_erreur_connexion' => 'Erreur de connexion',
37
+    'avis_erreur_cookie' => 'problème de cookie',
38
+    'avis_erreur_fonction_contexte' => 'Erreur de programmation. Cette fonction ne doit pas être appelée dans ce contexte.',
39
+    'avis_erreur_mysql' => 'Erreur SQL',
40
+    'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !',
41
+    'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé',
42
+    'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans votre saisie, veuillez vérifier les informations.',
43 43
 
44
-	// B
45
-	'barre_a_accent_grave' => 'Insérer un A accent grave majuscule',
46
-	'barre_aide' => 'Utilisez les raccourcis typographiques pour enrichir votre mise en page',
47
-	'barre_e_accent_aigu' => 'Insérer un E accent aigu majuscule',
48
-	'barre_eo' => 'Insérer un E dans l’O',
49
-	'barre_eo_maj' => 'Insérer un E dans l’O majuscule',
50
-	'barre_euro' => 'Insérer le symbole €',
51
-	'barre_gras' => 'Mettre en {{gras}}',
52
-	'barre_guillemets' => 'Entourer de « guillemets »',
53
-	'barre_guillemets_simples' => 'Entourer de “guillemets de second niveau”',
54
-	'barre_intertitre' => 'Transformer en {{{intertitre}}}',
55
-	'barre_italic' => 'Mettre en {italique}',
56
-	'barre_lien' => 'Transformer en [lien hypertexte->http://...]',
57
-	'barre_lien_input' => 'Veuillez indiquer l’adresse de votre lien (vous pouvez indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d’un article de ce site.',
58
-	'barre_note' => 'Transformer en [[Note de bas de page]]',
59
-	'barre_paragraphe' => 'Créer un paragraphe',
60
-	'barre_quote' => '<quote>Citer un message</quote>',
61
-	'bouton_changer' => 'Changer',
62
-	'bouton_chercher' => 'Chercher',
63
-	'bouton_choisir' => 'Choisir',
64
-	'bouton_deplacer' => 'Déplacer',
65
-	'bouton_download' => 'Télécharger',
66
-	'bouton_enregistrer' => 'Enregistrer',
67
-	'bouton_radio_desactiver_messagerie_interne' => 'Désactiver la messagerie interne',
68
-	'bouton_radio_envoi_annonces' => 'Envoyer les annonces éditoriales',
69
-	'bouton_radio_non_envoi_annonces' => 'Ne pas envoyer d’annonces',
70
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
71
-	'bouton_recharger_page' => 'recharger cette page',
72
-	'bouton_telecharger' => 'Télécharger',
73
-	'bouton_upload' => 'Téléverser',
74
-	'bouton_valider' => 'Valider',
44
+    // B
45
+    'barre_a_accent_grave' => 'Insérer un A accent grave majuscule',
46
+    'barre_aide' => 'Utilisez les raccourcis typographiques pour enrichir votre mise en page',
47
+    'barre_e_accent_aigu' => 'Insérer un E accent aigu majuscule',
48
+    'barre_eo' => 'Insérer un E dans l’O',
49
+    'barre_eo_maj' => 'Insérer un E dans l’O majuscule',
50
+    'barre_euro' => 'Insérer le symbole €',
51
+    'barre_gras' => 'Mettre en {{gras}}',
52
+    'barre_guillemets' => 'Entourer de « guillemets »',
53
+    'barre_guillemets_simples' => 'Entourer de “guillemets de second niveau”',
54
+    'barre_intertitre' => 'Transformer en {{{intertitre}}}',
55
+    'barre_italic' => 'Mettre en {italique}',
56
+    'barre_lien' => 'Transformer en [lien hypertexte->http://...]',
57
+    'barre_lien_input' => 'Veuillez indiquer l’adresse de votre lien (vous pouvez indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d’un article de ce site.',
58
+    'barre_note' => 'Transformer en [[Note de bas de page]]',
59
+    'barre_paragraphe' => 'Créer un paragraphe',
60
+    'barre_quote' => '<quote>Citer un message</quote>',
61
+    'bouton_changer' => 'Changer',
62
+    'bouton_chercher' => 'Chercher',
63
+    'bouton_choisir' => 'Choisir',
64
+    'bouton_deplacer' => 'Déplacer',
65
+    'bouton_download' => 'Télécharger',
66
+    'bouton_enregistrer' => 'Enregistrer',
67
+    'bouton_radio_desactiver_messagerie_interne' => 'Désactiver la messagerie interne',
68
+    'bouton_radio_envoi_annonces' => 'Envoyer les annonces éditoriales',
69
+    'bouton_radio_non_envoi_annonces' => 'Ne pas envoyer d’annonces',
70
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
71
+    'bouton_recharger_page' => 'recharger cette page',
72
+    'bouton_telecharger' => 'Télécharger',
73
+    'bouton_upload' => 'Téléverser',
74
+    'bouton_valider' => 'Valider',
75 75
 
76
-	// C
77
-	'cal_apresmidi' => 'après-midi',
78
-	'cal_jour_entier' => 'jour entier',
79
-	'cal_matin' => 'matin',
80
-	'cal_par_jour' => 'calendrier par jour',
81
-	'cal_par_mois' => 'calendrier par mois',
82
-	'cal_par_semaine' => 'calendrier par semaine',
83
-	'choix_couleur_interface' => 'couleur ',
84
-	'choix_interface' => 'choix  de l’interface',
85
-	'colonne' => 'Colonne',
86
-	'confirm_changer_statut' => 'Attention, vous avez demandé à changer le statut de cet élément. Souhaitez-vous continuer ?',
87
-	'correcte' => 'correcte', # chaine utilisée dans le debugueur : "validation .. impossible" ou "validation .. correcte"
76
+    // C
77
+    'cal_apresmidi' => 'après-midi',
78
+    'cal_jour_entier' => 'jour entier',
79
+    'cal_matin' => 'matin',
80
+    'cal_par_jour' => 'calendrier par jour',
81
+    'cal_par_mois' => 'calendrier par mois',
82
+    'cal_par_semaine' => 'calendrier par semaine',
83
+    'choix_couleur_interface' => 'couleur ',
84
+    'choix_interface' => 'choix  de l’interface',
85
+    'colonne' => 'Colonne',
86
+    'confirm_changer_statut' => 'Attention, vous avez demandé à changer le statut de cet élément. Souhaitez-vous continuer ?',
87
+    'correcte' => 'correcte', # chaine utilisée dans le debugueur : "validation .. impossible" ou "validation .. correcte"
88 88
 
89
-	// D
90
-	'date_aujourdhui' => 'aujourd’hui',
91
-	'date_avant_jc' => 'av. J.C.',
92
-	'date_dans' => 'dans @delai@',
93
-	'date_de_mois_1' => '@j@ @nommois@',
94
-	'date_de_mois_10' => '@j@ @nommois@',
95
-	'date_de_mois_11' => '@j@ @nommois@',
96
-	'date_de_mois_12' => '@j@ @nommois@',
97
-	'date_de_mois_2' => '@j@ @nommois@',
98
-	'date_de_mois_3' => '@j@ @nommois@',
99
-	'date_de_mois_4' => '@j@ @nommois@',
100
-	'date_de_mois_5' => '@j@ @nommois@',
101
-	'date_de_mois_6' => '@j@ @nommois@',
102
-	'date_de_mois_7' => '@j@ @nommois@',
103
-	'date_de_mois_8' => '@j@ @nommois@',
104
-	'date_de_mois_9' => '@j@ @nommois@',
105
-	'date_demain' => 'demain',
106
-	'date_fmt_heures_minutes' => '@h@h@m@min',
107
-	'date_fmt_heures_minutes_court' => '@h@h@m@',
108
-	'date_fmt_jour' => '@nomjour@ @jour@',
109
-	'date_fmt_jour_heure' => '@jour@ à @heure@',
110
-	'date_fmt_jour_heure_debut_fin' => '@jour@ de @heure_debut@ à @heure_fin@',
111
-	'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtend@@heure_fin@@dtabbr@',
112
-	'date_fmt_jour_mois' => '@jour@ @nommois@',
113
-	'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
114
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
115
-	'date_fmt_nomjour' => '@nomjour@ @date@',
116
-	'date_fmt_nomjour_date' => 'le @nomjour@ @date@',
117
-	'date_fmt_periode' => 'Du @date_debut@ au @date_fin@',
118
-	'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@',
119
-	'date_fmt_periode_from' => 'Du',
120
-	'date_fmt_periode_to' => 'au',
121
-	'date_fmt_saison_annee' => '@saison@ @annee@',
122
-	'date_heures' => 'heures',
123
-	'date_hier' => 'hier',
124
-	'date_il_y_a' => 'il y a @delai@',
125
-	'date_jnum1' => '1er',
126
-	'date_jnum10' => '10',
127
-	'date_jnum11' => '11',
128
-	'date_jnum12' => '12',
129
-	'date_jnum13' => '13',
130
-	'date_jnum14' => '14',
131
-	'date_jnum15' => '15',
132
-	'date_jnum16' => '16',
133
-	'date_jnum17' => '17',
134
-	'date_jnum18' => '18',
135
-	'date_jnum19' => '19',
136
-	'date_jnum2' => '2',
137
-	'date_jnum20' => '20',
138
-	'date_jnum21' => '21',
139
-	'date_jnum22' => '22',
140
-	'date_jnum23' => '23',
141
-	'date_jnum24' => '24',
142
-	'date_jnum25' => '25',
143
-	'date_jnum26' => '26',
144
-	'date_jnum27' => '27',
145
-	'date_jnum28' => '28',
146
-	'date_jnum29' => '29',
147
-	'date_jnum3' => '3',
148
-	'date_jnum30' => '30',
149
-	'date_jnum31' => '31',
150
-	'date_jnum4' => '4',
151
-	'date_jnum5' => '5',
152
-	'date_jnum6' => '6',
153
-	'date_jnum7' => '7',
154
-	'date_jnum8' => '8',
155
-	'date_jnum9' => '9',
156
-	'date_jour_1' => 'dimanche',
157
-	'date_jour_1_abbr' => 'dim.',
158
-	'date_jour_1_initiale' => 'd.',
159
-	'date_jour_2' => 'lundi',
160
-	'date_jour_2_abbr' => 'lun.',
161
-	'date_jour_2_initiale' => 'l.',
162
-	'date_jour_3' => 'mardi',
163
-	'date_jour_3_abbr' => 'mar.',
164
-	'date_jour_3_initiale' => 'm.',
165
-	'date_jour_4' => 'mercredi',
166
-	'date_jour_4_abbr' => 'mer.',
167
-	'date_jour_4_initiale' => 'm.',
168
-	'date_jour_5' => 'jeudi',
169
-	'date_jour_5_abbr' => 'jeu.',
170
-	'date_jour_5_initiale' => 'j.',
171
-	'date_jour_6' => 'vendredi',
172
-	'date_jour_6_abbr' => 'ven.',
173
-	'date_jour_6_initiale' => 'v.',
174
-	'date_jour_7' => 'samedi',
175
-	'date_jour_7_abbr' => 'sam.',
176
-	'date_jour_7_initiale' => 's.',
177
-	'date_jours' => 'jours',
178
-	'date_minutes' => 'minutes',
179
-	'date_mois' => 'mois',
180
-	'date_mois_1' => 'janvier',
181
-	'date_mois_10' => 'octobre',
182
-	'date_mois_10_abbr' => 'oct.',
183
-	'date_mois_11' => 'novembre',
184
-	'date_mois_11_abbr' => 'nov.',
185
-	'date_mois_12' => 'décembre',
186
-	'date_mois_12_abbr' => 'déc.',
187
-	'date_mois_1_abbr' => 'janv.',
188
-	'date_mois_2' => 'février',
189
-	'date_mois_2_abbr' => 'févr.',
190
-	'date_mois_3' => 'mars',
191
-	'date_mois_3_abbr' => 'mars',
192
-	'date_mois_4' => 'avril',
193
-	'date_mois_4_abbr' => 'avr.',
194
-	'date_mois_5' => 'mai',
195
-	'date_mois_5_abbr' => 'mai',
196
-	'date_mois_6' => 'juin',
197
-	'date_mois_6_abbr' => 'juin',
198
-	'date_mois_7' => 'juillet',
199
-	'date_mois_7_abbr' => 'juil.',
200
-	'date_mois_8' => 'août',
201
-	'date_mois_8_abbr' => 'août',
202
-	'date_mois_9' => 'septembre',
203
-	'date_mois_9_abbr' => 'sept.',
204
-	'date_saison_1' => 'hiver',
205
-	'date_saison_2' => 'printemps',
206
-	'date_saison_3' => 'été',
207
-	'date_saison_4' => 'automne',
208
-	'date_secondes' => 'secondes',
209
-	'date_semaines' => 'semaines',
210
-	'date_un_mois' => 'mois',
211
-	'date_une_heure' => 'heure',
212
-	'date_une_minute' => 'minute',
213
-	'date_une_seconde' => 'seconde',
214
-	'date_une_semaine' => 'semaine',
215
-	'dirs_commencer' => ' afin de commencer réellement l’installation',
216
-	'dirs_preliminaire' => 'Préliminaire : <b>Régler les droits d’accès</b>',
217
-	'dirs_probleme_droits' => 'Problème de droits d’accès',
218
-	'dirs_repertoires_absents' => '<p><b>Les répertoires suivants n’ont pas été trouvés :</b></p><ul>@bad_dirs@</ul>
89
+    // D
90
+    'date_aujourdhui' => 'aujourd’hui',
91
+    'date_avant_jc' => 'av. J.C.',
92
+    'date_dans' => 'dans @delai@',
93
+    'date_de_mois_1' => '@j@ @nommois@',
94
+    'date_de_mois_10' => '@j@ @nommois@',
95
+    'date_de_mois_11' => '@j@ @nommois@',
96
+    'date_de_mois_12' => '@j@ @nommois@',
97
+    'date_de_mois_2' => '@j@ @nommois@',
98
+    'date_de_mois_3' => '@j@ @nommois@',
99
+    'date_de_mois_4' => '@j@ @nommois@',
100
+    'date_de_mois_5' => '@j@ @nommois@',
101
+    'date_de_mois_6' => '@j@ @nommois@',
102
+    'date_de_mois_7' => '@j@ @nommois@',
103
+    'date_de_mois_8' => '@j@ @nommois@',
104
+    'date_de_mois_9' => '@j@ @nommois@',
105
+    'date_demain' => 'demain',
106
+    'date_fmt_heures_minutes' => '@h@h@m@min',
107
+    'date_fmt_heures_minutes_court' => '@h@h@m@',
108
+    'date_fmt_jour' => '@nomjour@ @jour@',
109
+    'date_fmt_jour_heure' => '@jour@ à @heure@',
110
+    'date_fmt_jour_heure_debut_fin' => '@jour@ de @heure_debut@ à @heure_fin@',
111
+    'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtend@@heure_fin@@dtabbr@',
112
+    'date_fmt_jour_mois' => '@jour@ @nommois@',
113
+    'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
114
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
115
+    'date_fmt_nomjour' => '@nomjour@ @date@',
116
+    'date_fmt_nomjour_date' => 'le @nomjour@ @date@',
117
+    'date_fmt_periode' => 'Du @date_debut@ au @date_fin@',
118
+    'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@',
119
+    'date_fmt_periode_from' => 'Du',
120
+    'date_fmt_periode_to' => 'au',
121
+    'date_fmt_saison_annee' => '@saison@ @annee@',
122
+    'date_heures' => 'heures',
123
+    'date_hier' => 'hier',
124
+    'date_il_y_a' => 'il y a @delai@',
125
+    'date_jnum1' => '1er',
126
+    'date_jnum10' => '10',
127
+    'date_jnum11' => '11',
128
+    'date_jnum12' => '12',
129
+    'date_jnum13' => '13',
130
+    'date_jnum14' => '14',
131
+    'date_jnum15' => '15',
132
+    'date_jnum16' => '16',
133
+    'date_jnum17' => '17',
134
+    'date_jnum18' => '18',
135
+    'date_jnum19' => '19',
136
+    'date_jnum2' => '2',
137
+    'date_jnum20' => '20',
138
+    'date_jnum21' => '21',
139
+    'date_jnum22' => '22',
140
+    'date_jnum23' => '23',
141
+    'date_jnum24' => '24',
142
+    'date_jnum25' => '25',
143
+    'date_jnum26' => '26',
144
+    'date_jnum27' => '27',
145
+    'date_jnum28' => '28',
146
+    'date_jnum29' => '29',
147
+    'date_jnum3' => '3',
148
+    'date_jnum30' => '30',
149
+    'date_jnum31' => '31',
150
+    'date_jnum4' => '4',
151
+    'date_jnum5' => '5',
152
+    'date_jnum6' => '6',
153
+    'date_jnum7' => '7',
154
+    'date_jnum8' => '8',
155
+    'date_jnum9' => '9',
156
+    'date_jour_1' => 'dimanche',
157
+    'date_jour_1_abbr' => 'dim.',
158
+    'date_jour_1_initiale' => 'd.',
159
+    'date_jour_2' => 'lundi',
160
+    'date_jour_2_abbr' => 'lun.',
161
+    'date_jour_2_initiale' => 'l.',
162
+    'date_jour_3' => 'mardi',
163
+    'date_jour_3_abbr' => 'mar.',
164
+    'date_jour_3_initiale' => 'm.',
165
+    'date_jour_4' => 'mercredi',
166
+    'date_jour_4_abbr' => 'mer.',
167
+    'date_jour_4_initiale' => 'm.',
168
+    'date_jour_5' => 'jeudi',
169
+    'date_jour_5_abbr' => 'jeu.',
170
+    'date_jour_5_initiale' => 'j.',
171
+    'date_jour_6' => 'vendredi',
172
+    'date_jour_6_abbr' => 'ven.',
173
+    'date_jour_6_initiale' => 'v.',
174
+    'date_jour_7' => 'samedi',
175
+    'date_jour_7_abbr' => 'sam.',
176
+    'date_jour_7_initiale' => 's.',
177
+    'date_jours' => 'jours',
178
+    'date_minutes' => 'minutes',
179
+    'date_mois' => 'mois',
180
+    'date_mois_1' => 'janvier',
181
+    'date_mois_10' => 'octobre',
182
+    'date_mois_10_abbr' => 'oct.',
183
+    'date_mois_11' => 'novembre',
184
+    'date_mois_11_abbr' => 'nov.',
185
+    'date_mois_12' => 'décembre',
186
+    'date_mois_12_abbr' => 'déc.',
187
+    'date_mois_1_abbr' => 'janv.',
188
+    'date_mois_2' => 'février',
189
+    'date_mois_2_abbr' => 'févr.',
190
+    'date_mois_3' => 'mars',
191
+    'date_mois_3_abbr' => 'mars',
192
+    'date_mois_4' => 'avril',
193
+    'date_mois_4_abbr' => 'avr.',
194
+    'date_mois_5' => 'mai',
195
+    'date_mois_5_abbr' => 'mai',
196
+    'date_mois_6' => 'juin',
197
+    'date_mois_6_abbr' => 'juin',
198
+    'date_mois_7' => 'juillet',
199
+    'date_mois_7_abbr' => 'juil.',
200
+    'date_mois_8' => 'août',
201
+    'date_mois_8_abbr' => 'août',
202
+    'date_mois_9' => 'septembre',
203
+    'date_mois_9_abbr' => 'sept.',
204
+    'date_saison_1' => 'hiver',
205
+    'date_saison_2' => 'printemps',
206
+    'date_saison_3' => 'été',
207
+    'date_saison_4' => 'automne',
208
+    'date_secondes' => 'secondes',
209
+    'date_semaines' => 'semaines',
210
+    'date_un_mois' => 'mois',
211
+    'date_une_heure' => 'heure',
212
+    'date_une_minute' => 'minute',
213
+    'date_une_seconde' => 'seconde',
214
+    'date_une_semaine' => 'semaine',
215
+    'dirs_commencer' => ' afin de commencer réellement l’installation',
216
+    'dirs_preliminaire' => 'Préliminaire : <b>Régler les droits d’accès</b>',
217
+    'dirs_probleme_droits' => 'Problème de droits d’accès',
218
+    'dirs_repertoires_absents' => '<p><b>Les répertoires suivants n’ont pas été trouvés :</b></p><ul>@bad_dirs@</ul>
219 219
   <p>Il est probable que cela soit dû à un problème de mauvaise mise en majuscules ou minuscules.
220 220
   Vérifiez que les minuscules et majuscules de ces répertoires concordent bien avec ce qui est affiché
221 221
   ci-dessus ; si ce n’est pas le cas, renommez les répertoires avec votre logiciel FTP de façon à corriger l’erreur.</p>
222 222
   <p>Une fois cette manipulation effectuée, vous pourrez ',
223
-	'dirs_repertoires_suivants' => '<p><b>Les répertoires suivants ne sont pas accessibles en écriture :</b></p> <ul>@bad_dirs@</ul>
223
+    'dirs_repertoires_suivants' => '<p><b>Les répertoires suivants ne sont pas accessibles en écriture :</b></p> <ul>@bad_dirs@</ul>
224 224
   <p>Pour y remédier, utilisez votre client FTP afin de régler les droits d’accès de chacun
225 225
   de ces répertoires. La procédure est expliquée en détail dans le guide d’installation.</p>
226 226
   <p>Une fois cette manipulation effectuée, vous pourrez ',
227
-	'double_occurrence' => 'Double occurrence de @balise@',
227
+    'double_occurrence' => 'Double occurrence de @balise@',
228 228
 
229
-	// E
230
-	'en_cours' => 'en cours',
231
-	'envoi_via_le_site' => 'Envoi via le site',
232
-	'erreur' => 'Erreur',
233
-	'erreur_balise_non_fermee' => 'dernière balise non refermée :',
234
-	'erreur_technique_ajaxform' => 'Oups. Une erreur inattendue a empêché de soumettre le formulaire. Vous pouvez essayer à nouveau.',
235
-	'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l’enregistrement correct du champ @champs@.',
236
-	'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l’enregistrement.',
237
-	'erreur_texte' => 'erreur(s)',
238
-	'etape' => 'Étape',
229
+    // E
230
+    'en_cours' => 'en cours',
231
+    'envoi_via_le_site' => 'Envoi via le site',
232
+    'erreur' => 'Erreur',
233
+    'erreur_balise_non_fermee' => 'dernière balise non refermée :',
234
+    'erreur_technique_ajaxform' => 'Oups. Une erreur inattendue a empêché de soumettre le formulaire. Vous pouvez essayer à nouveau.',
235
+    'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l’enregistrement correct du champ @champs@.',
236
+    'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l’enregistrement.',
237
+    'erreur_texte' => 'erreur(s)',
238
+    'etape' => 'Étape',
239 239
 
240
-	// F
241
-	'fichier_introuvable' => 'Fichier @fichier@ introuvable.',
242
-	'fonction_introuvable' => 'Fonction @fonction@() introuvable.',
243
-	'form_auteur_confirmation' => 'Confirmez votre adresse email',
244
-	'form_auteur_email_modifie' => 'Votre adresse email a été modifiée.',
245
-	'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d’être envoyé à @email@. Vous devrez visiter l’adresse Web mentionnée dans ce courrier pour valider votre adresse mail.',
246
-	'form_auteur_mail_confirmation' => 'Bonjour,
240
+    // F
241
+    'fichier_introuvable' => 'Fichier @fichier@ introuvable.',
242
+    'fonction_introuvable' => 'Fonction @fonction@() introuvable.',
243
+    'form_auteur_confirmation' => 'Confirmez votre adresse email',
244
+    'form_auteur_email_modifie' => 'Votre adresse email a été modifiée.',
245
+    'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d’être envoyé à @email@. Vous devrez visiter l’adresse Web mentionnée dans ce courrier pour valider votre adresse mail.',
246
+    'form_auteur_mail_confirmation' => 'Bonjour,
247 247
 
248 248
 Vous avez demandé à changer votre adresse email.
249 249
 Pour confirmer votre nouvelle adresse, il suffit de vous connecter à
@@ -252,346 +252,346 @@  discard block
 block discarded – undo
252 252
 
253 253
     @url@
254 254
 ',
255
-	'form_deja_inscrit' => 'Vous êtes déjà inscrit.',
256
-	'form_email_non_valide' => 'Votre adresse email n’est pas valide.',
257
-	'form_forum_access_refuse' => 'Vous n’avez plus accès à ce site.',
258
-	'form_forum_bonjour' => 'Bonjour @nom@,',
259
-	'form_forum_confirmer_email' => 'Pour confirmer votre adresse email, rendez-vous à cette adresse : @url_confirm@',
260
-	'form_forum_email_deja_enregistre' => 'Cette adresse email est déjà enregistrée, vous pouvez donc utiliser votre mot de passe habituel.',
261
-	'form_forum_identifiant_mail' => 'Votre nouvel identifiant vient de vous être envoyé par email.',
262
-	'form_forum_identifiants' => 'Identifiants personnels',
263
-	'form_forum_indiquer_nom_email' => 'Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.',
264
-	'form_forum_login' => 'login :',
265
-	'form_forum_message_auto' => '(ceci est un message automatique)',
266
-	'form_forum_pass' => 'mot de passe :',
267
-	'form_forum_probleme_mail' => 'Problème de mail : l’identifiant ne peut pas être envoyé.',
268
-	'form_forum_voici1' => 'Voici vos identifiants pour pouvoir participer à la vie du site "@nom_site_spip@" (@adresse_site@) :',
269
-	'form_forum_voici2' => 'Voici vos identifiants pour proposer des articles sur
255
+    'form_deja_inscrit' => 'Vous êtes déjà inscrit.',
256
+    'form_email_non_valide' => 'Votre adresse email n’est pas valide.',
257
+    'form_forum_access_refuse' => 'Vous n’avez plus accès à ce site.',
258
+    'form_forum_bonjour' => 'Bonjour @nom@,',
259
+    'form_forum_confirmer_email' => 'Pour confirmer votre adresse email, rendez-vous à cette adresse : @url_confirm@',
260
+    'form_forum_email_deja_enregistre' => 'Cette adresse email est déjà enregistrée, vous pouvez donc utiliser votre mot de passe habituel.',
261
+    'form_forum_identifiant_mail' => 'Votre nouvel identifiant vient de vous être envoyé par email.',
262
+    'form_forum_identifiants' => 'Identifiants personnels',
263
+    'form_forum_indiquer_nom_email' => 'Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.',
264
+    'form_forum_login' => 'login :',
265
+    'form_forum_message_auto' => '(ceci est un message automatique)',
266
+    'form_forum_pass' => 'mot de passe :',
267
+    'form_forum_probleme_mail' => 'Problème de mail : l’identifiant ne peut pas être envoyé.',
268
+    'form_forum_voici1' => 'Voici vos identifiants pour pouvoir participer à la vie du site "@nom_site_spip@" (@adresse_site@) :',
269
+    'form_forum_voici2' => 'Voici vos identifiants pour proposer des articles sur
270 270
 le site "@nom_site_spip@" (@adresse_login@) :',
271
-	'form_indiquer_email' => 'Veuillez indiquer votre adresse email.',
272
-	'form_indiquer_nom' => 'Veuillez indiquer votre nom.',
273
-	'form_indiquer_nom_site' => 'Veuillez indiquer le nom de votre site.',
274
-	'form_pet_deja_enregistre' => 'Ce site est déjà enregistré',
275
-	'form_pet_signature_pasprise' => 'Votre signature n’est pas prise en compte.',
276
-	'form_prop_confirmer_envoi' => 'Confirmer l’envoi',
277
-	'form_prop_description' => 'Description/commentaire',
278
-	'form_prop_enregistre' => 'Votre proposition est enregistrée, elle apparaîtra en ligne après validation par les responsables de ce site.',
279
-	'form_prop_envoyer' => 'Envoyer un message',
280
-	'form_prop_indiquer_email' => 'Veuillez indiquer une adresse email valide',
281
-	'form_prop_indiquer_nom_site' => 'Veuillez indiquer le nom du site.',
282
-	'form_prop_indiquer_sujet' => 'Veuillez indiquer un sujet',
283
-	'form_prop_message_envoye' => 'Message envoyé',
284
-	'form_prop_non_enregistre' => 'Votre proposition n’a pas été enregistrée.',
285
-	'form_prop_sujet' => 'Sujet',
286
-	'form_prop_url_site' => 'Adresse URL du site',
287
-	'format_date_attendu' => 'Saisir une date au format jj/mm/aaaa.',
288
-	'format_date_incorrecte' => 'La date ou son format est incorrect',
289
-	'format_heure_attendu' => 'Saisir une heure au format hh:mm.',
290
-	'format_heure_incorrecte' => 'L’heure ou son format est incorrect',
291
-	'forum_non_inscrit' => 'Vous n’êtes pas inscrit, ou l’adresse ou le mot de passe sont erronés.',
292
-	'forum_par_auteur' => 'par @auteur@',
293
-	'forum_titre_erreur' => 'Erreur...',
271
+    'form_indiquer_email' => 'Veuillez indiquer votre adresse email.',
272
+    'form_indiquer_nom' => 'Veuillez indiquer votre nom.',
273
+    'form_indiquer_nom_site' => 'Veuillez indiquer le nom de votre site.',
274
+    'form_pet_deja_enregistre' => 'Ce site est déjà enregistré',
275
+    'form_pet_signature_pasprise' => 'Votre signature n’est pas prise en compte.',
276
+    'form_prop_confirmer_envoi' => 'Confirmer l’envoi',
277
+    'form_prop_description' => 'Description/commentaire',
278
+    'form_prop_enregistre' => 'Votre proposition est enregistrée, elle apparaîtra en ligne après validation par les responsables de ce site.',
279
+    'form_prop_envoyer' => 'Envoyer un message',
280
+    'form_prop_indiquer_email' => 'Veuillez indiquer une adresse email valide',
281
+    'form_prop_indiquer_nom_site' => 'Veuillez indiquer le nom du site.',
282
+    'form_prop_indiquer_sujet' => 'Veuillez indiquer un sujet',
283
+    'form_prop_message_envoye' => 'Message envoyé',
284
+    'form_prop_non_enregistre' => 'Votre proposition n’a pas été enregistrée.',
285
+    'form_prop_sujet' => 'Sujet',
286
+    'form_prop_url_site' => 'Adresse URL du site',
287
+    'format_date_attendu' => 'Saisir une date au format jj/mm/aaaa.',
288
+    'format_date_incorrecte' => 'La date ou son format est incorrect',
289
+    'format_heure_attendu' => 'Saisir une heure au format hh:mm.',
290
+    'format_heure_incorrecte' => 'L’heure ou son format est incorrect',
291
+    'forum_non_inscrit' => 'Vous n’êtes pas inscrit, ou l’adresse ou le mot de passe sont erronés.',
292
+    'forum_par_auteur' => 'par @auteur@',
293
+    'forum_titre_erreur' => 'Erreur...',
294 294
 
295
-	// I
296
-	'ical_texte_rss_articles' => 'Le fichier « backend » des articles de ce site se trouve à l’adresse :',
297
-	'ical_texte_rss_articles2' => 'Vous pouvez également obtenir des fichiers « backend » pour les articles de chaque rubrique du site :',
298
-	'ical_texte_rss_breves' => 'Il existe de plus un fichier contenant les brèves du site. En précisant un numéro de rubrique, vous obtiendrez uniquement les brèves de cette rubrique.',
299
-	'icone_a_suivre' => 'À suivre',
300
-	'icone_admin_site' => 'Administration du site',
301
-	'icone_agenda' => 'Agenda',
302
-	'icone_aide_ligne' => 'Aide',
303
-	'icone_articles' => 'Articles',
304
-	'icone_auteurs' => 'Auteurs',
305
-	'icone_brouteur' => 'Navigation rapide',
306
-	'icone_configuration_site' => 'Configuration',
307
-	'icone_configurer_site' => 'Configurer votre site',
308
-	'icone_creer_nouvel_auteur' => 'Créer un nouvel auteur',
309
-	'icone_creer_rubrique' => 'Créer une rubrique',
310
-	'icone_creer_sous_rubrique' => 'Créer une sous-rubrique',
311
-	'icone_deconnecter' => 'Se déconnecter',
312
-	'icone_discussions' => 'Discussions',
313
-	'icone_doc_rubrique' => 'Documents des rubriques',
314
-	'icone_ecrire_article' => 'Écrire un nouvel article',
315
-	'icone_edition_site' => 'Édition',
316
-	'icone_gestion_langues' => 'Gestion des langues',
317
-	'icone_informations_personnelles' => 'Informations personnelles',
318
-	'icone_interface_complet' => 'interface complète',
319
-	'icone_interface_simple' => 'Interface simplifiée',
320
-	'icone_maintenance_site' => 'Maintenance du site',
321
-	'icone_messagerie_personnelle' => 'Messagerie personnelle',
322
-	'icone_repartition_debut' => 'Afficher la répartition depuis le début',
323
-	'icone_rubriques' => 'Rubriques',
324
-	'icone_sauver_site' => 'Sauvegarde du site',
325
-	'icone_site_entier' => 'Tout le site',
326
-	'icone_sites_references' => 'Sites référencés',
327
-	'icone_statistiques' => 'Statistiques du site',
328
-	'icone_suivi_activite' => 'Suivre la vie du site',
329
-	'icone_suivi_actualite' => 'Évolution du site',
330
-	'icone_suivi_pettions' => 'Suivre/gérer les pétitions',
331
-	'icone_suivi_revisions' => 'Modifications des articles',
332
-	'icone_supprimer_document' => 'Supprimer ce document',
333
-	'icone_supprimer_image' => 'Supprimer cette image',
334
-	'icone_tous_articles' => 'Tous vos articles',
335
-	'icone_tous_auteur' => 'Tous les auteurs',
336
-	'icone_tous_visiteur' => 'Tous les visiteurs',
337
-	'icone_visiter_site' => 'Voir le site public',
338
-	'icone_voir_en_ligne' => 'Voir en ligne',
339
-	'img_indisponible' => 'image indisponible',
340
-	'impossible' => 'impossible',
341
-	'info_a_suivre' => 'À SUIVRE »',
342
-	'info_acces_interdit' => 'Accès interdit',
343
-	'info_acces_refuse' => 'Accès refusé',
344
-	'info_action' => 'Action : @action@',
345
-	'info_administrer_rubriques' => 'Vous pouvez administrer cette rubrique et ses sous-rubriques',
346
-	'info_adresse_non_indiquee' => 'Vous n’avez pas indiqué d’adresse à tester !',
347
-	'info_aide' => 'AIDE :',
348
-	'info_ajouter_mot' => 'Ajouter ce mot',
349
-	'info_annonce' => 'ANNONCE',
350
-	'info_annonces_generales' => 'Annonces générales :',
351
-	'info_article_propose' => 'Article proposé',
352
-	'info_article_publie' => 'Article publié',
353
-	'info_article_redaction' => 'Article en cours de rédaction',
354
-	'info_article_refuse' => 'Article refusé',
355
-	'info_article_supprime' => 'Article supprimé',
356
-	'info_articles' => 'Articles',
357
-	'info_articles_a_valider' => 'Les articles à valider',
358
-	'info_articles_nb' => '@nb@ articles',
359
-	'info_articles_proposes' => 'Articles proposés',
360
-	'info_articles_un' => '1 article',
361
-	'info_auteurs_nombre' => 'auteur(s) :',
362
-	'info_authentification_ftp' => 'Authentification (par FTP).',
363
-	'info_breves_2' => 'brèves',
364
-	'info_breves_nb' => '@nb@ brèves',
365
-	'info_breves_un' => '1 brève',
366
-	'info_connexion_refusee' => 'Connexion refusée',
367
-	'info_contact_developpeur' => 'Veuillez contacter un développeur.',
368
-	'info_contenance' => 'Ce site contient :',
369
-	'info_contribution' => 'contributions',
370
-	'info_copyright' => '@spip@ est un logiciel libre distribué @lien_gpl@.',
371
-	'info_copyright_doc' => 'Pour plus d’informations, voir le site <a href="@spipnet@">@spipnet_affiche@</a>.',
372
-	'info_copyright_gpl' => 'sous licence GPL',
373
-	'info_cours_edition' => 'En cours de modification',
374
-	'info_creer_repertoire' => 'Veuillez créer un fichier ou un répertoire nommé :',
375
-	'info_creer_repertoire_2' => 'à l’intérieur du sous-répertoire <b>@repertoire@</b>, puis :',
376
-	'info_creer_vignette' => 'création automatique de la vignette',
377
-	'info_creerdansrubrique_non_autorise' => 'Vous n’avez pas de droits suffisants pour créer un contenu dans cette rubrique',
378
-	'info_deplier' => 'Déplier',
379
-	'info_descriptif_nombre' => 'descriptif(s) :',
380
-	'info_description' => 'Description :',
381
-	'info_description_2' => 'Description :',
382
-	'info_dimension' => 'Dimensions :',
383
-	'info_documents_nb' => '@nb@ documents',
384
-	'info_documents_un' => '1 document',
385
-	'info_ecire_message_prive' => 'Écrire un message privé',
386
-	'info_email_invalide' => 'Adresse email invalide.',
387
-	'info_en_cours_validation' => 'Vos articles en cours de rédaction',
388
-	'info_en_ligne' => 'Actuellement en ligne :',
389
-	'info_envoyer_message_prive' => 'Envoyer un message privé à cet auteur',
390
-	'info_erreur_requete' => 'Erreur dans la requête :',
391
-	'info_erreur_squelette2' => 'Aucun squelette <b>@fichier@</b> n’est disponible...',
392
-	'info_erreur_systeme' => 'Erreur système (errno @errsys@)',
393
-	'info_erreur_systeme2' => 'Le disque dur est peut-être plein, ou la base de données endommagée.<br />
295
+    // I
296
+    'ical_texte_rss_articles' => 'Le fichier « backend » des articles de ce site se trouve à l’adresse :',
297
+    'ical_texte_rss_articles2' => 'Vous pouvez également obtenir des fichiers « backend » pour les articles de chaque rubrique du site :',
298
+    'ical_texte_rss_breves' => 'Il existe de plus un fichier contenant les brèves du site. En précisant un numéro de rubrique, vous obtiendrez uniquement les brèves de cette rubrique.',
299
+    'icone_a_suivre' => 'À suivre',
300
+    'icone_admin_site' => 'Administration du site',
301
+    'icone_agenda' => 'Agenda',
302
+    'icone_aide_ligne' => 'Aide',
303
+    'icone_articles' => 'Articles',
304
+    'icone_auteurs' => 'Auteurs',
305
+    'icone_brouteur' => 'Navigation rapide',
306
+    'icone_configuration_site' => 'Configuration',
307
+    'icone_configurer_site' => 'Configurer votre site',
308
+    'icone_creer_nouvel_auteur' => 'Créer un nouvel auteur',
309
+    'icone_creer_rubrique' => 'Créer une rubrique',
310
+    'icone_creer_sous_rubrique' => 'Créer une sous-rubrique',
311
+    'icone_deconnecter' => 'Se déconnecter',
312
+    'icone_discussions' => 'Discussions',
313
+    'icone_doc_rubrique' => 'Documents des rubriques',
314
+    'icone_ecrire_article' => 'Écrire un nouvel article',
315
+    'icone_edition_site' => 'Édition',
316
+    'icone_gestion_langues' => 'Gestion des langues',
317
+    'icone_informations_personnelles' => 'Informations personnelles',
318
+    'icone_interface_complet' => 'interface complète',
319
+    'icone_interface_simple' => 'Interface simplifiée',
320
+    'icone_maintenance_site' => 'Maintenance du site',
321
+    'icone_messagerie_personnelle' => 'Messagerie personnelle',
322
+    'icone_repartition_debut' => 'Afficher la répartition depuis le début',
323
+    'icone_rubriques' => 'Rubriques',
324
+    'icone_sauver_site' => 'Sauvegarde du site',
325
+    'icone_site_entier' => 'Tout le site',
326
+    'icone_sites_references' => 'Sites référencés',
327
+    'icone_statistiques' => 'Statistiques du site',
328
+    'icone_suivi_activite' => 'Suivre la vie du site',
329
+    'icone_suivi_actualite' => 'Évolution du site',
330
+    'icone_suivi_pettions' => 'Suivre/gérer les pétitions',
331
+    'icone_suivi_revisions' => 'Modifications des articles',
332
+    'icone_supprimer_document' => 'Supprimer ce document',
333
+    'icone_supprimer_image' => 'Supprimer cette image',
334
+    'icone_tous_articles' => 'Tous vos articles',
335
+    'icone_tous_auteur' => 'Tous les auteurs',
336
+    'icone_tous_visiteur' => 'Tous les visiteurs',
337
+    'icone_visiter_site' => 'Voir le site public',
338
+    'icone_voir_en_ligne' => 'Voir en ligne',
339
+    'img_indisponible' => 'image indisponible',
340
+    'impossible' => 'impossible',
341
+    'info_a_suivre' => 'À SUIVRE »',
342
+    'info_acces_interdit' => 'Accès interdit',
343
+    'info_acces_refuse' => 'Accès refusé',
344
+    'info_action' => 'Action : @action@',
345
+    'info_administrer_rubriques' => 'Vous pouvez administrer cette rubrique et ses sous-rubriques',
346
+    'info_adresse_non_indiquee' => 'Vous n’avez pas indiqué d’adresse à tester !',
347
+    'info_aide' => 'AIDE :',
348
+    'info_ajouter_mot' => 'Ajouter ce mot',
349
+    'info_annonce' => 'ANNONCE',
350
+    'info_annonces_generales' => 'Annonces générales :',
351
+    'info_article_propose' => 'Article proposé',
352
+    'info_article_publie' => 'Article publié',
353
+    'info_article_redaction' => 'Article en cours de rédaction',
354
+    'info_article_refuse' => 'Article refusé',
355
+    'info_article_supprime' => 'Article supprimé',
356
+    'info_articles' => 'Articles',
357
+    'info_articles_a_valider' => 'Les articles à valider',
358
+    'info_articles_nb' => '@nb@ articles',
359
+    'info_articles_proposes' => 'Articles proposés',
360
+    'info_articles_un' => '1 article',
361
+    'info_auteurs_nombre' => 'auteur(s) :',
362
+    'info_authentification_ftp' => 'Authentification (par FTP).',
363
+    'info_breves_2' => 'brèves',
364
+    'info_breves_nb' => '@nb@ brèves',
365
+    'info_breves_un' => '1 brève',
366
+    'info_connexion_refusee' => 'Connexion refusée',
367
+    'info_contact_developpeur' => 'Veuillez contacter un développeur.',
368
+    'info_contenance' => 'Ce site contient :',
369
+    'info_contribution' => 'contributions',
370
+    'info_copyright' => '@spip@ est un logiciel libre distribué @lien_gpl@.',
371
+    'info_copyright_doc' => 'Pour plus d’informations, voir le site <a href="@spipnet@">@spipnet_affiche@</a>.',
372
+    'info_copyright_gpl' => 'sous licence GPL',
373
+    'info_cours_edition' => 'En cours de modification',
374
+    'info_creer_repertoire' => 'Veuillez créer un fichier ou un répertoire nommé :',
375
+    'info_creer_repertoire_2' => 'à l’intérieur du sous-répertoire <b>@repertoire@</b>, puis :',
376
+    'info_creer_vignette' => 'création automatique de la vignette',
377
+    'info_creerdansrubrique_non_autorise' => 'Vous n’avez pas de droits suffisants pour créer un contenu dans cette rubrique',
378
+    'info_deplier' => 'Déplier',
379
+    'info_descriptif_nombre' => 'descriptif(s) :',
380
+    'info_description' => 'Description :',
381
+    'info_description_2' => 'Description :',
382
+    'info_dimension' => 'Dimensions :',
383
+    'info_documents_nb' => '@nb@ documents',
384
+    'info_documents_un' => '1 document',
385
+    'info_ecire_message_prive' => 'Écrire un message privé',
386
+    'info_email_invalide' => 'Adresse email invalide.',
387
+    'info_en_cours_validation' => 'Vos articles en cours de rédaction',
388
+    'info_en_ligne' => 'Actuellement en ligne :',
389
+    'info_envoyer_message_prive' => 'Envoyer un message privé à cet auteur',
390
+    'info_erreur_requete' => 'Erreur dans la requête :',
391
+    'info_erreur_squelette2' => 'Aucun squelette <b>@fichier@</b> n’est disponible...',
392
+    'info_erreur_systeme' => 'Erreur système (errno @errsys@)',
393
+    'info_erreur_systeme2' => 'Le disque dur est peut-être plein, ou la base de données endommagée.<br />
394 394
 <span style="color:red;">Essayez de <a href=\'@script@\'>réparer la base</a>, ou contactez votre hébergeur.</span>',
395
-	'info_fini' => 'C’est fini !',
396
-	'info_format_image' => 'Formats d’images pouvant être utilisées pour créer des vignettes : @gd_formats@.',
397
-	'info_format_non_defini' => 'format non défini',
398
-	'info_grand_ecran' => 'Grand écran',
399
-	'info_image_aide' => 'AIDE',
400
-	'info_image_process_titre' => 'Méthode de fabrication des vignettes',
401
-	'info_impossible_lire_page' => '<b>Erreur !</b> Impossible de lire la page <tt><html>@test_proxy@</html></tt> à travers le proxy ',
402
-	'info_installation_systeme_publication' => 'Installation du système de publication...',
403
-	'info_installer_documents' => 'Vous pouvez installer automatiquement tous les documents contenus dans le dossier @upload@.',
404
-	'info_installer_ftp' => 'En tant qu’administrateur, vous pouvez installer (par FTP) des fichiers dans le dossier @upload@ pour ensuite les sélectionner directement ici.',
405
-	'info_installer_images' => 'Vous pouvez installer des images aux formats JPEG, GIF et PNG.',
406
-	'info_installer_images_dossier' => 'Installer des images dans le dossier @upload@ pour pouvoir les sélectionner ici.',
407
-	'info_interface_complete' => 'interface complète',
408
-	'info_interface_simple' => 'Interface simplifiée',
409
-	'info_joindre_document_article' => 'Vous pouvez joindre à cet article des documents de type',
410
-	'info_joindre_document_rubrique' => 'Vous pouvez ajouter dans cette rubrique des documents de type',
411
-	'info_joindre_documents_article' => 'Vous pouvez joindre à votre article des documents de type :',
412
-	'info_l_article' => 'l’article',
413
-	'info_la_breve' => 'la brève',
414
-	'info_la_rubrique' => 'la rubrique',
415
-	'info_langue_principale' => 'Langue principale du site',
416
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
417
-	'info_les_auteurs_1' => 'par @les_auteurs@',
418
-	'info_logo_format_interdit' => 'Seuls les logos aux formats @formats@ sont autorisés.',
419
-	'info_logo_max_poids' => 'Les logos doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
420
-	'info_mail_fournisseur' => '[email protected]',
421
-	'info_message_2' => 'MESSAGE',
422
-	'info_message_supprime' => 'MESSAGE SUPPRIMÉ',
423
-	'info_messages_nb' => '@nb@ messages',
424
-	'info_messages_un' => '1 message',
425
-	'info_mise_en_ligne' => 'Date de mise en ligne :',
426
-	'info_modification_parametres_securite' => 'modifications des paramètres de sécurité',
427
-	'info_mois_courant' => 'Dans le courant du mois :',
428
-	'info_mot_cle_ajoute' => 'Le mot-clé suivant a été ajouté à',
429
-	'info_multi_herit' => 'Langue par défaut',
430
-	'info_multi_langues_soulignees' => 'Les <u>langues soulignées</u> bénéficient d’une traduction totale ou partielle des textes de l’interface. Si vous sélectionnez ces langues, de nombreux éléments du site public (dates, formulaires) seront automatiquement traduits. Pour les langues non soulignées, ces éléments apparaîtront dans la langue principale du site.',
431
-	'info_multilinguisme' => 'Multilinguisme',
432
-	'info_nom_non_utilisateurs_connectes' => 'Votre nom n’apparaît pas dans la liste des utilisateurs connectés.',
433
-	'info_nom_utilisateurs_connectes' => 'Votre nom apparaît dans la liste des utilisateurs connectés.',
434
-	'info_nombre_en_ligne' => 'Actuellement en ligne :',
435
-	'info_non_resultat' => 'Aucun résultat pour "@cherche_mot@"',
436
-	'info_non_utilisation_messagerie' => 'Vous n’utilisez pas la messagerie interne de ce site.',
437
-	'info_nouveau_message' => 'VOUS AVEZ UN NOUVEAU MESSAGE',
438
-	'info_nouveaux_messages' => 'VOUS AVEZ @total_messages@ NOUVEAUX MESSAGES',
439
-	'info_numero_abbreviation' => 'N° ',
440
-	'info_obligatoire' => 'Cette information est obligatoire',
441
-	'info_page_actuelle' => 'Page actuelle',
442
-	'info_pense_bete' => 'PENSE-BÊTE',
443
-	'info_petit_ecran' => 'Petit écran',
444
-	'info_petition_close' => 'Pétition close',
445
-	'info_pixels' => 'pixels',
446
-	'info_plusieurs_mots_trouves' => 'Plusieurs mots-clés trouvés pour "@cherche_mot@" :',
447
-	'info_portfolio_automatique' => 'Portfolio automatique :',
448
-	'info_premier_resultat' => '[@debut_limit@ premiers résultats sur @total@]',
449
-	'info_premier_resultat_sur' => '[@debut_limit@ premiers résultats sur @total@]',
450
-	'info_propose_1' => '[@nom_site_spip@] Propose : @titre@',
451
-	'info_propose_2' => 'Article proposé
395
+    'info_fini' => 'C’est fini !',
396
+    'info_format_image' => 'Formats d’images pouvant être utilisées pour créer des vignettes : @gd_formats@.',
397
+    'info_format_non_defini' => 'format non défini',
398
+    'info_grand_ecran' => 'Grand écran',
399
+    'info_image_aide' => 'AIDE',
400
+    'info_image_process_titre' => 'Méthode de fabrication des vignettes',
401
+    'info_impossible_lire_page' => '<b>Erreur !</b> Impossible de lire la page <tt><html>@test_proxy@</html></tt> à travers le proxy ',
402
+    'info_installation_systeme_publication' => 'Installation du système de publication...',
403
+    'info_installer_documents' => 'Vous pouvez installer automatiquement tous les documents contenus dans le dossier @upload@.',
404
+    'info_installer_ftp' => 'En tant qu’administrateur, vous pouvez installer (par FTP) des fichiers dans le dossier @upload@ pour ensuite les sélectionner directement ici.',
405
+    'info_installer_images' => 'Vous pouvez installer des images aux formats JPEG, GIF et PNG.',
406
+    'info_installer_images_dossier' => 'Installer des images dans le dossier @upload@ pour pouvoir les sélectionner ici.',
407
+    'info_interface_complete' => 'interface complète',
408
+    'info_interface_simple' => 'Interface simplifiée',
409
+    'info_joindre_document_article' => 'Vous pouvez joindre à cet article des documents de type',
410
+    'info_joindre_document_rubrique' => 'Vous pouvez ajouter dans cette rubrique des documents de type',
411
+    'info_joindre_documents_article' => 'Vous pouvez joindre à votre article des documents de type :',
412
+    'info_l_article' => 'l’article',
413
+    'info_la_breve' => 'la brève',
414
+    'info_la_rubrique' => 'la rubrique',
415
+    'info_langue_principale' => 'Langue principale du site',
416
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
417
+    'info_les_auteurs_1' => 'par @les_auteurs@',
418
+    'info_logo_format_interdit' => 'Seuls les logos aux formats @formats@ sont autorisés.',
419
+    'info_logo_max_poids' => 'Les logos doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
420
+    'info_mail_fournisseur' => '[email protected]',
421
+    'info_message_2' => 'MESSAGE',
422
+    'info_message_supprime' => 'MESSAGE SUPPRIMÉ',
423
+    'info_messages_nb' => '@nb@ messages',
424
+    'info_messages_un' => '1 message',
425
+    'info_mise_en_ligne' => 'Date de mise en ligne :',
426
+    'info_modification_parametres_securite' => 'modifications des paramètres de sécurité',
427
+    'info_mois_courant' => 'Dans le courant du mois :',
428
+    'info_mot_cle_ajoute' => 'Le mot-clé suivant a été ajouté à',
429
+    'info_multi_herit' => 'Langue par défaut',
430
+    'info_multi_langues_soulignees' => 'Les <u>langues soulignées</u> bénéficient d’une traduction totale ou partielle des textes de l’interface. Si vous sélectionnez ces langues, de nombreux éléments du site public (dates, formulaires) seront automatiquement traduits. Pour les langues non soulignées, ces éléments apparaîtront dans la langue principale du site.',
431
+    'info_multilinguisme' => 'Multilinguisme',
432
+    'info_nom_non_utilisateurs_connectes' => 'Votre nom n’apparaît pas dans la liste des utilisateurs connectés.',
433
+    'info_nom_utilisateurs_connectes' => 'Votre nom apparaît dans la liste des utilisateurs connectés.',
434
+    'info_nombre_en_ligne' => 'Actuellement en ligne :',
435
+    'info_non_resultat' => 'Aucun résultat pour "@cherche_mot@"',
436
+    'info_non_utilisation_messagerie' => 'Vous n’utilisez pas la messagerie interne de ce site.',
437
+    'info_nouveau_message' => 'VOUS AVEZ UN NOUVEAU MESSAGE',
438
+    'info_nouveaux_messages' => 'VOUS AVEZ @total_messages@ NOUVEAUX MESSAGES',
439
+    'info_numero_abbreviation' => 'N° ',
440
+    'info_obligatoire' => 'Cette information est obligatoire',
441
+    'info_page_actuelle' => 'Page actuelle',
442
+    'info_pense_bete' => 'PENSE-BÊTE',
443
+    'info_petit_ecran' => 'Petit écran',
444
+    'info_petition_close' => 'Pétition close',
445
+    'info_pixels' => 'pixels',
446
+    'info_plusieurs_mots_trouves' => 'Plusieurs mots-clés trouvés pour "@cherche_mot@" :',
447
+    'info_portfolio_automatique' => 'Portfolio automatique :',
448
+    'info_premier_resultat' => '[@debut_limit@ premiers résultats sur @total@]',
449
+    'info_premier_resultat_sur' => '[@debut_limit@ premiers résultats sur @total@]',
450
+    'info_propose_1' => '[@nom_site_spip@] Propose : @titre@',
451
+    'info_propose_2' => 'Article proposé
452 452
 ---------------',
453
-	'info_propose_3' => 'L’article "@titre@" est proposé à la publication.',
454
-	'info_propose_4' => 'Vous êtes invité à venir le consulter et à donner votre opinion',
455
-	'info_propose_5' => 'dans le forum qui lui est attaché. Il est disponible à l’adresse :',
456
-	'info_publie_01' => 'L’article "@titre@" a été validé par @connect_nom@.',
457
-	'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@',
458
-	'info_publie_2' => 'Article publié
453
+    'info_propose_3' => 'L’article "@titre@" est proposé à la publication.',
454
+    'info_propose_4' => 'Vous êtes invité à venir le consulter et à donner votre opinion',
455
+    'info_propose_5' => 'dans le forum qui lui est attaché. Il est disponible à l’adresse :',
456
+    'info_publie_01' => 'L’article "@titre@" a été validé par @connect_nom@.',
457
+    'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@',
458
+    'info_publie_2' => 'Article publié
459 459
 --------------',
460
-	'info_rechercher' => 'Rechercher',
461
-	'info_rechercher_02' => 'Rechercher :',
462
-	'info_remplacer_vignette' => 'Remplacer la vignette par défaut par un logo personnalisé :',
463
-	'info_rubriques_nb' => '@nb@ rubriques',
464
-	'info_rubriques_un' => '1 rubrique',
465
-	'info_sans_titre_2' => 'sans titre',
466
-	'info_selectionner_fichier' => 'Vous pouvez sélectionner un fichier du dossier @upload@',
467
-	'info_selectionner_fichier_2' => 'Sélectionner un fichier :',
468
-	'info_sites_nb' => '@nb@ sites',
469
-	'info_sites_un' => '1 site',
470
-	'info_supprimer_vignette' => 'supprimer la vignette',
471
-	'info_symbole_bleu' => 'Le symbole <b>bleu</b> indique un <b>pense-bête</b> : c’est-à-dire un message à votre usage personnel.',
472
-	'info_symbole_jaune' => 'Le symbole <b>jaune</b> indique une <b>annonce à tous les rédacteurs</b> : modifiable par tous les administrateurs, et visible par tous les rédacteurs.',
473
-	'info_symbole_vert' => 'Le symbole <b>vert</b> indique les <b>messages échangés avec d’autres utilisateurs</b> du site.',
474
-	'info_telecharger_nouveau_logo' => 'Télécharger un nouveau logo :',
475
-	'info_telecharger_ordinateur' => 'Télécharger depuis votre ordinateur :',
476
-	'info_tous_resultats_enregistres' => '[tous les résultats sont enregistrés]',
477
-	'info_tout_afficher' => 'Tout afficher',
478
-	'info_travaux_texte' => 'Ce site n’est pas encore configuré. Revenez plus tard...',
479
-	'info_travaux_titre' => 'Site en travaux',
480
-	'info_trop_resultat' => 'Trop de résultats pour "@cherche_mot@" ; veuillez affiner la recherche.',
481
-	'info_utilisation_messagerie_interne' => 'Vous utilisez la messagerie interne de ce site.',
482
-	'info_valider_lien' => 'valider ce lien',
483
-	'info_verifier_image' => ', veuillez vérifier que vos images ont été transférées correctement.',
484
-	'info_vignette_defaut' => 'Vignette par défaut',
485
-	'info_vignette_personnalisee' => 'Vignette personnalisée',
486
-	'info_visite' => 'visite :',
487
-	'info_vos_rendez_vous' => 'Vos rendez-vous à venir',
488
-	'infos_vos_pense_bete' => 'Vos pense-bêtes',
460
+    'info_rechercher' => 'Rechercher',
461
+    'info_rechercher_02' => 'Rechercher :',
462
+    'info_remplacer_vignette' => 'Remplacer la vignette par défaut par un logo personnalisé :',
463
+    'info_rubriques_nb' => '@nb@ rubriques',
464
+    'info_rubriques_un' => '1 rubrique',
465
+    'info_sans_titre_2' => 'sans titre',
466
+    'info_selectionner_fichier' => 'Vous pouvez sélectionner un fichier du dossier @upload@',
467
+    'info_selectionner_fichier_2' => 'Sélectionner un fichier :',
468
+    'info_sites_nb' => '@nb@ sites',
469
+    'info_sites_un' => '1 site',
470
+    'info_supprimer_vignette' => 'supprimer la vignette',
471
+    'info_symbole_bleu' => 'Le symbole <b>bleu</b> indique un <b>pense-bête</b> : c’est-à-dire un message à votre usage personnel.',
472
+    'info_symbole_jaune' => 'Le symbole <b>jaune</b> indique une <b>annonce à tous les rédacteurs</b> : modifiable par tous les administrateurs, et visible par tous les rédacteurs.',
473
+    'info_symbole_vert' => 'Le symbole <b>vert</b> indique les <b>messages échangés avec d’autres utilisateurs</b> du site.',
474
+    'info_telecharger_nouveau_logo' => 'Télécharger un nouveau logo :',
475
+    'info_telecharger_ordinateur' => 'Télécharger depuis votre ordinateur :',
476
+    'info_tous_resultats_enregistres' => '[tous les résultats sont enregistrés]',
477
+    'info_tout_afficher' => 'Tout afficher',
478
+    'info_travaux_texte' => 'Ce site n’est pas encore configuré. Revenez plus tard...',
479
+    'info_travaux_titre' => 'Site en travaux',
480
+    'info_trop_resultat' => 'Trop de résultats pour "@cherche_mot@" ; veuillez affiner la recherche.',
481
+    'info_utilisation_messagerie_interne' => 'Vous utilisez la messagerie interne de ce site.',
482
+    'info_valider_lien' => 'valider ce lien',
483
+    'info_verifier_image' => ', veuillez vérifier que vos images ont été transférées correctement.',
484
+    'info_vignette_defaut' => 'Vignette par défaut',
485
+    'info_vignette_personnalisee' => 'Vignette personnalisée',
486
+    'info_visite' => 'visite :',
487
+    'info_vos_rendez_vous' => 'Vos rendez-vous à venir',
488
+    'infos_vos_pense_bete' => 'Vos pense-bêtes',
489 489
 
490
-	// L
491
-	'label_ajout_id_rapide' => 'Ajout rapide',
492
-	'label_poids_fichier' => 'Taille',
493
-	'label_ponctuer' => '@label@ :',
494
-	'lien_afficher_icones_seuls' => 'Afficher uniquement les icones',
495
-	'lien_afficher_texte_icones' => 'Afficher les icones et le texte',
496
-	'lien_afficher_texte_seul' => 'Afficher uniquement le texte',
497
-	'lien_aller_a_la_derniere_page' => 'Aller à la dernière page',
498
-	'lien_aller_a_la_page_nb' => 'Aller à la page @nb@',
499
-	'lien_aller_a_la_page_precedente' => 'Aller à la page précédente',
500
-	'lien_aller_a_la_page_suivante' => 'Aller à la page suivante',
501
-	'lien_aller_a_la_premiere_page' => 'Aller à la première page',
502
-	'lien_liberer' => 'libérer',
503
-	'lien_liberer_tous' => 'Tout libérer',
504
-	'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE',
505
-	'lien_nouveau_message' => 'NOUVEAU MESSAGE',
506
-	'lien_nouvelle_annonce' => 'NOUVELLE ANNONCE',
507
-	'lien_petitions' => 'PÉTITION',
508
-	'lien_popularite' => 'popularité : @popularite@%',
509
-	'lien_racine_site' => 'RACINE DU SITE',
510
-	'lien_reessayer' => 'réessayer',
511
-	'lien_repondre_message' => 'Répondre à ce message',
512
-	'lien_supprimer' => 'supprimer',
513
-	'lien_tout_afficher' => 'Tout afficher',
514
-	'lien_visite_site' => 'visiter ce site',
515
-	'lien_visites' => '@visites@ visites',
516
-	'lien_voir_auteur' => 'Voir cet auteur',
517
-	'ligne' => 'Ligne',
518
-	'login' => 'Connexion',
519
-	'login_acces_prive' => 'accès à l’espace privé',
520
-	'login_autre_identifiant' => 'se connecter sous un autre identifiant',
521
-	'login_cookie_accepte' => 'Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).',
522
-	'login_cookie_oblige' => 'Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.',
523
-	'login_deconnexion_ok' => 'Déconnexion effectuée.',
524
-	'login_erreur_pass' => 'Erreur de mot de passe.',
525
-	'login_espace_prive' => 'espace privé',
526
-	'login_identifiant_inconnu' => 'L’identifiant « @login@ » est inconnu.',
527
-	'login_login' => 'Login :',
528
-	'login_login2' => 'Login ou adresse email :',
529
-	'login_login_pass_incorrect' => '(Login ou mot de passe incorrect.)',
530
-	'login_motpasseoublie' => 'mot de passe oublié ?',
531
-	'login_non_securise' => 'Attention, ce formulaire n’est pas sécurisé.
490
+    // L
491
+    'label_ajout_id_rapide' => 'Ajout rapide',
492
+    'label_poids_fichier' => 'Taille',
493
+    'label_ponctuer' => '@label@ :',
494
+    'lien_afficher_icones_seuls' => 'Afficher uniquement les icones',
495
+    'lien_afficher_texte_icones' => 'Afficher les icones et le texte',
496
+    'lien_afficher_texte_seul' => 'Afficher uniquement le texte',
497
+    'lien_aller_a_la_derniere_page' => 'Aller à la dernière page',
498
+    'lien_aller_a_la_page_nb' => 'Aller à la page @nb@',
499
+    'lien_aller_a_la_page_precedente' => 'Aller à la page précédente',
500
+    'lien_aller_a_la_page_suivante' => 'Aller à la page suivante',
501
+    'lien_aller_a_la_premiere_page' => 'Aller à la première page',
502
+    'lien_liberer' => 'libérer',
503
+    'lien_liberer_tous' => 'Tout libérer',
504
+    'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE',
505
+    'lien_nouveau_message' => 'NOUVEAU MESSAGE',
506
+    'lien_nouvelle_annonce' => 'NOUVELLE ANNONCE',
507
+    'lien_petitions' => 'PÉTITION',
508
+    'lien_popularite' => 'popularité : @popularite@%',
509
+    'lien_racine_site' => 'RACINE DU SITE',
510
+    'lien_reessayer' => 'réessayer',
511
+    'lien_repondre_message' => 'Répondre à ce message',
512
+    'lien_supprimer' => 'supprimer',
513
+    'lien_tout_afficher' => 'Tout afficher',
514
+    'lien_visite_site' => 'visiter ce site',
515
+    'lien_visites' => '@visites@ visites',
516
+    'lien_voir_auteur' => 'Voir cet auteur',
517
+    'ligne' => 'Ligne',
518
+    'login' => 'Connexion',
519
+    'login_acces_prive' => 'accès à l’espace privé',
520
+    'login_autre_identifiant' => 'se connecter sous un autre identifiant',
521
+    'login_cookie_accepte' => 'Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).',
522
+    'login_cookie_oblige' => 'Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.',
523
+    'login_deconnexion_ok' => 'Déconnexion effectuée.',
524
+    'login_erreur_pass' => 'Erreur de mot de passe.',
525
+    'login_espace_prive' => 'espace privé',
526
+    'login_identifiant_inconnu' => 'L’identifiant « @login@ » est inconnu.',
527
+    'login_login' => 'Login :',
528
+    'login_login2' => 'Login ou adresse email :',
529
+    'login_login_pass_incorrect' => '(Login ou mot de passe incorrect.)',
530
+    'login_motpasseoublie' => 'mot de passe oublié ?',
531
+    'login_non_securise' => 'Attention, ce formulaire n’est pas sécurisé.
532 532
 			Si vous ne voulez pas que votre mot de passe puisse être
533 533
 			intercepté sur le réseau, veuillez activer Javascript
534 534
 			dans votre navigateur et',
535
-	'login_nouvelle_tentative' => 'Nouvelle tentative',
536
-	'login_par_ici' => 'Vous êtes enregistré... par ici...',
537
-	'login_pass2' => 'Mot de passe :',
538
-	'login_preferez_refuser' => '<b>Si vous préférez refuser les cookies</b>, une autre méthode de connexion (moins sécurisée) est à votre disposition :',
539
-	'login_recharger' => 'recharger cette page',
540
-	'login_rester_identifie' => 'Se souvenir de moi',
541
-	'login_retour_public' => 'Retour au site public',
542
-	'login_retour_site' => 'Retour au site public',
543
-	'login_retoursitepublic' => 'retour au site public',
544
-	'login_sans_cookie' => 'Identification sans cookie',
545
-	'login_securise' => 'Login sécurisé',
546
-	'login_sinscrire' => 's’inscrire',
547
-	'login_test_navigateur' => 'test navigateur/reconnexion',
548
-	'login_verifiez_navigateur' => '(Vérifiez toutefois que votre navigateur n’a pas mémorisé votre mot de passe...)',
535
+    'login_nouvelle_tentative' => 'Nouvelle tentative',
536
+    'login_par_ici' => 'Vous êtes enregistré... par ici...',
537
+    'login_pass2' => 'Mot de passe :',
538
+    'login_preferez_refuser' => '<b>Si vous préférez refuser les cookies</b>, une autre méthode de connexion (moins sécurisée) est à votre disposition :',
539
+    'login_recharger' => 'recharger cette page',
540
+    'login_rester_identifie' => 'Se souvenir de moi',
541
+    'login_retour_public' => 'Retour au site public',
542
+    'login_retour_site' => 'Retour au site public',
543
+    'login_retoursitepublic' => 'retour au site public',
544
+    'login_sans_cookie' => 'Identification sans cookie',
545
+    'login_securise' => 'Login sécurisé',
546
+    'login_sinscrire' => 's’inscrire',
547
+    'login_test_navigateur' => 'test navigateur/reconnexion',
548
+    'login_verifiez_navigateur' => '(Vérifiez toutefois que votre navigateur n’a pas mémorisé votre mot de passe...)',
549 549
 
550
-	// M
551
-	'masquer_colonne' => 'Masquer cette colonne',
552
-	'masquer_trad' => 'masquer les traductions',
553
-	'message_nouveaux_identifiants_echec' => 'Impossible de générer de nouveaux identifiants.',
554
-	'message_nouveaux_identifiants_echec_envoi' => 'Les nouveaux identifiants de connexion n’ont pas pu être envoyés.',
555
-	'message_nouveaux_identifiants_ok' => 'Les nouveaux identifiants de connexion ont été envoyés à @email@.',
556
-	'module_fichiers_langues' => 'Fichiers de langue',
550
+    // M
551
+    'masquer_colonne' => 'Masquer cette colonne',
552
+    'masquer_trad' => 'masquer les traductions',
553
+    'message_nouveaux_identifiants_echec' => 'Impossible de générer de nouveaux identifiants.',
554
+    'message_nouveaux_identifiants_echec_envoi' => 'Les nouveaux identifiants de connexion n’ont pas pu être envoyés.',
555
+    'message_nouveaux_identifiants_ok' => 'Les nouveaux identifiants de connexion ont été envoyés à @email@.',
556
+    'module_fichiers_langues' => 'Fichiers de langue',
557 557
 
558
-	// N
559
-	'navigateur_pas_redirige' => 'Si votre navigateur n’est pas redirigé, cliquez ici pour continuer.',
560
-	'numero' => 'Numéro',
558
+    // N
559
+    'navigateur_pas_redirige' => 'Si votre navigateur n’est pas redirigé, cliquez ici pour continuer.',
560
+    'numero' => 'Numéro',
561 561
 
562
-	// O
563
-	'occurence' => 'Occurrence',
564
-	'onglet_affacer_base' => 'Effacer la base',
565
-	'onglet_auteur' => 'L’auteur',
566
-	'onglet_contenu_site' => 'Contenu du site',
567
-	'onglet_evolution_visite_mod' => 'Évolution',
568
-	'onglet_fonctions_avances' => 'Fonctions avancées',
569
-	'onglet_informations_personnelles' => 'Informations personnelles',
570
-	'onglet_interactivite' => 'Interactivité',
571
-	'onglet_messagerie' => 'Messagerie',
572
-	'onglet_repartition_rubrique' => 'Répartition par rubriques',
573
-	'onglet_save_restaur_base' => 'Sauvegarder/restaurer la base',
574
-	'onglet_vider_cache' => 'Vider le cache',
562
+    // O
563
+    'occurence' => 'Occurrence',
564
+    'onglet_affacer_base' => 'Effacer la base',
565
+    'onglet_auteur' => 'L’auteur',
566
+    'onglet_contenu_site' => 'Contenu du site',
567
+    'onglet_evolution_visite_mod' => 'Évolution',
568
+    'onglet_fonctions_avances' => 'Fonctions avancées',
569
+    'onglet_informations_personnelles' => 'Informations personnelles',
570
+    'onglet_interactivite' => 'Interactivité',
571
+    'onglet_messagerie' => 'Messagerie',
572
+    'onglet_repartition_rubrique' => 'Répartition par rubriques',
573
+    'onglet_save_restaur_base' => 'Sauvegarder/restaurer la base',
574
+    'onglet_vider_cache' => 'Vider le cache',
575 575
 
576
-	// P
577
-	'pass_choix_pass' => 'Veuillez choisir votre nouveau mot de passe :',
578
-	'pass_erreur' => 'Erreur',
579
-	'pass_erreur_acces_refuse' => '<b>Erreur :</b> vous n’avez plus accès à ce site.',
580
-	'pass_erreur_code_inconnu' => '<b>Erreur :</b> ce code ne correspond à aucun des visiteurs ayant accès à ce site.',
581
-	'pass_erreur_non_enregistre' => '<b>Erreur :</b> l’adresse <tt>@email_oubli@</tt> n’est pas enregistrée sur ce site.',
582
-	'pass_erreur_non_valide' => '<b>Erreur :</b> cet email <tt>@email_oubli@</tt> n’est pas valide !',
583
-	'pass_erreur_probleme_technique' => '<b>Erreur :</b> à cause d’un problème technique, l’email ne peut pas être envoyé.',
584
-	'pass_espace_prive_bla' => 'L’espace privé de ce site est ouvert aux
576
+    // P
577
+    'pass_choix_pass' => 'Veuillez choisir votre nouveau mot de passe :',
578
+    'pass_erreur' => 'Erreur',
579
+    'pass_erreur_acces_refuse' => '<b>Erreur :</b> vous n’avez plus accès à ce site.',
580
+    'pass_erreur_code_inconnu' => '<b>Erreur :</b> ce code ne correspond à aucun des visiteurs ayant accès à ce site.',
581
+    'pass_erreur_non_enregistre' => '<b>Erreur :</b> l’adresse <tt>@email_oubli@</tt> n’est pas enregistrée sur ce site.',
582
+    'pass_erreur_non_valide' => '<b>Erreur :</b> cet email <tt>@email_oubli@</tt> n’est pas valide !',
583
+    'pass_erreur_probleme_technique' => '<b>Erreur :</b> à cause d’un problème technique, l’email ne peut pas être envoyé.',
584
+    'pass_espace_prive_bla' => 'L’espace privé de ce site est ouvert aux
585 585
 		visiteurs, après inscription. Une fois enregistré,
586 586
 		vous pourrez consulter les articles en cours de rédaction,
587 587
 		proposer des articles et participer à tous les forums.',
588
-	'pass_forum_bla' => 'Vous avez demandé à intervenir sur un forum
588
+    'pass_forum_bla' => 'Vous avez demandé à intervenir sur un forum
589 589
 		réservé aux visiteurs enregistrés.',
590
-	'pass_indiquez_cidessous' => 'Indiquez ci-dessous l’adresse email sous laquelle vous
590
+    'pass_indiquez_cidessous' => 'Indiquez ci-dessous l’adresse email sous laquelle vous
591 591
 			vous êtes précédemment enregistré. Vous
592 592
 			recevrez un email vous indiquant la marche à suivre pour
593 593
 			récupérer votre accès.',
594
-	'pass_mail_passcookie' => '(ceci est un message automatique)
594
+    'pass_mail_passcookie' => '(ceci est un message automatique)
595 595
 Pour retrouver votre accès au site
596 596
 @nom_site_spip@ (@adresse_site@)
597 597
 
@@ -603,146 +603,146 @@  discard block
 block discarded – undo
603 603
 et vous reconnecter au site.
604 604
 
605 605
 ',
606
-	'pass_mot_oublie' => 'Mot de passe oublié',
607
-	'pass_nouveau_enregistre' => 'Votre nouveau mot de passe a été enregistré.',
608
-	'pass_nouveau_pass' => 'Nouveau mot de passe',
609
-	'pass_ok' => 'OK',
610
-	'pass_oubli_mot' => 'Oubli du mot de passe',
611
-	'pass_procedure_changer' => 'Pour modifier votre mot de passe, merci d’indiquer l’adresse email associée à votre compte.',
612
-	'pass_quitter_fenetre' => 'Quitter cette fenêtre',
613
-	'pass_rappel_login' => 'Rappel : votre identifiant (login) est « @login@ ».',
614
-	'pass_recevoir_mail' => 'Un lien de réinitialisation de votre mot de passe vous a été envoyé sur votre adresse email (si celle-ci est valide).',
615
-	'pass_retour_public' => 'Retour sur le site public',
616
-	'pass_rien_a_faire_ici' => 'Rien à faire ici.',
617
-	'pass_vousinscrire' => 'Vous inscrire sur ce site',
618
-	'precedent' => 'précédent',
619
-	'previsualisation' => 'Prévisualisation',
620
-	'previsualiser' => 'Prévisualiser',
606
+    'pass_mot_oublie' => 'Mot de passe oublié',
607
+    'pass_nouveau_enregistre' => 'Votre nouveau mot de passe a été enregistré.',
608
+    'pass_nouveau_pass' => 'Nouveau mot de passe',
609
+    'pass_ok' => 'OK',
610
+    'pass_oubli_mot' => 'Oubli du mot de passe',
611
+    'pass_procedure_changer' => 'Pour modifier votre mot de passe, merci d’indiquer l’adresse email associée à votre compte.',
612
+    'pass_quitter_fenetre' => 'Quitter cette fenêtre',
613
+    'pass_rappel_login' => 'Rappel : votre identifiant (login) est « @login@ ».',
614
+    'pass_recevoir_mail' => 'Un lien de réinitialisation de votre mot de passe vous a été envoyé sur votre adresse email (si celle-ci est valide).',
615
+    'pass_retour_public' => 'Retour sur le site public',
616
+    'pass_rien_a_faire_ici' => 'Rien à faire ici.',
617
+    'pass_vousinscrire' => 'Vous inscrire sur ce site',
618
+    'precedent' => 'précédent',
619
+    'previsualisation' => 'Prévisualisation',
620
+    'previsualiser' => 'Prévisualiser',
621 621
 
622
-	// R
623
-	'retour' => 'Retour',
622
+    // R
623
+    'retour' => 'Retour',
624 624
 
625
-	// S
626
-	'spip_conforme_dtd' => 'SPIP considère ce document comme conforme à son DOCTYPE :',
627
-	'squelette' => 'squelette',
628
-	'squelette_inclus_ligne' => 'squelette inclus, ligne',
629
-	'squelette_ligne' => 'squelette, ligne',
630
-	'stats_visites_et_popularite' => '@visites@ visites ; popularité : @popularite@',
631
-	'suivant' => 'suivant',
625
+    // S
626
+    'spip_conforme_dtd' => 'SPIP considère ce document comme conforme à son DOCTYPE :',
627
+    'squelette' => 'squelette',
628
+    'squelette_inclus_ligne' => 'squelette inclus, ligne',
629
+    'squelette_ligne' => 'squelette, ligne',
630
+    'stats_visites_et_popularite' => '@visites@ visites ; popularité : @popularite@',
631
+    'suivant' => 'suivant',
632 632
 
633
-	// T
634
-	'taille_go' => '@taille@ Go',
635
-	'taille_ko' => '@taille@ ko',
636
-	'taille_mo' => '@taille@ Mo',
637
-	'taille_octets' => '@taille@ octets',
638
-	'texte_actualite_site_1' => 'Quand vous serez familiarisé(e) avec l’interface, vous pourrez cliquer sur « ',
639
-	'texte_actualite_site_2' => 'interface complète',
640
-	'texte_actualite_site_3' => ' » pour ouvrir plus de possibilités.',
641
-	'texte_creation_automatique_vignette' => 'La création automatique de vignettes de prévisualisation est activée sur ce site. Si vous installez à partir de ce formulaire des images au(x) format(s) @gd_formats@, elles seront accompagnées d’une vignette d’une taille maximale de @taille_preview@ pixels.',
642
-	'texte_documents_associes' => 'Les documents suivants sont associés à l’article,
633
+    // T
634
+    'taille_go' => '@taille@ Go',
635
+    'taille_ko' => '@taille@ ko',
636
+    'taille_mo' => '@taille@ Mo',
637
+    'taille_octets' => '@taille@ octets',
638
+    'texte_actualite_site_1' => 'Quand vous serez familiarisé(e) avec l’interface, vous pourrez cliquer sur « ',
639
+    'texte_actualite_site_2' => 'interface complète',
640
+    'texte_actualite_site_3' => ' » pour ouvrir plus de possibilités.',
641
+    'texte_creation_automatique_vignette' => 'La création automatique de vignettes de prévisualisation est activée sur ce site. Si vous installez à partir de ce formulaire des images au(x) format(s) @gd_formats@, elles seront accompagnées d’une vignette d’une taille maximale de @taille_preview@ pixels.',
642
+    'texte_documents_associes' => 'Les documents suivants sont associés à l’article,
643 643
 				mais ils n’y ont pas été directement
644 644
 				insérés. Selon la mise en page du site public,
645 645
 				ils pourront apparaître sous forme de documents joints.',
646
-	'texte_erreur_mise_niveau_base' => 'Erreur de base de données lors de la mise à niveau.
646
+    'texte_erreur_mise_niveau_base' => 'Erreur de base de données lors de la mise à niveau.
647 647
 		L’image <b>@fichier@</b> n’est pas passée (article @id_article@).
648 648
 		Notez bien cette référence, réessayez la mise à
649 649
 		niveau, et enfin vérifiez que les images apparaissent
650 650
 		toujours dans les articles.',
651
-	'texte_erreur_visiteur' => 'Vous avez tenté d’accéder à l’espace privé avec un login qui ne le permet pas.',
652
-	'texte_inc_auth_1' => 'Vous êtes identifié sous le
651
+    'texte_erreur_visiteur' => 'Vous avez tenté d’accéder à l’espace privé avec un login qui ne le permet pas.',
652
+    'texte_inc_auth_1' => 'Vous êtes identifié sous le
653 653
 		login <b>@auth_login@</b>, mais celui-ci n’existe pas/plus dans la base.
654 654
 		Essayez de vous',
655
-	'texte_inc_auth_2' => 'reconnecter',
656
-	'texte_inc_auth_3' => ', après avoir éventuellement quitté puis
655
+    'texte_inc_auth_2' => 'reconnecter',
656
+    'texte_inc_auth_3' => ', après avoir éventuellement quitté puis
657 657
 		redémarré votre navigateur.',
658
-	'texte_inc_config' => 'Les modifications effectuées dans ces pages influent notablement sur le
658
+    'texte_inc_config' => 'Les modifications effectuées dans ces pages influent notablement sur le
659 659
  fonctionnement de votre site. Nous vous recommandons de ne pas y intervenir tant que vous n’êtes pas
660 660
  familier du fonctionnement du système SPIP. <br /><br /><b>Plus
661 661
  généralement, il est fortement conseillé
662 662
  de laisser la charge de ces pages au webmestre principal de votre site.</b>',
663
-	'texte_inc_meta_1' => 'Le système a rencontré une erreur lors de l’écriture du fichier <code>@fichier@</code>. Veuillez, en tant qu’administrateur du site,',
664
-	'texte_inc_meta_2' => 'vérifier les droits d’écriture',
665
-	'texte_inc_meta_3' => 'sur le répertoire <code>@repertoire@</code>.',
666
-	'texte_statut_en_cours_redaction' => 'en cours de rédaction',
667
-	'texte_statut_poubelle' => 'à la poubelle',
668
-	'texte_statut_propose_evaluation' => 'proposé à l’évaluation',
669
-	'texte_statut_publie' => 'publié en ligne',
670
-	'texte_statut_refuse' => 'refusé',
671
-	'titre_ajouter_mot_cle' => 'AJOUTER UN MOT-CLÉ :',
672
-	'titre_cadre_raccourcis' => 'RACCOURCIS :',
673
-	'titre_changer_couleur_interface' => 'Changer la couleur de l’interface',
674
-	'titre_image_admin_article' => 'Vous pouvez administrer cet article',
675
-	'titre_image_administrateur' => 'Administrateur',
676
-	'titre_image_aide' => 'De l’aide sur cet élément',
677
-	'titre_image_auteur_supprime' => 'Auteur supprimé',
678
-	'titre_image_redacteur' => 'Rédacteur sans accès',
679
-	'titre_image_redacteur_02' => 'Rédacteur',
680
-	'titre_image_selecteur' => 'Afficher la liste',
681
-	'titre_image_visiteur' => 'Visiteur',
682
-	'titre_joindre_document' => 'JOINDRE UN DOCUMENT',
683
-	'titre_mots_cles' => 'MOTS-CLÉS',
684
-	'titre_probleme_technique' => 'Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension.',
685
-	'titre_publier_document' => 'PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE',
686
-	'titre_signatures_attente' => 'Signatures en attente de validation',
687
-	'titre_signatures_confirmees' => 'Signatures confirmées',
688
-	'titre_statistiques' => 'Statistiques du site',
689
-	'titre_titre_document' => 'Titre du document :',
690
-	'todo' => 'à venir',
691
-	'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions',
692
-	'trad_reference' => '(référence des traductions)',
663
+    'texte_inc_meta_1' => 'Le système a rencontré une erreur lors de l’écriture du fichier <code>@fichier@</code>. Veuillez, en tant qu’administrateur du site,',
664
+    'texte_inc_meta_2' => 'vérifier les droits d’écriture',
665
+    'texte_inc_meta_3' => 'sur le répertoire <code>@repertoire@</code>.',
666
+    'texte_statut_en_cours_redaction' => 'en cours de rédaction',
667
+    'texte_statut_poubelle' => 'à la poubelle',
668
+    'texte_statut_propose_evaluation' => 'proposé à l’évaluation',
669
+    'texte_statut_publie' => 'publié en ligne',
670
+    'texte_statut_refuse' => 'refusé',
671
+    'titre_ajouter_mot_cle' => 'AJOUTER UN MOT-CLÉ :',
672
+    'titre_cadre_raccourcis' => 'RACCOURCIS :',
673
+    'titre_changer_couleur_interface' => 'Changer la couleur de l’interface',
674
+    'titre_image_admin_article' => 'Vous pouvez administrer cet article',
675
+    'titre_image_administrateur' => 'Administrateur',
676
+    'titre_image_aide' => 'De l’aide sur cet élément',
677
+    'titre_image_auteur_supprime' => 'Auteur supprimé',
678
+    'titre_image_redacteur' => 'Rédacteur sans accès',
679
+    'titre_image_redacteur_02' => 'Rédacteur',
680
+    'titre_image_selecteur' => 'Afficher la liste',
681
+    'titre_image_visiteur' => 'Visiteur',
682
+    'titre_joindre_document' => 'JOINDRE UN DOCUMENT',
683
+    'titre_mots_cles' => 'MOTS-CLÉS',
684
+    'titre_probleme_technique' => 'Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension.',
685
+    'titre_publier_document' => 'PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE',
686
+    'titre_signatures_attente' => 'Signatures en attente de validation',
687
+    'titre_signatures_confirmees' => 'Signatures confirmées',
688
+    'titre_statistiques' => 'Statistiques du site',
689
+    'titre_titre_document' => 'Titre du document :',
690
+    'todo' => 'à venir',
691
+    'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions',
692
+    'trad_reference' => '(référence des traductions)',
693 693
 
694
-	// U
695
-	'upload_limit' => 'Ce fichier est trop gros pour le serveur ; la taille maximum autorisée en <i>upload</i> est de @max@.',
694
+    // U
695
+    'upload_limit' => 'Ce fichier est trop gros pour le serveur ; la taille maximum autorisée en <i>upload</i> est de @max@.',
696 696
 
697
-	// Z
698
-	'zbug_balise_b_aval' => ' : balise B en aval',
699
-	'zbug_balise_inexistante' => 'Balise @balise@ mal déclarée pour @from@',
700
-	'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@',
701
-	'zbug_boucle' => 'boucle',
702
-	'zbug_boucle_recursive_undef' => 'Boucle récursive non définie : @nom@',
703
-	'zbug_calcul' => 'calcul',
704
-	'zbug_champ_hors_boucle' => 'Champ @champ@ hors boucle',
705
-	'zbug_champ_hors_critere' => 'Champ @champ@ hors critère @critere@',
706
-	'zbug_champ_hors_motif' => 'Champ @champ@ hors d’un contexte @motif@',
707
-	'zbug_code' => 'code',
708
-	'zbug_critere_inconnu' => 'Critère inconnu @critere@',
709
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sur une table sans clef primaire atomique',
710
-	'zbug_distant_interdit' => 'Externe interdit', # Contexte : une base de données "externe", pas gérée par SPIP, mais que SPIP 1.8 sait utiliser dans ses boucles -- seul problèmes certaines manipulations sont interdites sur ces bases-là.
711
-	'zbug_doublon_table_sans_cle_primaire' => 'Doublons sur une table sans clef primaire atomique',
712
-	'zbug_doublon_table_sans_index' => 'Doublons sur une table sans index',
713
-	'zbug_erreur_boucle_double' => 'Double définition de la boucle @id@',
714
-	'zbug_erreur_boucle_fermant' => 'Boucle @id@ non fermée',
715
-	'zbug_erreur_boucle_syntaxe' => 'Syntaxe de la boucle @id@ incorrecte',
716
-	'zbug_erreur_compilation' => 'Erreur de compilation',
717
-	'zbug_erreur_execution_page' => 'Erreur d’exécution',
718
-	'zbug_erreur_filtre' => 'Filtre @filtre@ non défini',
719
-	'zbug_erreur_filtre_nbarg_min' => 'Filtre @filtre@ : il manque @nb@ argument(s)',
720
-	'zbug_erreur_meme_parent' => 'Le critère {meme_parent} ne s’applique qu’aux boucles (FORUMS) ou (RUBRIQUES)',
721
-	'zbug_erreur_squelette' => 'Erreur(s) dans le squelette',
722
-	'zbug_hors_compilation' => 'Hors Compilation',
723
-	'zbug_info_erreur_squelette' => 'Erreur sur le site',
724
-	'zbug_inversion_ordre_inexistant' => 'Inversion d’un ordre inexistant',
725
-	'zbug_pagination_sans_critere' => 'Balise #PAGINATION sans critère {pagination} ou employé dans une boucle récursive',
726
-	'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@',
727
-	'zbug_profile' => 'Temps de calcul : @time@',
728
-	'zbug_resultat' => 'résultat',
729
-	'zbug_serveur_indefini' => 'Serveur SQL indéfini',
730
-	'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée',
731
-	'zbug_table_inconnue' => 'Table SQL « @table@ » inconnue',
732
-	'zxml_connus_attributs' => 'attributs connus',
733
-	'zxml_de' => 'de',
734
-	'zxml_inconnu_attribut' => 'attribut inconnu',
735
-	'zxml_inconnu_balise' => 'balise inconnue',
736
-	'zxml_inconnu_entite' => 'entité inconnue',
737
-	'zxml_inconnu_id' => 'ID inconnu',
738
-	'zxml_mais_de' => 'mais de',
739
-	'zxml_non_conforme' => 'n’est pas conforme au motif',
740
-	'zxml_non_fils' => 'n’est pas un fils de',
741
-	'zxml_nonvide_balise' => 'balise non vide',
742
-	'zxml_obligatoire_attribut' => 'attribut obligatoire mais absent dans',
743
-	'zxml_succession_fils_incorrecte' => 'succession des fils incorrecte',
744
-	'zxml_survoler' => 'survoler pour voir les corrects',
745
-	'zxml_valeur_attribut' => 'valeur de l’attribut',
746
-	'zxml_vide_balise' => 'balise vide',
747
-	'zxml_vu' => 'vu auparavant'
697
+    // Z
698
+    'zbug_balise_b_aval' => ' : balise B en aval',
699
+    'zbug_balise_inexistante' => 'Balise @balise@ mal déclarée pour @from@',
700
+    'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@',
701
+    'zbug_boucle' => 'boucle',
702
+    'zbug_boucle_recursive_undef' => 'Boucle récursive non définie : @nom@',
703
+    'zbug_calcul' => 'calcul',
704
+    'zbug_champ_hors_boucle' => 'Champ @champ@ hors boucle',
705
+    'zbug_champ_hors_critere' => 'Champ @champ@ hors critère @critere@',
706
+    'zbug_champ_hors_motif' => 'Champ @champ@ hors d’un contexte @motif@',
707
+    'zbug_code' => 'code',
708
+    'zbug_critere_inconnu' => 'Critère inconnu @critere@',
709
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sur une table sans clef primaire atomique',
710
+    'zbug_distant_interdit' => 'Externe interdit', # Contexte : une base de données "externe", pas gérée par SPIP, mais que SPIP 1.8 sait utiliser dans ses boucles -- seul problèmes certaines manipulations sont interdites sur ces bases-là.
711
+    'zbug_doublon_table_sans_cle_primaire' => 'Doublons sur une table sans clef primaire atomique',
712
+    'zbug_doublon_table_sans_index' => 'Doublons sur une table sans index',
713
+    'zbug_erreur_boucle_double' => 'Double définition de la boucle @id@',
714
+    'zbug_erreur_boucle_fermant' => 'Boucle @id@ non fermée',
715
+    'zbug_erreur_boucle_syntaxe' => 'Syntaxe de la boucle @id@ incorrecte',
716
+    'zbug_erreur_compilation' => 'Erreur de compilation',
717
+    'zbug_erreur_execution_page' => 'Erreur d’exécution',
718
+    'zbug_erreur_filtre' => 'Filtre @filtre@ non défini',
719
+    'zbug_erreur_filtre_nbarg_min' => 'Filtre @filtre@ : il manque @nb@ argument(s)',
720
+    'zbug_erreur_meme_parent' => 'Le critère {meme_parent} ne s’applique qu’aux boucles (FORUMS) ou (RUBRIQUES)',
721
+    'zbug_erreur_squelette' => 'Erreur(s) dans le squelette',
722
+    'zbug_hors_compilation' => 'Hors Compilation',
723
+    'zbug_info_erreur_squelette' => 'Erreur sur le site',
724
+    'zbug_inversion_ordre_inexistant' => 'Inversion d’un ordre inexistant',
725
+    'zbug_pagination_sans_critere' => 'Balise #PAGINATION sans critère {pagination} ou employé dans une boucle récursive',
726
+    'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@',
727
+    'zbug_profile' => 'Temps de calcul : @time@',
728
+    'zbug_resultat' => 'résultat',
729
+    'zbug_serveur_indefini' => 'Serveur SQL indéfini',
730
+    'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée',
731
+    'zbug_table_inconnue' => 'Table SQL « @table@ » inconnue',
732
+    'zxml_connus_attributs' => 'attributs connus',
733
+    'zxml_de' => 'de',
734
+    'zxml_inconnu_attribut' => 'attribut inconnu',
735
+    'zxml_inconnu_balise' => 'balise inconnue',
736
+    'zxml_inconnu_entite' => 'entité inconnue',
737
+    'zxml_inconnu_id' => 'ID inconnu',
738
+    'zxml_mais_de' => 'mais de',
739
+    'zxml_non_conforme' => 'n’est pas conforme au motif',
740
+    'zxml_non_fils' => 'n’est pas un fils de',
741
+    'zxml_nonvide_balise' => 'balise non vide',
742
+    'zxml_obligatoire_attribut' => 'attribut obligatoire mais absent dans',
743
+    'zxml_succession_fils_incorrecte' => 'succession des fils incorrecte',
744
+    'zxml_survoler' => 'survoler pour voir les corrects',
745
+    'zxml_valeur_attribut' => 'valeur de l’attribut',
746
+    'zxml_vide_balise' => 'balise vide',
747
+    'zxml_vu' => 'vu auparavant'
748 748
 );
Please login to merge, or discard this patch.