Completed
Push — master ( 7791a8...bbaeee )
by cam
05:04
created
ecrire/action/editer_rubrique.php 3 patches
Doc Comments   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -73,7 +73,7 @@  discard block
 block discarded – undo
73 73
  *     Identifiant de la rubrique parente.
74 74
  *     0 pour la racine.
75 75
  * @param array|null $set
76
- * @return int
76
+ * @return boolean|string
77 77
  *     Identifiant de la rubrique crée
78 78
  */
79 79
 function rubrique_inserer($id_parent, $set = null) {
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
  *     Identifiant de la rubrique modifiée
121 121
  * @param array|null $set
122 122
  *     Tableau qu'on peut proposer en lieu et place de _request()
123
- * @return bool|string
123
+ * @return string|false
124 124
  *     - false  : Aucune modification, aucun champ n'est à modifier
125 125
  *     - chaîne vide : Vide si tout s'est bien passé
126 126
  *     - chaîne : Texte d'un message d'erreur
@@ -277,7 +277,7 @@  discard block
 block discarded – undo
277 277
  * @param int $id_parent
278 278
  *     Identifiant de la rubrique parente.
279 279
  *     0 pour la racine.
280
- * @return int
280
+ * @return boolean|string
281 281
  *     Identifiant de la rubrique crée
282 282
  **/
283 283
 function insert_rubrique($id_parent) {
@@ -296,7 +296,7 @@  discard block
 block discarded – undo
296 296
  *     Identifiant de la rubrique à instituer
297 297
  * @param array|null $set
298 298
  *     Tableau qu'on peut proposer en lieu et place de _request()
299
- * @return bool|string
299
+ * @return string|false
300 300
  *     - false  : Aucune modification, aucun champ n'est à modifier
301 301
  *     - chaîne vide : Vide si tout s'est bien passé
302 302
  *     - chaîne : Texte d'un message d'erreur
Please login to merge, or discard this patch.
Indentation   +151 added lines, -151 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Rubriques\Edition
17 17
  */
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 include_spip('inc/rubriques');
@@ -38,31 +38,31 @@  discard block
 block discarded – undo
38 38
  */
39 39
 function action_editer_rubrique_dist($arg = null) {
40 40
 
41
-	if (is_null($arg)) {
42
-		$securiser_action = charger_fonction('securiser_action', 'inc');
43
-		$arg = $securiser_action();
44
-	}
41
+    if (is_null($arg)) {
42
+        $securiser_action = charger_fonction('securiser_action', 'inc');
43
+        $arg = $securiser_action();
44
+    }
45 45
 
46
-	if (!$id_rubrique = intval($arg)) {
47
-		if ($arg != 'oui') {
48
-			include_spip('inc/headers');
49
-			redirige_url_ecrire();
50
-		}
51
-		$id_rubrique = rubrique_inserer(_request('id_parent'));
52
-	}
46
+    if (!$id_rubrique = intval($arg)) {
47
+        if ($arg != 'oui') {
48
+            include_spip('inc/headers');
49
+            redirige_url_ecrire();
50
+        }
51
+        $id_rubrique = rubrique_inserer(_request('id_parent'));
52
+    }
53 53
 
54
-	$err = rubrique_modifier($id_rubrique);
54
+    $err = rubrique_modifier($id_rubrique);
55 55
 
56
-	if (_request('redirect')) {
57
-		$redirect = parametre_url(
58
-			urldecode(_request('redirect')),
59
-			'id_rubrique', $id_rubrique, '&');
56
+    if (_request('redirect')) {
57
+        $redirect = parametre_url(
58
+            urldecode(_request('redirect')),
59
+            'id_rubrique', $id_rubrique, '&');
60 60
 
61
-		include_spip('inc/headers');
62
-		redirige_par_entete($redirect);
63
-	}
61
+        include_spip('inc/headers');
62
+        redirige_par_entete($redirect);
63
+    }
64 64
 
65
-	return array($id_rubrique, $err);
65
+    return array($id_rubrique, $err);
66 66
 }
67 67
 
68 68
 
@@ -77,40 +77,40 @@  discard block
 block discarded – undo
77 77
  *     Identifiant de la rubrique crée
78 78
  */
79 79
 function rubrique_inserer($id_parent, $set = null) {
80
-	$champs = array(
81
-		'titre' => _T('item_nouvelle_rubrique'),
82
-		'id_parent' => intval($id_parent),
83
-		'statut' => 'prepa'
84
-	);
85
-
86
-	if ($set) {
87
-		$champs = array_merge($champs, $set);
88
-	}
89
-
90
-	// Envoyer aux plugins
91
-	$champs = pipeline('pre_insertion',
92
-		array(
93
-			'args' => array(
94
-				'table' => 'spip_rubriques',
95
-			),
96
-			'data' => $champs
97
-		)
98
-	);
99
-
100
-	$id_rubrique = sql_insertq("spip_rubriques", $champs);
101
-	pipeline('post_insertion',
102
-		array(
103
-			'args' => array(
104
-				'table' => 'spip_rubriques',
105
-				'id_objet' => $id_rubrique
106
-			),
107
-			'data' => $champs
108
-		)
109
-	);
110
-	propager_les_secteurs();
111
-	calculer_langues_rubriques();
112
-
113
-	return $id_rubrique;
80
+    $champs = array(
81
+        'titre' => _T('item_nouvelle_rubrique'),
82
+        'id_parent' => intval($id_parent),
83
+        'statut' => 'prepa'
84
+    );
85
+
86
+    if ($set) {
87
+        $champs = array_merge($champs, $set);
88
+    }
89
+
90
+    // Envoyer aux plugins
91
+    $champs = pipeline('pre_insertion',
92
+        array(
93
+            'args' => array(
94
+                'table' => 'spip_rubriques',
95
+            ),
96
+            'data' => $champs
97
+        )
98
+    );
99
+
100
+    $id_rubrique = sql_insertq("spip_rubriques", $champs);
101
+    pipeline('post_insertion',
102
+        array(
103
+            'args' => array(
104
+                'table' => 'spip_rubriques',
105
+                'id_objet' => $id_rubrique
106
+            ),
107
+            'data' => $champs
108
+        )
109
+    );
110
+    propager_les_secteurs();
111
+    calculer_langues_rubriques();
112
+
113
+    return $id_rubrique;
114 114
 }
115 115
 
116 116
 /**
@@ -126,42 +126,42 @@  discard block
 block discarded – undo
126 126
  *     - chaîne : Texte d'un message d'erreur
127 127
  */
128 128
 function rubrique_modifier($id_rubrique, $set = null) {
129
-	include_spip('inc/autoriser');
130
-	include_spip('inc/filtres');
131
-
132
-	include_spip('inc/modifier');
133
-	$c = collecter_requests(
134
-	// white list
135
-		objet_info('rubrique', 'champs_editables'),
136
-		// black list
137
-		array('id_parent', 'confirme_deplace'),
138
-		// donnees eventuellement fournies
139
-		$set
140
-	);
141
-
142
-	if ($err = objet_modifier_champs('rubrique', $id_rubrique,
143
-		array(
144
-			'data' => $set,
145
-			'nonvide' => array('titre' => _T('titre_nouvelle_rubrique') . " " . _T('info_numero_abbreviation') . $id_rubrique)
146
-		),
147
-		$c)
148
-	) {
149
-		return $err;
150
-	}
151
-
152
-	$c = collecter_requests(array('id_parent', 'confirme_deplace'), array(), $set);
153
-	// Deplacer la rubrique
154
-	if (isset($c['id_parent'])) {
155
-		$err = rubrique_instituer($id_rubrique, $c);
156
-	}
157
-
158
-	// invalider les caches marques de cette rubrique
159
-	include_spip('inc/invalideur');
160
-	suivre_invalideur("id='rubrique/$id_rubrique'");
161
-	// et celui de menu_rubriques 
162
-	effacer_meta("date_calcul_rubriques");
163
-
164
-	return $err;
129
+    include_spip('inc/autoriser');
130
+    include_spip('inc/filtres');
131
+
132
+    include_spip('inc/modifier');
133
+    $c = collecter_requests(
134
+    // white list
135
+        objet_info('rubrique', 'champs_editables'),
136
+        // black list
137
+        array('id_parent', 'confirme_deplace'),
138
+        // donnees eventuellement fournies
139
+        $set
140
+    );
141
+
142
+    if ($err = objet_modifier_champs('rubrique', $id_rubrique,
143
+        array(
144
+            'data' => $set,
145
+            'nonvide' => array('titre' => _T('titre_nouvelle_rubrique') . " " . _T('info_numero_abbreviation') . $id_rubrique)
146
+        ),
147
+        $c)
148
+    ) {
149
+        return $err;
150
+    }
151
+
152
+    $c = collecter_requests(array('id_parent', 'confirme_deplace'), array(), $set);
153
+    // Deplacer la rubrique
154
+    if (isset($c['id_parent'])) {
155
+        $err = rubrique_instituer($id_rubrique, $c);
156
+    }
157
+
158
+    // invalider les caches marques de cette rubrique
159
+    include_spip('inc/invalideur');
160
+    suivre_invalideur("id='rubrique/$id_rubrique'");
161
+    // et celui de menu_rubriques 
162
+    effacer_meta("date_calcul_rubriques");
163
+
164
+    return $err;
165 165
 }
166 166
 
167 167
 /**
@@ -184,21 +184,21 @@  discard block
 block discarded – undo
184 184
  *     false si la confirmation du déplacement n'est pas présente
185 185
  */
186 186
 function editer_rubrique_breves($id_rubrique, $id_parent, $c = array()) {
187
-	if (!sql_countsel('spip_breves', "id_rubrique=$id_rubrique")) {
188
-		return true;
189
-	}
187
+    if (!sql_countsel('spip_breves', "id_rubrique=$id_rubrique")) {
188
+        return true;
189
+    }
190 190
 
191
-	if (empty($c['confirme_deplace']) or $c['confirme_deplace'] != 'oui') {
192
-		return false;
193
-	}
191
+    if (empty($c['confirme_deplace']) or $c['confirme_deplace'] != 'oui') {
192
+        return false;
193
+    }
194 194
 
195
-	if ($id_secteur = sql_getfetsel("id_secteur",
196
-		"spip_rubriques", "id_rubrique=$id_parent")
197
-	) {
198
-		sql_updateq("spip_breves", array("id_rubrique" => $id_secteur), "id_rubrique=$id_rubrique");
199
-	}
195
+    if ($id_secteur = sql_getfetsel("id_secteur",
196
+        "spip_rubriques", "id_rubrique=$id_parent")
197
+    ) {
198
+        sql_updateq("spip_breves", array("id_rubrique" => $id_secteur), "id_rubrique=$id_rubrique");
199
+    }
200 200
 
201
-	return true;
201
+    return true;
202 202
 }
203 203
 
204 204
 
@@ -220,51 +220,51 @@  discard block
 block discarded – undo
220 220
  *     Chaîne : Texte du message d'erreur
221 221
  */
222 222
 function rubrique_instituer($id_rubrique, $c) {
223
-	// traitement de la rubrique parente
224
-	// interdiction de deplacer vers ou a partir d'une rubrique
225
-	// qu'on n'administre pas.
226
-
227
-	if (null !== ($id_parent = $c['id_parent'])) {
228
-		$id_parent = intval($id_parent);
229
-		$filles = calcul_branche_in($id_rubrique);
230
-		if (strpos(",$id_parent,", ",$filles,") !== false) {
231
-			spip_log("La rubrique $id_rubrique ne peut etre fille de sa descendante $id_parent");
232
-		} else {
233
-			$s = sql_fetsel("id_parent, statut", "spip_rubriques", "id_rubrique=$id_rubrique");
234
-			$old_parent = $s['id_parent'];
235
-
236
-			if (!($id_parent != $old_parent
237
-				and autoriser('publierdans', 'rubrique', $id_parent)
238
-				and autoriser('creerrubriquedans', 'rubrique', $id_parent)
239
-				and autoriser('publierdans', 'rubrique', $old_parent)
240
-			)
241
-			) {
242
-				if ($s['statut'] != 'new') {
243
-					spip_log("deplacement de $id_rubrique vers $id_parent refuse a " . $GLOBALS['visiteur_session']['id_auteur'] . ' ' . $GLOBALS['visiteur_session']['statut']);
244
-				}
245
-			} elseif (editer_rubrique_breves($id_rubrique, $id_parent, $c)) {
246
-				$statut_ancien = $s['statut'];
247
-				sql_updateq('spip_rubriques', array('id_parent' => $id_parent), "id_rubrique=$id_rubrique");
248
-
249
-
250
-				propager_les_secteurs();
251
-
252
-				// Deplacement d'une rubrique publiee ==> chgt general de leur statut
253
-				if ($statut_ancien == 'publie') {
254
-					calculer_rubriques_if($old_parent, array('id_rubrique' => $id_parent), $statut_ancien);
255
-				}
256
-				// Creation ou deplacement d'une rubrique non publiee
257
-				// invalider le cache de leur menu
258
-				elseif (!$statut_ancien || $old_parent != $id_parent) {
259
-					effacer_meta("date_calcul_rubriques");
260
-				}
261
-
262
-				calculer_langues_rubriques();
263
-			}
264
-		}
265
-	}
266
-
267
-	return ''; // pas d'erreur
223
+    // traitement de la rubrique parente
224
+    // interdiction de deplacer vers ou a partir d'une rubrique
225
+    // qu'on n'administre pas.
226
+
227
+    if (null !== ($id_parent = $c['id_parent'])) {
228
+        $id_parent = intval($id_parent);
229
+        $filles = calcul_branche_in($id_rubrique);
230
+        if (strpos(",$id_parent,", ",$filles,") !== false) {
231
+            spip_log("La rubrique $id_rubrique ne peut etre fille de sa descendante $id_parent");
232
+        } else {
233
+            $s = sql_fetsel("id_parent, statut", "spip_rubriques", "id_rubrique=$id_rubrique");
234
+            $old_parent = $s['id_parent'];
235
+
236
+            if (!($id_parent != $old_parent
237
+                and autoriser('publierdans', 'rubrique', $id_parent)
238
+                and autoriser('creerrubriquedans', 'rubrique', $id_parent)
239
+                and autoriser('publierdans', 'rubrique', $old_parent)
240
+            )
241
+            ) {
242
+                if ($s['statut'] != 'new') {
243
+                    spip_log("deplacement de $id_rubrique vers $id_parent refuse a " . $GLOBALS['visiteur_session']['id_auteur'] . ' ' . $GLOBALS['visiteur_session']['statut']);
244
+                }
245
+            } elseif (editer_rubrique_breves($id_rubrique, $id_parent, $c)) {
246
+                $statut_ancien = $s['statut'];
247
+                sql_updateq('spip_rubriques', array('id_parent' => $id_parent), "id_rubrique=$id_rubrique");
248
+
249
+
250
+                propager_les_secteurs();
251
+
252
+                // Deplacement d'une rubrique publiee ==> chgt general de leur statut
253
+                if ($statut_ancien == 'publie') {
254
+                    calculer_rubriques_if($old_parent, array('id_rubrique' => $id_parent), $statut_ancien);
255
+                }
256
+                // Creation ou deplacement d'une rubrique non publiee
257
+                // invalider le cache de leur menu
258
+                elseif (!$statut_ancien || $old_parent != $id_parent) {
259
+                    effacer_meta("date_calcul_rubriques");
260
+                }
261
+
262
+                calculer_langues_rubriques();
263
+            }
264
+        }
265
+    }
266
+
267
+    return ''; // pas d'erreur
268 268
 }
269 269
 
270 270
 /**
@@ -281,7 +281,7 @@  discard block
 block discarded – undo
281 281
  *     Identifiant de la rubrique crée
282 282
  **/
283 283
 function insert_rubrique($id_parent) {
284
-	return rubrique_inserer($id_parent);
284
+    return rubrique_inserer($id_parent);
285 285
 }
286 286
 
287 287
 
@@ -302,7 +302,7 @@  discard block
 block discarded – undo
302 302
  *     - chaîne : Texte d'un message d'erreur
303 303
  **/
304 304
 function revisions_rubriques($id_rubrique, $set = null) {
305
-	return rubrique_modifier($id_rubrique, $set);
305
+    return rubrique_modifier($id_rubrique, $set);
306 306
 }
307 307
 
308 308
 /**
@@ -321,5 +321,5 @@  discard block
 block discarded – undo
321 321
  *     Chaîne : Texte du message d'erreur
322 322
  **/
323 323
 function instituer_rubrique($id_rubrique, $c) {
324
-	return rubrique_instituer($id_rubrique, $c);
324
+    return rubrique_instituer($id_rubrique, $c);
325 325
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
 	if ($err = objet_modifier_champs('rubrique', $id_rubrique,
143 143
 		array(
144 144
 			'data' => $set,
145
-			'nonvide' => array('titre' => _T('titre_nouvelle_rubrique') . " " . _T('info_numero_abbreviation') . $id_rubrique)
145
+			'nonvide' => array('titre' => _T('titre_nouvelle_rubrique')." "._T('info_numero_abbreviation').$id_rubrique)
146 146
 		),
147 147
 		$c)
148 148
 	) {
@@ -240,7 +240,7 @@  discard block
 block discarded – undo
240 240
 			)
241 241
 			) {
242 242
 				if ($s['statut'] != 'new') {
243
-					spip_log("deplacement de $id_rubrique vers $id_parent refuse a " . $GLOBALS['visiteur_session']['id_auteur'] . ' ' . $GLOBALS['visiteur_session']['statut']);
243
+					spip_log("deplacement de $id_rubrique vers $id_parent refuse a ".$GLOBALS['visiteur_session']['id_auteur'].' '.$GLOBALS['visiteur_session']['statut']);
244 244
 				}
245 245
 			} elseif (editer_rubrique_breves($id_rubrique, $id_parent, $c)) {
246 246
 				$statut_ancien = $s['statut'];
Please login to merge, or discard this patch.
ecrire/action/inscrire_auteur.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -369,7 +369,7 @@
 block discarded – undo
369 369
  * Effacer le jeton d'un auteur apres utilisation
370 370
  *
371 371
  * @param int $id_auteur
372
- * @return bool
372
+ * @return boolean|string
373 373
  */
374 374
 function auteur_effacer_jeton($id_auteur) {
375 375
 	return sql_updateq("spip_auteurs", array("cookie_oubli" => ''), "id_auteur=" . intval($id_auteur));
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
 	}
56 56
 
57 57
 	include_spip('base/abstract_sql');
58
-	$res = sql_select("statut, id_auteur, login, email", "spip_auteurs", "email=" . sql_quote($desc['email']));
58
+	$res = sql_select("statut, id_auteur, login, email", "spip_auteurs", "email=".sql_quote($desc['email']));
59 59
 	// erreur ?
60 60
 	if (!$res) {
61 61
 		return _T('titre_probleme_technique');
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 		if (!sql_countsel('spip_auteurs', "login='$login'")) {
209 209
 			return $login;
210 210
 		}
211
-		$login = $login_base . $i;
211
+		$login = $login_base.$i;
212 212
 	}
213 213
 
214 214
 	return $login;
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
 	$contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'jeton', $desc['jeton']);
238 238
 
239 239
 	$modele_mail = 'modeles/mail_inscription';
240
-	if (isset($options['modele_mail']) and $options['modele_mail']){
240
+	if (isset($options['modele_mail']) and $options['modele_mail']) {
241 241
 		$modele_mail = $options['modele_mail'];
242 242
 	}
243 243
 	$message = recuperer_fond($modele_mail, $contexte);
@@ -341,8 +341,8 @@  discard block
 block discarded – undo
341 341
 	// s'assurer de l'unicite du jeton pour le couple (email,cookie)
342 342
 	do {
343 343
 		$jeton = creer_uniqid();
344
-		sql_updateq("spip_auteurs", array("cookie_oubli" => $jeton), "id_auteur=" . intval($id_auteur));
345
-	} while (sql_countsel("spip_auteurs", "cookie_oubli=" . sql_quote($jeton)) > 1);
344
+		sql_updateq("spip_auteurs", array("cookie_oubli" => $jeton), "id_auteur=".intval($id_auteur));
345
+	} while (sql_countsel("spip_auteurs", "cookie_oubli=".sql_quote($jeton)) > 1);
346 346
 
347 347
 	return $jeton;
348 348
 }
@@ -360,7 +360,7 @@  discard block
 block discarded – undo
360 360
 	}
361 361
 
362 362
 	// on peut tomber sur un jeton compose uniquement de chiffres, il faut forcer le $type pour sql_quote pour eviter de planter
363
-	$desc = sql_fetsel('*', 'spip_auteurs', "cookie_oubli=" . sql_quote($jeton, '', 'string'));
363
+	$desc = sql_fetsel('*', 'spip_auteurs', "cookie_oubli=".sql_quote($jeton, '', 'string'));
364 364
 
365 365
 	return $desc;
366 366
 }
@@ -372,5 +372,5 @@  discard block
 block discarded – undo
372 372
  * @return bool
373 373
  */
374 374
 function auteur_effacer_jeton($id_auteur) {
375
-	return sql_updateq("spip_auteurs", array("cookie_oubli" => ''), "id_auteur=" . intval($id_auteur));
375
+	return sql_updateq("spip_auteurs", array("cookie_oubli" => ''), "id_auteur=".intval($id_auteur));
376 376
 }
Please login to merge, or discard this patch.
Indentation   +201 added lines, -201 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Inscription
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -38,68 +38,68 @@  discard block
 block discarded – undo
38 38
  * @return array|string
39 39
  */
40 40
 function action_inscrire_auteur_dist($statut, $mail_complet, $nom, $options = array()) {
41
-	if (!is_array($options)) {
42
-		$options = array('id' => $options);
43
-	}
44
-
45
-	if (function_exists('test_inscription')) {
46
-		$f = 'test_inscription';
47
-	} else {
48
-		$f = 'test_inscription_dist';
49
-	}
50
-	$desc = $f($statut, $mail_complet, $nom, $options);
51
-
52
-	// erreur ?
53
-	if (!is_array($desc)) {
54
-		return _T($desc);
55
-	}
56
-
57
-	include_spip('base/abstract_sql');
58
-	$res = sql_select("statut, id_auteur, login, email", "spip_auteurs", "email=" . sql_quote($desc['email']));
59
-	// erreur ?
60
-	if (!$res) {
61
-		return _T('titre_probleme_technique');
62
-	}
63
-
64
-	$row = sql_fetch($res);
65
-	sql_free($res);
66
-	if ($row) {
67
-		if (isset($options['force_nouveau']) and $options['force_nouveau'] == true) {
68
-			$desc['id_auteur'] = $row['id_auteur'];
69
-			$desc = inscription_nouveau($desc);
70
-		} else {
71
-			$desc = $row;
72
-		}
73
-	} else // s'il n'existe pas deja, creer les identifiants
74
-	{
75
-		$desc = inscription_nouveau($desc);
76
-	}
77
-
78
-	// erreur ?
79
-	if (!is_array($desc)) {
80
-		return $desc;
81
-	}
82
-
83
-
84
-	// generer le mot de passe (ou le refaire si compte inutilise)
85
-	$desc['pass'] = creer_pass_pour_auteur($desc['id_auteur']);
86
-
87
-	// attribuer un jeton pour confirmation par clic sur un lien
88
-	$desc['jeton'] = auteur_attribuer_jeton($desc['id_auteur']);
89
-
90
-	// charger de suite cette fonction, pour ses utilitaires
91
-	$envoyer_inscription = charger_fonction("envoyer_inscription", "");
92
-	list($sujet, $msg, $from, $head) = $envoyer_inscription($desc, $nom, $statut, $options);
93
-
94
-	$notifications = charger_fonction('notifications', 'inc');
95
-	notifications_envoyer_mails($mail_complet, $msg, $sujet, $from, $head);
96
-
97
-	// Notifications
98
-	$notifications('inscription', $desc['id_auteur'],
99
-		array('nom' => $desc['nom'], 'email' => $desc['email'])
100
-	);
101
-
102
-	return $desc;
41
+    if (!is_array($options)) {
42
+        $options = array('id' => $options);
43
+    }
44
+
45
+    if (function_exists('test_inscription')) {
46
+        $f = 'test_inscription';
47
+    } else {
48
+        $f = 'test_inscription_dist';
49
+    }
50
+    $desc = $f($statut, $mail_complet, $nom, $options);
51
+
52
+    // erreur ?
53
+    if (!is_array($desc)) {
54
+        return _T($desc);
55
+    }
56
+
57
+    include_spip('base/abstract_sql');
58
+    $res = sql_select("statut, id_auteur, login, email", "spip_auteurs", "email=" . sql_quote($desc['email']));
59
+    // erreur ?
60
+    if (!$res) {
61
+        return _T('titre_probleme_technique');
62
+    }
63
+
64
+    $row = sql_fetch($res);
65
+    sql_free($res);
66
+    if ($row) {
67
+        if (isset($options['force_nouveau']) and $options['force_nouveau'] == true) {
68
+            $desc['id_auteur'] = $row['id_auteur'];
69
+            $desc = inscription_nouveau($desc);
70
+        } else {
71
+            $desc = $row;
72
+        }
73
+    } else // s'il n'existe pas deja, creer les identifiants
74
+    {
75
+        $desc = inscription_nouveau($desc);
76
+    }
77
+
78
+    // erreur ?
79
+    if (!is_array($desc)) {
80
+        return $desc;
81
+    }
82
+
83
+
84
+    // generer le mot de passe (ou le refaire si compte inutilise)
85
+    $desc['pass'] = creer_pass_pour_auteur($desc['id_auteur']);
86
+
87
+    // attribuer un jeton pour confirmation par clic sur un lien
88
+    $desc['jeton'] = auteur_attribuer_jeton($desc['id_auteur']);
89
+
90
+    // charger de suite cette fonction, pour ses utilitaires
91
+    $envoyer_inscription = charger_fonction("envoyer_inscription", "");
92
+    list($sujet, $msg, $from, $head) = $envoyer_inscription($desc, $nom, $statut, $options);
93
+
94
+    $notifications = charger_fonction('notifications', 'inc');
95
+    notifications_envoyer_mails($mail_complet, $msg, $sujet, $from, $head);
96
+
97
+    // Notifications
98
+    $notifications('inscription', $desc['id_auteur'],
99
+        array('nom' => $desc['nom'], 'email' => $desc['email'])
100
+    );
101
+
102
+    return $desc;
103 103
 }
104 104
 
105 105
 
@@ -122,23 +122,23 @@  discard block
 block discarded – undo
122 122
  *
123 123
  */
124 124
 function test_inscription_dist($statut, $mail, $nom, $options) {
125
-	include_spip('inc/filtres');
126
-	if (!$r = email_valide($mail)) {
127
-		return 'info_email_invalide';
128
-	}
129
-	$nom = trim(corriger_caracteres($nom));
130
-	$res = array('email' => $r, 'nom' => $nom, 'prefs' => $statut);
131
-	if (isset($options['login'])) {
132
-		$login = trim(corriger_caracteres($options['login']));
133
-		if ((strlen($login) >= _LOGIN_TROP_COURT) and (strlen($nom) <= 64)) {
134
-			$res['login'] = $login;
135
-		}
136
-	}
137
-	if (!isset($res['login']) and ((strlen($nom) < _LOGIN_TROP_COURT) or (strlen($nom) > 64))) {
138
-		return 'ecrire:info_login_trop_court';
139
-	}
140
-
141
-	return $res;
125
+    include_spip('inc/filtres');
126
+    if (!$r = email_valide($mail)) {
127
+        return 'info_email_invalide';
128
+    }
129
+    $nom = trim(corriger_caracteres($nom));
130
+    $res = array('email' => $r, 'nom' => $nom, 'prefs' => $statut);
131
+    if (isset($options['login'])) {
132
+        $login = trim(corriger_caracteres($options['login']));
133
+        if ((strlen($login) >= _LOGIN_TROP_COURT) and (strlen($nom) <= 64)) {
134
+            $res['login'] = $login;
135
+        }
136
+    }
137
+    if (!isset($res['login']) and ((strlen($nom) < _LOGIN_TROP_COURT) or (strlen($nom) > 64))) {
138
+        return 'ecrire:info_login_trop_court';
139
+    }
140
+
141
+    return $res;
142 142
 }
143 143
 
144 144
 
@@ -151,33 +151,33 @@  discard block
 block discarded – undo
151 151
  * @return mixed|string
152 152
  */
153 153
 function inscription_nouveau($desc) {
154
-	if (!isset($desc['login']) or !strlen($desc['login'])) {
155
-		$desc['login'] = test_login($desc['nom'], $desc['email']);
156
-	}
154
+    if (!isset($desc['login']) or !strlen($desc['login'])) {
155
+        $desc['login'] = test_login($desc['nom'], $desc['email']);
156
+    }
157 157
 
158
-	$desc['statut'] = 'nouveau';
159
-	include_spip('action/editer_auteur');
160
-	if (isset($desc['id_auteur'])) {
161
-		$id_auteur = $desc['id_auteur'];
162
-	} else {
163
-		$id_auteur = auteur_inserer();
164
-	}
158
+    $desc['statut'] = 'nouveau';
159
+    include_spip('action/editer_auteur');
160
+    if (isset($desc['id_auteur'])) {
161
+        $id_auteur = $desc['id_auteur'];
162
+    } else {
163
+        $id_auteur = auteur_inserer();
164
+    }
165 165
 
166
-	if (!$id_auteur) {
167
-		return _T('titre_probleme_technique');
168
-	}
166
+    if (!$id_auteur) {
167
+        return _T('titre_probleme_technique');
168
+    }
169 169
 
170
-	$desc['lang'] = $GLOBALS['spip_lang'];
170
+    $desc['lang'] = $GLOBALS['spip_lang'];
171 171
 
172
-	include_spip('inc/autoriser');
173
-	// lever l'autorisation pour pouvoir modifier le statut
174
-	autoriser_exception('modifier', 'auteur', $id_auteur);
175
-	auteur_modifier($id_auteur, $desc);
176
-	autoriser_exception('modifier', 'auteur', $id_auteur, false);
172
+    include_spip('inc/autoriser');
173
+    // lever l'autorisation pour pouvoir modifier le statut
174
+    autoriser_exception('modifier', 'auteur', $id_auteur);
175
+    auteur_modifier($id_auteur, $desc);
176
+    autoriser_exception('modifier', 'auteur', $id_auteur, false);
177 177
 
178
-	$desc['id_auteur'] = $id_auteur;
178
+    $desc['id_auteur'] = $id_auteur;
179 179
 
180
-	return $desc;
180
+    return $desc;
181 181
 }
182 182
 
183 183
 
@@ -189,29 +189,29 @@  discard block
 block discarded – undo
189 189
  * @return string
190 190
  */
191 191
 function test_login($nom, $mail) {
192
-	include_spip('inc/charsets');
193
-	$nom = strtolower(translitteration($nom));
194
-	$login_base = preg_replace("/[^\w\d_]/", "_", $nom);
195
-
196
-	// il faut eviter que le login soit vraiment trop court
197
-	if (strlen($login_base) < 3) {
198
-		$mail = strtolower(translitteration(preg_replace('/@.*/', '', $mail)));
199
-		$login_base = preg_replace("/[^\w\d]/", "_", $mail);
200
-	}
201
-	if (strlen($login_base) < 3) {
202
-		$login_base = 'user';
203
-	}
204
-
205
-	$login = $login_base;
206
-
207
-	for ($i = 1; ; $i++) {
208
-		if (!sql_countsel('spip_auteurs', "login='$login'")) {
209
-			return $login;
210
-		}
211
-		$login = $login_base . $i;
212
-	}
213
-
214
-	return $login;
192
+    include_spip('inc/charsets');
193
+    $nom = strtolower(translitteration($nom));
194
+    $login_base = preg_replace("/[^\w\d_]/", "_", $nom);
195
+
196
+    // il faut eviter que le login soit vraiment trop court
197
+    if (strlen($login_base) < 3) {
198
+        $mail = strtolower(translitteration(preg_replace('/@.*/', '', $mail)));
199
+        $login_base = preg_replace("/[^\w\d]/", "_", $mail);
200
+    }
201
+    if (strlen($login_base) < 3) {
202
+        $login_base = 'user';
203
+    }
204
+
205
+    $login = $login_base;
206
+
207
+    for ($i = 1; ; $i++) {
208
+        if (!sql_countsel('spip_auteurs', "login='$login'")) {
209
+            return $login;
210
+        }
211
+        $login = $login_base . $i;
212
+    }
213
+
214
+    return $login;
215 215
 }
216 216
 
217 217
 
@@ -229,22 +229,22 @@  discard block
 block discarded – undo
229 229
  */
230 230
 function envoyer_inscription_dist($desc, $nom, $mode, $options = array()) {
231 231
 
232
-	$contexte = array_merge($desc, $options);
233
-	$contexte['nom'] = $nom;
234
-	$contexte['mode'] = $mode;
235
-	$contexte['url_confirm'] = generer_url_action('confirmer_inscription', '', true, true);
236
-	$contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'email', $desc['email']);
237
-	$contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'jeton', $desc['jeton']);
238
-
239
-	$modele_mail = 'modeles/mail_inscription';
240
-	if (isset($options['modele_mail']) and $options['modele_mail']){
241
-		$modele_mail = $options['modele_mail'];
242
-	}
243
-	$message = recuperer_fond($modele_mail, $contexte);
244
-	$from = (isset($options['from']) ? $options['from'] : null);
245
-	$head = null;
246
-
247
-	return array("", $message, $from, $head);
232
+    $contexte = array_merge($desc, $options);
233
+    $contexte['nom'] = $nom;
234
+    $contexte['mode'] = $mode;
235
+    $contexte['url_confirm'] = generer_url_action('confirmer_inscription', '', true, true);
236
+    $contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'email', $desc['email']);
237
+    $contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'jeton', $desc['jeton']);
238
+
239
+    $modele_mail = 'modeles/mail_inscription';
240
+    if (isset($options['modele_mail']) and $options['modele_mail']){
241
+        $modele_mail = $options['modele_mail'];
242
+    }
243
+    $message = recuperer_fond($modele_mail, $contexte);
244
+    $from = (isset($options['from']) ? $options['from'] : null);
245
+    $head = null;
246
+
247
+    return array("", $message, $from, $head);
248 248
 }
249 249
 
250 250
 
@@ -255,12 +255,12 @@  discard block
 block discarded – undo
255 255
  * @return string
256 256
  */
257 257
 function creer_pass_pour_auteur($id_auteur) {
258
-	include_spip('inc/acces');
259
-	$pass = creer_pass_aleatoire(16, $id_auteur);
260
-	include_spip('action/editer_auteur');
261
-	auteur_instituer($id_auteur, array('pass' => $pass));
258
+    include_spip('inc/acces');
259
+    $pass = creer_pass_aleatoire(16, $id_auteur);
260
+    include_spip('action/editer_auteur');
261
+    auteur_instituer($id_auteur, array('pass' => $pass));
262 262
 
263
-	return $pass;
263
+    return $pass;
264 264
 }
265 265
 
266 266
 /**
@@ -273,17 +273,17 @@  discard block
 block discarded – undo
273 273
  * @return string
274 274
  */
275 275
 function tester_statut_inscription($statut_tmp, $id) {
276
-	include_spip('inc/autoriser');
277
-	if ($statut_tmp) {
278
-		return autoriser('inscrireauteur', $statut_tmp, $id) ? $statut_tmp : '';
279
-	} elseif (
280
-		autoriser('inscrireauteur', $statut_tmp = "1comite", $id)
281
-		or autoriser('inscrireauteur', $statut_tmp = "6forum", $id)
282
-	) {
283
-		return $statut_tmp;
284
-	}
285
-
286
-	return '';
276
+    include_spip('inc/autoriser');
277
+    if ($statut_tmp) {
278
+        return autoriser('inscrireauteur', $statut_tmp, $id) ? $statut_tmp : '';
279
+    } elseif (
280
+        autoriser('inscrireauteur', $statut_tmp = "1comite", $id)
281
+        or autoriser('inscrireauteur', $statut_tmp = "6forum", $id)
282
+    ) {
283
+        return $statut_tmp;
284
+    }
285
+
286
+    return '';
287 287
 }
288 288
 
289 289
 
@@ -297,35 +297,35 @@  discard block
 block discarded – undo
297 297
  * @return array
298 298
  */
299 299
 function confirmer_statut_inscription($auteur) {
300
-	// securite
301
-	if ($auteur['statut'] != 'nouveau') {
302
-		return $auteur;
303
-	}
304
-
305
-	$s = $auteur['prefs'];
306
-	// securite, au cas ou prefs aurait ete corrompu (ou deja ecrase par un tableau serialize)
307
-	if (!preg_match(',^\w+$,', $s)) {
308
-		$s = '6forum';
309
-	}
310
-	include_spip('inc/autoriser');
311
-	if (!autoriser('inscrireauteur', $s)) {
312
-		return $auteur;
313
-	}
314
-
315
-	include_spip('inc/autoriser');
316
-	// accorder l'autorisation de modif du statut auteur
317
-	autoriser_exception('modifier', 'auteur', $auteur['id_auteur']);
318
-	include_spip('action/editer_auteur');
319
-	// changer le statut
320
-	auteur_modifier($auteur['id_auteur'], array('statut' => $s));
321
-	unset($_COOKIE['spip_session']); // forcer la maj de la session
322
-	// lever l'autorisation de modif du statut auteur
323
-	autoriser_exception('modifier', 'auteur', $auteur['id_auteur'], false);
324
-
325
-	// mettre a jour le statut
326
-	$auteur['statut'] = $s;
327
-
328
-	return $auteur;
300
+    // securite
301
+    if ($auteur['statut'] != 'nouveau') {
302
+        return $auteur;
303
+    }
304
+
305
+    $s = $auteur['prefs'];
306
+    // securite, au cas ou prefs aurait ete corrompu (ou deja ecrase par un tableau serialize)
307
+    if (!preg_match(',^\w+$,', $s)) {
308
+        $s = '6forum';
309
+    }
310
+    include_spip('inc/autoriser');
311
+    if (!autoriser('inscrireauteur', $s)) {
312
+        return $auteur;
313
+    }
314
+
315
+    include_spip('inc/autoriser');
316
+    // accorder l'autorisation de modif du statut auteur
317
+    autoriser_exception('modifier', 'auteur', $auteur['id_auteur']);
318
+    include_spip('action/editer_auteur');
319
+    // changer le statut
320
+    auteur_modifier($auteur['id_auteur'], array('statut' => $s));
321
+    unset($_COOKIE['spip_session']); // forcer la maj de la session
322
+    // lever l'autorisation de modif du statut auteur
323
+    autoriser_exception('modifier', 'auteur', $auteur['id_auteur'], false);
324
+
325
+    // mettre a jour le statut
326
+    $auteur['statut'] = $s;
327
+
328
+    return $auteur;
329 329
 }
330 330
 
331 331
 
@@ -337,14 +337,14 @@  discard block
 block discarded – undo
337 337
  * @return string
338 338
  */
339 339
 function auteur_attribuer_jeton($id_auteur) {
340
-	include_spip('inc/acces');
341
-	// s'assurer de l'unicite du jeton pour le couple (email,cookie)
342
-	do {
343
-		$jeton = creer_uniqid();
344
-		sql_updateq("spip_auteurs", array("cookie_oubli" => $jeton), "id_auteur=" . intval($id_auteur));
345
-	} while (sql_countsel("spip_auteurs", "cookie_oubli=" . sql_quote($jeton)) > 1);
346
-
347
-	return $jeton;
340
+    include_spip('inc/acces');
341
+    // s'assurer de l'unicite du jeton pour le couple (email,cookie)
342
+    do {
343
+        $jeton = creer_uniqid();
344
+        sql_updateq("spip_auteurs", array("cookie_oubli" => $jeton), "id_auteur=" . intval($id_auteur));
345
+    } while (sql_countsel("spip_auteurs", "cookie_oubli=" . sql_quote($jeton)) > 1);
346
+
347
+    return $jeton;
348 348
 }
349 349
 
350 350
 /**
@@ -354,15 +354,15 @@  discard block
 block discarded – undo
354 354
  * @return array|bool
355 355
  */
356 356
 function auteur_verifier_jeton($jeton) {
357
-	// refuser un jeton corrompu
358
-	if (preg_match(',[^0-9a-f.],i', $jeton)) {
359
-		return false;
360
-	}
357
+    // refuser un jeton corrompu
358
+    if (preg_match(',[^0-9a-f.],i', $jeton)) {
359
+        return false;
360
+    }
361 361
 
362
-	// on peut tomber sur un jeton compose uniquement de chiffres, il faut forcer le $type pour sql_quote pour eviter de planter
363
-	$desc = sql_fetsel('*', 'spip_auteurs', "cookie_oubli=" . sql_quote($jeton, '', 'string'));
362
+    // on peut tomber sur un jeton compose uniquement de chiffres, il faut forcer le $type pour sql_quote pour eviter de planter
363
+    $desc = sql_fetsel('*', 'spip_auteurs', "cookie_oubli=" . sql_quote($jeton, '', 'string'));
364 364
 
365
-	return $desc;
365
+    return $desc;
366 366
 }
367 367
 
368 368
 /**
@@ -372,5 +372,5 @@  discard block
 block discarded – undo
372 372
  * @return bool
373 373
  */
374 374
 function auteur_effacer_jeton($id_auteur) {
375
-	return sql_updateq("spip_auteurs", array("cookie_oubli" => ''), "id_auteur=" . intval($id_auteur));
375
+    return sql_updateq("spip_auteurs", array("cookie_oubli" => ''), "id_auteur=" . intval($id_auteur));
376 376
 }
Please login to merge, or discard this patch.
ecrire/auth/ldap.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -314,7 +314,7 @@
 block discarded – undo
314 314
  * @param $new_pass
315 315
  * @param $id_auteur
316 316
  * @param string $serveur
317
- * @return bool
317
+ * @return string|boolean
318 318
  *    Informe du succès ou de l'echec du changement du mot de passe
319 319
  */
320 320
 function auth_ldap_modifier_pass($login, $new_pass, $id_auteur, $serveur = '') {
Please login to merge, or discard this patch.
Indentation   +175 added lines, -175 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 // Authentifie via LDAP et retourne la ligne SQL decrivant l'utilisateur si ok
@@ -25,12 +25,12 @@  discard block
 block discarded – undo
25 25
 // Attributs LDAP correspondants a ceux de SPIP, notamment pour le login
26 26
 // ne pas ecraser une definition perso dans mes_options
27 27
 if (!isset($GLOBALS['ldap_attributes']) or !is_array($GLOBALS['ldap_attributes'])) {
28
-	$GLOBALS['ldap_attributes'] = array(
29
-		'login' => array('sAMAccountName', 'uid', 'login', 'userid', 'cn', 'sn'),
30
-		'nom' => "cn",
31
-		'email' => "mail",
32
-		'bio' => "description"
33
-	);
28
+    $GLOBALS['ldap_attributes'] = array(
29
+        'login' => array('sAMAccountName', 'uid', 'login', 'userid', 'cn', 'sn'),
30
+        'nom' => "cn",
31
+        'email' => "mail",
32
+        'bio' => "description"
33
+    );
34 34
 }
35 35
 
36 36
 /**
@@ -56,49 +56,49 @@  discard block
 block discarded – undo
56 56
  */
57 57
 function auth_ldap_dist($login, $pass, $serveur = '', $phpauth = false) {
58 58
 
59
-	#spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent"));
60
-
61
-	// Utilisateur connu ?
62
-	// si http auth, inutile de reauthentifier: cela
63
-	// ne marchera pas avec auth http autre que basic.
64
-	$checkpass = isset($_SERVER["REMOTE_USER"]) ? false : true;
65
-	if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) {
66
-		return array();
67
-	}
68
-	$credentials_ldap = array('ldap_dn' => $dn, 'ldap_password' => $pass);
69
-
70
-	// Si l'utilisateur figure deja dans la base, y recuperer les infos
71
-	$r = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='ldap'", '', '', '', '', $serveur);
72
-
73
-	if ($r) {
74
-		return array_merge($r, $credentials_ldap);
75
-	}
76
-
77
-	// sinon importer les infos depuis LDAP, 
78
-
79
-	if ($GLOBALS['meta']["ldap_statut_import"]
80
-		and $desc = auth_ldap_retrouver($dn, array(), $serveur)
81
-	) {
82
-		// rajouter le statut indique  a l'install
83
-		$desc['statut'] = $GLOBALS['meta']["ldap_statut_import"];
84
-		$desc['login'] = $login;
85
-		$desc['source'] = 'ldap';
86
-		$desc['pass'] = '';
87
-
88
-		$r = sql_insertq('spip_auteurs', $desc, '', $serveur);
89
-	}
90
-
91
-	if ($r) {
92
-		return array_merge(
93
-			$credentials_ldap,
94
-			sql_fetsel("*", "spip_auteurs", "id_auteur=" . intval($r), '', '', '', '', $serveur)
95
-		);
96
-	}
97
-
98
-	// sinon echec
99
-	spip_log("Creation de l'auteur '$login' impossible");
100
-
101
-	return array();
59
+    #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent"));
60
+
61
+    // Utilisateur connu ?
62
+    // si http auth, inutile de reauthentifier: cela
63
+    // ne marchera pas avec auth http autre que basic.
64
+    $checkpass = isset($_SERVER["REMOTE_USER"]) ? false : true;
65
+    if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) {
66
+        return array();
67
+    }
68
+    $credentials_ldap = array('ldap_dn' => $dn, 'ldap_password' => $pass);
69
+
70
+    // Si l'utilisateur figure deja dans la base, y recuperer les infos
71
+    $r = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='ldap'", '', '', '', '', $serveur);
72
+
73
+    if ($r) {
74
+        return array_merge($r, $credentials_ldap);
75
+    }
76
+
77
+    // sinon importer les infos depuis LDAP, 
78
+
79
+    if ($GLOBALS['meta']["ldap_statut_import"]
80
+        and $desc = auth_ldap_retrouver($dn, array(), $serveur)
81
+    ) {
82
+        // rajouter le statut indique  a l'install
83
+        $desc['statut'] = $GLOBALS['meta']["ldap_statut_import"];
84
+        $desc['login'] = $login;
85
+        $desc['source'] = 'ldap';
86
+        $desc['pass'] = '';
87
+
88
+        $r = sql_insertq('spip_auteurs', $desc, '', $serveur);
89
+    }
90
+
91
+    if ($r) {
92
+        return array_merge(
93
+            $credentials_ldap,
94
+            sql_fetsel("*", "spip_auteurs", "id_auteur=" . intval($r), '', '', '', '', $serveur)
95
+        );
96
+    }
97
+
98
+    // sinon echec
99
+    spip_log("Creation de l'auteur '$login' impossible");
100
+
101
+    return array();
102 102
 }
103 103
 
104 104
 /**
@@ -112,36 +112,36 @@  discard block
 block discarded – undo
112 112
  * @return array
113 113
  */
114 114
 function auth_ldap_connect($serveur = '') {
115
-	include_spip('base/connect_sql');
116
-	static $connexions_ldap = array();
117
-	if (isset($connexions_ldap[$serveur])) {
118
-		return $connexions_ldap[$serveur];
119
-	}
120
-	$connexion = spip_connect($serveur);
121
-	if (!is_array($connexion['ldap'])) {
122
-		if ($connexion['authentification']['ldap']) {
123
-			$f = _DIR_CONNECT . $connexion['authentification']['ldap'];
124
-			unset($GLOBALS['ldap_link']);
125
-			if (is_readable($f)) {
126
-				include_once($f);
127
-			};
128
-			if (isset($GLOBALS['ldap_link'])) {
129
-				$connexion['ldap'] = array(
130
-					'link' => $GLOBALS['ldap_link'],
131
-					'base' => $GLOBALS['ldap_base']
132
-				);
133
-			} else {
134
-				spip_log("connection LDAP $serveur mal definie dans $f");
135
-			}
136
-			if (isset($GLOBALS['ldap_champs'])) {
137
-				$connexion['ldap']['attributes'] = $GLOBALS['ldap_champs'];
138
-			}
139
-		} else {
140
-			spip_log("connection LDAP $serveur inconnue");
141
-		}
142
-	}
143
-
144
-	return $connexions_ldap[$serveur] = $connexion['ldap'];
115
+    include_spip('base/connect_sql');
116
+    static $connexions_ldap = array();
117
+    if (isset($connexions_ldap[$serveur])) {
118
+        return $connexions_ldap[$serveur];
119
+    }
120
+    $connexion = spip_connect($serveur);
121
+    if (!is_array($connexion['ldap'])) {
122
+        if ($connexion['authentification']['ldap']) {
123
+            $f = _DIR_CONNECT . $connexion['authentification']['ldap'];
124
+            unset($GLOBALS['ldap_link']);
125
+            if (is_readable($f)) {
126
+                include_once($f);
127
+            };
128
+            if (isset($GLOBALS['ldap_link'])) {
129
+                $connexion['ldap'] = array(
130
+                    'link' => $GLOBALS['ldap_link'],
131
+                    'base' => $GLOBALS['ldap_base']
132
+                );
133
+            } else {
134
+                spip_log("connection LDAP $serveur mal definie dans $f");
135
+            }
136
+            if (isset($GLOBALS['ldap_champs'])) {
137
+                $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs'];
138
+            }
139
+        } else {
140
+            spip_log("connection LDAP $serveur inconnue");
141
+        }
142
+    }
143
+
144
+    return $connexions_ldap[$serveur] = $connexion['ldap'];
145 145
 }
146 146
 
147 147
 /**
@@ -155,52 +155,52 @@  discard block
 block discarded – undo
155 155
  *    Le login trouvé ou chaine vide si non trouvé
156 156
  */
157 157
 function auth_ldap_search($login, $pass, $checkpass = true, $serveur = '') {
158
-	// Securite anti-injection et contre un serveur LDAP laxiste
159
-	$login_search = preg_replace("/[^-@._\s\d\w]/", "", $login);
160
-	if (!strlen($login_search) or ($checkpass and !strlen($pass))) {
161
-		return '';
162
-	}
163
-
164
-	// verifier la connexion
165
-	if (!$ldap = auth_ldap_connect($serveur)) {
166
-		return '';
167
-	}
168
-
169
-	$ldap_link = isset($ldap['link']) ? $ldap['link'] : null;
170
-	$ldap_base = isset($ldap['base']) ? $ldap['base'] : null;
171
-	$desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ;
172
-
173
-	$logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']);
174
-
175
-	// Tenter une recherche pour essayer de retrouver le DN
176
-	foreach ($logins as $att) {
177
-		$result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn"));
178
-		$info = @ldap_get_entries($ldap_link, $result);
179
-		// Ne pas accepter les resultats si plus d'une entree
180
-		// (on veut un attribut unique)
181
-
182
-		if (is_array($info) and $info['count'] == 1) {
183
-			$dn = $info[0]['dn'];
184
-			if (!$checkpass) {
185
-				return $dn;
186
-			}
187
-			if (@ldap_bind($ldap_link, $dn, $pass)) {
188
-				return $dn;
189
-			}
190
-		}
191
-	}
192
-
193
-	if ($checkpass and !isset($dn)) {
194
-		// Si echec, essayer de deviner le DN
195
-		foreach ($logins as $att) {
196
-			$dn = "$att=$login_search, $ldap_base";
197
-			if (@ldap_bind($ldap_link, $dn, $pass)) {
198
-				return "$att=$login_search, $ldap_base";
199
-			}
200
-		}
201
-	}
202
-
203
-	return '';
158
+    // Securite anti-injection et contre un serveur LDAP laxiste
159
+    $login_search = preg_replace("/[^-@._\s\d\w]/", "", $login);
160
+    if (!strlen($login_search) or ($checkpass and !strlen($pass))) {
161
+        return '';
162
+    }
163
+
164
+    // verifier la connexion
165
+    if (!$ldap = auth_ldap_connect($serveur)) {
166
+        return '';
167
+    }
168
+
169
+    $ldap_link = isset($ldap['link']) ? $ldap['link'] : null;
170
+    $ldap_base = isset($ldap['base']) ? $ldap['base'] : null;
171
+    $desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ;
172
+
173
+    $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']);
174
+
175
+    // Tenter une recherche pour essayer de retrouver le DN
176
+    foreach ($logins as $att) {
177
+        $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn"));
178
+        $info = @ldap_get_entries($ldap_link, $result);
179
+        // Ne pas accepter les resultats si plus d'une entree
180
+        // (on veut un attribut unique)
181
+
182
+        if (is_array($info) and $info['count'] == 1) {
183
+            $dn = $info[0]['dn'];
184
+            if (!$checkpass) {
185
+                return $dn;
186
+            }
187
+            if (@ldap_bind($ldap_link, $dn, $pass)) {
188
+                return $dn;
189
+            }
190
+        }
191
+    }
192
+
193
+    if ($checkpass and !isset($dn)) {
194
+        // Si echec, essayer de deviner le DN
195
+        foreach ($logins as $att) {
196
+            $dn = "$att=$login_search, $ldap_base";
197
+            if (@ldap_bind($ldap_link, $dn, $pass)) {
198
+                return "$att=$login_search, $ldap_base";
199
+            }
200
+        }
201
+    }
202
+
203
+    return '';
204 204
 }
205 205
 
206 206
 /**
@@ -212,40 +212,40 @@  discard block
 block discarded – undo
212 212
  * @return array
213 213
  */
214 214
 function auth_ldap_retrouver($dn, $desc = array(), $serveur = '') {
215
-	// Lire les infos sur l'utilisateur a partir de son DN depuis LDAP
215
+    // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP
216 216
 
217
-	if (!$ldap = spip_connect_ldap($serveur)) {
218
-		spip_log("ldap $serveur injoignable");
217
+    if (!$ldap = spip_connect_ldap($serveur)) {
218
+        spip_log("ldap $serveur injoignable");
219 219
 
220
-		return array();
221
-	}
220
+        return array();
221
+    }
222 222
 
223
-	$ldap_link = $ldap['link'];
224
-	if (!$desc) {
225
-		$desc = $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'];
226
-		unset($desc['login']);
227
-	}
228
-	$result = @ldap_read($ldap_link, $dn, "objectClass=*", array_values($desc));
223
+    $ldap_link = $ldap['link'];
224
+    if (!$desc) {
225
+        $desc = $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'];
226
+        unset($desc['login']);
227
+    }
228
+    $result = @ldap_read($ldap_link, $dn, "objectClass=*", array_values($desc));
229 229
 
230
-	if (!$result) {
231
-		return array();
232
-	}
230
+    if (!$result) {
231
+        return array();
232
+    }
233 233
 
234
-	// Recuperer les donnees du premier (unique?) compte de l'auteur
235
-	$val = @ldap_get_entries($ldap_link, $result);
236
-	if (!is_array($val) or !is_array($val[0])) {
237
-		return array();
238
-	}
239
-	$val = $val[0];
234
+    // Recuperer les donnees du premier (unique?) compte de l'auteur
235
+    $val = @ldap_get_entries($ldap_link, $result);
236
+    if (!is_array($val) or !is_array($val[0])) {
237
+        return array();
238
+    }
239
+    $val = $val[0];
240 240
 
241
-	// Convertir depuis UTF-8 (jeu de caracteres par defaut)
242
-	include_spip('inc/charsets');
241
+    // Convertir depuis UTF-8 (jeu de caracteres par defaut)
242
+    include_spip('inc/charsets');
243 243
 
244
-	foreach ($desc as $k => $v) {
245
-		$desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8');
246
-	}
244
+    foreach ($desc as $k => $v) {
245
+        $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8');
246
+    }
247 247
 
248
-	return $desc;
248
+    return $desc;
249 249
 }
250 250
 
251 251
 
@@ -257,7 +257,7 @@  discard block
 block discarded – undo
257 257
  * @return string
258 258
  */
259 259
 function auth_ldap_retrouver_login($login, $serveur = '') {
260
-	return auth_ldap_search($login, '', false, $serveur) ? $login : '';
260
+    return auth_ldap_search($login, '', false, $serveur) ? $login : '';
261 261
 }
262 262
 
263 263
 /**
@@ -277,9 +277,9 @@  discard block
 block discarded – undo
277 277
  *   Message d'erreur si login non valide, chaîne vide sinon
278 278
  */
279 279
 function auth_ldap_verifier_pass($login, $new_pass, $id_auteur = 0, $serveur = '') {
280
-	include_spip('auth/spip');
280
+    include_spip('auth/spip');
281 281
 
282
-	return auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur);
282
+    return auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur);
283 283
 }
284 284
 
285 285
 /**
@@ -300,7 +300,7 @@  discard block
 block discarded – undo
300 300
  *   ```
301 301
  */
302 302
 function auth_ldap_autoriser_modifier_pass($serveur = '') {
303
-	return true;
303
+    return true;
304 304
 }
305 305
 
306 306
 /**
@@ -318,23 +318,23 @@  discard block
 block discarded – undo
318 318
  *    Informe du succès ou de l'echec du changement du mot de passe
319 319
  */
320 320
 function auth_ldap_modifier_pass($login, $new_pass, $id_auteur, $serveur = '') {
321
-	if (is_null($new_pass) or auth_ldap_verifier_pass($login, $new_pass, $id_auteur, $serveur) != '') {
322
-		return false;
323
-	}
324
-	if (!$ldap = auth_ldap_connect($serveur)) {
325
-		return '';
326
-	}
327
-	$link = $ldap['link'];
328
-	include_spip("inc/session");
329
-	$dn = session_get('ldap_dn');
330
-	if ('' == $dn) {
331
-		return false;
332
-	}
333
-	if (!ldap_bind($link, $dn, session_get('ldap_password'))) {
334
-		return false;
335
-	}
336
-	$encoded_pass = "{MD5}" . base64_encode(pack("H*", md5($new_pass)));
337
-	$success = ldap_mod_replace($link, $dn, array('userPassword' => $encoded_pass));
338
-
339
-	return $success;
321
+    if (is_null($new_pass) or auth_ldap_verifier_pass($login, $new_pass, $id_auteur, $serveur) != '') {
322
+        return false;
323
+    }
324
+    if (!$ldap = auth_ldap_connect($serveur)) {
325
+        return '';
326
+    }
327
+    $link = $ldap['link'];
328
+    include_spip("inc/session");
329
+    $dn = session_get('ldap_dn');
330
+    if ('' == $dn) {
331
+        return false;
332
+    }
333
+    if (!ldap_bind($link, $dn, session_get('ldap_password'))) {
334
+        return false;
335
+    }
336
+    $encoded_pass = "{MD5}" . base64_encode(pack("H*", md5($new_pass)));
337
+    $success = ldap_mod_replace($link, $dn, array('userPassword' => $encoded_pass));
338
+
339
+    return $success;
340 340
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 	$credentials_ldap = array('ldap_dn' => $dn, 'ldap_password' => $pass);
69 69
 
70 70
 	// Si l'utilisateur figure deja dans la base, y recuperer les infos
71
-	$r = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='ldap'", '', '', '', '', $serveur);
71
+	$r = sql_fetsel("*", "spip_auteurs", "login=".sql_quote($login)." AND source='ldap'", '', '', '', '', $serveur);
72 72
 
73 73
 	if ($r) {
74 74
 		return array_merge($r, $credentials_ldap);
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
 	if ($r) {
92 92
 		return array_merge(
93 93
 			$credentials_ldap,
94
-			sql_fetsel("*", "spip_auteurs", "id_auteur=" . intval($r), '', '', '', '', $serveur)
94
+			sql_fetsel("*", "spip_auteurs", "id_auteur=".intval($r), '', '', '', '', $serveur)
95 95
 		);
96 96
 	}
97 97
 
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
 	$connexion = spip_connect($serveur);
121 121
 	if (!is_array($connexion['ldap'])) {
122 122
 		if ($connexion['authentification']['ldap']) {
123
-			$f = _DIR_CONNECT . $connexion['authentification']['ldap'];
123
+			$f = _DIR_CONNECT.$connexion['authentification']['ldap'];
124 124
 			unset($GLOBALS['ldap_link']);
125 125
 			if (is_readable($f)) {
126 126
 				include_once($f);
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
 
169 169
 	$ldap_link = isset($ldap['link']) ? $ldap['link'] : null;
170 170
 	$ldap_base = isset($ldap['base']) ? $ldap['base'] : null;
171
-	$desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ;
171
+	$desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'];
172 172
 
173 173
 	$logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']);
174 174
 
@@ -333,7 +333,7 @@  discard block
 block discarded – undo
333 333
 	if (!ldap_bind($link, $dn, session_get('ldap_password'))) {
334 334
 		return false;
335 335
 	}
336
-	$encoded_pass = "{MD5}" . base64_encode(pack("H*", md5($new_pass)));
336
+	$encoded_pass = "{MD5}".base64_encode(pack("H*", md5($new_pass)));
337 337
 	$success = ldap_mod_replace($link, $dn, array('userPassword' => $encoded_pass));
338 338
 
339 339
 	return $success;
Please login to merge, or discard this patch.
ecrire/balise/formulaire_.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -60,7 +60,7 @@
 block discarded – undo
60 60
  * @see trouver_fond()
61 61
  * @param string $form
62 62
  *     Nom du formulaire
63
- * @return string|bool
63
+ * @return string|false
64 64
  *     - string : chemin du squelette
65 65
  *     - false : pas de squelette trouvé
66 66
  **/
Please login to merge, or discard this patch.
Indentation   +221 added lines, -221 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Formulaires
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 include_spip('inc/filtres');
@@ -34,24 +34,24 @@  discard block
 block discarded – undo
34 34
  *     Saisie protégée
35 35
  **/
36 36
 function protege_champ($texte) {
37
-	if (is_array($texte)) {
38
-		$texte = array_map('protege_champ', $texte);
39
-	} else {
40
-		// ne pas corrompre une valeur serialize
41
-		if ((preg_match(",^[abis]:\d+[:;],", $texte) and @unserialize($texte) != false) or is_null($texte)) {
42
-			return $texte;
43
-		}
44
-		if (is_string($texte)
45
-			and $texte
46
-			and strpbrk($texte, "&\"'<>") !== false
47
-		) {
48
-			$texte = spip_htmlspecialchars($texte, ENT_QUOTES);
49
-		} elseif (is_bool($texte)) {
50
-			$texte = ($texte ? '1' : '');
51
-		}
52
-	}
53
-
54
-	return $texte;
37
+    if (is_array($texte)) {
38
+        $texte = array_map('protege_champ', $texte);
39
+    } else {
40
+        // ne pas corrompre une valeur serialize
41
+        if ((preg_match(",^[abis]:\d+[:;],", $texte) and @unserialize($texte) != false) or is_null($texte)) {
42
+            return $texte;
43
+        }
44
+        if (is_string($texte)
45
+            and $texte
46
+            and strpbrk($texte, "&\"'<>") !== false
47
+        ) {
48
+            $texte = spip_htmlspecialchars($texte, ENT_QUOTES);
49
+        } elseif (is_bool($texte)) {
50
+            $texte = ($texte ? '1' : '');
51
+        }
52
+    }
53
+
54
+    return $texte;
55 55
 }
56 56
 
57 57
 /**
@@ -65,17 +65,17 @@  discard block
 block discarded – undo
65 65
  *     - false : pas de squelette trouvé
66 66
  **/
67 67
 function existe_formulaire($form) {
68
-	if (substr($form, 0, 11) == "FORMULAIRE_") {
69
-		$form = strtolower(substr($form, 11));
70
-	} else {
71
-		$form = strtolower($form);
72
-	}
68
+    if (substr($form, 0, 11) == "FORMULAIRE_") {
69
+        $form = strtolower(substr($form, 11));
70
+    } else {
71
+        $form = strtolower($form);
72
+    }
73 73
 
74
-	if (!$form) {
75
-		return '';
76
-	} // on ne sait pas, le nom du formulaire n'est pas fourni ici
74
+    if (!$form) {
75
+        return '';
76
+    } // on ne sait pas, le nom du formulaire n'est pas fourni ici
77 77
 
78
-	return trouver_fond($form, 'formulaires/') ? $form : false;
78
+    return trouver_fond($form, 'formulaires/') ? $form : false;
79 79
 }
80 80
 
81 81
 
@@ -91,17 +91,17 @@  discard block
 block discarded – undo
91 91
  **/
92 92
 function balise_FORMULAIRE__dist($p) {
93 93
 
94
-	// Cas d'un #FORMULAIRE_TOTO inexistant : renvoyer la chaine vide.
95
-	// mais si #FORMULAIRE_{toto} on ne peut pas savoir a la compilation, continuer
96
-	if (existe_formulaire($p->nom_champ) === false) {
97
-		$p->code = "''";
98
-		$p->interdire_scripts = false;
94
+    // Cas d'un #FORMULAIRE_TOTO inexistant : renvoyer la chaine vide.
95
+    // mais si #FORMULAIRE_{toto} on ne peut pas savoir a la compilation, continuer
96
+    if (existe_formulaire($p->nom_champ) === false) {
97
+        $p->code = "''";
98
+        $p->interdire_scripts = false;
99 99
 
100
-		return $p;
101
-	}
100
+        return $p;
101
+    }
102 102
 
103
-	// sinon renvoyer un code php dynamique
104
-	return calculer_balise_dynamique($p, $p->nom_champ, array());
103
+    // sinon renvoyer un code php dynamique
104
+    return calculer_balise_dynamique($p, $p->nom_champ, array());
105 105
 }
106 106
 
107 107
 /**
@@ -114,27 +114,27 @@  discard block
 block discarded – undo
114 114
  *     - string : texte à afficher directement
115 115
  */
116 116
 function balise_FORMULAIRE__dyn($form) {
117
-	$form = existe_formulaire($form);
118
-	if (!$form) {
119
-		return '';
120
-	}
121
-
122
-	// deux moyen d'arriver ici : 
123
-	// soit #FORMULAIRE_XX reroute avec 'FORMULAIRE_XX' ajoute en premier arg
124
-	// soit #FORMULAIRE_{xx}
125
-
126
-	// recuperer les arguments passes a la balise
127
-	// on enleve le premier qui est le nom de la balise 
128
-	// deja recupere ci-dessus
129
-
130
-	$args = func_get_args();
131
-	array_shift($args);
132
-	$contexte = balise_FORMULAIRE__contexte($form, $args);
133
-	if (!is_array($contexte)) {
134
-		return $contexte;
135
-	}
136
-
137
-	return array("formulaires/$form", 3600, $contexte);
117
+    $form = existe_formulaire($form);
118
+    if (!$form) {
119
+        return '';
120
+    }
121
+
122
+    // deux moyen d'arriver ici : 
123
+    // soit #FORMULAIRE_XX reroute avec 'FORMULAIRE_XX' ajoute en premier arg
124
+    // soit #FORMULAIRE_{xx}
125
+
126
+    // recuperer les arguments passes a la balise
127
+    // on enleve le premier qui est le nom de la balise 
128
+    // deja recupere ci-dessus
129
+
130
+    $args = func_get_args();
131
+    array_shift($args);
132
+    $contexte = balise_FORMULAIRE__contexte($form, $args);
133
+    if (!is_array($contexte)) {
134
+        return $contexte;
135
+    }
136
+
137
+    return array("formulaires/$form", 3600, $contexte);
138 138
 }
139 139
 
140 140
 /**
@@ -148,120 +148,120 @@  discard block
 block discarded – undo
148 148
  *     Contexte d'environnement à envoyer au squelette
149 149
  **/
150 150
 function balise_FORMULAIRE__contexte($form, $args) {
151
-	// tester si ce formulaire vient d'etre poste (memes arguments)
152
-	// pour ne pas confondre 2 #FORMULAIRES_XX identiques sur une meme page
153
-	// si poste, on recupere les erreurs
154
-
155
-	$je_suis_poste = false;
156
-	if ($post_form = _request('formulaire_action')
157
-		and $post_form == $form
158
-		and $p = _request('formulaire_action_args')
159
-		and is_array($p = decoder_contexte_ajax($p, $post_form))
160
-	) {
161
-		// enlever le faux attribut de langue masque
162
-		array_shift($p);
163
-		if (formulaire__identifier($form, $args, $p)) {
164
-			$je_suis_poste = true;
165
-		}
166
-	}
167
-
168
-	$editable = true;
169
-	$erreurs = $post = array();
170
-	if ($je_suis_poste) {
171
-		$post = traiter_formulaires_dynamiques(true);
172
-		$e = "erreurs_$form";
173
-		$erreurs = isset($post[$e]) ? $post[$e] : array();
174
-		$editable = "editable_$form";
175
-		$editable = (!isset($post[$e]))
176
-			|| count($erreurs)
177
-			|| (isset($post[$editable]) && $post[$editable]);
178
-	}
179
-
180
-	$valeurs = formulaire__charger($form, $args, $je_suis_poste);
181
-
182
-	// si $valeurs n'est pas un tableau, le formulaire n'est pas applicable
183
-	// C'est plus fort qu'editable qui est gere par le squelette 
184
-	// Idealement $valeur doit etre alors un message explicatif.
185
-	if (!is_array($valeurs)) {
186
-		return is_string($valeurs) ? $valeurs : '';
187
-	}
188
-
189
-	// charger peut passer une action si le formulaire ne tourne pas sur self()
190
-	// ou une action vide si elle ne sert pas
191
-	$action = (isset($valeurs['action'])) ? $valeurs['action'] : self('&amp;', true);
192
-	// bug IEx : si action finit par / 
193
-	// IE croit que le <form ... action=../ > est autoferme
194
-	if (substr($action, -1) == '/') {
195
-		// on ajoute une ancre pour feinter IE, au pire ca tue l'ancre qui finit par un /
196
-		$action .= '#';
197
-	}
198
-
199
-	// recuperer la saisie en cours si erreurs
200
-	// seulement si c'est ce formulaire qui est poste
201
-	// ou si on le demande explicitement par le parametre _forcer_request = true
202
-	$dispo = ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request']));
203
-	foreach (array_keys($valeurs) as $champ) {
204
-		if ($champ[0] !== '_' and !in_array($champ, array('message_ok', 'message_erreur', 'editable'))) {
205
-			if ($dispo and (($v = _request($champ)) !== null)) {
206
-				$valeurs[$champ] = $v;
207
-			}
208
-			// nettoyer l'url des champs qui vont etre saisis
209
-			if ($action) {
210
-				$action = parametre_url($action, $champ, '');
211
-			}
212
-			// proteger les ' et les " dans les champs que l'on va injecter
213
-			$valeurs[$champ] = protege_champ($valeurs[$champ]);
214
-		}
215
-	}
216
-
217
-	if ($action) {
218
-		// nettoyer l'url
219
-		$action = parametre_url($action, 'formulaire_action', '');
220
-		$action = parametre_url($action, 'formulaire_action_args', '');
221
-	}
222
-
223
-	if (isset($valeurs['_action'])) {
224
-		$securiser_action = charger_fonction('securiser_action', 'inc');
225
-		$secu = $securiser_action(reset($valeurs['_action']), end($valeurs['_action']), '', -1);
226
-		$valeurs['_hidden'] = (isset($valeurs['_hidden']) ? $valeurs['_hidden'] : '') .
227
-			"<input type='hidden' name='arg' value='" . $secu['arg'] . "' />"
228
-			. "<input type='hidden' name='hash' value='" . $secu['hash'] . "' />";
229
-	}
230
-
231
-	// empiler la lang en tant que premier argument implicite du CVT
232
-	// pour permettre de la restaurer au moment du Verifier et du Traiter
233
-	array_unshift($args, $GLOBALS['spip_lang']);
234
-
235
-	$valeurs['formulaire_args'] = encoder_contexte_ajax($args, $form);
236
-	$valeurs['erreurs'] = $erreurs;
237
-	$valeurs['action'] = $action;
238
-	$valeurs['form'] = $form;
239
-
240
-	if (!isset($valeurs['id'])) {
241
-		$valeurs['id'] = 'new';
242
-	}
243
-	// editable peut venir de charger() ou de traiter() sinon
244
-	if (!isset($valeurs['editable'])) {
245
-		$valeurs['editable'] = $editable;
246
-	}
247
-	// dans tous les cas, renvoyer un espace ou vide (et pas un booleen)
248
-	$valeurs['editable'] = ($valeurs['editable'] ? ' ' : '');
249
-
250
-	if ($je_suis_poste) {
251
-		$valeurs['message_erreur'] = "";
252
-		if (isset($erreurs['message_erreur'])) {
253
-			$valeurs['message_erreur'] = $erreurs['message_erreur'];
254
-		}
255
-
256
-		$valeurs['message_ok'] = "";
257
-		if (isset($post["message_ok_$form"])) {
258
-			$valeurs['message_ok'] = $post["message_ok_$form"];
259
-		} elseif (isset($erreurs['message_ok'])) {
260
-			$valeurs['message_ok'] = $erreurs["message_ok"];
261
-		}
262
-	}
263
-
264
-	return $valeurs;
151
+    // tester si ce formulaire vient d'etre poste (memes arguments)
152
+    // pour ne pas confondre 2 #FORMULAIRES_XX identiques sur une meme page
153
+    // si poste, on recupere les erreurs
154
+
155
+    $je_suis_poste = false;
156
+    if ($post_form = _request('formulaire_action')
157
+        and $post_form == $form
158
+        and $p = _request('formulaire_action_args')
159
+        and is_array($p = decoder_contexte_ajax($p, $post_form))
160
+    ) {
161
+        // enlever le faux attribut de langue masque
162
+        array_shift($p);
163
+        if (formulaire__identifier($form, $args, $p)) {
164
+            $je_suis_poste = true;
165
+        }
166
+    }
167
+
168
+    $editable = true;
169
+    $erreurs = $post = array();
170
+    if ($je_suis_poste) {
171
+        $post = traiter_formulaires_dynamiques(true);
172
+        $e = "erreurs_$form";
173
+        $erreurs = isset($post[$e]) ? $post[$e] : array();
174
+        $editable = "editable_$form";
175
+        $editable = (!isset($post[$e]))
176
+            || count($erreurs)
177
+            || (isset($post[$editable]) && $post[$editable]);
178
+    }
179
+
180
+    $valeurs = formulaire__charger($form, $args, $je_suis_poste);
181
+
182
+    // si $valeurs n'est pas un tableau, le formulaire n'est pas applicable
183
+    // C'est plus fort qu'editable qui est gere par le squelette 
184
+    // Idealement $valeur doit etre alors un message explicatif.
185
+    if (!is_array($valeurs)) {
186
+        return is_string($valeurs) ? $valeurs : '';
187
+    }
188
+
189
+    // charger peut passer une action si le formulaire ne tourne pas sur self()
190
+    // ou une action vide si elle ne sert pas
191
+    $action = (isset($valeurs['action'])) ? $valeurs['action'] : self('&amp;', true);
192
+    // bug IEx : si action finit par / 
193
+    // IE croit que le <form ... action=../ > est autoferme
194
+    if (substr($action, -1) == '/') {
195
+        // on ajoute une ancre pour feinter IE, au pire ca tue l'ancre qui finit par un /
196
+        $action .= '#';
197
+    }
198
+
199
+    // recuperer la saisie en cours si erreurs
200
+    // seulement si c'est ce formulaire qui est poste
201
+    // ou si on le demande explicitement par le parametre _forcer_request = true
202
+    $dispo = ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request']));
203
+    foreach (array_keys($valeurs) as $champ) {
204
+        if ($champ[0] !== '_' and !in_array($champ, array('message_ok', 'message_erreur', 'editable'))) {
205
+            if ($dispo and (($v = _request($champ)) !== null)) {
206
+                $valeurs[$champ] = $v;
207
+            }
208
+            // nettoyer l'url des champs qui vont etre saisis
209
+            if ($action) {
210
+                $action = parametre_url($action, $champ, '');
211
+            }
212
+            // proteger les ' et les " dans les champs que l'on va injecter
213
+            $valeurs[$champ] = protege_champ($valeurs[$champ]);
214
+        }
215
+    }
216
+
217
+    if ($action) {
218
+        // nettoyer l'url
219
+        $action = parametre_url($action, 'formulaire_action', '');
220
+        $action = parametre_url($action, 'formulaire_action_args', '');
221
+    }
222
+
223
+    if (isset($valeurs['_action'])) {
224
+        $securiser_action = charger_fonction('securiser_action', 'inc');
225
+        $secu = $securiser_action(reset($valeurs['_action']), end($valeurs['_action']), '', -1);
226
+        $valeurs['_hidden'] = (isset($valeurs['_hidden']) ? $valeurs['_hidden'] : '') .
227
+            "<input type='hidden' name='arg' value='" . $secu['arg'] . "' />"
228
+            . "<input type='hidden' name='hash' value='" . $secu['hash'] . "' />";
229
+    }
230
+
231
+    // empiler la lang en tant que premier argument implicite du CVT
232
+    // pour permettre de la restaurer au moment du Verifier et du Traiter
233
+    array_unshift($args, $GLOBALS['spip_lang']);
234
+
235
+    $valeurs['formulaire_args'] = encoder_contexte_ajax($args, $form);
236
+    $valeurs['erreurs'] = $erreurs;
237
+    $valeurs['action'] = $action;
238
+    $valeurs['form'] = $form;
239
+
240
+    if (!isset($valeurs['id'])) {
241
+        $valeurs['id'] = 'new';
242
+    }
243
+    // editable peut venir de charger() ou de traiter() sinon
244
+    if (!isset($valeurs['editable'])) {
245
+        $valeurs['editable'] = $editable;
246
+    }
247
+    // dans tous les cas, renvoyer un espace ou vide (et pas un booleen)
248
+    $valeurs['editable'] = ($valeurs['editable'] ? ' ' : '');
249
+
250
+    if ($je_suis_poste) {
251
+        $valeurs['message_erreur'] = "";
252
+        if (isset($erreurs['message_erreur'])) {
253
+            $valeurs['message_erreur'] = $erreurs['message_erreur'];
254
+        }
255
+
256
+        $valeurs['message_ok'] = "";
257
+        if (isset($post["message_ok_$form"])) {
258
+            $valeurs['message_ok'] = $post["message_ok_$form"];
259
+        } elseif (isset($erreurs['message_ok'])) {
260
+            $valeurs['message_ok'] = $erreurs["message_ok"];
261
+        }
262
+    }
263
+
264
+    return $valeurs;
265 265
 }
266 266
 
267 267
 /**
@@ -273,51 +273,51 @@  discard block
 block discarded – undo
273 273
  * @return array
274 274
  */
275 275
 function formulaire__charger($form, $args, $poste) {
276
-	if ($charger_valeurs = charger_fonction("charger", "formulaires/$form", true)) {
277
-		$valeurs = call_user_func_array($charger_valeurs, $args);
278
-	} else {
279
-		$valeurs = array();
280
-	}
281
-
282
-	$valeurs = pipeline(
283
-		'formulaire_charger',
284
-		array(
285
-			'args' => array('form' => $form, 'args' => $args, 'je_suis_poste' => $poste),
286
-			'data' => $valeurs
287
-		)
288
-	);
289
-
290
-	// prise en charge CVT multi etape
291
-	if (is_array($valeurs) and isset($valeurs['_etapes'])) {
292
-		include_spip('inc/cvt_multietapes');
293
-		$valeurs = cvtmulti_formulaire_charger_etapes(
294
-			array('form' => $form, 'args' => $args, 'je_suis_poste' => $poste), 
295
-			$valeurs
296
-		);
297
-	}
298
-
299
-	// si $valeurs et false ou une chaine, pas de formulaire, donc pas de pipeline !
300
-	if (is_array($valeurs)) {
301
-		if (!isset($valeurs['_pipelines'])) {
302
-			$valeurs['_pipelines'] = array();
303
-		}
304
-		// l'ancien argument _pipeline devient maintenant _pipelines
305
-		// reinjectons le vieux _pipeline au debut de _pipelines
306
-		if (isset($valeurs['_pipeline'])) {
307
-			$pipe = is_array($valeurs['_pipeline']) ? reset($valeurs['_pipeline']) : $valeurs['_pipeline'];
308
-			$args = is_array($valeurs['_pipeline']) ? end($valeurs['_pipeline']) : array();
309
-
310
-			$pipelines = array($pipe => $args);
311
-			$valeurs['_pipelines'] = array_merge($pipelines, $valeurs['_pipelines']);
312
-		}
313
-
314
-		// et enfin, ajoutons systematiquement un pipeline sur le squelette du formulaire
315
-		// qui constitue le cas le plus courant d'utilisation du pipeline recuperer_fond
316
-		// (performance, cela evite de s'injecter dans recuperer_fond utilise pour *tous* les squelettes)
317
-		$valeurs['_pipelines']['formulaire_fond'] = array('form' => $form, 'args' => $args, 'je_suis_poste' => $poste);
318
-	}
319
-
320
-	return $valeurs;
276
+    if ($charger_valeurs = charger_fonction("charger", "formulaires/$form", true)) {
277
+        $valeurs = call_user_func_array($charger_valeurs, $args);
278
+    } else {
279
+        $valeurs = array();
280
+    }
281
+
282
+    $valeurs = pipeline(
283
+        'formulaire_charger',
284
+        array(
285
+            'args' => array('form' => $form, 'args' => $args, 'je_suis_poste' => $poste),
286
+            'data' => $valeurs
287
+        )
288
+    );
289
+
290
+    // prise en charge CVT multi etape
291
+    if (is_array($valeurs) and isset($valeurs['_etapes'])) {
292
+        include_spip('inc/cvt_multietapes');
293
+        $valeurs = cvtmulti_formulaire_charger_etapes(
294
+            array('form' => $form, 'args' => $args, 'je_suis_poste' => $poste), 
295
+            $valeurs
296
+        );
297
+    }
298
+
299
+    // si $valeurs et false ou une chaine, pas de formulaire, donc pas de pipeline !
300
+    if (is_array($valeurs)) {
301
+        if (!isset($valeurs['_pipelines'])) {
302
+            $valeurs['_pipelines'] = array();
303
+        }
304
+        // l'ancien argument _pipeline devient maintenant _pipelines
305
+        // reinjectons le vieux _pipeline au debut de _pipelines
306
+        if (isset($valeurs['_pipeline'])) {
307
+            $pipe = is_array($valeurs['_pipeline']) ? reset($valeurs['_pipeline']) : $valeurs['_pipeline'];
308
+            $args = is_array($valeurs['_pipeline']) ? end($valeurs['_pipeline']) : array();
309
+
310
+            $pipelines = array($pipe => $args);
311
+            $valeurs['_pipelines'] = array_merge($pipelines, $valeurs['_pipelines']);
312
+        }
313
+
314
+        // et enfin, ajoutons systematiquement un pipeline sur le squelette du formulaire
315
+        // qui constitue le cas le plus courant d'utilisation du pipeline recuperer_fond
316
+        // (performance, cela evite de s'injecter dans recuperer_fond utilise pour *tous* les squelettes)
317
+        $valeurs['_pipelines']['formulaire_fond'] = array('form' => $form, 'args' => $args, 'je_suis_poste' => $poste);
318
+    }
319
+
320
+    return $valeurs;
321 321
 }
322 322
 
323 323
 /**
@@ -336,9 +336,9 @@  discard block
 block discarded – undo
336 336
  * @return bool
337 337
  */
338 338
 function formulaire__identifier($form, $args, $p) {
339
-	if ($identifier_args = charger_fonction("identifier", "formulaires/$form", true)) {
340
-		return call_user_func_array($identifier_args, $args) === call_user_func_array($identifier_args, $p);
341
-	}
339
+    if ($identifier_args = charger_fonction("identifier", "formulaires/$form", true)) {
340
+        return call_user_func_array($identifier_args, $args) === call_user_func_array($identifier_args, $p);
341
+    }
342 342
 
343
-	return $args === $p;
343
+    return $args === $p;
344 344
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -223,9 +223,9 @@
 block discarded – undo
223 223
 	if (isset($valeurs['_action'])) {
224 224
 		$securiser_action = charger_fonction('securiser_action', 'inc');
225 225
 		$secu = $securiser_action(reset($valeurs['_action']), end($valeurs['_action']), '', -1);
226
-		$valeurs['_hidden'] = (isset($valeurs['_hidden']) ? $valeurs['_hidden'] : '') .
227
-			"<input type='hidden' name='arg' value='" . $secu['arg'] . "' />"
228
-			. "<input type='hidden' name='hash' value='" . $secu['hash'] . "' />";
226
+		$valeurs['_hidden'] = (isset($valeurs['_hidden']) ? $valeurs['_hidden'] : '').
227
+			"<input type='hidden' name='arg' value='".$secu['arg']."' />"
228
+			. "<input type='hidden' name='hash' value='".$secu['hash']."' />";
229 229
 	}
230 230
 
231 231
 	// empiler la lang en tant que premier argument implicite du CVT
Please login to merge, or discard this patch.
ecrire/base/connect_sql.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@
 block discarded – undo
36 36
  *
37 37
  * @param string $serveur Nom du connecteur
38 38
  * @param string $version Version de l'API SQL
39
- * @return bool|array
39
+ * @return string
40 40
  *     - false si la connexion a échouée,
41 41
  *     - tableau décrivant la connexion sinon
42 42
  **/
Please login to merge, or discard this patch.
Spacing   +11 added lines, -12 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19 19
 	return;
20 20
 }
21
-require_once _ROOT_RESTREINT . 'base/objets.php';
21
+require_once _ROOT_RESTREINT.'base/objets.php';
22 22
 
23 23
 
24 24
 /**
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 		$f = (!preg_match('/^[\w\.]*$/', $serveur))
60 60
 			? '' // nom de serveur mal ecrit
61 61
 			: ($serveur ?
62
-				(_DIR_CONNECT . $serveur . '.php') // serveur externe
62
+				(_DIR_CONNECT.$serveur.'.php') // serveur externe
63 63
 				: (_FILE_CONNECT ? _FILE_CONNECT // serveur principal ok
64 64
 					: ($install ? _FILE_CONNECT_TMP // init du serveur principal
65 65
 						: ''))); // installation pas faite
@@ -102,9 +102,9 @@  discard block
 block discarded – undo
102 102
 	// chargement de la version du jeu de fonctions
103 103
 	// si pas dans le fichier par defaut
104 104
 	$type = $GLOBALS['db_ok']['type'];
105
-	$jeu = 'spip_' . $type . '_functions_' . $version;
105
+	$jeu = 'spip_'.$type.'_functions_'.$version;
106 106
 	if (!isset($GLOBALS[$jeu])) {
107
-		if (!find_in_path($type . '_' . $version . '.php', 'req/', true)) {
107
+		if (!find_in_path($type.'_'.$version.'.php', 'req/', true)) {
108 108
 			spip_log("spip_connect: serveur $index version '$version' non defini pour '$type'", _LOG_HS);
109 109
 
110 110
 			// ne plus reessayer
@@ -165,9 +165,9 @@  discard block
 block discarded – undo
165 165
 	$connexion = spip_connect($serveur);
166 166
 	$e = sql_errno($serveur);
167 167
 	$t = (isset($connexion['type']) ? $connexion['type'] : 'sql');
168
-	$m = "Erreur $e de $t: " . sql_error($serveur) . "\nin " . sql_error_backtrace() . "\n" . trim($connexion['last']);
169
-	$f = $t . $serveur;
170
-	spip_log($m, $f . '.' . _LOG_ERREUR);
168
+	$m = "Erreur $e de $t: ".sql_error($serveur)."\nin ".sql_error_backtrace()."\n".trim($connexion['last']);
169
+	$f = $t.$serveur;
170
+	spip_log($m, $f.'.'._LOG_ERREUR);
171 171
 }
172 172
 
173 173
 /**
@@ -249,7 +249,7 @@  discard block
 block discarded – undo
249 249
 	// si en cours d'installation ou si db=@test@ on ne pose rien
250 250
 	// car c'est un test de connexion
251 251
 	if (!defined('_ECRIRE_INSTALL') and $db !== "@test@") {
252
-		$f = _DIR_TMP . $type . '.' . substr(md5($host . $port . $db), 0, 8) . '.out';
252
+		$f = _DIR_TMP.$type.'.'.substr(md5($host.$port.$db), 0, 8).'.out';
253 253
 	} elseif ($db == '@test@') {
254 254
 		$db = '';
255 255
 	}
@@ -289,7 +289,7 @@  discard block
 block discarded – undo
289 289
 	// En cas d'indisponibilite du serveur, eviter de le bombarder
290 290
 	if ($f) {
291 291
 		@touch($f);
292
-		spip_log("Echec connexion serveur $type : host[$host] port[$port] login[$login] base[$db]", $type . '.' . _LOG_HS);
292
+		spip_log("Echec connexion serveur $type : host[$host] port[$port] login[$login] base[$db]", $type.'.'._LOG_HS);
293 293
 	}
294 294
 }
295 295
 
@@ -379,8 +379,7 @@  discard block
 block discarded – undo
379 379
  * @return string Valeur échappée.
380 380
  **/
381 381
 function _q($a) {
382
-	return (is_numeric($a)) ? strval($a) :
383
-		(!is_array($a) ? ("'" . addslashes($a) . "'")
382
+	return (is_numeric($a)) ? strval($a) : (!is_array($a) ? ("'".addslashes($a)."'")
384 383
 			: join(",", array_map('_q', $a)));
385 384
 }
386 385
 
@@ -452,7 +451,7 @@  discard block
 block discarded – undo
452 451
 				break;
453 452
 			default:
454 453
 				$replace = range(1, count($textes));
455
-				$replace = '%' . implode('$s,%', $replace) . '$s';
454
+				$replace = '%'.implode('$s,%', $replace).'$s';
456 455
 				$replace = explode(',', $replace);
457 456
 				break;
458 457
 		}
Please login to merge, or discard this patch.
Indentation   +309 added lines, -309 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\SQL
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 require_once _ROOT_RESTREINT . 'base/objets.php';
22 22
 
@@ -42,118 +42,118 @@  discard block
 block discarded – undo
42 42
  **/
43 43
 function spip_connect($serveur = '', $version = '') {
44 44
 
45
-	$serveur = !is_string($serveur) ? '' : strtolower($serveur);
46
-	$index = $serveur ? $serveur : 0;
47
-	if (!$version) {
48
-		$version = $GLOBALS['spip_sql_version'];
49
-	}
50
-	if (isset($GLOBALS['connexions'][$index][$version])) {
51
-		return $GLOBALS['connexions'][$index];
52
-	}
53
-
54
-	include_spip('base/abstract_sql');
55
-	$install = (_request('exec') == 'install');
56
-
57
-	// Premiere connexion ?
58
-	if (!($old = isset($GLOBALS['connexions'][$index]))) {
59
-		$f = (!preg_match('/^[\w\.]*$/', $serveur))
60
-			? '' // nom de serveur mal ecrit
61
-			: ($serveur ?
62
-				(_DIR_CONNECT . $serveur . '.php') // serveur externe
63
-				: (_FILE_CONNECT ? _FILE_CONNECT // serveur principal ok
64
-					: ($install ? _FILE_CONNECT_TMP // init du serveur principal
65
-						: ''))); // installation pas faite
66
-
67
-		unset($GLOBALS['db_ok']);
68
-		unset($GLOBALS['spip_connect_version']);
69
-		if ($f) {
70
-			if (is_readable($f)) {
71
-				include($f);
72
-			} elseif ($serveur and !$install) {
73
-				// chercher une declaration de serveur dans le path
74
-				// qui pourra un jour servir a declarer des bases sqlite
75
-				// par des plugins. Et sert aussi aux boucles POUR.
76
-				find_in_path("$serveur.php", 'connect/', true);
77
-			}
78
-		}
79
-		if (!isset($GLOBALS['db_ok'])) {
80
-			// fera mieux la prochaine fois
81
-			if ($install) {
82
-				return false;
83
-			}
84
-			if ($f and is_readable($f)) {
85
-				spip_log("spip_connect: fichier de connexion '$f' OK.", _LOG_INFO_IMPORTANTE);
86
-			} else {
87
-				spip_log("spip_connect: fichier de connexion '$f' non trouve", _LOG_INFO_IMPORTANTE);
88
-			}
89
-			spip_log("spip_connect: echec connexion ou serveur $index mal defini dans '$f'.", _LOG_HS);
90
-
91
-			// ne plus reessayer si ce n'est pas l'install
92
-			return $GLOBALS['connexions'][$index] = false;
93
-		}
94
-		$GLOBALS['connexions'][$index] = $GLOBALS['db_ok'];
95
-	}
96
-	// si la connexion a deja ete tentee mais a echoue, le dire!
97
-	if (!$GLOBALS['connexions'][$index]) {
98
-		return false;
99
-	}
100
-
101
-	// la connexion a reussi ou etait deja faite.
102
-	// chargement de la version du jeu de fonctions
103
-	// si pas dans le fichier par defaut
104
-	$type = $GLOBALS['db_ok']['type'];
105
-	$jeu = 'spip_' . $type . '_functions_' . $version;
106
-	if (!isset($GLOBALS[$jeu])) {
107
-		if (!find_in_path($type . '_' . $version . '.php', 'req/', true)) {
108
-			spip_log("spip_connect: serveur $index version '$version' non defini pour '$type'", _LOG_HS);
109
-
110
-			// ne plus reessayer
111
-			return $GLOBALS['connexions'][$index][$version] = array();
112
-		}
113
-	}
114
-	$GLOBALS['connexions'][$index][$version] = $GLOBALS[$jeu];
115
-	if ($old) {
116
-		return $GLOBALS['connexions'][$index];
117
-	}
118
-
119
-	$GLOBALS['connexions'][$index]['spip_connect_version'] = isset($GLOBALS['spip_connect_version']) ? $GLOBALS['spip_connect_version'] : 0;
120
-
121
-	// initialisation de l'alphabet utilise dans les connexions SQL
122
-	// si l'installation l'a determine.
123
-	// Celui du serveur principal l'impose aux serveurs secondaires
124
-	// s'ils le connaissent
125
-
126
-	if (!$serveur) {
127
-		$charset = spip_connect_main($GLOBALS[$jeu], $GLOBALS['db_ok']['charset']);
128
-		if (!$charset) {
129
-			unset($GLOBALS['connexions'][$index]);
130
-			spip_log("spip_connect: absence de charset", _LOG_AVERTISSEMENT);
131
-
132
-			return false;
133
-		}
134
-	} else {
135
-		if ($GLOBALS['db_ok']['charset']) {
136
-			$charset = $GLOBALS['db_ok']['charset'];
137
-		}
138
-		// spip_meta n'existe pas toujours dans la base
139
-		// C'est le cas d'un dump sqlite par exemple 
140
-		elseif ($GLOBALS['connexions'][$index]['spip_connect_version']
141
-			and sql_showtable('spip_meta', true, $serveur)
142
-			and $r = sql_getfetsel('valeur', 'spip_meta', "nom='charset_sql_connexion'", '', '', '', '', $serveur)
143
-		) {
144
-			$charset = $r;
145
-		} else {
146
-			$charset = -1;
147
-		}
148
-	}
149
-	if ($charset != -1) {
150
-		$f = $GLOBALS[$jeu]['set_charset'];
151
-		if (function_exists($f)) {
152
-			$f($charset, $serveur);
153
-		}
154
-	}
155
-
156
-	return $GLOBALS['connexions'][$index];
45
+    $serveur = !is_string($serveur) ? '' : strtolower($serveur);
46
+    $index = $serveur ? $serveur : 0;
47
+    if (!$version) {
48
+        $version = $GLOBALS['spip_sql_version'];
49
+    }
50
+    if (isset($GLOBALS['connexions'][$index][$version])) {
51
+        return $GLOBALS['connexions'][$index];
52
+    }
53
+
54
+    include_spip('base/abstract_sql');
55
+    $install = (_request('exec') == 'install');
56
+
57
+    // Premiere connexion ?
58
+    if (!($old = isset($GLOBALS['connexions'][$index]))) {
59
+        $f = (!preg_match('/^[\w\.]*$/', $serveur))
60
+            ? '' // nom de serveur mal ecrit
61
+            : ($serveur ?
62
+                (_DIR_CONNECT . $serveur . '.php') // serveur externe
63
+                : (_FILE_CONNECT ? _FILE_CONNECT // serveur principal ok
64
+                    : ($install ? _FILE_CONNECT_TMP // init du serveur principal
65
+                        : ''))); // installation pas faite
66
+
67
+        unset($GLOBALS['db_ok']);
68
+        unset($GLOBALS['spip_connect_version']);
69
+        if ($f) {
70
+            if (is_readable($f)) {
71
+                include($f);
72
+            } elseif ($serveur and !$install) {
73
+                // chercher une declaration de serveur dans le path
74
+                // qui pourra un jour servir a declarer des bases sqlite
75
+                // par des plugins. Et sert aussi aux boucles POUR.
76
+                find_in_path("$serveur.php", 'connect/', true);
77
+            }
78
+        }
79
+        if (!isset($GLOBALS['db_ok'])) {
80
+            // fera mieux la prochaine fois
81
+            if ($install) {
82
+                return false;
83
+            }
84
+            if ($f and is_readable($f)) {
85
+                spip_log("spip_connect: fichier de connexion '$f' OK.", _LOG_INFO_IMPORTANTE);
86
+            } else {
87
+                spip_log("spip_connect: fichier de connexion '$f' non trouve", _LOG_INFO_IMPORTANTE);
88
+            }
89
+            spip_log("spip_connect: echec connexion ou serveur $index mal defini dans '$f'.", _LOG_HS);
90
+
91
+            // ne plus reessayer si ce n'est pas l'install
92
+            return $GLOBALS['connexions'][$index] = false;
93
+        }
94
+        $GLOBALS['connexions'][$index] = $GLOBALS['db_ok'];
95
+    }
96
+    // si la connexion a deja ete tentee mais a echoue, le dire!
97
+    if (!$GLOBALS['connexions'][$index]) {
98
+        return false;
99
+    }
100
+
101
+    // la connexion a reussi ou etait deja faite.
102
+    // chargement de la version du jeu de fonctions
103
+    // si pas dans le fichier par defaut
104
+    $type = $GLOBALS['db_ok']['type'];
105
+    $jeu = 'spip_' . $type . '_functions_' . $version;
106
+    if (!isset($GLOBALS[$jeu])) {
107
+        if (!find_in_path($type . '_' . $version . '.php', 'req/', true)) {
108
+            spip_log("spip_connect: serveur $index version '$version' non defini pour '$type'", _LOG_HS);
109
+
110
+            // ne plus reessayer
111
+            return $GLOBALS['connexions'][$index][$version] = array();
112
+        }
113
+    }
114
+    $GLOBALS['connexions'][$index][$version] = $GLOBALS[$jeu];
115
+    if ($old) {
116
+        return $GLOBALS['connexions'][$index];
117
+    }
118
+
119
+    $GLOBALS['connexions'][$index]['spip_connect_version'] = isset($GLOBALS['spip_connect_version']) ? $GLOBALS['spip_connect_version'] : 0;
120
+
121
+    // initialisation de l'alphabet utilise dans les connexions SQL
122
+    // si l'installation l'a determine.
123
+    // Celui du serveur principal l'impose aux serveurs secondaires
124
+    // s'ils le connaissent
125
+
126
+    if (!$serveur) {
127
+        $charset = spip_connect_main($GLOBALS[$jeu], $GLOBALS['db_ok']['charset']);
128
+        if (!$charset) {
129
+            unset($GLOBALS['connexions'][$index]);
130
+            spip_log("spip_connect: absence de charset", _LOG_AVERTISSEMENT);
131
+
132
+            return false;
133
+        }
134
+    } else {
135
+        if ($GLOBALS['db_ok']['charset']) {
136
+            $charset = $GLOBALS['db_ok']['charset'];
137
+        }
138
+        // spip_meta n'existe pas toujours dans la base
139
+        // C'est le cas d'un dump sqlite par exemple 
140
+        elseif ($GLOBALS['connexions'][$index]['spip_connect_version']
141
+            and sql_showtable('spip_meta', true, $serveur)
142
+            and $r = sql_getfetsel('valeur', 'spip_meta', "nom='charset_sql_connexion'", '', '', '', '', $serveur)
143
+        ) {
144
+            $charset = $r;
145
+        } else {
146
+            $charset = -1;
147
+        }
148
+    }
149
+    if ($charset != -1) {
150
+        $f = $GLOBALS[$jeu]['set_charset'];
151
+        if (function_exists($f)) {
152
+            $f($charset, $serveur);
153
+        }
154
+    }
155
+
156
+    return $GLOBALS['connexions'][$index];
157 157
 }
158 158
 
159 159
 /**
@@ -162,12 +162,12 @@  discard block
 block discarded – undo
162 162
  * @param string $serveur Nom du connecteur de bdd utilisé
163 163
  **/
164 164
 function spip_sql_erreur($serveur = '') {
165
-	$connexion = spip_connect($serveur);
166
-	$e = sql_errno($serveur);
167
-	$t = (isset($connexion['type']) ? $connexion['type'] : 'sql');
168
-	$m = "Erreur $e de $t: " . sql_error($serveur) . "\nin " . sql_error_backtrace() . "\n" . trim($connexion['last']);
169
-	$f = $t . $serveur;
170
-	spip_log($m, $f . '.' . _LOG_ERREUR);
165
+    $connexion = spip_connect($serveur);
166
+    $e = sql_errno($serveur);
167
+    $t = (isset($connexion['type']) ? $connexion['type'] : 'sql');
168
+    $m = "Erreur $e de $t: " . sql_error($serveur) . "\nin " . sql_error_backtrace() . "\n" . trim($connexion['last']);
169
+    $f = $t . $serveur;
170
+    spip_log($m, $f . '.' . _LOG_ERREUR);
171 171
 }
172 172
 
173 173
 /**
@@ -189,19 +189,19 @@  discard block
 block discarded – undo
189 189
  *     - array : description de la connexion, si l'instruction sql est indisponible pour cette connexion
190 190
  **/
191 191
 function spip_connect_sql($version, $ins = '', $serveur = '', $continue = false) {
192
-	$desc = spip_connect($serveur, $version);
193
-	if (function_exists($f = @$desc[$version][$ins])) {
194
-		return $f;
195
-	}
196
-	if ($continue) {
197
-		return $desc;
198
-	}
199
-	if ($ins) {
200
-		spip_log("Le serveur '$serveur' version $version n'a pas '$ins'", _LOG_ERREUR);
201
-	}
202
-	include_spip('inc/minipres');
203
-	echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), array('status' => 503));
204
-	exit;
192
+    $desc = spip_connect($serveur, $version);
193
+    if (function_exists($f = @$desc[$version][$ins])) {
194
+        return $f;
195
+    }
196
+    if ($continue) {
197
+        return $desc;
198
+    }
199
+    if ($ins) {
200
+        spip_log("Le serveur '$serveur' version $version n'a pas '$ins'", _LOG_ERREUR);
201
+    }
202
+    include_spip('inc/minipres');
203
+    echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), array('status' => 503));
204
+    exit;
205 205
 }
206 206
 
207 207
 /**
@@ -227,70 +227,70 @@  discard block
 block discarded – undo
227 227
  * @return array          Description de la connexion
228 228
  */
229 229
 function spip_connect_db(
230
-	$host,
231
-	$port,
232
-	$login,
233
-	$pass,
234
-	$db = '',
235
-	$type = 'mysql',
236
-	$prefixe = '',
237
-	$auth = '',
238
-	$charset = ''
230
+    $host,
231
+    $port,
232
+    $login,
233
+    $pass,
234
+    $db = '',
235
+    $type = 'mysql',
236
+    $prefixe = '',
237
+    $auth = '',
238
+    $charset = ''
239 239
 ) {
240
-	// temps avant nouvelle tentative de connexion
241
-	// suite a une connection echouee
242
-	if (!defined('_CONNECT_RETRY_DELAY')) {
243
-		define('_CONNECT_RETRY_DELAY', 30);
244
-	}
245
-
246
-	$f = "";
247
-	// un fichier de identifiant par combinaison (type,host,port,db)
248
-	// pour ne pas declarer tout indisponible d'un coup
249
-	// si en cours d'installation ou si db=@test@ on ne pose rien
250
-	// car c'est un test de connexion
251
-	if (!defined('_ECRIRE_INSTALL') and $db !== "@test@") {
252
-		$f = _DIR_TMP . $type . '.' . substr(md5($host . $port . $db), 0, 8) . '.out';
253
-	} elseif ($db == '@test@') {
254
-		$db = '';
255
-	}
256
-
257
-	if ($f
258
-		and @file_exists($f)
259
-		and (time() - @filemtime($f) < _CONNECT_RETRY_DELAY)
260
-	) {
261
-		spip_log("Echec : $f recent. Pas de tentative de connexion", _LOG_HS);
262
-
263
-		return;
264
-	}
265
-
266
-	if (!$prefixe) {
267
-		$prefixe = isset($GLOBALS['table_prefix'])
268
-			? $GLOBALS['table_prefix'] : $db;
269
-	}
270
-	$h = charger_fonction($type, 'req', true);
271
-	if (!$h) {
272
-		spip_log("les requetes $type ne sont pas fournies", _LOG_HS);
273
-
274
-		return;
275
-	}
276
-	if ($g = $h($host, $port, $login, $pass, $db, $prefixe)) {
277
-
278
-		if (!is_array($auth)) {
279
-			// compatibilite version 0.7 initiale
280
-			$g['ldap'] = $auth;
281
-			$auth = array('ldap' => $auth);
282
-		}
283
-		$g['authentification'] = $auth;
284
-		$g['type'] = $type;
285
-		$g['charset'] = $charset;
286
-
287
-		return $GLOBALS['db_ok'] = $g;
288
-	}
289
-	// En cas d'indisponibilite du serveur, eviter de le bombarder
290
-	if ($f) {
291
-		@touch($f);
292
-		spip_log("Echec connexion serveur $type : host[$host] port[$port] login[$login] base[$db]", $type . '.' . _LOG_HS);
293
-	}
240
+    // temps avant nouvelle tentative de connexion
241
+    // suite a une connection echouee
242
+    if (!defined('_CONNECT_RETRY_DELAY')) {
243
+        define('_CONNECT_RETRY_DELAY', 30);
244
+    }
245
+
246
+    $f = "";
247
+    // un fichier de identifiant par combinaison (type,host,port,db)
248
+    // pour ne pas declarer tout indisponible d'un coup
249
+    // si en cours d'installation ou si db=@test@ on ne pose rien
250
+    // car c'est un test de connexion
251
+    if (!defined('_ECRIRE_INSTALL') and $db !== "@test@") {
252
+        $f = _DIR_TMP . $type . '.' . substr(md5($host . $port . $db), 0, 8) . '.out';
253
+    } elseif ($db == '@test@') {
254
+        $db = '';
255
+    }
256
+
257
+    if ($f
258
+        and @file_exists($f)
259
+        and (time() - @filemtime($f) < _CONNECT_RETRY_DELAY)
260
+    ) {
261
+        spip_log("Echec : $f recent. Pas de tentative de connexion", _LOG_HS);
262
+
263
+        return;
264
+    }
265
+
266
+    if (!$prefixe) {
267
+        $prefixe = isset($GLOBALS['table_prefix'])
268
+            ? $GLOBALS['table_prefix'] : $db;
269
+    }
270
+    $h = charger_fonction($type, 'req', true);
271
+    if (!$h) {
272
+        spip_log("les requetes $type ne sont pas fournies", _LOG_HS);
273
+
274
+        return;
275
+    }
276
+    if ($g = $h($host, $port, $login, $pass, $db, $prefixe)) {
277
+
278
+        if (!is_array($auth)) {
279
+            // compatibilite version 0.7 initiale
280
+            $g['ldap'] = $auth;
281
+            $auth = array('ldap' => $auth);
282
+        }
283
+        $g['authentification'] = $auth;
284
+        $g['type'] = $type;
285
+        $g['charset'] = $charset;
286
+
287
+        return $GLOBALS['db_ok'] = $g;
288
+    }
289
+    // En cas d'indisponibilite du serveur, eviter de le bombarder
290
+    if ($f) {
291
+        @touch($f);
292
+        spip_log("Echec connexion serveur $type : host[$host] port[$port] login[$login] base[$db]", $type . '.' . _LOG_HS);
293
+    }
294 294
 }
295 295
 
296 296
 
@@ -322,31 +322,31 @@  discard block
 block discarded – undo
322 322
  *     - nom du charset sinon
323 323
  **/
324 324
 function spip_connect_main($connexion, $charset_sql_connexion = '') {
325
-	if ($GLOBALS['spip_connect_version'] < 0.1 and _DIR_RESTREINT) {
326
-		include_spip('inc/headers');
327
-		redirige_url_ecrire('upgrade', 'reinstall=oui');
328
-	}
329
-
330
-	if (!($f = $connexion['select'])) {
331
-		return false;
332
-	}
333
-	// si le charset est fourni, l'utiliser
334
-	if ($charset_sql_connexion) {
335
-		return $charset_sql_connexion;
336
-	}
337
-	// sinon on regarde la table spip_meta
338
-	// en cas d'erreur select retourne la requette (is_string=true donc)
339
-	if (!$r = $f('valeur', 'spip_meta', "nom='charset_sql_connexion'")
340
-		or is_string($r)
341
-	) {
342
-		return false;
343
-	}
344
-	if (!($f = $connexion['fetch'])) {
345
-		return false;
346
-	}
347
-	$r = $f($r);
348
-
349
-	return (isset($r['valeur']) && $r['valeur']) ? $r['valeur'] : -1;
325
+    if ($GLOBALS['spip_connect_version'] < 0.1 and _DIR_RESTREINT) {
326
+        include_spip('inc/headers');
327
+        redirige_url_ecrire('upgrade', 'reinstall=oui');
328
+    }
329
+
330
+    if (!($f = $connexion['select'])) {
331
+        return false;
332
+    }
333
+    // si le charset est fourni, l'utiliser
334
+    if ($charset_sql_connexion) {
335
+        return $charset_sql_connexion;
336
+    }
337
+    // sinon on regarde la table spip_meta
338
+    // en cas d'erreur select retourne la requette (is_string=true donc)
339
+    if (!$r = $f('valeur', 'spip_meta', "nom='charset_sql_connexion'")
340
+        or is_string($r)
341
+    ) {
342
+        return false;
343
+    }
344
+    if (!($f = $connexion['fetch'])) {
345
+        return false;
346
+    }
347
+    $r = $f($r);
348
+
349
+    return (isset($r['valeur']) && $r['valeur']) ? $r['valeur'] : -1;
350 350
 }
351 351
 
352 352
 /**
@@ -361,9 +361,9 @@  discard block
 block discarded – undo
361 361
  * @return array
362 362
  */
363 363
 function spip_connect_ldap($serveur = '') {
364
-	include_spip('auth/ldap');
364
+    include_spip('auth/ldap');
365 365
 
366
-	return auth_ldap_connect($serveur);
366
+    return auth_ldap_connect($serveur);
367 367
 }
368 368
 
369 369
 /**
@@ -379,9 +379,9 @@  discard block
 block discarded – undo
379 379
  * @return string Valeur échappée.
380 380
  **/
381 381
 function _q($a) {
382
-	return (is_numeric($a)) ? strval($a) :
383
-		(!is_array($a) ? ("'" . addslashes($a) . "'")
384
-			: join(",", array_map('_q', $a)));
382
+    return (is_numeric($a)) ? strval($a) :
383
+        (!is_array($a) ? ("'" . addslashes($a) . "'")
384
+            : join(",", array_map('_q', $a)));
385 385
 }
386 386
 
387 387
 
@@ -399,19 +399,19 @@  discard block
 block discarded – undo
399 399
  *     - chaîne vide si non trouvé.
400 400
  **/
401 401
 function table_jointure($x, $y) {
402
-	$trouver_table = charger_fonction('trouver_table', 'base');
403
-	$xdesc = $trouver_table(table_objet($x));
404
-	$ydesc = $trouver_table(table_objet($y));
405
-	$ix = @$xdesc['key']["PRIMARY KEY"];
406
-	$iy = @$ydesc['key']["PRIMARY KEY"];
407
-	if ($table = $ydesc['tables_jointures'][$ix]) {
408
-		return $table;
409
-	}
410
-	if ($table = $xdesc['tables_jointures'][$iy]) {
411
-		return $table;
412
-	}
413
-
414
-	return '';
402
+    $trouver_table = charger_fonction('trouver_table', 'base');
403
+    $xdesc = $trouver_table(table_objet($x));
404
+    $ydesc = $trouver_table(table_objet($y));
405
+    $ix = @$xdesc['key']["PRIMARY KEY"];
406
+    $iy = @$ydesc['key']["PRIMARY KEY"];
407
+    if ($table = $ydesc['tables_jointures'][$ix]) {
408
+        return $table;
409
+    }
410
+    if ($table = $xdesc['tables_jointures'][$iy]) {
411
+        return $table;
412
+    }
413
+
414
+    return '';
415 415
 }
416 416
 
417 417
 /**
@@ -427,41 +427,41 @@  discard block
 block discarded – undo
427 427
  * @return array
428 428
  */
429 429
 function query_echappe_textes($query) {
430
-	static $codeEchappements = array("''" => "\x1@##@\x1", "\'" => "\x2@##@\x2", "\\\"" => "\x3@##@\x3");
431
-	$query = str_replace(array_keys($codeEchappements), array_values($codeEchappements), $query);
432
-	if (preg_match_all("/((['])[^']*(\\2))|(([\"])[^\"]*(\\5))/S", $query, $textes)) {
433
-		$textes = reset($textes); // indice 0 du match
434
-		switch (count($textes)) {
435
-			case 0:
436
-				$replace = array();
437
-				break;
438
-			case 1:
439
-				$replace = array('%1$s');
440
-				break;
441
-			case 2:
442
-				$replace = array('%1$s', '%2$s');
443
-				break;
444
-			case 3:
445
-				$replace = array('%1$s', '%2$s', '%3$s');
446
-				break;
447
-			case 4:
448
-				$replace = array('%1$s', '%2$s', '%3$s', '%4$s');
449
-				break;
450
-			case 5:
451
-				$replace = array('%1$s', '%2$s', '%3$s', '%4$s', '%5$s');
452
-				break;
453
-			default:
454
-				$replace = range(1, count($textes));
455
-				$replace = '%' . implode('$s,%', $replace) . '$s';
456
-				$replace = explode(',', $replace);
457
-				break;
458
-		}
459
-		$query = str_replace($textes, $replace, $query);
460
-	} else {
461
-		$textes = array();
462
-	}
463
-
464
-	return array($query, $textes);
430
+    static $codeEchappements = array("''" => "\x1@##@\x1", "\'" => "\x2@##@\x2", "\\\"" => "\x3@##@\x3");
431
+    $query = str_replace(array_keys($codeEchappements), array_values($codeEchappements), $query);
432
+    if (preg_match_all("/((['])[^']*(\\2))|(([\"])[^\"]*(\\5))/S", $query, $textes)) {
433
+        $textes = reset($textes); // indice 0 du match
434
+        switch (count($textes)) {
435
+            case 0:
436
+                $replace = array();
437
+                break;
438
+            case 1:
439
+                $replace = array('%1$s');
440
+                break;
441
+            case 2:
442
+                $replace = array('%1$s', '%2$s');
443
+                break;
444
+            case 3:
445
+                $replace = array('%1$s', '%2$s', '%3$s');
446
+                break;
447
+            case 4:
448
+                $replace = array('%1$s', '%2$s', '%3$s', '%4$s');
449
+                break;
450
+            case 5:
451
+                $replace = array('%1$s', '%2$s', '%3$s', '%4$s', '%5$s');
452
+                break;
453
+            default:
454
+                $replace = range(1, count($textes));
455
+                $replace = '%' . implode('$s,%', $replace) . '$s';
456
+                $replace = explode(',', $replace);
457
+                break;
458
+        }
459
+        $query = str_replace($textes, $replace, $query);
460
+    } else {
461
+        $textes = array();
462
+    }
463
+
464
+    return array($query, $textes);
465 465
 }
466 466
 
467 467
 /**
@@ -475,40 +475,40 @@  discard block
 block discarded – undo
475 475
  * @return string
476 476
  */
477 477
 function query_reinjecte_textes($query, $textes) {
478
-	static $codeEchappements = array("''" => "\x1@##@\x1", "\'" => "\x2@##@\x2", "\\\"" => "\x3@##@\x3");
479
-	# debug de la substitution
480
-	#if (($c1=substr_count($query,"%"))!=($c2=count($textes))){
481
-	#	spip_log("$c1 ::". $query,"tradquery"._LOG_ERREUR);
482
-	#	spip_log("$c2 ::". var_export($textes,1),"tradquery"._LOG_ERREUR);
483
-	#	spip_log("ini ::". $qi,"tradquery"._LOG_ERREUR);
484
-	#}
485
-	switch (count($textes)) {
486
-		case 0:
487
-			break;
488
-		case 1:
489
-			$query = sprintf($query, $textes[0]);
490
-			break;
491
-		case 2:
492
-			$query = sprintf($query, $textes[0], $textes[1]);
493
-			break;
494
-		case 3:
495
-			$query = sprintf($query, $textes[0], $textes[1], $textes[2]);
496
-			break;
497
-		case 4:
498
-			$query = sprintf($query, $textes[0], $textes[1], $textes[2], $textes[3]);
499
-			break;
500
-		case 5:
501
-			$query = sprintf($query, $textes[0], $textes[1], $textes[2], $textes[3], $textes[4]);
502
-			break;
503
-		default:
504
-			array_unshift($textes, $query);
505
-			$query = call_user_func_array('sprintf', $textes);
506
-			break;
507
-	}
508
-
509
-	$query = str_replace(array_values($codeEchappements), array_keys($codeEchappements), $query);
510
-
511
-	return $query;
478
+    static $codeEchappements = array("''" => "\x1@##@\x1", "\'" => "\x2@##@\x2", "\\\"" => "\x3@##@\x3");
479
+    # debug de la substitution
480
+    #if (($c1=substr_count($query,"%"))!=($c2=count($textes))){
481
+    #	spip_log("$c1 ::". $query,"tradquery"._LOG_ERREUR);
482
+    #	spip_log("$c2 ::". var_export($textes,1),"tradquery"._LOG_ERREUR);
483
+    #	spip_log("ini ::". $qi,"tradquery"._LOG_ERREUR);
484
+    #}
485
+    switch (count($textes)) {
486
+        case 0:
487
+            break;
488
+        case 1:
489
+            $query = sprintf($query, $textes[0]);
490
+            break;
491
+        case 2:
492
+            $query = sprintf($query, $textes[0], $textes[1]);
493
+            break;
494
+        case 3:
495
+            $query = sprintf($query, $textes[0], $textes[1], $textes[2]);
496
+            break;
497
+        case 4:
498
+            $query = sprintf($query, $textes[0], $textes[1], $textes[2], $textes[3]);
499
+            break;
500
+        case 5:
501
+            $query = sprintf($query, $textes[0], $textes[1], $textes[2], $textes[3], $textes[4]);
502
+            break;
503
+        default:
504
+            array_unshift($textes, $query);
505
+            $query = call_user_func_array('sprintf', $textes);
506
+            break;
507
+    }
508
+
509
+    $query = str_replace(array_values($codeEchappements), array_keys($codeEchappements), $query);
510
+
511
+    return $query;
512 512
 }
513 513
 
514 514
 
@@ -527,7 +527,7 @@  discard block
 block discarded – undo
527 527
  **/
528 528
 function spip_query($query, $serveur = '') {
529 529
 
530
-	$f = spip_connect_sql($GLOBALS['spip_sql_version'], 'query', $serveur, true);
530
+    $f = spip_connect_sql($GLOBALS['spip_sql_version'], 'query', $serveur, true);
531 531
 
532
-	return function_exists($f) ? $f($query, $serveur) : false;
532
+    return function_exists($f) ? $f($query, $serveur) : false;
533 533
 }
Please login to merge, or discard this patch.
ecrire/exec/rechercher.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -52,7 +52,7 @@
 block discarded – undo
52 52
  *
53 53
  * @param int $id
54 54
  * @param string $type
55
- * @param string|int|array $exclus
55
+ * @param integer $exclus
56 56
  * @param string|bool $rac
57 57
  * @param string $do
58 58
  * @return string
Please login to merge, or discard this patch.
Indentation   +89 added lines, -89 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
  **/
19 19
 
20 20
 if (!defined('_ECRIRE_INC_VERSION')) {
21
-	return;
21
+    return;
22 22
 }
23 23
 
24 24
 include_spip('inc/actions');
@@ -31,17 +31,17 @@  discard block
 block discarded – undo
31 31
  * @uses ajax_retour()
32 32
  **/
33 33
 function exec_rechercher_dist() {
34
-	$id = intval(_request('id'));
35
-	$exclus = intval(_request('exclus'));
36
-	$rac = spip_htmlentities(_request('rac'));
37
-	$type = _request('type');
38
-	$do = _request('do');
39
-	if (preg_match('/^\w*$/', $do)) {
40
-		$r = exec_rechercher_args($id, $type, $exclus, $rac, $do);
41
-	} else {
42
-		$r = '';
43
-	}
44
-	ajax_retour($r);
34
+    $id = intval(_request('id'));
35
+    $exclus = intval(_request('exclus'));
36
+    $rac = spip_htmlentities(_request('rac'));
37
+    $type = _request('type');
38
+    $do = _request('do');
39
+    if (preg_match('/^\w*$/', $do)) {
40
+        $r = exec_rechercher_args($id, $type, $exclus, $rac, $do);
41
+    } else {
42
+        $r = '';
43
+    }
44
+    ajax_retour($r);
45 45
 }
46 46
 
47 47
 /**
@@ -58,59 +58,59 @@  discard block
 block discarded – undo
58 58
  * @return string
59 59
  **/
60 60
 function exec_rechercher_args($id, $type, $exclus, $rac, $do) {
61
-	if (!$do) {
62
-		$do = 'aff';
63
-	}
64
-
65
-	$points = $rub = array();
66
-
67
-	$where = preg_split(",\s+,", $type);
68
-	if ($where) {
69
-		foreach ($where as $k => $v) {
70
-			$where[$k] = "'%" . substr(str_replace("%", "\%", sql_quote($v, '', 'string')), 1, -1) . "%'";
71
-		}
72
-		$where_titre = ("(titre LIKE " . join(" AND titre LIKE ", $where) . ")");
73
-		$where_desc = ("(descriptif LIKE " . join(" AND descriptif LIKE ", $where) . ")");
74
-		$where_id = ("(id_rubrique = " . intval($type) . ")");
75
-
76
-		if ($exclus) {
77
-			include_spip('inc/rubriques');
78
-			$where_exclus = " AND " . sql_in('id_rubrique', calcul_branche_in($exclus), 'NOT');
79
-		} else {
80
-			$where_exclus = '';
81
-		}
82
-
83
-		foreach (array(
84
-			3 => $where_titre,
85
-			2 => $where_desc,
86
-			1 => $where_id,
87
-		) as $point => $recherche) {
88
-			$res = sql_select("id_rubrique, id_parent, titre", "spip_rubriques", "$recherche$where_exclus");
89
-			while ($row = sql_fetch($res)) {
90
-				$id_rubrique = $row["id_rubrique"];
91
-				if (!isset($rub[$id_rubrique])) {
92
-					$rub[$id_rubrique] = array();
93
-				}
94
-				$rub[$id_rubrique]["titre"] = typo($row["titre"]);
95
-				$rub[$id_rubrique]["id_parent"] = $row["id_parent"];
96
-				if (!isset($points[$id_rubrique])) {
97
-					$points[$id_rubrique] = 0;
98
-				}
99
-				$points[$id_rubrique] = $points[$id_rubrique] + $point;
100
-			}
101
-		}
102
-	}
103
-
104
-	if ($points) {
105
-		arsort($points);
106
-		$style = " style='background-image: url(" . chemin_image('secteur-12.png') . ")'";
107
-		foreach ($rub as $k => $v) {
108
-			$rub[$k]['atts'] = ($v["id_parent"] ? $style : '')
109
-				. " class='petite-rubrique'";
110
-		}
111
-	}
112
-
113
-	return (proposer_item($points, $rub, $rac, $type, $do));
61
+    if (!$do) {
62
+        $do = 'aff';
63
+    }
64
+
65
+    $points = $rub = array();
66
+
67
+    $where = preg_split(",\s+,", $type);
68
+    if ($where) {
69
+        foreach ($where as $k => $v) {
70
+            $where[$k] = "'%" . substr(str_replace("%", "\%", sql_quote($v, '', 'string')), 1, -1) . "%'";
71
+        }
72
+        $where_titre = ("(titre LIKE " . join(" AND titre LIKE ", $where) . ")");
73
+        $where_desc = ("(descriptif LIKE " . join(" AND descriptif LIKE ", $where) . ")");
74
+        $where_id = ("(id_rubrique = " . intval($type) . ")");
75
+
76
+        if ($exclus) {
77
+            include_spip('inc/rubriques');
78
+            $where_exclus = " AND " . sql_in('id_rubrique', calcul_branche_in($exclus), 'NOT');
79
+        } else {
80
+            $where_exclus = '';
81
+        }
82
+
83
+        foreach (array(
84
+            3 => $where_titre,
85
+            2 => $where_desc,
86
+            1 => $where_id,
87
+        ) as $point => $recherche) {
88
+            $res = sql_select("id_rubrique, id_parent, titre", "spip_rubriques", "$recherche$where_exclus");
89
+            while ($row = sql_fetch($res)) {
90
+                $id_rubrique = $row["id_rubrique"];
91
+                if (!isset($rub[$id_rubrique])) {
92
+                    $rub[$id_rubrique] = array();
93
+                }
94
+                $rub[$id_rubrique]["titre"] = typo($row["titre"]);
95
+                $rub[$id_rubrique]["id_parent"] = $row["id_parent"];
96
+                if (!isset($points[$id_rubrique])) {
97
+                    $points[$id_rubrique] = 0;
98
+                }
99
+                $points[$id_rubrique] = $points[$id_rubrique] + $point;
100
+            }
101
+        }
102
+    }
103
+
104
+    if ($points) {
105
+        arsort($points);
106
+        $style = " style='background-image: url(" . chemin_image('secteur-12.png') . ")'";
107
+        foreach ($rub as $k => $v) {
108
+            $rub[$k]['atts'] = ($v["id_parent"] ? $style : '')
109
+                . " class='petite-rubrique'";
110
+        }
111
+    }
112
+
113
+    return (proposer_item($points, $rub, $rac, $type, $do));
114 114
 }
115 115
 
116 116
 
@@ -133,35 +133,35 @@  discard block
 block discarded – undo
133 133
  **/
134 134
 function proposer_item($ids, $titles, $rac, $type, $do) {
135 135
 
136
-	if (!$ids) {
137
-		return "<br /><br /><div style='padding: 5px; color: red;'><b>"
138
-		. spip_htmlentities($type)
139
-		. "</b> :  " . _T('avis_aucun_resultat') . "</div>";
140
-	}
136
+    if (!$ids) {
137
+        return "<br /><br /><div style='padding: 5px; color: red;'><b>"
138
+        . spip_htmlentities($type)
139
+        . "</b> :  " . _T('avis_aucun_resultat') . "</div>";
140
+    }
141 141
 
142
-	$ret = '';
143
-	$info = generer_url_ecrire('informer', "type=rubrique&rac=$rac&id=");
142
+    $ret = '';
143
+    $info = generer_url_ecrire('informer', "type=rubrique&rac=$rac&id=");
144 144
 
145
-	$onClick = "aff_selection(this.firstChild.title,'$rac" . "_selection','$info', event)";
145
+    $onClick = "aff_selection(this.firstChild.title,'$rac" . "_selection','$info', event)";
146 146
 
147
-	$ondbClick = "$do(this.firstChild.firstChild.nodeValue,this.firstChild.title,'selection_rubrique', 'id_parent');";
147
+    $ondbClick = "$do(this.firstChild.firstChild.nodeValue,this.firstChild.title,'selection_rubrique', 'id_parent');";
148 148
 
149
-	foreach ($ids as $id => $bof) {
149
+    foreach ($ids as $id => $bof) {
150 150
 
151
-		$titre = strtr(str_replace("'", "&#8217;", str_replace('"', "&#34;", textebrut($titles[$id]["titre"]))), "\n\r",
152
-			"  ");
151
+        $titre = strtr(str_replace("'", "&#8217;", str_replace('"', "&#34;", textebrut($titles[$id]["titre"]))), "\n\r",
152
+            "  ");
153 153
 
154
-		$ret .= "<div class='highlight off'\nonclick=\"changerhighlight(this); "
155
-			. $onClick
156
-			. "\"\nondblclick=\""
157
-			. $ondbClick
158
-			. $onClick
159
-			. " \"><div"
160
-			. $titles[$id]["atts"]
161
-			. " title='$id'>&nbsp; "
162
-			. $titre
163
-			. "</div></div>";
164
-	}
154
+        $ret .= "<div class='highlight off'\nonclick=\"changerhighlight(this); "
155
+            . $onClick
156
+            . "\"\nondblclick=\""
157
+            . $ondbClick
158
+            . $onClick
159
+            . " \"><div"
160
+            . $titles[$id]["atts"]
161
+            . " title='$id'>&nbsp; "
162
+            . $titre
163
+            . "</div></div>";
164
+    }
165 165
 
166
-	return $ret;
166
+    return $ret;
167 167
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -67,15 +67,15 @@  discard block
 block discarded – undo
67 67
 	$where = preg_split(",\s+,", $type);
68 68
 	if ($where) {
69 69
 		foreach ($where as $k => $v) {
70
-			$where[$k] = "'%" . substr(str_replace("%", "\%", sql_quote($v, '', 'string')), 1, -1) . "%'";
70
+			$where[$k] = "'%".substr(str_replace("%", "\%", sql_quote($v, '', 'string')), 1, -1)."%'";
71 71
 		}
72
-		$where_titre = ("(titre LIKE " . join(" AND titre LIKE ", $where) . ")");
73
-		$where_desc = ("(descriptif LIKE " . join(" AND descriptif LIKE ", $where) . ")");
74
-		$where_id = ("(id_rubrique = " . intval($type) . ")");
72
+		$where_titre = ("(titre LIKE ".join(" AND titre LIKE ", $where).")");
73
+		$where_desc = ("(descriptif LIKE ".join(" AND descriptif LIKE ", $where).")");
74
+		$where_id = ("(id_rubrique = ".intval($type).")");
75 75
 
76 76
 		if ($exclus) {
77 77
 			include_spip('inc/rubriques');
78
-			$where_exclus = " AND " . sql_in('id_rubrique', calcul_branche_in($exclus), 'NOT');
78
+			$where_exclus = " AND ".sql_in('id_rubrique', calcul_branche_in($exclus), 'NOT');
79 79
 		} else {
80 80
 			$where_exclus = '';
81 81
 		}
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
 
104 104
 	if ($points) {
105 105
 		arsort($points);
106
-		$style = " style='background-image: url(" . chemin_image('secteur-12.png') . ")'";
106
+		$style = " style='background-image: url(".chemin_image('secteur-12.png').")'";
107 107
 		foreach ($rub as $k => $v) {
108 108
 			$rub[$k]['atts'] = ($v["id_parent"] ? $style : '')
109 109
 				. " class='petite-rubrique'";
@@ -136,13 +136,13 @@  discard block
 block discarded – undo
136 136
 	if (!$ids) {
137 137
 		return "<br /><br /><div style='padding: 5px; color: red;'><b>"
138 138
 		. spip_htmlentities($type)
139
-		. "</b> :  " . _T('avis_aucun_resultat') . "</div>";
139
+		. "</b> :  "._T('avis_aucun_resultat')."</div>";
140 140
 	}
141 141
 
142 142
 	$ret = '';
143 143
 	$info = generer_url_ecrire('informer', "type=rubrique&rac=$rac&id=");
144 144
 
145
-	$onClick = "aff_selection(this.firstChild.title,'$rac" . "_selection','$info', event)";
145
+	$onClick = "aff_selection(this.firstChild.title,'$rac"."_selection','$info', event)";
146 146
 
147 147
 	$ondbClick = "$do(this.firstChild.firstChild.nodeValue,this.firstChild.title,'selection_rubrique', 'id_parent');";
148 148
 
Please login to merge, or discard this patch.
ecrire/genie/maintenance.php 4 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -31,7 +31,7 @@
 block discarded – undo
31 31
  * @uses verifier_crash_tables()
32 32
  *
33 33
  * @param object $t
34
- * @return bool Toujours à true.
34
+ * @return integer Toujours à true.
35 35
  */
36 36
 function genie_maintenance_dist($t) {
37 37
 
Please login to merge, or discard this patch.
Indentation   +44 added lines, -44 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
 /**
@@ -35,18 +35,18 @@  discard block
 block discarded – undo
35 35
  */
36 36
 function genie_maintenance_dist($t) {
37 37
 
38
-	// (re)mettre .htaccess avec deny from all
39
-	// dans les deux repertoires dits inaccessibles par http
40
-	include_spip('inc/acces');
41
-	verifier_htaccess(_DIR_ETC);
42
-	verifier_htaccess(_DIR_TMP);
38
+    // (re)mettre .htaccess avec deny from all
39
+    // dans les deux repertoires dits inaccessibles par http
40
+    include_spip('inc/acces');
41
+    verifier_htaccess(_DIR_ETC);
42
+    verifier_htaccess(_DIR_TMP);
43 43
 
44
-	// Verifier qu'aucune table n'est crashee
45
-	if (!_request('reinstall')) {
46
-		verifier_crash_tables();
47
-	}
44
+    // Verifier qu'aucune table n'est crashee
45
+    if (!_request('reinstall')) {
46
+        verifier_crash_tables();
47
+    }
48 48
 
49
-	return 1;
49
+    return 1;
50 50
 }
51 51
 
52 52
 
@@ -63,33 +63,33 @@  discard block
 block discarded – undo
63 63
  *     des tables qui ont crashé.
64 64
  */
65 65
 function verifier_crash_tables() {
66
-	if (spip_connect()) {
67
-		include_spip('base/serial');
68
-		include_spip('base/auxiliaires');
69
-		$crash = array();
70
-		foreach (array('tables_principales', 'tables_auxiliaires') as $com) {
71
-			foreach ($GLOBALS[$com] as $table => $desc) {
72
-				if (!sql_select('*', $table, '', '', '', 1)
73
-					and !defined('spip_interdire_cache')
74
-				) # cas "LOST CONNECTION"
75
-				{
76
-					$crash[] = $table;
77
-				}
78
-			}
79
-		}
80
-		#$crash[] = 'test';
81
-		if ($crash) {
82
-			ecrire_meta('message_crash_tables', serialize($crash));
83
-			spip_log('crash des tables', 'err');
84
-			spip_log($crash, 'err');
85
-		} else {
86
-			effacer_meta('message_crash_tables');
87
-		}
66
+    if (spip_connect()) {
67
+        include_spip('base/serial');
68
+        include_spip('base/auxiliaires');
69
+        $crash = array();
70
+        foreach (array('tables_principales', 'tables_auxiliaires') as $com) {
71
+            foreach ($GLOBALS[$com] as $table => $desc) {
72
+                if (!sql_select('*', $table, '', '', '', 1)
73
+                    and !defined('spip_interdire_cache')
74
+                ) # cas "LOST CONNECTION"
75
+                {
76
+                    $crash[] = $table;
77
+                }
78
+            }
79
+        }
80
+        #$crash[] = 'test';
81
+        if ($crash) {
82
+            ecrire_meta('message_crash_tables', serialize($crash));
83
+            spip_log('crash des tables', 'err');
84
+            spip_log($crash, 'err');
85
+        } else {
86
+            effacer_meta('message_crash_tables');
87
+        }
88 88
 
89
-		return $crash;
90
-	}
89
+        return $crash;
90
+    }
91 91
 
92
-	return false;
92
+    return false;
93 93
 }
94 94
 
95 95
 /**
@@ -105,12 +105,12 @@  discard block
 block discarded – undo
105 105
  * @return string
106 106
  */
107 107
 function message_crash_tables() {
108
-	if ($crash = verifier_crash_tables()) {
109
-		return
110
-			'<strong>' . _T('texte_recuperer_base') . '</strong><br />'
111
-			. ' <tt>' . join(', ', $crash) . '</tt><br />'
112
-			. generer_form_ecrire('base_repair',
113
-				_T('texte_crash_base'), '',
114
-				_T('bouton_tenter_recuperation'));
115
-	}
108
+    if ($crash = verifier_crash_tables()) {
109
+        return
110
+            '<strong>' . _T('texte_recuperer_base') . '</strong><br />'
111
+            . ' <tt>' . join(', ', $crash) . '</tt><br />'
112
+            . generer_form_ecrire('base_repair',
113
+                _T('texte_crash_base'), '',
114
+                _T('bouton_tenter_recuperation'));
115
+    }
116 116
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -107,8 +107,8 @@
 block discarded – undo
107 107
 function message_crash_tables() {
108 108
 	if ($crash = verifier_crash_tables()) {
109 109
 		return
110
-			'<strong>' . _T('texte_recuperer_base') . '</strong><br />'
111
-			. ' <tt>' . join(', ', $crash) . '</tt><br />'
110
+			'<strong>'._T('texte_recuperer_base').'</strong><br />'
111
+			. ' <tt>'.join(', ', $crash).'</tt><br />'
112 112
 			. generer_form_ecrire('base_repair',
113 113
 				_T('texte_crash_base'), '',
114 114
 				_T('bouton_tenter_recuperation'));
Please login to merge, or discard this patch.
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -71,10 +71,12 @@
 block discarded – undo
71 71
 			foreach ($GLOBALS[$com] as $table => $desc) {
72 72
 				if (!sql_select('*', $table, '', '', '', 1)
73 73
 					and !defined('spip_interdire_cache')
74
-				) # cas "LOST CONNECTION"
74
+				) {
75
+				    # cas "LOST CONNECTION"
75 76
 				{
76 77
 					$crash[] = $table;
77 78
 				}
79
+				}
78 80
 			}
79 81
 		}
80 82
 		#$crash[] = 'test';
Please login to merge, or discard this patch.
ecrire/inc/acces.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -261,7 +261,7 @@
 block discarded – undo
261 261
 /**
262 262
  * Initialiser la globale htsalt si cela n'a pas déjà été fait.
263 263
  *
264
- * @return void|bool
264
+ * @return null|string
265 265
  */
266 266
 function initialiser_sel() {
267 267
 	if (CRYPT_MD5) {
Please login to merge, or discard this patch.
Indentation   +218 added lines, -218 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -31,47 +31,47 @@  discard block
 block discarded – undo
31 31
  *     Mot de passe
32 32
  **/
33 33
 function creer_pass_aleatoire($longueur = 16, $sel = '') {
34
-	$seed = (int)round(((float)microtime() + 1) * time());
35
-
36
-	mt_srand($seed);
37
-	srand($seed);
38
-	$s = '';
39
-	$pass = '';
40
-	for ($i = 0; $i < $longueur; $i++) {
41
-		if (!$s) {
42
-			$s = mt_rand();
43
-			if (!$s) {
44
-				$s = rand();
45
-			}
46
-			$s = substr(md5(uniqid($s) . $sel), 0, 16);
47
-		}
48
-		$r = unpack('Cr', pack('H2', $s . $s));
49
-		$x = $r['r'] & 63;
50
-		if ($x < 10) {
51
-			$x = chr($x + 48);
52
-		} else {
53
-			if ($x < 36) {
54
-				$x = chr($x + 55);
55
-			} else {
56
-				if ($x < 62) {
57
-					$x = chr($x + 61);
58
-				} else {
59
-					if ($x == 63) {
60
-						$x = '/';
61
-					} else {
62
-						$x = '.';
63
-					}
64
-				}
65
-			}
66
-		}
67
-		$pass .= $x;
68
-		$s = substr($s, 2);
69
-	}
70
-	$pass = preg_replace('@[./]@', 'a', $pass);
71
-	$pass = preg_replace('@[I1l]@', 'L', $pass);
72
-	$pass = preg_replace('@[0O]@', 'o', $pass);
73
-
74
-	return $pass;
34
+    $seed = (int)round(((float)microtime() + 1) * time());
35
+
36
+    mt_srand($seed);
37
+    srand($seed);
38
+    $s = '';
39
+    $pass = '';
40
+    for ($i = 0; $i < $longueur; $i++) {
41
+        if (!$s) {
42
+            $s = mt_rand();
43
+            if (!$s) {
44
+                $s = rand();
45
+            }
46
+            $s = substr(md5(uniqid($s) . $sel), 0, 16);
47
+        }
48
+        $r = unpack('Cr', pack('H2', $s . $s));
49
+        $x = $r['r'] & 63;
50
+        if ($x < 10) {
51
+            $x = chr($x + 48);
52
+        } else {
53
+            if ($x < 36) {
54
+                $x = chr($x + 55);
55
+            } else {
56
+                if ($x < 62) {
57
+                    $x = chr($x + 61);
58
+                } else {
59
+                    if ($x == 63) {
60
+                        $x = '/';
61
+                    } else {
62
+                        $x = '.';
63
+                    }
64
+                }
65
+            }
66
+        }
67
+        $pass .= $x;
68
+        $s = substr($s, 2);
69
+    }
70
+    $pass = preg_replace('@[./]@', 'a', $pass);
71
+    $pass = preg_replace('@[I1l]@', 'L', $pass);
72
+    $pass = preg_replace('@[0O]@', 'o', $pass);
73
+
74
+    return $pass;
75 75
 }
76 76
 
77 77
 /**
@@ -80,21 +80,21 @@  discard block
 block discarded – undo
80 80
  * @return string Identifiant
81 81
  */
82 82
 function creer_uniqid() {
83
-	static $seeded;
83
+    static $seeded;
84 84
 
85
-	if (!$seeded) {
86
-		$seed = (int)round(((float)microtime() + 1) * time());
87
-		mt_srand($seed);
88
-		srand($seed);
89
-		$seeded = true;
90
-	}
85
+    if (!$seeded) {
86
+        $seed = (int)round(((float)microtime() + 1) * time());
87
+        mt_srand($seed);
88
+        srand($seed);
89
+        $seeded = true;
90
+    }
91 91
 
92
-	$s = mt_rand();
93
-	if (!$s) {
94
-		$s = rand();
95
-	}
92
+    $s = mt_rand();
93
+    if (!$s) {
94
+        $s = rand();
95
+    }
96 96
 
97
-	return uniqid($s, 1);
97
+    return uniqid($s, 1);
98 98
 }
99 99
 
100 100
 /**
@@ -108,38 +108,38 @@  discard block
 block discarded – undo
108 108
  * @return string Retourne l'alea éphemère actuel au passage
109 109
  */
110 110
 function charger_aleas() {
111
-	if (!isset($GLOBALS['meta']['alea_ephemere'])) {
112
-		include_spip('base/abstract_sql');
113
-		$aleas = sql_allfetsel(
114
-			array('nom', 'valeur'),
115
-			'spip_meta',
116
-			sql_in("nom", array('alea_ephemere', 'alea_ephemere_ancien')),
117
-			'', '', '', '', '',
118
-			'continue'
119
-		);
120
-		if ($aleas) {
121
-			foreach ($aleas as $a) {
122
-				$GLOBALS['meta'][$a['nom']] = $a['valeur'];
123
-			}
124
-			return $GLOBALS['meta']['alea_ephemere'];
125
-		} else {
126
-			spip_log("aleas indisponibles", "session");
127
-			return "";
128
-		}
129
-	}
130
-	return $GLOBALS['meta']['alea_ephemere'];
111
+    if (!isset($GLOBALS['meta']['alea_ephemere'])) {
112
+        include_spip('base/abstract_sql');
113
+        $aleas = sql_allfetsel(
114
+            array('nom', 'valeur'),
115
+            'spip_meta',
116
+            sql_in("nom", array('alea_ephemere', 'alea_ephemere_ancien')),
117
+            '', '', '', '', '',
118
+            'continue'
119
+        );
120
+        if ($aleas) {
121
+            foreach ($aleas as $a) {
122
+                $GLOBALS['meta'][$a['nom']] = $a['valeur'];
123
+            }
124
+            return $GLOBALS['meta']['alea_ephemere'];
125
+        } else {
126
+            spip_log("aleas indisponibles", "session");
127
+            return "";
128
+        }
129
+    }
130
+    return $GLOBALS['meta']['alea_ephemere'];
131 131
 }
132 132
 
133 133
 /**
134 134
  * Renouveller l'alea (utilisé pour sécuriser les scripts du répertoire `action/`)
135 135
  **/
136 136
 function renouvelle_alea() {
137
-	charger_aleas();
138
-	ecrire_meta('alea_ephemere_ancien', @$GLOBALS['meta']['alea_ephemere'], 'non');
139
-	$GLOBALS['meta']['alea_ephemere'] = md5(creer_uniqid());
140
-	ecrire_meta('alea_ephemere', $GLOBALS['meta']['alea_ephemere'], 'non');
141
-	ecrire_meta('alea_ephemere_date', time(), 'non');
142
-	spip_log("renouvellement de l'alea_ephemere");
137
+    charger_aleas();
138
+    ecrire_meta('alea_ephemere_ancien', @$GLOBALS['meta']['alea_ephemere'], 'non');
139
+    $GLOBALS['meta']['alea_ephemere'] = md5(creer_uniqid());
140
+    ecrire_meta('alea_ephemere', $GLOBALS['meta']['alea_ephemere'], 'non');
141
+    ecrire_meta('alea_ephemere_date', time(), 'non');
142
+    spip_log("renouvellement de l'alea_ephemere");
143 143
 }
144 144
 
145 145
 
@@ -159,20 +159,20 @@  discard block
 block discarded – undo
159 159
  *     Clé de sécurité.
160 160
  **/
161 161
 function low_sec($id_auteur) {
162
-	// Pas d'id_auteur : low_sec
163
-	if (!$id_auteur = intval($id_auteur)) {
164
-		if (!$low_sec = $GLOBALS['meta']['low_sec']) {
165
-			ecrire_meta('low_sec', $low_sec = creer_pass_aleatoire());
166
-		}
167
-	} else {
168
-		$low_sec = sql_getfetsel('low_sec', 'spip_auteurs', 'id_auteur = '.intval($id_auteur));
169
-		if (!$low_sec) {
170
-			$low_sec = creer_pass_aleatoire();
171
-			sql_updateq('spip_auteurs', array('low_sec' => $low_sec), 'id_auteur = '.intval($id_auteur));
172
-		}
173
-	}
174
-
175
-	return $low_sec;
162
+    // Pas d'id_auteur : low_sec
163
+    if (!$id_auteur = intval($id_auteur)) {
164
+        if (!$low_sec = $GLOBALS['meta']['low_sec']) {
165
+            ecrire_meta('low_sec', $low_sec = creer_pass_aleatoire());
166
+        }
167
+    } else {
168
+        $low_sec = sql_getfetsel('low_sec', 'spip_auteurs', 'id_auteur = '.intval($id_auteur));
169
+        if (!$low_sec) {
170
+            $low_sec = creer_pass_aleatoire();
171
+            sql_updateq('spip_auteurs', array('low_sec' => $low_sec), 'id_auteur = '.intval($id_auteur));
172
+        }
173
+    }
174
+
175
+    return $low_sec;
176 176
 }
177 177
 
178 178
 /**
@@ -188,27 +188,27 @@  discard block
 block discarded – undo
188 188
  * @return string
189 189
  */
190 190
 function param_low_sec($op, $args = array(), $lang = '', $mime = 'rss') {
191
-	$a = $b = '';
192
-	foreach ($args as $val => $var) {
193
-		if ($var) {
194
-			if ($val <> 'statut') {
195
-				$a .= ':' . $val . '-' . $var;
196
-			}
197
-			$b .= $val . '=' . $var . '&';
198
-		}
199
-	}
200
-	$a = substr($a, 1);
201
-	$id = intval(@$GLOBALS['connect_id_auteur']);
202
-
203
-	return $b
204
-	. 'op='
205
-	. $op
206
-	. '&id='
207
-	. $id
208
-	. '&cle='
209
-	. afficher_low_sec($id, "$mime $op $a")
210
-	. (!$a ? '' : "&args=$a")
211
-	. (!$lang ? '' : "&lang=$lang");
191
+    $a = $b = '';
192
+    foreach ($args as $val => $var) {
193
+        if ($var) {
194
+            if ($val <> 'statut') {
195
+                $a .= ':' . $val . '-' . $var;
196
+            }
197
+            $b .= $val . '=' . $var . '&';
198
+        }
199
+    }
200
+    $a = substr($a, 1);
201
+    $id = intval(@$GLOBALS['connect_id_auteur']);
202
+
203
+    return $b
204
+    . 'op='
205
+    . $op
206
+    . '&id='
207
+    . $id
208
+    . '&cle='
209
+    . afficher_low_sec($id, "$mime $op $a")
210
+    . (!$a ? '' : "&args=$a")
211
+    . (!$lang ? '' : "&lang=$lang");
212 212
 }
213 213
 
214 214
 /**
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
  *     Clé
225 225
  **/
226 226
 function afficher_low_sec($id_auteur, $action = '') {
227
-	return substr(md5($action . low_sec($id_auteur)), 0, 8);
227
+    return substr(md5($action . low_sec($id_auteur)), 0, 8);
228 228
 }
229 229
 
230 230
 /**
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
  *     true si les clés corresponde, false sinon
243 243
  **/
244 244
 function verifier_low_sec($id_auteur, $cle, $action = '') {
245
-	return ($cle == afficher_low_sec($id_auteur, $action));
245
+    return ($cle == afficher_low_sec($id_auteur, $action));
246 246
 }
247 247
 
248 248
 /**
@@ -252,10 +252,10 @@  discard block
 block discarded – undo
252 252
  *     Identifiant de l'auteur
253 253
  **/
254 254
 function effacer_low_sec($id_auteur) {
255
-	if (!$id_auteur = intval($id_auteur)) {
256
-		return;
257
-	} // jamais trop prudent ;)
258
-	sql_updateq('spip_auteurs', array('low_sec' => ''), 'id_auteur = '.intval($id_auteur));
255
+    if (!$id_auteur = intval($id_auteur)) {
256
+        return;
257
+    } // jamais trop prudent ;)
258
+    sql_updateq('spip_auteurs', array('low_sec' => ''), 'id_auteur = '.intval($id_auteur));
259 259
 }
260 260
 
261 261
 /**
@@ -264,11 +264,11 @@  discard block
 block discarded – undo
264 264
  * @return void|bool
265 265
  */
266 266
 function initialiser_sel() {
267
-	if (CRYPT_MD5) {
268
-		$GLOBALS['htsalt'] = '$1$' . creer_pass_aleatoire();
269
-	} else {
270
-		return '';
271
-	}
267
+    if (CRYPT_MD5) {
268
+        $GLOBALS['htsalt'] = '$1$' . creer_pass_aleatoire();
269
+    } else {
270
+        return '';
271
+    }
272 272
 }
273 273
 
274 274
 /**
@@ -285,45 +285,45 @@  discard block
 block discarded – undo
285 285
  *     - void sinon.
286 286
  **/
287 287
 function ecrire_acces() {
288
-	$htaccess = _DIR_RESTREINT . _ACCESS_FILE_NAME;
289
-	$htpasswd = _DIR_TMP . _AUTH_USER_FILE;
290
-
291
-	// Cette variable de configuration peut etre posee par un plugin
292
-	// par exemple acces_restreint ;
293
-	// si .htaccess existe, outrepasser spip_meta
294
-	if ((!isset($GLOBALS['meta']['creer_htpasswd'])
295
-			or ($GLOBALS['meta']['creer_htpasswd'] != 'oui'))
296
-		and !@file_exists($htaccess)
297
-	) {
298
-		spip_unlink($htpasswd);
299
-		spip_unlink($htpasswd . '-admin');
300
-		return;
301
-	}
302
-
303
-	# remarque : ici on laisse passer les "nouveau" de maniere a leur permettre
304
-	# de devenir redacteur le cas echeant (auth http)... a nettoyer
305
-	// attention, il faut au prealable se connecter a la base (necessaire car utilise par install)
306
-	// TODO: factoriser avec auth/spip qui fait deja ce job et generaliser le test spip_connect_ldap()
307
-
308
-	if (spip_connect_ldap()) {
309
-		return;
310
-	}
311
-	$p1 = ''; // login:htpass pour tous
312
-	$p2 = ''; // login:htpass pour les admins
313
-	$s = sql_select('login, htpass, statut', 'spip_auteurs', sql_in('statut', array('1comite', '0minirezo', 'nouveau')));
314
-	while ($t = sql_fetch($s)) {
315
-		if (strlen($t['login']) and strlen($t['htpass'])) {
316
-			$p1 .= $t['login'] . ':' . $t['htpass'] . "\n";
317
-			if ($t['statut'] == '0minirezo') {
318
-				$p2 .= $t['login'] . ':' . $t['htpass'] . "\n";
319
-			}
320
-		}
321
-	}
322
-	if ($p1) {
323
-		ecrire_fichier($htpasswd, $p1);
324
-		ecrire_fichier($htpasswd . '-admin', $p2);
325
-		spip_log("Ecriture de $htpasswd et $htpasswd-admin");
326
-	}
288
+    $htaccess = _DIR_RESTREINT . _ACCESS_FILE_NAME;
289
+    $htpasswd = _DIR_TMP . _AUTH_USER_FILE;
290
+
291
+    // Cette variable de configuration peut etre posee par un plugin
292
+    // par exemple acces_restreint ;
293
+    // si .htaccess existe, outrepasser spip_meta
294
+    if ((!isset($GLOBALS['meta']['creer_htpasswd'])
295
+            or ($GLOBALS['meta']['creer_htpasswd'] != 'oui'))
296
+        and !@file_exists($htaccess)
297
+    ) {
298
+        spip_unlink($htpasswd);
299
+        spip_unlink($htpasswd . '-admin');
300
+        return;
301
+    }
302
+
303
+    # remarque : ici on laisse passer les "nouveau" de maniere a leur permettre
304
+    # de devenir redacteur le cas echeant (auth http)... a nettoyer
305
+    // attention, il faut au prealable se connecter a la base (necessaire car utilise par install)
306
+    // TODO: factoriser avec auth/spip qui fait deja ce job et generaliser le test spip_connect_ldap()
307
+
308
+    if (spip_connect_ldap()) {
309
+        return;
310
+    }
311
+    $p1 = ''; // login:htpass pour tous
312
+    $p2 = ''; // login:htpass pour les admins
313
+    $s = sql_select('login, htpass, statut', 'spip_auteurs', sql_in('statut', array('1comite', '0minirezo', 'nouveau')));
314
+    while ($t = sql_fetch($s)) {
315
+        if (strlen($t['login']) and strlen($t['htpass'])) {
316
+            $p1 .= $t['login'] . ':' . $t['htpass'] . "\n";
317
+            if ($t['statut'] == '0minirezo') {
318
+                $p2 .= $t['login'] . ':' . $t['htpass'] . "\n";
319
+            }
320
+        }
321
+    }
322
+    if ($p1) {
323
+        ecrire_fichier($htpasswd, $p1);
324
+        ecrire_fichier($htpasswd . '-admin', $p2);
325
+        spip_log("Ecriture de $htpasswd et $htpasswd-admin");
326
+    }
327 327
 }
328 328
 
329 329
 /**
@@ -339,9 +339,9 @@  discard block
 block discarded – undo
339 339
  *  La chaîne hachée si fonction crypt présente, rien sinon.
340 340
  */
341 341
 function generer_htpass($pass) {
342
-	if (function_exists('crypt')) {
343
-		return crypt($pass, $GLOBALS['htsalt']);
344
-	}
342
+    if (function_exists('crypt')) {
343
+        return crypt($pass, $GLOBALS['htsalt']);
344
+    }
345 345
 }
346 346
 
347 347
 /**
@@ -354,14 +354,14 @@  discard block
 block discarded – undo
354 354
  * @return boolean
355 355
  */
356 356
 function verifier_htaccess($rep, $force = false) {
357
-	$htaccess = rtrim($rep, '/') . '/' . _ACCESS_FILE_NAME;
358
-	if (((@file_exists($htaccess)) or defined('_TEST_DIRS')) and !$force) {
359
-		return true;
360
-	}
361
-
362
-	// directive deny compatible Apache 2.0+
363
-	$deny =
364
-		'# Deny all requests from Apache 2.4+.
357
+    $htaccess = rtrim($rep, '/') . '/' . _ACCESS_FILE_NAME;
358
+    if (((@file_exists($htaccess)) or defined('_TEST_DIRS')) and !$force) {
359
+        return true;
360
+    }
361
+
362
+    // directive deny compatible Apache 2.0+
363
+    $deny =
364
+        '# Deny all requests from Apache 2.4+.
365 365
 <IfModule mod_authz_core.c>
366 366
   Require all denied
367 367
 </IfModule>
@@ -370,32 +370,32 @@  discard block
 block discarded – undo
370 370
   Deny from all
371 371
 </IfModule>
372 372
 ';
373
-	// support des vieilles versions Apache 1.x mais uniquement si elles l'annoncent (pas en mode PROD)
374
-	if (function_exists('apache_get_version')
375
-		and $v = apache_get_version()
376
-		and strncmp($v, 'Apache/1.', 9) == 0) {
377
-		$deny = "deny from all\n";
378
-	}
379
-
380
-	if ($ht = @fopen($htaccess, 'w')) {
381
-		fputs($ht, $deny);
382
-		fclose($ht);
383
-		@chmod($htaccess, _SPIP_CHMOD & 0666);
384
-		$t = rtrim($rep, '/') . '/.ok';
385
-		if ($ht = @fopen($t, 'w')) {
386
-			@fclose($ht);
387
-			include_spip('inc/distant');
388
-			$t = substr($t, strlen(_DIR_RACINE));
389
-			$t = url_de_base() . $t;
390
-			$ht = recuperer_lapage($t, false, 'HEAD', 0);
391
-			// htaccess inoperant si on a recupere des entetes HTTP
392
-			// (ignorer la reussite si connexion par fopen)
393
-			$ht = !(isset($ht[0]) and $ht[0]);
394
-		}
395
-	}
396
-	spip_log("Creation de $htaccess " . ($ht ? ' reussie' : ' manquee'));
397
-
398
-	return $ht;
373
+    // support des vieilles versions Apache 1.x mais uniquement si elles l'annoncent (pas en mode PROD)
374
+    if (function_exists('apache_get_version')
375
+        and $v = apache_get_version()
376
+        and strncmp($v, 'Apache/1.', 9) == 0) {
377
+        $deny = "deny from all\n";
378
+    }
379
+
380
+    if ($ht = @fopen($htaccess, 'w')) {
381
+        fputs($ht, $deny);
382
+        fclose($ht);
383
+        @chmod($htaccess, _SPIP_CHMOD & 0666);
384
+        $t = rtrim($rep, '/') . '/.ok';
385
+        if ($ht = @fopen($t, 'w')) {
386
+            @fclose($ht);
387
+            include_spip('inc/distant');
388
+            $t = substr($t, strlen(_DIR_RACINE));
389
+            $t = url_de_base() . $t;
390
+            $ht = recuperer_lapage($t, false, 'HEAD', 0);
391
+            // htaccess inoperant si on a recupere des entetes HTTP
392
+            // (ignorer la reussite si connexion par fopen)
393
+            $ht = !(isset($ht[0]) and $ht[0]);
394
+        }
395
+    }
396
+    spip_log("Creation de $htaccess " . ($ht ? ' reussie' : ' manquee'));
397
+
398
+    return $ht;
399 399
 }
400 400
 
401 401
 /**
@@ -413,22 +413,22 @@  discard block
 block discarded – undo
413 413
  *         Valeur de la configuration `creer_htaccess`
414 414
  */
415 415
 function gerer_htaccess() {
416
-	// Cette variable de configuration peut etre posee par un plugin
417
-	// par exemple acces_restreint
418
-	$f = (isset($GLOBALS['meta']['creer_htaccess']) and ($GLOBALS['meta']['creer_htaccess'] === 'oui'));
419
-	$dirs = sql_allfetsel('extension', 'spip_types_documents');
420
-	$dirs[] = array('extension' => 'distant');
421
-	foreach ($dirs as $e) {
422
-		if (is_dir($dir = _DIR_IMG . $e['extension'])) {
423
-			if ($f) {
424
-				verifier_htaccess($dir);
425
-			} else {
426
-				spip_unlink($dir . '/' . _ACCESS_FILE_NAME);
427
-			}
428
-		}
429
-	}
430
-
431
-	return isset($GLOBALS['meta']['creer_htaccess']) ? $GLOBALS['meta']['creer_htaccess'] : '';
416
+    // Cette variable de configuration peut etre posee par un plugin
417
+    // par exemple acces_restreint
418
+    $f = (isset($GLOBALS['meta']['creer_htaccess']) and ($GLOBALS['meta']['creer_htaccess'] === 'oui'));
419
+    $dirs = sql_allfetsel('extension', 'spip_types_documents');
420
+    $dirs[] = array('extension' => 'distant');
421
+    foreach ($dirs as $e) {
422
+        if (is_dir($dir = _DIR_IMG . $e['extension'])) {
423
+            if ($f) {
424
+                verifier_htaccess($dir);
425
+            } else {
426
+                spip_unlink($dir . '/' . _ACCESS_FILE_NAME);
427
+            }
428
+        }
429
+    }
430
+
431
+    return isset($GLOBALS['meta']['creer_htaccess']) ? $GLOBALS['meta']['creer_htaccess'] : '';
432 432
 }
433 433
 
434 434
 initialiser_sel();
Please login to merge, or discard this patch.
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
  *     Mot de passe
32 32
  **/
33 33
 function creer_pass_aleatoire($longueur = 16, $sel = '') {
34
-	$seed = (int)round(((float)microtime() + 1) * time());
34
+	$seed = (int) round(((float) microtime() + 1) * time());
35 35
 
36 36
 	mt_srand($seed);
37 37
 	srand($seed);
@@ -43,9 +43,9 @@  discard block
 block discarded – undo
43 43
 			if (!$s) {
44 44
 				$s = rand();
45 45
 			}
46
-			$s = substr(md5(uniqid($s) . $sel), 0, 16);
46
+			$s = substr(md5(uniqid($s).$sel), 0, 16);
47 47
 		}
48
-		$r = unpack('Cr', pack('H2', $s . $s));
48
+		$r = unpack('Cr', pack('H2', $s.$s));
49 49
 		$x = $r['r'] & 63;
50 50
 		if ($x < 10) {
51 51
 			$x = chr($x + 48);
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
 	static $seeded;
84 84
 
85 85
 	if (!$seeded) {
86
-		$seed = (int)round(((float)microtime() + 1) * time());
86
+		$seed = (int) round(((float) microtime() + 1) * time());
87 87
 		mt_srand($seed);
88 88
 		srand($seed);
89 89
 		$seeded = true;
@@ -192,9 +192,9 @@  discard block
 block discarded – undo
192 192
 	foreach ($args as $val => $var) {
193 193
 		if ($var) {
194 194
 			if ($val <> 'statut') {
195
-				$a .= ':' . $val . '-' . $var;
195
+				$a .= ':'.$val.'-'.$var;
196 196
 			}
197
-			$b .= $val . '=' . $var . '&';
197
+			$b .= $val.'='.$var.'&';
198 198
 		}
199 199
 	}
200 200
 	$a = substr($a, 1);
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
  *     Clé
225 225
  **/
226 226
 function afficher_low_sec($id_auteur, $action = '') {
227
-	return substr(md5($action . low_sec($id_auteur)), 0, 8);
227
+	return substr(md5($action.low_sec($id_auteur)), 0, 8);
228 228
 }
229 229
 
230 230
 /**
@@ -265,7 +265,7 @@  discard block
 block discarded – undo
265 265
  */
266 266
 function initialiser_sel() {
267 267
 	if (CRYPT_MD5) {
268
-		$GLOBALS['htsalt'] = '$1$' . creer_pass_aleatoire();
268
+		$GLOBALS['htsalt'] = '$1$'.creer_pass_aleatoire();
269 269
 	} else {
270 270
 		return '';
271 271
 	}
@@ -285,8 +285,8 @@  discard block
 block discarded – undo
285 285
  *     - void sinon.
286 286
  **/
287 287
 function ecrire_acces() {
288
-	$htaccess = _DIR_RESTREINT . _ACCESS_FILE_NAME;
289
-	$htpasswd = _DIR_TMP . _AUTH_USER_FILE;
288
+	$htaccess = _DIR_RESTREINT._ACCESS_FILE_NAME;
289
+	$htpasswd = _DIR_TMP._AUTH_USER_FILE;
290 290
 
291 291
 	// Cette variable de configuration peut etre posee par un plugin
292 292
 	// par exemple acces_restreint ;
@@ -296,7 +296,7 @@  discard block
 block discarded – undo
296 296
 		and !@file_exists($htaccess)
297 297
 	) {
298 298
 		spip_unlink($htpasswd);
299
-		spip_unlink($htpasswd . '-admin');
299
+		spip_unlink($htpasswd.'-admin');
300 300
 		return;
301 301
 	}
302 302
 
@@ -313,15 +313,15 @@  discard block
 block discarded – undo
313 313
 	$s = sql_select('login, htpass, statut', 'spip_auteurs', sql_in('statut', array('1comite', '0minirezo', 'nouveau')));
314 314
 	while ($t = sql_fetch($s)) {
315 315
 		if (strlen($t['login']) and strlen($t['htpass'])) {
316
-			$p1 .= $t['login'] . ':' . $t['htpass'] . "\n";
316
+			$p1 .= $t['login'].':'.$t['htpass']."\n";
317 317
 			if ($t['statut'] == '0minirezo') {
318
-				$p2 .= $t['login'] . ':' . $t['htpass'] . "\n";
318
+				$p2 .= $t['login'].':'.$t['htpass']."\n";
319 319
 			}
320 320
 		}
321 321
 	}
322 322
 	if ($p1) {
323 323
 		ecrire_fichier($htpasswd, $p1);
324
-		ecrire_fichier($htpasswd . '-admin', $p2);
324
+		ecrire_fichier($htpasswd.'-admin', $p2);
325 325
 		spip_log("Ecriture de $htpasswd et $htpasswd-admin");
326 326
 	}
327 327
 }
@@ -354,7 +354,7 @@  discard block
 block discarded – undo
354 354
  * @return boolean
355 355
  */
356 356
 function verifier_htaccess($rep, $force = false) {
357
-	$htaccess = rtrim($rep, '/') . '/' . _ACCESS_FILE_NAME;
357
+	$htaccess = rtrim($rep, '/').'/'._ACCESS_FILE_NAME;
358 358
 	if (((@file_exists($htaccess)) or defined('_TEST_DIRS')) and !$force) {
359 359
 		return true;
360 360
 	}
@@ -381,19 +381,19 @@  discard block
 block discarded – undo
381 381
 		fputs($ht, $deny);
382 382
 		fclose($ht);
383 383
 		@chmod($htaccess, _SPIP_CHMOD & 0666);
384
-		$t = rtrim($rep, '/') . '/.ok';
384
+		$t = rtrim($rep, '/').'/.ok';
385 385
 		if ($ht = @fopen($t, 'w')) {
386 386
 			@fclose($ht);
387 387
 			include_spip('inc/distant');
388 388
 			$t = substr($t, strlen(_DIR_RACINE));
389
-			$t = url_de_base() . $t;
389
+			$t = url_de_base().$t;
390 390
 			$ht = recuperer_lapage($t, false, 'HEAD', 0);
391 391
 			// htaccess inoperant si on a recupere des entetes HTTP
392 392
 			// (ignorer la reussite si connexion par fopen)
393 393
 			$ht = !(isset($ht[0]) and $ht[0]);
394 394
 		}
395 395
 	}
396
-	spip_log("Creation de $htaccess " . ($ht ? ' reussie' : ' manquee'));
396
+	spip_log("Creation de $htaccess ".($ht ? ' reussie' : ' manquee'));
397 397
 
398 398
 	return $ht;
399 399
 }
@@ -419,11 +419,11 @@  discard block
 block discarded – undo
419 419
 	$dirs = sql_allfetsel('extension', 'spip_types_documents');
420 420
 	$dirs[] = array('extension' => 'distant');
421 421
 	foreach ($dirs as $e) {
422
-		if (is_dir($dir = _DIR_IMG . $e['extension'])) {
422
+		if (is_dir($dir = _DIR_IMG.$e['extension'])) {
423 423
 			if ($f) {
424 424
 				verifier_htaccess($dir);
425 425
 			} else {
426
-				spip_unlink($dir . '/' . _ACCESS_FILE_NAME);
426
+				spip_unlink($dir.'/'._ACCESS_FILE_NAME);
427 427
 			}
428 428
 		}
429 429
 	}
Please login to merge, or discard this patch.
ecrire/inc/actions.php 3 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -35,11 +35,11 @@  discard block
 block discarded – undo
35 35
  *     - -1 : renvoyer action, arg et hash sous forme de array()
36 36
  *     - true ou false : renvoyer une url, avec `&amp;` (false) ou `&` (true)
37 37
  *     - string : renvoyer un formulaire
38
- * @param string|int $att
38
+ * @param string $att
39 39
  *     - id_auteur pour lequel générer l'action en mode url ou array()
40 40
  *     - attributs du formulaire en mode formulaire
41 41
  * @param bool $public
42
- * @return array|string
42
+ * @return string
43 43
  *     URL, code HTML du formulaire ou tableau (action, arg, hash)
44 44
  */
45 45
 function generer_action_auteur($action, $arg, $redirect = '', $mode = false, $att = '', $public = false) {
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
  *     que l'on peut récupérer dans une fonction d'action par `_request('redirect')`
67 67
  * @param string $gra
68 68
  *     Arguments transmis au script exec de retour `arg1=yy&arg2=zz`
69
- * @param bool|string|int $mode
69
+ * @param boolean $mode
70 70
  *     - -1 : renvoyer action, arg et hash sous forme de array()
71 71
  *     - true ou false : renvoyer une url, avec `&amp;` (false) ou `&` (true)
72 72
  *     - string : renvoyer un formulaire
Please login to merge, or discard this patch.
Indentation   +25 added lines, -25 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
 /**
@@ -43,9 +43,9 @@  discard block
 block discarded – undo
43 43
  *     URL, code HTML du formulaire ou tableau (action, arg, hash)
44 44
  */
45 45
 function generer_action_auteur($action, $arg, $redirect = '', $mode = false, $att = '', $public = false) {
46
-	$securiser_action = charger_fonction('securiser_action', 'inc');
46
+    $securiser_action = charger_fonction('securiser_action', 'inc');
47 47
 
48
-	return $securiser_action($action, $arg, $redirect, $mode, $att, $public);
48
+    return $securiser_action($action, $arg, $redirect, $mode, $att, $public);
49 49
 }
50 50
 
51 51
 /**
@@ -78,9 +78,9 @@  discard block
 block discarded – undo
78 78
  *     Code HTML du formulaire
79 79
  */
80 80
 function redirige_action_auteur($action, $arg, $ret, $gra = '', $mode = false, $atts = '', $public = false) {
81
-	$r = ($public ? _DIR_RESTREINT_ABS : _DIR_RESTREINT) . generer_url_ecrire($ret, $gra, true, true);
81
+    $r = ($public ? _DIR_RESTREINT_ABS : _DIR_RESTREINT) . generer_url_ecrire($ret, $gra, true, true);
82 82
 
83
-	return generer_action_auteur($action, $arg, $r, $mode, $atts, $public);
83
+    return generer_action_auteur($action, $arg, $r, $mode, $atts, $public);
84 84
 }
85 85
 
86 86
 /**
@@ -105,9 +105,9 @@  discard block
 block discarded – undo
105 105
  *     URL, code HTML du formulaire ou tableau (action, arg, hash)
106 106
  */
107 107
 function redirige_action_post($action, $arg, $ret, $gra, $corps, $att = '') {
108
-	$r = _DIR_RESTREINT . generer_url_ecrire($ret, $gra, false, true);
108
+    $r = _DIR_RESTREINT . generer_url_ecrire($ret, $gra, false, true);
109 109
 
110
-	return generer_action_auteur($action, $arg, $r, $corps, $att . " method='post'");
110
+    return generer_action_auteur($action, $arg, $r, $corps, $att . " method='post'");
111 111
 }
112 112
 
113 113
 
@@ -122,25 +122,25 @@  discard block
 block discarded – undo
122 122
  *   passer "text/html" comme $content_type
123 123
  */
124 124
 function ajax_retour($corps, $content_type = null) {
125
-	$xml = false;
126
-	if (is_null($content_type) or $content_type === true) {
127
-		$xml = true;
128
-		$content_type = 'text/html';
129
-	} elseif (!$content_type or !is_string($content_type) or strpos($content_type, '/') === false) {
130
-		$content_type = 'text/html';
131
-	}
125
+    $xml = false;
126
+    if (is_null($content_type) or $content_type === true) {
127
+        $xml = true;
128
+        $content_type = 'text/html';
129
+    } elseif (!$content_type or !is_string($content_type) or strpos($content_type, '/') === false) {
130
+        $content_type = 'text/html';
131
+    }
132 132
 
133
-	$e = '';
134
-	if (isset($_COOKIE['spip_admin'])
135
-		and ((_request('var_mode') == 'debug') or !empty($GLOBALS['tableau_des_temps']))
136
-	) {
137
-		$e = erreur_squelette();
138
-	}
133
+    $e = '';
134
+    if (isset($_COOKIE['spip_admin'])
135
+        and ((_request('var_mode') == 'debug') or !empty($GLOBALS['tableau_des_temps']))
136
+    ) {
137
+        $e = erreur_squelette();
138
+    }
139 139
 
140
-	$c = $GLOBALS['meta']['charset'];
141
-	header('Content-Type: ' . $content_type . '; charset=' . $c);
142
-	$debut = (($xml and strlen(trim($corps))) ? '<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n" : '');
143
-	$fin = '';
140
+    $c = $GLOBALS['meta']['charset'];
141
+    header('Content-Type: ' . $content_type . '; charset=' . $c);
142
+    $debut = (($xml and strlen(trim($corps))) ? '<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n" : '');
143
+    $fin = '';
144 144
 
145
-	echo $debut, $corps, $fin, $e;
145
+    echo $debut, $corps, $fin, $e;
146 146
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
  *     Code HTML du formulaire
79 79
  */
80 80
 function redirige_action_auteur($action, $arg, $ret, $gra = '', $mode = false, $atts = '', $public = false) {
81
-	$r = ($public ? _DIR_RESTREINT_ABS : _DIR_RESTREINT) . generer_url_ecrire($ret, $gra, true, true);
81
+	$r = ($public ? _DIR_RESTREINT_ABS : _DIR_RESTREINT).generer_url_ecrire($ret, $gra, true, true);
82 82
 
83 83
 	return generer_action_auteur($action, $arg, $r, $mode, $atts, $public);
84 84
 }
@@ -105,9 +105,9 @@  discard block
 block discarded – undo
105 105
  *     URL, code HTML du formulaire ou tableau (action, arg, hash)
106 106
  */
107 107
 function redirige_action_post($action, $arg, $ret, $gra, $corps, $att = '') {
108
-	$r = _DIR_RESTREINT . generer_url_ecrire($ret, $gra, false, true);
108
+	$r = _DIR_RESTREINT.generer_url_ecrire($ret, $gra, false, true);
109 109
 
110
-	return generer_action_auteur($action, $arg, $r, $corps, $att . " method='post'");
110
+	return generer_action_auteur($action, $arg, $r, $corps, $att." method='post'");
111 111
 }
112 112
 
113 113
 
@@ -138,8 +138,8 @@  discard block
 block discarded – undo
138 138
 	}
139 139
 
140 140
 	$c = $GLOBALS['meta']['charset'];
141
-	header('Content-Type: ' . $content_type . '; charset=' . $c);
142
-	$debut = (($xml and strlen(trim($corps))) ? '<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n" : '');
141
+	header('Content-Type: '.$content_type.'; charset='.$c);
142
+	$debut = (($xml and strlen(trim($corps))) ? '<'."?xml version='1.0' encoding='".$c."'?".">\n" : '');
143 143
 	$fin = '';
144 144
 
145 145
 	echo $debut, $corps, $fin, $e;
Please login to merge, or discard this patch.