Completed
Push — master ( 1dde8c...5a052b )
by cam
01:06
created
ecrire/inc/auth.php 2 patches
Spacing   +14 added lines, -15 removed lines patch added patch discarded remove patch
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	}
60 60
 
61 61
 	$n = intval(sql_errno());
62
-	spip_log("Erreur base de donnees $n " . sql_error());
62
+	spip_log("Erreur base de donnees $n ".sql_error());
63 63
 
64 64
 	return $n ? $n : 1;
65 65
 }
@@ -85,11 +85,11 @@  discard block
 block discarded – undo
85 85
 		// erreur SQL a afficher
86 86
 		$raison = minipres(
87 87
 			_T('info_travaux_titre'),
88
-			_T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
88
+			_T('titre_probleme_technique').'<p><tt>'.sql_errno().' '.sql_error().'</tt></p>'
89 89
 		);
90 90
 	} elseif (@$raison['statut']) {
91 91
 		// un simple visiteur n'a pas acces a l'espace prive
92
-		spip_log('connexion refusee a ' . @$raison['id_auteur']);
92
+		spip_log('connexion refusee a '.@$raison['id_auteur']);
93 93
 		$raison = minipres(_T('avis_erreur_connexion'), _T('avis_erreur_visiteur'));
94 94
 	} else {
95 95
 		// auteur en fin de droits ...
@@ -178,8 +178,7 @@  discard block
 block discarded – undo
178 178
 	$where = (is_numeric($id_auteur)
179 179
 		/*AND $id_auteur>0*/ // reprise lors des restaurations
180 180
 	) ?
181
-		"id_auteur=$id_auteur" :
182
-		(!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
181
+		"id_auteur=$id_auteur" : (!strlen($GLOBALS['connect_login']) ? '' : 'login='.sql_quote($GLOBALS['connect_login'], '', 'text'));
183 182
 
184 183
 	if (!$where) {
185 184
 		return '';
@@ -221,7 +220,7 @@  discard block
 block discarded – undo
221 220
 	$GLOBALS['connect_login'] = $row['login'];
222 221
 	$GLOBALS['connect_statut'] = $row['statut'];
223 222
 
224
-	$GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
223
+	$GLOBALS['visiteur_session'] = array_merge((array) $GLOBALS['visiteur_session'], $row);
225 224
 
226 225
 	// au cas ou : ne pas memoriser les champs sensibles
227 226
 	unset($GLOBALS['visiteur_session']['pass']);
@@ -290,7 +289,7 @@  discard block
 block discarded – undo
290 289
  * @return string
291 290
  */
292 291
 function auth_a_loger() {
293
-	$redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), '&');
292
+	$redirect = generer_url_public('login', 'url='.rawurlencode(self('&', true)), '&');
294 293
 
295 294
 	// un echec au "bonjour" (login initial) quand le statut est
296 295
 	// inconnu signale sans doute un probleme de cookies
@@ -328,7 +327,7 @@  discard block
 block discarded – undo
328 327
 	}
329 328
 
330 329
 	if (abs(strtotime($date) - $connect_quand) >= 60) {
331
-		sql_updateq('spip_auteurs', array('en_ligne' => $date), 'id_auteur=' . intval($row['id_auteur']));
330
+		sql_updateq('spip_auteurs', array('en_ligne' => $date), 'id_auteur='.intval($row['id_auteur']));
332 331
 		$row['en_ligne'] = $date;
333 332
 	}
334 333
 
@@ -435,14 +434,14 @@  discard block
 block discarded – undo
435 434
 function auth_informer_login($login, $serveur = '') {
436 435
 	if (!$login
437 436
 		or !$login_base = auth_retrouver_login($login, $serveur)
438
-		or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
437
+		or !$row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
439 438
 	) {
440 439
 
441 440
 		// generer de fausses infos, mais credibles, pour eviter une attaque
442 441
 		// https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
443 442
 		include_spip('inc/securiser_action');
444
-		$fauxalea1 = md5('fauxalea' . secret_du_site() . $login . floor(date('U') / 86400));
445
-		$fauxalea2 = md5('fauxalea' . secret_du_site() . $login . ceil(date('U') / 86400));
443
+		$fauxalea1 = md5('fauxalea'.secret_du_site().$login.floor(date('U') / 86400));
444
+		$fauxalea2 = md5('fauxalea'.secret_du_site().$login.ceil(date('U') / 86400));
446 445
 
447 446
 		$row = array(
448 447
 			'login' => $login,
@@ -564,7 +563,7 @@  discard block
 block discarded – undo
564 563
 	sql_updateq(
565 564
 		'spip_auteurs',
566 565
 		array('prefs' => serialize($p)),
567
-		'id_auteur=' . intval($auteur['id_auteur'])
566
+		'id_auteur='.intval($auteur['id_auteur'])
568 567
 	);
569 568
 
570 569
 	//  bloquer ici le visiteur qui tente d'abuser de ses droits
@@ -728,7 +727,7 @@  discard block
 block discarded – undo
728 727
 		return false;
729 728
 	}
730 729
 
731
-	$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
730
+	$row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
732 731
 
733 732
 	if (!$row) {
734 733
 		if (spip_connect_ldap($serveur)
@@ -780,11 +779,11 @@  discard block
 block discarded – undo
780 779
 	$retour = $retour ? $retour : _T('icone_retour');
781 780
 	$corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
782 781
 	if ($url) {
783
-		$corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
782
+		$corps .= "[<a href='".generer_url_action('cookie', "essai_auth_http=oui&$url")."'>$re</a>]";
784 783
 	}
785 784
 
786 785
 	if ($lien) {
787
-		$corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
786
+		$corps .= " [<a href='$ecrire'>"._T('login_espace_prive').'</a>]';
788 787
 	}
789 788
 	include_spip('inc/minipres');
790 789
 	echo minipres($pb, $corps);
Please login to merge, or discard this patch.
Indentation   +445 added lines, -445 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('base/abstract_sql');
@@ -35,33 +35,33 @@  discard block
 block discarded – undo
35 35
  *  - une chaîne vide si autorisation à pénétrer dans l'espace privé.
36 36
  */
37 37
 function inc_auth_dist() {
38
-	$row = auth_mode();
38
+    $row = auth_mode();
39 39
 
40
-	if ($row) {
41
-		return auth_init_droits($row);
42
-	}
40
+    if ($row) {
41
+        return auth_init_droits($row);
42
+    }
43 43
 
44
-	if (!$GLOBALS['connect_login']) {
45
-		return auth_a_loger();
46
-	}
44
+    if (!$GLOBALS['connect_login']) {
45
+        return auth_a_loger();
46
+    }
47 47
 
48
-	// Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui
49
-	// C'est soit parce que la base est inutilisable,
50
-	// soit parce que la table des auteurs a changee (restauration etc)
51
-	// Pas la peine d'insister.
52
-	// Renvoyer le nom fautif et une URL de remise a zero
48
+    // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui
49
+    // C'est soit parce que la base est inutilisable,
50
+    // soit parce que la table des auteurs a changee (restauration etc)
51
+    // Pas la peine d'insister.
52
+    // Renvoyer le nom fautif et une URL de remise a zero
53 53
 
54
-	if (spip_connect()) {
55
-		return array(
56
-			'login' => $GLOBALS['connect_login'],
57
-			'site' => generer_url_public('', 'action=logout&amp;logout=prive')
58
-		);
59
-	}
54
+    if (spip_connect()) {
55
+        return array(
56
+            'login' => $GLOBALS['connect_login'],
57
+            'site' => generer_url_public('', 'action=logout&amp;logout=prive')
58
+        );
59
+    }
60 60
 
61
-	$n = intval(sql_errno());
62
-	spip_log("Erreur base de donnees $n " . sql_error());
61
+    $n = intval(sql_errno());
62
+    spip_log("Erreur base de donnees $n " . sql_error());
63 63
 
64
-	return $n ? $n : 1;
64
+    return $n ? $n : 1;
65 65
 }
66 66
 
67 67
 /**
@@ -73,39 +73,39 @@  discard block
 block discarded – undo
73 73
  * @return array|string
74 74
  */
75 75
 function auth_echec($raison) {
76
-	include_spip('inc/minipres');
77
-	include_spip('inc/headers');
78
-	// pas authentifie. Pourquoi ?
79
-	if (is_string($raison)) {
80
-		// redirection vers une page d'authentification
81
-		// on ne revient pas de cette fonction
82
-		// sauf si pb de header
83
-		$raison = redirige_formulaire($raison);
84
-	} elseif (is_int($raison)) {
85
-		// erreur SQL a afficher
86
-		$raison = minipres(
87
-			_T('info_travaux_titre'),
88
-			_T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
89
-		);
90
-	} elseif (@$raison['statut']) {
91
-		// un simple visiteur n'a pas acces a l'espace prive
92
-		spip_log('connexion refusee a ' . @$raison['id_auteur']);
93
-		$raison = minipres(_T('avis_erreur_connexion'), _T('avis_erreur_visiteur'));
94
-	} else {
95
-		// auteur en fin de droits ...
96
-		$h = $raison['site'];
97
-		$raison = minipres(
98
-			_T('avis_erreur_connexion'),
99
-			'<br /><br /><p>'
100
-			. _T('texte_inc_auth_1', array('auth_login' => $raison['login']))
101
-			. " <a href='$h'>"
102
-			. _T('texte_inc_auth_2')
103
-			. '</a>'
104
-			. _T('texte_inc_auth_3')
105
-		);
106
-	}
107
-
108
-	return $raison;
76
+    include_spip('inc/minipres');
77
+    include_spip('inc/headers');
78
+    // pas authentifie. Pourquoi ?
79
+    if (is_string($raison)) {
80
+        // redirection vers une page d'authentification
81
+        // on ne revient pas de cette fonction
82
+        // sauf si pb de header
83
+        $raison = redirige_formulaire($raison);
84
+    } elseif (is_int($raison)) {
85
+        // erreur SQL a afficher
86
+        $raison = minipres(
87
+            _T('info_travaux_titre'),
88
+            _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
89
+        );
90
+    } elseif (@$raison['statut']) {
91
+        // un simple visiteur n'a pas acces a l'espace prive
92
+        spip_log('connexion refusee a ' . @$raison['id_auteur']);
93
+        $raison = minipres(_T('avis_erreur_connexion'), _T('avis_erreur_visiteur'));
94
+    } else {
95
+        // auteur en fin de droits ...
96
+        $h = $raison['site'];
97
+        $raison = minipres(
98
+            _T('avis_erreur_connexion'),
99
+            '<br /><br /><p>'
100
+            . _T('texte_inc_auth_1', array('auth_login' => $raison['login']))
101
+            . " <a href='$h'>"
102
+            . _T('texte_inc_auth_2')
103
+            . '</a>'
104
+            . _T('texte_inc_auth_3')
105
+        );
106
+    }
107
+
108
+    return $raison;
109 109
 }
110 110
 
111 111
 /**
@@ -115,80 +115,80 @@  discard block
 block discarded – undo
115 115
  * @return array|bool|string
116 116
  */
117 117
 function auth_mode() {
118
-	//
119
-	// Initialiser variables (eviter hacks par URL)
120
-	//
121
-	$GLOBALS['connect_login'] = '';
122
-	$id_auteur = null;
123
-	$GLOBALS['auth_can_disconnect'] = false;
124
-
125
-	//
126
-	// Recuperer les donnees d'identification
127
-	//
128
-	include_spip('inc/session');
129
-	// Session valide en cours ?
130
-	if (isset($_COOKIE['spip_session'])) {
131
-		$session = charger_fonction('session', 'inc');
132
-		if ($id_auteur = $session()
133
-			or $id_auteur === 0 // reprise sur restauration
134
-		) {
135
-			$GLOBALS['auth_can_disconnect'] = true;
136
-			$GLOBALS['connect_login'] = session_get('login');
137
-		} else {
138
-			unset($_COOKIE['spip_session']);
139
-		}
140
-	}
141
-
142
-	// Essayer auth http si significatif
143
-	// (ignorer les login d'intranet independants de spip)
144
-	if (!$GLOBALS['ignore_auth_http']) {
145
-		if (
146
-			(isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW'])
147
-				and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))
148
-			or
149
-			// Si auth http differtente de basic, PHP_AUTH_PW
150
-			// est indisponible mais tentons quand meme pour
151
-			// autocreation via LDAP
152
-			(isset($_SERVER['REMOTE_USER'])
153
-				and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], ''))
154
-		) {
155
-			if (!$id_auteur) {
156
-				$_SERVER['PHP_AUTH_PW'] = '';
157
-				$GLOBALS['auth_can_disconnect'] = true;
158
-				$GLOBALS['visiteur_session'] = $r;
159
-				$GLOBALS['connect_login'] = session_get('login');
160
-				$id_auteur = $r['id_auteur'];
161
-			} else {
162
-				// cas de la session en plus de PHP_AUTH
163
-				/*				  if ($id_auteur != $r['id_auteur']){
118
+    //
119
+    // Initialiser variables (eviter hacks par URL)
120
+    //
121
+    $GLOBALS['connect_login'] = '';
122
+    $id_auteur = null;
123
+    $GLOBALS['auth_can_disconnect'] = false;
124
+
125
+    //
126
+    // Recuperer les donnees d'identification
127
+    //
128
+    include_spip('inc/session');
129
+    // Session valide en cours ?
130
+    if (isset($_COOKIE['spip_session'])) {
131
+        $session = charger_fonction('session', 'inc');
132
+        if ($id_auteur = $session()
133
+            or $id_auteur === 0 // reprise sur restauration
134
+        ) {
135
+            $GLOBALS['auth_can_disconnect'] = true;
136
+            $GLOBALS['connect_login'] = session_get('login');
137
+        } else {
138
+            unset($_COOKIE['spip_session']);
139
+        }
140
+    }
141
+
142
+    // Essayer auth http si significatif
143
+    // (ignorer les login d'intranet independants de spip)
144
+    if (!$GLOBALS['ignore_auth_http']) {
145
+        if (
146
+            (isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW'])
147
+                and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))
148
+            or
149
+            // Si auth http differtente de basic, PHP_AUTH_PW
150
+            // est indisponible mais tentons quand meme pour
151
+            // autocreation via LDAP
152
+            (isset($_SERVER['REMOTE_USER'])
153
+                and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], ''))
154
+        ) {
155
+            if (!$id_auteur) {
156
+                $_SERVER['PHP_AUTH_PW'] = '';
157
+                $GLOBALS['auth_can_disconnect'] = true;
158
+                $GLOBALS['visiteur_session'] = $r;
159
+                $GLOBALS['connect_login'] = session_get('login');
160
+                $id_auteur = $r['id_auteur'];
161
+            } else {
162
+                // cas de la session en plus de PHP_AUTH
163
+                /*				  if ($id_auteur != $r['id_auteur']){
164 164
 					spip_log("vol de session $id_auteur" . join(', ', $r));
165 165
 				unset($_COOKIE['spip_session']);
166 166
 				$id_auteur = '';
167 167
 				} */
168
-			}
169
-		} else {
170
-			// Authentification .htaccess old style, car .htaccess semble
171
-			// souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW
172
-			if (isset($_SERVER['REMOTE_USER'])) {
173
-				$GLOBALS['connect_login'] = $_SERVER['REMOTE_USER'];
174
-			}
175
-		}
176
-	}
177
-
178
-	$where = (is_numeric($id_auteur)
179
-		/*AND $id_auteur>0*/ // reprise lors des restaurations
180
-	) ?
181
-		"id_auteur=$id_auteur" :
182
-		(!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
183
-
184
-	if (!$where) {
185
-		return '';
186
-	}
187
-
188
-	// Trouver les autres infos dans la table auteurs.
189
-	// le champ 'quand' est utilise par l'agenda
190
-
191
-	return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'");
168
+            }
169
+        } else {
170
+            // Authentification .htaccess old style, car .htaccess semble
171
+            // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW
172
+            if (isset($_SERVER['REMOTE_USER'])) {
173
+                $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER'];
174
+            }
175
+        }
176
+    }
177
+
178
+    $where = (is_numeric($id_auteur)
179
+        /*AND $id_auteur>0*/ // reprise lors des restaurations
180
+    ) ?
181
+        "id_auteur=$id_auteur" :
182
+        (!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
183
+
184
+    if (!$where) {
185
+        return '';
186
+    }
187
+
188
+    // Trouver les autres infos dans la table auteurs.
189
+    // le champ 'quand' est utilise par l'agenda
190
+
191
+    return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'");
192 192
 }
193 193
 
194 194
 /**
@@ -206,86 +206,86 @@  discard block
 block discarded – undo
206 206
  */
207 207
 function auth_init_droits($row) {
208 208
 
209
-	include_spip('inc/autoriser');
210
-	if (!autoriser('loger', '', 0, $row)) {
211
-		return false;
212
-	}
213
-
214
-
215
-	if ($row['statut'] == 'nouveau') {
216
-		include_spip('action/inscrire_auteur');
217
-		$row = confirmer_statut_inscription($row);
218
-	}
219
-
220
-	$GLOBALS['connect_id_auteur'] = $row['id_auteur'];
221
-	$GLOBALS['connect_login'] = $row['login'];
222
-	$GLOBALS['connect_statut'] = $row['statut'];
223
-
224
-	$GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
225
-
226
-	// au cas ou : ne pas memoriser les champs sensibles
227
-	unset($GLOBALS['visiteur_session']['pass']);
228
-	unset($GLOBALS['visiteur_session']['htpass']);
229
-	unset($GLOBALS['visiteur_session']['alea_actuel']);
230
-	unset($GLOBALS['visiteur_session']['alea_futur']);
231
-	unset($GLOBALS['visiteur_session']['ldap_password']);
232
-
233
-	// creer la session au besoin
234
-	if (!isset($_COOKIE['spip_session'])) {
235
-		$session = charger_fonction('session', 'inc');
236
-		$spip_session = $session($row);
237
-	}
238
-
239
-	// reinjecter les preferences_auteur apres le reset de spip_session
240
-	// car utilisees au retour par auth_loger()
241
-	$r = @unserialize($row['prefs']);
242
-	$GLOBALS['visiteur_session']['prefs'] = ($r ? $r : array());
243
-	// si prefs pas definies, les definir par defaut
244
-	if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) {
245
-		$GLOBALS['visiteur_session']['prefs']['couleur'] = 2;
246
-		$GLOBALS['visiteur_session']['prefs']['display'] = 2;
247
-		$GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones';
248
-		$GLOBALS['visiteur_session']['prefs']['display_outils'] = 'oui';
249
-	}
250
-
251
-	$GLOBALS['visiteur_session'] = pipeline(
252
-		'preparer_visiteur_session',
253
-		array('args' => array('row' => $row),
254
-		'data' => $GLOBALS['visiteur_session'])
255
-	);
256
-
257
-	// Etablir les droits selon le codage attendu
258
-	// dans ecrire/index.php ecrire/prive.php
259
-
260
-	// Pas autorise a acceder a ecrire ? renvoyer le tableau
261
-	// A noter : le premier appel a autoriser() a le bon gout
262
-	// d'initialiser $GLOBALS['visiteur_session']['restreint'],
263
-	// qui ne figure pas dans le fichier de session
264
-
265
-	if (!autoriser('ecrire')) {
266
-		return $row;
267
-	}
268
-
269
-	// autoriser('ecrire') ne laisse passer que les Admin et les Redac
270
-
271
-	auth_trace($row);
272
-
273
-	// Administrateurs
274
-	if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) {
275
-		if (
276
-			isset($GLOBALS['visiteur_session']['restreint'])
277
-			and is_array($GLOBALS['visiteur_session']['restreint'])
278
-		) {
279
-			$GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint'];
280
-		}
281
-		if ($GLOBALS['connect_statut'] == '0minirezo') {
282
-			$GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique'];
283
-		}
284
-	}
285
-
286
-	// Pour les redacteurs, inc_version a fait l'initialisation minimale
287
-
288
-	return ''; // i.e. pas de pb.
209
+    include_spip('inc/autoriser');
210
+    if (!autoriser('loger', '', 0, $row)) {
211
+        return false;
212
+    }
213
+
214
+
215
+    if ($row['statut'] == 'nouveau') {
216
+        include_spip('action/inscrire_auteur');
217
+        $row = confirmer_statut_inscription($row);
218
+    }
219
+
220
+    $GLOBALS['connect_id_auteur'] = $row['id_auteur'];
221
+    $GLOBALS['connect_login'] = $row['login'];
222
+    $GLOBALS['connect_statut'] = $row['statut'];
223
+
224
+    $GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
225
+
226
+    // au cas ou : ne pas memoriser les champs sensibles
227
+    unset($GLOBALS['visiteur_session']['pass']);
228
+    unset($GLOBALS['visiteur_session']['htpass']);
229
+    unset($GLOBALS['visiteur_session']['alea_actuel']);
230
+    unset($GLOBALS['visiteur_session']['alea_futur']);
231
+    unset($GLOBALS['visiteur_session']['ldap_password']);
232
+
233
+    // creer la session au besoin
234
+    if (!isset($_COOKIE['spip_session'])) {
235
+        $session = charger_fonction('session', 'inc');
236
+        $spip_session = $session($row);
237
+    }
238
+
239
+    // reinjecter les preferences_auteur apres le reset de spip_session
240
+    // car utilisees au retour par auth_loger()
241
+    $r = @unserialize($row['prefs']);
242
+    $GLOBALS['visiteur_session']['prefs'] = ($r ? $r : array());
243
+    // si prefs pas definies, les definir par defaut
244
+    if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) {
245
+        $GLOBALS['visiteur_session']['prefs']['couleur'] = 2;
246
+        $GLOBALS['visiteur_session']['prefs']['display'] = 2;
247
+        $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones';
248
+        $GLOBALS['visiteur_session']['prefs']['display_outils'] = 'oui';
249
+    }
250
+
251
+    $GLOBALS['visiteur_session'] = pipeline(
252
+        'preparer_visiteur_session',
253
+        array('args' => array('row' => $row),
254
+        'data' => $GLOBALS['visiteur_session'])
255
+    );
256
+
257
+    // Etablir les droits selon le codage attendu
258
+    // dans ecrire/index.php ecrire/prive.php
259
+
260
+    // Pas autorise a acceder a ecrire ? renvoyer le tableau
261
+    // A noter : le premier appel a autoriser() a le bon gout
262
+    // d'initialiser $GLOBALS['visiteur_session']['restreint'],
263
+    // qui ne figure pas dans le fichier de session
264
+
265
+    if (!autoriser('ecrire')) {
266
+        return $row;
267
+    }
268
+
269
+    // autoriser('ecrire') ne laisse passer que les Admin et les Redac
270
+
271
+    auth_trace($row);
272
+
273
+    // Administrateurs
274
+    if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) {
275
+        if (
276
+            isset($GLOBALS['visiteur_session']['restreint'])
277
+            and is_array($GLOBALS['visiteur_session']['restreint'])
278
+        ) {
279
+            $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint'];
280
+        }
281
+        if ($GLOBALS['connect_statut'] == '0minirezo') {
282
+            $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique'];
283
+        }
284
+    }
285
+
286
+    // Pour les redacteurs, inc_version a fait l'initialisation minimale
287
+
288
+    return ''; // i.e. pas de pb.
289 289
 }
290 290
 
291 291
 /**
@@ -294,23 +294,23 @@  discard block
 block discarded – undo
294 294
  * @return string
295 295
  */
296 296
 function auth_a_loger() {
297
-	$redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), '&');
298
-
299
-	// un echec au "bonjour" (login initial) quand le statut est
300
-	// inconnu signale sans doute un probleme de cookies
301
-	if (isset($_GET['bonjour'])) {
302
-		$redirect = parametre_url(
303
-			$redirect,
304
-			'var_erreur',
305
-			(!isset($GLOBALS['visiteur_session']['statut'])
306
-				? 'cookie'
307
-				: 'statut'
308
-			),
309
-			'&'
310
-		);
311
-	}
312
-
313
-	return $redirect;
297
+    $redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), '&');
298
+
299
+    // un echec au "bonjour" (login initial) quand le statut est
300
+    // inconnu signale sans doute un probleme de cookies
301
+    if (isset($_GET['bonjour'])) {
302
+        $redirect = parametre_url(
303
+            $redirect,
304
+            'var_erreur',
305
+            (!isset($GLOBALS['visiteur_session']['statut'])
306
+                ? 'cookie'
307
+                : 'statut'
308
+            ),
309
+            '&'
310
+        );
311
+    }
312
+
313
+    return $redirect;
314 314
 }
315 315
 
316 316
 /**
@@ -322,21 +322,21 @@  discard block
 block discarded – undo
322 322
  * @param null|string $date
323 323
  */
324 324
 function auth_trace($row, $date = null) {
325
-	// Indiquer la connexion. A la minute pres ca suffit.
326
-	if (!is_numeric($connect_quand = isset($row['quand']) ? $row['quand'] : '')) {
327
-		$connect_quand = strtotime($connect_quand);
328
-	}
325
+    // Indiquer la connexion. A la minute pres ca suffit.
326
+    if (!is_numeric($connect_quand = isset($row['quand']) ? $row['quand'] : '')) {
327
+        $connect_quand = strtotime($connect_quand);
328
+    }
329 329
 
330
-	if (is_null($date)) {
331
-		$date = date('Y-m-d H:i:s');
332
-	}
330
+    if (is_null($date)) {
331
+        $date = date('Y-m-d H:i:s');
332
+    }
333 333
 
334
-	if (abs(strtotime($date) - $connect_quand) >= 60) {
335
-		sql_updateq('spip_auteurs', array('en_ligne' => $date), 'id_auteur=' . intval($row['id_auteur']));
336
-		$row['en_ligne'] = $date;
337
-	}
334
+    if (abs(strtotime($date) - $connect_quand) >= 60) {
335
+        sql_updateq('spip_auteurs', array('en_ligne' => $date), 'id_auteur=' . intval($row['id_auteur']));
336
+        $row['en_ligne'] = $date;
337
+    }
338 338
 
339
-	pipeline('trig_auth_trace', array('args' => array('row' => $row, 'date' => $date)));
339
+    pipeline('trig_auth_trace', array('args' => array('row' => $row, 'date' => $date)));
340 340
 }
341 341
 
342 342
 
@@ -362,27 +362,27 @@  discard block
 block discarded – undo
362 362
  * @return mixed
363 363
  */
364 364
 function auth_administrer($fonction, $args, $defaut = false) {
365
-	$auth_methode = array_shift($args);
366
-	$auth_methode = $auth_methode ? $auth_methode : 'spip'; // valeur par defaut au cas ou
367
-	if ($auth = charger_fonction($auth_methode, 'auth', true)
368
-		and function_exists($f = "auth_{$auth_methode}_$fonction")
369
-	) {
370
-		$res = call_user_func_array($f, $args);
371
-	} else {
372
-		$res = $defaut;
373
-	}
374
-	$res = pipeline(
375
-		'auth_administrer',
376
-		array(
377
-			'args' => array(
378
-				'fonction' => $fonction,
379
-				'methode' => $auth_methode,
380
-				'args' => $args
381
-			),
382
-			'data' => $res
383
-		)
384
-	);
385
-	return $res;
365
+    $auth_methode = array_shift($args);
366
+    $auth_methode = $auth_methode ? $auth_methode : 'spip'; // valeur par defaut au cas ou
367
+    if ($auth = charger_fonction($auth_methode, 'auth', true)
368
+        and function_exists($f = "auth_{$auth_methode}_$fonction")
369
+    ) {
370
+        $res = call_user_func_array($f, $args);
371
+    } else {
372
+        $res = $defaut;
373
+    }
374
+    $res = pipeline(
375
+        'auth_administrer',
376
+        array(
377
+            'args' => array(
378
+                'fonction' => $fonction,
379
+                'methode' => $auth_methode,
380
+                'args' => $args
381
+            ),
382
+            'data' => $res
383
+        )
384
+    );
385
+    return $res;
386 386
 }
387 387
 
388 388
 /**
@@ -392,11 +392,11 @@  discard block
 block discarded – undo
392 392
  * @return array
393 393
  */
394 394
 function auth_formulaire_login($flux) {
395
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
396
-		$flux = auth_administrer('formulaire_login', array($methode, $flux), $flux);
397
-	}
395
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
396
+        $flux = auth_administrer('formulaire_login', array($methode, $flux), $flux);
397
+    }
398 398
 
399
-	return $flux;
399
+    return $flux;
400 400
 }
401 401
 
402 402
 
@@ -410,19 +410,19 @@  discard block
 block discarded – undo
410 410
  * @return string/bool
411 411
  */
412 412
 function auth_retrouver_login($login, $serveur = '') {
413
-	if (!spip_connect($serveur)) {
414
-		include_spip('inc/minipres');
415
-		echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'));
416
-		exit;
417
-	}
418
-
419
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
420
-		if ($auteur = auth_administrer('retrouver_login', array($methode, $login, $serveur))) {
421
-			return $auteur;
422
-		}
423
-	}
424
-
425
-	return false;
413
+    if (!spip_connect($serveur)) {
414
+        include_spip('inc/minipres');
415
+        echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'));
416
+        exit;
417
+    }
418
+
419
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
420
+        if ($auteur = auth_administrer('retrouver_login', array($methode, $login, $serveur))) {
421
+            return $auteur;
422
+        }
423
+    }
424
+
425
+    return false;
426 426
 }
427 427
 
428 428
 /**
@@ -437,52 +437,52 @@  discard block
 block discarded – undo
437 437
  * @return array
438 438
  */
439 439
 function auth_informer_login($login, $serveur = '') {
440
-	if (!$login
441
-		or !$login_base = auth_retrouver_login($login, $serveur)
442
-		or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
443
-	) {
444
-
445
-		// generer de fausses infos, mais credibles, pour eviter une attaque
446
-		// https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
447
-		include_spip('inc/securiser_action');
448
-		$fauxalea1 = md5('fauxalea' . secret_du_site() . $login . floor(date('U') / 86400));
449
-		$fauxalea2 = md5('fauxalea' . secret_du_site() . $login . ceil(date('U') / 86400));
450
-
451
-		$row = array(
452
-			'login' => $login,
453
-			'cnx' => '0',
454
-			'logo' => '',
455
-			'alea_actuel' => substr_replace($fauxalea1, '.', 24, 0),
456
-			'alea_futur' => substr_replace($fauxalea2, '.', 24, 0)
457
-		);
458
-
459
-		// permettre d'autoriser l'envoi de password non crypte lorsque
460
-		// l'auteur n'est pas (encore) declare dans SPIP, par exemple pour les cas
461
-		// de premiere authentification via SPIP a une autre application.
462
-		if (defined('_AUTORISER_AUTH_FAIBLE') and _AUTORISER_AUTH_FAIBLE) {
463
-			$row['alea_actuel'] = '';
464
-			$row['alea_futur'] = '';
465
-		}
466
-
467
-		return $row;
468
-	}
469
-
470
-	$prefs = @unserialize($row['prefs']);
471
-	$infos = array(
472
-		'id_auteur' => $row['id_auteur'],
473
-		'login' => $row['login'],
474
-		'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0',
475
-		'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row),
476
-	);
477
-
478
-	// desactiver le hash md5 si pas auteur spip ?
479
-	if ($row['source'] !== 'spip') {
480
-		$row['alea_actuel'] = '';
481
-		$row['alea_futur'] = '';
482
-	}
483
-	verifier_visiteur();
484
-
485
-	return auth_administrer('informer_login', array($row['source'], $infos, $row, $serveur), $infos);
440
+    if (!$login
441
+        or !$login_base = auth_retrouver_login($login, $serveur)
442
+        or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
443
+    ) {
444
+
445
+        // generer de fausses infos, mais credibles, pour eviter une attaque
446
+        // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
447
+        include_spip('inc/securiser_action');
448
+        $fauxalea1 = md5('fauxalea' . secret_du_site() . $login . floor(date('U') / 86400));
449
+        $fauxalea2 = md5('fauxalea' . secret_du_site() . $login . ceil(date('U') / 86400));
450
+
451
+        $row = array(
452
+            'login' => $login,
453
+            'cnx' => '0',
454
+            'logo' => '',
455
+            'alea_actuel' => substr_replace($fauxalea1, '.', 24, 0),
456
+            'alea_futur' => substr_replace($fauxalea2, '.', 24, 0)
457
+        );
458
+
459
+        // permettre d'autoriser l'envoi de password non crypte lorsque
460
+        // l'auteur n'est pas (encore) declare dans SPIP, par exemple pour les cas
461
+        // de premiere authentification via SPIP a une autre application.
462
+        if (defined('_AUTORISER_AUTH_FAIBLE') and _AUTORISER_AUTH_FAIBLE) {
463
+            $row['alea_actuel'] = '';
464
+            $row['alea_futur'] = '';
465
+        }
466
+
467
+        return $row;
468
+    }
469
+
470
+    $prefs = @unserialize($row['prefs']);
471
+    $infos = array(
472
+        'id_auteur' => $row['id_auteur'],
473
+        'login' => $row['login'],
474
+        'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0',
475
+        'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row),
476
+    );
477
+
478
+    // desactiver le hash md5 si pas auteur spip ?
479
+    if ($row['source'] !== 'spip') {
480
+        $row['alea_actuel'] = '';
481
+        $row['alea_futur'] = '';
482
+    }
483
+    verifier_visiteur();
484
+
485
+    return auth_administrer('informer_login', array($row['source'], $infos, $row, $serveur), $infos);
486 486
 }
487 487
 
488 488
 
@@ -496,21 +496,21 @@  discard block
 block discarded – undo
496 496
  * @return mixed
497 497
  */
498 498
 function auth_identifier_login($login, $password, $serveur = '') {
499
-	$erreur = '';
500
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
501
-		if ($auth = charger_fonction($methode, 'auth', true)) {
502
-			$auteur = $auth($login, $password, $serveur);
503
-			if (is_array($auteur) and count($auteur)) {
504
-				spip_log("connexion de $login par methode $methode");
505
-				$auteur['auth'] = $methode;
506
-				return $auteur;
507
-			} elseif (is_string($auteur)) {
508
-				$erreur .= "$auteur ";
509
-			}
510
-		}
511
-	}
512
-
513
-	return $erreur;
499
+    $erreur = '';
500
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
501
+        if ($auth = charger_fonction($methode, 'auth', true)) {
502
+            $auteur = $auth($login, $password, $serveur);
503
+            if (is_array($auteur) and count($auteur)) {
504
+                spip_log("connexion de $login par methode $methode");
505
+                $auteur['auth'] = $methode;
506
+                return $auteur;
507
+            } elseif (is_string($auteur)) {
508
+                $erreur .= "$auteur ";
509
+            }
510
+        }
511
+    }
512
+
513
+    return $erreur;
514 514
 }
515 515
 
516 516
 /**
@@ -524,8 +524,8 @@  discard block
 block discarded – undo
524 524
  * @return string
525 525
  */
526 526
 function auth_url_retour_login($auth_methode, $login, $redirect = '', $serveur = '') {
527
-	$securiser_action = charger_fonction('securiser_action', 'inc');
528
-	return $securiser_action('auth', "$auth_methode/$login", $redirect, true);
527
+    $securiser_action = charger_fonction('securiser_action', 'inc');
528
+    return $securiser_action('auth', "$auth_methode/$login", $redirect, true);
529 529
 }
530 530
 
531 531
 /**
@@ -539,9 +539,9 @@  discard block
 block discarded – undo
539 539
  * @return mixed
540 540
  */
541 541
 function auth_terminer_identifier_login($auth_methode, $login, $serveur = '') {
542
-	$args = func_get_args();
543
-	$auteur = auth_administrer('terminer_identifier_login', $args);
544
-	return $auteur;
542
+    $args = func_get_args();
543
+    $auteur = auth_administrer('terminer_identifier_login', $args);
544
+    return $auteur;
545 545
 }
546 546
 
547 547
 /**
@@ -551,29 +551,29 @@  discard block
 block discarded – undo
551 551
  * @return bool
552 552
  */
553 553
 function auth_loger($auteur) {
554
-	if (!is_array($auteur) or !count($auteur)) {
555
-		return false;
556
-	}
557
-
558
-	// initialiser et poser le cookie de session
559
-	unset($_COOKIE['spip_session']);
560
-	if (auth_init_droits($auteur) === false) {
561
-		return false;
562
-	}
563
-
564
-	// initialiser les prefs
565
-	$p = $GLOBALS['visiteur_session']['prefs'];
566
-	$p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : '';
567
-
568
-	sql_updateq(
569
-		'spip_auteurs',
570
-		array('prefs' => serialize($p)),
571
-		'id_auteur=' . intval($auteur['id_auteur'])
572
-	);
573
-
574
-	//  bloquer ici le visiteur qui tente d'abuser de ses droits
575
-	verifier_visiteur();
576
-	return true;
554
+    if (!is_array($auteur) or !count($auteur)) {
555
+        return false;
556
+    }
557
+
558
+    // initialiser et poser le cookie de session
559
+    unset($_COOKIE['spip_session']);
560
+    if (auth_init_droits($auteur) === false) {
561
+        return false;
562
+    }
563
+
564
+    // initialiser les prefs
565
+    $p = $GLOBALS['visiteur_session']['prefs'];
566
+    $p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : '';
567
+
568
+    sql_updateq(
569
+        'spip_auteurs',
570
+        array('prefs' => serialize($p)),
571
+        'id_auteur=' . intval($auteur['id_auteur'])
572
+    );
573
+
574
+    //  bloquer ici le visiteur qui tente d'abuser de ses droits
575
+    verifier_visiteur();
576
+    return true;
577 577
 }
578 578
 
579 579
 /**
@@ -583,8 +583,8 @@  discard block
 block discarded – undo
583 583
  * return void
584 584
  **/
585 585
 function auth_deloger() {
586
-	$logout = charger_fonction('logout', 'action');
587
-	$logout();
586
+    $logout = charger_fonction('logout', 'action');
587
+    $logout();
588 588
 }
589 589
 
590 590
 /**
@@ -598,8 +598,8 @@  discard block
 block discarded – undo
598 598
  * @return bool
599 599
  */
600 600
 function auth_autoriser_modifier_login($auth_methode, $serveur = '') {
601
-	$args = func_get_args();
602
-	return auth_administrer('autoriser_modifier_login', $args);
601
+    $args = func_get_args();
602
+    return auth_administrer('autoriser_modifier_login', $args);
603 603
 }
604 604
 
605 605
 /**
@@ -614,8 +614,8 @@  discard block
 block discarded – undo
614 614
  *  message d'erreur ou chaine vide si pas d'erreur
615 615
  */
616 616
 function auth_verifier_login($auth_methode, $new_login, $id_auteur = 0, $serveur = '') {
617
-	$args = func_get_args();
618
-	return auth_administrer('verifier_login', $args, '');
617
+    $args = func_get_args();
618
+    return auth_administrer('verifier_login', $args, '');
619 619
 }
620 620
 
621 621
 /**
@@ -628,8 +628,8 @@  discard block
 block discarded – undo
628 628
  * @return bool
629 629
  */
630 630
 function auth_modifier_login($auth_methode, $new_login, $id_auteur, $serveur = '') {
631
-	$args = func_get_args();
632
-	return auth_administrer('modifier_login', $args);
631
+    $args = func_get_args();
632
+    return auth_administrer('modifier_login', $args);
633 633
 }
634 634
 
635 635
 /**
@@ -644,8 +644,8 @@  discard block
 block discarded – undo
644 644
  *  succès ou échec
645 645
  */
646 646
 function auth_autoriser_modifier_pass($auth_methode, $serveur = '') {
647
-	$args = func_get_args();
648
-	return auth_administrer('autoriser_modifier_pass', $args);
647
+    $args = func_get_args();
648
+    return auth_administrer('autoriser_modifier_pass', $args);
649 649
 }
650 650
 
651 651
 /**
@@ -661,8 +661,8 @@  discard block
 block discarded – undo
661 661
  *  message d'erreur ou chaine vide si pas d'erreur
662 662
  */
663 663
 function auth_verifier_pass($auth_methode, $login, $new_pass, $id_auteur = 0, $serveur = '') {
664
-	$args = func_get_args();
665
-	return auth_administrer('verifier_pass', $args, '');
664
+    $args = func_get_args();
665
+    return auth_administrer('verifier_pass', $args, '');
666 666
 }
667 667
 
668 668
 /**
@@ -678,8 +678,8 @@  discard block
 block discarded – undo
678 678
  *  succes ou echec
679 679
  */
680 680
 function auth_modifier_pass($auth_methode, $login, $new_pass, $id_auteur, $serveur = '') {
681
-	$args = func_get_args();
682
-	return auth_administrer('modifier_pass', $args);
681
+    $args = func_get_args();
682
+    return auth_administrer('modifier_pass', $args);
683 683
 }
684 684
 
685 685
 /**
@@ -695,24 +695,24 @@  discard block
 block discarded – undo
695 695
  * @return void
696 696
  */
697 697
 function auth_synchroniser_distant(
698
-	$auth_methode = true,
699
-	$id_auteur = 0,
700
-	$champs = array(),
701
-	$options = array(),
702
-	$serveur = ''
698
+    $auth_methode = true,
699
+    $id_auteur = 0,
700
+    $champs = array(),
701
+    $options = array(),
702
+    $serveur = ''
703 703
 ) {
704
-	$args = func_get_args();
705
-	if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) {
706
-		$options['all'] = true; // ajouter une option all=>true pour chaque auth
707
-		$args = array(true, $id_auteur, $champs, $options, $serveur);
708
-		foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
709
-			array_shift($args);
710
-			array_unshift($args, $methode);
711
-			auth_administrer('synchroniser_distant', $args);
712
-		}
713
-	} else {
714
-		auth_administrer('synchroniser_distant', $args);
715
-	}
704
+    $args = func_get_args();
705
+    if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) {
706
+        $options['all'] = true; // ajouter une option all=>true pour chaque auth
707
+        $args = array(true, $id_auteur, $champs, $options, $serveur);
708
+        foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
709
+            array_shift($args);
710
+            array_unshift($args, $methode);
711
+            auth_administrer('synchroniser_distant', $args);
712
+        }
713
+    } else {
714
+        auth_administrer('synchroniser_distant', $args);
715
+    }
716 716
 }
717 717
 
718 718
 
@@ -725,42 +725,42 @@  discard block
 block discarded – undo
725 725
  * @return array|bool
726 726
  */
727 727
 function lire_php_auth($login, $pw, $serveur = '') {
728
-	if (
729
-		!$login
730
-		or !$login = auth_retrouver_login($login, $serveur)
731
-	) {
732
-		return false;
733
-	}
734
-
735
-	$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
736
-
737
-	if (!$row) {
738
-		if (spip_connect_ldap($serveur)
739
-			and $auth_ldap = charger_fonction('ldap', 'auth', true)
740
-		) {
741
-			return $auth_ldap($login, $pw, $serveur, true);
742
-		}
743
-
744
-		return false;
745
-	}
746
-	// su pas de source definie
747
-	// ou auth/xxx introuvable, utiliser 'spip'
748
-	if (!$auth_methode = $row['source']
749
-		or !$auth = charger_fonction($auth_methode, 'auth', true)
750
-	) {
751
-		$auth = charger_fonction('spip', 'auth', true);
752
-	}
753
-
754
-	$auteur = '';
755
-	if ($auth) {
756
-		$auteur = $auth($login, $pw, $serveur, true);
757
-	}
758
-	// verifier que ce n'est pas un message d'erreur
759
-	if (is_array($auteur) and count($auteur)) {
760
-		return $auteur;
761
-	}
762
-
763
-	return false;
728
+    if (
729
+        !$login
730
+        or !$login = auth_retrouver_login($login, $serveur)
731
+    ) {
732
+        return false;
733
+    }
734
+
735
+    $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur);
736
+
737
+    if (!$row) {
738
+        if (spip_connect_ldap($serveur)
739
+            and $auth_ldap = charger_fonction('ldap', 'auth', true)
740
+        ) {
741
+            return $auth_ldap($login, $pw, $serveur, true);
742
+        }
743
+
744
+        return false;
745
+    }
746
+    // su pas de source definie
747
+    // ou auth/xxx introuvable, utiliser 'spip'
748
+    if (!$auth_methode = $row['source']
749
+        or !$auth = charger_fonction($auth_methode, 'auth', true)
750
+    ) {
751
+        $auth = charger_fonction('spip', 'auth', true);
752
+    }
753
+
754
+    $auteur = '';
755
+    if ($auth) {
756
+        $auteur = $auth($login, $pw, $serveur, true);
757
+    }
758
+    // verifier que ce n'est pas un message d'erreur
759
+    if (is_array($auteur) and count($auteur)) {
760
+        return $auteur;
761
+    }
762
+
763
+    return false;
764 764
 }
765 765
 
766 766
 /**
@@ -776,21 +776,21 @@  discard block
 block discarded – undo
776 776
  * @param string $lien
777 777
  */
778 778
 function ask_php_auth($pb, $raison, $retour = '', $url = '', $re = '', $lien = '') {
779
-	@Header('WWW-Authenticate: Basic realm="espace prive"');
780
-	@Header('HTTP/1.0 401 Unauthorized');
781
-	$corps = '';
782
-	$public = generer_url_public();
783
-	$ecrire = generer_url_ecrire();
784
-	$retour = $retour ? $retour : _T('icone_retour');
785
-	$corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
786
-	if ($url) {
787
-		$corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
788
-	}
789
-
790
-	if ($lien) {
791
-		$corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
792
-	}
793
-	include_spip('inc/minipres');
794
-	echo minipres($pb, $corps);
795
-	exit;
779
+    @Header('WWW-Authenticate: Basic realm="espace prive"');
780
+    @Header('HTTP/1.0 401 Unauthorized');
781
+    $corps = '';
782
+    $public = generer_url_public();
783
+    $ecrire = generer_url_ecrire();
784
+    $retour = $retour ? $retour : _T('icone_retour');
785
+    $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
786
+    if ($url) {
787
+        $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
788
+    }
789
+
790
+    if ($lien) {
791
+        $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
792
+    }
793
+    include_spip('inc/minipres');
794
+    echo minipres($pb, $corps);
795
+    exit;
796 796
 }
Please login to merge, or discard this patch.
ecrire/inc/preselectionner_parent_nouvel_objet.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -47,12 +47,12 @@
 block discarded – undo
47 47
 		$id_rubrique = $row_rub['id_rubrique'];
48 48
 	}
49 49
 	// si le choix ne convient pas, on cherche dans un secteur
50
-	if (!autoriser('creer' . $objet . 'dans', 'rubrique', $id_rubrique)) {
50
+	if (!autoriser('creer'.$objet.'dans', 'rubrique', $id_rubrique)) {
51 51
 		$id_rubrique = '';
52 52
 		// manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
53 53
 		$res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
54 54
 		while (!$id_rubrique and $row_rub = sql_fetch($res)) {
55
-			if (autoriser('creer' . $objet . 'dans', 'rubrique', $row_rub['id_rubrique'])) {
55
+			if (autoriser('creer'.$objet.'dans', 'rubrique', $row_rub['id_rubrique'])) {
56 56
 				$id_rubrique = $row_rub['id_rubrique'];
57 57
 			}
58 58
 		}
Please login to merge, or discard this patch.
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -12,10 +12,10 @@  discard block
 block discarded – undo
12 12
 
13 13
 
14 14
 if (!defined('_ECRIRE_INC_VERSION')) {
15
-	return;
15
+    return;
16 16
 }
17 17
 if (!defined('_AUTO_SELECTION_RUBRIQUE')) {
18
-	define('_AUTO_SELECTION_RUBRIQUE', false);
18
+    define('_AUTO_SELECTION_RUBRIQUE', false);
19 19
 }
20 20
 
21 21
 
@@ -29,39 +29,39 @@  discard block
 block discarded – undo
29 29
  * @return string
30 30
  */
31 31
 function inc_preselectionner_parent_nouvel_objet_dist($objet, $row) {
32
-	if (!_AUTO_SELECTION_RUBRIQUE) {
33
-		return '';
34
-	}
32
+    if (!_AUTO_SELECTION_RUBRIQUE) {
33
+        return '';
34
+    }
35 35
 
36
-	if (!isset($row['id_rubrique'])) {
37
-		return '';
38
-	}
36
+    if (!isset($row['id_rubrique'])) {
37
+        return '';
38
+    }
39 39
 
40
-	$id_rubrique = '';
41
-	if ($GLOBALS['connect_id_rubrique']) {
42
-		// si admin restreint : sa rubrique
43
-		$id_rubrique = $GLOBALS['connect_id_rubrique'][0];
44
-	} elseif (is_int(_AUTO_SELECTION_RUBRIQUE)
45
-		and sql_fetsel("id_rubrique", "spip_rubriques", "id_rubrique=".intval(_AUTO_SELECTION_RUBRIQUE))
46
-	) {
47
-		$id_rubrique = _AUTO_SELECTION_RUBRIQUE;
48
-	} else {
49
-		// sinon la derniere rubrique cree
50
-		$row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "", "", "id_rubrique DESC", "0,1");
51
-		$id_rubrique = $row_rub['id_rubrique'];
52
-	}
53
-	// si le choix ne convient pas, on cherche dans un secteur
54
-	if (!autoriser('creer' . $objet . 'dans', 'rubrique', $id_rubrique)) {
55
-		$id_rubrique = '';
56
-		// manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
57
-		$res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
58
-		while (!$id_rubrique and $row_rub = sql_fetch($res)) {
59
-			if (autoriser('creer' . $objet . 'dans', 'rubrique', $row_rub['id_rubrique'])) {
60
-				$id_rubrique = $row_rub['id_rubrique'];
61
-			}
62
-		}
63
-	}
40
+    $id_rubrique = '';
41
+    if ($GLOBALS['connect_id_rubrique']) {
42
+        // si admin restreint : sa rubrique
43
+        $id_rubrique = $GLOBALS['connect_id_rubrique'][0];
44
+    } elseif (is_int(_AUTO_SELECTION_RUBRIQUE)
45
+        and sql_fetsel("id_rubrique", "spip_rubriques", "id_rubrique=".intval(_AUTO_SELECTION_RUBRIQUE))
46
+    ) {
47
+        $id_rubrique = _AUTO_SELECTION_RUBRIQUE;
48
+    } else {
49
+        // sinon la derniere rubrique cree
50
+        $row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "", "", "id_rubrique DESC", "0,1");
51
+        $id_rubrique = $row_rub['id_rubrique'];
52
+    }
53
+    // si le choix ne convient pas, on cherche dans un secteur
54
+    if (!autoriser('creer' . $objet . 'dans', 'rubrique', $id_rubrique)) {
55
+        $id_rubrique = '';
56
+        // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
57
+        $res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
58
+        while (!$id_rubrique and $row_rub = sql_fetch($res)) {
59
+            if (autoriser('creer' . $objet . 'dans', 'rubrique', $row_rub['id_rubrique'])) {
60
+                $id_rubrique = $row_rub['id_rubrique'];
61
+            }
62
+        }
63
+    }
64 64
 
65
-	return $id_rubrique;
65
+    return $id_rubrique;
66 66
 
67 67
 }
Please login to merge, or discard this patch.
ecrire/inc/iconifier.php 1 patch
Indentation   +5 added lines, -5 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/actions');
@@ -36,9 +36,9 @@  discard block
 block discarded – undo
36 36
  *     - ou tableau d'information sur le squelette.
37 37
  */
38 38
 function inc_iconifier_dist($objet, $id, $script, $visible = false, $flag_modif = true) {
39
-	// compat avec anciens appels
40
-	$objet = objet_type($objet);
39
+    // compat avec anciens appels
40
+    $objet = objet_type($objet);
41 41
 
42
-	return recuperer_fond('prive/objets/editer/logo',
43
-		array('objet' => $objet, 'id_objet' => $id, 'editable' => $flag_modif));
42
+    return recuperer_fond('prive/objets/editer/logo',
43
+        array('objet' => $objet, 'id_objet' => $id, 'editable' => $flag_modif));
44 44
 }
Please login to merge, or discard this patch.
ecrire/inc/lang_liste.php 2 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 	'cpf_dom' => "Krey&ograve;l",
52 52
 	'cpf_hat' => "Krey&ograve;l (Peyi Dayiti)",
53 53
 	'cs' => "&#269;e&#353;tina",
54
-	'cy' => "Cymraeg",  # welsh, gallois
54
+	'cy' => "Cymraeg", # welsh, gallois
55 55
 	'da' => "dansk",
56 56
 	'de' => "Deutsch",
57 57
 	'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.
Indentation   +198 added lines, -198 removed lines patch added patch discarded remove patch
@@ -19,206 +19,206 @@
 block discarded – undo
19 19
 */
20 20
 
21 21
 if (!defined('_ECRIRE_INC_VERSION')) {
22
-	return;
22
+    return;
23 23
 }
24 24
 
25 25
 $GLOBALS['codes_langues'] = array(
26
-	'aa' => "Afar",
27
-	'ab' => "Abkhazian",
28
-	'af' => "Afrikaans",
29
-	'am' => "Amharic",
30
-	'an' => "Aragon&#233;s",
31
-	'ar' => "&#1593;&#1585;&#1576;&#1610;",
32
-	'as' => "Assamese",
33
-	'ast' => "asturianu",
34
-	'ay' => "Aymara",
35
-	'az' => "Az&#601;rbaycan dili",
36
-	'ba' => "Bashkir",
37
-	'be' => "&#1041;&#1077;&#1083;&#1072;&#1088;&#1091;&#1089;&#1082;&#1072;&#1103;",
38
-	'ber_tam' => "Tamazigh",
39
-	'ber_tam_tfng' => "Tamazigh tifinagh",
40
-	'bg' => "&#1073;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080;",
41
-	'bh' => "Bihari",
42
-	'bi' => "Bislama",
43
-	'bm' => "Bambara",
44
-	'bn' => "Bengali; Bangla",
45
-	'bo' => "Tibetan",
46
-	'br' => "brezhoneg",
47
-	'bs' => "bosanski",
48
-	'ca' => "catal&#224;",
49
-	'co' => "corsu",
50
-	'cpf' => "Kr&eacute;ol r&eacute;yon&eacute;",
51
-	'cpf_dom' => "Krey&ograve;l",
52
-	'cpf_hat' => "Krey&ograve;l (Peyi Dayiti)",
53
-	'cs' => "&#269;e&#353;tina",
54
-	'cy' => "Cymraeg",  # welsh, gallois
55
-	'da' => "dansk",
56
-	'de' => "Deutsch",
57
-	'dz' => "Bhutani",
58
-	'el' => "&#949;&#955;&#955;&#951;&#957;&#953;&#954;&#940;",
59
-	'en' => "English",
60
-	'en_hx' => "H4ck3R",
61
-	'en_sm' => "Smurf",
62
-	'eo' => "Esperanto",
63
-	'es' => "Espa&#241;ol",
64
-	'es_co' => "Colombiano",
65
-	'es_mx_pop' => "Mexicano a lo g&#252;ey",
66
-	'et' => "eesti",
67
-	'eu' => "euskara",
68
-	'fa' => "&#1601;&#1575;&#1585;&#1587;&#1609;",
69
-	'ff' => "Fulah", // peul
70
-	'fi' => "suomi",
71
-	'fj' => "Fiji",
72
-	'fo' => "f&#248;royskt",
73
-	'fon' => "fongb&egrave;",
74
-	'fr' => "fran&#231;ais",
75
-	'fr_fem' => "fran&#231;ais f&#233;minin",
76
-	'fr_sc' => "schtroumpf",
77
-	'fr_lpc' => "langue parl&#233;e compl&#233;t&#233;e",
78
-	'fr_lsf' => "langue des signes fran&#231;aise",
79
-	'fr_spl' => "fran&#231;ais simplifi&#233;",
80
-	'fr_tu' => "fran&#231;ais copain",
81
-	'fy' => "Frisian",
82
-	'ga' => "Irish",
83
-	'gd' => "Scots Gaelic",
84
-	'gl' => "galego",
85
-	'gn' => "Guarani",
86
-	'grc' => "&#7944;&#961;&#967;&#945;&#943;&#945; &#7961;&#955;&#955;&#951;&#957;&#953;&#954;&#942;", // grec ancien
87
-	'gu' => "Gujarati",
88
-	'ha' => "Hausa",
89
-	'hac' => "&#1705;-&#1607;&#1734;&#1585;&#1575;&#1605;&#1740;", //"Kurdish-Horami"
90
-	'hbo' => "&#1506;&#1489;&#1512;&#1497;&#1514;&#1470;&#1492;&#1514;&#1504;&#1498;", // hebreu classique ou biblique
91
-	'haz' => "&#x647;&#x632;&#x627;&#x631;&#x647; &#x6AF;&#x6CC;",
92
-	'he' => "&#1506;&#1489;&#1512;&#1497;&#1514;",
93
-	'hi' => "&#2361;&#2367;&#2306;&#2342;&#2368;",
94
-	'hr' => "hrvatski",
95
-	'hu' => "magyar",
96
-	'hy' => "&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;",// Arménien
97
-	'ia' => "Interlingua",
98
-	'id' => "Indonesia",
99
-	'ie' => "Interlingue",
100
-	'ik' => "Inupiak",
101
-	'is' => "&#237;slenska",
102
-	'it' => "italiano",
103
-	'it_fem' => "italiana",
104
-	'iu' => "Inuktitut",
105
-	'ja' => "&#26085;&#26412;&#35486;",
106
-	'jv' => "Javanese",
107
-	'ka' => "&#4325;&#4304;&#4320;&#4311;&#4323;&#4314;&#4312;",
108
-	'kk' => "&#1179;&#1072;&#1079;&#1072;&#1179;&#32;&#1090;&#1110;&#1083;&#1110;", // Kazakh
109
-	'kl' => "kalaallisut",
110
-	'km' => "&#6039;&#6070;&#6047;&#6070;&#6017;&#6098;&#6040;&#6082;&#6042;",// Khmer
111
-	'kn' => "Kannada",
112
-	'ko' => "&#54620;&#44397;&#50612;",
113
-	'kok' => "&#2325;&#2379;&#2306;&#2325;&#2339;&#2368;",
114
-	'ks' => "Kashmiri",
115
-	'ku' => "&#1705;&#1608;&#1585;&#1583;&#1740;",
116
-	'ky' => "Kirghiz",
117
-	'la' => "lingua latina",
118
-	'lb' => "L&euml;tzebuergesch",
119
-	'ln' => "Lingala",
120
-	'lo' => "&#3742;&#3762;&#3754;&#3762;&#3749;&#3762;&#3751;", # lao
121
-	'lt' => "lietuvi&#371;",
122
-	'lu' => "luba-katanga",
123
-	'lv' => "latvie&#353;u",
124
-	'man' => "mandingue", # a traduire en mandingue
125
-	'mfv' => "manjak", # ISO-639-3
126
-	'mg' => "Malagasy",
127
-	'mi' => "Maori",
128
-	'mk' => "&#1084;&#1072;&#1082;&#1077;&#1076;&#1086;&#1085;&#1089;&#1082;&#1080; &#1112;&#1072;&#1079;&#1080;&#1082;",
129
-	'ml' => "Malayalam",
130
-	'mn' => "Монгол хэл",
131
-	'mo' => "Moldavian",
132
-	'mos' => "Mor&eacute;",
133
-	'mr' => "&#2350;&#2352;&#2366;&#2336;&#2368;",
134
-	'ms' => "Bahasa Malaysia",
135
-	'mt' => "Maltese",
136
-	'my' => "Burmese",
137
-	'na' => "Nauru",
138
-	'nap' => "napulitano",
139
-	'ne' => "Nepali",
140
-	'nqo' => "N'ko", // www.manden.org
141
-	'nl' => "Nederlands",
142
-	'no' => "norsk",
143
-	'nb' => "norsk bokm&aring;l",
144
-	'nn' => "norsk nynorsk",
145
-	'oc' => "&ograve;c",
146
-	'oc_lnc' => "&ograve;c lengadocian",
147
-	'oc_ni' => "&ograve;c ni&ccedil;ard",
148
-	'oc_ni_la' => "&ograve;c ni&ccedil;ard (larg)",
149
-	'oc_ni_mis' => "&ograve;c nissart (mistralenc)",
150
-	'oc_prv' => "&ograve;c proven&ccedil;au",
151
-	'oc_gsc' => "&ograve;c gascon",
152
-	'oc_lms' => "&ograve;c lemosin",
153
-	'oc_auv' => "&ograve;c auvernhat",
154
-	'oc_va' => "&ograve;c vivaroaupenc",
155
-	'om' => "(Afan) Oromo",
156
-	'or' => "Oriya",
157
-	'pa' => "Punjabi",
158
-	'pbb' => 'Nasa Yuwe',
159
-	'pl' => "polski",
160
-	'prs' => "&#1583;&#1585;&#1740;", // ISO-639-3 Dari (Afghanistan)
161
-	'ps' => "&#1662;&#1690;&#1578;&#1608;",
162
-	'pt' => "Portugu&#234;s",
163
-	'pt_br' => "Portugu&#234;s do Brasil",
164
-	'qu' => "Quechua",
165
-	'rm' => "Rhaeto-Romance",
166
-	'rn' => "Kirundi",
167
-	'ro' => "rom&#226;n&#259;",
168
-	'roa' => "ch'ti",
169
-	'ru' => "&#1088;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;",
170
-	'rw' => "Kinyarwanda",
171
-	'sa' => "&#2360;&#2306;&#2360;&#2381;&#2325;&#2371;&#2340;",
172
-	'sc' => "sardu",
173
-	'scn' => "sicilianu",
174
-	'sd' => "Sindhi",
175
-	'sg' => "Sangho",
176
-	'sh' => "srpskohrvastski",
177
-	'sh_latn' => 'srpskohrvastski',
178
-	'sh_cyrl' => '&#1057;&#1088;&#1087;&#1089;&#1082;&#1086;&#1093;&#1088;&#1074;&#1072;&#1090;&#1089;&#1082;&#1080;',
179
-	'si' => "Sinhalese",
180
-	'sk' => "sloven&#269;ina",  // (Slovakia)
181
-	'sl' => "sloven&#353;&#269;ina",  // (Slovenia)
182
-	'sm' => "Samoan",
183
-	'sn' => "Shona",
184
-	'so' => "Somali",
185
-	'sq' => "shqip",
186
-	'sr' => "&#1089;&#1088;&#1087;&#1089;&#1082;&#1080;",
187
-	'src' => 'sardu logudor&#233;su', // sarde cf 'sc'
188
-	'sro' => 'sardu campidan&#233;su',
189
-	'ss' => "Siswati",
190
-	'st' => "Sesotho",
191
-	'su' => "Sundanese",
192
-	'sv' => "svenska",
193
-	'sw' => "Kiswahili",
194
-	'ta' => "&#2980;&#2990;&#3007;&#2996;&#3021;", // Tamil
195
-	'te' => "Telugu",
196
-	'tg' => "Tajik",
197
-	'th' => "&#3652;&#3607;&#3618;",
198
-	'ti' => "Tigrinya",
199
-	'tk' => "Turkmen",
200
-	'tl' => "Tagalog",
201
-	'tn' => "Setswana",
202
-	'to' => "Tonga",
203
-	'tr' => "T&#252;rk&#231;e",
204
-	'ts' => "Tsonga",
205
-	'tt' => "&#1058;&#1072;&#1090;&#1072;&#1088;",
206
-	'tw' => "Twi",
207
-	'ty' => "reo m&#257;`ohi", // tahitien
208
-	'ug' => "Uighur",
209
-	'uk' => "&#1091;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;",
210
-	'ur' => "&#1649;&#1585;&#1583;&#1608;",
211
-	'uz' => "O'zbekcha",
212
-	'vi' => "Ti&#7871;ng Vi&#7879;t",
213
-	'vo' => "Volapuk",
214
-	'wa' => "walon",
215
-	'wo' => "Wolof",
216
-	'xh' => "Xhosa",
217
-	'yi' => "Yiddish",
218
-	'yo' => "Yoruba",
219
-	'za' => "Zhuang",
220
-	'zh' => "&#20013;&#25991;", // chinois (ecriture simplifiee)
221
-	'zh_tw' => "&#21488;&#28771;&#20013;&#25991;", // chinois taiwan (ecr. traditionnelle)
222
-	'zu' => "Zulu"
26
+    'aa' => "Afar",
27
+    'ab' => "Abkhazian",
28
+    'af' => "Afrikaans",
29
+    'am' => "Amharic",
30
+    'an' => "Aragon&#233;s",
31
+    'ar' => "&#1593;&#1585;&#1576;&#1610;",
32
+    'as' => "Assamese",
33
+    'ast' => "asturianu",
34
+    'ay' => "Aymara",
35
+    'az' => "Az&#601;rbaycan dili",
36
+    'ba' => "Bashkir",
37
+    'be' => "&#1041;&#1077;&#1083;&#1072;&#1088;&#1091;&#1089;&#1082;&#1072;&#1103;",
38
+    'ber_tam' => "Tamazigh",
39
+    'ber_tam_tfng' => "Tamazigh tifinagh",
40
+    'bg' => "&#1073;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080;",
41
+    'bh' => "Bihari",
42
+    'bi' => "Bislama",
43
+    'bm' => "Bambara",
44
+    'bn' => "Bengali; Bangla",
45
+    'bo' => "Tibetan",
46
+    'br' => "brezhoneg",
47
+    'bs' => "bosanski",
48
+    'ca' => "catal&#224;",
49
+    'co' => "corsu",
50
+    'cpf' => "Kr&eacute;ol r&eacute;yon&eacute;",
51
+    'cpf_dom' => "Krey&ograve;l",
52
+    'cpf_hat' => "Krey&ograve;l (Peyi Dayiti)",
53
+    'cs' => "&#269;e&#353;tina",
54
+    'cy' => "Cymraeg",  # welsh, gallois
55
+    'da' => "dansk",
56
+    'de' => "Deutsch",
57
+    'dz' => "Bhutani",
58
+    'el' => "&#949;&#955;&#955;&#951;&#957;&#953;&#954;&#940;",
59
+    'en' => "English",
60
+    'en_hx' => "H4ck3R",
61
+    'en_sm' => "Smurf",
62
+    'eo' => "Esperanto",
63
+    'es' => "Espa&#241;ol",
64
+    'es_co' => "Colombiano",
65
+    'es_mx_pop' => "Mexicano a lo g&#252;ey",
66
+    'et' => "eesti",
67
+    'eu' => "euskara",
68
+    'fa' => "&#1601;&#1575;&#1585;&#1587;&#1609;",
69
+    'ff' => "Fulah", // peul
70
+    'fi' => "suomi",
71
+    'fj' => "Fiji",
72
+    'fo' => "f&#248;royskt",
73
+    'fon' => "fongb&egrave;",
74
+    'fr' => "fran&#231;ais",
75
+    'fr_fem' => "fran&#231;ais f&#233;minin",
76
+    'fr_sc' => "schtroumpf",
77
+    'fr_lpc' => "langue parl&#233;e compl&#233;t&#233;e",
78
+    'fr_lsf' => "langue des signes fran&#231;aise",
79
+    'fr_spl' => "fran&#231;ais simplifi&#233;",
80
+    'fr_tu' => "fran&#231;ais copain",
81
+    'fy' => "Frisian",
82
+    'ga' => "Irish",
83
+    'gd' => "Scots Gaelic",
84
+    'gl' => "galego",
85
+    'gn' => "Guarani",
86
+    'grc' => "&#7944;&#961;&#967;&#945;&#943;&#945; &#7961;&#955;&#955;&#951;&#957;&#953;&#954;&#942;", // grec ancien
87
+    'gu' => "Gujarati",
88
+    'ha' => "Hausa",
89
+    'hac' => "&#1705;-&#1607;&#1734;&#1585;&#1575;&#1605;&#1740;", //"Kurdish-Horami"
90
+    'hbo' => "&#1506;&#1489;&#1512;&#1497;&#1514;&#1470;&#1492;&#1514;&#1504;&#1498;", // hebreu classique ou biblique
91
+    'haz' => "&#x647;&#x632;&#x627;&#x631;&#x647; &#x6AF;&#x6CC;",
92
+    'he' => "&#1506;&#1489;&#1512;&#1497;&#1514;",
93
+    'hi' => "&#2361;&#2367;&#2306;&#2342;&#2368;",
94
+    'hr' => "hrvatski",
95
+    'hu' => "magyar",
96
+    'hy' => "&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;",// Arménien
97
+    'ia' => "Interlingua",
98
+    'id' => "Indonesia",
99
+    'ie' => "Interlingue",
100
+    'ik' => "Inupiak",
101
+    'is' => "&#237;slenska",
102
+    'it' => "italiano",
103
+    'it_fem' => "italiana",
104
+    'iu' => "Inuktitut",
105
+    'ja' => "&#26085;&#26412;&#35486;",
106
+    'jv' => "Javanese",
107
+    'ka' => "&#4325;&#4304;&#4320;&#4311;&#4323;&#4314;&#4312;",
108
+    'kk' => "&#1179;&#1072;&#1079;&#1072;&#1179;&#32;&#1090;&#1110;&#1083;&#1110;", // Kazakh
109
+    'kl' => "kalaallisut",
110
+    'km' => "&#6039;&#6070;&#6047;&#6070;&#6017;&#6098;&#6040;&#6082;&#6042;",// Khmer
111
+    'kn' => "Kannada",
112
+    'ko' => "&#54620;&#44397;&#50612;",
113
+    'kok' => "&#2325;&#2379;&#2306;&#2325;&#2339;&#2368;",
114
+    'ks' => "Kashmiri",
115
+    'ku' => "&#1705;&#1608;&#1585;&#1583;&#1740;",
116
+    'ky' => "Kirghiz",
117
+    'la' => "lingua latina",
118
+    'lb' => "L&euml;tzebuergesch",
119
+    'ln' => "Lingala",
120
+    'lo' => "&#3742;&#3762;&#3754;&#3762;&#3749;&#3762;&#3751;", # lao
121
+    'lt' => "lietuvi&#371;",
122
+    'lu' => "luba-katanga",
123
+    'lv' => "latvie&#353;u",
124
+    'man' => "mandingue", # a traduire en mandingue
125
+    'mfv' => "manjak", # ISO-639-3
126
+    'mg' => "Malagasy",
127
+    'mi' => "Maori",
128
+    'mk' => "&#1084;&#1072;&#1082;&#1077;&#1076;&#1086;&#1085;&#1089;&#1082;&#1080; &#1112;&#1072;&#1079;&#1080;&#1082;",
129
+    'ml' => "Malayalam",
130
+    'mn' => "Монгол хэл",
131
+    'mo' => "Moldavian",
132
+    'mos' => "Mor&eacute;",
133
+    'mr' => "&#2350;&#2352;&#2366;&#2336;&#2368;",
134
+    'ms' => "Bahasa Malaysia",
135
+    'mt' => "Maltese",
136
+    'my' => "Burmese",
137
+    'na' => "Nauru",
138
+    'nap' => "napulitano",
139
+    'ne' => "Nepali",
140
+    'nqo' => "N'ko", // www.manden.org
141
+    'nl' => "Nederlands",
142
+    'no' => "norsk",
143
+    'nb' => "norsk bokm&aring;l",
144
+    'nn' => "norsk nynorsk",
145
+    'oc' => "&ograve;c",
146
+    'oc_lnc' => "&ograve;c lengadocian",
147
+    'oc_ni' => "&ograve;c ni&ccedil;ard",
148
+    'oc_ni_la' => "&ograve;c ni&ccedil;ard (larg)",
149
+    'oc_ni_mis' => "&ograve;c nissart (mistralenc)",
150
+    'oc_prv' => "&ograve;c proven&ccedil;au",
151
+    'oc_gsc' => "&ograve;c gascon",
152
+    'oc_lms' => "&ograve;c lemosin",
153
+    'oc_auv' => "&ograve;c auvernhat",
154
+    'oc_va' => "&ograve;c vivaroaupenc",
155
+    'om' => "(Afan) Oromo",
156
+    'or' => "Oriya",
157
+    'pa' => "Punjabi",
158
+    'pbb' => 'Nasa Yuwe',
159
+    'pl' => "polski",
160
+    'prs' => "&#1583;&#1585;&#1740;", // ISO-639-3 Dari (Afghanistan)
161
+    'ps' => "&#1662;&#1690;&#1578;&#1608;",
162
+    'pt' => "Portugu&#234;s",
163
+    'pt_br' => "Portugu&#234;s do Brasil",
164
+    'qu' => "Quechua",
165
+    'rm' => "Rhaeto-Romance",
166
+    'rn' => "Kirundi",
167
+    'ro' => "rom&#226;n&#259;",
168
+    'roa' => "ch'ti",
169
+    'ru' => "&#1088;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;",
170
+    'rw' => "Kinyarwanda",
171
+    'sa' => "&#2360;&#2306;&#2360;&#2381;&#2325;&#2371;&#2340;",
172
+    'sc' => "sardu",
173
+    'scn' => "sicilianu",
174
+    'sd' => "Sindhi",
175
+    'sg' => "Sangho",
176
+    'sh' => "srpskohrvastski",
177
+    'sh_latn' => 'srpskohrvastski',
178
+    'sh_cyrl' => '&#1057;&#1088;&#1087;&#1089;&#1082;&#1086;&#1093;&#1088;&#1074;&#1072;&#1090;&#1089;&#1082;&#1080;',
179
+    'si' => "Sinhalese",
180
+    'sk' => "sloven&#269;ina",  // (Slovakia)
181
+    'sl' => "sloven&#353;&#269;ina",  // (Slovenia)
182
+    'sm' => "Samoan",
183
+    'sn' => "Shona",
184
+    'so' => "Somali",
185
+    'sq' => "shqip",
186
+    'sr' => "&#1089;&#1088;&#1087;&#1089;&#1082;&#1080;",
187
+    'src' => 'sardu logudor&#233;su', // sarde cf 'sc'
188
+    'sro' => 'sardu campidan&#233;su',
189
+    'ss' => "Siswati",
190
+    'st' => "Sesotho",
191
+    'su' => "Sundanese",
192
+    'sv' => "svenska",
193
+    'sw' => "Kiswahili",
194
+    'ta' => "&#2980;&#2990;&#3007;&#2996;&#3021;", // Tamil
195
+    'te' => "Telugu",
196
+    'tg' => "Tajik",
197
+    'th' => "&#3652;&#3607;&#3618;",
198
+    'ti' => "Tigrinya",
199
+    'tk' => "Turkmen",
200
+    'tl' => "Tagalog",
201
+    'tn' => "Setswana",
202
+    'to' => "Tonga",
203
+    'tr' => "T&#252;rk&#231;e",
204
+    'ts' => "Tsonga",
205
+    'tt' => "&#1058;&#1072;&#1090;&#1072;&#1088;",
206
+    'tw' => "Twi",
207
+    'ty' => "reo m&#257;`ohi", // tahitien
208
+    'ug' => "Uighur",
209
+    'uk' => "&#1091;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;",
210
+    'ur' => "&#1649;&#1585;&#1583;&#1608;",
211
+    'uz' => "O'zbekcha",
212
+    'vi' => "Ti&#7871;ng Vi&#7879;t",
213
+    'vo' => "Volapuk",
214
+    'wa' => "walon",
215
+    'wo' => "Wolof",
216
+    'xh' => "Xhosa",
217
+    'yi' => "Yiddish",
218
+    'yo' => "Yoruba",
219
+    'za' => "Zhuang",
220
+    'zh' => "&#20013;&#25991;", // chinois (ecriture simplifiee)
221
+    'zh_tw' => "&#21488;&#28771;&#20013;&#25991;", // chinois taiwan (ecr. traditionnelle)
222
+    'zu' => "Zulu"
223 223
 
224 224
 );
Please login to merge, or discard this patch.
ecrire/inc/json.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -31,11 +31,11 @@  discard block
 block discarded – undo
31 31
 		case is_null($var):
32 32
 			return 'null';
33 33
 		case is_string($var):
34
-			return '"' . addcslashes($var, "\"\\\n\r/") . '"';
34
+			return '"'.addcslashes($var, "\"\\\n\r/").'"';
35 35
 		case is_bool($var):
36 36
 			return $var ? 'true' : 'false';
37 37
 		case is_scalar($var):
38
-			return (string)$var;
38
+			return (string) $var;
39 39
 		case is_object($var):// blam
40 40
 			$var = get_object_vars($var);
41 41
 			$asso = true;
@@ -50,19 +50,19 @@  discard block
 block discarded – undo
50 50
 			if ($asso) {
51 51
 				$ret = '{';
52 52
 				foreach ($var as $key => $elt) {
53
-					$ret .= $sep . '"' . $key . '":' . var2js($elt);
53
+					$ret .= $sep.'"'.$key.'":'.var2js($elt);
54 54
 					$sep = ',';
55 55
 				}
56 56
 
57
-				return $ret . '}';
57
+				return $ret.'}';
58 58
 			} else {
59 59
 				$ret = '[';
60 60
 				foreach ($var as $elt) {
61
-					$ret .= $sep . var2js($elt);
61
+					$ret .= $sep.var2js($elt);
62 62
 					$sep = ',';
63 63
 				}
64 64
 
65
-				return $ret . ']';
65
+				return $ret.']';
66 66
 			}
67 67
 	}
68 68
 
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 	// flag indiquant qu'on est en iframe et qu'il faut proteger nos
83 83
 	// donnees dans un <textarea> ; attention $_FILES a ete vide par array_pop
84 84
 	if (defined('FILE_UPLOAD')) {
85
-		return '<textarea>' . spip_htmlspecialchars($var) . '</textarea>';
85
+		return '<textarea>'.spip_htmlspecialchars($var).'</textarea>';
86 86
 	} else {
87 87
 		return $var;
88 88
 	}
Please login to merge, or discard this patch.
Indentation   +50 added lines, -50 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 // Les fonctions de toggg pour faire du JSON
@@ -26,64 +26,64 @@  discard block
 block discarded – undo
26 26
 
27 27
 // https://code.spip.net/@var2js
28 28
 function var2js($var) {
29
-	$asso = false;
30
-	switch (true) {
31
-		case is_null($var):
32
-			return 'null';
33
-		case is_string($var):
34
-			return '"' . addcslashes($var, "\"\\\n\r/") . '"';
35
-		case is_bool($var):
36
-			return $var ? 'true' : 'false';
37
-		case is_scalar($var):
38
-			return (string)$var;
39
-		case is_object($var):// blam
40
-			$var = get_object_vars($var);
41
-			$asso = true;
42
-			// $var devient un array, on continue
43
-		case is_array($var):
44
-			$keys = array_keys($var);
45
-			$ikey = count($keys);
46
-			while (!$asso && $ikey--) {
47
-				$asso = $ikey !== $keys[$ikey];
48
-			}
49
-			$sep = '';
50
-			if ($asso) {
51
-				$ret = '{';
52
-				foreach ($var as $key => $elt) {
53
-					$ret .= $sep . '"' . $key . '":' . var2js($elt);
54
-					$sep = ',';
55
-				}
29
+    $asso = false;
30
+    switch (true) {
31
+        case is_null($var):
32
+            return 'null';
33
+        case is_string($var):
34
+            return '"' . addcslashes($var, "\"\\\n\r/") . '"';
35
+        case is_bool($var):
36
+            return $var ? 'true' : 'false';
37
+        case is_scalar($var):
38
+            return (string)$var;
39
+        case is_object($var):// blam
40
+            $var = get_object_vars($var);
41
+            $asso = true;
42
+            // $var devient un array, on continue
43
+        case is_array($var):
44
+            $keys = array_keys($var);
45
+            $ikey = count($keys);
46
+            while (!$asso && $ikey--) {
47
+                $asso = $ikey !== $keys[$ikey];
48
+            }
49
+            $sep = '';
50
+            if ($asso) {
51
+                $ret = '{';
52
+                foreach ($var as $key => $elt) {
53
+                    $ret .= $sep . '"' . $key . '":' . var2js($elt);
54
+                    $sep = ',';
55
+                }
56 56
 
57
-				return $ret . '}';
58
-			} else {
59
-				$ret = '[';
60
-				foreach ($var as $elt) {
61
-					$ret .= $sep . var2js($elt);
62
-					$sep = ',';
63
-				}
57
+                return $ret . '}';
58
+            } else {
59
+                $ret = '[';
60
+                foreach ($var as $elt) {
61
+                    $ret .= $sep . var2js($elt);
62
+                    $sep = ',';
63
+                }
64 64
 
65
-				return $ret . ']';
66
-			}
67
-	}
65
+                return $ret . ']';
66
+            }
67
+    }
68 68
 
69
-	return false;
69
+    return false;
70 70
 }
71 71
 
72 72
 if (!function_exists('json_encode')) {
73
-	function json_encode($v) {
74
-		return var2js($v);
75
-	}
73
+    function json_encode($v) {
74
+        return var2js($v);
75
+    }
76 76
 }
77 77
 
78 78
 // https://code.spip.net/@json_export
79 79
 function json_export($var) {
80
-	$var = json_encode($var);
80
+    $var = json_encode($var);
81 81
 
82
-	// flag indiquant qu'on est en iframe et qu'il faut proteger nos
83
-	// donnees dans un <textarea> ; attention $_FILES a ete vide par array_pop
84
-	if (defined('FILE_UPLOAD')) {
85
-		return '<textarea>' . spip_htmlspecialchars($var) . '</textarea>';
86
-	} else {
87
-		return $var;
88
-	}
82
+    // flag indiquant qu'on est en iframe et qu'il faut proteger nos
83
+    // donnees dans un <textarea> ; attention $_FILES a ete vide par array_pop
84
+    if (defined('FILE_UPLOAD')) {
85
+        return '<textarea>' . spip_htmlspecialchars($var) . '</textarea>';
86
+    } else {
87
+        return $var;
88
+    }
89 89
 }
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
@@ -340,7 +340,7 @@  discard block
 block discarded – undo
340 340
 			if (strncmp($url, 'configurer_', 11) == 0) {
341 341
 				$deja[$url] = $b;
342 342
 			} elseif ($b['url'] == 'configurer' and preg_match(',cfg=([a-z0-9_]+),i', $b['args'], $match)) {
343
-				$deja["configurer_" . $match[1]] = $b;
343
+				$deja["configurer_".$match[1]] = $b;
344 344
 			}
345 345
 		}
346 346
 
@@ -354,10 +354,10 @@  discard block
 block discarded – undo
354 354
 
355 355
 	// trouver toutes les pages configurer_xxx de l'espace prive
356 356
 	// et construire un tableau des entrees qui ne sont pas dans $deja
357
-	$pages = find_all_in_path("prive/squelettes/contenu/", "configurer_.*[.]" . _EXTENSION_SQUELETTES . '$');
357
+	$pages = find_all_in_path("prive/squelettes/contenu/", "configurer_.*[.]"._EXTENSION_SQUELETTES.'$');
358 358
 
359 359
 	foreach ($pages as $page) {
360
-		$configurer = basename($page, "." . _EXTENSION_SQUELETTES);
360
+		$configurer = basename($page, "."._EXTENSION_SQUELETTES);
361 361
 		if (!isset($exclure[$configurer])) {
362 362
 			$liste[$configurer] = array(
363 363
 				'parent' => 'bando_configuration',
@@ -377,9 +377,9 @@  discard block
 block discarded – undo
377 377
 
378 378
 	// trouver tous les formulaires/configurer_
379 379
 	// et construire un tableau des entrees
380
-	$pages = find_all_in_path("formulaires/", "configurer_.*[.]" . _EXTENSION_SQUELETTES . '$');
380
+	$pages = find_all_in_path("formulaires/", "configurer_.*[.]"._EXTENSION_SQUELETTES.'$');
381 381
 	foreach ($pages as $page) {
382
-		$configurer = basename($page, "." . _EXTENSION_SQUELETTES);
382
+		$configurer = basename($page, "."._EXTENSION_SQUELETTES);
383 383
 		if (!isset($forms[$configurer])
384 384
 			and !isset($liste[$configurer])
385 385
 			and !isset($exclure[$configurer])
@@ -387,7 +387,7 @@  discard block
 block discarded – undo
387 387
 			$liste[$configurer] = array(
388 388
 				'parent' => 'bando_configuration',
389 389
 				'url' => 'configurer',
390
-				'args' => 'cfg=' . substr($configurer, 11),
390
+				'args' => 'cfg='.substr($configurer, 11),
391 391
 				'titre' => _T("configurer:{$configurer}_titre"),
392 392
 				'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
393 393
 			);
@@ -419,8 +419,8 @@  discard block
 block discarded – undo
419 419
 
420 420
 	// evaluer le fond en lui passant un exec coherent pour que les pipelines le reconnaissent
421 421
 	// et reperer les formulaires CVT configurer_xx insereres par les plugins via pipeline
422
-	$config = basename(substr($file, 0, -strlen("." . _EXTENSION_SQUELETTES)));
423
-	spip_log('Calcul de ' . "prive/squelettes/contenu/$config");
422
+	$config = basename(substr($file, 0, -strlen("."._EXTENSION_SQUELETTES)));
423
+	spip_log('Calcul de '."prive/squelettes/contenu/$config");
424 424
 	$fond = recuperer_fond("prive/squelettes/contenu/$config", array("exec" => $config));
425 425
 
426 426
 	// passer dans le pipeline affiche_milieu pour que les plugins puissent ajouter leur formulaires...
Please login to merge, or discard this patch.
Indentation   +400 added lines, -400 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 = array();
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 array($table, $casier, $sous_casier);
48
+    // par defaut, sur la table des meta
49
+    $table = 'meta';
50
+    $casier = null;
51
+    $sous_casier = array();
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 array($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
-	list($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 = isset($r[$casier]) ? $r[$casier] : null;
148
-	if (($unserialize or count($sous_casier)) 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 = isset($r[$casier]) ? $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
+    list($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 = isset($r[$casier]) ? $r[$casier] : null;
148
+    if (($unserialize or count($sous_casier)) 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 = isset($r[$casier]) ? $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,98 +184,98 @@  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
-	list($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 = isset($GLOBALS[$table][$casier]) ? $GLOBALS[$table][$casier] : null;
203
-	if (!is_array($st) and ($sous_casier or is_array($store))) {
204
-		$st = unserialize($st);
205
-		if ($st === false) {
206
-			// ne rien creer si c'est une demande d'effacement
207
-			if (is_null($store)) {
208
-				return false;
209
-			}
210
-			$st = array();
211
-		}
212
-	}
213
-
214
-	// si on a affaire a un sous caiser
215
-	// il faut ecrire au bon endroit sans perdre les autres sous casier freres
216
-	if ($c = $sous_casier) {
217
-		$sc = &$st;
218
-		$pointeurs = array();
219
-		while (count($c) and $cc = array_shift($c)) {
220
-			// creer l'entree si elle n'existe pas
221
-			if (!isset($sc[$cc])) {
222
-				// si on essaye d'effacer une config qui n'existe pas
223
-				// ne rien creer mais sortir
224
-				if (is_null($store)) {
225
-					return false;
226
-				}
227
-				$sc[$cc] = array();
228
-			}
229
-			$pointeurs[$cc] = &$sc;
230
-			$sc = &$sc[$cc];
231
-		}
232
-
233
-		// si c'est une demande d'effacement
234
-		if (is_null($store)) {
235
-			$c = $sous_casier;
236
-			$sous = array_pop($c);
237
-			// effacer, et remonter pour effacer les parents vides
238
-			do {
239
-				unset($pointeurs[$sous][$sous]);
240
-			} while ($sous = array_pop($c) and !count($pointeurs[$sous][$sous]));
241
-
242
-			// si on a vide tous les sous casiers,
243
-			// et que le casier est vide
244
-			// vider aussi la meta
245
-			if (!$sous and !count($st)) {
246
-				$st = null;
247
-			}
248
-		} // dans tous les autres cas, on ecrase
249
-		else {
250
-			$sc = $store;
251
-		}
252
-
253
-		// Maintenant que $st est modifiee
254
-		// reprenons la comme valeur a stocker dans le casier principal
255
-		$store = $st;
256
-	}
257
-
258
-	if (is_null($store)) {
259
-		if (is_null($st) and !$sous_casier) {
260
-			return false;
261
-		} // la config n'existait deja pas !
262
-		effacer_meta($casier, $table);
263
-		supprimer_table_meta($table); // supprimons la table (si elle est bien vide)
264
-	} // les meta ne peuvent etre que des chaines : il faut serializer le reste
265
-	else {
266
-		if (!isset($GLOBALS[$table])) {
267
-			installer_table_meta($table);
268
-		}
269
-		// si ce n'est pas une chaine
270
-		// il faut serializer
271
-		if (!is_string($store)) {
272
-			$store = serialize($store);
273
-		}
274
-		ecrire_meta($casier, $store, null, $table);
275
-	}
276
-
277
-	// verifier que lire_config($cfg)==$store ?
278
-	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
+    list($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 = isset($GLOBALS[$table][$casier]) ? $GLOBALS[$table][$casier] : null;
203
+    if (!is_array($st) and ($sous_casier or is_array($store))) {
204
+        $st = unserialize($st);
205
+        if ($st === false) {
206
+            // ne rien creer si c'est une demande d'effacement
207
+            if (is_null($store)) {
208
+                return false;
209
+            }
210
+            $st = array();
211
+        }
212
+    }
213
+
214
+    // si on a affaire a un sous caiser
215
+    // il faut ecrire au bon endroit sans perdre les autres sous casier freres
216
+    if ($c = $sous_casier) {
217
+        $sc = &$st;
218
+        $pointeurs = array();
219
+        while (count($c) and $cc = array_shift($c)) {
220
+            // creer l'entree si elle n'existe pas
221
+            if (!isset($sc[$cc])) {
222
+                // si on essaye d'effacer une config qui n'existe pas
223
+                // ne rien creer mais sortir
224
+                if (is_null($store)) {
225
+                    return false;
226
+                }
227
+                $sc[$cc] = array();
228
+            }
229
+            $pointeurs[$cc] = &$sc;
230
+            $sc = &$sc[$cc];
231
+        }
232
+
233
+        // si c'est une demande d'effacement
234
+        if (is_null($store)) {
235
+            $c = $sous_casier;
236
+            $sous = array_pop($c);
237
+            // effacer, et remonter pour effacer les parents vides
238
+            do {
239
+                unset($pointeurs[$sous][$sous]);
240
+            } while ($sous = array_pop($c) and !count($pointeurs[$sous][$sous]));
241
+
242
+            // si on a vide tous les sous casiers,
243
+            // et que le casier est vide
244
+            // vider aussi la meta
245
+            if (!$sous and !count($st)) {
246
+                $st = null;
247
+            }
248
+        } // dans tous les autres cas, on ecrase
249
+        else {
250
+            $sc = $store;
251
+        }
252
+
253
+        // Maintenant que $st est modifiee
254
+        // reprenons la comme valeur a stocker dans le casier principal
255
+        $store = $st;
256
+    }
257
+
258
+    if (is_null($store)) {
259
+        if (is_null($st) and !$sous_casier) {
260
+            return false;
261
+        } // la config n'existait deja pas !
262
+        effacer_meta($casier, $table);
263
+        supprimer_table_meta($table); // supprimons la table (si elle est bien vide)
264
+    } // les meta ne peuvent etre que des chaines : il faut serializer le reste
265
+    else {
266
+        if (!isset($GLOBALS[$table])) {
267
+            installer_table_meta($table);
268
+        }
269
+        // si ce n'est pas une chaine
270
+        // il faut serializer
271
+        if (!is_string($store)) {
272
+            $store = serialize($store);
273
+        }
274
+        ecrire_meta($casier, $store, null, $table);
275
+    }
276
+
277
+    // verifier que lire_config($cfg)==$store ?
278
+    return true;
279 279
 }
280 280
 
281 281
 
@@ -289,14 +289,14 @@  discard block
 block discarded – undo
289 289
  * @return bool
290 290
  */
291 291
 function ecrire_config_metapack_dist($cfg, $store) {
292
-	// cas particulier en metapack::
293
-	// si on ecrit une chaine deja serializee, il faut la reserializer pour la rendre
294
-	// intacte en sortie ...
295
-	if (is_string($store) and strpos($store, ':') and unserialize($store)) {
296
-		$store = serialize($store);
297
-	}
298
-
299
-	return ecrire_config($cfg, $store);
292
+    // cas particulier en metapack::
293
+    // si on ecrit une chaine deja serializee, il faut la reserializer pour la rendre
294
+    // intacte en sortie ...
295
+    if (is_string($store) and strpos($store, ':') and unserialize($store)) {
296
+        $store = serialize($store);
297
+    }
298
+
299
+    return ecrire_config($cfg, $store);
300 300
 }
301 301
 
302 302
 /**
@@ -306,9 +306,9 @@  discard block
 block discarded – undo
306 306
  * @return bool
307 307
  */
308 308
 function effacer_config($cfg) {
309
-	ecrire_config($cfg, null);
309
+    ecrire_config($cfg, null);
310 310
 
311
-	return true;
311
+    return true;
312 312
 }
313 313
 
314 314
 /**
@@ -325,71 +325,71 @@  discard block
 block discarded – undo
325 325
  * @return array
326 326
  */
327 327
 function lister_configurer($exclure = array()) {
328
-	return array();
329
-
330
-	// lister les pages de config deja dans les menus
331
-	$deja = array();
332
-	foreach ($exclure as $id => $b) {
333
-		$url = ($b['url'] ? $b['url'] : $id);
334
-		if (!$b['url'] or !isset($exclure[$url])) {
335
-			if (strncmp($url, 'configurer_', 11) == 0) {
336
-				$deja[$url] = $b;
337
-			} elseif ($b['url'] == 'configurer' and preg_match(',cfg=([a-z0-9_]+),i', $b['args'], $match)) {
338
-				$deja["configurer_" . $match[1]] = $b;
339
-			}
340
-		}
341
-
342
-	}
343
-	$exclure = $exclure + $deja;
344
-
345
-	$icone_defaut = "images/configuration-16.png";
346
-	$liste = array();
347
-	$skels = array();
348
-	$forms = array();
349
-
350
-	// trouver toutes les pages configurer_xxx de l'espace prive
351
-	// et construire un tableau des entrees qui ne sont pas dans $deja
352
-	$pages = find_all_in_path("prive/squelettes/contenu/", "configurer_.*[.]" . _EXTENSION_SQUELETTES . '$');
353
-
354
-	foreach ($pages as $page) {
355
-		$configurer = basename($page, "." . _EXTENSION_SQUELETTES);
356
-		if (!isset($exclure[$configurer])) {
357
-			$liste[$configurer] = array(
358
-				'parent' => 'bando_configuration',
359
-				'url' => $configurer,
360
-				'titre' => _T("configurer:{$configurer}_titre"),
361
-				'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
362
-			);
363
-		}
364
-		$skels[$configurer] = $page;
365
-	}
366
-
367
-	// analyser la liste des $skels pour voir les #FORMULAIRE_CONFIGURER_ inclus
368
-	foreach ($skels as $file) {
369
-		$forms = array_merge($forms, lister_formulaires_configurer($file));
370
-	}
371
-	$forms = array_flip($forms);
372
-
373
-	// trouver tous les formulaires/configurer_
374
-	// et construire un tableau des entrees
375
-	$pages = find_all_in_path("formulaires/", "configurer_.*[.]" . _EXTENSION_SQUELETTES . '$');
376
-	foreach ($pages as $page) {
377
-		$configurer = basename($page, "." . _EXTENSION_SQUELETTES);
378
-		if (!isset($forms[$configurer])
379
-			and !isset($liste[$configurer])
380
-			and !isset($exclure[$configurer])
381
-		) {
382
-			$liste[$configurer] = array(
383
-				'parent' => 'bando_configuration',
384
-				'url' => 'configurer',
385
-				'args' => 'cfg=' . substr($configurer, 11),
386
-				'titre' => _T("configurer:{$configurer}_titre"),
387
-				'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
388
-			);
389
-		}
390
-	}
391
-
392
-	return $liste;
328
+    return array();
329
+
330
+    // lister les pages de config deja dans les menus
331
+    $deja = array();
332
+    foreach ($exclure as $id => $b) {
333
+        $url = ($b['url'] ? $b['url'] : $id);
334
+        if (!$b['url'] or !isset($exclure[$url])) {
335
+            if (strncmp($url, 'configurer_', 11) == 0) {
336
+                $deja[$url] = $b;
337
+            } elseif ($b['url'] == 'configurer' and preg_match(',cfg=([a-z0-9_]+),i', $b['args'], $match)) {
338
+                $deja["configurer_" . $match[1]] = $b;
339
+            }
340
+        }
341
+
342
+    }
343
+    $exclure = $exclure + $deja;
344
+
345
+    $icone_defaut = "images/configuration-16.png";
346
+    $liste = array();
347
+    $skels = array();
348
+    $forms = array();
349
+
350
+    // trouver toutes les pages configurer_xxx de l'espace prive
351
+    // et construire un tableau des entrees qui ne sont pas dans $deja
352
+    $pages = find_all_in_path("prive/squelettes/contenu/", "configurer_.*[.]" . _EXTENSION_SQUELETTES . '$');
353
+
354
+    foreach ($pages as $page) {
355
+        $configurer = basename($page, "." . _EXTENSION_SQUELETTES);
356
+        if (!isset($exclure[$configurer])) {
357
+            $liste[$configurer] = array(
358
+                'parent' => 'bando_configuration',
359
+                'url' => $configurer,
360
+                'titre' => _T("configurer:{$configurer}_titre"),
361
+                'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
362
+            );
363
+        }
364
+        $skels[$configurer] = $page;
365
+    }
366
+
367
+    // analyser la liste des $skels pour voir les #FORMULAIRE_CONFIGURER_ inclus
368
+    foreach ($skels as $file) {
369
+        $forms = array_merge($forms, lister_formulaires_configurer($file));
370
+    }
371
+    $forms = array_flip($forms);
372
+
373
+    // trouver tous les formulaires/configurer_
374
+    // et construire un tableau des entrees
375
+    $pages = find_all_in_path("formulaires/", "configurer_.*[.]" . _EXTENSION_SQUELETTES . '$');
376
+    foreach ($pages as $page) {
377
+        $configurer = basename($page, "." . _EXTENSION_SQUELETTES);
378
+        if (!isset($forms[$configurer])
379
+            and !isset($liste[$configurer])
380
+            and !isset($exclure[$configurer])
381
+        ) {
382
+            $liste[$configurer] = array(
383
+                'parent' => 'bando_configuration',
384
+                'url' => 'configurer',
385
+                'args' => 'cfg=' . substr($configurer, 11),
386
+                'titre' => _T("configurer:{$configurer}_titre"),
387
+                'icone' => find_in_theme($i = "images/{$configurer}-16.png") ? $i : $icone_defaut,
388
+            );
389
+        }
390
+    }
391
+
392
+    return $liste;
393 393
 }
394 394
 
395 395
 
@@ -403,35 +403,35 @@  discard block
 block discarded – undo
403 403
  *    Liste des formulaires trouvés
404 404
  **/
405 405
 function lister_formulaires_configurer($file) {
406
-	$forms = array();
407
-
408
-	lire_fichier($file, $skel);
409
-	if (preg_match_all(",#FORMULAIRE_(CONFIGURER_[A-Z0-9_]*),", $skel, $matches, PREG_SET_ORDER)) {
410
-		$matches = array_map('end', $matches);
411
-		$matches = array_map('strtolower', $matches);
412
-		$forms = array_merge($forms, $matches);
413
-	}
414
-
415
-	// evaluer le fond en lui passant un exec coherent pour que les pipelines le reconnaissent
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");
419
-	$fond = recuperer_fond("prive/squelettes/contenu/$config", array("exec" => $config));
420
-
421
-	// passer dans le pipeline affiche_milieu pour que les plugins puissent ajouter leur formulaires...
422
-	// et donc que l'on puisse les referencer aussi !
423
-	$fond = pipeline('affiche_milieu', array('args' => array("exec" => $config), 'data' => $fond));
424
-
425
-	// recuperer les noms des formulaires presents.
426
-	if (is_array($inputs = extraire_balises($fond, "input"))) {
427
-		foreach ($inputs as $i) {
428
-			if (extraire_attribut($i, 'name') == 'formulaire_action') {
429
-				$forms[] = ($c = extraire_attribut($i, 'value'));
430
-			}
431
-		}
432
-	}
433
-
434
-	return $forms;
406
+    $forms = array();
407
+
408
+    lire_fichier($file, $skel);
409
+    if (preg_match_all(",#FORMULAIRE_(CONFIGURER_[A-Z0-9_]*),", $skel, $matches, PREG_SET_ORDER)) {
410
+        $matches = array_map('end', $matches);
411
+        $matches = array_map('strtolower', $matches);
412
+        $forms = array_merge($forms, $matches);
413
+    }
414
+
415
+    // evaluer le fond en lui passant un exec coherent pour que les pipelines le reconnaissent
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");
419
+    $fond = recuperer_fond("prive/squelettes/contenu/$config", array("exec" => $config));
420
+
421
+    // passer dans le pipeline affiche_milieu pour que les plugins puissent ajouter leur formulaires...
422
+    // et donc que l'on puisse les referencer aussi !
423
+    $fond = pipeline('affiche_milieu', array('args' => array("exec" => $config), 'data' => $fond));
424
+
425
+    // recuperer les noms des formulaires presents.
426
+    if (is_array($inputs = extraire_balises($fond, "input"))) {
427
+        foreach ($inputs as $i) {
428
+            if (extraire_attribut($i, 'name') == 'formulaire_action') {
429
+                $forms[] = ($c = extraire_attribut($i, 'value'));
430
+            }
431
+        }
432
+    }
433
+
434
+    return $forms;
435 435
 }
436 436
 
437 437
 
@@ -449,58 +449,58 @@  discard block
 block discarded – undo
449 449
  *    Couples nom de la `meta` => valeur par défaut
450 450
  */
451 451
 function liste_metas() {
452
-	return pipeline('configurer_liste_metas', array(
453
-		'nom_site' => _T('info_mon_site_spip'),
454
-		'slogan_site' => '',
455
-		'adresse_site' => preg_replace(",/$,", "", url_de_base()),
456
-		'descriptif_site' => '',
457
-		'activer_logos' => 'oui',
458
-		'activer_logos_survol' => 'non',
459
-		'articles_surtitre' => 'non',
460
-		'articles_soustitre' => 'non',
461
-		'articles_descriptif' => 'non',
462
-		'articles_chapeau' => 'non',
463
-		'articles_texte' => 'oui',
464
-		'articles_ps' => 'non',
465
-		'articles_redac' => 'non',
466
-		'post_dates' => 'non',
467
-		'articles_urlref' => 'non',
468
-		'articles_redirection' => 'non',
469
-		'creer_preview' => 'non',
470
-		'taille_preview' => 150,
471
-		'articles_modif' => 'non',
472
-
473
-		'rubriques_descriptif' => 'non',
474
-		'rubriques_texte' => 'oui',
475
-
476
-		'accepter_inscriptions' => 'non',
477
-		'accepter_visiteurs' => 'non',
478
-		'prevenir_auteurs' => 'non',
479
-		'suivi_edito' => 'non',
480
-		'adresse_suivi' => '',
481
-		'adresse_suivi_inscription' => '',
482
-		'adresse_neuf' => '',
483
-		'jours_neuf' => '',
484
-		'quoi_de_neuf' => 'non',
485
-		'preview' => ',0minirezo,1comite,',
486
-
487
-		'syndication_integrale' => 'oui',
488
-		'charset' => _DEFAULT_CHARSET,
489
-		'dir_img' => substr(_DIR_IMG, strlen(_DIR_RACINE)),
490
-
491
-		'multi_rubriques' => 'non',
492
-		'multi_secteurs' => 'non',
493
-		'gerer_trad' => 'non',
494
-		'langues_multilingue' => '',
495
-
496
-		'version_html_max' => 'html4',
497
-
498
-		'type_urls' => 'page',
499
-
500
-		'email_envoi' => '',
501
-		'email_webmaster' => '',
502
-		'auto_compress_http' => 'non',
503
-	));
452
+    return pipeline('configurer_liste_metas', array(
453
+        'nom_site' => _T('info_mon_site_spip'),
454
+        'slogan_site' => '',
455
+        'adresse_site' => preg_replace(",/$,", "", url_de_base()),
456
+        'descriptif_site' => '',
457
+        'activer_logos' => 'oui',
458
+        'activer_logos_survol' => 'non',
459
+        'articles_surtitre' => 'non',
460
+        'articles_soustitre' => 'non',
461
+        'articles_descriptif' => 'non',
462
+        'articles_chapeau' => 'non',
463
+        'articles_texte' => 'oui',
464
+        'articles_ps' => 'non',
465
+        'articles_redac' => 'non',
466
+        'post_dates' => 'non',
467
+        'articles_urlref' => 'non',
468
+        'articles_redirection' => 'non',
469
+        'creer_preview' => 'non',
470
+        'taille_preview' => 150,
471
+        'articles_modif' => 'non',
472
+
473
+        'rubriques_descriptif' => 'non',
474
+        'rubriques_texte' => 'oui',
475
+
476
+        'accepter_inscriptions' => 'non',
477
+        'accepter_visiteurs' => 'non',
478
+        'prevenir_auteurs' => 'non',
479
+        'suivi_edito' => 'non',
480
+        'adresse_suivi' => '',
481
+        'adresse_suivi_inscription' => '',
482
+        'adresse_neuf' => '',
483
+        'jours_neuf' => '',
484
+        'quoi_de_neuf' => 'non',
485
+        'preview' => ',0minirezo,1comite,',
486
+
487
+        'syndication_integrale' => 'oui',
488
+        'charset' => _DEFAULT_CHARSET,
489
+        'dir_img' => substr(_DIR_IMG, strlen(_DIR_RACINE)),
490
+
491
+        'multi_rubriques' => 'non',
492
+        'multi_secteurs' => 'non',
493
+        'gerer_trad' => 'non',
494
+        'langues_multilingue' => '',
495
+
496
+        'version_html_max' => 'html4',
497
+
498
+        'type_urls' => 'page',
499
+
500
+        'email_envoi' => '',
501
+        'email_webmaster' => '',
502
+        'auto_compress_http' => 'non',
503
+    ));
504 504
 }
505 505
 
506 506
 /**
@@ -511,43 +511,43 @@  discard block
 block discarded – undo
511 511
  * @return void
512 512
  */
513 513
 function actualise_metas($liste_meta) {
514
-	$meta_serveur =
515
-		array(
516
-			'version_installee',
517
-			'adresse_site',
518
-			'alea_ephemere_ancien',
519
-			'alea_ephemere',
520
-			'alea_ephemere_date',
521
-			'langue_site',
522
-			'langues_proposees',
523
-			'date_calcul_rubriques',
524
-			'derniere_modif',
525
-			'optimiser_table',
526
-			'drapeau_edition',
527
-			'creer_preview',
528
-			'taille_preview',
529
-			'creer_htpasswd',
530
-			'creer_htaccess',
531
-			'gd_formats_read',
532
-			'gd_formats',
533
-			'netpbm_formats',
534
-			'formats_graphiques',
535
-			'image_process',
536
-			'plugin_header',
537
-			'plugin'
538
-		);
539
-	// verifier le impt=non
540
-	sql_updateq('spip_meta', array('impt' => 'non'), sql_in('nom', $meta_serveur));
541
-
542
-	foreach ($liste_meta as $nom => $valeur) {
543
-		if (empty($GLOBALS['meta'][$nom])) {
544
-			ecrire_meta($nom, $valeur);
545
-		}
546
-	}
547
-
548
-	include_spip('inc/rubriques');
549
-	$langues = calculer_langues_utilisees();
550
-	ecrire_meta('langues_utilisees', $langues);
514
+    $meta_serveur =
515
+        array(
516
+            'version_installee',
517
+            'adresse_site',
518
+            'alea_ephemere_ancien',
519
+            'alea_ephemere',
520
+            'alea_ephemere_date',
521
+            'langue_site',
522
+            'langues_proposees',
523
+            'date_calcul_rubriques',
524
+            'derniere_modif',
525
+            'optimiser_table',
526
+            'drapeau_edition',
527
+            'creer_preview',
528
+            'taille_preview',
529
+            'creer_htpasswd',
530
+            'creer_htaccess',
531
+            'gd_formats_read',
532
+            'gd_formats',
533
+            'netpbm_formats',
534
+            'formats_graphiques',
535
+            'image_process',
536
+            'plugin_header',
537
+            'plugin'
538
+        );
539
+    // verifier le impt=non
540
+    sql_updateq('spip_meta', array('impt' => 'non'), sql_in('nom', $meta_serveur));
541
+
542
+    foreach ($liste_meta as $nom => $valeur) {
543
+        if (empty($GLOBALS['meta'][$nom])) {
544
+            ecrire_meta($nom, $valeur);
545
+        }
546
+    }
547
+
548
+    include_spip('inc/rubriques');
549
+    $langues = calculer_langues_utilisees();
550
+    ecrire_meta('langues_utilisees', $langues);
551 551
 }
552 552
 
553 553
 
@@ -569,18 +569,18 @@  discard block
 block discarded – undo
569 569
  */
570 570
 function appliquer_modifs_config($purger_skel = false) {
571 571
 
572
-	foreach (liste_metas() as $i => $v) {
573
-		if (($x = _request($i)) !== null) {
574
-			ecrire_meta($i, $x);
575
-		} elseif (!isset($GLOBALS['meta'][$i])) {
576
-			ecrire_meta($i, $v);
577
-		}
578
-	}
579
-
580
-	if ($purger_skel) {
581
-		include_spip('inc/invalideur');
582
-		purger_repertoire(_DIR_SKELS);
583
-	}
572
+    foreach (liste_metas() as $i => $v) {
573
+        if (($x = _request($i)) !== null) {
574
+            ecrire_meta($i, $x);
575
+        } elseif (!isset($GLOBALS['meta'][$i])) {
576
+            ecrire_meta($i, $v);
577
+        }
578
+    }
579
+
580
+    if ($purger_skel) {
581
+        include_spip('inc/invalideur');
582
+        purger_repertoire(_DIR_SKELS);
583
+    }
584 584
 }
585 585
 
586 586
 /**
@@ -591,21 +591,21 @@  discard block
 block discarded – undo
591 591
  * @return string
592 592
  */
593 593
 function appliquer_adresse_site($adresse_site) {
594
-	if ($adresse_site !== null) {
595
-		if (!strlen($adresse_site)) {
596
-			$GLOBALS['profondeur_url'] = _DIR_RESTREINT ? 0 : 1;
597
-			$adresse_site = url_de_base();
598
-		}
599
-		$adresse_site = preg_replace(",/?\s*$,", "", $adresse_site);
594
+    if ($adresse_site !== null) {
595
+        if (!strlen($adresse_site)) {
596
+            $GLOBALS['profondeur_url'] = _DIR_RESTREINT ? 0 : 1;
597
+            $adresse_site = url_de_base();
598
+        }
599
+        $adresse_site = preg_replace(",/?\s*$,", "", $adresse_site);
600 600
 
601
-		if (!tester_url_absolue($adresse_site)) {
602
-			$adresse_site = "http://$adresse_site";
603
-		}
601
+        if (!tester_url_absolue($adresse_site)) {
602
+            $adresse_site = "http://$adresse_site";
603
+        }
604 604
 
605
-		$adresse_site = entites_html($adresse_site);
605
+        $adresse_site = entites_html($adresse_site);
606 606
 
607
-		ecrire_meta('adresse_site', $adresse_site);
608
-	}
607
+        ecrire_meta('adresse_site', $adresse_site);
608
+    }
609 609
 
610
-	return $adresse_site;
610
+    return $adresse_site;
611 611
 }
Please login to merge, or discard this patch.
ecrire/inc/texte_mini.php 3 patches
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -384,10 +384,12 @@
 block discarded – undo
384 384
 		$texte = $court;
385 385
 	}
386 386
 
387
-	if (strpos($texte, "\n"))  // la fin est encore la : c'est qu'on n'a pas de texte de suite
387
+	if (strpos($texte, "\n")) {
388
+	    // la fin est encore la : c'est qu'on n'a pas de texte de suite
388 389
 	{
389 390
 		$points = '';
390 391
 	}
392
+	}
391 393
 
392 394
 	// remettre les paragraphes
393 395
 	$texte = preg_replace("/\r+/", "\n\n", $texte);
Please login to merge, or discard this patch.
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
 	// celle du texte) et public (spip_lang est la langue du texte)
45 45
 	$dir = _DIR_RESTREINT ? lang_dir() : lang_dir($GLOBALS['spip_lang']);
46 46
 
47
-	$p = 'puce' . (test_espace_prive() ? '_prive' : '');
47
+	$p = 'puce'.(test_espace_prive() ? '_prive' : '');
48 48
 	if ($dir == 'rtl') {
49 49
 		$p .= '_rtl';
50 50
 	}
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
 }
68 68
 
69 69
 if (!defined('_BALISES_BLOCS_REGEXP')) {
70
-	define('_BALISES_BLOCS_REGEXP', ',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS');
70
+	define('_BALISES_BLOCS_REGEXP', ',</?('._BALISES_BLOCS.')[>[:space:]],iS');
71 71
 }
72 72
 
73 73
 //
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
 
86 86
 	// Tester si on echappe en span ou en div
87 87
 	if (is_null($mode) or !in_array($mode, array('div', 'span'))) {
88
-		$mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $rempl) ? 'div' : 'span';
88
+		$mode = preg_match(',</?('._BALISES_BLOCS.')[>[:space:]],iS', $rempl) ? 'div' : 'span';
89 89
 	}
90 90
 
91 91
 	// Decouper en morceaux, base64 a des probleme selon la taille de la pile
@@ -117,11 +117,11 @@  discard block
 block discarded – undo
117 117
 	// echapper les < dans <code>
118 118
 	// on utilise _PROTEGE_BLOCS pour simplifier le code et la maintenance, mais on est interesse que par <code>
119 119
 	if (strpos($pre, "<") !== false
120
-		and preg_match_all(_PROTEGE_BLOCS, $pre, $matches, PREG_SET_ORDER)){
120
+		and preg_match_all(_PROTEGE_BLOCS, $pre, $matches, PREG_SET_ORDER)) {
121 121
 
122
-		foreach ($matches as $m){
123
-			if ($m[1]==='code'){
124
-				$code = "<code" . $m[2] . ">" . spip_htmlspecialchars($m[3]) . "</code>";
122
+		foreach ($matches as $m) {
123
+			if ($m[1] === 'code') {
124
+				$code = "<code".$m[2].">".spip_htmlspecialchars($m[3])."</code>";
125 125
 				$pre = str_replace($m[0], $code, $pre);
126 126
 			}
127 127
 		}
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
 // Echapper les <code>...</ code>
133 133
 // https://code.spip.net/@traiter_echap_code_dist
134 134
 function traiter_echap_code_dist($regs) {
135
-	list(, , $att, $corps) = $regs;
135
+	list(,, $att, $corps) = $regs;
136 136
 	$echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code !
137 137
 
138 138
 	// ne pas mettre le <div...> s'il n'y a qu'une ligne
@@ -143,9 +143,9 @@  discard block
 block discarded – undo
143 143
 		$echap = nl2br($echap);
144 144
 		$echap = "<div style='text-align: left;' "
145 145
 			. "class='spip_code' dir='ltr'><code$att>"
146
-			. $echap . "</code></div>";
146
+			. $echap."</code></div>";
147 147
 	} else {
148
-		$echap = "<code$att class='spip_code' dir='ltr'>" . $echap . "</code>";
148
+		$echap = "<code$att class='spip_code' dir='ltr'>".$echap."</code>";
149 149
 	}
150 150
 
151 151
 	$echap = str_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $echap);
@@ -222,10 +222,10 @@  discard block
 block discarded – undo
222 222
 				$echap = $regs[0];
223 223
 			} // sinon les traiter selon le cas
224 224
 			else {
225
-				if (function_exists($f = 'traiter_echap_' . strtolower($regs[1]))) {
225
+				if (function_exists($f = 'traiter_echap_'.strtolower($regs[1]))) {
226 226
 					$echap = $f($regs);
227 227
 				} else {
228
-					if (function_exists($f = $f . '_dist')) {
228
+					if (function_exists($f = $f.'_dist')) {
229 229
 						$echap = $f($regs);
230 230
 					}
231 231
 				}
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
 	// (derogatoire car on ne peut pas faire passer < ? ... ? >
246 246
 	// dans une callback autonommee
247 247
 	if (strpos($preg ? $preg : _PROTEGE_BLOCS, 'script') !== false) {
248
-		if (strpos($letexte, "<" . "?") !== false and preg_match_all(',<[?].*($|[?]>),UisS',
248
+		if (strpos($letexte, "<"."?") !== false and preg_match_all(',<[?].*($|[?]>),UisS',
249 249
 				$letexte, $matches, PREG_SET_ORDER)
250 250
 		) {
251 251
 			foreach ($matches as $regs) {
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
 		$max_prof = 5;
271 271
 		while (strpos($letexte, "<") !== false
272 272
 			and
273
-			preg_match_all(',<(span|div)\sclass=[\'"]base64' . $source . '[\'"]\s(.*)>\s*</\1>,UmsS',
273
+			preg_match_all(',<(span|div)\sclass=[\'"]base64'.$source.'[\'"]\s(.*)>\s*</\1>,UmsS',
274 274
 				$letexte, $regs, PREG_SET_ORDER)
275 275
 			and $max_prof--) {
276 276
 			foreach ($regs as $reg) {
@@ -283,7 +283,7 @@  discard block
 block discarded – undo
283 283
 					}
284 284
 				}
285 285
 				if ($at) {
286
-					$rempl = '<' . $reg[1] . '>' . $rempl . '</' . $reg[1] . '>';
286
+					$rempl = '<'.$reg[1].'>'.$rempl.'</'.$reg[1].'>';
287 287
 					foreach ($at as $attr => $a) {
288 288
 						$rempl = inserer_attribut($rempl, $attr, $a);
289 289
 					}
@@ -362,8 +362,8 @@  discard block
 block discarded – undo
362 362
 	$texte = nettoyer_raccourcis_typo($texte);
363 363
 
364 364
 	// balises de sauts de ligne et paragraphe
365
-	$texte = preg_replace("/<p( [^>]*)?" . ">/", "\r", $texte);
366
-	$texte = preg_replace("/<br( [^>]*)?" . ">/", "\n", $texte);
365
+	$texte = preg_replace("/<p( [^>]*)?".">/", "\r", $texte);
366
+	$texte = preg_replace("/<br( [^>]*)?".">/", "\n", $texte);
367 367
 
368 368
 	// on repasse les doubles \n en \r que nettoyer_raccourcis_typo() a pu modifier
369 369
 	$texte = str_replace("\n\n", "\r", $texte);
@@ -371,7 +371,7 @@  discard block
 block discarded – undo
371 371
 	// supprimer les tags
372 372
 	$texte = supprimer_tags($texte);
373 373
 	$texte = trim(str_replace("\n", " ", $texte));
374
-	$texte .= "\n";  // marquer la fin
374
+	$texte .= "\n"; // marquer la fin
375 375
 
376 376
 	// corriger la longueur de coupe
377 377
 	// en fonction de la presence de caracteres utf
@@ -386,7 +386,7 @@  discard block
 block discarded – undo
386 386
 	// couper au mot precedent
387 387
 	$long = spip_substr($texte, 0, max($taille - 4, 1));
388 388
 	$u = $GLOBALS['meta']['pcre_u'];
389
-	$court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
389
+	$court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/".$u, "\\1", $long);
390 390
 	if (is_null($suite)) {
391 391
 		$suite = (defined('_COUPER_SUITE') ? _COUPER_SUITE : '&nbsp;(...)');
392 392
 	}
@@ -396,7 +396,7 @@  discard block
 block discarded – undo
396 396
 	if (spip_strlen($court) < max(0.75 * $taille, 2)) {
397 397
 		$points = '';
398 398
 		$long = spip_substr($texte, 0, $taille);
399
-		$texte = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
399
+		$texte = preg_replace("/([^\s][\s]+)[^\s]*\n?$/".$u, "\\1", $long);
400 400
 		// encore trop court ? couper au caractere
401 401
 		if (spip_strlen($texte) < 0.75 * $taille) {
402 402
 			$texte = $long;
@@ -416,7 +416,7 @@  discard block
 block discarded – undo
416 416
 	// supprimer l'eventuelle entite finale mal coupee
417 417
 	$texte = preg_replace('/&#?[a-z0-9]*$/S', '', $texte);
418 418
 
419
-	return quote_amp(trim($texte)) . $points;
419
+	return quote_amp(trim($texte)).$points;
420 420
 }
421 421
 
422 422
 
@@ -429,16 +429,16 @@  discard block
 block discarded – undo
429 429
 				define('_PROTEGE_JS_MODELES', creer_uniqid());
430 430
 			}
431 431
 			foreach ($r as $regs) {
432
-				$t = str_replace($regs[0], code_echappement($regs[0], 'javascript' . _PROTEGE_JS_MODELES), $t);
432
+				$t = str_replace($regs[0], code_echappement($regs[0], 'javascript'._PROTEGE_JS_MODELES), $t);
433 433
 			}
434 434
 		}
435
-		if (preg_match_all(',<\?php.*?($|\?' . '>),isS', $t, $r, PREG_SET_ORDER)) {
435
+		if (preg_match_all(',<\?php.*?($|\?'.'>),isS', $t, $r, PREG_SET_ORDER)) {
436 436
 			if (!defined('_PROTEGE_PHP_MODELES')) {
437 437
 				include_spip('inc/acces');
438 438
 				define('_PROTEGE_PHP_MODELES', creer_uniqid());
439 439
 			}
440 440
 			foreach ($r as $regs) {
441
-				$t = str_replace($regs[0], code_echappement($regs[0], 'php' . _PROTEGE_PHP_MODELES), $t);
441
+				$t = str_replace($regs[0], code_echappement($regs[0], 'php'._PROTEGE_PHP_MODELES), $t);
442 442
 			}
443 443
 		}
444 444
 	}
@@ -473,7 +473,7 @@  discard block
 block discarded – undo
473 473
  * @param bool $strict
474 474
  * @return string
475 475
  */
476
-function echapper_html_suspect($texte, $strict=true) {
476
+function echapper_html_suspect($texte, $strict = true) {
477 477
 	static $echapper_html_suspect;
478 478
 	if (!$texte or !is_string($texte)) {
479 479
 		return $texte;
@@ -495,8 +495,8 @@  discard block
 block discarded – undo
495 495
 	// quand c'est du texte qui passe par propre on est plus coulant tant qu'il y a pas d'attribut du type onxxx=
496 496
 	// car sinon on declenche sur les modeles ou ressources
497 497
 	if (!$strict and
498
-	  (strpos($texte,'on') === false or !preg_match(",<\w+.*\bon\w+\s*=,UimsS", $texte))
499
-	  ){
498
+	  (strpos($texte, 'on') === false or !preg_match(",<\w+.*\bon\w+\s*=,UimsS", $texte))
499
+	  ) {
500 500
 		return $texte;
501 501
 	}
502 502
 
@@ -575,9 +575,9 @@  discard block
 block discarded – undo
575 575
  **/
576 576
 function supprime_img($letexte, $message = null) {
577 577
 	if ($message === null) {
578
-		$message = '(' . _T('img_indisponible') . ')';
578
+		$message = '('._T('img_indisponible').')';
579 579
 	}
580 580
 
581
-	return preg_replace(',<(img|doc|emb)([0-9]+)(\|([^>]*))?' . '\s*/?' . '>,i',
581
+	return preg_replace(',<(img|doc|emb)([0-9]+)(\|([^>]*))?'.'\s*/?'.'>,i',
582 582
 		$message, $letexte);
583 583
 }
Please login to merge, or discard this patch.
Indentation   +376 added lines, -376 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
 include_spip('inc/filtres');
23 23
 include_spip('inc/lang');
@@ -39,21 +39,21 @@  discard block
 block discarded – undo
39 39
  **/
40 40
 function definir_puce() {
41 41
 
42
-	// Attention au sens, qui n'est pas defini de la meme facon dans
43
-	// l'espace prive (spip_lang est la langue de l'interface, lang_dir
44
-	// celle du texte) et public (spip_lang est la langue du texte)
45
-	$dir = _DIR_RESTREINT ? lang_dir() : lang_dir($GLOBALS['spip_lang']);
42
+    // Attention au sens, qui n'est pas defini de la meme facon dans
43
+    // l'espace prive (spip_lang est la langue de l'interface, lang_dir
44
+    // celle du texte) et public (spip_lang est la langue du texte)
45
+    $dir = _DIR_RESTREINT ? lang_dir() : lang_dir($GLOBALS['spip_lang']);
46 46
 
47
-	$p = 'puce' . (test_espace_prive() ? '_prive' : '');
48
-	if ($dir == 'rtl') {
49
-		$p .= '_rtl';
50
-	}
47
+    $p = 'puce' . (test_espace_prive() ? '_prive' : '');
48
+    if ($dir == 'rtl') {
49
+        $p .= '_rtl';
50
+    }
51 51
 
52
-	if (!isset($GLOBALS[$p])) {
53
-		$GLOBALS[$p] = '<span class="spip-puce '.$dir.'"><b>–</b></span>';
54
-	}
52
+    if (!isset($GLOBALS[$p])) {
53
+        $GLOBALS[$p] = '<span class="spip-puce '.$dir.'"><b>–</b></span>';
54
+    }
55 55
 
56
-	return $GLOBALS[$p];
56
+    return $GLOBALS[$p];
57 57
 }
58 58
 
59 59
 
@@ -61,13 +61,13 @@  discard block
 block discarded – undo
61 61
 // dont on souhaite qu'ils provoquent un saut de paragraphe
62 62
 
63 63
 if (!defined('_BALISES_BLOCS')) {
64
-	define('_BALISES_BLOCS',
65
-	'address|applet|article|aside|blockquote|button|center|d[ltd]|div|fieldset|fig(ure|caption)|footer|form|h[1-6r]|hgroup|head|header|iframe|li|map|marquee|nav|noscript|object|ol|pre|section|t(able|[rdh]|body|foot|extarea)|ul|script|style'
66
-	);
64
+    define('_BALISES_BLOCS',
65
+    'address|applet|article|aside|blockquote|button|center|d[ltd]|div|fieldset|fig(ure|caption)|footer|form|h[1-6r]|hgroup|head|header|iframe|li|map|marquee|nav|noscript|object|ol|pre|section|t(able|[rdh]|body|foot|extarea)|ul|script|style'
66
+    );
67 67
 }
68 68
 
69 69
 if (!defined('_BALISES_BLOCS_REGEXP')) {
70
-	define('_BALISES_BLOCS_REGEXP', ',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS');
70
+    define('_BALISES_BLOCS_REGEXP', ',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS');
71 71
 }
72 72
 
73 73
 //
@@ -79,26 +79,26 @@  discard block
 block discarded – undo
79 79
 // echappe est un div ou un span
80 80
 // https://code.spip.net/@code_echappement
81 81
 function code_echappement($rempl, $source = '', $no_transform = false, $mode = null) {
82
-	if (!strlen($rempl)) {
83
-		return '';
84
-	}
85
-
86
-	// Tester si on echappe en span ou en div
87
-	if (is_null($mode) or !in_array($mode, array('div', 'span'))) {
88
-		$mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $rempl) ? 'div' : 'span';
89
-	}
90
-
91
-	// Decouper en morceaux, base64 a des probleme selon la taille de la pile
92
-	$taille = 30000;
93
-	$return = "";
94
-	for ($i = 0; $i < strlen($rempl); $i += $taille) {
95
-		// Convertir en base64 et cacher dans un attribut
96
-		// utiliser les " pour eviter le re-encodage de ' et &#8217
97
-		$base64 = base64_encode(substr($rempl, $i, $taille));
98
-		$return .= "<$mode class=\"base64$source\" title=\"$base64\"></$mode>";
99
-	}
100
-
101
-	return $return;
82
+    if (!strlen($rempl)) {
83
+        return '';
84
+    }
85
+
86
+    // Tester si on echappe en span ou en div
87
+    if (is_null($mode) or !in_array($mode, array('div', 'span'))) {
88
+        $mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $rempl) ? 'div' : 'span';
89
+    }
90
+
91
+    // Decouper en morceaux, base64 a des probleme selon la taille de la pile
92
+    $taille = 30000;
93
+    $return = "";
94
+    for ($i = 0; $i < strlen($rempl); $i += $taille) {
95
+        // Convertir en base64 et cacher dans un attribut
96
+        // utiliser les " pour eviter le re-encodage de ' et &#8217
97
+        $base64 = base64_encode(substr($rempl, $i, $taille));
98
+        $return .= "<$mode class=\"base64$source\" title=\"$base64\"></$mode>";
99
+    }
100
+
101
+    return $return;
102 102
 
103 103
 }
104 104
 
@@ -106,84 +106,84 @@  discard block
 block discarded – undo
106 106
 // Echapper les <html>...</ html>
107 107
 // https://code.spip.net/@traiter_echap_html_dist
108 108
 function traiter_echap_html_dist($regs) {
109
-	return $regs[3];
109
+    return $regs[3];
110 110
 }
111 111
 
112 112
 // Echapper les <pre>...</ pre>
113 113
 function traiter_echap_pre_dist($regs) {
114
-	// echapper les <code> dans <pre>
115
-	$pre = $regs[3];
116
-
117
-	// echapper les < dans <code>
118
-	// on utilise _PROTEGE_BLOCS pour simplifier le code et la maintenance, mais on est interesse que par <code>
119
-	if (strpos($pre, "<") !== false
120
-		and preg_match_all(_PROTEGE_BLOCS, $pre, $matches, PREG_SET_ORDER)){
121
-
122
-		foreach ($matches as $m){
123
-			if ($m[1]==='code'){
124
-				$code = "<code" . $m[2] . ">" . spip_htmlspecialchars($m[3]) . "</code>";
125
-				$pre = str_replace($m[0], $code, $pre);
126
-			}
127
-		}
128
-	}
129
-	return "<pre>$pre</pre>";
114
+    // echapper les <code> dans <pre>
115
+    $pre = $regs[3];
116
+
117
+    // echapper les < dans <code>
118
+    // on utilise _PROTEGE_BLOCS pour simplifier le code et la maintenance, mais on est interesse que par <code>
119
+    if (strpos($pre, "<") !== false
120
+        and preg_match_all(_PROTEGE_BLOCS, $pre, $matches, PREG_SET_ORDER)){
121
+
122
+        foreach ($matches as $m){
123
+            if ($m[1]==='code'){
124
+                $code = "<code" . $m[2] . ">" . spip_htmlspecialchars($m[3]) . "</code>";
125
+                $pre = str_replace($m[0], $code, $pre);
126
+            }
127
+        }
128
+    }
129
+    return "<pre>$pre</pre>";
130 130
 }
131 131
 
132 132
 // Echapper les <code>...</ code>
133 133
 // https://code.spip.net/@traiter_echap_code_dist
134 134
 function traiter_echap_code_dist($regs) {
135
-	list(, , $att, $corps) = $regs;
136
-	$echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code !
137
-
138
-	// ne pas mettre le <div...> s'il n'y a qu'une ligne
139
-	if (is_int(strpos($echap, "\n"))) {
140
-		// supprimer les sauts de ligne debut/fin
141
-		// (mais pas les espaces => ascii art).
142
-		$echap = preg_replace("/^[\n\r]+|[\n\r]+$/s", "", $echap);
143
-		$echap = nl2br($echap);
144
-		$echap = "<div style='text-align: left;' "
145
-			. "class='spip_code' dir='ltr'><code$att>"
146
-			. $echap . "</code></div>";
147
-	} else {
148
-		$echap = "<code$att class='spip_code' dir='ltr'>" . $echap . "</code>";
149
-	}
150
-
151
-	$echap = str_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $echap);
152
-	$echap = str_replace("  ", " &nbsp;", $echap);
153
-
154
-	return $echap;
135
+    list(, , $att, $corps) = $regs;
136
+    $echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code !
137
+
138
+    // ne pas mettre le <div...> s'il n'y a qu'une ligne
139
+    if (is_int(strpos($echap, "\n"))) {
140
+        // supprimer les sauts de ligne debut/fin
141
+        // (mais pas les espaces => ascii art).
142
+        $echap = preg_replace("/^[\n\r]+|[\n\r]+$/s", "", $echap);
143
+        $echap = nl2br($echap);
144
+        $echap = "<div style='text-align: left;' "
145
+            . "class='spip_code' dir='ltr'><code$att>"
146
+            . $echap . "</code></div>";
147
+    } else {
148
+        $echap = "<code$att class='spip_code' dir='ltr'>" . $echap . "</code>";
149
+    }
150
+
151
+    $echap = str_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $echap);
152
+    $echap = str_replace("  ", " &nbsp;", $echap);
153
+
154
+    return $echap;
155 155
 }
156 156
 
157 157
 // Echapper les <cadre>...</ cadre> aka <frame>...</ frame>
158 158
 // https://code.spip.net/@traiter_echap_cadre_dist
159 159
 function traiter_echap_cadre_dist($regs) {
160
-	$echap = trim(entites_html($regs[3]));
161
-	// compter les lignes un peu plus finement qu'avec les \n
162
-	$lignes = explode("\n", trim($echap));
163
-	$n = 0;
164
-	foreach ($lignes as $l) {
165
-		$n += floor(strlen($l) / 60) + 1;
166
-	}
167
-	$n = max($n, 2);
168
-	$echap = "\n<textarea readonly='readonly' cols='40' rows='$n' class='spip_cadre' dir='ltr'>$echap</textarea>";
169
-
170
-	return $echap;
160
+    $echap = trim(entites_html($regs[3]));
161
+    // compter les lignes un peu plus finement qu'avec les \n
162
+    $lignes = explode("\n", trim($echap));
163
+    $n = 0;
164
+    foreach ($lignes as $l) {
165
+        $n += floor(strlen($l) / 60) + 1;
166
+    }
167
+    $n = max($n, 2);
168
+    $echap = "\n<textarea readonly='readonly' cols='40' rows='$n' class='spip_cadre' dir='ltr'>$echap</textarea>";
169
+
170
+    return $echap;
171 171
 }
172 172
 
173 173
 // https://code.spip.net/@traiter_echap_frame_dist
174 174
 function traiter_echap_frame_dist($regs) {
175
-	return traiter_echap_cadre_dist($regs);
175
+    return traiter_echap_cadre_dist($regs);
176 176
 }
177 177
 
178 178
 // https://code.spip.net/@traiter_echap_script_dist
179 179
 function traiter_echap_script_dist($regs) {
180
-	// rendre joli (et inactif) si c'est un script language=php
181
-	if (preg_match(',<script\b[^>]+php,ims', $regs[0])) {
182
-		return highlight_string($regs[0], true);
183
-	}
180
+    // rendre joli (et inactif) si c'est un script language=php
181
+    if (preg_match(',<script\b[^>]+php,ims', $regs[0])) {
182
+        return highlight_string($regs[0], true);
183
+    }
184 184
 
185
-	// Cas normal : le script passe tel quel
186
-	return $regs[0];
185
+    // Cas normal : le script passe tel quel
186
+    return $regs[0];
187 187
 }
188 188
 
189 189
 define('_PROTEGE_BLOCS', ',<(html|pre|code|cadre|frame|script|style)(\s[^>]*)?>(.*)</\1>,UimsS');
@@ -192,71 +192,71 @@  discard block
 block discarded – undo
192 192
 // - pour $no_transform voir le filtre post_autobr dans inc/filtres
193 193
 // https://code.spip.net/@echappe_html
194 194
 function echappe_html(
195
-	$letexte,
196
-	$source = '',
197
-	$no_transform = false,
198
-	$preg = ''
195
+    $letexte,
196
+    $source = '',
197
+    $no_transform = false,
198
+    $preg = ''
199 199
 ) {
200
-	if (!is_string($letexte) or !strlen($letexte)) {
201
-		return $letexte;
202
-	}
203
-
204
-	// si le texte recu est long PCRE risque d'exploser, on
205
-	// fait donc un mic-mac pour augmenter pcre.backtrack_limit
206
-	if (($len = strlen($letexte)) > 100000) {
207
-		if (!$old = @ini_get('pcre.backtrack_limit')) {
208
-			$old = 100000;
209
-		}
210
-		if ($len > $old) {
211
-			$a = @ini_set('pcre.backtrack_limit', $len);
212
-			spip_log("ini_set pcre.backtrack_limit=$len ($old)");
213
-		}
214
-	}
215
-
216
-	if (($preg or strpos($letexte, "<") !== false)
217
-		and preg_match_all($preg ? $preg : _PROTEGE_BLOCS, $letexte, $matches, PREG_SET_ORDER)
218
-	) {
219
-		foreach ($matches as $regs) {
220
-			// echappements tels quels ?
221
-			if ($no_transform) {
222
-				$echap = $regs[0];
223
-			} // sinon les traiter selon le cas
224
-			else {
225
-				if (function_exists($f = 'traiter_echap_' . strtolower($regs[1]))) {
226
-					$echap = $f($regs);
227
-				} else {
228
-					if (function_exists($f = $f . '_dist')) {
229
-						$echap = $f($regs);
230
-					}
231
-				}
232
-			}
233
-
234
-			$p = strpos($letexte, $regs[0]);
235
-			$letexte = substr_replace($letexte, code_echappement($echap, $source, $no_transform), $p, strlen($regs[0]));
236
-		}
237
-	}
238
-
239
-	if ($no_transform) {
240
-		return $letexte;
241
-	}
242
-
243
-	// Echapper le php pour faire joli (ici, c'est pas pour la securite)
244
-	// seulement si on a echappe les <script>
245
-	// (derogatoire car on ne peut pas faire passer < ? ... ? >
246
-	// dans une callback autonommee
247
-	if (strpos($preg ? $preg : _PROTEGE_BLOCS, 'script') !== false) {
248
-		if (strpos($letexte, "<" . "?") !== false and preg_match_all(',<[?].*($|[?]>),UisS',
249
-				$letexte, $matches, PREG_SET_ORDER)
250
-		) {
251
-			foreach ($matches as $regs) {
252
-				$letexte = str_replace($regs[0],
253
-					code_echappement(highlight_string($regs[0], true), $source),
254
-					$letexte);
255
-			}
256
-		}
257
-	}
258
-
259
-	return $letexte;
200
+    if (!is_string($letexte) or !strlen($letexte)) {
201
+        return $letexte;
202
+    }
203
+
204
+    // si le texte recu est long PCRE risque d'exploser, on
205
+    // fait donc un mic-mac pour augmenter pcre.backtrack_limit
206
+    if (($len = strlen($letexte)) > 100000) {
207
+        if (!$old = @ini_get('pcre.backtrack_limit')) {
208
+            $old = 100000;
209
+        }
210
+        if ($len > $old) {
211
+            $a = @ini_set('pcre.backtrack_limit', $len);
212
+            spip_log("ini_set pcre.backtrack_limit=$len ($old)");
213
+        }
214
+    }
215
+
216
+    if (($preg or strpos($letexte, "<") !== false)
217
+        and preg_match_all($preg ? $preg : _PROTEGE_BLOCS, $letexte, $matches, PREG_SET_ORDER)
218
+    ) {
219
+        foreach ($matches as $regs) {
220
+            // echappements tels quels ?
221
+            if ($no_transform) {
222
+                $echap = $regs[0];
223
+            } // sinon les traiter selon le cas
224
+            else {
225
+                if (function_exists($f = 'traiter_echap_' . strtolower($regs[1]))) {
226
+                    $echap = $f($regs);
227
+                } else {
228
+                    if (function_exists($f = $f . '_dist')) {
229
+                        $echap = $f($regs);
230
+                    }
231
+                }
232
+            }
233
+
234
+            $p = strpos($letexte, $regs[0]);
235
+            $letexte = substr_replace($letexte, code_echappement($echap, $source, $no_transform), $p, strlen($regs[0]));
236
+        }
237
+    }
238
+
239
+    if ($no_transform) {
240
+        return $letexte;
241
+    }
242
+
243
+    // Echapper le php pour faire joli (ici, c'est pas pour la securite)
244
+    // seulement si on a echappe les <script>
245
+    // (derogatoire car on ne peut pas faire passer < ? ... ? >
246
+    // dans une callback autonommee
247
+    if (strpos($preg ? $preg : _PROTEGE_BLOCS, 'script') !== false) {
248
+        if (strpos($letexte, "<" . "?") !== false and preg_match_all(',<[?].*($|[?]>),UisS',
249
+                $letexte, $matches, PREG_SET_ORDER)
250
+        ) {
251
+            foreach ($matches as $regs) {
252
+                $letexte = str_replace($regs[0],
253
+                    code_echappement(highlight_string($regs[0], true), $source),
254
+                    $letexte);
255
+            }
256
+        }
257
+    }
258
+
259
+    return $letexte;
260 260
 }
261 261
 
262 262
 //
@@ -265,52 +265,52 @@  discard block
 block discarded – undo
265 265
 // par propre() : exemple dans multi et dans typo()
266 266
 // https://code.spip.net/@echappe_retour
267 267
 function echappe_retour($letexte, $source = '', $filtre = "") {
268
-	if (strpos($letexte, "base64$source")) {
269
-		# spip_log(spip_htmlspecialchars($letexte));  ## pour les curieux
270
-		$max_prof = 5;
271
-		while (strpos($letexte, "<") !== false
272
-			and
273
-			preg_match_all(',<(span|div)\sclass=[\'"]base64' . $source . '[\'"]\s(.*)>\s*</\1>,UmsS',
274
-				$letexte, $regs, PREG_SET_ORDER)
275
-			and $max_prof--) {
276
-			foreach ($regs as $reg) {
277
-				$rempl = base64_decode(extraire_attribut($reg[0], 'title'));
278
-				// recherche d'attributs supplementaires
279
-				$at = array();
280
-				foreach (array('lang', 'dir') as $attr) {
281
-					if ($a = extraire_attribut($reg[0], $attr)) {
282
-						$at[$attr] = $a;
283
-					}
284
-				}
285
-				if ($at) {
286
-					$rempl = '<' . $reg[1] . '>' . $rempl . '</' . $reg[1] . '>';
287
-					foreach ($at as $attr => $a) {
288
-						$rempl = inserer_attribut($rempl, $attr, $a);
289
-					}
290
-				}
291
-				if ($filtre) {
292
-					$rempl = $filtre($rempl);
293
-				}
294
-				$letexte = str_replace($reg[0], $rempl, $letexte);
295
-			}
296
-		}
297
-	}
298
-
299
-	return $letexte;
268
+    if (strpos($letexte, "base64$source")) {
269
+        # spip_log(spip_htmlspecialchars($letexte));  ## pour les curieux
270
+        $max_prof = 5;
271
+        while (strpos($letexte, "<") !== false
272
+            and
273
+            preg_match_all(',<(span|div)\sclass=[\'"]base64' . $source . '[\'"]\s(.*)>\s*</\1>,UmsS',
274
+                $letexte, $regs, PREG_SET_ORDER)
275
+            and $max_prof--) {
276
+            foreach ($regs as $reg) {
277
+                $rempl = base64_decode(extraire_attribut($reg[0], 'title'));
278
+                // recherche d'attributs supplementaires
279
+                $at = array();
280
+                foreach (array('lang', 'dir') as $attr) {
281
+                    if ($a = extraire_attribut($reg[0], $attr)) {
282
+                        $at[$attr] = $a;
283
+                    }
284
+                }
285
+                if ($at) {
286
+                    $rempl = '<' . $reg[1] . '>' . $rempl . '</' . $reg[1] . '>';
287
+                    foreach ($at as $attr => $a) {
288
+                        $rempl = inserer_attribut($rempl, $attr, $a);
289
+                    }
290
+                }
291
+                if ($filtre) {
292
+                    $rempl = $filtre($rempl);
293
+                }
294
+                $letexte = str_replace($reg[0], $rempl, $letexte);
295
+            }
296
+        }
297
+    }
298
+
299
+    return $letexte;
300 300
 }
301 301
 
302 302
 // Reinserer le javascript de confiance (venant des modeles)
303 303
 
304 304
 // https://code.spip.net/@echappe_retour_modeles
305 305
 function echappe_retour_modeles($letexte, $interdire_scripts = false) {
306
-	$letexte = echappe_retour($letexte);
306
+    $letexte = echappe_retour($letexte);
307 307
 
308
-	// Dans les appels directs hors squelette, securiser aussi ici
309
-	if ($interdire_scripts) {
310
-		$letexte = interdire_scripts($letexte);
311
-	}
308
+    // Dans les appels directs hors squelette, securiser aussi ici
309
+    if ($interdire_scripts) {
310
+        $letexte = interdire_scripts($letexte);
311
+    }
312 312
 
313
-	return trim($letexte);
313
+    return trim($letexte);
314 314
 }
315 315
 
316 316
 
@@ -338,130 +338,130 @@  discard block
 block discarded – undo
338 338
  *     Texte coupé
339 339
  **/
340 340
 function couper($texte, $taille = 50, $suite = null) {
341
-	if (!($length = strlen($texte)) or $taille <= 0) {
342
-		return '';
343
-	}
344
-	$offset = 400 + 2 * $taille;
345
-	while ($offset < $length
346
-		and strlen(preg_replace(",<(!--|\w|/)[^>]+>,Uims", "", substr($texte, 0, $offset))) < $taille) {
347
-		$offset = 2 * $offset;
348
-	}
349
-	if ($offset < $length
350
-		&& ($p_tag_ouvrant = strpos($texte, '<', $offset)) !== null
351
-	) {
352
-		$p_tag_fermant = strpos($texte, '>', $offset);
353
-		if ($p_tag_fermant && ($p_tag_fermant < $p_tag_ouvrant)) {
354
-			$offset = $p_tag_fermant + 1;
355
-		} // prolonger la coupe jusqu'au tag fermant suivant eventuel
356
-	}
357
-	$texte = substr($texte, 0, $offset); /* eviter de travailler sur 10ko pour extraire 150 caracteres */
358
-
359
-	if (!function_exists('nettoyer_raccourcis_typo')) {
360
-		include_spip('inc/lien');
361
-	}
362
-	$texte = nettoyer_raccourcis_typo($texte);
363
-
364
-	// balises de sauts de ligne et paragraphe
365
-	$texte = preg_replace("/<p( [^>]*)?" . ">/", "\r", $texte);
366
-	$texte = preg_replace("/<br( [^>]*)?" . ">/", "\n", $texte);
367
-
368
-	// on repasse les doubles \n en \r que nettoyer_raccourcis_typo() a pu modifier
369
-	$texte = str_replace("\n\n", "\r", $texte);
370
-
371
-	// supprimer les tags
372
-	$texte = supprimer_tags($texte);
373
-	$texte = trim(str_replace("\n", " ", $texte));
374
-	$texte .= "\n";  // marquer la fin
375
-
376
-	// corriger la longueur de coupe
377
-	// en fonction de la presence de caracteres utf
378
-	if ($GLOBALS['meta']['charset'] == 'utf-8') {
379
-		$long = charset2unicode($texte);
380
-		$long = spip_substr($long, 0, max($taille, 1));
381
-		$nbcharutf = preg_match_all('/(&#[0-9]{3,6};)/S', $long, $matches);
382
-		$taille += $nbcharutf;
383
-	}
384
-
385
-
386
-	// couper au mot precedent
387
-	$long = spip_substr($texte, 0, max($taille - 4, 1));
388
-	$u = $GLOBALS['meta']['pcre_u'];
389
-	$court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
390
-	if (is_null($suite)) {
391
-		$suite = (defined('_COUPER_SUITE') ? _COUPER_SUITE : '&nbsp;(...)');
392
-	}
393
-	$points = $suite;
394
-
395
-	// trop court ? ne pas faire de (...)
396
-	if (spip_strlen($court) < max(0.75 * $taille, 2)) {
397
-		$points = '';
398
-		$long = spip_substr($texte, 0, $taille);
399
-		$texte = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
400
-		// encore trop court ? couper au caractere
401
-		if (spip_strlen($texte) < 0.75 * $taille) {
402
-			$texte = $long;
403
-		}
404
-	} else {
405
-		$texte = $court;
406
-	}
407
-
408
-	if (strpos($texte, "\n"))  // la fin est encore la : c'est qu'on n'a pas de texte de suite
409
-	{
410
-		$points = '';
411
-	}
412
-
413
-	// remettre les paragraphes
414
-	$texte = preg_replace("/\r+/", "\n\n", $texte);
415
-
416
-	// supprimer l'eventuelle entite finale mal coupee
417
-	$texte = preg_replace('/&#?[a-z0-9]*$/S', '', $texte);
418
-
419
-	return quote_amp(trim($texte)) . $points;
341
+    if (!($length = strlen($texte)) or $taille <= 0) {
342
+        return '';
343
+    }
344
+    $offset = 400 + 2 * $taille;
345
+    while ($offset < $length
346
+        and strlen(preg_replace(",<(!--|\w|/)[^>]+>,Uims", "", substr($texte, 0, $offset))) < $taille) {
347
+        $offset = 2 * $offset;
348
+    }
349
+    if ($offset < $length
350
+        && ($p_tag_ouvrant = strpos($texte, '<', $offset)) !== null
351
+    ) {
352
+        $p_tag_fermant = strpos($texte, '>', $offset);
353
+        if ($p_tag_fermant && ($p_tag_fermant < $p_tag_ouvrant)) {
354
+            $offset = $p_tag_fermant + 1;
355
+        } // prolonger la coupe jusqu'au tag fermant suivant eventuel
356
+    }
357
+    $texte = substr($texte, 0, $offset); /* eviter de travailler sur 10ko pour extraire 150 caracteres */
358
+
359
+    if (!function_exists('nettoyer_raccourcis_typo')) {
360
+        include_spip('inc/lien');
361
+    }
362
+    $texte = nettoyer_raccourcis_typo($texte);
363
+
364
+    // balises de sauts de ligne et paragraphe
365
+    $texte = preg_replace("/<p( [^>]*)?" . ">/", "\r", $texte);
366
+    $texte = preg_replace("/<br( [^>]*)?" . ">/", "\n", $texte);
367
+
368
+    // on repasse les doubles \n en \r que nettoyer_raccourcis_typo() a pu modifier
369
+    $texte = str_replace("\n\n", "\r", $texte);
370
+
371
+    // supprimer les tags
372
+    $texte = supprimer_tags($texte);
373
+    $texte = trim(str_replace("\n", " ", $texte));
374
+    $texte .= "\n";  // marquer la fin
375
+
376
+    // corriger la longueur de coupe
377
+    // en fonction de la presence de caracteres utf
378
+    if ($GLOBALS['meta']['charset'] == 'utf-8') {
379
+        $long = charset2unicode($texte);
380
+        $long = spip_substr($long, 0, max($taille, 1));
381
+        $nbcharutf = preg_match_all('/(&#[0-9]{3,6};)/S', $long, $matches);
382
+        $taille += $nbcharutf;
383
+    }
384
+
385
+
386
+    // couper au mot precedent
387
+    $long = spip_substr($texte, 0, max($taille - 4, 1));
388
+    $u = $GLOBALS['meta']['pcre_u'];
389
+    $court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
390
+    if (is_null($suite)) {
391
+        $suite = (defined('_COUPER_SUITE') ? _COUPER_SUITE : '&nbsp;(...)');
392
+    }
393
+    $points = $suite;
394
+
395
+    // trop court ? ne pas faire de (...)
396
+    if (spip_strlen($court) < max(0.75 * $taille, 2)) {
397
+        $points = '';
398
+        $long = spip_substr($texte, 0, $taille);
399
+        $texte = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
400
+        // encore trop court ? couper au caractere
401
+        if (spip_strlen($texte) < 0.75 * $taille) {
402
+            $texte = $long;
403
+        }
404
+    } else {
405
+        $texte = $court;
406
+    }
407
+
408
+    if (strpos($texte, "\n"))  // la fin est encore la : c'est qu'on n'a pas de texte de suite
409
+    {
410
+        $points = '';
411
+    }
412
+
413
+    // remettre les paragraphes
414
+    $texte = preg_replace("/\r+/", "\n\n", $texte);
415
+
416
+    // supprimer l'eventuelle entite finale mal coupee
417
+    $texte = preg_replace('/&#?[a-z0-9]*$/S', '', $texte);
418
+
419
+    return quote_amp(trim($texte)) . $points;
420 420
 }
421 421
 
422 422
 
423 423
 // https://code.spip.net/@protege_js_modeles
424 424
 function protege_js_modeles($t) {
425
-	if (isset($GLOBALS['visiteur_session'])) {
426
-		if (preg_match_all(',<script.*?($|</script.),isS', $t, $r, PREG_SET_ORDER)) {
427
-			if (!defined('_PROTEGE_JS_MODELES')) {
428
-				include_spip('inc/acces');
429
-				define('_PROTEGE_JS_MODELES', creer_uniqid());
430
-			}
431
-			foreach ($r as $regs) {
432
-				$t = str_replace($regs[0], code_echappement($regs[0], 'javascript' . _PROTEGE_JS_MODELES), $t);
433
-			}
434
-		}
435
-		if (preg_match_all(',<\?php.*?($|\?' . '>),isS', $t, $r, PREG_SET_ORDER)) {
436
-			if (!defined('_PROTEGE_PHP_MODELES')) {
437
-				include_spip('inc/acces');
438
-				define('_PROTEGE_PHP_MODELES', creer_uniqid());
439
-			}
440
-			foreach ($r as $regs) {
441
-				$t = str_replace($regs[0], code_echappement($regs[0], 'php' . _PROTEGE_PHP_MODELES), $t);
442
-			}
443
-		}
444
-	}
445
-
446
-	return $t;
425
+    if (isset($GLOBALS['visiteur_session'])) {
426
+        if (preg_match_all(',<script.*?($|</script.),isS', $t, $r, PREG_SET_ORDER)) {
427
+            if (!defined('_PROTEGE_JS_MODELES')) {
428
+                include_spip('inc/acces');
429
+                define('_PROTEGE_JS_MODELES', creer_uniqid());
430
+            }
431
+            foreach ($r as $regs) {
432
+                $t = str_replace($regs[0], code_echappement($regs[0], 'javascript' . _PROTEGE_JS_MODELES), $t);
433
+            }
434
+        }
435
+        if (preg_match_all(',<\?php.*?($|\?' . '>),isS', $t, $r, PREG_SET_ORDER)) {
436
+            if (!defined('_PROTEGE_PHP_MODELES')) {
437
+                include_spip('inc/acces');
438
+                define('_PROTEGE_PHP_MODELES', creer_uniqid());
439
+            }
440
+            foreach ($r as $regs) {
441
+                $t = str_replace($regs[0], code_echappement($regs[0], 'php' . _PROTEGE_PHP_MODELES), $t);
442
+            }
443
+        }
444
+    }
445
+
446
+    return $t;
447 447
 }
448 448
 
449 449
 
450 450
 function echapper_faux_tags($letexte) {
451
-	if (strpos($letexte, '<') === false) {
452
-		return $letexte;
453
-	}
454
-	$textMatches = preg_split(',(</?[a-z!][^<>]*>),', $letexte, null, PREG_SPLIT_DELIM_CAPTURE);
455
-
456
-	$letexte = "";
457
-	while (count($textMatches)) {
458
-		// un texte a echapper
459
-		$letexte .= str_replace("<", '&lt;', array_shift($textMatches));
460
-		// un tag html qui a servit a faite le split
461
-		$letexte .= array_shift($textMatches);
462
-	}
463
-
464
-	return $letexte;
451
+    if (strpos($letexte, '<') === false) {
452
+        return $letexte;
453
+    }
454
+    $textMatches = preg_split(',(</?[a-z!][^<>]*>),', $letexte, null, PREG_SPLIT_DELIM_CAPTURE);
455
+
456
+    $letexte = "";
457
+    while (count($textMatches)) {
458
+        // un texte a echapper
459
+        $letexte .= str_replace("<", '&lt;', array_shift($textMatches));
460
+        // un tag html qui a servit a faite le split
461
+        $letexte .= array_shift($textMatches);
462
+    }
463
+
464
+    return $letexte;
465 465
 }
466 466
 
467 467
 /**
@@ -474,44 +474,44 @@  discard block
 block discarded – undo
474 474
  * @return string
475 475
  */
476 476
 function echapper_html_suspect($texte, $strict=true) {
477
-	static $echapper_html_suspect;
478
-	if (!$texte or !is_string($texte)) {
479
-		return $texte;
480
-	}
481
-
482
-	if (!isset($echapper_html_suspect)) {
483
-		$echapper_html_suspect = charger_fonction('echapper_html_suspect', 'inc', true);
484
-	}
485
-	// si fonction personalisee, on delegue
486
-	if ($echapper_html_suspect) {
487
-		return $echapper_html_suspect($texte, $strict);
488
-	}
489
-
490
-	if (strpos($texte, '<') === false
491
-	  or strpos($texte, '=') === false) {
492
-		return $texte;
493
-	}
494
-
495
-	// quand c'est du texte qui passe par propre on est plus coulant tant qu'il y a pas d'attribut du type onxxx=
496
-	// car sinon on declenche sur les modeles ou ressources
497
-	if (!$strict and
498
-	  (strpos($texte,'on') === false or !preg_match(",<\w+.*\bon\w+\s*=,UimsS", $texte))
499
-	  ){
500
-		return $texte;
501
-	}
502
-
503
-	// on teste sur strlen car safehtml supprime le contenu dangereux
504
-	// mais il peut aussi changer des ' en " sur les attributs html,
505
-	// donc un test d'egalite est trop strict
506
-	if (strlen(safehtml($texte)) !== strlen($texte)) {
507
-		$texte = str_replace("<", "&lt;", $texte);
508
-		if (!function_exists('attribut_html')) {
509
-			include_spip('inc/filtres');
510
-		}
511
-		$texte = "<mark class='danger-js' title='".attribut_html(_T('erreur_contenu_suspect'))."'>⚠️</mark> ".$texte;
512
-	}
513
-
514
-	return $texte;
477
+    static $echapper_html_suspect;
478
+    if (!$texte or !is_string($texte)) {
479
+        return $texte;
480
+    }
481
+
482
+    if (!isset($echapper_html_suspect)) {
483
+        $echapper_html_suspect = charger_fonction('echapper_html_suspect', 'inc', true);
484
+    }
485
+    // si fonction personalisee, on delegue
486
+    if ($echapper_html_suspect) {
487
+        return $echapper_html_suspect($texte, $strict);
488
+    }
489
+
490
+    if (strpos($texte, '<') === false
491
+      or strpos($texte, '=') === false) {
492
+        return $texte;
493
+    }
494
+
495
+    // quand c'est du texte qui passe par propre on est plus coulant tant qu'il y a pas d'attribut du type onxxx=
496
+    // car sinon on declenche sur les modeles ou ressources
497
+    if (!$strict and
498
+      (strpos($texte,'on') === false or !preg_match(",<\w+.*\bon\w+\s*=,UimsS", $texte))
499
+        ){
500
+        return $texte;
501
+    }
502
+
503
+    // on teste sur strlen car safehtml supprime le contenu dangereux
504
+    // mais il peut aussi changer des ' en " sur les attributs html,
505
+    // donc un test d'egalite est trop strict
506
+    if (strlen(safehtml($texte)) !== strlen($texte)) {
507
+        $texte = str_replace("<", "&lt;", $texte);
508
+        if (!function_exists('attribut_html')) {
509
+            include_spip('inc/filtres');
510
+        }
511
+        $texte = "<mark class='danger-js' title='".attribut_html(_T('erreur_contenu_suspect'))."'>⚠️</mark> ".$texte;
512
+    }
513
+
514
+    return $texte;
515 515
 }
516 516
 
517 517
 
@@ -532,30 +532,30 @@  discard block
 block discarded – undo
532 532
  *      Texte sécurisé
533 533
  **/
534 534
 function safehtml($t) {
535
-	static $safehtml;
536
-
537
-	if (!$t or !is_string($t)) {
538
-		return $t;
539
-	}
540
-	# attention safehtml nettoie deux ou trois caracteres de plus. A voir
541
-	if (strpos($t, '<') === false) {
542
-		return str_replace("\x00", '', $t);
543
-	}
544
-
545
-	if (!function_exists('interdire_scripts')) {
546
-		include_spip('inc/texte');
547
-	}
548
-	$t = interdire_scripts($t); // jolifier le php
549
-	$t = echappe_js($t);
550
-
551
-	if (!isset($safehtml)) {
552
-		$safehtml = charger_fonction('safehtml', 'inc', true);
553
-	}
554
-	if ($safehtml) {
555
-		$t = $safehtml($t);
556
-	}
557
-
558
-	return interdire_scripts($t); // interdire le php (2 precautions)
535
+    static $safehtml;
536
+
537
+    if (!$t or !is_string($t)) {
538
+        return $t;
539
+    }
540
+    # attention safehtml nettoie deux ou trois caracteres de plus. A voir
541
+    if (strpos($t, '<') === false) {
542
+        return str_replace("\x00", '', $t);
543
+    }
544
+
545
+    if (!function_exists('interdire_scripts')) {
546
+        include_spip('inc/texte');
547
+    }
548
+    $t = interdire_scripts($t); // jolifier le php
549
+    $t = echappe_js($t);
550
+
551
+    if (!isset($safehtml)) {
552
+        $safehtml = charger_fonction('safehtml', 'inc', true);
553
+    }
554
+    if ($safehtml) {
555
+        $t = $safehtml($t);
556
+    }
557
+
558
+    return interdire_scripts($t); // interdire le php (2 precautions)
559 559
 }
560 560
 
561 561
 
@@ -577,10 +577,10 @@  discard block
 block discarded – undo
577 577
  *     Texte sans les modèles d'image
578 578
  **/
579 579
 function supprime_img($letexte, $message = null) {
580
-	if ($message === null) {
581
-		$message = '(' . _T('img_indisponible') . ')';
582
-	}
580
+    if ($message === null) {
581
+        $message = '(' . _T('img_indisponible') . ')';
582
+    }
583 583
 
584
-	return preg_replace(',<(img|doc|emb)([0-9]+)(\|([^>]*))?' . '\s*/?' . '>,i',
585
-		$message, $letexte);
584
+    return preg_replace(',<(img|doc|emb)([0-9]+)(\|([^>]*))?' . '\s*/?' . '>,i',
585
+        $message, $letexte);
586 586
 }
Please login to merge, or discard this patch.
ecrire/inc/lien_court.php 2 patches
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 /*
@@ -22,12 +22,12 @@  discard block
 block discarded – undo
22 22
  * http://zoumzamzouilam/truc/chose/machin..."
23 23
  */
24 24
 function inc_lien_court($url) {
25
-	$long_url = defined('_MAX_LONG_URL') ? _MAX_LONG_URL : 40;
26
-	$coupe_url = defined('_MAX_COUPE_URL') ? _MAX_COUPE_URL : 35;
25
+    $long_url = defined('_MAX_LONG_URL') ? _MAX_LONG_URL : 40;
26
+    $coupe_url = defined('_MAX_COUPE_URL') ? _MAX_COUPE_URL : 35;
27 27
 
28
-	if (strlen($url) > $long_url) {
29
-		$url = substr($url, 0, $coupe_url) . '...';
30
-	}
28
+    if (strlen($url) > $long_url) {
29
+        $url = substr($url, 0, $coupe_url) . '...';
30
+    }
31 31
 
32
-	return $url;
32
+    return $url;
33 33
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@
 block discarded – undo
26 26
 	$coupe_url = defined('_MAX_COUPE_URL') ? _MAX_COUPE_URL : 35;
27 27
 
28 28
 	if (strlen($url) > $long_url) {
29
-		$url = substr($url, 0, $coupe_url) . '...';
29
+		$url = substr($url, 0, $coupe_url).'...';
30 30
 	}
31 31
 
32 32
 	return $url;
Please login to merge, or discard this patch.
ecrire/inc/log.php 2 patches
Indentation   +96 added lines, -96 removed lines patch added patch discarded remove patch
@@ -11,103 +11,103 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function inc_log_dist($message, $logname = null, $logdir = null, $logsuf = null) {
18
-	static $test_repertoire = array();
19
-	static $compteur = array();
20
-	static $debugverb = ''; // pour ne pas le recalculer au reappel
21
-
22
-	if (is_null($logname) or !is_string($logname)) {
23
-		$logname = defined('_FILE_LOG') ? _FILE_LOG : 'spip';
24
-	}
25
-	if (!isset($compteur[$logname])) {
26
-		$compteur[$logname] = 0;
27
-	}
28
-	if ($logname != 'maj'
29
-		and defined('_MAX_LOG')
30
-		and (
31
-			$compteur[$logname]++ > _MAX_LOG
32
-			or !$GLOBALS['nombre_de_logs']
33
-			or !$GLOBALS['taille_des_logs']
34
-		)
35
-	) {
36
-		return;
37
-	}
38
-
39
-	$logfile = ($logdir === null ? _DIR_LOG : $logdir)
40
-		. ($logname)
41
-		. ($logsuf === null ? _FILE_LOG_SUFFIX : $logsuf);
42
-
43
-	if (!isset($test_repertoire[$d = dirname($logfile)])) {
44
-		$test_repertoire[$d] = false; // eviter une recursivite en cas d'erreur de sous_repertoire
45
-		$test_repertoire[$d] = (@is_dir($d) ? true : (function_exists('sous_repertoire') ? sous_repertoire(
46
-			$d,
47
-			'',
48
-			false,
49
-			true
50
-		) : false));
51
-	}
52
-
53
-	// si spip_log() dans mes_options, ou repertoire log/ non present, poser dans tmp/
54
-	if (!defined('_DIR_LOG') or !$test_repertoire[$d]) {
55
-		$logfile = _DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES . $logname . '.log';
56
-	}
57
-
58
-	$rotate = 0;
59
-	$pid = '(pid ' . @getmypid() . ')';
60
-
61
-	// accepter spip_log( Array )
62
-	if (!is_string($message)) {
63
-		$message = var_export($message, true);
64
-	}
65
-
66
-	if (!$debugverb and defined('_LOG_FILELINE') and _LOG_FILELINE) {
67
-		$debug = debug_backtrace();
68
-		$l = $debug[1]['line'];
69
-		$fi = $debug[1]['file'];
70
-		if (strncmp($fi, _ROOT_RACINE, strlen(_ROOT_RACINE)) == 0) {
71
-			$fi = substr($fi, strlen(_ROOT_RACINE));
72
-		}
73
-		$fu = isset($debug[2]['function']) ? $debug[2]['function'] : '';
74
-		$debugverb = "$fi:L$l:$fu" . '():';
75
-	}
76
-
77
-	$m = date('Y-m-d H:i:s') . ' ' . (isset($GLOBALS['ip']) ? $GLOBALS['ip'] : '') . ' ' . $pid . ' '
78
-		//distinguer les logs prives et publics dans les grep
79
-		. $debugverb
80
-		. (test_espace_prive() ? ':Pri:' : ':Pub:')
81
-		. preg_replace("/\n*$/", "\n", $message);
82
-
83
-
84
-	if (@is_readable($logfile)
85
-		and (!$s = @filesize($logfile) or $s > $GLOBALS['taille_des_logs'] * 1024)
86
-	) {
87
-		$rotate = $GLOBALS['nombre_de_logs'];
88
-		$m .= "[-- rotate --]\n";
89
-	}
90
-
91
-	$f = @fopen($logfile, 'ab');
92
-	if ($f) {
93
-		fputs($f, (defined('_LOG_BRUT') and _LOG_BRUT) ? $m : str_replace('<', '&lt;', $m));
94
-		fclose($f);
95
-	}
96
-
97
-	if ($rotate-- > 0
98
-		and function_exists('spip_unlink')
99
-	) {
100
-		spip_unlink($logfile . '.' . $rotate);
101
-		while ($rotate--) {
102
-			@rename($logfile . ($rotate ? '.' . $rotate : ''), $logfile . '.' . ($rotate + 1));
103
-		}
104
-	}
105
-
106
-	// Dupliquer les erreurs specifiques dans le log general
107
-	if ($logname !== _FILE_LOG
108
-		and defined('_FILE_LOG')
109
-	) {
110
-		inc_log_dist($logname == 'maj' ? 'cf maj.log' : $message);
111
-	}
112
-	$debugverb = '';
18
+    static $test_repertoire = array();
19
+    static $compteur = array();
20
+    static $debugverb = ''; // pour ne pas le recalculer au reappel
21
+
22
+    if (is_null($logname) or !is_string($logname)) {
23
+        $logname = defined('_FILE_LOG') ? _FILE_LOG : 'spip';
24
+    }
25
+    if (!isset($compteur[$logname])) {
26
+        $compteur[$logname] = 0;
27
+    }
28
+    if ($logname != 'maj'
29
+        and defined('_MAX_LOG')
30
+        and (
31
+            $compteur[$logname]++ > _MAX_LOG
32
+            or !$GLOBALS['nombre_de_logs']
33
+            or !$GLOBALS['taille_des_logs']
34
+        )
35
+    ) {
36
+        return;
37
+    }
38
+
39
+    $logfile = ($logdir === null ? _DIR_LOG : $logdir)
40
+        . ($logname)
41
+        . ($logsuf === null ? _FILE_LOG_SUFFIX : $logsuf);
42
+
43
+    if (!isset($test_repertoire[$d = dirname($logfile)])) {
44
+        $test_repertoire[$d] = false; // eviter une recursivite en cas d'erreur de sous_repertoire
45
+        $test_repertoire[$d] = (@is_dir($d) ? true : (function_exists('sous_repertoire') ? sous_repertoire(
46
+            $d,
47
+            '',
48
+            false,
49
+            true
50
+        ) : false));
51
+    }
52
+
53
+    // si spip_log() dans mes_options, ou repertoire log/ non present, poser dans tmp/
54
+    if (!defined('_DIR_LOG') or !$test_repertoire[$d]) {
55
+        $logfile = _DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES . $logname . '.log';
56
+    }
57
+
58
+    $rotate = 0;
59
+    $pid = '(pid ' . @getmypid() . ')';
60
+
61
+    // accepter spip_log( Array )
62
+    if (!is_string($message)) {
63
+        $message = var_export($message, true);
64
+    }
65
+
66
+    if (!$debugverb and defined('_LOG_FILELINE') and _LOG_FILELINE) {
67
+        $debug = debug_backtrace();
68
+        $l = $debug[1]['line'];
69
+        $fi = $debug[1]['file'];
70
+        if (strncmp($fi, _ROOT_RACINE, strlen(_ROOT_RACINE)) == 0) {
71
+            $fi = substr($fi, strlen(_ROOT_RACINE));
72
+        }
73
+        $fu = isset($debug[2]['function']) ? $debug[2]['function'] : '';
74
+        $debugverb = "$fi:L$l:$fu" . '():';
75
+    }
76
+
77
+    $m = date('Y-m-d H:i:s') . ' ' . (isset($GLOBALS['ip']) ? $GLOBALS['ip'] : '') . ' ' . $pid . ' '
78
+        //distinguer les logs prives et publics dans les grep
79
+        . $debugverb
80
+        . (test_espace_prive() ? ':Pri:' : ':Pub:')
81
+        . preg_replace("/\n*$/", "\n", $message);
82
+
83
+
84
+    if (@is_readable($logfile)
85
+        and (!$s = @filesize($logfile) or $s > $GLOBALS['taille_des_logs'] * 1024)
86
+    ) {
87
+        $rotate = $GLOBALS['nombre_de_logs'];
88
+        $m .= "[-- rotate --]\n";
89
+    }
90
+
91
+    $f = @fopen($logfile, 'ab');
92
+    if ($f) {
93
+        fputs($f, (defined('_LOG_BRUT') and _LOG_BRUT) ? $m : str_replace('<', '&lt;', $m));
94
+        fclose($f);
95
+    }
96
+
97
+    if ($rotate-- > 0
98
+        and function_exists('spip_unlink')
99
+    ) {
100
+        spip_unlink($logfile . '.' . $rotate);
101
+        while ($rotate--) {
102
+            @rename($logfile . ($rotate ? '.' . $rotate : ''), $logfile . '.' . ($rotate + 1));
103
+        }
104
+    }
105
+
106
+    // Dupliquer les erreurs specifiques dans le log general
107
+    if ($logname !== _FILE_LOG
108
+        and defined('_FILE_LOG')
109
+    ) {
110
+        inc_log_dist($logname == 'maj' ? 'cf maj.log' : $message);
111
+    }
112
+    $debugverb = '';
113 113
 }
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -52,11 +52,11 @@  discard block
 block discarded – undo
52 52
 
53 53
 	// si spip_log() dans mes_options, ou repertoire log/ non present, poser dans tmp/
54 54
 	if (!defined('_DIR_LOG') or !$test_repertoire[$d]) {
55
-		$logfile = _DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES . $logname . '.log';
55
+		$logfile = _DIR_RACINE._NOM_TEMPORAIRES_INACCESSIBLES.$logname.'.log';
56 56
 	}
57 57
 
58 58
 	$rotate = 0;
59
-	$pid = '(pid ' . @getmypid() . ')';
59
+	$pid = '(pid '.@getmypid().')';
60 60
 
61 61
 	// accepter spip_log( Array )
62 62
 	if (!is_string($message)) {
@@ -71,10 +71,10 @@  discard block
 block discarded – undo
71 71
 			$fi = substr($fi, strlen(_ROOT_RACINE));
72 72
 		}
73 73
 		$fu = isset($debug[2]['function']) ? $debug[2]['function'] : '';
74
-		$debugverb = "$fi:L$l:$fu" . '():';
74
+		$debugverb = "$fi:L$l:$fu".'():';
75 75
 	}
76 76
 
77
-	$m = date('Y-m-d H:i:s') . ' ' . (isset($GLOBALS['ip']) ? $GLOBALS['ip'] : '') . ' ' . $pid . ' '
77
+	$m = date('Y-m-d H:i:s').' '.(isset($GLOBALS['ip']) ? $GLOBALS['ip'] : '').' '.$pid.' '
78 78
 		//distinguer les logs prives et publics dans les grep
79 79
 		. $debugverb
80 80
 		. (test_espace_prive() ? ':Pri:' : ':Pub:')
@@ -97,9 +97,9 @@  discard block
 block discarded – undo
97 97
 	if ($rotate-- > 0
98 98
 		and function_exists('spip_unlink')
99 99
 	) {
100
-		spip_unlink($logfile . '.' . $rotate);
100
+		spip_unlink($logfile.'.'.$rotate);
101 101
 		while ($rotate--) {
102
-			@rename($logfile . ($rotate ? '.' . $rotate : ''), $logfile . '.' . ($rotate + 1));
102
+			@rename($logfile.($rotate ? '.'.$rotate : ''), $logfile.'.'.($rotate + 1));
103 103
 		}
104 104
 	}
105 105
 
Please login to merge, or discard this patch.