Completed
Push — master ( 48c2d1...cd3c15 )
by cam
01:45
created
ecrire/inc/traduire.php 2 patches
Spacing   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 	static $dirs = [];
42 42
 	$liste = [];
43 43
 	foreach (creer_chemin() as $dir) {
44
-		if (!isset($dirs[$a = $dir . $dirname])) {
44
+		if (!isset($dirs[$a = $dir.$dirname])) {
45 45
 			$dirs[$a] = (is_dir($a) || !$a);
46 46
 		}
47 47
 		if ($dirs[$a]) {
@@ -67,21 +67,21 @@  discard block
 block discarded – undo
67 67
  **/
68 68
 function chercher_module_lang($module, $lang = '') {
69 69
 	if ($lang) {
70
-		$lang = '_' . $lang;
70
+		$lang = '_'.$lang;
71 71
 	}
72 72
 
73 73
 	// 1) dans un repertoire nomme lang/ se trouvant sur le chemin
74 74
 	if (
75 75
 		$f = ($module == 'local'
76
-		? find_in_path($module . $lang . '.php', 'lang/')
77
-		: find_langs_in_path($module . $lang . '.php', 'lang/'))
76
+		? find_in_path($module.$lang.'.php', 'lang/')
77
+		: find_langs_in_path($module.$lang.'.php', 'lang/'))
78 78
 	) {
79 79
 		return is_array($f) ? $f : [$f];
80 80
 	}
81 81
 
82 82
 	// 2) directement dans le chemin (old style, uniquement pour local)
83 83
 	return (($module == 'local') or strpos($module, '/'))
84
-		? (($f = find_in_path($module . $lang . '.php')) ? [$f] : false)
84
+		? (($f = find_in_path($module.$lang.'.php')) ? [$f] : false)
85 85
 		: false;
86 86
 }
87 87
 
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
  **/
106 106
 function charger_langue($lang, $module = 'spip') {
107 107
 	static $langs = [];
108
-	$var = 'i18n_' . $module . '_' . $lang;
108
+	$var = 'i18n_'.$module.'_'.$lang;
109 109
 	if (!isset($langs[$lang])) {
110 110
 		$langs[$lang] = [];
111 111
 		if ($lang) {
@@ -120,13 +120,13 @@  discard block
 block discarded – undo
120 120
 	}
121 121
 	foreach ($langs[$lang] as $l) {
122 122
 		if ($fichiers_lang = chercher_module_lang($module, $l)) {
123
-			$GLOBALS['idx_lang'] = 'i18n_' . $module . '_' . $l;
123
+			$GLOBALS['idx_lang'] = 'i18n_'.$module.'_'.$l;
124 124
 			include(array_shift($fichiers_lang));
125 125
 			surcharger_langue($fichiers_lang);
126 126
 			if ($l !== $lang) {
127
-				$GLOBALS[$var] = &$GLOBALS['i18n_' . $module . '_' . $l];
127
+				$GLOBALS[$var] = &$GLOBALS['i18n_'.$module.'_'.$l];
128 128
 			}
129
-			$GLOBALS['lang_' . $var] = $l;
129
+			$GLOBALS['lang_'.$var] = $l;
130 130
 			#spip_log("module de langue : ${module}_$l.php", 'traduire');
131 131
 			break;
132 132
 		}
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
 	foreach ($fichiers as $fichier) {
165 165
 		if (!isset($surcharges[$fichier])) {
166 166
 			$idx_lang_normal = $GLOBALS['idx_lang'];
167
-			$GLOBALS['idx_lang'] = $GLOBALS['idx_lang'] . '@temporaire';
167
+			$GLOBALS['idx_lang'] = $GLOBALS['idx_lang'].'@temporaire';
168 168
 			include($fichier);
169 169
 			$surcharges[$fichier] = $GLOBALS[$GLOBALS['idx_lang']];
170 170
 			unset($GLOBALS[$GLOBALS['idx_lang']]);
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
 		}
173 173
 		if (is_array($surcharges[$fichier])) {
174 174
 			$GLOBALS[$GLOBALS['idx_lang']] = array_merge(
175
-				(isset($GLOBALS[$GLOBALS['idx_lang']]) ? (array)$GLOBALS[$GLOBALS['idx_lang']] : []),
175
+				(isset($GLOBALS[$GLOBALS['idx_lang']]) ? (array) $GLOBALS[$GLOBALS['idx_lang']] : []),
176 176
 				$surcharges[$fichier]
177 177
 			);
178 178
 		}
@@ -250,27 +250,27 @@  discard block
 block discarded – undo
250 250
 	} else {
251 251
 		$modules = ['spip', 'ecrire'];
252 252
 		$code = $ori;
253
-		$ori_complet = implode('|', $modules) . ':' . $ori;
253
+		$ori_complet = implode('|', $modules).':'.$ori;
254 254
 	}
255 255
 
256 256
 	$desc = new SPIP_Traductions_Description();
257 257
 
258 258
 	// parcourir tous les modules jusqu'a ce qu'on trouve
259 259
 	foreach ($modules as $module) {
260
-		$var = 'i18n_' . $module . '_' . $lang;
260
+		$var = 'i18n_'.$module.'_'.$lang;
261 261
 
262 262
 		if (empty($GLOBALS[$var])) {
263 263
 			charger_langue($lang, $module);
264 264
 			// surcharges persos -- on cherche
265 265
 			// (lang/)local_xx.php et/ou (lang/)local.php ...
266
-			if (!isset($local['local_' . $lang])) {
266
+			if (!isset($local['local_'.$lang])) {
267 267
 				// redéfinir la langue en cours pour les surcharges (chercher_langue a pu le changer)
268 268
 				$GLOBALS['idx_lang'] = $var;
269 269
 				// ... (lang/)local_xx.php
270
-				$local['local_' . $lang] = chercher_module_lang('local', $lang);
270
+				$local['local_'.$lang] = chercher_module_lang('local', $lang);
271 271
 			}
272
-			if ($local['local_' . $lang]) {
273
-				surcharger_langue($local['local_' . $lang]);
272
+			if ($local['local_'.$lang]) {
273
+				surcharger_langue($local['local_'.$lang]);
274 274
 			}
275 275
 			// ... puis (lang/)local.php
276 276
 			if (!isset($local['local'])) {
@@ -284,7 +284,7 @@  discard block
 block discarded – undo
284 284
 		if (isset($GLOBALS[$var][$code])) {
285 285
 			$desc->code = $code;
286 286
 			$desc->module = $module;
287
-			$desc->langue = $GLOBALS['lang_' . $var];
287
+			$desc->langue = $GLOBALS['lang_'.$var];
288 288
 			$desc->texte = $GLOBALS[$var][$code];
289 289
 			break;
290 290
 		}
@@ -339,13 +339,13 @@  discard block
 block discarded – undo
339 339
 	if (!$desc->mode and $desc->texte) {
340 340
 		// ne pas modifier 2 fois l'affichage
341 341
 		$desc->mode = 'traduction';
342
-		$classe = 'debug-traduction' . ($desc->module == 'ecrire' ? '-prive' : '');
342
+		$classe = 'debug-traduction'.($desc->module == 'ecrire' ? '-prive' : '');
343 343
 		$desc->texte = '<span '
344
-			. 'lang=' . $desc->langue
345
-			. ' class=' . $classe
346
-			. ' data-module=' . $desc->module
347
-			. ' data-code=' . $desc->code
348
-			. ' title=' . $modules . '(' . $desc->langue . ')>'
344
+			. 'lang='.$desc->langue
345
+			. ' class='.$classe
346
+			. ' data-module='.$desc->module
347
+			. ' data-code='.$desc->code
348
+			. ' title='.$modules.'('.$desc->langue.')>'
349 349
 			. $desc->texte
350 350
 			. '</span>';
351 351
 		$desc->texte = str_replace(
Please login to merge, or discard this patch.
Indentation   +195 added lines, -195 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
 /**
@@ -38,20 +38,20 @@  discard block
 block discarded – undo
38 38
  *     Liste des fichiers de langue trouvés, dans l'ordre des chemins
39 39
  */
40 40
 function find_langs_in_path($file, $dirname = 'lang') {
41
-	static $dirs = [];
42
-	$liste = [];
43
-	foreach (creer_chemin() as $dir) {
44
-		if (!isset($dirs[$a = $dir . $dirname])) {
45
-			$dirs[$a] = (is_dir($a) || !$a);
46
-		}
47
-		if ($dirs[$a]) {
48
-			if (is_readable($a .= $file)) {
49
-				$liste[] = $a;
50
-			}
51
-		}
52
-	}
41
+    static $dirs = [];
42
+    $liste = [];
43
+    foreach (creer_chemin() as $dir) {
44
+        if (!isset($dirs[$a = $dir . $dirname])) {
45
+            $dirs[$a] = (is_dir($a) || !$a);
46
+        }
47
+        if ($dirs[$a]) {
48
+            if (is_readable($a .= $file)) {
49
+                $liste[] = $a;
50
+            }
51
+        }
52
+    }
53 53
 
54
-	return array_reverse($liste);
54
+    return array_reverse($liste);
55 55
 }
56 56
 
57 57
 /**
@@ -66,23 +66,23 @@  discard block
 block discarded – undo
66 66
  *     Liste des fichiers touvés pour ce module et cette langue.
67 67
  **/
68 68
 function chercher_module_lang($module, $lang = '') {
69
-	if ($lang) {
70
-		$lang = '_' . $lang;
71
-	}
69
+    if ($lang) {
70
+        $lang = '_' . $lang;
71
+    }
72 72
 
73
-	// 1) dans un repertoire nomme lang/ se trouvant sur le chemin
74
-	if (
75
-		$f = ($module == 'local'
76
-		? find_in_path($module . $lang . '.php', 'lang/')
77
-		: find_langs_in_path($module . $lang . '.php', 'lang/'))
78
-	) {
79
-		return is_array($f) ? $f : [$f];
80
-	}
73
+    // 1) dans un repertoire nomme lang/ se trouvant sur le chemin
74
+    if (
75
+        $f = ($module == 'local'
76
+        ? find_in_path($module . $lang . '.php', 'lang/')
77
+        : find_langs_in_path($module . $lang . '.php', 'lang/'))
78
+    ) {
79
+        return is_array($f) ? $f : [$f];
80
+    }
81 81
 
82
-	// 2) directement dans le chemin (old style, uniquement pour local)
83
-	return (($module == 'local') or strpos($module, '/'))
84
-		? (($f = find_in_path($module . $lang . '.php')) ? [$f] : false)
85
-		: false;
82
+    // 2) directement dans le chemin (old style, uniquement pour local)
83
+    return (($module == 'local') or strpos($module, '/'))
84
+        ? (($f = find_in_path($module . $lang . '.php')) ? [$f] : false)
85
+        : false;
86 86
 }
87 87
 
88 88
 /**
@@ -104,33 +104,33 @@  discard block
 block discarded – undo
104 104
  * @return string Langue du module chargé, sinon chaîne vide.
105 105
  **/
106 106
 function charger_langue($lang, $module = 'spip') {
107
-	static $langs = [];
108
-	$var = 'i18n_' . $module . '_' . $lang;
109
-	if (!isset($langs[$lang])) {
110
-		$langs[$lang] = [];
111
-		if ($lang) {
112
-			$langs[$lang][] = $lang;
113
-			if (strpos($lang, '_') !== false) {
114
-				$l = explode('_', $lang);
115
-				$langs[$lang][] = reset($l);
116
-			}
117
-		}
118
-		$langs[$lang][] = $GLOBALS['meta']['langue_site'];
119
-		$langs[$lang][] = _LANGUE_PAR_DEFAUT;
120
-	}
121
-	foreach ($langs[$lang] as $l) {
122
-		if ($fichiers_lang = chercher_module_lang($module, $l)) {
123
-			$GLOBALS['idx_lang'] = 'i18n_' . $module . '_' . $l;
124
-			include(array_shift($fichiers_lang));
125
-			surcharger_langue($fichiers_lang);
126
-			if ($l !== $lang) {
127
-				$GLOBALS[$var] = &$GLOBALS['i18n_' . $module . '_' . $l];
128
-			}
129
-			$GLOBALS['lang_' . $var] = $l;
130
-			#spip_log("module de langue : ${module}_$l.php", 'traduire');
131
-			break;
132
-		}
133
-	}
107
+    static $langs = [];
108
+    $var = 'i18n_' . $module . '_' . $lang;
109
+    if (!isset($langs[$lang])) {
110
+        $langs[$lang] = [];
111
+        if ($lang) {
112
+            $langs[$lang][] = $lang;
113
+            if (strpos($lang, '_') !== false) {
114
+                $l = explode('_', $lang);
115
+                $langs[$lang][] = reset($l);
116
+            }
117
+        }
118
+        $langs[$lang][] = $GLOBALS['meta']['langue_site'];
119
+        $langs[$lang][] = _LANGUE_PAR_DEFAUT;
120
+    }
121
+    foreach ($langs[$lang] as $l) {
122
+        if ($fichiers_lang = chercher_module_lang($module, $l)) {
123
+            $GLOBALS['idx_lang'] = 'i18n_' . $module . '_' . $l;
124
+            include(array_shift($fichiers_lang));
125
+            surcharger_langue($fichiers_lang);
126
+            if ($l !== $lang) {
127
+                $GLOBALS[$var] = &$GLOBALS['i18n_' . $module . '_' . $l];
128
+            }
129
+            $GLOBALS['lang_' . $var] = $l;
130
+            #spip_log("module de langue : ${module}_$l.php", 'traduire');
131
+            break;
132
+        }
133
+    }
134 134
 }
135 135
 
136 136
 /**
@@ -150,50 +150,50 @@  discard block
 block discarded – undo
150 150
  *    Liste des chemins de fichiers de langue à surcharger.
151 151
  **/
152 152
 function surcharger_langue($fichiers) {
153
-	static $surcharges = [];
154
-	if (!isset($GLOBALS['idx_lang'])) {
155
-		return;
156
-	}
153
+    static $surcharges = [];
154
+    if (!isset($GLOBALS['idx_lang'])) {
155
+        return;
156
+    }
157 157
 
158
-	if (!is_array($fichiers)) {
159
-		$fichiers = [$fichiers];
160
-	}
161
-	if (!count($fichiers)) {
162
-		return;
163
-	}
164
-	foreach ($fichiers as $fichier) {
165
-		if (!isset($surcharges[$fichier])) {
166
-			$idx_lang_normal = $GLOBALS['idx_lang'];
167
-			$GLOBALS['idx_lang'] = $GLOBALS['idx_lang'] . '@temporaire';
168
-			include($fichier);
169
-			$surcharges[$fichier] = $GLOBALS[$GLOBALS['idx_lang']];
170
-			unset($GLOBALS[$GLOBALS['idx_lang']]);
171
-			$GLOBALS['idx_lang'] = $idx_lang_normal;
172
-		}
173
-		if (is_array($surcharges[$fichier])) {
174
-			$GLOBALS[$GLOBALS['idx_lang']] = array_merge(
175
-				(isset($GLOBALS[$GLOBALS['idx_lang']]) ? (array)$GLOBALS[$GLOBALS['idx_lang']] : []),
176
-				$surcharges[$fichier]
177
-			);
178
-		}
179
-	}
158
+    if (!is_array($fichiers)) {
159
+        $fichiers = [$fichiers];
160
+    }
161
+    if (!count($fichiers)) {
162
+        return;
163
+    }
164
+    foreach ($fichiers as $fichier) {
165
+        if (!isset($surcharges[$fichier])) {
166
+            $idx_lang_normal = $GLOBALS['idx_lang'];
167
+            $GLOBALS['idx_lang'] = $GLOBALS['idx_lang'] . '@temporaire';
168
+            include($fichier);
169
+            $surcharges[$fichier] = $GLOBALS[$GLOBALS['idx_lang']];
170
+            unset($GLOBALS[$GLOBALS['idx_lang']]);
171
+            $GLOBALS['idx_lang'] = $idx_lang_normal;
172
+        }
173
+        if (is_array($surcharges[$fichier])) {
174
+            $GLOBALS[$GLOBALS['idx_lang']] = array_merge(
175
+                (isset($GLOBALS[$GLOBALS['idx_lang']]) ? (array)$GLOBALS[$GLOBALS['idx_lang']] : []),
176
+                $surcharges[$fichier]
177
+            );
178
+        }
179
+    }
180 180
 }
181 181
 
182 182
 
183 183
 
184 184
 class SPIP_Traductions_Description {
185
-	/** @var string code de langue (hors module) */
186
-	public $code;
187
-	/** @var string nom du module de langue */
188
-	public $module;
189
-	/** @var string langue de la traduction */
190
-	public $langue;
191
-	/** @var string traduction */
192
-	public $texte;
193
-	/** @var string var mode particulier appliqué ? */
194
-	public $mode;
195
-	/** @var bool Corrections des textes appliqué ? */
196
-	public $corrections = false;
185
+    /** @var string code de langue (hors module) */
186
+    public $code;
187
+    /** @var string nom du module de langue */
188
+    public $module;
189
+    /** @var string langue de la traduction */
190
+    public $langue;
191
+    /** @var string traduction */
192
+    public $texte;
193
+    /** @var string var mode particulier appliqué ? */
194
+    public $mode;
195
+    /** @var bool Corrections des textes appliqué ? */
196
+    public $corrections = false;
197 197
 }
198 198
 
199 199
 
@@ -235,99 +235,99 @@  discard block
 block discarded – undo
235 235
  *     - SPIP_Traductions_Description : traduction et description (texte, module, langue)
236 236
  **/
237 237
 function inc_traduire_dist($ori, $lang, $raw = false) {
238
-	static $deja_vu = [];
239
-	static $local = [];
238
+    static $deja_vu = [];
239
+    static $local = [];
240 240
 
241
-	if (isset($deja_vu[$lang][$ori]) and (_request('var_mode') != 'traduction')) {
242
-		return $raw ? $deja_vu[$lang][$ori] : $deja_vu[$lang][$ori]->texte;
243
-	}
241
+    if (isset($deja_vu[$lang][$ori]) and (_request('var_mode') != 'traduction')) {
242
+        return $raw ? $deja_vu[$lang][$ori] : $deja_vu[$lang][$ori]->texte;
243
+    }
244 244
 
245
-	// modules demandes explicitement <xxx|yyy|zzz:code> cf MODULES_IDIOMES
246
-	if (strpos($ori, ':')) {
247
-		[$modules, $code] = explode(':', $ori, 2);
248
-		$modules = explode('|', $modules);
249
-		$ori_complet = $ori;
250
-	} else {
251
-		$modules = ['spip', 'ecrire'];
252
-		$code = $ori;
253
-		$ori_complet = implode('|', $modules) . ':' . $ori;
254
-	}
245
+    // modules demandes explicitement <xxx|yyy|zzz:code> cf MODULES_IDIOMES
246
+    if (strpos($ori, ':')) {
247
+        [$modules, $code] = explode(':', $ori, 2);
248
+        $modules = explode('|', $modules);
249
+        $ori_complet = $ori;
250
+    } else {
251
+        $modules = ['spip', 'ecrire'];
252
+        $code = $ori;
253
+        $ori_complet = implode('|', $modules) . ':' . $ori;
254
+    }
255 255
 
256
-	$desc = new SPIP_Traductions_Description();
256
+    $desc = new SPIP_Traductions_Description();
257 257
 
258
-	// parcourir tous les modules jusqu'a ce qu'on trouve
259
-	foreach ($modules as $module) {
260
-		$var = 'i18n_' . $module . '_' . $lang;
258
+    // parcourir tous les modules jusqu'a ce qu'on trouve
259
+    foreach ($modules as $module) {
260
+        $var = 'i18n_' . $module . '_' . $lang;
261 261
 
262
-		if (empty($GLOBALS[$var])) {
263
-			charger_langue($lang, $module);
264
-			// surcharges persos -- on cherche
265
-			// (lang/)local_xx.php et/ou (lang/)local.php ...
266
-			if (!isset($local['local_' . $lang])) {
267
-				// redéfinir la langue en cours pour les surcharges (chercher_langue a pu le changer)
268
-				$GLOBALS['idx_lang'] = $var;
269
-				// ... (lang/)local_xx.php
270
-				$local['local_' . $lang] = chercher_module_lang('local', $lang);
271
-			}
272
-			if ($local['local_' . $lang]) {
273
-				surcharger_langue($local['local_' . $lang]);
274
-			}
275
-			// ... puis (lang/)local.php
276
-			if (!isset($local['local'])) {
277
-				$local['local'] = chercher_module_lang('local');
278
-			}
279
-			if ($local['local']) {
280
-				surcharger_langue($local['local']);
281
-			}
282
-		}
262
+        if (empty($GLOBALS[$var])) {
263
+            charger_langue($lang, $module);
264
+            // surcharges persos -- on cherche
265
+            // (lang/)local_xx.php et/ou (lang/)local.php ...
266
+            if (!isset($local['local_' . $lang])) {
267
+                // redéfinir la langue en cours pour les surcharges (chercher_langue a pu le changer)
268
+                $GLOBALS['idx_lang'] = $var;
269
+                // ... (lang/)local_xx.php
270
+                $local['local_' . $lang] = chercher_module_lang('local', $lang);
271
+            }
272
+            if ($local['local_' . $lang]) {
273
+                surcharger_langue($local['local_' . $lang]);
274
+            }
275
+            // ... puis (lang/)local.php
276
+            if (!isset($local['local'])) {
277
+                $local['local'] = chercher_module_lang('local');
278
+            }
279
+            if ($local['local']) {
280
+                surcharger_langue($local['local']);
281
+            }
282
+        }
283 283
 
284
-		if (isset($GLOBALS[$var][$code])) {
285
-			$desc->code = $code;
286
-			$desc->module = $module;
287
-			$desc->langue = $GLOBALS['lang_' . $var];
288
-			$desc->texte = $GLOBALS[$var][$code];
289
-			break;
290
-		}
291
-	}
284
+        if (isset($GLOBALS[$var][$code])) {
285
+            $desc->code = $code;
286
+            $desc->module = $module;
287
+            $desc->langue = $GLOBALS['lang_' . $var];
288
+            $desc->texte = $GLOBALS[$var][$code];
289
+            break;
290
+        }
291
+    }
292 292
 
293
-	if (!$desc->corrections) {
294
-		$desc->corrections = true;
295
-		// Retour aux sources si la chaine est absente dans la langue cible ;
296
-		// on essaie d'abord la langue du site, puis a defaut la langue fr
297
-		if (
298
-			($desc->texte === null || !strlen($desc->texte)) 
299
-			and $lang !== _LANGUE_PAR_DEFAUT
300
-		) {
301
-			if ($lang !== $GLOBALS['meta']['langue_site']) {
302
-				$desc = inc_traduire_dist($ori, $GLOBALS['meta']['langue_site'], true);
303
-			} else {
304
-				$desc = inc_traduire_dist($ori, _LANGUE_PAR_DEFAUT, true);
305
-			}
306
-		}
293
+    if (!$desc->corrections) {
294
+        $desc->corrections = true;
295
+        // Retour aux sources si la chaine est absente dans la langue cible ;
296
+        // on essaie d'abord la langue du site, puis a defaut la langue fr
297
+        if (
298
+            ($desc->texte === null || !strlen($desc->texte)) 
299
+            and $lang !== _LANGUE_PAR_DEFAUT
300
+        ) {
301
+            if ($lang !== $GLOBALS['meta']['langue_site']) {
302
+                $desc = inc_traduire_dist($ori, $GLOBALS['meta']['langue_site'], true);
303
+            } else {
304
+                $desc = inc_traduire_dist($ori, _LANGUE_PAR_DEFAUT, true);
305
+            }
306
+        }
307 307
 
308
-		// Supprimer la mention <NEW> ou <MODIF>
309
-		if ($desc->texte && substr($desc->texte, 0, 1) === '<') {
310
-			$desc->texte = str_replace(['<NEW>', '<MODIF>'], [], $desc->texte);
311
-		}
308
+        // Supprimer la mention <NEW> ou <MODIF>
309
+        if ($desc->texte && substr($desc->texte, 0, 1) === '<') {
310
+            $desc->texte = str_replace(['<NEW>', '<MODIF>'], [], $desc->texte);
311
+        }
312 312
 
313
-		// Si on n'est pas en utf-8, la chaine peut l'etre...
314
-		// le cas echeant on la convertit en entites html &#xxx;
315
-		if (
316
-			(!isset($GLOBALS['meta']['charset']) or $GLOBALS['meta']['charset'] !== 'utf-8')
317
-			and preg_match(',[\x7f-\xff],S', $desc->texte)
318
-		) {
319
-			include_spip('inc/charsets');
320
-			$desc->texte = charset2unicode($desc->texte, 'utf-8');
321
-		}
322
-	}
313
+        // Si on n'est pas en utf-8, la chaine peut l'etre...
314
+        // le cas echeant on la convertit en entites html &#xxx;
315
+        if (
316
+            (!isset($GLOBALS['meta']['charset']) or $GLOBALS['meta']['charset'] !== 'utf-8')
317
+            and preg_match(',[\x7f-\xff],S', $desc->texte)
318
+        ) {
319
+            include_spip('inc/charsets');
320
+            $desc->texte = charset2unicode($desc->texte, 'utf-8');
321
+        }
322
+    }
323 323
 
324
-	if (_request('var_mode') == 'traduction') {
325
-		$desc = definir_details_traduction($desc, $ori_complet);
326
-	} else {
327
-		$deja_vu[$lang][$ori] = $desc;
328
-	}
324
+    if (_request('var_mode') == 'traduction') {
325
+        $desc = definir_details_traduction($desc, $ori_complet);
326
+    } else {
327
+        $deja_vu[$lang][$ori] = $desc;
328
+    }
329 329
 
330
-	return $raw ? $desc : $desc->texte;
330
+    return $raw ? $desc : $desc->texte;
331 331
 }
332 332
 
333 333
 /**
@@ -339,23 +339,23 @@  discard block
 block discarded – undo
339 339
  * @return SPIP_Traductions_Description
340 340
  */
341 341
 function definir_details_traduction($desc, $modules) {
342
-	if (!$desc->mode and $desc->texte) {
343
-		// ne pas modifier 2 fois l'affichage
344
-		$desc->mode = 'traduction';
345
-		$classe = 'debug-traduction' . ($desc->module == 'ecrire' ? '-prive' : '');
346
-		$desc->texte = '<span '
347
-			. 'lang=' . $desc->langue
348
-			. ' class=' . $classe
349
-			. ' data-module=' . $desc->module
350
-			. ' data-code=' . $desc->code
351
-			. ' title=' . $modules . '(' . $desc->langue . ')>'
352
-			. $desc->texte
353
-			. '</span>';
354
-		$desc->texte = str_replace(
355
-			["$desc->module:", "$desc->module|"],
356
-			["*$desc->module*:", "*$desc->module*|"],
357
-			$desc->texte
358
-		);
359
-	}
360
-	return $desc;
342
+    if (!$desc->mode and $desc->texte) {
343
+        // ne pas modifier 2 fois l'affichage
344
+        $desc->mode = 'traduction';
345
+        $classe = 'debug-traduction' . ($desc->module == 'ecrire' ? '-prive' : '');
346
+        $desc->texte = '<span '
347
+            . 'lang=' . $desc->langue
348
+            . ' class=' . $classe
349
+            . ' data-module=' . $desc->module
350
+            . ' data-code=' . $desc->code
351
+            . ' title=' . $modules . '(' . $desc->langue . ')>'
352
+            . $desc->texte
353
+            . '</span>';
354
+        $desc->texte = str_replace(
355
+            ["$desc->module:", "$desc->module|"],
356
+            ["*$desc->module*:", "*$desc->module*|"],
357
+            $desc->texte
358
+        );
359
+    }
360
+    return $desc;
361 361
 }
Please login to merge, or discard this patch.
ecrire/inc/lang_liste.php 2 patches
Indentation   +198 added lines, -198 removed lines patch added patch discarded remove patch
@@ -18,206 +18,206 @@
 block discarded – undo
18 18
 */
19 19
 
20 20
 if (!defined('_ECRIRE_INC_VERSION')) {
21
-	return;
21
+    return;
22 22
 }
23 23
 
24 24
 $GLOBALS['codes_langues'] = [
25
-	'aa' => 'Afar',
26
-	'ab' => 'Abkhazian',
27
-	'af' => 'Afrikaans',
28
-	'am' => 'Amharic',
29
-	'an' => 'Aragon&#233;s',
30
-	'ar' => '&#1593;&#1585;&#1576;&#1610;',
31
-	'as' => 'Assamese',
32
-	'ast' => 'asturianu',
33
-	'ay' => 'Aymara',
34
-	'az' => 'Az&#601;rbaycan dili',
35
-	'ba' => 'Bashkir',
36
-	'be' => '&#1041;&#1077;&#1083;&#1072;&#1088;&#1091;&#1089;&#1082;&#1072;&#1103;',
37
-	'ber_tam' => 'Tamazigh',
38
-	'ber_tam_tfng' => 'Tamazigh tifinagh',
39
-	'bg' => '&#1073;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080;',
40
-	'bh' => 'Bihari',
41
-	'bi' => 'Bislama',
42
-	'bm' => 'Bambara',
43
-	'bn' => 'Bengali; Bangla',
44
-	'bo' => 'Tibetan',
45
-	'br' => 'brezhoneg',
46
-	'bs' => 'bosanski',
47
-	'ca' => 'catal&#224;',
48
-	'co' => 'corsu',
49
-	'cpf' => 'Kr&eacute;ol r&eacute;yon&eacute;',
50
-	'cpf_dom' => 'Krey&ograve;l',
51
-	'cpf_hat' => 'Krey&ograve;l (Peyi Dayiti)',
52
-	'cs' => '&#269;e&#353;tina',
53
-	'cy' => 'Cymraeg',  # welsh, gallois
54
-	'da' => 'dansk',
55
-	'de' => 'Deutsch',
56
-	'dz' => 'Bhutani',
57
-	'el' => '&#949;&#955;&#955;&#951;&#957;&#953;&#954;&#940;',
58
-	'en' => 'English',
59
-	'en_hx' => 'H4ck3R',
60
-	'en_sm' => 'Smurf',
61
-	'eo' => 'Esperanto',
62
-	'es' => 'Espa&#241;ol',
63
-	'es_co' => 'Colombiano',
64
-	'es_mx_pop' => 'Mexicano a lo g&#252;ey',
65
-	'et' => 'eesti',
66
-	'eu' => 'euskara',
67
-	'fa' => '&#1601;&#1575;&#1585;&#1587;&#1609;',
68
-	'ff' => 'Fulah', // peul
69
-	'fi' => 'suomi',
70
-	'fj' => 'Fiji',
71
-	'fo' => 'f&#248;royskt',
72
-	'fon' => 'fongb&egrave;',
73
-	'fr' => 'fran&#231;ais',
74
-	'fr_fem' => 'fran&#231;ais f&#233;minin',
75
-	'fr_sc' => 'schtroumpf',
76
-	'fr_lpc' => 'langue parl&#233;e compl&#233;t&#233;e',
77
-	'fr_lsf' => 'langue des signes fran&#231;aise',
78
-	'fr_spl' => 'fran&#231;ais simplifi&#233;',
79
-	'fr_tu' => 'fran&#231;ais copain',
80
-	'fy' => 'Frisian',
81
-	'ga' => 'Irish',
82
-	'gd' => 'Scots Gaelic',
83
-	'gl' => 'galego',
84
-	'gn' => 'Guarani',
85
-	'grc' => '&#7944;&#961;&#967;&#945;&#943;&#945; &#7961;&#955;&#955;&#951;&#957;&#953;&#954;&#942;', // grec ancien
86
-	'gu' => 'Gujarati',
87
-	'ha' => 'Hausa',
88
-	'hac' => '&#1705;-&#1607;&#1734;&#1585;&#1575;&#1605;&#1740;', //"Kurdish-Horami"
89
-	'hbo' => '&#1506;&#1489;&#1512;&#1497;&#1514;&#1470;&#1492;&#1514;&#1504;&#1498;', // hebreu classique ou biblique
90
-	'haz' => '&#x647;&#x632;&#x627;&#x631;&#x647; &#x6AF;&#x6CC;',
91
-	'he' => '&#1506;&#1489;&#1512;&#1497;&#1514;',
92
-	'hi' => '&#2361;&#2367;&#2306;&#2342;&#2368;',
93
-	'hr' => 'hrvatski',
94
-	'hu' => 'magyar',
95
-	'hy' => '&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;',// Arménien
96
-	'ia' => 'Interlingua',
97
-	'id' => 'Indonesia',
98
-	'ie' => 'Interlingue',
99
-	'ik' => 'Inupiak',
100
-	'is' => '&#237;slenska',
101
-	'it' => 'italiano',
102
-	'it_fem' => 'italiana',
103
-	'iu' => 'Inuktitut',
104
-	'ja' => '&#26085;&#26412;&#35486;',
105
-	'jv' => 'Javanese',
106
-	'ka' => '&#4325;&#4304;&#4320;&#4311;&#4323;&#4314;&#4312;',
107
-	'kk' => '&#1179;&#1072;&#1079;&#1072;&#1179;&#32;&#1090;&#1110;&#1083;&#1110;', // Kazakh
108
-	'kl' => 'kalaallisut',
109
-	'km' => '&#6039;&#6070;&#6047;&#6070;&#6017;&#6098;&#6040;&#6082;&#6042;',// Khmer
110
-	'kn' => 'Kannada',
111
-	'ko' => '&#54620;&#44397;&#50612;',
112
-	'kok' => '&#2325;&#2379;&#2306;&#2325;&#2339;&#2368;',
113
-	'ks' => 'Kashmiri',
114
-	'ku' => '&#1705;&#1608;&#1585;&#1583;&#1740;',
115
-	'ky' => 'Kirghiz',
116
-	'la' => 'lingua latina',
117
-	'lb' => 'L&euml;tzebuergesch',
118
-	'ln' => 'Lingala',
119
-	'lo' => '&#3742;&#3762;&#3754;&#3762;&#3749;&#3762;&#3751;', # lao
120
-	'lt' => 'lietuvi&#371;',
121
-	'lu' => 'luba-katanga',
122
-	'lv' => 'latvie&#353;u',
123
-	'man' => 'mandingue', # a traduire en mandingue
124
-	'mfv' => 'manjak', # ISO-639-3
125
-	'mg' => 'Malagasy',
126
-	'mi' => 'Maori',
127
-	'mk' => '&#1084;&#1072;&#1082;&#1077;&#1076;&#1086;&#1085;&#1089;&#1082;&#1080; &#1112;&#1072;&#1079;&#1080;&#1082;',
128
-	'ml' => 'Malayalam',
129
-	'mn' => 'Монгол хэл',
130
-	'mo' => 'Moldavian',
131
-	'mos' => 'Mor&eacute;',
132
-	'mr' => '&#2350;&#2352;&#2366;&#2336;&#2368;',
133
-	'ms' => 'Bahasa Malaysia',
134
-	'mt' => 'Maltese',
135
-	'my' => 'Burmese',
136
-	'na' => 'Nauru',
137
-	'nap' => 'napulitano',
138
-	'ne' => 'Nepali',
139
-	'nqo' => "N'ko", // www.manden.org
140
-	'nl' => 'Nederlands',
141
-	'no' => 'norsk',
142
-	'nb' => 'norsk bokm&aring;l',
143
-	'nn' => 'norsk nynorsk',
144
-	'oc' => '&ograve;c',
145
-	'oc_lnc' => '&ograve;c lengadocian',
146
-	'oc_ni' => '&ograve;c ni&ccedil;ard',
147
-	'oc_ni_la' => '&ograve;c ni&ccedil;ard (larg)',
148
-	'oc_ni_mis' => '&ograve;c nissart (mistralenc)',
149
-	'oc_prv' => '&ograve;c proven&ccedil;au',
150
-	'oc_gsc' => '&ograve;c gascon',
151
-	'oc_lms' => '&ograve;c lemosin',
152
-	'oc_auv' => '&ograve;c auvernhat',
153
-	'oc_va' => '&ograve;c vivaroaupenc',
154
-	'om' => '(Afan) Oromo',
155
-	'or' => 'Oriya',
156
-	'pa' => 'Punjabi',
157
-	'pbb' => 'Nasa Yuwe',
158
-	'pl' => 'polski',
159
-	'prs' => '&#1583;&#1585;&#1740;', // ISO-639-3 Dari (Afghanistan)
160
-	'ps' => '&#1662;&#1690;&#1578;&#1608;',
161
-	'pt' => 'Portugu&#234;s',
162
-	'pt_br' => 'Portugu&#234;s do Brasil',
163
-	'qu' => 'Quechua',
164
-	'rm' => 'Rhaeto-Romance',
165
-	'rn' => 'Kirundi',
166
-	'ro' => 'rom&#226;n&#259;',
167
-	'roa' => "ch'ti",
168
-	'ru' => '&#1088;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;',
169
-	'rw' => 'Kinyarwanda',
170
-	'sa' => '&#2360;&#2306;&#2360;&#2381;&#2325;&#2371;&#2340;',
171
-	'sc' => 'sardu',
172
-	'scn' => 'sicilianu',
173
-	'sd' => 'Sindhi',
174
-	'sg' => 'Sangho',
175
-	'sh' => 'srpskohrvastski',
176
-	'sh_latn' => 'srpskohrvastski',
177
-	'sh_cyrl' => '&#1057;&#1088;&#1087;&#1089;&#1082;&#1086;&#1093;&#1088;&#1074;&#1072;&#1090;&#1089;&#1082;&#1080;',
178
-	'si' => 'Sinhalese',
179
-	'sk' => 'sloven&#269;ina',  // (Slovakia)
180
-	'sl' => 'sloven&#353;&#269;ina',  // (Slovenia)
181
-	'sm' => 'Samoan',
182
-	'sn' => 'Shona',
183
-	'so' => 'Somali',
184
-	'sq' => 'shqip',
185
-	'sr' => '&#1089;&#1088;&#1087;&#1089;&#1082;&#1080;',
186
-	'src' => 'sardu logudor&#233;su', // sarde cf 'sc'
187
-	'sro' => 'sardu campidan&#233;su',
188
-	'ss' => 'Siswati',
189
-	'st' => 'Sesotho',
190
-	'su' => 'Sundanese',
191
-	'sv' => 'svenska',
192
-	'sw' => 'Kiswahili',
193
-	'ta' => '&#2980;&#2990;&#3007;&#2996;&#3021;', // Tamil
194
-	'te' => 'Telugu',
195
-	'tg' => 'Tajik',
196
-	'th' => '&#3652;&#3607;&#3618;',
197
-	'ti' => 'Tigrinya',
198
-	'tk' => 'Turkmen',
199
-	'tl' => 'Tagalog',
200
-	'tn' => 'Setswana',
201
-	'to' => 'Tonga',
202
-	'tr' => 'T&#252;rk&#231;e',
203
-	'ts' => 'Tsonga',
204
-	'tt' => '&#1058;&#1072;&#1090;&#1072;&#1088;',
205
-	'tw' => 'Twi',
206
-	'ty' => 'reo m&#257;`ohi', // tahitien
207
-	'ug' => 'Uighur',
208
-	'uk' => '&#1091;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;',
209
-	'ur' => '&#1649;&#1585;&#1583;&#1608;',
210
-	'uz' => "O'zbekcha",
211
-	'vi' => 'Ti&#7871;ng Vi&#7879;t',
212
-	'vo' => 'Volapuk',
213
-	'wa' => 'walon',
214
-	'wo' => 'Wolof',
215
-	'xh' => 'Xhosa',
216
-	'yi' => 'Yiddish',
217
-	'yo' => 'Yoruba',
218
-	'za' => 'Zhuang',
219
-	'zh' => '&#20013;&#25991;', // chinois (ecriture simplifiee)
220
-	'zh_tw' => '&#21488;&#28771;&#20013;&#25991;', // chinois taiwan (ecr. traditionnelle)
221
-	'zu' => 'Zulu'
25
+    'aa' => 'Afar',
26
+    'ab' => 'Abkhazian',
27
+    'af' => 'Afrikaans',
28
+    'am' => 'Amharic',
29
+    'an' => 'Aragon&#233;s',
30
+    'ar' => '&#1593;&#1585;&#1576;&#1610;',
31
+    'as' => 'Assamese',
32
+    'ast' => 'asturianu',
33
+    'ay' => 'Aymara',
34
+    'az' => 'Az&#601;rbaycan dili',
35
+    'ba' => 'Bashkir',
36
+    'be' => '&#1041;&#1077;&#1083;&#1072;&#1088;&#1091;&#1089;&#1082;&#1072;&#1103;',
37
+    'ber_tam' => 'Tamazigh',
38
+    'ber_tam_tfng' => 'Tamazigh tifinagh',
39
+    'bg' => '&#1073;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080;',
40
+    'bh' => 'Bihari',
41
+    'bi' => 'Bislama',
42
+    'bm' => 'Bambara',
43
+    'bn' => 'Bengali; Bangla',
44
+    'bo' => 'Tibetan',
45
+    'br' => 'brezhoneg',
46
+    'bs' => 'bosanski',
47
+    'ca' => 'catal&#224;',
48
+    'co' => 'corsu',
49
+    'cpf' => 'Kr&eacute;ol r&eacute;yon&eacute;',
50
+    'cpf_dom' => 'Krey&ograve;l',
51
+    'cpf_hat' => 'Krey&ograve;l (Peyi Dayiti)',
52
+    'cs' => '&#269;e&#353;tina',
53
+    'cy' => 'Cymraeg',  # welsh, gallois
54
+    'da' => 'dansk',
55
+    'de' => 'Deutsch',
56
+    'dz' => 'Bhutani',
57
+    'el' => '&#949;&#955;&#955;&#951;&#957;&#953;&#954;&#940;',
58
+    'en' => 'English',
59
+    'en_hx' => 'H4ck3R',
60
+    'en_sm' => 'Smurf',
61
+    'eo' => 'Esperanto',
62
+    'es' => 'Espa&#241;ol',
63
+    'es_co' => 'Colombiano',
64
+    'es_mx_pop' => 'Mexicano a lo g&#252;ey',
65
+    'et' => 'eesti',
66
+    'eu' => 'euskara',
67
+    'fa' => '&#1601;&#1575;&#1585;&#1587;&#1609;',
68
+    'ff' => 'Fulah', // peul
69
+    'fi' => 'suomi',
70
+    'fj' => 'Fiji',
71
+    'fo' => 'f&#248;royskt',
72
+    'fon' => 'fongb&egrave;',
73
+    'fr' => 'fran&#231;ais',
74
+    'fr_fem' => 'fran&#231;ais f&#233;minin',
75
+    'fr_sc' => 'schtroumpf',
76
+    'fr_lpc' => 'langue parl&#233;e compl&#233;t&#233;e',
77
+    'fr_lsf' => 'langue des signes fran&#231;aise',
78
+    'fr_spl' => 'fran&#231;ais simplifi&#233;',
79
+    'fr_tu' => 'fran&#231;ais copain',
80
+    'fy' => 'Frisian',
81
+    'ga' => 'Irish',
82
+    'gd' => 'Scots Gaelic',
83
+    'gl' => 'galego',
84
+    'gn' => 'Guarani',
85
+    'grc' => '&#7944;&#961;&#967;&#945;&#943;&#945; &#7961;&#955;&#955;&#951;&#957;&#953;&#954;&#942;', // grec ancien
86
+    'gu' => 'Gujarati',
87
+    'ha' => 'Hausa',
88
+    'hac' => '&#1705;-&#1607;&#1734;&#1585;&#1575;&#1605;&#1740;', //"Kurdish-Horami"
89
+    'hbo' => '&#1506;&#1489;&#1512;&#1497;&#1514;&#1470;&#1492;&#1514;&#1504;&#1498;', // hebreu classique ou biblique
90
+    'haz' => '&#x647;&#x632;&#x627;&#x631;&#x647; &#x6AF;&#x6CC;',
91
+    'he' => '&#1506;&#1489;&#1512;&#1497;&#1514;',
92
+    'hi' => '&#2361;&#2367;&#2306;&#2342;&#2368;',
93
+    'hr' => 'hrvatski',
94
+    'hu' => 'magyar',
95
+    'hy' => '&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;',// Arménien
96
+    'ia' => 'Interlingua',
97
+    'id' => 'Indonesia',
98
+    'ie' => 'Interlingue',
99
+    'ik' => 'Inupiak',
100
+    'is' => '&#237;slenska',
101
+    'it' => 'italiano',
102
+    'it_fem' => 'italiana',
103
+    'iu' => 'Inuktitut',
104
+    'ja' => '&#26085;&#26412;&#35486;',
105
+    'jv' => 'Javanese',
106
+    'ka' => '&#4325;&#4304;&#4320;&#4311;&#4323;&#4314;&#4312;',
107
+    'kk' => '&#1179;&#1072;&#1079;&#1072;&#1179;&#32;&#1090;&#1110;&#1083;&#1110;', // Kazakh
108
+    'kl' => 'kalaallisut',
109
+    'km' => '&#6039;&#6070;&#6047;&#6070;&#6017;&#6098;&#6040;&#6082;&#6042;',// Khmer
110
+    'kn' => 'Kannada',
111
+    'ko' => '&#54620;&#44397;&#50612;',
112
+    'kok' => '&#2325;&#2379;&#2306;&#2325;&#2339;&#2368;',
113
+    'ks' => 'Kashmiri',
114
+    'ku' => '&#1705;&#1608;&#1585;&#1583;&#1740;',
115
+    'ky' => 'Kirghiz',
116
+    'la' => 'lingua latina',
117
+    'lb' => 'L&euml;tzebuergesch',
118
+    'ln' => 'Lingala',
119
+    'lo' => '&#3742;&#3762;&#3754;&#3762;&#3749;&#3762;&#3751;', # lao
120
+    'lt' => 'lietuvi&#371;',
121
+    'lu' => 'luba-katanga',
122
+    'lv' => 'latvie&#353;u',
123
+    'man' => 'mandingue', # a traduire en mandingue
124
+    'mfv' => 'manjak', # ISO-639-3
125
+    'mg' => 'Malagasy',
126
+    'mi' => 'Maori',
127
+    'mk' => '&#1084;&#1072;&#1082;&#1077;&#1076;&#1086;&#1085;&#1089;&#1082;&#1080; &#1112;&#1072;&#1079;&#1080;&#1082;',
128
+    'ml' => 'Malayalam',
129
+    'mn' => 'Монгол хэл',
130
+    'mo' => 'Moldavian',
131
+    'mos' => 'Mor&eacute;',
132
+    'mr' => '&#2350;&#2352;&#2366;&#2336;&#2368;',
133
+    'ms' => 'Bahasa Malaysia',
134
+    'mt' => 'Maltese',
135
+    'my' => 'Burmese',
136
+    'na' => 'Nauru',
137
+    'nap' => 'napulitano',
138
+    'ne' => 'Nepali',
139
+    'nqo' => "N'ko", // www.manden.org
140
+    'nl' => 'Nederlands',
141
+    'no' => 'norsk',
142
+    'nb' => 'norsk bokm&aring;l',
143
+    'nn' => 'norsk nynorsk',
144
+    'oc' => '&ograve;c',
145
+    'oc_lnc' => '&ograve;c lengadocian',
146
+    'oc_ni' => '&ograve;c ni&ccedil;ard',
147
+    'oc_ni_la' => '&ograve;c ni&ccedil;ard (larg)',
148
+    'oc_ni_mis' => '&ograve;c nissart (mistralenc)',
149
+    'oc_prv' => '&ograve;c proven&ccedil;au',
150
+    'oc_gsc' => '&ograve;c gascon',
151
+    'oc_lms' => '&ograve;c lemosin',
152
+    'oc_auv' => '&ograve;c auvernhat',
153
+    'oc_va' => '&ograve;c vivaroaupenc',
154
+    'om' => '(Afan) Oromo',
155
+    'or' => 'Oriya',
156
+    'pa' => 'Punjabi',
157
+    'pbb' => 'Nasa Yuwe',
158
+    'pl' => 'polski',
159
+    'prs' => '&#1583;&#1585;&#1740;', // ISO-639-3 Dari (Afghanistan)
160
+    'ps' => '&#1662;&#1690;&#1578;&#1608;',
161
+    'pt' => 'Portugu&#234;s',
162
+    'pt_br' => 'Portugu&#234;s do Brasil',
163
+    'qu' => 'Quechua',
164
+    'rm' => 'Rhaeto-Romance',
165
+    'rn' => 'Kirundi',
166
+    'ro' => 'rom&#226;n&#259;',
167
+    'roa' => "ch'ti",
168
+    'ru' => '&#1088;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;',
169
+    'rw' => 'Kinyarwanda',
170
+    'sa' => '&#2360;&#2306;&#2360;&#2381;&#2325;&#2371;&#2340;',
171
+    'sc' => 'sardu',
172
+    'scn' => 'sicilianu',
173
+    'sd' => 'Sindhi',
174
+    'sg' => 'Sangho',
175
+    'sh' => 'srpskohrvastski',
176
+    'sh_latn' => 'srpskohrvastski',
177
+    'sh_cyrl' => '&#1057;&#1088;&#1087;&#1089;&#1082;&#1086;&#1093;&#1088;&#1074;&#1072;&#1090;&#1089;&#1082;&#1080;',
178
+    'si' => 'Sinhalese',
179
+    'sk' => 'sloven&#269;ina',  // (Slovakia)
180
+    'sl' => 'sloven&#353;&#269;ina',  // (Slovenia)
181
+    'sm' => 'Samoan',
182
+    'sn' => 'Shona',
183
+    'so' => 'Somali',
184
+    'sq' => 'shqip',
185
+    'sr' => '&#1089;&#1088;&#1087;&#1089;&#1082;&#1080;',
186
+    'src' => 'sardu logudor&#233;su', // sarde cf 'sc'
187
+    'sro' => 'sardu campidan&#233;su',
188
+    'ss' => 'Siswati',
189
+    'st' => 'Sesotho',
190
+    'su' => 'Sundanese',
191
+    'sv' => 'svenska',
192
+    'sw' => 'Kiswahili',
193
+    'ta' => '&#2980;&#2990;&#3007;&#2996;&#3021;', // Tamil
194
+    'te' => 'Telugu',
195
+    'tg' => 'Tajik',
196
+    'th' => '&#3652;&#3607;&#3618;',
197
+    'ti' => 'Tigrinya',
198
+    'tk' => 'Turkmen',
199
+    'tl' => 'Tagalog',
200
+    'tn' => 'Setswana',
201
+    'to' => 'Tonga',
202
+    'tr' => 'T&#252;rk&#231;e',
203
+    'ts' => 'Tsonga',
204
+    'tt' => '&#1058;&#1072;&#1090;&#1072;&#1088;',
205
+    'tw' => 'Twi',
206
+    'ty' => 'reo m&#257;`ohi', // tahitien
207
+    'ug' => 'Uighur',
208
+    'uk' => '&#1091;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;',
209
+    'ur' => '&#1649;&#1585;&#1583;&#1608;',
210
+    'uz' => "O'zbekcha",
211
+    'vi' => 'Ti&#7871;ng Vi&#7879;t',
212
+    'vo' => 'Volapuk',
213
+    'wa' => 'walon',
214
+    'wo' => 'Wolof',
215
+    'xh' => 'Xhosa',
216
+    'yi' => 'Yiddish',
217
+    'yo' => 'Yoruba',
218
+    'za' => 'Zhuang',
219
+    'zh' => '&#20013;&#25991;', // chinois (ecriture simplifiee)
220
+    'zh_tw' => '&#21488;&#28771;&#20013;&#25991;', // chinois taiwan (ecr. traditionnelle)
221
+    'zu' => 'Zulu'
222 222
 
223 223
 ];
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
 	'cpf_dom' => 'Krey&ograve;l',
51 51
 	'cpf_hat' => 'Krey&ograve;l (Peyi Dayiti)',
52 52
 	'cs' => '&#269;e&#353;tina',
53
-	'cy' => 'Cymraeg',  # welsh, gallois
53
+	'cy' => 'Cymraeg', # welsh, gallois
54 54
 	'da' => 'dansk',
55 55
 	'de' => 'Deutsch',
56 56
 	'dz' => 'Bhutani',
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
 	'hi' => '&#2361;&#2367;&#2306;&#2342;&#2368;',
93 93
 	'hr' => 'hrvatski',
94 94
 	'hu' => 'magyar',
95
-	'hy' => '&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;',// Arménien
95
+	'hy' => '&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;', // Arménien
96 96
 	'ia' => 'Interlingua',
97 97
 	'id' => 'Indonesia',
98 98
 	'ie' => 'Interlingue',
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
 	'ka' => '&#4325;&#4304;&#4320;&#4311;&#4323;&#4314;&#4312;',
107 107
 	'kk' => '&#1179;&#1072;&#1079;&#1072;&#1179;&#32;&#1090;&#1110;&#1083;&#1110;', // Kazakh
108 108
 	'kl' => 'kalaallisut',
109
-	'km' => '&#6039;&#6070;&#6047;&#6070;&#6017;&#6098;&#6040;&#6082;&#6042;',// Khmer
109
+	'km' => '&#6039;&#6070;&#6047;&#6070;&#6017;&#6098;&#6040;&#6082;&#6042;', // Khmer
110 110
 	'kn' => 'Kannada',
111 111
 	'ko' => '&#54620;&#44397;&#50612;',
112 112
 	'kok' => '&#2325;&#2379;&#2306;&#2325;&#2339;&#2368;',
@@ -176,8 +176,8 @@  discard block
 block discarded – undo
176 176
 	'sh_latn' => 'srpskohrvastski',
177 177
 	'sh_cyrl' => '&#1057;&#1088;&#1087;&#1089;&#1082;&#1086;&#1093;&#1088;&#1074;&#1072;&#1090;&#1089;&#1082;&#1080;',
178 178
 	'si' => 'Sinhalese',
179
-	'sk' => 'sloven&#269;ina',  // (Slovakia)
180
-	'sl' => 'sloven&#353;&#269;ina',  // (Slovenia)
179
+	'sk' => 'sloven&#269;ina', // (Slovakia)
180
+	'sl' => 'sloven&#353;&#269;ina', // (Slovenia)
181 181
 	'sm' => 'Samoan',
182 182
 	'sn' => 'Shona',
183 183
 	'so' => 'Somali',
Please login to merge, or discard this patch.
ecrire/inc/config.php 2 patches
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -335,7 +335,7 @@  discard block
 block discarded – undo
335 335
 			if (strncmp($url, 'configurer_', 11) == 0) {
336 336
 				$deja[$url] = $b;
337 337
 			} elseif ($b['url'] == 'configurer' and preg_match(',cfg=([a-z0-9_]+),i', $b['args'], $match)) {
338
-				$deja['configurer_' . $match[1]] = $b;
338
+				$deja['configurer_'.$match[1]] = $b;
339 339
 			}
340 340
 		}
341 341
 	}
@@ -348,10 +348,10 @@  discard block
 block discarded – undo
348 348
 
349 349
 	// trouver toutes les pages configurer_xxx de l'espace prive
350 350
 	// et construire un tableau des entrees qui ne sont pas dans $deja
351
-	$pages = find_all_in_path('prive/squelettes/contenu/', 'configurer_.*[.]' . _EXTENSION_SQUELETTES . '$');
351
+	$pages = find_all_in_path('prive/squelettes/contenu/', 'configurer_.*[.]'._EXTENSION_SQUELETTES.'$');
352 352
 
353 353
 	foreach ($pages as $page) {
354
-		$configurer = basename($page, '.' . _EXTENSION_SQUELETTES);
354
+		$configurer = basename($page, '.'._EXTENSION_SQUELETTES);
355 355
 		if (!isset($exclure[$configurer])) {
356 356
 			$liste[$configurer] = [
357 357
 				'parent' => 'bando_configuration',
@@ -371,9 +371,9 @@  discard block
 block discarded – undo
371 371
 
372 372
 	// trouver tous les formulaires/configurer_
373 373
 	// et construire un tableau des entrees
374
-	$pages = find_all_in_path('formulaires/', 'configurer_.*[.]' . _EXTENSION_SQUELETTES . '$');
374
+	$pages = find_all_in_path('formulaires/', 'configurer_.*[.]'._EXTENSION_SQUELETTES.'$');
375 375
 	foreach ($pages as $page) {
376
-		$configurer = basename($page, '.' . _EXTENSION_SQUELETTES);
376
+		$configurer = basename($page, '.'._EXTENSION_SQUELETTES);
377 377
 		if (
378 378
 			!isset($forms[$configurer])
379 379
 			and !isset($liste[$configurer])
@@ -382,7 +382,7 @@  discard block
 block discarded – undo
382 382
 			$liste[$configurer] = [
383 383
 				'parent' => 'bando_configuration',
384 384
 				'url' => 'configurer',
385
-				'args' => 'cfg=' . substr($configurer, 11),
385
+				'args' => 'cfg='.substr($configurer, 11),
386 386
 				'titre' => _T("configurer:{$configurer}_titre"),
387 387
 				'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
388 388
 			];
@@ -414,8 +414,8 @@  discard block
 block discarded – undo
414 414
 
415 415
 	// evaluer le fond en lui passant un exec coherent pour que les pipelines le reconnaissent
416 416
 	// et reperer les formulaires CVT configurer_xx insereres par les plugins via pipeline
417
-	$config = basename(substr($file, 0, -strlen('.' . _EXTENSION_SQUELETTES)));
418
-	spip_log('Calcul de ' . "prive/squelettes/contenu/$config");
417
+	$config = basename(substr($file, 0, -strlen('.'._EXTENSION_SQUELETTES)));
418
+	spip_log('Calcul de '."prive/squelettes/contenu/$config");
419 419
 	$fond = recuperer_fond("prive/squelettes/contenu/$config", ['exec' => $config]);
420 420
 
421 421
 	// passer dans le pipeline affiche_milieu pour que les plugins puissent ajouter leur formulaires...
Please login to merge, or discard this patch.
Indentation   +408 added lines, -408 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
 
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
  * @return void
29 29
  */
30 30
 function inc_config_dist() {
31
-	actualise_metas(liste_metas());
31
+    actualise_metas(liste_metas());
32 32
 }
33 33
 
34 34
 /**
@@ -45,34 +45,34 @@  discard block
 block discarded – undo
45 45
  *     Liste (table, casier, sous_casier)
46 46
  */
47 47
 function expliquer_config($cfg) {
48
-	// par defaut, sur la table des meta
49
-	$table = 'meta';
50
-	$casier = null;
51
-	$sous_casier = [];
52
-	$cfg = explode('/', $cfg);
53
-
54
-	// si le premier argument est vide, c'est une syntaxe /table/ ou un appel vide ''
55
-	if (!reset($cfg) and count($cfg) > 1) {
56
-		array_shift($cfg);
57
-		$table = array_shift($cfg);
58
-		if (!isset($GLOBALS[$table])) {
59
-			lire_metas($table);
60
-		}
61
-	}
62
-
63
-	// si on a demande #CONFIG{/meta,'',0}
64
-	if (count($cfg)) {
65
-		// pas sur un appel vide ''
66
-		if ('' !== ($c = array_shift($cfg))) {
67
-			$casier = $c;
68
-		}
69
-	}
70
-
71
-	if (count($cfg)) {
72
-		$sous_casier = $cfg;
73
-	}
74
-
75
-	return [$table, $casier, $sous_casier];
48
+    // par defaut, sur la table des meta
49
+    $table = 'meta';
50
+    $casier = null;
51
+    $sous_casier = [];
52
+    $cfg = explode('/', $cfg);
53
+
54
+    // si le premier argument est vide, c'est une syntaxe /table/ ou un appel vide ''
55
+    if (!reset($cfg) and count($cfg) > 1) {
56
+        array_shift($cfg);
57
+        $table = array_shift($cfg);
58
+        if (!isset($GLOBALS[$table])) {
59
+            lire_metas($table);
60
+        }
61
+    }
62
+
63
+    // si on a demande #CONFIG{/meta,'',0}
64
+    if (count($cfg)) {
65
+        // pas sur un appel vide ''
66
+        if ('' !== ($c = array_shift($cfg))) {
67
+            $casier = $c;
68
+        }
69
+    }
70
+
71
+    if (count($cfg)) {
72
+        $sous_casier = $cfg;
73
+    }
74
+
75
+    return [$table, $casier, $sous_casier];
76 76
 }
77 77
 
78 78
 /**
@@ -100,65 +100,65 @@  discard block
 block discarded – undo
100 100
  *    Contenu de la configuration obtenue
101 101
  */
102 102
 function lire_config($cfg = '', $def = null, $unserialize = true) {
103
-	// lire le stockage sous la forme /table/valeur
104
-	// ou valeur qui est en fait implicitement /meta/valeur
105
-	// ou casier/valeur qui est en fait implicitement /meta/casier/valeur
106
-
107
-	// traiter en priorite le cas simple et frequent
108
-	// de lecture direct $GLOBALS['meta']['truc'], si $cfg ne contient ni / ni :
109
-	if ($cfg and strpbrk($cfg, '/:') === false) {
110
-		$r = isset($GLOBALS['meta'][$cfg]) ?
111
-			((!$unserialize
112
-				// ne pas essayer de deserialiser autre chose qu'une chaine
113
-				or !is_string($GLOBALS['meta'][$cfg])
114
-				// ne pas essayer de deserialiser si ce n'est visiblement pas une chaine serializee
115
-				or strpos($GLOBALS['meta'][$cfg], ':') === false
116
-				or ($t = @unserialize($GLOBALS['meta'][$cfg])) === false) ? $GLOBALS['meta'][$cfg] : $t)
117
-			: $def;
118
-
119
-		return $r;
120
-	}
121
-
122
-	// Brancher sur methodes externes si besoin
123
-	if ($cfg and $p = strpos($cfg, '::')) {
124
-		$methode = substr($cfg, 0, $p);
125
-		$lire_config = charger_fonction($methode, 'lire_config');
126
-
127
-		return $lire_config(substr($cfg, $p + 2), $def, $unserialize);
128
-	}
129
-
130
-	[$table, $casier, $sous_casier] = expliquer_config($cfg);
131
-
132
-	if (!isset($GLOBALS[$table])) {
133
-		return $def;
134
-	}
135
-
136
-	$r = $GLOBALS[$table];
137
-
138
-	// si on a demande #CONFIG{/meta,'',0}
139
-	if (!$casier) {
140
-		return $unserialize ? $r : serialize($r);
141
-	}
142
-
143
-	// casier principal :
144
-	// le deserializer si demande
145
-	// ou si on a besoin
146
-	// d'un sous casier
147
-	$r = $r[$casier] ?? null;
148
-	if (($unserialize or is_countable($sous_casier) ? count($sous_casier) : 0) and $r and is_string($r)) {
149
-		$r = (($t = @unserialize($r)) === false ? $r : $t);
150
-	}
151
-
152
-	// aller chercher le sous_casier
153
-	while (!is_null($r) and $casier = array_shift($sous_casier)) {
154
-		$r = $r[$casier] ?? null;
155
-	}
156
-
157
-	if (is_null($r)) {
158
-		return $def;
159
-	}
160
-
161
-	return $r;
103
+    // lire le stockage sous la forme /table/valeur
104
+    // ou valeur qui est en fait implicitement /meta/valeur
105
+    // ou casier/valeur qui est en fait implicitement /meta/casier/valeur
106
+
107
+    // traiter en priorite le cas simple et frequent
108
+    // de lecture direct $GLOBALS['meta']['truc'], si $cfg ne contient ni / ni :
109
+    if ($cfg and strpbrk($cfg, '/:') === false) {
110
+        $r = isset($GLOBALS['meta'][$cfg]) ?
111
+            ((!$unserialize
112
+                // ne pas essayer de deserialiser autre chose qu'une chaine
113
+                or !is_string($GLOBALS['meta'][$cfg])
114
+                // ne pas essayer de deserialiser si ce n'est visiblement pas une chaine serializee
115
+                or strpos($GLOBALS['meta'][$cfg], ':') === false
116
+                or ($t = @unserialize($GLOBALS['meta'][$cfg])) === false) ? $GLOBALS['meta'][$cfg] : $t)
117
+            : $def;
118
+
119
+        return $r;
120
+    }
121
+
122
+    // Brancher sur methodes externes si besoin
123
+    if ($cfg and $p = strpos($cfg, '::')) {
124
+        $methode = substr($cfg, 0, $p);
125
+        $lire_config = charger_fonction($methode, 'lire_config');
126
+
127
+        return $lire_config(substr($cfg, $p + 2), $def, $unserialize);
128
+    }
129
+
130
+    [$table, $casier, $sous_casier] = expliquer_config($cfg);
131
+
132
+    if (!isset($GLOBALS[$table])) {
133
+        return $def;
134
+    }
135
+
136
+    $r = $GLOBALS[$table];
137
+
138
+    // si on a demande #CONFIG{/meta,'',0}
139
+    if (!$casier) {
140
+        return $unserialize ? $r : serialize($r);
141
+    }
142
+
143
+    // casier principal :
144
+    // le deserializer si demande
145
+    // ou si on a besoin
146
+    // d'un sous casier
147
+    $r = $r[$casier] ?? null;
148
+    if (($unserialize or is_countable($sous_casier) ? count($sous_casier) : 0) and $r and is_string($r)) {
149
+        $r = (($t = @unserialize($r)) === false ? $r : $t);
150
+    }
151
+
152
+    // aller chercher le sous_casier
153
+    while (!is_null($r) and $casier = array_shift($sous_casier)) {
154
+        $r = $r[$casier] ?? null;
155
+    }
156
+
157
+    if (is_null($r)) {
158
+        return $def;
159
+    }
160
+
161
+    return $r;
162 162
 }
163 163
 
164 164
 /**
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
  * @return mixed
173 173
  */
174 174
 function lire_config_metapack_dist($cfg = '', $def = null, $unserialize = true) {
175
-	return lire_config($cfg, $def, $unserialize);
175
+    return lire_config($cfg, $def, $unserialize);
176 176
 }
177 177
 
178 178
 
@@ -184,106 +184,106 @@  discard block
 block discarded – undo
184 184
  * @return bool
185 185
  */
186 186
 function ecrire_config($cfg, $store) {
187
-	// Brancher sur methodes externes si besoin
188
-	if ($cfg and $p = strpos($cfg, '::')) {
189
-		$methode = substr($cfg, 0, $p);
190
-		$ecrire_config = charger_fonction($methode, 'ecrire_config');
191
-
192
-		return $ecrire_config(substr($cfg, $p + 2), $store);
193
-	}
194
-
195
-	[$table, $casier, $sous_casier] = expliquer_config($cfg);
196
-	// il faut au moins un casier pour ecrire
197
-	if (!$casier) {
198
-		return false;
199
-	}
200
-
201
-	// trouvons ou creons le pointeur sur le casier
202
-	$st = $GLOBALS[$table][$casier] ?? null;
203
-	if (!is_array($st) and ($sous_casier or is_array($store))) {
204
-		if ($st === null) {
205
-			// ne rien creer si c'est une demande d'effacement
206
-			if ($store === null) {
207
-				return false;
208
-			}
209
-			$st = [];
210
-		} else {
211
-			$st = unserialize($st);
212
-			if ($st === false) {
213
-				// ne rien creer si c'est une demande d'effacement
214
-				if ($store === null) {
215
-					return false;
216
-				}
217
-				$st = [];
218
-			}
219
-		}
220
-	}
221
-
222
-	// si on a affaire a un sous caiser
223
-	// il faut ecrire au bon endroit sans perdre les autres sous casier freres
224
-	if ($c = $sous_casier) {
225
-		$sc = &$st;
226
-		$pointeurs = [];
227
-		while (is_countable($c) ? count($c) : 0 and $cc = array_shift($c)) {
228
-			// creer l'entree si elle n'existe pas
229
-			if (!isset($sc[$cc])) {
230
-				// si on essaye d'effacer une config qui n'existe pas
231
-				// ne rien creer mais sortir
232
-				if (is_null($store)) {
233
-					return false;
234
-				}
235
-				$sc[$cc] = [];
236
-			}
237
-			$pointeurs[$cc] = &$sc;
238
-			$sc = &$sc[$cc];
239
-		}
240
-
241
-		// si c'est une demande d'effacement
242
-		if (is_null($store)) {
243
-			$c = $sous_casier;
244
-			$sous = array_pop($c);
245
-			// effacer, et remonter pour effacer les parents vides
246
-			do {
247
-				unset($pointeurs[$sous][$sous]);
248
-			} while ($sous = array_pop($c) and !(is_countable($pointeurs[$sous][$sous]) ? count($pointeurs[$sous][$sous]) : 0));
249
-
250
-			// si on a vide tous les sous casiers,
251
-			// et que le casier est vide
252
-			// vider aussi la meta
253
-			if (!$sous and !(is_countable($st) ? count($st) : 0)) {
254
-				$st = null;
255
-			}
256
-		} // dans tous les autres cas, on ecrase
257
-		else {
258
-			$sc = $store;
259
-		}
260
-
261
-		// Maintenant que $st est modifiee
262
-		// reprenons la comme valeur a stocker dans le casier principal
263
-		$store = $st;
264
-	}
265
-
266
-	if (is_null($store)) {
267
-		if (is_null($st) and !$sous_casier) {
268
-			return false;
269
-		} // la config n'existait deja pas !
270
-		effacer_meta($casier, $table);
271
-		supprimer_table_meta($table); // supprimons la table (si elle est bien vide)
272
-	} // les meta ne peuvent etre que des chaines : il faut serializer le reste
273
-	else {
274
-		if (!isset($GLOBALS[$table])) {
275
-			installer_table_meta($table);
276
-		}
277
-		// si ce n'est pas une chaine
278
-		// il faut serializer
279
-		if (!is_string($store)) {
280
-			$store = serialize($store);
281
-		}
282
-		ecrire_meta($casier, $store, null, $table);
283
-	}
284
-
285
-	// verifier que lire_config($cfg)==$store ?
286
-	return true;
187
+    // Brancher sur methodes externes si besoin
188
+    if ($cfg and $p = strpos($cfg, '::')) {
189
+        $methode = substr($cfg, 0, $p);
190
+        $ecrire_config = charger_fonction($methode, 'ecrire_config');
191
+
192
+        return $ecrire_config(substr($cfg, $p + 2), $store);
193
+    }
194
+
195
+    [$table, $casier, $sous_casier] = expliquer_config($cfg);
196
+    // il faut au moins un casier pour ecrire
197
+    if (!$casier) {
198
+        return false;
199
+    }
200
+
201
+    // trouvons ou creons le pointeur sur le casier
202
+    $st = $GLOBALS[$table][$casier] ?? null;
203
+    if (!is_array($st) and ($sous_casier or is_array($store))) {
204
+        if ($st === null) {
205
+            // ne rien creer si c'est une demande d'effacement
206
+            if ($store === null) {
207
+                return false;
208
+            }
209
+            $st = [];
210
+        } else {
211
+            $st = unserialize($st);
212
+            if ($st === false) {
213
+                // ne rien creer si c'est une demande d'effacement
214
+                if ($store === null) {
215
+                    return false;
216
+                }
217
+                $st = [];
218
+            }
219
+        }
220
+    }
221
+
222
+    // si on a affaire a un sous caiser
223
+    // il faut ecrire au bon endroit sans perdre les autres sous casier freres
224
+    if ($c = $sous_casier) {
225
+        $sc = &$st;
226
+        $pointeurs = [];
227
+        while (is_countable($c) ? count($c) : 0 and $cc = array_shift($c)) {
228
+            // creer l'entree si elle n'existe pas
229
+            if (!isset($sc[$cc])) {
230
+                // si on essaye d'effacer une config qui n'existe pas
231
+                // ne rien creer mais sortir
232
+                if (is_null($store)) {
233
+                    return false;
234
+                }
235
+                $sc[$cc] = [];
236
+            }
237
+            $pointeurs[$cc] = &$sc;
238
+            $sc = &$sc[$cc];
239
+        }
240
+
241
+        // si c'est une demande d'effacement
242
+        if (is_null($store)) {
243
+            $c = $sous_casier;
244
+            $sous = array_pop($c);
245
+            // effacer, et remonter pour effacer les parents vides
246
+            do {
247
+                unset($pointeurs[$sous][$sous]);
248
+            } while ($sous = array_pop($c) and !(is_countable($pointeurs[$sous][$sous]) ? count($pointeurs[$sous][$sous]) : 0));
249
+
250
+            // si on a vide tous les sous casiers,
251
+            // et que le casier est vide
252
+            // vider aussi la meta
253
+            if (!$sous and !(is_countable($st) ? count($st) : 0)) {
254
+                $st = null;
255
+            }
256
+        } // dans tous les autres cas, on ecrase
257
+        else {
258
+            $sc = $store;
259
+        }
260
+
261
+        // Maintenant que $st est modifiee
262
+        // reprenons la comme valeur a stocker dans le casier principal
263
+        $store = $st;
264
+    }
265
+
266
+    if (is_null($store)) {
267
+        if (is_null($st) and !$sous_casier) {
268
+            return false;
269
+        } // la config n'existait deja pas !
270
+        effacer_meta($casier, $table);
271
+        supprimer_table_meta($table); // supprimons la table (si elle est bien vide)
272
+    } // les meta ne peuvent etre que des chaines : il faut serializer le reste
273
+    else {
274
+        if (!isset($GLOBALS[$table])) {
275
+            installer_table_meta($table);
276
+        }
277
+        // si ce n'est pas une chaine
278
+        // il faut serializer
279
+        if (!is_string($store)) {
280
+            $store = serialize($store);
281
+        }
282
+        ecrire_meta($casier, $store, null, $table);
283
+    }
284
+
285
+    // verifier que lire_config($cfg)==$store ?
286
+    return true;
287 287
 }
288 288
 
289 289
 
@@ -297,14 +297,14 @@  discard block
 block discarded – undo
297 297
  * @return bool
298 298
  */
299 299
 function ecrire_config_metapack_dist($cfg, $store) {
300
-	// cas particulier en metapack::
301
-	// si on ecrit une chaine deja serializee, il faut la reserializer pour la rendre
302
-	// intacte en sortie ...
303
-	if (is_string($store) and strpos($store, ':') and unserialize($store)) {
304
-		$store = serialize($store);
305
-	}
306
-
307
-	return ecrire_config($cfg, $store);
300
+    // cas particulier en metapack::
301
+    // si on ecrit une chaine deja serializee, il faut la reserializer pour la rendre
302
+    // intacte en sortie ...
303
+    if (is_string($store) and strpos($store, ':') and unserialize($store)) {
304
+        $store = serialize($store);
305
+    }
306
+
307
+    return ecrire_config($cfg, $store);
308 308
 }
309 309
 
310 310
 /**
@@ -314,9 +314,9 @@  discard block
 block discarded – undo
314 314
  * @return bool
315 315
  */
316 316
 function effacer_config($cfg) {
317
-	ecrire_config($cfg, null);
317
+    ecrire_config($cfg, null);
318 318
 
319
-	return true;
319
+    return true;
320 320
 }
321 321
 
322 322
 /**
@@ -333,71 +333,71 @@  discard block
 block discarded – undo
333 333
  * @return array
334 334
  */
335 335
 function lister_configurer($exclure = []) {
336
-	return [];
337
-
338
-	// lister les pages de config deja dans les menus
339
-	$deja = [];
340
-	foreach ($exclure as $id => $b) {
341
-		$url = ($b['url'] ?: $id);
342
-		if (!$b['url'] or !isset($exclure[$url])) {
343
-			if (strncmp($url, 'configurer_', 11) == 0) {
344
-				$deja[$url] = $b;
345
-			} elseif ($b['url'] == 'configurer' and preg_match(',cfg=([a-z0-9_]+),i', $b['args'], $match)) {
346
-				$deja['configurer_' . $match[1]] = $b;
347
-			}
348
-		}
349
-	}
350
-	$exclure = $exclure + $deja;
351
-
352
-	$icone_defaut = 'images/configuration-16.png';
353
-	$liste = [];
354
-	$skels = [];
355
-	$forms = [];
356
-
357
-	// trouver toutes les pages configurer_xxx de l'espace prive
358
-	// et construire un tableau des entrees qui ne sont pas dans $deja
359
-	$pages = find_all_in_path('prive/squelettes/contenu/', 'configurer_.*[.]' . _EXTENSION_SQUELETTES . '$');
360
-
361
-	foreach ($pages as $page) {
362
-		$configurer = basename($page, '.' . _EXTENSION_SQUELETTES);
363
-		if (!isset($exclure[$configurer])) {
364
-			$liste[$configurer] = [
365
-				'parent' => 'bando_configuration',
366
-				'url' => $configurer,
367
-				'titre' => _T("configurer:{$configurer}_titre"),
368
-				'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
369
-			];
370
-		}
371
-		$skels[$configurer] = $page;
372
-	}
373
-
374
-	// analyser la liste des $skels pour voir les #FORMULAIRE_CONFIGURER_ inclus
375
-	foreach ($skels as $file) {
376
-		$forms = array_merge($forms, lister_formulaires_configurer($file));
377
-	}
378
-	$forms = array_flip($forms);
379
-
380
-	// trouver tous les formulaires/configurer_
381
-	// et construire un tableau des entrees
382
-	$pages = find_all_in_path('formulaires/', 'configurer_.*[.]' . _EXTENSION_SQUELETTES . '$');
383
-	foreach ($pages as $page) {
384
-		$configurer = basename($page, '.' . _EXTENSION_SQUELETTES);
385
-		if (
386
-			!isset($forms[$configurer])
387
-			and !isset($liste[$configurer])
388
-			and !isset($exclure[$configurer])
389
-		) {
390
-			$liste[$configurer] = [
391
-				'parent' => 'bando_configuration',
392
-				'url' => 'configurer',
393
-				'args' => 'cfg=' . substr($configurer, 11),
394
-				'titre' => _T("configurer:{$configurer}_titre"),
395
-				'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
396
-			];
397
-		}
398
-	}
399
-
400
-	return $liste;
336
+    return [];
337
+
338
+    // lister les pages de config deja dans les menus
339
+    $deja = [];
340
+    foreach ($exclure as $id => $b) {
341
+        $url = ($b['url'] ?: $id);
342
+        if (!$b['url'] or !isset($exclure[$url])) {
343
+            if (strncmp($url, 'configurer_', 11) == 0) {
344
+                $deja[$url] = $b;
345
+            } elseif ($b['url'] == 'configurer' and preg_match(',cfg=([a-z0-9_]+),i', $b['args'], $match)) {
346
+                $deja['configurer_' . $match[1]] = $b;
347
+            }
348
+        }
349
+    }
350
+    $exclure = $exclure + $deja;
351
+
352
+    $icone_defaut = 'images/configuration-16.png';
353
+    $liste = [];
354
+    $skels = [];
355
+    $forms = [];
356
+
357
+    // trouver toutes les pages configurer_xxx de l'espace prive
358
+    // et construire un tableau des entrees qui ne sont pas dans $deja
359
+    $pages = find_all_in_path('prive/squelettes/contenu/', 'configurer_.*[.]' . _EXTENSION_SQUELETTES . '$');
360
+
361
+    foreach ($pages as $page) {
362
+        $configurer = basename($page, '.' . _EXTENSION_SQUELETTES);
363
+        if (!isset($exclure[$configurer])) {
364
+            $liste[$configurer] = [
365
+                'parent' => 'bando_configuration',
366
+                'url' => $configurer,
367
+                'titre' => _T("configurer:{$configurer}_titre"),
368
+                'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
369
+            ];
370
+        }
371
+        $skels[$configurer] = $page;
372
+    }
373
+
374
+    // analyser la liste des $skels pour voir les #FORMULAIRE_CONFIGURER_ inclus
375
+    foreach ($skels as $file) {
376
+        $forms = array_merge($forms, lister_formulaires_configurer($file));
377
+    }
378
+    $forms = array_flip($forms);
379
+
380
+    // trouver tous les formulaires/configurer_
381
+    // et construire un tableau des entrees
382
+    $pages = find_all_in_path('formulaires/', 'configurer_.*[.]' . _EXTENSION_SQUELETTES . '$');
383
+    foreach ($pages as $page) {
384
+        $configurer = basename($page, '.' . _EXTENSION_SQUELETTES);
385
+        if (
386
+            !isset($forms[$configurer])
387
+            and !isset($liste[$configurer])
388
+            and !isset($exclure[$configurer])
389
+        ) {
390
+            $liste[$configurer] = [
391
+                'parent' => 'bando_configuration',
392
+                'url' => 'configurer',
393
+                'args' => 'cfg=' . substr($configurer, 11),
394
+                'titre' => _T("configurer:{$configurer}_titre"),
395
+                'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
396
+            ];
397
+        }
398
+    }
399
+
400
+    return $liste;
401 401
 }
402 402
 
403 403
 
@@ -411,35 +411,35 @@  discard block
 block discarded – undo
411 411
  *    Liste des formulaires trouvés
412 412
  **/
413 413
 function lister_formulaires_configurer($file) {
414
-	$forms = [];
415
-
416
-	lire_fichier($file, $skel);
417
-	if (preg_match_all(',#FORMULAIRE_(CONFIGURER_[A-Z0-9_]*),', $skel, $matches, PREG_SET_ORDER)) {
418
-		$matches = array_map('end', $matches);
419
-		$matches = array_map('strtolower', $matches);
420
-		$forms = array_merge($forms, $matches);
421
-	}
422
-
423
-	// evaluer le fond en lui passant un exec coherent pour que les pipelines le reconnaissent
424
-	// et reperer les formulaires CVT configurer_xx insereres par les plugins via pipeline
425
-	$config = basename(substr($file, 0, -strlen('.' . _EXTENSION_SQUELETTES)));
426
-	spip_log('Calcul de ' . "prive/squelettes/contenu/$config");
427
-	$fond = recuperer_fond("prive/squelettes/contenu/$config", ['exec' => $config]);
428
-
429
-	// passer dans le pipeline affiche_milieu pour que les plugins puissent ajouter leur formulaires...
430
-	// et donc que l'on puisse les referencer aussi !
431
-	$fond = pipeline('affiche_milieu', ['args' => ['exec' => $config], 'data' => $fond]);
432
-
433
-	// recuperer les noms des formulaires presents.
434
-	if (is_array($inputs = extraire_balises($fond, 'input'))) {
435
-		foreach ($inputs as $i) {
436
-			if (extraire_attribut($i, 'name') == 'formulaire_action') {
437
-				$forms[] = ($c = extraire_attribut($i, 'value'));
438
-			}
439
-		}
440
-	}
441
-
442
-	return $forms;
414
+    $forms = [];
415
+
416
+    lire_fichier($file, $skel);
417
+    if (preg_match_all(',#FORMULAIRE_(CONFIGURER_[A-Z0-9_]*),', $skel, $matches, PREG_SET_ORDER)) {
418
+        $matches = array_map('end', $matches);
419
+        $matches = array_map('strtolower', $matches);
420
+        $forms = array_merge($forms, $matches);
421
+    }
422
+
423
+    // evaluer le fond en lui passant un exec coherent pour que les pipelines le reconnaissent
424
+    // et reperer les formulaires CVT configurer_xx insereres par les plugins via pipeline
425
+    $config = basename(substr($file, 0, -strlen('.' . _EXTENSION_SQUELETTES)));
426
+    spip_log('Calcul de ' . "prive/squelettes/contenu/$config");
427
+    $fond = recuperer_fond("prive/squelettes/contenu/$config", ['exec' => $config]);
428
+
429
+    // passer dans le pipeline affiche_milieu pour que les plugins puissent ajouter leur formulaires...
430
+    // et donc que l'on puisse les referencer aussi !
431
+    $fond = pipeline('affiche_milieu', ['args' => ['exec' => $config], 'data' => $fond]);
432
+
433
+    // recuperer les noms des formulaires presents.
434
+    if (is_array($inputs = extraire_balises($fond, 'input'))) {
435
+        foreach ($inputs as $i) {
436
+            if (extraire_attribut($i, 'name') == 'formulaire_action') {
437
+                $forms[] = ($c = extraire_attribut($i, 'value'));
438
+            }
439
+        }
440
+    }
441
+
442
+    return $forms;
443 443
 }
444 444
 
445 445
 
@@ -457,58 +457,58 @@  discard block
 block discarded – undo
457 457
  *    Couples nom de la `meta` => valeur par défaut
458 458
  */
459 459
 function liste_metas() {
460
-	return pipeline('configurer_liste_metas', [
461
-		'nom_site' => _T('info_mon_site_spip'),
462
-		'slogan_site' => '',
463
-		'adresse_site' => preg_replace(',/$,', '', url_de_base()),
464
-		'descriptif_site' => '',
465
-		'activer_logos' => 'oui',
466
-		'activer_logos_survol' => 'non',
467
-		'articles_surtitre' => 'non',
468
-		'articles_soustitre' => 'non',
469
-		'articles_descriptif' => 'non',
470
-		'articles_chapeau' => 'non',
471
-		'articles_texte' => 'oui',
472
-		'articles_ps' => 'non',
473
-		'articles_redac' => 'non',
474
-		'post_dates' => 'non',
475
-		'articles_urlref' => 'non',
476
-		'articles_redirection' => 'non',
477
-		'creer_preview' => 'non',
478
-		'taille_preview' => 150,
479
-		'articles_modif' => 'non',
480
-
481
-		'rubriques_descriptif' => 'non',
482
-		'rubriques_texte' => 'oui',
483
-
484
-		'accepter_inscriptions' => 'non',
485
-		'accepter_visiteurs' => 'non',
486
-		'prevenir_auteurs' => 'non',
487
-		'suivi_edito' => 'non',
488
-		'adresse_suivi' => '',
489
-		'adresse_suivi_inscription' => '',
490
-		'adresse_neuf' => '',
491
-		'jours_neuf' => '',
492
-		'quoi_de_neuf' => 'non',
493
-		'preview' => ',0minirezo,1comite,',
494
-
495
-		'syndication_integrale' => 'oui',
496
-		'charset' => _DEFAULT_CHARSET,
497
-		'dir_img' => substr(_DIR_IMG, strlen(_DIR_RACINE)),
498
-
499
-		'multi_rubriques' => 'non',
500
-		'multi_secteurs' => 'non',
501
-		'gerer_trad' => 'non',
502
-		'langues_multilingue' => '',
503
-
504
-		'version_html_max' => 'html4',
505
-
506
-		'type_urls' => 'page',
507
-
508
-		'email_envoi' => '',
509
-		'email_webmaster' => '',
510
-		'auto_compress_http' => 'non',
511
-	]);
460
+    return pipeline('configurer_liste_metas', [
461
+        'nom_site' => _T('info_mon_site_spip'),
462
+        'slogan_site' => '',
463
+        'adresse_site' => preg_replace(',/$,', '', url_de_base()),
464
+        'descriptif_site' => '',
465
+        'activer_logos' => 'oui',
466
+        'activer_logos_survol' => 'non',
467
+        'articles_surtitre' => 'non',
468
+        'articles_soustitre' => 'non',
469
+        'articles_descriptif' => 'non',
470
+        'articles_chapeau' => 'non',
471
+        'articles_texte' => 'oui',
472
+        'articles_ps' => 'non',
473
+        'articles_redac' => 'non',
474
+        'post_dates' => 'non',
475
+        'articles_urlref' => 'non',
476
+        'articles_redirection' => 'non',
477
+        'creer_preview' => 'non',
478
+        'taille_preview' => 150,
479
+        'articles_modif' => 'non',
480
+
481
+        'rubriques_descriptif' => 'non',
482
+        'rubriques_texte' => 'oui',
483
+
484
+        'accepter_inscriptions' => 'non',
485
+        'accepter_visiteurs' => 'non',
486
+        'prevenir_auteurs' => 'non',
487
+        'suivi_edito' => 'non',
488
+        'adresse_suivi' => '',
489
+        'adresse_suivi_inscription' => '',
490
+        'adresse_neuf' => '',
491
+        'jours_neuf' => '',
492
+        'quoi_de_neuf' => 'non',
493
+        'preview' => ',0minirezo,1comite,',
494
+
495
+        'syndication_integrale' => 'oui',
496
+        'charset' => _DEFAULT_CHARSET,
497
+        'dir_img' => substr(_DIR_IMG, strlen(_DIR_RACINE)),
498
+
499
+        'multi_rubriques' => 'non',
500
+        'multi_secteurs' => 'non',
501
+        'gerer_trad' => 'non',
502
+        'langues_multilingue' => '',
503
+
504
+        'version_html_max' => 'html4',
505
+
506
+        'type_urls' => 'page',
507
+
508
+        'email_envoi' => '',
509
+        'email_webmaster' => '',
510
+        'auto_compress_http' => 'non',
511
+    ]);
512 512
 }
513 513
 
514 514
 /**
@@ -519,43 +519,43 @@  discard block
 block discarded – undo
519 519
  * @return void
520 520
  */
521 521
 function actualise_metas($liste_meta) {
522
-	$meta_serveur =
523
-		[
524
-			'version_installee',
525
-			'adresse_site',
526
-			'alea_ephemere_ancien',
527
-			'alea_ephemere',
528
-			'alea_ephemere_date',
529
-			'langue_site',
530
-			'langues_proposees',
531
-			'date_calcul_rubriques',
532
-			'derniere_modif',
533
-			'optimiser_table',
534
-			'drapeau_edition',
535
-			'creer_preview',
536
-			'taille_preview',
537
-			'creer_htpasswd',
538
-			'creer_htaccess',
539
-			'gd_formats_read',
540
-			'gd_formats',
541
-			'netpbm_formats',
542
-			'formats_graphiques',
543
-			'image_process',
544
-			'plugin_header',
545
-			'plugin'
546
-		];
547
-	// verifier le impt=non
548
-	sql_updateq('spip_meta', ['impt' => 'non'], sql_in('nom', $meta_serveur));
549
-
550
-	foreach ($liste_meta as $nom => $valeur) {
551
-		if (empty($GLOBALS['meta'][$nom])) {
552
-			ecrire_meta($nom, $valeur);
553
-		}
554
-	}
555
-
556
-	include_spip('inc/rubriques');
557
-	$langues = calculer_langues_utilisees();
558
-	ecrire_meta('langues_utilisees', $langues);
522
+    $meta_serveur =
523
+        [
524
+            'version_installee',
525
+            'adresse_site',
526
+            'alea_ephemere_ancien',
527
+            'alea_ephemere',
528
+            'alea_ephemere_date',
529
+            'langue_site',
530
+            'langues_proposees',
531
+            'date_calcul_rubriques',
532
+            'derniere_modif',
533
+            'optimiser_table',
534
+            'drapeau_edition',
535
+            'creer_preview',
536
+            'taille_preview',
537
+            'creer_htpasswd',
538
+            'creer_htaccess',
539
+            'gd_formats_read',
540
+            'gd_formats',
541
+            'netpbm_formats',
542
+            'formats_graphiques',
543
+            'image_process',
544
+            'plugin_header',
545
+            'plugin'
546
+        ];
547
+    // verifier le impt=non
548
+    sql_updateq('spip_meta', ['impt' => 'non'], sql_in('nom', $meta_serveur));
549
+
550
+    foreach ($liste_meta as $nom => $valeur) {
551
+        if (empty($GLOBALS['meta'][$nom])) {
552
+            ecrire_meta($nom, $valeur);
553
+        }
554
+    }
555
+
556
+    include_spip('inc/rubriques');
557
+    $langues = calculer_langues_utilisees();
558
+    ecrire_meta('langues_utilisees', $langues);
559 559
 }
560 560
 
561 561
 
@@ -577,18 +577,18 @@  discard block
 block discarded – undo
577 577
  */
578 578
 function appliquer_modifs_config($purger_skel = false) {
579 579
 
580
-	foreach (liste_metas() as $i => $v) {
581
-		if (($x = _request($i)) !== null) {
582
-			ecrire_meta($i, $x);
583
-		} elseif (!isset($GLOBALS['meta'][$i])) {
584
-			ecrire_meta($i, $v);
585
-		}
586
-	}
587
-
588
-	if ($purger_skel) {
589
-		include_spip('inc/invalideur');
590
-		purger_repertoire(_DIR_SKELS);
591
-	}
580
+    foreach (liste_metas() as $i => $v) {
581
+        if (($x = _request($i)) !== null) {
582
+            ecrire_meta($i, $x);
583
+        } elseif (!isset($GLOBALS['meta'][$i])) {
584
+            ecrire_meta($i, $v);
585
+        }
586
+    }
587
+
588
+    if ($purger_skel) {
589
+        include_spip('inc/invalideur');
590
+        purger_repertoire(_DIR_SKELS);
591
+    }
592 592
 }
593 593
 
594 594
 /**
@@ -599,21 +599,21 @@  discard block
 block discarded – undo
599 599
  * @return string
600 600
  */
601 601
 function appliquer_adresse_site($adresse_site) {
602
-	if ($adresse_site !== null) {
603
-		if (!strlen($adresse_site)) {
604
-			$GLOBALS['profondeur_url'] = _DIR_RESTREINT ? 0 : 1;
605
-			$adresse_site = url_de_base();
606
-		}
607
-		$adresse_site = preg_replace(',/?\s*$,', '', $adresse_site);
602
+    if ($adresse_site !== null) {
603
+        if (!strlen($adresse_site)) {
604
+            $GLOBALS['profondeur_url'] = _DIR_RESTREINT ? 0 : 1;
605
+            $adresse_site = url_de_base();
606
+        }
607
+        $adresse_site = preg_replace(',/?\s*$,', '', $adresse_site);
608 608
 
609
-		if (!tester_url_absolue($adresse_site)) {
610
-			$adresse_site = "http://$adresse_site";
611
-		}
609
+        if (!tester_url_absolue($adresse_site)) {
610
+            $adresse_site = "http://$adresse_site";
611
+        }
612 612
 
613
-		$adresse_site = entites_html($adresse_site);
613
+        $adresse_site = entites_html($adresse_site);
614 614
 
615
-		ecrire_meta('adresse_site', $adresse_site);
616
-	}
615
+        ecrire_meta('adresse_site', $adresse_site);
616
+    }
617 617
 
618
-	return $adresse_site;
618
+    return $adresse_site;
619 619
 }
Please login to merge, or discard this patch.
ecrire/inc/selectionner.php 2 patches
Indentation   +108 added lines, -108 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/filtres');
@@ -46,56 +46,56 @@  discard block
 block discarded – undo
46 46
  **/
47 47
 function inc_selectionner_dist($sel, $idom = '', $exclus = 0, $aff_racine = false, $recur = true, $do = 'aff') {
48 48
 
49
-	if ($recur) {
50
-		$recur = mini_hier($sel);
51
-	} else {
52
-		$sel = 0;
53
-	}
54
-
55
-	if ($aff_racine) {
56
-		$info = generer_url_ecrire('informer', "type=rubrique&rac=$idom&do=$do&id=");
57
-		$idom3 = $idom . '_selection';
58
-
59
-		$onClick = "jQuery(this).parent().addClass('on');jQuery('#choix_parent_principal .on').removeClass('on'); aff_selection(0, '$idom3', '$info', event);return false;";
60
-
61
-		$ondbClick = strtr(
62
-			str_replace(
63
-				"'",
64
-				'&#8217;',
65
-				str_replace(
66
-					'"',
67
-					'&#34;',
68
-					textebrut(_T('info_racine_site'))
69
-				)
70
-			),
71
-			"\n\r",
72
-			'  '
73
-		);
74
-
75
-		$js_func = $do . '_selection_titre';
76
-		$ondbClick = "$js_func('$ondbClick',0,'selection_rubrique','id_parent');";
77
-
78
-		$aff_racine = "<div class='petit-item petite-racine item'>"
79
-			. "<a href='#'"
80
-			. 'onclick="'
81
-			. $onClick
82
-			. "\"\nondbclick=\""
83
-			. $ondbClick
84
-			. $onClick
85
-			. '">'
86
-			. _T('info_racine_site')
87
-			. '</a></div>';
88
-	}
89
-
90
-	$url_init = generer_url_ecrire('plonger', "rac=$idom&exclus=$exclus&id=0&col=1&do=$do");
91
-
92
-	$plonger = charger_fonction('plonger', 'inc');
93
-	$plonger_r = $plonger($sel, $idom, $recur, 1, $exclus, $do);
94
-
95
-	// url completee par la fonction JS onkeypress_rechercher
96
-	$url = generer_url_ecrire('rechercher', "exclus=$exclus&rac=$idom&do=$do&type=");
97
-
98
-	return construire_selectionner_hierarchie($idom, $plonger_r, $aff_racine, $url, 'id_parent', $url_init);
49
+    if ($recur) {
50
+        $recur = mini_hier($sel);
51
+    } else {
52
+        $sel = 0;
53
+    }
54
+
55
+    if ($aff_racine) {
56
+        $info = generer_url_ecrire('informer', "type=rubrique&rac=$idom&do=$do&id=");
57
+        $idom3 = $idom . '_selection';
58
+
59
+        $onClick = "jQuery(this).parent().addClass('on');jQuery('#choix_parent_principal .on').removeClass('on'); aff_selection(0, '$idom3', '$info', event);return false;";
60
+
61
+        $ondbClick = strtr(
62
+            str_replace(
63
+                "'",
64
+                '&#8217;',
65
+                str_replace(
66
+                    '"',
67
+                    '&#34;',
68
+                    textebrut(_T('info_racine_site'))
69
+                )
70
+            ),
71
+            "\n\r",
72
+            '  '
73
+        );
74
+
75
+        $js_func = $do . '_selection_titre';
76
+        $ondbClick = "$js_func('$ondbClick',0,'selection_rubrique','id_parent');";
77
+
78
+        $aff_racine = "<div class='petit-item petite-racine item'>"
79
+            . "<a href='#'"
80
+            . 'onclick="'
81
+            . $onClick
82
+            . "\"\nondbclick=\""
83
+            . $ondbClick
84
+            . $onClick
85
+            . '">'
86
+            . _T('info_racine_site')
87
+            . '</a></div>';
88
+    }
89
+
90
+    $url_init = generer_url_ecrire('plonger', "rac=$idom&exclus=$exclus&id=0&col=1&do=$do");
91
+
92
+    $plonger = charger_fonction('plonger', 'inc');
93
+    $plonger_r = $plonger($sel, $idom, $recur, 1, $exclus, $do);
94
+
95
+    // url completee par la fonction JS onkeypress_rechercher
96
+    $url = generer_url_ecrire('rechercher', "exclus=$exclus&rac=$idom&do=$do&type=");
97
+
98
+    return construire_selectionner_hierarchie($idom, $plonger_r, $aff_racine, $url, 'id_parent', $url_init);
99 99
 }
100 100
 
101 101
 /**
@@ -113,58 +113,58 @@  discard block
 block discarded – undo
113 113
  **/
114 114
 function construire_selectionner_hierarchie($idom, $liste, $racine, $url, $name, $url_init = '') {
115 115
 
116
-	$idom1 = $idom . '_champ_recherche';
117
-	$idom2 = $idom . '_principal';
118
-	$idom3 = $idom . '_selection';
119
-	$idom4 = $idom . '_col_1';
120
-	$idom5 = 'img_' . $idom4;
121
-	$idom6 = $idom . '_fonc';
122
-
123
-	return "<div id='$idom'>"
124
-	. "<a id='$idom6' style='visibility: hidden;'"
125
-	. ($url_init ? "\nhref='$url_init'" : '')
126
-	. '></a>'
127
-	. "<div class='recherche_rapide_parent formulaire_recherche'>"
128
-	. http_img_pack(
129
-		'loader.svg',
130
-		'',
131
-		"class='loader' style='visibility: hidden;float:" . $GLOBALS['spip_lang_right'] . "' id='$idom5'"
132
-	)
133
-	. ''
134
-	. "<input style='width: 10em;float:" . $GLOBALS['spip_lang_right'] . ";' type='text' class='text search' id='$idom1' placeholder='" . _T('info_rechercher') . "'"
135
-	// eliminer Return car il provoque la soumission (balise unique)
136
-	// et eliminer Tab pour la navigation au clavier
137
-	// ce serait encore mieux de ne le faire que s'il y a encore plusieurs
138
-	// resultats retournes par la recherche
139
-	. "\nonkeypress=\"k=event.keyCode;if (k==13 || k==3 || k==9){return false;}\""
140
-	// lancer la recherche apres le filtrage ci-dessus sauf sur le tab (navigation au clavier)
141
-	. "\nonkeyup=\"if(event.keyCode==9){return false;};return onkey_rechercher(this.value,"
142
-	// la destination de la recherche
143
-	. "'$idom4'"
116
+    $idom1 = $idom . '_champ_recherche';
117
+    $idom2 = $idom . '_principal';
118
+    $idom3 = $idom . '_selection';
119
+    $idom4 = $idom . '_col_1';
120
+    $idom5 = 'img_' . $idom4;
121
+    $idom6 = $idom . '_fonc';
122
+
123
+    return "<div id='$idom'>"
124
+    . "<a id='$idom6' style='visibility: hidden;'"
125
+    . ($url_init ? "\nhref='$url_init'" : '')
126
+    . '></a>'
127
+    . "<div class='recherche_rapide_parent formulaire_recherche'>"
128
+    . http_img_pack(
129
+        'loader.svg',
130
+        '',
131
+        "class='loader' style='visibility: hidden;float:" . $GLOBALS['spip_lang_right'] . "' id='$idom5'"
132
+    )
133
+    . ''
134
+    . "<input style='width: 10em;float:" . $GLOBALS['spip_lang_right'] . ";' type='text' class='text search' id='$idom1' placeholder='" . _T('info_rechercher') . "'"
135
+    // eliminer Return car il provoque la soumission (balise unique)
136
+    // et eliminer Tab pour la navigation au clavier
137
+    // ce serait encore mieux de ne le faire que s'il y a encore plusieurs
138
+    // resultats retournes par la recherche
139
+    . "\nonkeypress=\"k=event.keyCode;if (k==13 || k==3 || k==9){return false;}\""
140
+    // lancer la recherche apres le filtrage ci-dessus sauf sur le tab (navigation au clavier)
141
+    . "\nonkeyup=\"if(event.keyCode==9){return false;};return onkey_rechercher(this.value,"
142
+    // la destination de la recherche
143
+    . "'$idom4'"
144 144
 #	. "this.parentNode.parentNode.parentNode.parentNode.nextSibling.firstChild.id"
145
-	. ",'"
146
-	// l'url effectuant la recherche
147
-	. $url
148
-	. "',"
149
-	// le noeud contenant un gif anime
150
-	// . "'idom5'"
151
-	. 'this.parentNode.previousSibling.firstChild'
152
-	. ",'"
153
-	// la valeur de l'attribut Name a remplir
154
-	. $name
155
-	. "','"
156
-	// noeud invisible memorisant l'URL initiale (pour re-initialisation)
157
-	. $idom6
158
-	. "')\""
159
-	. ' />'
160
-	. "\n</div>"
161
-	. ($racine ? "<div>$racine</div>" : '')
162
-	. "<div id='"
163
-	. $idom2
164
-	. "'><div id='$idom4'"
165
-	. " class=''>"
166
-	. $liste
167
-	. "</div></div>\n<div id='$idom3'></div></div>\n";
145
+    . ",'"
146
+    // l'url effectuant la recherche
147
+    . $url
148
+    . "',"
149
+    // le noeud contenant un gif anime
150
+    // . "'idom5'"
151
+    . 'this.parentNode.previousSibling.firstChild'
152
+    . ",'"
153
+    // la valeur de l'attribut Name a remplir
154
+    . $name
155
+    . "','"
156
+    // noeud invisible memorisant l'URL initiale (pour re-initialisation)
157
+    . $idom6
158
+    . "')\""
159
+    . ' />'
160
+    . "\n</div>"
161
+    . ($racine ? "<div>$racine</div>" : '')
162
+    . "<div id='"
163
+    . $idom2
164
+    . "'><div id='$idom4'"
165
+    . " class=''>"
166
+    . $liste
167
+    . "</div></div>\n<div id='$idom3'></div></div>\n";
168 168
 }
169 169
 
170 170
 /**
@@ -176,11 +176,11 @@  discard block
 block discarded – undo
176 176
  **/
177 177
 function mini_hier($id_rubrique) {
178 178
 
179
-	$liste = $id_rubrique;
180
-	$id_rubrique = intval($id_rubrique);
181
-	while ($id_rubrique = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique = ' . $id_rubrique)) {
182
-		$liste = $id_rubrique . ",$liste";
183
-	}
179
+    $liste = $id_rubrique;
180
+    $id_rubrique = intval($id_rubrique);
181
+    while ($id_rubrique = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique = ' . $id_rubrique)) {
182
+        $liste = $id_rubrique . ",$liste";
183
+    }
184 184
 
185
-	return explode(',', "0,$liste");
185
+    return explode(',', "0,$liste");
186 186
 }
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
 
55 55
 	if ($aff_racine) {
56 56
 		$info = generer_url_ecrire('informer', "type=rubrique&rac=$idom&do=$do&id=");
57
-		$idom3 = $idom . '_selection';
57
+		$idom3 = $idom.'_selection';
58 58
 
59 59
 		$onClick = "jQuery(this).parent().addClass('on');jQuery('#choix_parent_principal .on').removeClass('on'); aff_selection(0, '$idom3', '$info', event);return false;";
60 60
 
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
 			'  '
73 73
 		);
74 74
 
75
-		$js_func = $do . '_selection_titre';
75
+		$js_func = $do.'_selection_titre';
76 76
 		$ondbClick = "$js_func('$ondbClick',0,'selection_rubrique','id_parent');";
77 77
 
78 78
 		$aff_racine = "<div class='petit-item petite-racine item'>"
@@ -113,12 +113,12 @@  discard block
 block discarded – undo
113 113
  **/
114 114
 function construire_selectionner_hierarchie($idom, $liste, $racine, $url, $name, $url_init = '') {
115 115
 
116
-	$idom1 = $idom . '_champ_recherche';
117
-	$idom2 = $idom . '_principal';
118
-	$idom3 = $idom . '_selection';
119
-	$idom4 = $idom . '_col_1';
120
-	$idom5 = 'img_' . $idom4;
121
-	$idom6 = $idom . '_fonc';
116
+	$idom1 = $idom.'_champ_recherche';
117
+	$idom2 = $idom.'_principal';
118
+	$idom3 = $idom.'_selection';
119
+	$idom4 = $idom.'_col_1';
120
+	$idom5 = 'img_'.$idom4;
121
+	$idom6 = $idom.'_fonc';
122 122
 
123 123
 	return "<div id='$idom'>"
124 124
 	. "<a id='$idom6' style='visibility: hidden;'"
@@ -128,10 +128,10 @@  discard block
 block discarded – undo
128 128
 	. http_img_pack(
129 129
 		'loader.svg',
130 130
 		'',
131
-		"class='loader' style='visibility: hidden;float:" . $GLOBALS['spip_lang_right'] . "' id='$idom5'"
131
+		"class='loader' style='visibility: hidden;float:".$GLOBALS['spip_lang_right']."' id='$idom5'"
132 132
 	)
133 133
 	. ''
134
-	. "<input style='width: 10em;float:" . $GLOBALS['spip_lang_right'] . ";' type='text' class='text search' id='$idom1' placeholder='" . _T('info_rechercher') . "'"
134
+	. "<input style='width: 10em;float:".$GLOBALS['spip_lang_right'].";' type='text' class='text search' id='$idom1' placeholder='"._T('info_rechercher')."'"
135 135
 	// eliminer Return car il provoque la soumission (balise unique)
136 136
 	// et eliminer Tab pour la navigation au clavier
137 137
 	// ce serait encore mieux de ne le faire que s'il y a encore plusieurs
@@ -178,8 +178,8 @@  discard block
 block discarded – undo
178 178
 
179 179
 	$liste = $id_rubrique;
180 180
 	$id_rubrique = intval($id_rubrique);
181
-	while ($id_rubrique = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique = ' . $id_rubrique)) {
182
-		$liste = $id_rubrique . ",$liste";
181
+	while ($id_rubrique = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique = '.$id_rubrique)) {
182
+		$liste = $id_rubrique.",$liste";
183 183
 	}
184 184
 
185 185
 	return explode(',', "0,$liste");
Please login to merge, or discard this patch.
ecrire/inc/notifications.php 2 patches
Indentation   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Notifications
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -33,16 +33,16 @@  discard block
 block discarded – undo
33 33
  */
34 34
 function inc_notifications_dist($quoi, $id = 0, $options = []) {
35 35
 
36
-	// charger les fichiers qui veulent ajouter des definitions
37
-	// ou faire des trucs aussi dans le pipeline, ca fait deux api pour le prix d'une ...
38
-	pipeline('notifications', ['args' => ['quoi' => $quoi, 'id' => $id, 'options' => $options]]);
36
+    // charger les fichiers qui veulent ajouter des definitions
37
+    // ou faire des trucs aussi dans le pipeline, ca fait deux api pour le prix d'une ...
38
+    pipeline('notifications', ['args' => ['quoi' => $quoi, 'id' => $id, 'options' => $options]]);
39 39
 
40
-	if ($notification = charger_fonction($quoi, 'notifications', true)) {
41
-		spip_log("$notification($quoi,$id"
42
-			. ($options ? ',' . serialize($options) : '')
43
-			. ')', 'notifications');
44
-		$notification($quoi, $id, $options);
45
-	}
40
+    if ($notification = charger_fonction($quoi, 'notifications', true)) {
41
+        spip_log("$notification($quoi,$id"
42
+            . ($options ? ',' . serialize($options) : '')
43
+            . ')', 'notifications');
44
+        $notification($quoi, $id, $options);
45
+    }
46 46
 }
47 47
 
48 48
 /**
@@ -56,14 +56,14 @@  discard block
 block discarded – undo
56 56
  * @param array $exclure
57 57
  */
58 58
 function notifications_nettoyer_emails(&$emails, $exclure = []) {
59
-	// filtrer et unifier
60
-	$emails = array_unique(array_filter(array_map('email_valide', array_map('trim', $emails))));
61
-	if ($exclure and count($exclure)) {
62
-		// nettoyer les exclusions d'abord
63
-		notifications_nettoyer_emails($exclure);
64
-		// faire un diff
65
-		$emails = array_diff($emails, $exclure);
66
-	}
59
+    // filtrer et unifier
60
+    $emails = array_unique(array_filter(array_map('email_valide', array_map('trim', $emails))));
61
+    if ($exclure and count($exclure)) {
62
+        // nettoyer les exclusions d'abord
63
+        notifications_nettoyer_emails($exclure);
64
+        // faire un diff
65
+        $emails = array_diff($emails, $exclure);
66
+    }
67 67
 }
68 68
 
69 69
 /**
@@ -78,90 +78,90 @@  discard block
 block discarded – undo
78 78
  * @param string $headers
79 79
  */
80 80
 function notifications_envoyer_mails($emails, $texte, $sujet = '', $from = '', $headers = '') {
81
-	// rien a faire si pas de texte !
82
-	if (!strlen($texte)) {
83
-		return;
84
-	}
85
-
86
-	// si on ne specifie qu'un email, le mettre dans un tableau
87
-	if (!is_array($emails)) {
88
-		$emails = explode(',', $emails);
89
-	}
90
-
91
-	notifications_nettoyer_emails($emails);
92
-
93
-	// tester si le mail est deja en html
94
-	if (
95
-		strpos($texte, '<') !== false // eviter les tests suivants si possible
96
-		and $ttrim = trim($texte)
97
-		and substr($ttrim, 0, 1) == '<'
98
-		and substr($ttrim, -1, 1) == '>'
99
-		and stripos($ttrim, '</html>') !== false
100
-	) {
101
-		if (!strlen($sujet)) {
102
-			// dans ce cas on ruse un peu : extraire le sujet du title
103
-			if (preg_match(',<title>(.*)</title>,Uims', $texte, $m)) {
104
-				$sujet = $m[1];
105
-			} else {
106
-				// fallback, on prend le body si on le trouve
107
-				if (preg_match(',<body[^>]*>(.*)</body>,Uims', $texte, $m)) {
108
-					$ttrim = $m[1];
109
-				}
110
-
111
-				// et on extrait la premiere ligne de vrai texte...
112
-				// nettoyer le html et les retours chariots
113
-				$ttrim = textebrut($ttrim);
114
-				$ttrim = str_replace("\r\n", "\r", $ttrim);
115
-				$ttrim = str_replace("\r", "\n", $ttrim);
116
-				// decouper
117
-				$ttrim = explode("\n", trim($ttrim));
118
-				// extraire la premiere ligne de texte brut
119
-				$sujet = array_shift($ttrim);
120
-			}
121
-		}
122
-
123
-		// si besoin on ajoute le content-type dans les headers
124
-		if (stripos($headers, 'Content-Type') === false) {
125
-			$headers .= "Content-Type: text/html\n";
126
-		}
127
-	}
128
-
129
-	// si le sujet est vide, extraire la premiere ligne du corps
130
-	// du mail qui est donc du texte
131
-	if (!strlen($sujet)) {
132
-		// nettoyer un peu les retours chariots
133
-		$texte = str_replace("\r\n", "\r", $texte);
134
-		$texte = str_replace("\r", "\n", $texte);
135
-		// decouper
136
-		$texte = explode("\n", trim($texte));
137
-		// extraire la premiere ligne
138
-		$sujet = array_shift($texte);
139
-		$texte = trim(implode("\n", $texte));
140
-	}
141
-
142
-	$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
143
-	foreach ($emails as $email) {
144
-		// passer dans un pipeline qui permet un ajout eventuel
145
-		// (url de suivi des notifications par exemple)
146
-		$envoi = pipeline(
147
-			'notifications_envoyer_mails',
148
-			[
149
-				'email' => $email,
150
-				'sujet' => $sujet,
151
-				'texte' => $texte,
152
-				'from' => $from,
153
-				'headers' => $headers,
154
-			]
155
-		);
156
-		$email = $envoi['email'];
157
-
158
-		job_queue_add(
159
-			'envoyer_mail',
160
-			">$email : " . $envoi['sujet'],
161
-			[$email, $envoi['sujet'], $envoi['texte'], $envoi['from'], $envoi['headers']],
162
-			'inc/'
163
-		);
164
-	}
81
+    // rien a faire si pas de texte !
82
+    if (!strlen($texte)) {
83
+        return;
84
+    }
85
+
86
+    // si on ne specifie qu'un email, le mettre dans un tableau
87
+    if (!is_array($emails)) {
88
+        $emails = explode(',', $emails);
89
+    }
90
+
91
+    notifications_nettoyer_emails($emails);
92
+
93
+    // tester si le mail est deja en html
94
+    if (
95
+        strpos($texte, '<') !== false // eviter les tests suivants si possible
96
+        and $ttrim = trim($texte)
97
+        and substr($ttrim, 0, 1) == '<'
98
+        and substr($ttrim, -1, 1) == '>'
99
+        and stripos($ttrim, '</html>') !== false
100
+    ) {
101
+        if (!strlen($sujet)) {
102
+            // dans ce cas on ruse un peu : extraire le sujet du title
103
+            if (preg_match(',<title>(.*)</title>,Uims', $texte, $m)) {
104
+                $sujet = $m[1];
105
+            } else {
106
+                // fallback, on prend le body si on le trouve
107
+                if (preg_match(',<body[^>]*>(.*)</body>,Uims', $texte, $m)) {
108
+                    $ttrim = $m[1];
109
+                }
110
+
111
+                // et on extrait la premiere ligne de vrai texte...
112
+                // nettoyer le html et les retours chariots
113
+                $ttrim = textebrut($ttrim);
114
+                $ttrim = str_replace("\r\n", "\r", $ttrim);
115
+                $ttrim = str_replace("\r", "\n", $ttrim);
116
+                // decouper
117
+                $ttrim = explode("\n", trim($ttrim));
118
+                // extraire la premiere ligne de texte brut
119
+                $sujet = array_shift($ttrim);
120
+            }
121
+        }
122
+
123
+        // si besoin on ajoute le content-type dans les headers
124
+        if (stripos($headers, 'Content-Type') === false) {
125
+            $headers .= "Content-Type: text/html\n";
126
+        }
127
+    }
128
+
129
+    // si le sujet est vide, extraire la premiere ligne du corps
130
+    // du mail qui est donc du texte
131
+    if (!strlen($sujet)) {
132
+        // nettoyer un peu les retours chariots
133
+        $texte = str_replace("\r\n", "\r", $texte);
134
+        $texte = str_replace("\r", "\n", $texte);
135
+        // decouper
136
+        $texte = explode("\n", trim($texte));
137
+        // extraire la premiere ligne
138
+        $sujet = array_shift($texte);
139
+        $texte = trim(implode("\n", $texte));
140
+    }
141
+
142
+    $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
143
+    foreach ($emails as $email) {
144
+        // passer dans un pipeline qui permet un ajout eventuel
145
+        // (url de suivi des notifications par exemple)
146
+        $envoi = pipeline(
147
+            'notifications_envoyer_mails',
148
+            [
149
+                'email' => $email,
150
+                'sujet' => $sujet,
151
+                'texte' => $texte,
152
+                'from' => $from,
153
+                'headers' => $headers,
154
+            ]
155
+        );
156
+        $email = $envoi['email'];
157
+
158
+        job_queue_add(
159
+            'envoyer_mail',
160
+            ">$email : " . $envoi['sujet'],
161
+            [$email, $envoi['sujet'], $envoi['texte'], $envoi['from'], $envoi['headers']],
162
+            'inc/'
163
+        );
164
+    }
165 165
 }
166 166
 
167 167
 /**
@@ -177,10 +177,10 @@  discard block
 block discarded – undo
177 177
  * @return string
178 178
  */
179 179
 function email_notification_objet($id_objet, $type_objet, $modele) {
180
-	$envoyer_mail = charger_fonction('envoyer_mail', 'inc'); // pour nettoyer_titre_email
181
-	$id_type = id_table_objet($type_objet);
180
+    $envoyer_mail = charger_fonction('envoyer_mail', 'inc'); // pour nettoyer_titre_email
181
+    $id_type = id_table_objet($type_objet);
182 182
 
183
-	return recuperer_fond($modele, [$id_type => $id_objet, 'id' => $id_objet]);
183
+    return recuperer_fond($modele, [$id_type => $id_objet, 'id' => $id_objet]);
184 184
 }
185 185
 
186 186
 /**
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
  * @return string
196 196
  */
197 197
 function email_notification_article($id_article, $modele) {
198
-	$envoyer_mail = charger_fonction('envoyer_mail', 'inc'); // pour nettoyer_titre_email
198
+    $envoyer_mail = charger_fonction('envoyer_mail', 'inc'); // pour nettoyer_titre_email
199 199
 
200
-	return recuperer_fond($modele, ['id_article' => $id_article]);
200
+    return recuperer_fond($modele, ['id_article' => $id_article]);
201 201
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
 
40 40
 	if ($notification = charger_fonction($quoi, 'notifications', true)) {
41 41
 		spip_log("$notification($quoi,$id"
42
-			. ($options ? ',' . serialize($options) : '')
42
+			. ($options ? ','.serialize($options) : '')
43 43
 			. ')', 'notifications');
44 44
 		$notification($quoi, $id, $options);
45 45
 	}
@@ -157,7 +157,7 @@  discard block
 block discarded – undo
157 157
 
158 158
 		job_queue_add(
159 159
 			'envoyer_mail',
160
-			">$email : " . $envoi['sujet'],
160
+			">$email : ".$envoi['sujet'],
161 161
 			[$email, $envoi['sujet'], $envoi['texte'], $envoi['from'], $envoi['headers']],
162 162
 			'inc/'
163 163
 		);
Please login to merge, or discard this patch.
ecrire/inc/email_valide.php 1 patch
Indentation   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Mail
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -31,27 +31,27 @@  discard block
 block discarded – undo
31 31
  *      - la normalisation de la dernière adresse donnée sinon
32 32
  **/
33 33
 function inc_email_valide_dist($adresses) {
34
-	// eviter d'injecter n'importe quoi dans preg_match
35
-	if (!is_string($adresses)) {
36
-		return false;
37
-	}
38
-
39
-	// Si c'est un spammeur autant arreter tout de suite
40
-	if (preg_match(",[\n\r].*(MIME|multipart|Content-),i", $adresses)) {
41
-		spip_log("Tentative d'injection de mail : $adresses");
42
-
43
-		return false;
44
-	}
45
-
46
-	foreach (explode(',', $adresses) as $v) {
47
-		// nettoyer certains formats
48
-		// "Marie Toto <[email protected]>"
49
-		$adresse = trim(preg_replace(',^[^<>"]*<([^<>"]+)>$,i', "\\1", $v));
50
-		// RFC 822
51
-		if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse)) {
52
-			return false;
53
-		}
54
-	}
55
-
56
-	return $adresse;
34
+    // eviter d'injecter n'importe quoi dans preg_match
35
+    if (!is_string($adresses)) {
36
+        return false;
37
+    }
38
+
39
+    // Si c'est un spammeur autant arreter tout de suite
40
+    if (preg_match(",[\n\r].*(MIME|multipart|Content-),i", $adresses)) {
41
+        spip_log("Tentative d'injection de mail : $adresses");
42
+
43
+        return false;
44
+    }
45
+
46
+    foreach (explode(',', $adresses) as $v) {
47
+        // nettoyer certains formats
48
+        // "Marie Toto <[email protected]>"
49
+        $adresse = trim(preg_replace(',^[^<>"]*<([^<>"]+)>$,i', "\\1", $v));
50
+        // RFC 822
51
+        if (!preg_match('#^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$#i', $adresse)) {
52
+            return false;
53
+        }
54
+    }
55
+
56
+    return $adresse;
57 57
 }
Please login to merge, or discard this patch.
ecrire/inc/chercher_logo.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -40,9 +40,9 @@  discard block
 block discarded – undo
40 40
 	$mode = preg_replace(',\W,', '', $mode);
41 41
 	if ($mode) {
42 42
 		// chercher dans la base
43
-		$mode_document = 'logo' . $mode;
43
+		$mode_document = 'logo'.$mode;
44 44
 		$objet = objet_type($_id_objet);
45
-		$doc = sql_fetsel('D.*', 'spip_documents AS D JOIN spip_documents_liens AS L ON L.id_document=D.id_document', 'D.mode=' . sql_quote($mode_document) . ' AND L.objet=' . sql_quote($objet) . ' AND id_objet=' . intval($id));
45
+		$doc = sql_fetsel('D.*', 'spip_documents AS D JOIN spip_documents_liens AS L ON L.id_document=D.id_document', 'D.mode='.sql_quote($mode_document).' AND L.objet='.sql_quote($objet).' AND id_objet='.intval($id));
46 46
 		if ($doc) {
47 47
 			include_spip('inc/documents');
48 48
 			$d = get_spip_doc($doc['fichier']);
@@ -53,10 +53,10 @@  discard block
 block discarded – undo
53 53
 		if ($compat_old_logos) {
54 54
 			# attention au cas $id = '0' pour LOGO_SITE_SPIP : utiliser intval()
55 55
 			$type = type_du_logo($_id_objet);
56
-			$nom = $type . $mode . intval($id);
56
+			$nom = $type.$mode.intval($id);
57 57
 
58 58
 			foreach ($GLOBALS['formats_logos'] as $format) {
59
-				if (@file_exists($d = (_DIR_LOGOS . $nom . '.' . $format))) {
59
+				if (@file_exists($d = (_DIR_LOGOS.$nom.'.'.$format))) {
60 60
 					return [$d, _DIR_LOGOS, $nom, $format, @filemtime($d)];
61 61
 				}
62 62
 			}
Please login to merge, or discard this patch.
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Logos
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -37,34 +37,34 @@  discard block
 block discarded – undo
37 37
  **/
38 38
 function inc_chercher_logo_dist($id, $_id_objet, $mode = 'on', $compat_old_logos = true) {
39 39
 
40
-	$mode = preg_replace(',\W,', '', $mode);
41
-	if ($mode) {
42
-		// chercher dans la base
43
-		$mode_document = 'logo' . $mode;
44
-		$objet = objet_type($_id_objet);
45
-		$doc = sql_fetsel('D.*', 'spip_documents AS D JOIN spip_documents_liens AS L ON L.id_document=D.id_document', 'D.mode=' . sql_quote($mode_document) . ' AND L.objet=' . sql_quote($objet) . ' AND id_objet=' . intval($id));
46
-		if ($doc) {
47
-			include_spip('inc/documents');
48
-			$d = get_spip_doc($doc['fichier']);
49
-			return [$d, _DIR_IMG, basename($d), $doc['extension'], @filemtime($d), $doc];
50
-		}
40
+    $mode = preg_replace(',\W,', '', $mode);
41
+    if ($mode) {
42
+        // chercher dans la base
43
+        $mode_document = 'logo' . $mode;
44
+        $objet = objet_type($_id_objet);
45
+        $doc = sql_fetsel('D.*', 'spip_documents AS D JOIN spip_documents_liens AS L ON L.id_document=D.id_document', 'D.mode=' . sql_quote($mode_document) . ' AND L.objet=' . sql_quote($objet) . ' AND id_objet=' . intval($id));
46
+        if ($doc) {
47
+            include_spip('inc/documents');
48
+            $d = get_spip_doc($doc['fichier']);
49
+            return [$d, _DIR_IMG, basename($d), $doc['extension'], @filemtime($d), $doc];
50
+        }
51 51
 
52
-		# deprecated TODO remove
53
-		if ($compat_old_logos) {
54
-			# attention au cas $id = '0' pour LOGO_SITE_SPIP : utiliser intval()
55
-			$type = type_du_logo($_id_objet);
56
-			$nom = $type . $mode . intval($id);
52
+        # deprecated TODO remove
53
+        if ($compat_old_logos) {
54
+            # attention au cas $id = '0' pour LOGO_SITE_SPIP : utiliser intval()
55
+            $type = type_du_logo($_id_objet);
56
+            $nom = $type . $mode . intval($id);
57 57
 
58
-			foreach ($GLOBALS['formats_logos'] as $format) {
59
-				if (@file_exists($d = (_DIR_LOGOS . $nom . '.' . $format))) {
60
-					return [$d, _DIR_LOGOS, $nom, $format, @filemtime($d)];
61
-				}
62
-			}
63
-		}
64
-	}
58
+            foreach ($GLOBALS['formats_logos'] as $format) {
59
+                if (@file_exists($d = (_DIR_LOGOS . $nom . '.' . $format))) {
60
+                    return [$d, _DIR_LOGOS, $nom, $format, @filemtime($d)];
61
+                }
62
+            }
63
+        }
64
+    }
65 65
 
66
-	# coherence de type pour servir comme filtre (formulaire_login)
67
-	return [];
66
+    # coherence de type pour servir comme filtre (formulaire_login)
67
+    return [];
68 68
 }
69 69
 
70 70
 /**
@@ -83,13 +83,13 @@  discard block
 block discarded – undo
83 83
  * @deprecated 4.0 MAIS NE PAS SUPPRIMER CAR SERT POUR L'UPGRADE des logos et leur mise en base
84 84
  **/
85 85
 function type_du_logo($_id_objet) {
86
-	return $GLOBALS['table_logos'][$_id_objet] ?? objet_type(preg_replace(',^id_,', '', $_id_objet));
86
+    return $GLOBALS['table_logos'][$_id_objet] ?? objet_type(preg_replace(',^id_,', '', $_id_objet));
87 87
 }
88 88
 
89 89
 // Exceptions standards (historique)
90 90
 $GLOBALS['table_logos'] = [
91
-	'id_article' => 'art',
92
-	'id_auteur' => 'aut',
93
-	'id_rubrique' => 'rub',
94
-	'id_groupe' => 'groupe',
91
+    'id_article' => 'art',
92
+    'id_auteur' => 'aut',
93
+    'id_rubrique' => 'rub',
94
+    'id_groupe' => 'groupe',
95 95
 ];
Please login to merge, or discard this patch.
ecrire/inc/completer_traduction.php 2 patches
Indentation   +38 added lines, -38 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
 /**
@@ -29,51 +29,51 @@  discard block
 block discarded – undo
29 29
  * @return string Erreur éventuelle
30 30
  */
31 31
 function inc_completer_traduction_dist($objet, $id_objet, $id_trad) {
32
-	// dupliquer tous les liens sauf les auteurs : le nouvel auteur est celui qui traduit
33
-	// cf API editer_liens
34
-	include_spip('action/editer_liens');
35
-	objet_dupliquer_liens($objet, $id_trad, $id_objet, null, ['auteur']);
36
-	$_id_table = id_table_objet($objet);
32
+    // dupliquer tous les liens sauf les auteurs : le nouvel auteur est celui qui traduit
33
+    // cf API editer_liens
34
+    include_spip('action/editer_liens');
35
+    objet_dupliquer_liens($objet, $id_trad, $id_objet, null, ['auteur']);
36
+    $_id_table = id_table_objet($objet);
37 37
 
38
-	// recuperer le logo
39
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
40
-	include_spip('action/editer_logo');
41
-	foreach (['on', 'off'] as $etat) {
42
-		$logo = $chercher_logo($id_trad, $_id_table, $etat);
43
-		if ($logo and $file = reset($logo)) {
44
-			logo_modifier($objet, $id_objet, $etat, $file);
45
-		}
46
-	}
38
+    // recuperer le logo
39
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
40
+    include_spip('action/editer_logo');
41
+    foreach (['on', 'off'] as $etat) {
42
+        $logo = $chercher_logo($id_trad, $_id_table, $etat);
43
+        if ($logo and $file = reset($logo)) {
44
+            logo_modifier($objet, $id_objet, $etat, $file);
45
+        }
46
+    }
47 47
 
48
-	// dupliquer certains champs
49
-	$trouver_table = charger_fonction('trouver_table', 'base');
50
-	$desc = $trouver_table(table_objet_sql($objet));
51
-	$champs = $set = [];
48
+    // dupliquer certains champs
49
+    $trouver_table = charger_fonction('trouver_table', 'base');
50
+    $desc = $trouver_table(table_objet_sql($objet));
51
+    $champs = $set = [];
52 52
 
53
-	// un éventuel champ 'virtuel' (redirections)
54
-	if (!empty($desc['field']['virtuel'])) {
55
-		$champs[] = 'virtuel';
56
-	}
53
+    // un éventuel champ 'virtuel' (redirections)
54
+    if (!empty($desc['field']['virtuel'])) {
55
+        $champs[] = 'virtuel';
56
+    }
57 57
 
58
-	$data = sql_fetsel('*', $desc['table'], $_id_table . '=' . intval($id_trad));
58
+    $data = sql_fetsel('*', $desc['table'], $_id_table . '=' . intval($id_trad));
59 59
 
60
-	foreach ($champs as $c) {
61
-		$set[$c] = $data[$c];
62
-	}
60
+    foreach ($champs as $c) {
61
+        $set[$c] = $data[$c];
62
+    }
63 63
 
64
-	/*
64
+    /*
65 65
 	 * Le pipeline 'pre_edition' sera appelé avec l'action 'completer_traduction'.
66 66
 	 * Des plugins pourront ainsi compléter les champs d'un objet traduit lors d'une nouvelle traduction.
67 67
 	 */
68
-	$err = objet_modifier_champs(
69
-		$objet,
70
-		$id_objet,
71
-		[
72
-			'data' => $data,
73
-			'action' => 'completer_traduction',
74
-		],
75
-		$set
76
-	);
68
+    $err = objet_modifier_champs(
69
+        $objet,
70
+        $id_objet,
71
+        [
72
+            'data' => $data,
73
+            'action' => 'completer_traduction',
74
+        ],
75
+        $set
76
+    );
77 77
 
78
-	return $err;
78
+    return $err;
79 79
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -55,7 +55,7 @@
 block discarded – undo
55 55
 		$champs[] = 'virtuel';
56 56
 	}
57 57
 
58
-	$data = sql_fetsel('*', $desc['table'], $_id_table . '=' . intval($id_trad));
58
+	$data = sql_fetsel('*', $desc['table'], $_id_table.'='.intval($id_trad));
59 59
 
60 60
 	foreach ($champs as $c) {
61 61
 		$set[$c] = $data[$c];
Please login to merge, or discard this patch.
ecrire/inc/cvt_autosave.php 2 patches
Indentation   +73 added lines, -73 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
 /**
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
  * @return string
28 28
  */
29 29
 function autosave_clean_value($val) {
30
-	return stripslashes(urldecode($val));
30
+    return stripslashes(urldecode($val));
31 31
 }
32 32
 
33 33
 /**
@@ -38,58 +38,58 @@  discard block
 block discarded – undo
38 38
  * @return array
39 39
  */
40 40
 function cvtautosave_formulaire_charger($flux) {
41
-	if (
42
-		is_array($flux['data'])
43
-		and isset($flux['data']['_autosave_id'])
44
-		and $cle_autosave = $flux['data']['_autosave_id']
45
-	) {
46
-		$form = $flux['args']['form'];
47
-		$je_suis_poste = $flux['args']['je_suis_poste'];
41
+    if (
42
+        is_array($flux['data'])
43
+        and isset($flux['data']['_autosave_id'])
44
+        and $cle_autosave = $flux['data']['_autosave_id']
45
+    ) {
46
+        $form = $flux['args']['form'];
47
+        $je_suis_poste = $flux['args']['je_suis_poste'];
48 48
 
49
-		$cle_autosave = serialize($cle_autosave);
50
-		$cle_autosave = $form . '_' . md5($cle_autosave);
49
+        $cle_autosave = serialize($cle_autosave);
50
+        $cle_autosave = $form . '_' . md5($cle_autosave);
51 51
 
52
-		// si on a un backup en session et qu'on est au premier chargement, non poste
53
-		// on restitue les donnees
54
-		if (
55
-			isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])
56
-			and !$je_suis_poste
57
-		) {
58
-			parse_str($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave], $vars);
59
-			foreach ($vars as $key => $val) {
60
-				if (isset($flux['data'][$key])) {
61
-					$flux['data'][$key] = (is_string($val) ? autosave_clean_value($val) : array_map(
62
-						'autosave_clean_value',
63
-						$val
64
-					));
65
-				}
66
-			}
67
-		}
52
+        // si on a un backup en session et qu'on est au premier chargement, non poste
53
+        // on restitue les donnees
54
+        if (
55
+            isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])
56
+            and !$je_suis_poste
57
+        ) {
58
+            parse_str($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave], $vars);
59
+            foreach ($vars as $key => $val) {
60
+                if (isset($flux['data'][$key])) {
61
+                    $flux['data'][$key] = (is_string($val) ? autosave_clean_value($val) : array_map(
62
+                        'autosave_clean_value',
63
+                        $val
64
+                    ));
65
+                }
66
+            }
67
+        }
68 68
 
69
-		// si on est dans le charger() qui suit le traiter(), l'autosave a normalement ete vide
70
-		// mais si il y a plusieurs sessions il peut y avoir concurrence et un retour de l'autosave
71
-		if ($je_suis_poste and _request('autosave') === $cle_autosave and function_exists('terminer_actualiser_sessions')) {
72
-			terminer_actualiser_sessions();
73
-			// et verifions si jamais l'autosave a fait un come back, dans ce cas on le revide
74
-			if (isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])) {
75
-				session_set('session_autosave_' . $cle_autosave, null);
76
-				// en court sleep pour etre certain que la concurrence est finie
77
-				sleep(1);
78
-				terminer_actualiser_sessions();
79
-			}
80
-		}
69
+        // si on est dans le charger() qui suit le traiter(), l'autosave a normalement ete vide
70
+        // mais si il y a plusieurs sessions il peut y avoir concurrence et un retour de l'autosave
71
+        if ($je_suis_poste and _request('autosave') === $cle_autosave and function_exists('terminer_actualiser_sessions')) {
72
+            terminer_actualiser_sessions();
73
+            // et verifions si jamais l'autosave a fait un come back, dans ce cas on le revide
74
+            if (isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])) {
75
+                session_set('session_autosave_' . $cle_autosave, null);
76
+                // en court sleep pour etre certain que la concurrence est finie
77
+                sleep(1);
78
+                terminer_actualiser_sessions();
79
+            }
80
+        }
81 81
 
82 82
 
83
-		/**
84
-		 * Envoyer le input hidden et le bout de js qui l'utilisera
85
-		 */
86
-		$flux['data']['_hidden'] .= "<input type='hidden' name='autosave' class='autosaveactive' value='$cle_autosave' />"
87
-			. '<script type="text/javascript">/*<![CDATA[*/if (window.jQuery) jQuery(function(){
83
+        /**
84
+         * Envoyer le input hidden et le bout de js qui l'utilisera
85
+         */
86
+        $flux['data']['_hidden'] .= "<input type='hidden' name='autosave' class='autosaveactive' value='$cle_autosave' />"
87
+            . '<script type="text/javascript">/*<![CDATA[*/if (window.jQuery) jQuery(function(){
88 88
 		  $("input.autosaveactive").closest("form:not(.autosaveon)").autosave({url:"' . $GLOBALS['meta']['adresse_site'] . '/"}).addClass("autosaveon");
89 89
 			});/*]]>*/</script>';
90
-	}
90
+    }
91 91
 
92
-	return $flux;
92
+    return $flux;
93 93
 }
94 94
 
95 95
 /**
@@ -103,33 +103,33 @@  discard block
 block discarded – undo
103 103
  * @return array
104 104
  */
105 105
 function cvtautosave_formulaire_traiter($flux) {
106
-	// si on poste 'autosave' c'est qu'on n'a plus besoin de sauvegarder :
107
-	// on elimine les donnees de la session
108
-	if ($cle_autosave = _request('autosave')) {
109
-		include_spip('inc/session');
110
-		session_set('session_autosave_' . $cle_autosave, null);
111
-	}
106
+    // si on poste 'autosave' c'est qu'on n'a plus besoin de sauvegarder :
107
+    // on elimine les donnees de la session
108
+    if ($cle_autosave = _request('autosave')) {
109
+        include_spip('inc/session');
110
+        session_set('session_autosave_' . $cle_autosave, null);
111
+    }
112 112
 
113
-	if (isset($GLOBALS['visiteur_session']) and $GLOBALS['visiteur_session']) {
114
-		// delai par defaut avant purge d'un backup de form : 72H
115
-		if (!defined('_AUTOSAVE_GB_DELAY')) {
116
-			define('_AUTOSAVE_GB_DELAY', 72 * 3600);
117
-		}
118
-		$time_too_old = time() - _AUTOSAVE_GB_DELAY;
119
-		// purger aussi toutes les vieilles autosave
120
-		$session = $GLOBALS['visiteur_session'];
121
-		foreach ($session as $k => $v) {
122
-			if (strncmp($k, 'session_autosave_', 17) == 0) {
123
-				$timestamp = 0;
124
-				if (preg_match(',&__timestamp=(\d+)$,', $v, $m)) {
125
-					$timestamp = intval($m[1]);
126
-				}
127
-				if ($timestamp < $time_too_old) {
128
-					session_set($k, null);
129
-				}
130
-			}
131
-		}
132
-	}
113
+    if (isset($GLOBALS['visiteur_session']) and $GLOBALS['visiteur_session']) {
114
+        // delai par defaut avant purge d'un backup de form : 72H
115
+        if (!defined('_AUTOSAVE_GB_DELAY')) {
116
+            define('_AUTOSAVE_GB_DELAY', 72 * 3600);
117
+        }
118
+        $time_too_old = time() - _AUTOSAVE_GB_DELAY;
119
+        // purger aussi toutes les vieilles autosave
120
+        $session = $GLOBALS['visiteur_session'];
121
+        foreach ($session as $k => $v) {
122
+            if (strncmp($k, 'session_autosave_', 17) == 0) {
123
+                $timestamp = 0;
124
+                if (preg_match(',&__timestamp=(\d+)$,', $v, $m)) {
125
+                    $timestamp = intval($m[1]);
126
+                }
127
+                if ($timestamp < $time_too_old) {
128
+                    session_set($k, null);
129
+                }
130
+            }
131
+        }
132
+    }
133 133
 
134
-	return $flux;
134
+    return $flux;
135 135
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -47,15 +47,15 @@  discard block
 block discarded – undo
47 47
 		$je_suis_poste = $flux['args']['je_suis_poste'];
48 48
 
49 49
 		$cle_autosave = serialize($cle_autosave);
50
-		$cle_autosave = $form . '_' . md5($cle_autosave);
50
+		$cle_autosave = $form.'_'.md5($cle_autosave);
51 51
 
52 52
 		// si on a un backup en session et qu'on est au premier chargement, non poste
53 53
 		// on restitue les donnees
54 54
 		if (
55
-			isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])
55
+			isset($GLOBALS['visiteur_session']['session_autosave_'.$cle_autosave])
56 56
 			and !$je_suis_poste
57 57
 		) {
58
-			parse_str($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave], $vars);
58
+			parse_str($GLOBALS['visiteur_session']['session_autosave_'.$cle_autosave], $vars);
59 59
 			foreach ($vars as $key => $val) {
60 60
 				if (isset($flux['data'][$key])) {
61 61
 					$flux['data'][$key] = (is_string($val) ? autosave_clean_value($val) : array_map(
@@ -71,8 +71,8 @@  discard block
 block discarded – undo
71 71
 		if ($je_suis_poste and _request('autosave') === $cle_autosave and function_exists('terminer_actualiser_sessions')) {
72 72
 			terminer_actualiser_sessions();
73 73
 			// et verifions si jamais l'autosave a fait un come back, dans ce cas on le revide
74
-			if (isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])) {
75
-				session_set('session_autosave_' . $cle_autosave, null);
74
+			if (isset($GLOBALS['visiteur_session']['session_autosave_'.$cle_autosave])) {
75
+				session_set('session_autosave_'.$cle_autosave, null);
76 76
 				// en court sleep pour etre certain que la concurrence est finie
77 77
 				sleep(1);
78 78
 				terminer_actualiser_sessions();
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
 		 */
86 86
 		$flux['data']['_hidden'] .= "<input type='hidden' name='autosave' class='autosaveactive' value='$cle_autosave' />"
87 87
 			. '<script type="text/javascript">/*<![CDATA[*/if (window.jQuery) jQuery(function(){
88
-		  $("input.autosaveactive").closest("form:not(.autosaveon)").autosave({url:"' . $GLOBALS['meta']['adresse_site'] . '/"}).addClass("autosaveon");
88
+		  $("input.autosaveactive").closest("form:not(.autosaveon)").autosave({url:"' . $GLOBALS['meta']['adresse_site'].'/"}).addClass("autosaveon");
89 89
 			});/*]]>*/</script>';
90 90
 	}
91 91
 
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
 	// on elimine les donnees de la session
108 108
 	if ($cle_autosave = _request('autosave')) {
109 109
 		include_spip('inc/session');
110
-		session_set('session_autosave_' . $cle_autosave, null);
110
+		session_set('session_autosave_'.$cle_autosave, null);
111 111
 	}
112 112
 
113 113
 	if (isset($GLOBALS['visiteur_session']) and $GLOBALS['visiteur_session']) {
Please login to merge, or discard this patch.