Completed
Pull Request — master (#40)
by
unknown
04:13
created
ecrire/req/mysql.php 4 patches
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -337,8 +337,8 @@  discard block
 block discarded – undo
337 337
  * @param string|array $select Champs sélectionnés
338 338
  * @param string|array $from Tables sélectionnées
339 339
  * @param string|array $where Contraintes
340
- * @param string|array $groupby Regroupements
341
- * @param string|array $orderby Tris
340
+ * @param string $groupby Regroupements
341
+ * @param string $orderby Tris
342 342
  * @param string $limit Limites de résultats
343 343
  * @param string|array $having Contraintes posts sélections
344 344
  * @param string $serveur Nom de la connexion
@@ -970,7 +970,7 @@  discard block
 block discarded – undo
970 970
  * @param int $row_number Position. Déplacer le pointeur à cette ligne
971 971
  * @param string $serveur Nom de la connexion
972 972
  * @param bool $requeter Inutilisé
973
- * @return bool True si déplacement réussi, false sinon.
973
+ * @return boolean|null True si déplacement réussi, false sinon.
974 974
  **/
975 975
 function spip_mysql_seek($r, $row_number, $serveur = '', $requeter = true) {
976 976
 	if ($r and mysqli_num_rows($r)) {
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -50,11 +50,9 @@
 block discarded – undo
50 50
 		$port and !is_numeric($socket = $port)
51 51
 		and (!$host or $host=='localhost')) {
52 52
 		$link = @mysqli_connect($host, $login, $pass, '', null, $socket);
53
-	}
54
-	elseif ($port) {
53
+	} elseif ($port) {
55 54
 		$link = @mysqli_connect($host, $login, $pass, '', $port);
56
-	}
57
-	else {
55
+	} else {
58 56
 		$link = @mysqli_connect($host, $login, $pass);
59 57
 	}
60 58
 
Please login to merge, or discard this patch.
Indentation   +798 added lines, -798 removed lines patch added patch discarded remove patch
@@ -20,11 +20,11 @@  discard block
 block discarded – undo
20 20
  */
21 21
 
22 22
 if (!defined('_ECRIRE_INC_VERSION')) {
23
-	return;
23
+    return;
24 24
 }
25 25
 
26 26
 if (!defined('_MYSQL_NOPLANES')) {
27
-	define('_MYSQL_NOPLANES', true);
27
+    define('_MYSQL_NOPLANES', true);
28 28
 }
29 29
 
30 30
 /**
@@ -41,104 +41,104 @@  discard block
 block discarded – undo
41 41
  *     - tableau décrivant la connexion sinon
42 42
  */
43 43
 function req_mysql_dist($host, $port, $login, $pass, $db = '', $prefixe = '') {
44
-	if (!extension_loaded('mysqli')) {
45
-		return false;
46
-	}
47
-
48
-	// si port est fourni mais pas host, c'est un socket -> compat avec vieille syntaxe de mysql_connect() et anciens fichiers connect.php
49
-	if (
50
-		$port and !is_numeric($socket = $port)
51
-		and (!$host or $host=='localhost')) {
52
-		$link = @mysqli_connect($host, $login, $pass, '', null, $socket);
53
-	}
54
-	elseif ($port) {
55
-		$link = @mysqli_connect($host, $login, $pass, '', $port);
56
-	}
57
-	else {
58
-		$link = @mysqli_connect($host, $login, $pass);
59
-	}
60
-
61
-	if (!$link) {
62
-		spip_log('Echec mysqli_connect. Erreur : ' . mysqli_connect_error(), 'mysql.' . _LOG_HS);
63
-
64
-		return false;
65
-	}
66
-	$last = '';
67
-	if (!$db) {
68
-		$ok = $link;
69
-		$db = 'spip';
70
-	} else {
71
-		$ok = mysqli_select_db($link, $db);
72
-		if (defined('_MYSQL_SET_SQL_MODE')
73
-			or defined('_MYSQL_SQL_MODE_TEXT_NOT_NULL') // compatibilite
74
-		) {
75
-			mysqli_query($link, $last = "set sql_mode=''");
76
-		}
77
-	}
78
-
79
-	spip_log("Connexion MySQLi vers $host, base $db, prefixe $prefixe " . ($ok ? "operationnelle" : 'impossible'),
80
-		_LOG_DEBUG);
81
-
82
-	return !$ok ? false : array(
83
-		'db' => $db,
84
-		'last' => $last,
85
-		'prefixe' => $prefixe ? $prefixe : $db,
86
-		'link' => $link,
87
-		'total_requetes' => 0,
88
-	);
44
+    if (!extension_loaded('mysqli')) {
45
+        return false;
46
+    }
47
+
48
+    // si port est fourni mais pas host, c'est un socket -> compat avec vieille syntaxe de mysql_connect() et anciens fichiers connect.php
49
+    if (
50
+        $port and !is_numeric($socket = $port)
51
+        and (!$host or $host=='localhost')) {
52
+        $link = @mysqli_connect($host, $login, $pass, '', null, $socket);
53
+    }
54
+    elseif ($port) {
55
+        $link = @mysqli_connect($host, $login, $pass, '', $port);
56
+    }
57
+    else {
58
+        $link = @mysqli_connect($host, $login, $pass);
59
+    }
60
+
61
+    if (!$link) {
62
+        spip_log('Echec mysqli_connect. Erreur : ' . mysqli_connect_error(), 'mysql.' . _LOG_HS);
63
+
64
+        return false;
65
+    }
66
+    $last = '';
67
+    if (!$db) {
68
+        $ok = $link;
69
+        $db = 'spip';
70
+    } else {
71
+        $ok = mysqli_select_db($link, $db);
72
+        if (defined('_MYSQL_SET_SQL_MODE')
73
+            or defined('_MYSQL_SQL_MODE_TEXT_NOT_NULL') // compatibilite
74
+        ) {
75
+            mysqli_query($link, $last = "set sql_mode=''");
76
+        }
77
+    }
78
+
79
+    spip_log("Connexion MySQLi vers $host, base $db, prefixe $prefixe " . ($ok ? "operationnelle" : 'impossible'),
80
+        _LOG_DEBUG);
81
+
82
+    return !$ok ? false : array(
83
+        'db' => $db,
84
+        'last' => $last,
85
+        'prefixe' => $prefixe ? $prefixe : $db,
86
+        'link' => $link,
87
+        'total_requetes' => 0,
88
+    );
89 89
 }
90 90
 
91 91
 
92 92
 $GLOBALS['spip_mysql_functions_1'] = array(
93
-	'alter' => 'spip_mysql_alter',
94
-	'count' => 'spip_mysql_count',
95
-	'countsel' => 'spip_mysql_countsel',
96
-	'create' => 'spip_mysql_create',
97
-	'create_base' => 'spip_mysql_create_base',
98
-	'create_view' => 'spip_mysql_create_view',
99
-	'date_proche' => 'spip_mysql_date_proche',
100
-	'delete' => 'spip_mysql_delete',
101
-	'drop_table' => 'spip_mysql_drop_table',
102
-	'drop_view' => 'spip_mysql_drop_view',
103
-	'errno' => 'spip_mysql_errno',
104
-	'error' => 'spip_mysql_error',
105
-	'explain' => 'spip_mysql_explain',
106
-	'fetch' => 'spip_mysql_fetch',
107
-	'seek' => 'spip_mysql_seek',
108
-	'free' => 'spip_mysql_free',
109
-	'hex' => 'spip_mysql_hex',
110
-	'in' => 'spip_mysql_in',
111
-	'insert' => 'spip_mysql_insert',
112
-	'insertq' => 'spip_mysql_insertq',
113
-	'insertq_multi' => 'spip_mysql_insertq_multi',
114
-	'listdbs' => 'spip_mysql_listdbs',
115
-	'multi' => 'spip_mysql_multi',
116
-	'optimize' => 'spip_mysql_optimize',
117
-	'query' => 'spip_mysql_query',
118
-	'quote' => 'spip_mysql_quote',
119
-	'replace' => 'spip_mysql_replace',
120
-	'replace_multi' => 'spip_mysql_replace_multi',
121
-	'repair' => 'spip_mysql_repair',
122
-	'select' => 'spip_mysql_select',
123
-	'selectdb' => 'spip_mysql_selectdb',
124
-	'set_charset' => 'spip_mysql_set_charset',
125
-	'get_charset' => 'spip_mysql_get_charset',
126
-	'showbase' => 'spip_mysql_showbase',
127
-	'showtable' => 'spip_mysql_showtable',
128
-	'update' => 'spip_mysql_update',
129
-	'updateq' => 'spip_mysql_updateq',
130
-
131
-	// association de chaque nom http d'un charset aux couples MySQL
132
-	'charsets' => array(
133
-		'cp1250' => array('charset' => 'cp1250', 'collation' => 'cp1250_general_ci'),
134
-		'cp1251' => array('charset' => 'cp1251', 'collation' => 'cp1251_general_ci'),
135
-		'cp1256' => array('charset' => 'cp1256', 'collation' => 'cp1256_general_ci'),
136
-		'iso-8859-1' => array('charset' => 'latin1', 'collation' => 'latin1_swedish_ci'),
93
+    'alter' => 'spip_mysql_alter',
94
+    'count' => 'spip_mysql_count',
95
+    'countsel' => 'spip_mysql_countsel',
96
+    'create' => 'spip_mysql_create',
97
+    'create_base' => 'spip_mysql_create_base',
98
+    'create_view' => 'spip_mysql_create_view',
99
+    'date_proche' => 'spip_mysql_date_proche',
100
+    'delete' => 'spip_mysql_delete',
101
+    'drop_table' => 'spip_mysql_drop_table',
102
+    'drop_view' => 'spip_mysql_drop_view',
103
+    'errno' => 'spip_mysql_errno',
104
+    'error' => 'spip_mysql_error',
105
+    'explain' => 'spip_mysql_explain',
106
+    'fetch' => 'spip_mysql_fetch',
107
+    'seek' => 'spip_mysql_seek',
108
+    'free' => 'spip_mysql_free',
109
+    'hex' => 'spip_mysql_hex',
110
+    'in' => 'spip_mysql_in',
111
+    'insert' => 'spip_mysql_insert',
112
+    'insertq' => 'spip_mysql_insertq',
113
+    'insertq_multi' => 'spip_mysql_insertq_multi',
114
+    'listdbs' => 'spip_mysql_listdbs',
115
+    'multi' => 'spip_mysql_multi',
116
+    'optimize' => 'spip_mysql_optimize',
117
+    'query' => 'spip_mysql_query',
118
+    'quote' => 'spip_mysql_quote',
119
+    'replace' => 'spip_mysql_replace',
120
+    'replace_multi' => 'spip_mysql_replace_multi',
121
+    'repair' => 'spip_mysql_repair',
122
+    'select' => 'spip_mysql_select',
123
+    'selectdb' => 'spip_mysql_selectdb',
124
+    'set_charset' => 'spip_mysql_set_charset',
125
+    'get_charset' => 'spip_mysql_get_charset',
126
+    'showbase' => 'spip_mysql_showbase',
127
+    'showtable' => 'spip_mysql_showtable',
128
+    'update' => 'spip_mysql_update',
129
+    'updateq' => 'spip_mysql_updateq',
130
+
131
+    // association de chaque nom http d'un charset aux couples MySQL
132
+    'charsets' => array(
133
+        'cp1250' => array('charset' => 'cp1250', 'collation' => 'cp1250_general_ci'),
134
+        'cp1251' => array('charset' => 'cp1251', 'collation' => 'cp1251_general_ci'),
135
+        'cp1256' => array('charset' => 'cp1256', 'collation' => 'cp1256_general_ci'),
136
+        'iso-8859-1' => array('charset' => 'latin1', 'collation' => 'latin1_swedish_ci'),
137 137
 //'iso-8859-6'=>array('charset'=>'latin1','collation'=>'latin1_swedish_ci'),
138
-		'iso-8859-9' => array('charset' => 'latin5', 'collation' => 'latin5_turkish_ci'),
138
+        'iso-8859-9' => array('charset' => 'latin5', 'collation' => 'latin5_turkish_ci'),
139 139
 //'iso-8859-15'=>array('charset'=>'latin1','collation'=>'latin1_swedish_ci'),
140
-		'utf-8' => array('charset' => 'utf8', 'collation' => 'utf8_general_ci')
141
-	)
140
+        'utf-8' => array('charset' => 'utf8', 'collation' => 'utf8_general_ci')
141
+    )
142 142
 );
143 143
 
144 144
 
@@ -149,9 +149,9 @@  discard block
 block discarded – undo
149 149
  * @return Object Information de connexion pour mysqli
150 150
  */
151 151
 function _mysql_link($serveur = '') {
152
-	$link = &$GLOBALS['connexions'][$serveur ? $serveur : 0]['link'];
152
+    $link = &$GLOBALS['connexions'][$serveur ? $serveur : 0]['link'];
153 153
 
154
-	return $link;
154
+    return $link;
155 155
 }
156 156
 
157 157
 
@@ -164,10 +164,10 @@  discard block
 block discarded – undo
164 164
  * @return resource       Ressource de résultats pour fetch()
165 165
  */
166 166
 function spip_mysql_set_charset($charset, $serveur = '', $requeter = true) {
167
-	$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
168
-	spip_log("changement de charset sql : " . "SET NAMES " . _q($charset), _LOG_DEBUG);
167
+    $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
168
+    spip_log("changement de charset sql : " . "SET NAMES " . _q($charset), _LOG_DEBUG);
169 169
 
170
-	return mysqli_query($connexion['link'], $connexion['last'] = "SET NAMES " . _q($charset));
170
+    return mysqli_query($connexion['link'], $connexion['last'] = "SET NAMES " . _q($charset));
171 171
 }
172 172
 
173 173
 
@@ -180,11 +180,11 @@  discard block
 block discarded – undo
180 180
  * @return array                Description du charset (son nom est dans 'charset')
181 181
  */
182 182
 function spip_mysql_get_charset($charset = array(), $serveur = '', $requeter = true) {
183
-	$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
184
-	$connexion['last'] = $c = "SHOW CHARACTER SET"
185
-		. (!$charset ? '' : (" LIKE " . _q($charset['charset'])));
183
+    $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
184
+    $connexion['last'] = $c = "SHOW CHARACTER SET"
185
+        . (!$charset ? '' : (" LIKE " . _q($charset['charset'])));
186 186
 
187
-	return spip_mysql_fetch(mysqli_query($connexion['link'], $c), null, $serveur);
187
+    return spip_mysql_fetch(mysqli_query($connexion['link'], $c), null, $serveur);
188 188
 }
189 189
 
190 190
 
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
  * @return Resource        Ressource pour fetch()
200 200
  **/
201 201
 function spip_query_db($query, $serveur = '', $requeter = true) {
202
-	return spip_mysql_query($query, $serveur, $requeter);
202
+    return spip_mysql_query($query, $serveur, $requeter);
203 203
 }
204 204
 
205 205
 
@@ -216,61 +216,61 @@  discard block
 block discarded – undo
216 216
  */
217 217
 function spip_mysql_query($query, $serveur = '', $requeter = true) {
218 218
 
219
-	$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
220
-	$prefixe = $connexion['prefixe'];
221
-	$link = $connexion['link'];
222
-	$db = $connexion['db'];
223
-
224
-	$query = _mysql_traite_query($query, $db, $prefixe);
225
-
226
-	// renvoyer la requete inerte si demandee
227
-	if (!$requeter) {
228
-		return $query;
229
-	}
230
-
231
-	if (isset($_GET['var_profile'])) {
232
-		include_spip('public/tracer');
233
-		$t = trace_query_start();
234
-	} else {
235
-		$t = 0;
236
-	}
237
-
238
-	$connexion['last'] = $query;
239
-	$connexion['total_requetes']++;
240
-
241
-	// ajouter un debug utile dans log/mysql-slow.log ?
242
-	$debug = '';
243
-	if (defined('_DEBUG_SLOW_QUERIES') and _DEBUG_SLOW_QUERIES) {
244
-		if (isset($GLOBALS['debug']['aucasou'])) {
245
-			list(, $id, , $infos) = $GLOBALS['debug']['aucasou'];
246
-			$debug .= "BOUCLE$id @ " . $infos[0] . " | ";
247
-		}
248
-		$debug .= $_SERVER['REQUEST_URI'] . ' + ' . $GLOBALS['ip'];
249
-		$debug = ' /* ' . mysqli_real_escape_string($link, str_replace('*/', '@/', $debug)) . ' */';
250
-	}
251
-
252
-	$r = mysqli_query($link, $query . $debug);
253
-
254
-	//Eviter de propager le GoneAway sur les autres requetes d'un même processus PHP
255
-	if ($e = spip_mysql_errno($serveur)) {  // Log d'un Gone Away
256
-		if ($e == 2006) { //Si Gone Away on relance une connexion vierge
257
-			//Fermer la connexion defaillante
258
-			mysqli_close($connexion['link']);
259
-			unset($GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]);
260
-			//Relancer une connexion vierge
261
-			spip_connect($serveur);
262
-			$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
263
-			$link = $connexion['link'];
264
-			//On retente au cas où
265
-			$r = mysqli_query($link, $query . $debug);
266
-		}
267
-	}
268
-
269
-	// Log de l'erreur eventuelle
270
-	if ($e = spip_mysql_errno($serveur)) {
271
-		$e .= spip_mysql_error($query, $serveur);
272
-	} // et du fautif
273
-	return $t ? trace_query_end($query, $t, $r, $e, $serveur) : $r;
219
+    $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
220
+    $prefixe = $connexion['prefixe'];
221
+    $link = $connexion['link'];
222
+    $db = $connexion['db'];
223
+
224
+    $query = _mysql_traite_query($query, $db, $prefixe);
225
+
226
+    // renvoyer la requete inerte si demandee
227
+    if (!$requeter) {
228
+        return $query;
229
+    }
230
+
231
+    if (isset($_GET['var_profile'])) {
232
+        include_spip('public/tracer');
233
+        $t = trace_query_start();
234
+    } else {
235
+        $t = 0;
236
+    }
237
+
238
+    $connexion['last'] = $query;
239
+    $connexion['total_requetes']++;
240
+
241
+    // ajouter un debug utile dans log/mysql-slow.log ?
242
+    $debug = '';
243
+    if (defined('_DEBUG_SLOW_QUERIES') and _DEBUG_SLOW_QUERIES) {
244
+        if (isset($GLOBALS['debug']['aucasou'])) {
245
+            list(, $id, , $infos) = $GLOBALS['debug']['aucasou'];
246
+            $debug .= "BOUCLE$id @ " . $infos[0] . " | ";
247
+        }
248
+        $debug .= $_SERVER['REQUEST_URI'] . ' + ' . $GLOBALS['ip'];
249
+        $debug = ' /* ' . mysqli_real_escape_string($link, str_replace('*/', '@/', $debug)) . ' */';
250
+    }
251
+
252
+    $r = mysqli_query($link, $query . $debug);
253
+
254
+    //Eviter de propager le GoneAway sur les autres requetes d'un même processus PHP
255
+    if ($e = spip_mysql_errno($serveur)) {  // Log d'un Gone Away
256
+        if ($e == 2006) { //Si Gone Away on relance une connexion vierge
257
+            //Fermer la connexion defaillante
258
+            mysqli_close($connexion['link']);
259
+            unset($GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]);
260
+            //Relancer une connexion vierge
261
+            spip_connect($serveur);
262
+            $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
263
+            $link = $connexion['link'];
264
+            //On retente au cas où
265
+            $r = mysqli_query($link, $query . $debug);
266
+        }
267
+    }
268
+
269
+    // Log de l'erreur eventuelle
270
+    if ($e = spip_mysql_errno($serveur)) {
271
+        $e .= spip_mysql_error($query, $serveur);
272
+    } // et du fautif
273
+    return $t ? trace_query_end($query, $t, $r, $e, $serveur) : $r;
274 274
 }
275 275
 
276 276
 /**
@@ -285,12 +285,12 @@  discard block
 block discarded – undo
285 285
  *     - array  : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
286 286
  */
287 287
 function spip_mysql_alter($query, $serveur = '', $requeter = true) {
288
-	// ici on supprime les ` entourant le nom de table pour permettre
289
-	// la transposition du prefixe, compte tenu que les plugins ont la mauvaise habitude
290
-	// d'utiliser ceux-ci, copie-colle de phpmyadmin
291
-	$query = preg_replace(",^TABLE\s*`([^`]*)`,i", "TABLE \\1", $query);
288
+    // ici on supprime les ` entourant le nom de table pour permettre
289
+    // la transposition du prefixe, compte tenu que les plugins ont la mauvaise habitude
290
+    // d'utiliser ceux-ci, copie-colle de phpmyadmin
291
+    $query = preg_replace(",^TABLE\s*`([^`]*)`,i", "TABLE \\1", $query);
292 292
 
293
-	return spip_mysql_query("ALTER " . $query, $serveur, $requeter); # i.e. que PG se debrouille
293
+    return spip_mysql_query("ALTER " . $query, $serveur, $requeter); # i.e. que PG se debrouille
294 294
 }
295 295
 
296 296
 
@@ -303,9 +303,9 @@  discard block
 block discarded – undo
303 303
  * @return bool            Toujours true
304 304
  */
305 305
 function spip_mysql_optimize($table, $serveur = '', $requeter = true) {
306
-	spip_mysql_query("OPTIMIZE TABLE " . $table);
306
+    spip_mysql_query("OPTIMIZE TABLE " . $table);
307 307
 
308
-	return true;
308
+    return true;
309 309
 }
310 310
 
311 311
 
@@ -318,18 +318,18 @@  discard block
 block discarded – undo
318 318
  * @return array           Tableau de l'explication
319 319
  */
320 320
 function spip_mysql_explain($query, $serveur = '', $requeter = true) {
321
-	if (strpos(ltrim($query), 'SELECT') !== 0) {
322
-		return array();
323
-	}
324
-	$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
325
-	$prefixe = $connexion['prefixe'];
326
-	$link = $connexion['link'];
327
-	$db = $connexion['db'];
328
-
329
-	$query = 'EXPLAIN ' . _mysql_traite_query($query, $db, $prefixe);
330
-	$r = mysqli_query($link, $query);
331
-
332
-	return spip_mysql_fetch($r, null, $serveur);
321
+    if (strpos(ltrim($query), 'SELECT') !== 0) {
322
+        return array();
323
+    }
324
+    $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
325
+    $prefixe = $connexion['prefixe'];
326
+    $link = $connexion['link'];
327
+    $db = $connexion['db'];
328
+
329
+    $query = 'EXPLAIN ' . _mysql_traite_query($query, $db, $prefixe);
330
+    $r = mysqli_query($link, $query);
331
+
332
+    return spip_mysql_fetch($r, null, $serveur);
333 333
 }
334 334
 
335 335
 
@@ -358,35 +358,35 @@  discard block
 block discarded – undo
358 358
  *     - array  : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
359 359
  */
360 360
 function spip_mysql_select(
361
-	$select,
362
-	$from,
363
-	$where = '',
364
-	$groupby = '',
365
-	$orderby = '',
366
-	$limit = '',
367
-	$having = '',
368
-	$serveur = '',
369
-	$requeter = true
361
+    $select,
362
+    $from,
363
+    $where = '',
364
+    $groupby = '',
365
+    $orderby = '',
366
+    $limit = '',
367
+    $having = '',
368
+    $serveur = '',
369
+    $requeter = true
370 370
 ) {
371 371
 
372 372
 
373
-	$from = (!is_array($from) ? $from : spip_mysql_select_as($from));
374
-	$query =
375
-		calculer_mysql_expression('SELECT', $select, ', ')
376
-		. calculer_mysql_expression('FROM', $from, ', ')
377
-		. calculer_mysql_expression('WHERE', $where)
378
-		. calculer_mysql_expression('GROUP BY', $groupby, ',')
379
-		. calculer_mysql_expression('HAVING', $having)
380
-		. ($orderby ? ("\nORDER BY " . spip_mysql_order($orderby)) : '')
381
-		. ($limit ? "\nLIMIT $limit" : '');
373
+    $from = (!is_array($from) ? $from : spip_mysql_select_as($from));
374
+    $query =
375
+        calculer_mysql_expression('SELECT', $select, ', ')
376
+        . calculer_mysql_expression('FROM', $from, ', ')
377
+        . calculer_mysql_expression('WHERE', $where)
378
+        . calculer_mysql_expression('GROUP BY', $groupby, ',')
379
+        . calculer_mysql_expression('HAVING', $having)
380
+        . ($orderby ? ("\nORDER BY " . spip_mysql_order($orderby)) : '')
381
+        . ($limit ? "\nLIMIT $limit" : '');
382 382
 
383
-	// renvoyer la requete inerte si demandee
384
-	if ($requeter === false) {
385
-		return $query;
386
-	}
387
-	$r = spip_mysql_query($query, $serveur, $requeter);
383
+    // renvoyer la requete inerte si demandee
384
+    if ($requeter === false) {
385
+        return $query;
386
+    }
387
+    $r = spip_mysql_query($query, $serveur, $requeter);
388 388
 
389
-	return $r ? $r : $query;
389
+    return $r ? $r : $query;
390 390
 }
391 391
 
392 392
 
@@ -403,7 +403,7 @@  discard block
 block discarded – undo
403 403
  * @return string Texte du orderby préparé
404 404
  */
405 405
 function spip_mysql_order($orderby) {
406
-	return (is_array($orderby)) ? join(", ", $orderby) : $orderby;
406
+    return (is_array($orderby)) ? join(", ", $orderby) : $orderby;
407 407
 }
408 408
 
409 409
 
@@ -426,26 +426,26 @@  discard block
 block discarded – undo
426 426
  *     Contrainte pour clause WHERE
427 427
  */
428 428
 function calculer_mysql_where($v) {
429
-	if (!is_array($v)) {
430
-		return $v;
431
-	}
432
-
433
-	$op = array_shift($v);
434
-	if (!($n = count($v))) {
435
-		return $op;
436
-	} else {
437
-		$arg = calculer_mysql_where(array_shift($v));
438
-		if ($n == 1) {
439
-			return "$op($arg)";
440
-		} else {
441
-			$arg2 = calculer_mysql_where(array_shift($v));
442
-			if ($n == 2) {
443
-				return "($arg $op $arg2)";
444
-			} else {
445
-				return "($arg $op ($arg2) : $v[0])";
446
-			}
447
-		}
448
-	}
429
+    if (!is_array($v)) {
430
+        return $v;
431
+    }
432
+
433
+    $op = array_shift($v);
434
+    if (!($n = count($v))) {
435
+        return $op;
436
+    } else {
437
+        $arg = calculer_mysql_where(array_shift($v));
438
+        if ($n == 1) {
439
+            return "$op($arg)";
440
+        } else {
441
+            $arg2 = calculer_mysql_where(array_shift($v));
442
+            if ($n == 2) {
443
+                return "($arg $op $arg2)";
444
+            } else {
445
+                return "($arg $op ($arg2) : $v[0])";
446
+            }
447
+        }
448
+    }
449 449
 }
450 450
 
451 451
 /**
@@ -460,21 +460,21 @@  discard block
 block discarded – undo
460 460
  * @return string            Texte de l'expression, une partie donc, du texte la requête.
461 461
  */
462 462
 function calculer_mysql_expression($expression, $v, $join = 'AND') {
463
-	if (empty($v)) {
464
-		return '';
465
-	}
466
-
467
-	$exp = "\n$expression ";
468
-
469
-	if (!is_array($v)) {
470
-		return $exp . $v;
471
-	} else {
472
-		if (strtoupper($join) === 'AND') {
473
-			return $exp . join("\n\t$join ", array_map('calculer_mysql_where', $v));
474
-		} else {
475
-			return $exp . join($join, $v);
476
-		}
477
-	}
463
+    if (empty($v)) {
464
+        return '';
465
+    }
466
+
467
+    $exp = "\n$expression ";
468
+
469
+    if (!is_array($v)) {
470
+        return $exp . $v;
471
+    } else {
472
+        if (strtoupper($join) === 'AND') {
473
+            return $exp . join("\n\t$join ", array_map('calculer_mysql_where', $v));
474
+        } else {
475
+            return $exp . join($join, $v);
476
+        }
477
+    }
478 478
 }
479 479
 
480 480
 
@@ -485,26 +485,26 @@  discard block
 block discarded – undo
485 485
  * @return string Sélection de colonnes pour une clause SELECT
486 486
  */
487 487
 function spip_mysql_select_as($args) {
488
-	$res = '';
489
-	foreach ($args as $k => $v) {
490
-		if (substr($k, -1) == '@') {
491
-			// c'est une jointure qui se refere au from precedent
492
-			// pas de virgule
493
-			$res .= '  ' . $v;
494
-		} else {
495
-			if (!is_numeric($k)) {
496
-				$p = strpos($v, " ");
497
-				if ($p) {
498
-					$v = substr($v, 0, $p) . " AS `$k`" . substr($v, $p);
499
-				} else {
500
-					$v .= " AS `$k`";
501
-				}
502
-			}
503
-			$res .= ', ' . $v;
504
-		}
505
-	}
506
-
507
-	return substr($res, 2);
488
+    $res = '';
489
+    foreach ($args as $k => $v) {
490
+        if (substr($k, -1) == '@') {
491
+            // c'est une jointure qui se refere au from precedent
492
+            // pas de virgule
493
+            $res .= '  ' . $v;
494
+        } else {
495
+            if (!is_numeric($k)) {
496
+                $p = strpos($v, " ");
497
+                if ($p) {
498
+                    $v = substr($v, 0, $p) . " AS `$k`" . substr($v, $p);
499
+                } else {
500
+                    $v .= " AS `$k`";
501
+                }
502
+            }
503
+            $res .= ', ' . $v;
504
+        }
505
+    }
506
+
507
+    return substr($res, 2);
508 508
 }
509 509
 
510 510
 
@@ -528,42 +528,42 @@  discard block
 block discarded – undo
528 528
  */
529 529
 function _mysql_traite_query($query, $db = '', $prefixe = '') {
530 530
 
531
-	if ($GLOBALS['mysql_rappel_nom_base'] and $db) {
532
-		$pref = '`' . $db . '`.';
533
-	} else {
534
-		$pref = '';
535
-	}
536
-
537
-	if ($prefixe) {
538
-		$pref .= $prefixe . "_";
539
-	}
540
-
541
-	if (!preg_match('/\s(SET|VALUES|WHERE|DATABASE)\s/i', $query, $regs)) {
542
-		$suite = '';
543
-	} else {
544
-		$suite = strstr($query, $regs[0]);
545
-		$query = substr($query, 0, -strlen($suite));
546
-		// propager le prefixe en cas de requete imbriquee
547
-		// il faut alors echapper les chaine avant de le faire, pour ne pas risquer de
548
-		// modifier une requete qui est en fait juste du texte dans un champ
549
-		if (stripos($suite, "SELECT") !== false) {
550
-			list($suite, $textes) = query_echappe_textes($suite);
551
-			if (preg_match('/^(.*?)([(]\s*SELECT\b.*)$/si', $suite, $r)) {
552
-				$suite = $r[1] . _mysql_traite_query($r[2], $db, $prefixe);
553
-			}
554
-			$suite = query_reinjecte_textes($suite, $textes);
555
-		}
556
-	}
557
-	$r = preg_replace(_SQL_PREFIXE_TABLE_MYSQL, '\1' . $pref, $query) . $suite;
558
-
559
-	// en option, remplacer les emoji (que mysql ne sait pas gérer) en 💩
560
-	if (defined('_MYSQL_NOPLANES') and _MYSQL_NOPLANES and lire_meta('charset_sql_connexion') == 'utf8') {
561
-		include_spip('inc/charsets');
562
-		$r = utf8_noplanes($r);
563
-	}
564
-
565
-	#spip_log("_mysql_traite_query: " . substr($r,0, 50) . ".... $db, $prefixe", _LOG_DEBUG);
566
-	return $r;
531
+    if ($GLOBALS['mysql_rappel_nom_base'] and $db) {
532
+        $pref = '`' . $db . '`.';
533
+    } else {
534
+        $pref = '';
535
+    }
536
+
537
+    if ($prefixe) {
538
+        $pref .= $prefixe . "_";
539
+    }
540
+
541
+    if (!preg_match('/\s(SET|VALUES|WHERE|DATABASE)\s/i', $query, $regs)) {
542
+        $suite = '';
543
+    } else {
544
+        $suite = strstr($query, $regs[0]);
545
+        $query = substr($query, 0, -strlen($suite));
546
+        // propager le prefixe en cas de requete imbriquee
547
+        // il faut alors echapper les chaine avant de le faire, pour ne pas risquer de
548
+        // modifier une requete qui est en fait juste du texte dans un champ
549
+        if (stripos($suite, "SELECT") !== false) {
550
+            list($suite, $textes) = query_echappe_textes($suite);
551
+            if (preg_match('/^(.*?)([(]\s*SELECT\b.*)$/si', $suite, $r)) {
552
+                $suite = $r[1] . _mysql_traite_query($r[2], $db, $prefixe);
553
+            }
554
+            $suite = query_reinjecte_textes($suite, $textes);
555
+        }
556
+    }
557
+    $r = preg_replace(_SQL_PREFIXE_TABLE_MYSQL, '\1' . $pref, $query) . $suite;
558
+
559
+    // en option, remplacer les emoji (que mysql ne sait pas gérer) en 💩
560
+    if (defined('_MYSQL_NOPLANES') and _MYSQL_NOPLANES and lire_meta('charset_sql_connexion') == 'utf8') {
561
+        include_spip('inc/charsets');
562
+        $r = utf8_noplanes($r);
563
+    }
564
+
565
+    #spip_log("_mysql_traite_query: " . substr($r,0, 50) . ".... $db, $prefixe", _LOG_DEBUG);
566
+    return $r;
567 567
 }
568 568
 
569 569
 /**
@@ -581,13 +581,13 @@  discard block
 block discarded – undo
581 581
  *     - False en cas d'erreur.
582 582
  **/
583 583
 function spip_mysql_selectdb($db, $serveur = '', $requeter = true) {
584
-	$link = _mysql_link($serveur);
585
-	$ok = mysqli_select_db($link, $db);
586
-	if (!$ok) {
587
-		spip_log('Echec mysqli_selectdb. Erreur : ' . mysqli_error($link), 'mysql.' . _LOG_CRITIQUE);
588
-	}
584
+    $link = _mysql_link($serveur);
585
+    $ok = mysqli_select_db($link, $db);
586
+    if (!$ok) {
587
+        spip_log('Echec mysqli_selectdb. Erreur : ' . mysqli_error($link), 'mysql.' . _LOG_CRITIQUE);
588
+    }
589 589
 
590
-	return $ok;
590
+    return $ok;
591 591
 }
592 592
 
593 593
 
@@ -608,14 +608,14 @@  discard block
 block discarded – undo
608 608
  *     Liste de noms de bases de données
609 609
  **/
610 610
 function spip_mysql_listdbs($serveur = '', $requeter = true) {
611
-	$dbs = array();
612
-	if ($res = spip_mysql_query("SHOW DATABASES", $serveur)) {
613
-		while ($row = mysqli_fetch_assoc($res)) {
614
-			$dbs[] = $row['Database'];
615
-		}
616
-	}
617
-
618
-	return $dbs;
611
+    $dbs = array();
612
+    if ($res = spip_mysql_query("SHOW DATABASES", $serveur)) {
613
+        while ($row = mysqli_fetch_assoc($res)) {
614
+            $dbs[] = $row['Database'];
615
+        }
616
+    }
617
+
618
+    return $dbs;
619 619
 }
620 620
 
621 621
 
@@ -638,72 +638,72 @@  discard block
 block discarded – undo
638 638
  *     - true si la requête réussie, false sinon.
639 639
  */
640 640
 function spip_mysql_create(
641
-	$nom,
642
-	$champs,
643
-	$cles,
644
-	$autoinc = false,
645
-	$temporary = false,
646
-	$serveur = '',
647
-	$requeter = true
641
+    $nom,
642
+    $champs,
643
+    $cles,
644
+    $autoinc = false,
645
+    $temporary = false,
646
+    $serveur = '',
647
+    $requeter = true
648 648
 ) {
649 649
 
650
-	$query = '';
651
-	$keys = '';
652
-	$s = '';
653
-	$p = '';
654
-
655
-	// certains plugins declarent les tables  (permet leur inclusion dans le dump)
656
-	// sans les renseigner (laisse le compilo recuperer la description)
657
-	if (!is_array($champs) || !is_array($cles)) {
658
-		return;
659
-	}
660
-
661
-	$res = spip_mysql_query("SELECT version() as v", $serveur);
662
-	if (($row = mysqli_fetch_array($res)) && (version_compare($row['v'], '5.0', '>='))) {
663
-		spip_mysql_query("SET sql_mode=''", $serveur);
664
-	}
665
-
666
-	foreach ($cles as $k => $v) {
667
-		$keys .= "$s\n\t\t$k ($v)";
668
-		if ($k == "PRIMARY KEY") {
669
-			$p = $v;
670
-		}
671
-		$s = ",";
672
-	}
673
-	$s = '';
674
-
675
-	$character_set = "";
676
-	if (@$GLOBALS['meta']['charset_sql_base']) {
677
-		$character_set .= " CHARACTER SET " . $GLOBALS['meta']['charset_sql_base'];
678
-	}
679
-	if (@$GLOBALS['meta']['charset_collation_sql_base']) {
680
-		$character_set .= " COLLATE " . $GLOBALS['meta']['charset_collation_sql_base'];
681
-	}
682
-
683
-	foreach ($champs as $k => $v) {
684
-		$v = _mysql_remplacements_definitions_table($v);
685
-		if (preg_match(',([a-z]*\s*(\(\s*[0-9]*\s*\))?(\s*binary)?),i', $v, $defs)) {
686
-			if (preg_match(',(char|text),i', $defs[1])
687
-				and !preg_match(',(binary|CHARACTER|COLLATE),i', $v)
688
-			) {
689
-				$v = $defs[1] . $character_set . ' ' . substr($v, strlen($defs[1]));
690
-			}
691
-		}
692
-
693
-		$query .= "$s\n\t\t$k $v"
694
-			. (($autoinc && ($p == $k) && preg_match(',\b(big|small|medium)?int\b,i', $v))
695
-				? " auto_increment"
696
-				: ''
697
-			);
698
-		$s = ",";
699
-	}
700
-	$temporary = $temporary ? 'TEMPORARY' : '';
701
-	$q = "CREATE $temporary TABLE IF NOT EXISTS $nom ($query" . ($keys ? ",$keys" : '') . ")"
702
-		. " ENGINE=MyISAM"
703
-		. ($character_set ? " DEFAULT $character_set" : "")
704
-		. "\n";
705
-
706
-	return spip_mysql_query($q, $serveur);
650
+    $query = '';
651
+    $keys = '';
652
+    $s = '';
653
+    $p = '';
654
+
655
+    // certains plugins declarent les tables  (permet leur inclusion dans le dump)
656
+    // sans les renseigner (laisse le compilo recuperer la description)
657
+    if (!is_array($champs) || !is_array($cles)) {
658
+        return;
659
+    }
660
+
661
+    $res = spip_mysql_query("SELECT version() as v", $serveur);
662
+    if (($row = mysqli_fetch_array($res)) && (version_compare($row['v'], '5.0', '>='))) {
663
+        spip_mysql_query("SET sql_mode=''", $serveur);
664
+    }
665
+
666
+    foreach ($cles as $k => $v) {
667
+        $keys .= "$s\n\t\t$k ($v)";
668
+        if ($k == "PRIMARY KEY") {
669
+            $p = $v;
670
+        }
671
+        $s = ",";
672
+    }
673
+    $s = '';
674
+
675
+    $character_set = "";
676
+    if (@$GLOBALS['meta']['charset_sql_base']) {
677
+        $character_set .= " CHARACTER SET " . $GLOBALS['meta']['charset_sql_base'];
678
+    }
679
+    if (@$GLOBALS['meta']['charset_collation_sql_base']) {
680
+        $character_set .= " COLLATE " . $GLOBALS['meta']['charset_collation_sql_base'];
681
+    }
682
+
683
+    foreach ($champs as $k => $v) {
684
+        $v = _mysql_remplacements_definitions_table($v);
685
+        if (preg_match(',([a-z]*\s*(\(\s*[0-9]*\s*\))?(\s*binary)?),i', $v, $defs)) {
686
+            if (preg_match(',(char|text),i', $defs[1])
687
+                and !preg_match(',(binary|CHARACTER|COLLATE),i', $v)
688
+            ) {
689
+                $v = $defs[1] . $character_set . ' ' . substr($v, strlen($defs[1]));
690
+            }
691
+        }
692
+
693
+        $query .= "$s\n\t\t$k $v"
694
+            . (($autoinc && ($p == $k) && preg_match(',\b(big|small|medium)?int\b,i', $v))
695
+                ? " auto_increment"
696
+                : ''
697
+            );
698
+        $s = ",";
699
+    }
700
+    $temporary = $temporary ? 'TEMPORARY' : '';
701
+    $q = "CREATE $temporary TABLE IF NOT EXISTS $nom ($query" . ($keys ? ",$keys" : '') . ")"
702
+        . " ENGINE=MyISAM"
703
+        . ($character_set ? " DEFAULT $character_set" : "")
704
+        . "\n";
705
+
706
+    return spip_mysql_query($q, $serveur);
707 707
 }
708 708
 
709 709
 
@@ -716,17 +716,17 @@  discard block
 block discarded – undo
716 716
  *     Définition SQL adaptée pour MySQL d'un champ de table
717 717
  */
718 718
 function _mysql_remplacements_definitions_table($query) {
719
-	// quelques remplacements
720
-	$num = "(\s*\([0-9]*\))?";
721
-	$enum = "(\s*\([^\)]*\))?";
719
+    // quelques remplacements
720
+    $num = "(\s*\([0-9]*\))?";
721
+    $enum = "(\s*\([^\)]*\))?";
722 722
 
723
-	$remplace = array(
724
-		'/VARCHAR(\s*[^\s\(])/is' => 'VARCHAR(255)\\1',
725
-	);
723
+    $remplace = array(
724
+        '/VARCHAR(\s*[^\s\(])/is' => 'VARCHAR(255)\\1',
725
+    );
726 726
 
727
-	$query = preg_replace(array_keys($remplace), $remplace, $query);
727
+    $query = preg_replace(array_keys($remplace), $remplace, $query);
728 728
 
729
-	return $query;
729
+    return $query;
730 730
 }
731 731
 
732 732
 
@@ -739,7 +739,7 @@  discard block
 block discarded – undo
739 739
  * @return bool true si la base est créee.
740 740
  **/
741 741
 function spip_mysql_create_base($nom, $serveur = '', $requeter = true) {
742
-	return spip_mysql_query("CREATE DATABASE `$nom`", $serveur, $requeter);
742
+    return spip_mysql_query("CREATE DATABASE `$nom`", $serveur, $requeter);
743 743
 }
744 744
 
745 745
 
@@ -760,19 +760,19 @@  discard block
 block discarded – undo
760 760
  *     - string texte de la requête si $requeter vaut false
761 761
  */
762 762
 function spip_mysql_create_view($nom, $query_select, $serveur = '', $requeter = true) {
763
-	if (!$query_select) {
764
-		return false;
765
-	}
766
-	// vue deja presente
767
-	if (sql_showtable($nom, false, $serveur)) {
768
-		spip_log("Echec creation d'une vue sql ($nom) car celle-ci existe deja (serveur:$serveur)", _LOG_ERREUR);
763
+    if (!$query_select) {
764
+        return false;
765
+    }
766
+    // vue deja presente
767
+    if (sql_showtable($nom, false, $serveur)) {
768
+        spip_log("Echec creation d'une vue sql ($nom) car celle-ci existe deja (serveur:$serveur)", _LOG_ERREUR);
769 769
 
770
-		return false;
771
-	}
770
+        return false;
771
+    }
772 772
 
773
-	$query = "CREATE VIEW $nom AS " . $query_select;
773
+    $query = "CREATE VIEW $nom AS " . $query_select;
774 774
 
775
-	return spip_mysql_query($query, $serveur, $requeter);
775
+    return spip_mysql_query($query, $serveur, $requeter);
776 776
 }
777 777
 
778 778
 
@@ -788,11 +788,11 @@  discard block
 block discarded – undo
788 788
  *     - true si la requête a réussie, false sinon
789 789
  */
790 790
 function spip_mysql_drop_table($table, $exist = '', $serveur = '', $requeter = true) {
791
-	if ($exist) {
792
-		$exist = " IF EXISTS";
793
-	}
791
+    if ($exist) {
792
+        $exist = " IF EXISTS";
793
+    }
794 794
 
795
-	return spip_mysql_query("DROP TABLE$exist $table", $serveur, $requeter);
795
+    return spip_mysql_query("DROP TABLE$exist $table", $serveur, $requeter);
796 796
 }
797 797
 
798 798
 /**
@@ -807,11 +807,11 @@  discard block
 block discarded – undo
807 807
  *     - true si la requête a réussie, false sinon
808 808
  */
809 809
 function spip_mysql_drop_view($view, $exist = '', $serveur = '', $requeter = true) {
810
-	if ($exist) {
811
-		$exist = " IF EXISTS";
812
-	}
810
+    if ($exist) {
811
+        $exist = " IF EXISTS";
812
+    }
813 813
 
814
-	return spip_mysql_query("DROP VIEW$exist $view", $serveur, $requeter);
814
+    return spip_mysql_query("DROP VIEW$exist $view", $serveur, $requeter);
815 815
 }
816 816
 
817 817
 /**
@@ -828,7 +828,7 @@  discard block
 block discarded – undo
828 828
  *     Ressource à utiliser avec sql_fetch()
829 829
  **/
830 830
 function spip_mysql_showbase($match, $serveur = '', $requeter = true) {
831
-	return spip_mysql_query("SHOW TABLES LIKE " . _q($match), $serveur, $requeter);
831
+    return spip_mysql_query("SHOW TABLES LIKE " . _q($match), $serveur, $requeter);
832 832
 }
833 833
 
834 834
 /**
@@ -844,7 +844,7 @@  discard block
 block discarded – undo
844 844
  *     - true si la requête a réussie, false sinon
845 845
  */
846 846
 function spip_mysql_repair($table, $serveur = '', $requeter = true) {
847
-	return spip_mysql_query("REPAIR TABLE `$table`", $serveur, $requeter);
847
+    return spip_mysql_query("REPAIR TABLE `$table`", $serveur, $requeter);
848 848
 }
849 849
 
850 850
 
@@ -868,86 +868,86 @@  discard block
 block discarded – undo
868 868
  *     - array description de la table sinon
869 869
  */
870 870
 function spip_mysql_showtable($nom_table, $serveur = '', $requeter = true) {
871
-	$s = spip_mysql_query("SHOW CREATE TABLE `$nom_table`", $serveur, $requeter);
872
-	if (!$s) {
873
-		return '';
874
-	}
875
-	if (!$requeter) {
876
-		return $s;
877
-	}
878
-
879
-	list(, $a) = mysqli_fetch_array($s, MYSQLI_NUM);
880
-	if (preg_match(_MYSQL_RE_SHOW_TABLE, $a, $r)) {
881
-		$desc = $r[1];
882
-		// extraction d'une KEY éventuelle en prenant garde de ne pas
883
-		// relever un champ dont le nom contient KEY (ex. ID_WHISKEY)
884
-		if (preg_match("/^(.*?),([^,]*\sKEY[ (].*)$/s", $desc, $r)) {
885
-			$namedkeys = $r[2];
886
-			$desc = $r[1];
887
-		} else {
888
-			$namedkeys = "";
889
-		}
890
-
891
-		$fields = array();
892
-		foreach (preg_split("/,\s*`/", $desc) as $v) {
893
-			preg_match("/^\s*`?([^`]*)`\s*(.*)/", $v, $r);
894
-			$fields[strtolower($r[1])] = $r[2];
895
-		}
896
-		$keys = array();
897
-
898
-		foreach (preg_split('/\)\s*(,|$)/', $namedkeys) as $v) {
899
-			if (preg_match("/^\s*([^(]*)\(([^(]*(\(\d+\))?)$/", $v, $r)) {
900
-				$k = str_replace("`", '', trim($r[1]));
901
-				$t = strtolower(str_replace("`", '', $r[2]));
902
-				if ($k && !isset($keys[$k])) {
903
-					$keys[$k] = $t;
904
-				} else {
905
-					$keys[] = $t;
906
-				}
907
-			}
908
-		}
909
-		spip_mysql_free($s);
910
-
911
-		return array('field' => $fields, 'key' => $keys);
912
-	}
913
-
914
-	$res = spip_mysql_query("SHOW COLUMNS FROM `$nom_table`", $serveur);
915
-	if ($res) {
916
-		$nfields = array();
917
-		$nkeys = array();
918
-		while ($val = spip_mysql_fetch($res)) {
919
-			$nfields[$val["Field"]] = $val['Type'];
920
-			if ($val['Null'] == 'NO') {
921
-				$nfields[$val["Field"]] .= ' NOT NULL';
922
-			}
923
-			if ($val['Default'] === '0' || $val['Default']) {
924
-				if (preg_match('/[A-Z_]/', $val['Default'])) {
925
-					$nfields[$val["Field"]] .= ' DEFAULT ' . $val['Default'];
926
-				} else {
927
-					$nfields[$val["Field"]] .= " DEFAULT '" . $val['Default'] . "'";
928
-				}
929
-			}
930
-			if ($val['Extra']) {
931
-				$nfields[$val["Field"]] .= ' ' . $val['Extra'];
932
-			}
933
-			if ($val['Key'] == 'PRI') {
934
-				$nkeys['PRIMARY KEY'] = $val["Field"];
935
-			} else {
936
-				if ($val['Key'] == 'MUL') {
937
-					$nkeys['KEY ' . $val["Field"]] = $val["Field"];
938
-				} else {
939
-					if ($val['Key'] == 'UNI') {
940
-						$nkeys['UNIQUE KEY ' . $val["Field"]] = $val["Field"];
941
-					}
942
-				}
943
-			}
944
-		}
945
-		spip_mysql_free($res);
946
-
947
-		return array('field' => $nfields, 'key' => $nkeys);
948
-	}
949
-
950
-	return "";
871
+    $s = spip_mysql_query("SHOW CREATE TABLE `$nom_table`", $serveur, $requeter);
872
+    if (!$s) {
873
+        return '';
874
+    }
875
+    if (!$requeter) {
876
+        return $s;
877
+    }
878
+
879
+    list(, $a) = mysqli_fetch_array($s, MYSQLI_NUM);
880
+    if (preg_match(_MYSQL_RE_SHOW_TABLE, $a, $r)) {
881
+        $desc = $r[1];
882
+        // extraction d'une KEY éventuelle en prenant garde de ne pas
883
+        // relever un champ dont le nom contient KEY (ex. ID_WHISKEY)
884
+        if (preg_match("/^(.*?),([^,]*\sKEY[ (].*)$/s", $desc, $r)) {
885
+            $namedkeys = $r[2];
886
+            $desc = $r[1];
887
+        } else {
888
+            $namedkeys = "";
889
+        }
890
+
891
+        $fields = array();
892
+        foreach (preg_split("/,\s*`/", $desc) as $v) {
893
+            preg_match("/^\s*`?([^`]*)`\s*(.*)/", $v, $r);
894
+            $fields[strtolower($r[1])] = $r[2];
895
+        }
896
+        $keys = array();
897
+
898
+        foreach (preg_split('/\)\s*(,|$)/', $namedkeys) as $v) {
899
+            if (preg_match("/^\s*([^(]*)\(([^(]*(\(\d+\))?)$/", $v, $r)) {
900
+                $k = str_replace("`", '', trim($r[1]));
901
+                $t = strtolower(str_replace("`", '', $r[2]));
902
+                if ($k && !isset($keys[$k])) {
903
+                    $keys[$k] = $t;
904
+                } else {
905
+                    $keys[] = $t;
906
+                }
907
+            }
908
+        }
909
+        spip_mysql_free($s);
910
+
911
+        return array('field' => $fields, 'key' => $keys);
912
+    }
913
+
914
+    $res = spip_mysql_query("SHOW COLUMNS FROM `$nom_table`", $serveur);
915
+    if ($res) {
916
+        $nfields = array();
917
+        $nkeys = array();
918
+        while ($val = spip_mysql_fetch($res)) {
919
+            $nfields[$val["Field"]] = $val['Type'];
920
+            if ($val['Null'] == 'NO') {
921
+                $nfields[$val["Field"]] .= ' NOT NULL';
922
+            }
923
+            if ($val['Default'] === '0' || $val['Default']) {
924
+                if (preg_match('/[A-Z_]/', $val['Default'])) {
925
+                    $nfields[$val["Field"]] .= ' DEFAULT ' . $val['Default'];
926
+                } else {
927
+                    $nfields[$val["Field"]] .= " DEFAULT '" . $val['Default'] . "'";
928
+                }
929
+            }
930
+            if ($val['Extra']) {
931
+                $nfields[$val["Field"]] .= ' ' . $val['Extra'];
932
+            }
933
+            if ($val['Key'] == 'PRI') {
934
+                $nkeys['PRIMARY KEY'] = $val["Field"];
935
+            } else {
936
+                if ($val['Key'] == 'MUL') {
937
+                    $nkeys['KEY ' . $val["Field"]] = $val["Field"];
938
+                } else {
939
+                    if ($val['Key'] == 'UNI') {
940
+                        $nkeys['UNIQUE KEY ' . $val["Field"]] = $val["Field"];
941
+                    }
942
+                }
943
+            }
944
+        }
945
+        spip_mysql_free($res);
946
+
947
+        return array('field' => $nfields, 'key' => $nkeys);
948
+    }
949
+
950
+    return "";
951 951
 }
952 952
 
953 953
 
@@ -963,12 +963,12 @@  discard block
 block discarded – undo
963 963
  * @return array           Ligne de résultat
964 964
  */
965 965
 function spip_mysql_fetch($r, $t = '', $serveur = '', $requeter = true) {
966
-	if (!$t) {
967
-		$t = MYSQLI_ASSOC;
968
-	}
969
-	if ($r) {
970
-		return mysqli_fetch_array($r, $t);
971
-	}
966
+    if (!$t) {
967
+        $t = MYSQLI_ASSOC;
968
+    }
969
+    if ($r) {
970
+        return mysqli_fetch_array($r, $t);
971
+    }
972 972
 }
973 973
 
974 974
 /**
@@ -981,9 +981,9 @@  discard block
 block discarded – undo
981 981
  * @return bool True si déplacement réussi, false sinon.
982 982
  **/
983 983
 function spip_mysql_seek($r, $row_number, $serveur = '', $requeter = true) {
984
-	if ($r and mysqli_num_rows($r)) {
985
-		return mysqli_data_seek($r, $row_number);
986
-	}
984
+    if ($r and mysqli_num_rows($r)) {
985
+        return mysqli_data_seek($r, $row_number);
986
+    }
987 987
 }
988 988
 
989 989
 
@@ -1001,26 +1001,26 @@  discard block
 block discarded – undo
1001 1001
  *     - int Nombre de lignes (0 si la requête n'a pas réussie)
1002 1002
  **/
1003 1003
 function spip_mysql_countsel(
1004
-	$from = array(),
1005
-	$where = array(),
1006
-	$groupby = '',
1007
-	$having = array(),
1008
-	$serveur = '',
1009
-	$requeter = true
1004
+    $from = array(),
1005
+    $where = array(),
1006
+    $groupby = '',
1007
+    $having = array(),
1008
+    $serveur = '',
1009
+    $requeter = true
1010 1010
 ) {
1011
-	$c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby)));
1012
-
1013
-	$r = spip_mysql_select("COUNT($c)", $from, $where, '', '', '', $having, $serveur, $requeter);
1014
-	if (!$requeter) {
1015
-		return $r;
1016
-	}
1017
-	if (!$r instanceof mysqli_result) {
1018
-		return 0;
1019
-	}
1020
-	list($c) = mysqli_fetch_array($r, MYSQLI_NUM);
1021
-	mysqli_free_result($r);
1022
-
1023
-	return $c;
1011
+    $c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby)));
1012
+
1013
+    $r = spip_mysql_select("COUNT($c)", $from, $where, '', '', '', $having, $serveur, $requeter);
1014
+    if (!$requeter) {
1015
+        return $r;
1016
+    }
1017
+    if (!$r instanceof mysqli_result) {
1018
+        return 0;
1019
+    }
1020
+    list($c) = mysqli_fetch_array($r, MYSQLI_NUM);
1021
+    mysqli_free_result($r);
1022
+
1023
+    return $c;
1024 1024
 }
1025 1025
 
1026 1026
 
@@ -1043,16 +1043,16 @@  discard block
 block discarded – undo
1043 1043
  *     Erreur eventuelle
1044 1044
  **/
1045 1045
 function spip_mysql_error($query = '', $serveur = '', $requeter = true) {
1046
-	$link = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]['link'];
1047
-	$s = mysqli_error($link);
1048
-	if ($s) {
1049
-		$trace = debug_backtrace();
1050
-		if ($trace[0]['function'] != "spip_mysql_error") {
1051
-			spip_log("$s - $query - " . sql_error_backtrace(), 'mysql.' . _LOG_ERREUR);
1052
-		}
1053
-	}
1054
-
1055
-	return $s;
1046
+    $link = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]['link'];
1047
+    $s = mysqli_error($link);
1048
+    if ($s) {
1049
+        $trace = debug_backtrace();
1050
+        if ($trace[0]['function'] != "spip_mysql_error") {
1051
+            spip_log("$s - $query - " . sql_error_backtrace(), 'mysql.' . _LOG_ERREUR);
1052
+        }
1053
+    }
1054
+
1055
+    return $s;
1056 1056
 }
1057 1057
 
1058 1058
 
@@ -1067,18 +1067,18 @@  discard block
 block discarded – undo
1067 1067
  *     0, pas d'erreur. Autre, numéro de l'erreur.
1068 1068
  **/
1069 1069
 function spip_mysql_errno($serveur = '', $requeter = true) {
1070
-	$link = $GLOBALS['connexions'][$serveur ? $serveur : 0]['link'];
1071
-	$s = mysqli_errno($link);
1072
-	// 2006 MySQL server has gone away
1073
-	// 2013 Lost connection to MySQL server during query
1074
-	if (in_array($s, array(2006, 2013))) {
1075
-		define('spip_interdire_cache', true);
1076
-	}
1077
-	if ($s) {
1078
-		spip_log("Erreur mysql $s", _LOG_ERREUR);
1079
-	}
1080
-
1081
-	return $s;
1070
+    $link = $GLOBALS['connexions'][$serveur ? $serveur : 0]['link'];
1071
+    $s = mysqli_errno($link);
1072
+    // 2006 MySQL server has gone away
1073
+    // 2013 Lost connection to MySQL server during query
1074
+    if (in_array($s, array(2006, 2013))) {
1075
+        define('spip_interdire_cache', true);
1076
+    }
1077
+    if ($s) {
1078
+        spip_log("Erreur mysql $s", _LOG_ERREUR);
1079
+    }
1080
+
1081
+    return $s;
1082 1082
 }
1083 1083
 
1084 1084
 
@@ -1092,9 +1092,9 @@  discard block
 block discarded – undo
1092 1092
  * @return int               Nombre de lignes
1093 1093
  */
1094 1094
 function spip_mysql_count($r, $serveur = '', $requeter = true) {
1095
-	if ($r) {
1096
-		return mysqli_num_rows($r);
1097
-	}
1095
+    if ($r) {
1096
+        return mysqli_num_rows($r);
1097
+    }
1098 1098
 }
1099 1099
 
1100 1100
 
@@ -1110,7 +1110,7 @@  discard block
 block discarded – undo
1110 1110
  * @return bool              True si réussi
1111 1111
  */
1112 1112
 function spip_mysql_free($r, $serveur = '', $requeter = true) {
1113
-	return (($r instanceof mysqli_result) ? mysqli_free_result($r) : false);
1113
+    return (($r instanceof mysqli_result) ? mysqli_free_result($r) : false);
1114 1114
 }
1115 1115
 
1116 1116
 
@@ -1138,38 +1138,38 @@  discard block
 block discarded – undo
1138 1138
  **/
1139 1139
 function spip_mysql_insert($table, $champs, $valeurs, $desc = array(), $serveur = '', $requeter = true) {
1140 1140
 
1141
-	$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1142
-	$link = $connexion['link'];
1143
-	$table = prefixer_table_spip($table, $connexion['prefixe']);
1144
-
1145
-	$query = "INSERT INTO $table $champs VALUES $valeurs";
1146
-	if (!$requeter) {
1147
-		return $query;
1148
-	}
1149
-
1150
-	if (isset($_GET['var_profile'])) {
1151
-		include_spip('public/tracer');
1152
-		$t = trace_query_start();
1153
-		$e = '';
1154
-	} else {
1155
-		$t = 0;
1156
-	}
1157
-
1158
-	$connexion['last'] = $query;
1159
-	#spip_log($query, 'mysql.'._LOG_DEBUG);
1160
-	$r = false;
1161
-	if (mysqli_query($link, $query)) {
1162
-		$r = mysqli_insert_id($link);
1163
-	} else {
1164
-		// Log de l'erreur eventuelle
1165
-		if ($e = spip_mysql_errno($serveur)) {
1166
-			$e .= spip_mysql_error($query, $serveur);
1167
-		} // et du fautif
1168
-	}
1169
-
1170
-	return $t ? trace_query_end($query, $t, $r, $e, $serveur) : $r;
1171
-
1172
-	// return $r ? $r : (($r===0) ? -1 : 0); pb avec le multi-base.
1141
+    $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1142
+    $link = $connexion['link'];
1143
+    $table = prefixer_table_spip($table, $connexion['prefixe']);
1144
+
1145
+    $query = "INSERT INTO $table $champs VALUES $valeurs";
1146
+    if (!$requeter) {
1147
+        return $query;
1148
+    }
1149
+
1150
+    if (isset($_GET['var_profile'])) {
1151
+        include_spip('public/tracer');
1152
+        $t = trace_query_start();
1153
+        $e = '';
1154
+    } else {
1155
+        $t = 0;
1156
+    }
1157
+
1158
+    $connexion['last'] = $query;
1159
+    #spip_log($query, 'mysql.'._LOG_DEBUG);
1160
+    $r = false;
1161
+    if (mysqli_query($link, $query)) {
1162
+        $r = mysqli_insert_id($link);
1163
+    } else {
1164
+        // Log de l'erreur eventuelle
1165
+        if ($e = spip_mysql_errno($serveur)) {
1166
+            $e .= spip_mysql_error($query, $serveur);
1167
+        } // et du fautif
1168
+    }
1169
+
1170
+    return $t ? trace_query_end($query, $t, $r, $e, $serveur) : $r;
1171
+
1172
+    // return $r ? $r : (($r===0) ? -1 : 0); pb avec le multi-base.
1173 1173
 }
1174 1174
 
1175 1175
 /**
@@ -1194,20 +1194,20 @@  discard block
 block discarded – undo
1194 1194
  **/
1195 1195
 function spip_mysql_insertq($table, $couples = array(), $desc = array(), $serveur = '', $requeter = true) {
1196 1196
 
1197
-	if (!$desc) {
1198
-		$desc = description_table($table, $serveur);
1199
-	}
1200
-	if (!$desc) {
1201
-		$couples = array();
1202
-	}
1203
-	$fields = isset($desc['field']) ? $desc['field'] : array();
1197
+    if (!$desc) {
1198
+        $desc = description_table($table, $serveur);
1199
+    }
1200
+    if (!$desc) {
1201
+        $couples = array();
1202
+    }
1203
+    $fields = isset($desc['field']) ? $desc['field'] : array();
1204 1204
 
1205
-	foreach ($couples as $champ => $val) {
1206
-		$couples[$champ] = spip_mysql_cite($val, $fields[$champ]);
1207
-	}
1205
+    foreach ($couples as $champ => $val) {
1206
+        $couples[$champ] = spip_mysql_cite($val, $fields[$champ]);
1207
+    }
1208 1208
 
1209
-	return spip_mysql_insert($table, "(" . join(',', array_keys($couples)) . ")", "(" . join(',', $couples) . ")", $desc,
1210
-		$serveur, $requeter);
1209
+    return spip_mysql_insert($table, "(" . join(',', array_keys($couples)) . ")", "(" . join(',', $couples) . ")", $desc,
1210
+        $serveur, $requeter);
1211 1211
 }
1212 1212
 
1213 1213
 
@@ -1232,34 +1232,34 @@  discard block
 block discarded – undo
1232 1232
  **/
1233 1233
 function spip_mysql_insertq_multi($table, $tab_couples = array(), $desc = array(), $serveur = '', $requeter = true) {
1234 1234
 
1235
-	if (!$desc) {
1236
-		$desc = description_table($table, $serveur);
1237
-	}
1238
-	if (!$desc) {
1239
-		$tab_couples = array();
1240
-	}
1241
-	$fields = isset($desc['field']) ? $desc['field'] : array();
1242
-
1243
-	$cles = "(" . join(',', array_keys(reset($tab_couples))) . ')';
1244
-	$valeurs = array();
1245
-	$r = false;
1246
-
1247
-	// Quoter et Inserer par groupes de 100 max pour eviter un debordement de pile
1248
-	foreach ($tab_couples as $couples) {
1249
-		foreach ($couples as $champ => $val) {
1250
-			$couples[$champ] = spip_mysql_cite($val, $fields[$champ]);
1251
-		}
1252
-		$valeurs[] = '(' . join(',', $couples) . ')';
1253
-		if (count($valeurs) >= 100) {
1254
-			$r = spip_mysql_insert($table, $cles, join(', ', $valeurs), $desc, $serveur, $requeter);
1255
-			$valeurs = array();
1256
-		}
1257
-	}
1258
-	if (count($valeurs)) {
1259
-		$r = spip_mysql_insert($table, $cles, join(', ', $valeurs), $desc, $serveur, $requeter);
1260
-	}
1261
-
1262
-	return $r; // dans le cas d'une table auto_increment, le dernier insert_id
1235
+    if (!$desc) {
1236
+        $desc = description_table($table, $serveur);
1237
+    }
1238
+    if (!$desc) {
1239
+        $tab_couples = array();
1240
+    }
1241
+    $fields = isset($desc['field']) ? $desc['field'] : array();
1242
+
1243
+    $cles = "(" . join(',', array_keys(reset($tab_couples))) . ')';
1244
+    $valeurs = array();
1245
+    $r = false;
1246
+
1247
+    // Quoter et Inserer par groupes de 100 max pour eviter un debordement de pile
1248
+    foreach ($tab_couples as $couples) {
1249
+        foreach ($couples as $champ => $val) {
1250
+            $couples[$champ] = spip_mysql_cite($val, $fields[$champ]);
1251
+        }
1252
+        $valeurs[] = '(' . join(',', $couples) . ')';
1253
+        if (count($valeurs) >= 100) {
1254
+            $r = spip_mysql_insert($table, $cles, join(', ', $valeurs), $desc, $serveur, $requeter);
1255
+            $valeurs = array();
1256
+        }
1257
+    }
1258
+    if (count($valeurs)) {
1259
+        $r = spip_mysql_insert($table, $cles, join(', ', $valeurs), $desc, $serveur, $requeter);
1260
+    }
1261
+
1262
+    return $r; // dans le cas d'une table auto_increment, le dernier insert_id
1263 1263
 }
1264 1264
 
1265 1265
 /**
@@ -1284,17 +1284,17 @@  discard block
 block discarded – undo
1284 1284
  *     - array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
1285 1285
  */
1286 1286
 function spip_mysql_update($table, $champs, $where = '', $desc = array(), $serveur = '', $requeter = true) {
1287
-	$set = array();
1288
-	foreach ($champs as $champ => $val) {
1289
-		$set[] = $champ . "=$val";
1290
-	}
1291
-	if (!empty($set)) {
1292
-		return spip_mysql_query(
1293
-			calculer_mysql_expression('UPDATE', $table, ',')
1294
-			. calculer_mysql_expression('SET', $set, ',')
1295
-			. calculer_mysql_expression('WHERE', $where),
1296
-			$serveur, $requeter);
1297
-	}
1287
+    $set = array();
1288
+    foreach ($champs as $champ => $val) {
1289
+        $set[] = $champ . "=$val";
1290
+    }
1291
+    if (!empty($set)) {
1292
+        return spip_mysql_query(
1293
+            calculer_mysql_expression('UPDATE', $table, ',')
1294
+            . calculer_mysql_expression('SET', $set, ',')
1295
+            . calculer_mysql_expression('WHERE', $where),
1296
+            $serveur, $requeter);
1297
+    }
1298 1298
 }
1299 1299
 
1300 1300
 /**
@@ -1327,27 +1327,27 @@  discard block
 block discarded – undo
1327 1327
  */
1328 1328
 function spip_mysql_updateq($table, $champs, $where = '', $desc = array(), $serveur = '', $requeter = true) {
1329 1329
 
1330
-	if (!$champs) {
1331
-		return;
1332
-	}
1333
-	if (!$desc) {
1334
-		$desc = description_table($table, $serveur);
1335
-	}
1336
-	if (!$desc) {
1337
-		$champs = array();
1338
-	} else {
1339
-		$fields = $desc['field'];
1340
-	}
1341
-	$set = array();
1342
-	foreach ($champs as $champ => $val) {
1343
-		$set[] = $champ . '=' . spip_mysql_cite($val, @$fields[$champ]);
1344
-	}
1345
-
1346
-	return spip_mysql_query(
1347
-		calculer_mysql_expression('UPDATE', $table, ',')
1348
-		. calculer_mysql_expression('SET', $set, ',')
1349
-		. calculer_mysql_expression('WHERE', $where),
1350
-		$serveur, $requeter);
1330
+    if (!$champs) {
1331
+        return;
1332
+    }
1333
+    if (!$desc) {
1334
+        $desc = description_table($table, $serveur);
1335
+    }
1336
+    if (!$desc) {
1337
+        $champs = array();
1338
+    } else {
1339
+        $fields = $desc['field'];
1340
+    }
1341
+    $set = array();
1342
+    foreach ($champs as $champ => $val) {
1343
+        $set[] = $champ . '=' . spip_mysql_cite($val, @$fields[$champ]);
1344
+    }
1345
+
1346
+    return spip_mysql_query(
1347
+        calculer_mysql_expression('UPDATE', $table, ',')
1348
+        . calculer_mysql_expression('SET', $set, ',')
1349
+        . calculer_mysql_expression('WHERE', $where),
1350
+        $serveur, $requeter);
1351 1351
 }
1352 1352
 
1353 1353
 /**
@@ -1363,20 +1363,20 @@  discard block
 block discarded – undo
1363 1363
  *     - False en cas d'erreur.
1364 1364
  **/
1365 1365
 function spip_mysql_delete($table, $where = '', $serveur = '', $requeter = true) {
1366
-	$res = spip_mysql_query(
1367
-		calculer_mysql_expression('DELETE FROM', $table, ',')
1368
-		. calculer_mysql_expression('WHERE', $where),
1369
-		$serveur, $requeter);
1370
-	if (!$requeter) {
1371
-		return $res;
1372
-	}
1373
-	if ($res) {
1374
-		$link = _mysql_link($serveur);
1375
-
1376
-		return mysqli_affected_rows($link);
1377
-	} else {
1378
-		return false;
1379
-	}
1366
+    $res = spip_mysql_query(
1367
+        calculer_mysql_expression('DELETE FROM', $table, ',')
1368
+        . calculer_mysql_expression('WHERE', $where),
1369
+        $serveur, $requeter);
1370
+    if (!$requeter) {
1371
+        return $res;
1372
+    }
1373
+    if ($res) {
1374
+        $link = _mysql_link($serveur);
1375
+
1376
+        return mysqli_affected_rows($link);
1377
+    } else {
1378
+        return false;
1379
+    }
1380 1380
 }
1381 1381
 
1382 1382
 
@@ -1405,8 +1405,8 @@  discard block
 block discarded – undo
1405 1405
  *     - False en cas d'erreur.
1406 1406
  **/
1407 1407
 function spip_mysql_replace($table, $couples, $desc = array(), $serveur = '', $requeter = true) {
1408
-	return spip_mysql_query("REPLACE $table (" . join(',', array_keys($couples)) . ') VALUES (' . join(',',
1409
-			array_map('_q', $couples)) . ')', $serveur, $requeter);
1408
+    return spip_mysql_query("REPLACE $table (" . join(',', array_keys($couples)) . ') VALUES (' . join(',',
1409
+            array_map('_q', $couples)) . ')', $serveur, $requeter);
1410 1410
 }
1411 1411
 
1412 1412
 
@@ -1435,14 +1435,14 @@  discard block
 block discarded – undo
1435 1435
  *     - False en cas d'erreur.
1436 1436
  **/
1437 1437
 function spip_mysql_replace_multi($table, $tab_couples, $desc = array(), $serveur = '', $requeter = true) {
1438
-	$cles = "(" . join(',', array_keys($tab_couples[0])) . ')';
1439
-	$valeurs = array();
1440
-	foreach ($tab_couples as $couples) {
1441
-		$valeurs[] = '(' . join(',', array_map('_q', $couples)) . ')';
1442
-	}
1443
-	$valeurs = implode(', ', $valeurs);
1444
-
1445
-	return spip_mysql_query("REPLACE $table $cles VALUES $valeurs", $serveur, $requeter);
1438
+    $cles = "(" . join(',', array_keys($tab_couples[0])) . ')';
1439
+    $valeurs = array();
1440
+    foreach ($tab_couples as $couples) {
1441
+        $valeurs[] = '(' . join(',', array_map('_q', $couples)) . ')';
1442
+    }
1443
+    $valeurs = implode(', ', $valeurs);
1444
+
1445
+    return spip_mysql_query("REPLACE $table $cles VALUES $valeurs", $serveur, $requeter);
1446 1446
 }
1447 1447
 
1448 1448
 
@@ -1457,32 +1457,32 @@  discard block
 block discarded – undo
1457 1457
  * @return string       Texte de sélection pour la requête
1458 1458
  */
1459 1459
 function spip_mysql_multi($objet, $lang) {
1460
-	$lengthlang = strlen("[$lang]");
1461
-	$posmulti = "INSTR(" . $objet . ", '<multi>')";
1462
-	$posfinmulti = "INSTR(" . $objet . ", '</multi>')";
1463
-	$debutchaine = "LEFT(" . $objet . ", $posmulti-1)";
1464
-	$finchaine = "RIGHT(" . $objet . ", CHAR_LENGTH(" . $objet . ") -(7+$posfinmulti))";
1465
-	$chainemulti = "TRIM(SUBSTRING(" . $objet . ", $posmulti+7, $posfinmulti -(7+$posmulti)))";
1466
-	$poslang = "INSTR($chainemulti,'[" . $lang . "]')";
1467
-	$poslang = "IF($poslang=0,INSTR($chainemulti,']')+1,$poslang+$lengthlang)";
1468
-	$chainelang = "TRIM(SUBSTRING(" . $objet . ", $posmulti+7+$poslang-1,$posfinmulti -($posmulti+7+$poslang-1) ))";
1469
-	$posfinlang = "INSTR(" . $chainelang . ", '[')";
1470
-	$chainelang = "IF($posfinlang>0,LEFT($chainelang,$posfinlang-1),$chainelang)";
1471
-	//$chainelang = "LEFT($chainelang,$posfinlang-1)";
1472
-	$retour = "(TRIM(IF($posmulti = 0 , " .
1473
-		"     TRIM(" . $objet . "), " .
1474
-		"     CONCAT( " .
1475
-		"          $debutchaine, " .
1476
-		"          IF( " .
1477
-		"               $poslang = 0, " .
1478
-		"                     $chainemulti, " .
1479
-		"               $chainelang" .
1480
-		"          ), " .
1481
-		"          $finchaine" .
1482
-		"     ) " .
1483
-		"))) AS multi";
1484
-
1485
-	return $retour;
1460
+    $lengthlang = strlen("[$lang]");
1461
+    $posmulti = "INSTR(" . $objet . ", '<multi>')";
1462
+    $posfinmulti = "INSTR(" . $objet . ", '</multi>')";
1463
+    $debutchaine = "LEFT(" . $objet . ", $posmulti-1)";
1464
+    $finchaine = "RIGHT(" . $objet . ", CHAR_LENGTH(" . $objet . ") -(7+$posfinmulti))";
1465
+    $chainemulti = "TRIM(SUBSTRING(" . $objet . ", $posmulti+7, $posfinmulti -(7+$posmulti)))";
1466
+    $poslang = "INSTR($chainemulti,'[" . $lang . "]')";
1467
+    $poslang = "IF($poslang=0,INSTR($chainemulti,']')+1,$poslang+$lengthlang)";
1468
+    $chainelang = "TRIM(SUBSTRING(" . $objet . ", $posmulti+7+$poslang-1,$posfinmulti -($posmulti+7+$poslang-1) ))";
1469
+    $posfinlang = "INSTR(" . $chainelang . ", '[')";
1470
+    $chainelang = "IF($posfinlang>0,LEFT($chainelang,$posfinlang-1),$chainelang)";
1471
+    //$chainelang = "LEFT($chainelang,$posfinlang-1)";
1472
+    $retour = "(TRIM(IF($posmulti = 0 , " .
1473
+        "     TRIM(" . $objet . "), " .
1474
+        "     CONCAT( " .
1475
+        "          $debutchaine, " .
1476
+        "          IF( " .
1477
+        "               $poslang = 0, " .
1478
+        "                     $chainemulti, " .
1479
+        "               $chainelang" .
1480
+        "          ), " .
1481
+        "          $finchaine" .
1482
+        "     ) " .
1483
+        "))) AS multi";
1484
+
1485
+    return $retour;
1486 1486
 }
1487 1487
 
1488 1488
 /**
@@ -1496,7 +1496,7 @@  discard block
 block discarded – undo
1496 1496
  *     Valeur hexadécimale pour MySQL
1497 1497
  **/
1498 1498
 function spip_mysql_hex($v) {
1499
-	return "0x" . $v;
1499
+    return "0x" . $v;
1500 1500
 }
1501 1501
 
1502 1502
 /**
@@ -1512,22 +1512,22 @@  discard block
 block discarded – undo
1512 1512
  *    Donnée prête à être utilisée par le gestionnaire SQL
1513 1513
  */
1514 1514
 function spip_mysql_quote($v, $type = '') {
1515
-	if ($type) {
1516
-		if (!is_array($v)) {
1517
-			return spip_mysql_cite($v, $type);
1518
-		}
1519
-		// si c'est un tableau, le parcourir en propageant le type
1520
-		foreach ($v as $k => $r) {
1521
-			$v[$k] = spip_mysql_quote($r, $type);
1522
-		}
1523
-
1524
-		return $v;
1525
-	}
1526
-	// si on ne connait pas le type, s'en remettre a _q :
1527
-	// on ne fera pas mieux
1528
-	else {
1529
-		return _q($v);
1530
-	}
1515
+    if ($type) {
1516
+        if (!is_array($v)) {
1517
+            return spip_mysql_cite($v, $type);
1518
+        }
1519
+        // si c'est un tableau, le parcourir en propageant le type
1520
+        foreach ($v as $k => $r) {
1521
+            $v[$k] = spip_mysql_quote($r, $type);
1522
+        }
1523
+
1524
+        return $v;
1525
+    }
1526
+    // si on ne connait pas le type, s'en remettre a _q :
1527
+    // on ne fera pas mieux
1528
+    else {
1529
+        return _q($v);
1530
+    }
1531 1531
 }
1532 1532
 
1533 1533
 /**
@@ -1543,17 +1543,17 @@  discard block
 block discarded – undo
1543 1543
  *     Expression SQL
1544 1544
  **/
1545 1545
 function spip_mysql_date_proche($champ, $interval, $unite) {
1546
-	return '('
1547
-	. $champ
1548
-	. (($interval <= 0) ? '>' : '<')
1549
-	. (($interval <= 0) ? 'DATE_SUB' : 'DATE_ADD')
1550
-	. '('
1551
-	. sql_quote(date('Y-m-d H:i:s'))
1552
-	. ', INTERVAL '
1553
-	. (($interval > 0) ? $interval : (0 - $interval))
1554
-	. ' '
1555
-	. $unite
1556
-	. '))';
1546
+    return '('
1547
+    . $champ
1548
+    . (($interval <= 0) ? '>' : '<')
1549
+    . (($interval <= 0) ? 'DATE_SUB' : 'DATE_ADD')
1550
+    . '('
1551
+    . sql_quote(date('Y-m-d H:i:s'))
1552
+    . ', INTERVAL '
1553
+    . (($interval > 0) ? $interval : (0 - $interval))
1554
+    . ' '
1555
+    . $unite
1556
+    . '))';
1557 1557
 }
1558 1558
 
1559 1559
 
@@ -1577,21 +1577,21 @@  discard block
 block discarded – undo
1577 1577
  *     Expression de requête SQL
1578 1578
  **/
1579 1579
 function spip_mysql_in($val, $valeurs, $not = '', $serveur = '', $requeter = true) {
1580
-	$n = $i = 0;
1581
-	$in_sql = "";
1582
-	while ($n = strpos($valeurs, ',', $n + 1)) {
1583
-		if ((++$i) >= 255) {
1584
-			$in_sql .= "($val $not IN (" .
1585
-				substr($valeurs, 0, $n) .
1586
-				"))\n" .
1587
-				($not ? "AND\t" : "OR\t");
1588
-			$valeurs = substr($valeurs, $n + 1);
1589
-			$i = $n = 0;
1590
-		}
1591
-	}
1592
-	$in_sql .= "($val $not IN ($valeurs))";
1593
-
1594
-	return "($in_sql)";
1580
+    $n = $i = 0;
1581
+    $in_sql = "";
1582
+    while ($n = strpos($valeurs, ',', $n + 1)) {
1583
+        if ((++$i) >= 255) {
1584
+            $in_sql .= "($val $not IN (" .
1585
+                substr($valeurs, 0, $n) .
1586
+                "))\n" .
1587
+                ($not ? "AND\t" : "OR\t");
1588
+            $valeurs = substr($valeurs, $n + 1);
1589
+            $i = $n = 0;
1590
+        }
1591
+    }
1592
+    $in_sql .= "($val $not IN ($valeurs))";
1593
+
1594
+    return "($in_sql)";
1595 1595
 }
1596 1596
 
1597 1597
 
@@ -1608,16 +1608,16 @@  discard block
 block discarded – undo
1608 1608
  * @return string               Expression de requête SQL
1609 1609
  */
1610 1610
 function calcul_mysql_in($val, $valeurs, $not = '') {
1611
-	if (is_array($valeurs)) {
1612
-		$valeurs = join(',', array_map('_q', $valeurs));
1613
-	} elseif ($valeurs[0] === ',') {
1614
-		$valeurs = substr($valeurs, 1);
1615
-	}
1616
-	if (!strlen(trim($valeurs))) {
1617
-		return ($not ? "0=0" : '0=1');
1618
-	}
1619
-
1620
-	return spip_mysql_in($val, $valeurs, $not);
1611
+    if (is_array($valeurs)) {
1612
+        $valeurs = join(',', array_map('_q', $valeurs));
1613
+    } elseif ($valeurs[0] === ',') {
1614
+        $valeurs = substr($valeurs, 1);
1615
+    }
1616
+    if (!strlen(trim($valeurs))) {
1617
+        return ($not ? "0=0" : '0=1');
1618
+    }
1619
+
1620
+    return spip_mysql_in($val, $valeurs, $not);
1621 1621
 }
1622 1622
 
1623 1623
 
@@ -1629,26 +1629,26 @@  discard block
 block discarded – undo
1629 1629
  * @return string|number     Texte ou nombre échappé
1630 1630
  */
1631 1631
 function spip_mysql_cite($v, $type) {
1632
-	if (is_null($v)
1633
-		and stripos($type, "NOT NULL") === false
1634
-	) {
1635
-		return 'NULL';
1636
-	} // null php se traduit en NULL SQL
1637
-	if (sql_test_date($type) and preg_match('/^\w+\(/', $v)) {
1638
-		return $v;
1639
-	}
1640
-	if (sql_test_int($type)) {
1641
-		if (is_numeric($v) or (ctype_xdigit(substr($v, 2))
1642
-				and $v[0] == '0' and $v[1] == 'x')
1643
-		) {
1644
-			return $v;
1645
-		} // si pas numerique, forcer le intval
1646
-		else {
1647
-			return intval($v);
1648
-		}
1649
-	}
1650
-
1651
-	return ("'" . addslashes($v) . "'");
1632
+    if (is_null($v)
1633
+        and stripos($type, "NOT NULL") === false
1634
+    ) {
1635
+        return 'NULL';
1636
+    } // null php se traduit en NULL SQL
1637
+    if (sql_test_date($type) and preg_match('/^\w+\(/', $v)) {
1638
+        return $v;
1639
+    }
1640
+    if (sql_test_int($type)) {
1641
+        if (is_numeric($v) or (ctype_xdigit(substr($v, 2))
1642
+                and $v[0] == '0' and $v[1] == 'x')
1643
+        ) {
1644
+            return $v;
1645
+        } // si pas numerique, forcer le intval
1646
+        else {
1647
+            return intval($v);
1648
+        }
1649
+    }
1650
+
1651
+    return ("'" . addslashes($v) . "'");
1652 1652
 }
1653 1653
 
1654 1654
 
@@ -1672,21 +1672,21 @@  discard block
 block discarded – undo
1672 1672
  */
1673 1673
 function spip_get_lock($nom, $timeout = 0) {
1674 1674
 
1675
-	define('_LOCK_TIME', intval(time() / 3600 - 316982));
1675
+    define('_LOCK_TIME', intval(time() / 3600 - 316982));
1676 1676
 
1677
-	$connexion = &$GLOBALS['connexions'][0];
1678
-	$bd = $connexion['db'];
1679
-	$prefixe = $connexion['prefixe'];
1680
-	$nom = "$bd:$prefixe:$nom" . _LOCK_TIME;
1677
+    $connexion = &$GLOBALS['connexions'][0];
1678
+    $bd = $connexion['db'];
1679
+    $prefixe = $connexion['prefixe'];
1680
+    $nom = "$bd:$prefixe:$nom" . _LOCK_TIME;
1681 1681
 
1682
-	$connexion['last'] = $q = "SELECT GET_LOCK(" . _q($nom) . ", $timeout) AS n";
1682
+    $connexion['last'] = $q = "SELECT GET_LOCK(" . _q($nom) . ", $timeout) AS n";
1683 1683
 
1684
-	$q = @sql_fetch(mysqli_query(_mysql_link(), $q));
1685
-	if (!$q) {
1686
-		spip_log("pas de lock sql pour $nom", _LOG_ERREUR);
1687
-	}
1684
+    $q = @sql_fetch(mysqli_query(_mysql_link(), $q));
1685
+    if (!$q) {
1686
+        spip_log("pas de lock sql pour $nom", _LOG_ERREUR);
1687
+    }
1688 1688
 
1689
-	return $q['n'];
1689
+    return $q['n'];
1690 1690
 }
1691 1691
 
1692 1692
 
@@ -1703,13 +1703,13 @@  discard block
 block discarded – undo
1703 1703
  */
1704 1704
 function spip_release_lock($nom) {
1705 1705
 
1706
-	$connexion = &$GLOBALS['connexions'][0];
1707
-	$bd = $connexion['db'];
1708
-	$prefixe = $connexion['prefixe'];
1709
-	$nom = "$bd:$prefixe:$nom" . _LOCK_TIME;
1706
+    $connexion = &$GLOBALS['connexions'][0];
1707
+    $bd = $connexion['db'];
1708
+    $prefixe = $connexion['prefixe'];
1709
+    $nom = "$bd:$prefixe:$nom" . _LOCK_TIME;
1710 1710
 
1711
-	$connexion['last'] = $q = "SELECT RELEASE_LOCK(" . _q($nom) . ")";
1712
-	mysqli_query(_mysql_link(), $q);
1711
+    $connexion['last'] = $q = "SELECT RELEASE_LOCK(" . _q($nom) . ")";
1712
+    mysqli_query(_mysql_link(), $q);
1713 1713
 }
1714 1714
 
1715 1715
 
@@ -1720,7 +1720,7 @@  discard block
 block discarded – undo
1720 1720
  *     True si on a les fonctions, false sinon
1721 1721
  */
1722 1722
 function spip_versions_mysql() {
1723
-	return function_exists('mysqli_query');
1723
+    return function_exists('mysqli_query');
1724 1724
 }
1725 1725
 
1726 1726
 
@@ -1733,20 +1733,20 @@  discard block
 block discarded – undo
1733 1733
  *     - chaîne : code compilé pour le faire désactiver par SPIP sinon
1734 1734
  */
1735 1735
 function test_rappel_nom_base_mysql($server_db) {
1736
-	$GLOBALS['mysql_rappel_nom_base'] = true;
1737
-	sql_delete('spip_meta', "nom='mysql_rappel_nom_base'", $server_db);
1738
-	$ok = spip_query("INSERT INTO spip_meta (nom,valeur) VALUES ('mysql_rappel_nom_base', 'test')", $server_db);
1736
+    $GLOBALS['mysql_rappel_nom_base'] = true;
1737
+    sql_delete('spip_meta', "nom='mysql_rappel_nom_base'", $server_db);
1738
+    $ok = spip_query("INSERT INTO spip_meta (nom,valeur) VALUES ('mysql_rappel_nom_base', 'test')", $server_db);
1739 1739
 
1740
-	if ($ok) {
1741
-		sql_delete('spip_meta', "nom='mysql_rappel_nom_base'", $server_db);
1740
+    if ($ok) {
1741
+        sql_delete('spip_meta', "nom='mysql_rappel_nom_base'", $server_db);
1742 1742
 
1743
-		return '';
1744
-	} else {
1745
-		$GLOBALS['mysql_rappel_nom_base'] = false;
1743
+        return '';
1744
+    } else {
1745
+        $GLOBALS['mysql_rappel_nom_base'] = false;
1746 1746
 
1747
-		return "\$GLOBALS['mysql_rappel_nom_base'] = false; " .
1748
-		"/* echec de test_rappel_nom_base_mysql a l'installation. */\n";
1749
-	}
1747
+        return "\$GLOBALS['mysql_rappel_nom_base'] = false; " .
1748
+        "/* echec de test_rappel_nom_base_mysql a l'installation. */\n";
1749
+    }
1750 1750
 }
1751 1751
 
1752 1752
 /**
@@ -1760,13 +1760,13 @@  discard block
 block discarded – undo
1760 1760
  *     - chaîne : code compilé pour l'indiquer le résultat du test à SPIP
1761 1761
  */
1762 1762
 function test_sql_mode_mysql($server_db) {
1763
-	$res = sql_select("version() as v", '', '', '', '', '', '', $server_db);
1764
-	$row = sql_fetch($res, $server_db);
1765
-	if (version_compare($row['v'], '5.0.0', '>=')) {
1766
-		defined('_MYSQL_SET_SQL_MODE') || define('_MYSQL_SET_SQL_MODE', true);
1763
+    $res = sql_select("version() as v", '', '', '', '', '', '', $server_db);
1764
+    $row = sql_fetch($res, $server_db);
1765
+    if (version_compare($row['v'], '5.0.0', '>=')) {
1766
+        defined('_MYSQL_SET_SQL_MODE') || define('_MYSQL_SET_SQL_MODE', true);
1767 1767
 
1768
-		return "defined('_MYSQL_SET_SQL_MODE') || define('_MYSQL_SET_SQL_MODE',true);\n";
1769
-	}
1768
+        return "defined('_MYSQL_SET_SQL_MODE') || define('_MYSQL_SET_SQL_MODE',true);\n";
1769
+    }
1770 1770
 
1771
-	return '';
1771
+    return '';
1772 1772
 }
Please login to merge, or discard this patch.
Spacing   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
 	// si port est fourni mais pas host, c'est un socket -> compat avec vieille syntaxe de mysql_connect() et anciens fichiers connect.php
49 49
 	if (
50 50
 		$port and !is_numeric($socket = $port)
51
-		and (!$host or $host=='localhost')) {
51
+		and (!$host or $host == 'localhost')) {
52 52
 		$link = @mysqli_connect($host, $login, $pass, '', null, $socket);
53 53
 	}
54 54
 	elseif ($port) {
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	}
60 60
 
61 61
 	if (!$link) {
62
-		spip_log('Echec mysqli_connect. Erreur : ' . mysqli_connect_error(), 'mysql.' . _LOG_HS);
62
+		spip_log('Echec mysqli_connect. Erreur : '.mysqli_connect_error(), 'mysql.'._LOG_HS);
63 63
 
64 64
 		return false;
65 65
 	}
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
76 76
 		}
77 77
 	}
78 78
 
79
-	spip_log("Connexion MySQLi vers $host, base $db, prefixe $prefixe " . ($ok ? "operationnelle" : 'impossible'),
79
+	spip_log("Connexion MySQLi vers $host, base $db, prefixe $prefixe ".($ok ? "operationnelle" : 'impossible'),
80 80
 		_LOG_DEBUG);
81 81
 
82 82
 	return !$ok ? false : array(
@@ -165,9 +165,9 @@  discard block
 block discarded – undo
165 165
  */
166 166
 function spip_mysql_set_charset($charset, $serveur = '', $requeter = true) {
167 167
 	$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
168
-	spip_log("changement de charset sql : " . "SET NAMES " . _q($charset), _LOG_DEBUG);
168
+	spip_log("changement de charset sql : "."SET NAMES "._q($charset), _LOG_DEBUG);
169 169
 
170
-	return mysqli_query($connexion['link'], $connexion['last'] = "SET NAMES " . _q($charset));
170
+	return mysqli_query($connexion['link'], $connexion['last'] = "SET NAMES "._q($charset));
171 171
 }
172 172
 
173 173
 
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
 function spip_mysql_get_charset($charset = array(), $serveur = '', $requeter = true) {
183 183
 	$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
184 184
 	$connexion['last'] = $c = "SHOW CHARACTER SET"
185
-		. (!$charset ? '' : (" LIKE " . _q($charset['charset'])));
185
+		. (!$charset ? '' : (" LIKE "._q($charset['charset'])));
186 186
 
187 187
 	return spip_mysql_fetch(mysqli_query($connexion['link'], $c), null, $serveur);
188 188
 }
@@ -242,14 +242,14 @@  discard block
 block discarded – undo
242 242
 	$debug = '';
243 243
 	if (defined('_DEBUG_SLOW_QUERIES') and _DEBUG_SLOW_QUERIES) {
244 244
 		if (isset($GLOBALS['debug']['aucasou'])) {
245
-			list(, $id, , $infos) = $GLOBALS['debug']['aucasou'];
246
-			$debug .= "BOUCLE$id @ " . $infos[0] . " | ";
245
+			list(, $id,, $infos) = $GLOBALS['debug']['aucasou'];
246
+			$debug .= "BOUCLE$id @ ".$infos[0]." | ";
247 247
 		}
248
-		$debug .= $_SERVER['REQUEST_URI'] . ' + ' . $GLOBALS['ip'];
249
-		$debug = ' /* ' . mysqli_real_escape_string($link, str_replace('*/', '@/', $debug)) . ' */';
248
+		$debug .= $_SERVER['REQUEST_URI'].' + '.$GLOBALS['ip'];
249
+		$debug = ' /* '.mysqli_real_escape_string($link, str_replace('*/', '@/', $debug)).' */';
250 250
 	}
251 251
 
252
-	$r = mysqli_query($link, $query . $debug);
252
+	$r = mysqli_query($link, $query.$debug);
253 253
 
254 254
 	//Eviter de propager le GoneAway sur les autres requetes d'un même processus PHP
255 255
 	if ($e = spip_mysql_errno($serveur)) {  // Log d'un Gone Away
@@ -262,7 +262,7 @@  discard block
 block discarded – undo
262 262
 			$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
263 263
 			$link = $connexion['link'];
264 264
 			//On retente au cas où
265
-			$r = mysqli_query($link, $query . $debug);
265
+			$r = mysqli_query($link, $query.$debug);
266 266
 		}
267 267
 	}
268 268
 
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
 	// d'utiliser ceux-ci, copie-colle de phpmyadmin
291 291
 	$query = preg_replace(",^TABLE\s*`([^`]*)`,i", "TABLE \\1", $query);
292 292
 
293
-	return spip_mysql_query("ALTER " . $query, $serveur, $requeter); # i.e. que PG se debrouille
293
+	return spip_mysql_query("ALTER ".$query, $serveur, $requeter); # i.e. que PG se debrouille
294 294
 }
295 295
 
296 296
 
@@ -303,7 +303,7 @@  discard block
 block discarded – undo
303 303
  * @return bool            Toujours true
304 304
  */
305 305
 function spip_mysql_optimize($table, $serveur = '', $requeter = true) {
306
-	spip_mysql_query("OPTIMIZE TABLE " . $table);
306
+	spip_mysql_query("OPTIMIZE TABLE ".$table);
307 307
 
308 308
 	return true;
309 309
 }
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
 	$link = $connexion['link'];
327 327
 	$db = $connexion['db'];
328 328
 
329
-	$query = 'EXPLAIN ' . _mysql_traite_query($query, $db, $prefixe);
329
+	$query = 'EXPLAIN '._mysql_traite_query($query, $db, $prefixe);
330 330
 	$r = mysqli_query($link, $query);
331 331
 
332 332
 	return spip_mysql_fetch($r, null, $serveur);
@@ -377,7 +377,7 @@  discard block
 block discarded – undo
377 377
 		. calculer_mysql_expression('WHERE', $where)
378 378
 		. calculer_mysql_expression('GROUP BY', $groupby, ',')
379 379
 		. calculer_mysql_expression('HAVING', $having)
380
-		. ($orderby ? ("\nORDER BY " . spip_mysql_order($orderby)) : '')
380
+		. ($orderby ? ("\nORDER BY ".spip_mysql_order($orderby)) : '')
381 381
 		. ($limit ? "\nLIMIT $limit" : '');
382 382
 
383 383
 	// renvoyer la requete inerte si demandee
@@ -467,12 +467,12 @@  discard block
 block discarded – undo
467 467
 	$exp = "\n$expression ";
468 468
 
469 469
 	if (!is_array($v)) {
470
-		return $exp . $v;
470
+		return $exp.$v;
471 471
 	} else {
472 472
 		if (strtoupper($join) === 'AND') {
473
-			return $exp . join("\n\t$join ", array_map('calculer_mysql_where', $v));
473
+			return $exp.join("\n\t$join ", array_map('calculer_mysql_where', $v));
474 474
 		} else {
475
-			return $exp . join($join, $v);
475
+			return $exp.join($join, $v);
476 476
 		}
477 477
 	}
478 478
 }
@@ -490,17 +490,17 @@  discard block
 block discarded – undo
490 490
 		if (substr($k, -1) == '@') {
491 491
 			// c'est une jointure qui se refere au from precedent
492 492
 			// pas de virgule
493
-			$res .= '  ' . $v;
493
+			$res .= '  '.$v;
494 494
 		} else {
495 495
 			if (!is_numeric($k)) {
496 496
 				$p = strpos($v, " ");
497 497
 				if ($p) {
498
-					$v = substr($v, 0, $p) . " AS `$k`" . substr($v, $p);
498
+					$v = substr($v, 0, $p)." AS `$k`".substr($v, $p);
499 499
 				} else {
500 500
 					$v .= " AS `$k`";
501 501
 				}
502 502
 			}
503
-			$res .= ', ' . $v;
503
+			$res .= ', '.$v;
504 504
 		}
505 505
 	}
506 506
 
@@ -529,13 +529,13 @@  discard block
 block discarded – undo
529 529
 function _mysql_traite_query($query, $db = '', $prefixe = '') {
530 530
 
531 531
 	if ($GLOBALS['mysql_rappel_nom_base'] and $db) {
532
-		$pref = '`' . $db . '`.';
532
+		$pref = '`'.$db.'`.';
533 533
 	} else {
534 534
 		$pref = '';
535 535
 	}
536 536
 
537 537
 	if ($prefixe) {
538
-		$pref .= $prefixe . "_";
538
+		$pref .= $prefixe."_";
539 539
 	}
540 540
 
541 541
 	if (!preg_match('/\s(SET|VALUES|WHERE|DATABASE)\s/i', $query, $regs)) {
@@ -549,12 +549,12 @@  discard block
 block discarded – undo
549 549
 		if (stripos($suite, "SELECT") !== false) {
550 550
 			list($suite, $textes) = query_echappe_textes($suite);
551 551
 			if (preg_match('/^(.*?)([(]\s*SELECT\b.*)$/si', $suite, $r)) {
552
-				$suite = $r[1] . _mysql_traite_query($r[2], $db, $prefixe);
552
+				$suite = $r[1]._mysql_traite_query($r[2], $db, $prefixe);
553 553
 			}
554 554
 			$suite = query_reinjecte_textes($suite, $textes);
555 555
 		}
556 556
 	}
557
-	$r = preg_replace(_SQL_PREFIXE_TABLE_MYSQL, '\1' . $pref, $query) . $suite;
557
+	$r = preg_replace(_SQL_PREFIXE_TABLE_MYSQL, '\1'.$pref, $query).$suite;
558 558
 
559 559
 	// en option, remplacer les emoji (que mysql ne sait pas gérer) en &#128169;
560 560
 	if (defined('_MYSQL_NOPLANES') and _MYSQL_NOPLANES and lire_meta('charset_sql_connexion') == 'utf8') {
@@ -584,7 +584,7 @@  discard block
 block discarded – undo
584 584
 	$link = _mysql_link($serveur);
585 585
 	$ok = mysqli_select_db($link, $db);
586 586
 	if (!$ok) {
587
-		spip_log('Echec mysqli_selectdb. Erreur : ' . mysqli_error($link), 'mysql.' . _LOG_CRITIQUE);
587
+		spip_log('Echec mysqli_selectdb. Erreur : '.mysqli_error($link), 'mysql.'._LOG_CRITIQUE);
588 588
 	}
589 589
 
590 590
 	return $ok;
@@ -674,10 +674,10 @@  discard block
 block discarded – undo
674 674
 
675 675
 	$character_set = "";
676 676
 	if (@$GLOBALS['meta']['charset_sql_base']) {
677
-		$character_set .= " CHARACTER SET " . $GLOBALS['meta']['charset_sql_base'];
677
+		$character_set .= " CHARACTER SET ".$GLOBALS['meta']['charset_sql_base'];
678 678
 	}
679 679
 	if (@$GLOBALS['meta']['charset_collation_sql_base']) {
680
-		$character_set .= " COLLATE " . $GLOBALS['meta']['charset_collation_sql_base'];
680
+		$character_set .= " COLLATE ".$GLOBALS['meta']['charset_collation_sql_base'];
681 681
 	}
682 682
 
683 683
 	foreach ($champs as $k => $v) {
@@ -686,7 +686,7 @@  discard block
 block discarded – undo
686 686
 			if (preg_match(',(char|text),i', $defs[1])
687 687
 				and !preg_match(',(binary|CHARACTER|COLLATE),i', $v)
688 688
 			) {
689
-				$v = $defs[1] . $character_set . ' ' . substr($v, strlen($defs[1]));
689
+				$v = $defs[1].$character_set.' '.substr($v, strlen($defs[1]));
690 690
 			}
691 691
 		}
692 692
 
@@ -698,7 +698,7 @@  discard block
 block discarded – undo
698 698
 		$s = ",";
699 699
 	}
700 700
 	$temporary = $temporary ? 'TEMPORARY' : '';
701
-	$q = "CREATE $temporary TABLE IF NOT EXISTS $nom ($query" . ($keys ? ",$keys" : '') . ")"
701
+	$q = "CREATE $temporary TABLE IF NOT EXISTS $nom ($query".($keys ? ",$keys" : '').")"
702 702
 		. " ENGINE=MyISAM"
703 703
 		. ($character_set ? " DEFAULT $character_set" : "")
704 704
 		. "\n";
@@ -770,7 +770,7 @@  discard block
 block discarded – undo
770 770
 		return false;
771 771
 	}
772 772
 
773
-	$query = "CREATE VIEW $nom AS " . $query_select;
773
+	$query = "CREATE VIEW $nom AS ".$query_select;
774 774
 
775 775
 	return spip_mysql_query($query, $serveur, $requeter);
776 776
 }
@@ -828,7 +828,7 @@  discard block
 block discarded – undo
828 828
  *     Ressource à utiliser avec sql_fetch()
829 829
  **/
830 830
 function spip_mysql_showbase($match, $serveur = '', $requeter = true) {
831
-	return spip_mysql_query("SHOW TABLES LIKE " . _q($match), $serveur, $requeter);
831
+	return spip_mysql_query("SHOW TABLES LIKE "._q($match), $serveur, $requeter);
832 832
 }
833 833
 
834 834
 /**
@@ -922,22 +922,22 @@  discard block
 block discarded – undo
922 922
 			}
923 923
 			if ($val['Default'] === '0' || $val['Default']) {
924 924
 				if (preg_match('/[A-Z_]/', $val['Default'])) {
925
-					$nfields[$val["Field"]] .= ' DEFAULT ' . $val['Default'];
925
+					$nfields[$val["Field"]] .= ' DEFAULT '.$val['Default'];
926 926
 				} else {
927
-					$nfields[$val["Field"]] .= " DEFAULT '" . $val['Default'] . "'";
927
+					$nfields[$val["Field"]] .= " DEFAULT '".$val['Default']."'";
928 928
 				}
929 929
 			}
930 930
 			if ($val['Extra']) {
931
-				$nfields[$val["Field"]] .= ' ' . $val['Extra'];
931
+				$nfields[$val["Field"]] .= ' '.$val['Extra'];
932 932
 			}
933 933
 			if ($val['Key'] == 'PRI') {
934 934
 				$nkeys['PRIMARY KEY'] = $val["Field"];
935 935
 			} else {
936 936
 				if ($val['Key'] == 'MUL') {
937
-					$nkeys['KEY ' . $val["Field"]] = $val["Field"];
937
+					$nkeys['KEY '.$val["Field"]] = $val["Field"];
938 938
 				} else {
939 939
 					if ($val['Key'] == 'UNI') {
940
-						$nkeys['UNIQUE KEY ' . $val["Field"]] = $val["Field"];
940
+						$nkeys['UNIQUE KEY '.$val["Field"]] = $val["Field"];
941 941
 					}
942 942
 				}
943 943
 			}
@@ -1008,7 +1008,7 @@  discard block
 block discarded – undo
1008 1008
 	$serveur = '',
1009 1009
 	$requeter = true
1010 1010
 ) {
1011
-	$c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby)));
1011
+	$c = !$groupby ? '*' : ('DISTINCT '.(is_string($groupby) ? $groupby : join(',', $groupby)));
1012 1012
 
1013 1013
 	$r = spip_mysql_select("COUNT($c)", $from, $where, '', '', '', $having, $serveur, $requeter);
1014 1014
 	if (!$requeter) {
@@ -1048,7 +1048,7 @@  discard block
 block discarded – undo
1048 1048
 	if ($s) {
1049 1049
 		$trace = debug_backtrace();
1050 1050
 		if ($trace[0]['function'] != "spip_mysql_error") {
1051
-			spip_log("$s - $query - " . sql_error_backtrace(), 'mysql.' . _LOG_ERREUR);
1051
+			spip_log("$s - $query - ".sql_error_backtrace(), 'mysql.'._LOG_ERREUR);
1052 1052
 		}
1053 1053
 	}
1054 1054
 
@@ -1206,7 +1206,7 @@  discard block
 block discarded – undo
1206 1206
 		$couples[$champ] = spip_mysql_cite($val, $fields[$champ]);
1207 1207
 	}
1208 1208
 
1209
-	return spip_mysql_insert($table, "(" . join(',', array_keys($couples)) . ")", "(" . join(',', $couples) . ")", $desc,
1209
+	return spip_mysql_insert($table, "(".join(',', array_keys($couples)).")", "(".join(',', $couples).")", $desc,
1210 1210
 		$serveur, $requeter);
1211 1211
 }
1212 1212
 
@@ -1240,7 +1240,7 @@  discard block
 block discarded – undo
1240 1240
 	}
1241 1241
 	$fields = isset($desc['field']) ? $desc['field'] : array();
1242 1242
 
1243
-	$cles = "(" . join(',', array_keys(reset($tab_couples))) . ')';
1243
+	$cles = "(".join(',', array_keys(reset($tab_couples))).')';
1244 1244
 	$valeurs = array();
1245 1245
 	$r = false;
1246 1246
 
@@ -1249,7 +1249,7 @@  discard block
 block discarded – undo
1249 1249
 		foreach ($couples as $champ => $val) {
1250 1250
 			$couples[$champ] = spip_mysql_cite($val, $fields[$champ]);
1251 1251
 		}
1252
-		$valeurs[] = '(' . join(',', $couples) . ')';
1252
+		$valeurs[] = '('.join(',', $couples).')';
1253 1253
 		if (count($valeurs) >= 100) {
1254 1254
 			$r = spip_mysql_insert($table, $cles, join(', ', $valeurs), $desc, $serveur, $requeter);
1255 1255
 			$valeurs = array();
@@ -1286,7 +1286,7 @@  discard block
 block discarded – undo
1286 1286
 function spip_mysql_update($table, $champs, $where = '', $desc = array(), $serveur = '', $requeter = true) {
1287 1287
 	$set = array();
1288 1288
 	foreach ($champs as $champ => $val) {
1289
-		$set[] = $champ . "=$val";
1289
+		$set[] = $champ."=$val";
1290 1290
 	}
1291 1291
 	if (!empty($set)) {
1292 1292
 		return spip_mysql_query(
@@ -1340,7 +1340,7 @@  discard block
 block discarded – undo
1340 1340
 	}
1341 1341
 	$set = array();
1342 1342
 	foreach ($champs as $champ => $val) {
1343
-		$set[] = $champ . '=' . spip_mysql_cite($val, @$fields[$champ]);
1343
+		$set[] = $champ.'='.spip_mysql_cite($val, @$fields[$champ]);
1344 1344
 	}
1345 1345
 
1346 1346
 	return spip_mysql_query(
@@ -1405,8 +1405,8 @@  discard block
 block discarded – undo
1405 1405
  *     - False en cas d'erreur.
1406 1406
  **/
1407 1407
 function spip_mysql_replace($table, $couples, $desc = array(), $serveur = '', $requeter = true) {
1408
-	return spip_mysql_query("REPLACE $table (" . join(',', array_keys($couples)) . ') VALUES (' . join(',',
1409
-			array_map('_q', $couples)) . ')', $serveur, $requeter);
1408
+	return spip_mysql_query("REPLACE $table (".join(',', array_keys($couples)).') VALUES ('.join(',',
1409
+			array_map('_q', $couples)).')', $serveur, $requeter);
1410 1410
 }
1411 1411
 
1412 1412
 
@@ -1435,10 +1435,10 @@  discard block
 block discarded – undo
1435 1435
  *     - False en cas d'erreur.
1436 1436
  **/
1437 1437
 function spip_mysql_replace_multi($table, $tab_couples, $desc = array(), $serveur = '', $requeter = true) {
1438
-	$cles = "(" . join(',', array_keys($tab_couples[0])) . ')';
1438
+	$cles = "(".join(',', array_keys($tab_couples[0])).')';
1439 1439
 	$valeurs = array();
1440 1440
 	foreach ($tab_couples as $couples) {
1441
-		$valeurs[] = '(' . join(',', array_map('_q', $couples)) . ')';
1441
+		$valeurs[] = '('.join(',', array_map('_q', $couples)).')';
1442 1442
 	}
1443 1443
 	$valeurs = implode(', ', $valeurs);
1444 1444
 
@@ -1458,28 +1458,28 @@  discard block
 block discarded – undo
1458 1458
  */
1459 1459
 function spip_mysql_multi($objet, $lang) {
1460 1460
 	$lengthlang = strlen("[$lang]");
1461
-	$posmulti = "INSTR(" . $objet . ", '<multi>')";
1462
-	$posfinmulti = "INSTR(" . $objet . ", '</multi>')";
1463
-	$debutchaine = "LEFT(" . $objet . ", $posmulti-1)";
1464
-	$finchaine = "RIGHT(" . $objet . ", CHAR_LENGTH(" . $objet . ") -(7+$posfinmulti))";
1465
-	$chainemulti = "TRIM(SUBSTRING(" . $objet . ", $posmulti+7, $posfinmulti -(7+$posmulti)))";
1466
-	$poslang = "INSTR($chainemulti,'[" . $lang . "]')";
1461
+	$posmulti = "INSTR(".$objet.", '<multi>')";
1462
+	$posfinmulti = "INSTR(".$objet.", '</multi>')";
1463
+	$debutchaine = "LEFT(".$objet.", $posmulti-1)";
1464
+	$finchaine = "RIGHT(".$objet.", CHAR_LENGTH(".$objet.") -(7+$posfinmulti))";
1465
+	$chainemulti = "TRIM(SUBSTRING(".$objet.", $posmulti+7, $posfinmulti -(7+$posmulti)))";
1466
+	$poslang = "INSTR($chainemulti,'[".$lang."]')";
1467 1467
 	$poslang = "IF($poslang=0,INSTR($chainemulti,']')+1,$poslang+$lengthlang)";
1468
-	$chainelang = "TRIM(SUBSTRING(" . $objet . ", $posmulti+7+$poslang-1,$posfinmulti -($posmulti+7+$poslang-1) ))";
1469
-	$posfinlang = "INSTR(" . $chainelang . ", '[')";
1468
+	$chainelang = "TRIM(SUBSTRING(".$objet.", $posmulti+7+$poslang-1,$posfinmulti -($posmulti+7+$poslang-1) ))";
1469
+	$posfinlang = "INSTR(".$chainelang.", '[')";
1470 1470
 	$chainelang = "IF($posfinlang>0,LEFT($chainelang,$posfinlang-1),$chainelang)";
1471 1471
 	//$chainelang = "LEFT($chainelang,$posfinlang-1)";
1472
-	$retour = "(TRIM(IF($posmulti = 0 , " .
1473
-		"     TRIM(" . $objet . "), " .
1474
-		"     CONCAT( " .
1475
-		"          $debutchaine, " .
1476
-		"          IF( " .
1477
-		"               $poslang = 0, " .
1478
-		"                     $chainemulti, " .
1479
-		"               $chainelang" .
1480
-		"          ), " .
1481
-		"          $finchaine" .
1482
-		"     ) " .
1472
+	$retour = "(TRIM(IF($posmulti = 0 , ".
1473
+		"     TRIM(".$objet."), ".
1474
+		"     CONCAT( ".
1475
+		"          $debutchaine, ".
1476
+		"          IF( ".
1477
+		"               $poslang = 0, ".
1478
+		"                     $chainemulti, ".
1479
+		"               $chainelang".
1480
+		"          ), ".
1481
+		"          $finchaine".
1482
+		"     ) ".
1483 1483
 		"))) AS multi";
1484 1484
 
1485 1485
 	return $retour;
@@ -1496,7 +1496,7 @@  discard block
 block discarded – undo
1496 1496
  *     Valeur hexadécimale pour MySQL
1497 1497
  **/
1498 1498
 function spip_mysql_hex($v) {
1499
-	return "0x" . $v;
1499
+	return "0x".$v;
1500 1500
 }
1501 1501
 
1502 1502
 /**
@@ -1581,9 +1581,9 @@  discard block
 block discarded – undo
1581 1581
 	$in_sql = "";
1582 1582
 	while ($n = strpos($valeurs, ',', $n + 1)) {
1583 1583
 		if ((++$i) >= 255) {
1584
-			$in_sql .= "($val $not IN (" .
1585
-				substr($valeurs, 0, $n) .
1586
-				"))\n" .
1584
+			$in_sql .= "($val $not IN (".
1585
+				substr($valeurs, 0, $n).
1586
+				"))\n".
1587 1587
 				($not ? "AND\t" : "OR\t");
1588 1588
 			$valeurs = substr($valeurs, $n + 1);
1589 1589
 			$i = $n = 0;
@@ -1648,7 +1648,7 @@  discard block
 block discarded – undo
1648 1648
 		}
1649 1649
 	}
1650 1650
 
1651
-	return ("'" . addslashes($v) . "'");
1651
+	return ("'".addslashes($v)."'");
1652 1652
 }
1653 1653
 
1654 1654
 
@@ -1677,9 +1677,9 @@  discard block
 block discarded – undo
1677 1677
 	$connexion = &$GLOBALS['connexions'][0];
1678 1678
 	$bd = $connexion['db'];
1679 1679
 	$prefixe = $connexion['prefixe'];
1680
-	$nom = "$bd:$prefixe:$nom" . _LOCK_TIME;
1680
+	$nom = "$bd:$prefixe:$nom"._LOCK_TIME;
1681 1681
 
1682
-	$connexion['last'] = $q = "SELECT GET_LOCK(" . _q($nom) . ", $timeout) AS n";
1682
+	$connexion['last'] = $q = "SELECT GET_LOCK("._q($nom).", $timeout) AS n";
1683 1683
 
1684 1684
 	$q = @sql_fetch(mysqli_query(_mysql_link(), $q));
1685 1685
 	if (!$q) {
@@ -1706,9 +1706,9 @@  discard block
 block discarded – undo
1706 1706
 	$connexion = &$GLOBALS['connexions'][0];
1707 1707
 	$bd = $connexion['db'];
1708 1708
 	$prefixe = $connexion['prefixe'];
1709
-	$nom = "$bd:$prefixe:$nom" . _LOCK_TIME;
1709
+	$nom = "$bd:$prefixe:$nom"._LOCK_TIME;
1710 1710
 
1711
-	$connexion['last'] = $q = "SELECT RELEASE_LOCK(" . _q($nom) . ")";
1711
+	$connexion['last'] = $q = "SELECT RELEASE_LOCK("._q($nom).")";
1712 1712
 	mysqli_query(_mysql_link(), $q);
1713 1713
 }
1714 1714
 
@@ -1744,7 +1744,7 @@  discard block
 block discarded – undo
1744 1744
 	} else {
1745 1745
 		$GLOBALS['mysql_rappel_nom_base'] = false;
1746 1746
 
1747
-		return "\$GLOBALS['mysql_rappel_nom_base'] = false; " .
1747
+		return "\$GLOBALS['mysql_rappel_nom_base'] = false; ".
1748 1748
 		"/* echec de test_rappel_nom_base_mysql a l'installation. */\n";
1749 1749
 	}
1750 1750
 }
Please login to merge, or discard this patch.
ecrire/xml/valider.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -319,7 +319,7 @@
 block discarded – undo
319 319
 	/**
320 320
 	 * Constructeur
321 321
 	 *
322
-	 * @param array $process ?
322
+	 * @param boolean $process ?
323 323
 	 **/
324 324
 	public function __construct($process = array()) {
325 325
 		if (is_array($process)) {
Please login to merge, or discard this patch.
Indentation   +331 added lines, -331 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 /**
@@ -23,333 +23,333 @@  discard block
 block discarded – undo
23 23
  **/
24 24
 class ValidateurXML {
25 25
 
26
-	// http://code.spip.net/@validerElement
27
-	public function validerElement($phraseur, $name, $attrs) {
28
-		if (!($p = isset($this->dtc->elements[$name]))) {
29
-			if ($p = strpos($name, ':')) {
30
-				$name = substr($name, $p + 1);
31
-				$p = isset($this->dtc->elements[$name]);
32
-			}
33
-			if (!$p) {
34
-				coordonnees_erreur($this, " <b>$name</b>&nbsp;: "
35
-					. _T('zxml_inconnu_balise'));
36
-
37
-				return;
38
-			}
39
-		}
40
-		// controler les filles illegitimes, ca suffit 
41
-		$depth = $this->depth;
42
-		$ouvrant = $this->ouvrant;
43
-		#spip_log("trouve $name apres " . $ouvrant[$depth]);
44
-		if (isset($ouvrant[$depth])) {
45
-			if (preg_match('/^\s*(\w+)/', $ouvrant[$depth], $r)) {
46
-				$pere = $r[1];
47
-				#spip_log("pere $pere");
48
-				if (isset($this->dtc->elements[$pere])) {
49
-					$fils = $this->dtc->elements[$pere];
50
-					#spip_log("rejeton $name fils " . @join(',',$fils));
51
-					if (!($p = @in_array($name, $fils))) {
52
-						if ($p = strpos($name, ':')) {
53
-							$p = substr($name, $p + 1);
54
-							$p = @in_array($p, $fils);
55
-						}
56
-					}
57
-					if (!$p) {
58
-						$bons_peres = @join('</b>, <b>', $this->dtc->peres[$name]);
59
-						coordonnees_erreur($this, " <b>$name</b> "
60
-							. _T('zxml_non_fils')
61
-							. ' <b>'
62
-							. $pere
63
-							. '</b>'
64
-							. (!$bons_peres ? ''
65
-								: ('<p style="font-size: 80%"> ' . _T('zxml_mais_de') . ' <b>' . $bons_peres . '</b></p>')));
66
-					} elseif ($this->dtc->regles[$pere][0] == '/') {
67
-						$frat = substr($depth, 2);
68
-						if (!isset($this->fratrie[$frat])) {
69
-							$this->fratrie[$frat] = '';
70
-						}
71
-						$this->fratrie[$frat] .= "$name ";
72
-					}
73
-				}
74
-			}
75
-		}
76
-		// Init de la suite des balises a memoriser si regle difficile
77
-		if ($this->dtc->regles[$name] and $this->dtc->regles[$name][0] == '/') {
78
-			$this->fratrie[$depth] = '';
79
-		}
80
-		if (isset($this->dtc->attributs[$name])) {
81
-			foreach ($this->dtc->attributs[$name] as $n => $v) {
82
-				if (($v[1] == '#REQUIRED') and (!isset($attrs[$n]))) {
83
-					coordonnees_erreur($this, " <b>$n</b>"
84
-						. '&nbsp;:&nbsp;'
85
-						. _T('zxml_obligatoire_attribut')
86
-						. " <b>$name</b>");
87
-				}
88
-			}
89
-		}
90
-	}
91
-
92
-	// http://code.spip.net/@validerAttribut
93
-	public function validerAttribut($phraseur, $name, $val, $bal) {
94
-		// Si la balise est inconnue, eviter d'insister
95
-		if (!isset($this->dtc->attributs[$bal])) {
96
-			return;
97
-		}
98
-
99
-		$a = $this->dtc->attributs[$bal];
100
-		if (!isset($a[$name])) {
101
-			$bons = join(', ', array_keys($a));
102
-			if ($bons) {
103
-				$bons = " title=' " .
104
-					_T('zxml_connus_attributs') .
105
-					'&nbsp;: ' .
106
-					$bons .
107
-					"'";
108
-			}
109
-			$bons .= " style='font-weight: bold'";
110
-			coordonnees_erreur($this, " <b>$name</b> "
111
-				. _T('zxml_inconnu_attribut') . ' ' . _T('zxml_de')
112
-				. " <a$bons>$bal</a> ("
113
-				. _T('zxml_survoler')
114
-				. ")");
115
-		} else {
116
-			$type = $a[$name][0];
117
-			if (!preg_match('/^\w+$/', $type)) {
118
-				$this->valider_motif($phraseur, $name, $val, $bal, $type);
119
-			} else {
120
-				if (method_exists($this, $f = 'validerAttribut_' . $type)) {
121
-					$this->$f($phraseur, $name, $val, $bal);
122
-				}
123
-			}
124
-			#		else spip_log("$type type d'attribut inconnu");
125
-		}
126
-	}
127
-
128
-	public function validerAttribut_NMTOKEN($phraseur, $name, $val, $bal) {
129
-		$this->valider_motif($phraseur, $name, $val, $bal, _REGEXP_NMTOKEN);
130
-	}
131
-
132
-	public function validerAttribut_NMTOKENS($phraseur, $name, $val, $bal) {
133
-		$this->valider_motif($phraseur, $name, $val, $bal, _REGEXP_NMTOKENS);
134
-	}
135
-
136
-	// http://code.spip.net/@validerAttribut_ID
137
-	public function validerAttribut_ID($phraseur, $name, $val, $bal) {
138
-		if (isset($this->ids[$val])) {
139
-			list($l, $c) = $this->ids[$val];
140
-			coordonnees_erreur($this, " <p><b>$val</b> "
141
-				. _T('zxml_valeur_attribut')
142
-				. " <b>$name</b> "
143
-				. _T('zxml_de')
144
-				. " <b>$bal</b> "
145
-				. _T('zxml_vu')
146
-				. " (L$l,C$c)");
147
-		} else {
148
-			$this->valider_motif($phraseur, $name, $val, $bal, _REGEXP_ID);
149
-			$this->ids[$val] = array(xml_get_current_line_number($phraseur), xml_get_current_column_number($phraseur));
150
-		}
151
-	}
152
-
153
-	// http://code.spip.net/@validerAttribut_IDREF
154
-	public function validerAttribut_IDREF($phraseur, $name, $val, $bal) {
155
-		$this->idrefs[] = array($val, xml_get_current_line_number($phraseur), xml_get_current_column_number($phraseur));
156
-	}
157
-
158
-	// http://code.spip.net/@validerAttribut_IDREFS
159
-	public function validerAttribut_IDREFS($phraseur, $name, $val, $bal) {
160
-		$this->idrefss[] = array($val, xml_get_current_line_number($phraseur), xml_get_current_column_number($phraseur));
161
-	}
162
-
163
-	// http://code.spip.net/@valider_motif
164
-	public function valider_motif($phraseur, $name, $val, $bal, $motif) {
165
-		if (!preg_match($motif, $val)) {
166
-			coordonnees_erreur($this, "<b>$val</b> "
167
-				. _T('zxml_valeur_attribut')
168
-				. " <b>$name</b> "
169
-				. _T('zxml_de')
170
-				. " <b>$bal</b> "
171
-				. _T('zxml_non_conforme')
172
-				. "</p><p>"
173
-				. "<b>" . $motif . "</b>");
174
-		}
175
-	}
176
-
177
-	// http://code.spip.net/@valider_idref
178
-	public function valider_idref($nom, $ligne, $col) {
179
-		if (!isset($this->ids[$nom])) {
180
-			$this->err[] = array(" <p><b>$nom</b> " . _T('zxml_inconnu_id'), $ligne, $col);
181
-		}
182
-	}
183
-
184
-	// http://code.spip.net/@valider_passe2
185
-	public function valider_passe2() {
186
-		if (!$this->err) {
187
-			foreach ($this->idrefs as $idref) {
188
-				list($nom, $ligne, $col) = $idref;
189
-				$this->valider_idref($nom, $ligne, $col);
190
-			}
191
-			foreach ($this->idrefss as $idref) {
192
-				list($noms, $ligne, $col) = $idref;
193
-				foreach (preg_split('/\s+/', $noms) as $nom) {
194
-					$this->valider_idref($nom, $ligne, $col);
195
-				}
196
-			}
197
-		}
198
-	}
199
-
200
-	// http://code.spip.net/@debutElement
201
-	public function debutElement($phraseur, $name, $attrs) {
202
-		if ($this->dtc->elements) {
203
-			$this->validerElement($phraseur, $name, $attrs);
204
-		}
205
-
206
-		if ($f = $this->process['debut']) {
207
-			$f($this, $name, $attrs);
208
-		}
209
-		$depth = $this->depth;
210
-		$this->debuts[$depth] = strlen($this->res);
211
-		foreach ($attrs as $k => $v) {
212
-			$this->validerAttribut($phraseur, $k, $v, $name);
213
-		}
214
-	}
215
-
216
-	// http://code.spip.net/@finElement
217
-	public function finElement($phraseur, $name) {
218
-		$depth = $this->depth;
219
-		$contenu = $this->contenu;
220
-
221
-		$n = strlen($this->res);
222
-		$c = strlen(trim($contenu[$depth]));
223
-		$k = $this->debuts[$depth];
224
-
225
-		$regle = isset($this->dtc->regles[$name]) ? $this->dtc->regles[$name] : false;
226
-		$vide = ($regle == 'EMPTY');
227
-		// controler que les balises devant etre vides le sont 
228
-		if ($vide) {
229
-			if ($n <> ($k + $c)) {
230
-				coordonnees_erreur($this, " <p><b>$name</b> " . _T('zxml_nonvide_balise'));
231
-			}
232
-			// pour les regles PCDATA ou iteration de disjonction, tout est fait
233
-		} elseif ($regle and ($regle != '*')) {
234
-			if ($regle == '+') {
235
-				// iteration de disjonction non vide: 1 balise au -
236
-				if ($n == $k) {
237
-					coordonnees_erreur($this, "<p>\n<b>$name</b> "
238
-						. _T('zxml_vide_balise'));
239
-				}
240
-			} else {
241
-				$f = isset($this->fratrie[substr($depth, 2)]) ? $this->fratrie[substr($depth, 2)] : null;
242
-				if (is_null($f) or !preg_match($regle, $f)) {
243
-					coordonnees_erreur($this,
244
-						" <p>\n<b>$name</b> "
245
-						. _T('zxml_succession_fils_incorrecte')
246
-						. '&nbsp;: <b>'
247
-						. $f
248
-						. '</b>');
249
-				}
250
-			}
251
-
252
-		}
253
-		if ($f = $this->process['fin']) {
254
-			$f($this, $name, $vide);
255
-		}
256
-	}
257
-
258
-	// http://code.spip.net/@textElement
259
-	public function textElement($phraseur, $data) {
260
-		if (trim($data)) {
261
-			$d = $this->depth;
262
-			$d = $this->ouvrant[$d];
263
-			preg_match('/^\s*(\S+)/', $d, $m);
264
-			if (isset($this->dtc->pcdata[$m[1]]) and ($this->dtc->pcdata[$m[1]])) {
265
-				coordonnees_erreur($this, " <p><b>" . $m[1] . "</b> "
266
-					. _T('zxml_nonvide_balise') // message a affiner
267
-				);
268
-			}
269
-		}
270
-		if ($f = $this->process['text']) {
271
-			$f($this, $data);
272
-		}
273
-	}
274
-
275
-	public function piElement($phraseur, $target, $data) {
276
-		if ($f = $this->process['pi']) {
277
-			$f($this, $target, $data);
278
-		}
279
-	}
280
-
281
-	// Denonciation des entitees XML inconnues
282
-	// Pour contourner le bug de conception de SAX qui ne signale pas si elles
283
-	// sont dans un attribut, les  entites les plus frequentes ont ete
284
-	// transcodees au prealable  (sauf & < > " que SAX traite correctement).
285
-	// On ne les verra donc pas passer a cette etape, contrairement a ce que 
286
-	// le source de la page laisse legitimement supposer. 
287
-
288
-	// http://code.spip.net/@defautElement
289
-	public function defaultElement($phraseur, $data) {
290
-		if (!preg_match('/^<!--/', $data)
291
-			and (preg_match_all('/&([^;]*)?/', $data, $r, PREG_SET_ORDER))
292
-		) {
293
-			foreach ($r as $m) {
294
-				list($t, $e) = $m;
295
-				if (!isset($this->dtc->entites[$e])) {
296
-					coordonnees_erreur($this, " <b>$e</b> "
297
-						. _T('zxml_inconnu_entite')
298
-						. ' '
299
-					);
300
-				}
301
-			}
302
-		}
303
-		if (isset($this->process['default']) and ($f = $this->process['default'])) {
304
-			$f($this, $data);
305
-		}
306
-	}
307
-
308
-	// http://code.spip.net/@phraserTout
309
-	public function phraserTout($phraseur, $data) {
310
-		xml_parsestring($this, $data);
311
-
312
-		if (!$this->dtc or preg_match(',^' . _MESSAGE_DOCTYPE . ',', $data)) {
313
-			$this->err[] = array('DOCTYPE ?', 0, 0);
314
-		} else {
315
-			$this->valider_passe2($this);
316
-		}
317
-	}
318
-
319
-	/**
320
-	 * Constructeur
321
-	 *
322
-	 * @param array $process ?
323
-	 **/
324
-	public function __construct($process = array()) {
325
-		if (is_array($process)) {
326
-			$this->process = $process;
327
-		}
328
-	}
329
-
330
-	public $ids = array();
331
-	public $idrefs = array();
332
-	public $idrefss = array();
333
-	public $debuts = array();
334
-	public $fratrie = array();
335
-
336
-	public $dtc = null;
337
-	public $sax = null;
338
-	public $depth = "";
339
-	public $entete = '';
340
-	public $page = '';
341
-	public $res = "";
342
-	public $err = array();
343
-	public $contenu = array();
344
-	public $ouvrant = array();
345
-	public $reperes = array();
346
-	public $process = array(
347
-		'debut' => 'xml_debutElement',
348
-		'fin' => 'xml_finElement',
349
-		'text' => 'xml_textElement',
350
-		'pi' => 'xml_piElement',
351
-		'default' => 'xml_defaultElement'
352
-	);
26
+    // http://code.spip.net/@validerElement
27
+    public function validerElement($phraseur, $name, $attrs) {
28
+        if (!($p = isset($this->dtc->elements[$name]))) {
29
+            if ($p = strpos($name, ':')) {
30
+                $name = substr($name, $p + 1);
31
+                $p = isset($this->dtc->elements[$name]);
32
+            }
33
+            if (!$p) {
34
+                coordonnees_erreur($this, " <b>$name</b>&nbsp;: "
35
+                    . _T('zxml_inconnu_balise'));
36
+
37
+                return;
38
+            }
39
+        }
40
+        // controler les filles illegitimes, ca suffit 
41
+        $depth = $this->depth;
42
+        $ouvrant = $this->ouvrant;
43
+        #spip_log("trouve $name apres " . $ouvrant[$depth]);
44
+        if (isset($ouvrant[$depth])) {
45
+            if (preg_match('/^\s*(\w+)/', $ouvrant[$depth], $r)) {
46
+                $pere = $r[1];
47
+                #spip_log("pere $pere");
48
+                if (isset($this->dtc->elements[$pere])) {
49
+                    $fils = $this->dtc->elements[$pere];
50
+                    #spip_log("rejeton $name fils " . @join(',',$fils));
51
+                    if (!($p = @in_array($name, $fils))) {
52
+                        if ($p = strpos($name, ':')) {
53
+                            $p = substr($name, $p + 1);
54
+                            $p = @in_array($p, $fils);
55
+                        }
56
+                    }
57
+                    if (!$p) {
58
+                        $bons_peres = @join('</b>, <b>', $this->dtc->peres[$name]);
59
+                        coordonnees_erreur($this, " <b>$name</b> "
60
+                            . _T('zxml_non_fils')
61
+                            . ' <b>'
62
+                            . $pere
63
+                            . '</b>'
64
+                            . (!$bons_peres ? ''
65
+                                : ('<p style="font-size: 80%"> ' . _T('zxml_mais_de') . ' <b>' . $bons_peres . '</b></p>')));
66
+                    } elseif ($this->dtc->regles[$pere][0] == '/') {
67
+                        $frat = substr($depth, 2);
68
+                        if (!isset($this->fratrie[$frat])) {
69
+                            $this->fratrie[$frat] = '';
70
+                        }
71
+                        $this->fratrie[$frat] .= "$name ";
72
+                    }
73
+                }
74
+            }
75
+        }
76
+        // Init de la suite des balises a memoriser si regle difficile
77
+        if ($this->dtc->regles[$name] and $this->dtc->regles[$name][0] == '/') {
78
+            $this->fratrie[$depth] = '';
79
+        }
80
+        if (isset($this->dtc->attributs[$name])) {
81
+            foreach ($this->dtc->attributs[$name] as $n => $v) {
82
+                if (($v[1] == '#REQUIRED') and (!isset($attrs[$n]))) {
83
+                    coordonnees_erreur($this, " <b>$n</b>"
84
+                        . '&nbsp;:&nbsp;'
85
+                        . _T('zxml_obligatoire_attribut')
86
+                        . " <b>$name</b>");
87
+                }
88
+            }
89
+        }
90
+    }
91
+
92
+    // http://code.spip.net/@validerAttribut
93
+    public function validerAttribut($phraseur, $name, $val, $bal) {
94
+        // Si la balise est inconnue, eviter d'insister
95
+        if (!isset($this->dtc->attributs[$bal])) {
96
+            return;
97
+        }
98
+
99
+        $a = $this->dtc->attributs[$bal];
100
+        if (!isset($a[$name])) {
101
+            $bons = join(', ', array_keys($a));
102
+            if ($bons) {
103
+                $bons = " title=' " .
104
+                    _T('zxml_connus_attributs') .
105
+                    '&nbsp;: ' .
106
+                    $bons .
107
+                    "'";
108
+            }
109
+            $bons .= " style='font-weight: bold'";
110
+            coordonnees_erreur($this, " <b>$name</b> "
111
+                . _T('zxml_inconnu_attribut') . ' ' . _T('zxml_de')
112
+                . " <a$bons>$bal</a> ("
113
+                . _T('zxml_survoler')
114
+                . ")");
115
+        } else {
116
+            $type = $a[$name][0];
117
+            if (!preg_match('/^\w+$/', $type)) {
118
+                $this->valider_motif($phraseur, $name, $val, $bal, $type);
119
+            } else {
120
+                if (method_exists($this, $f = 'validerAttribut_' . $type)) {
121
+                    $this->$f($phraseur, $name, $val, $bal);
122
+                }
123
+            }
124
+            #		else spip_log("$type type d'attribut inconnu");
125
+        }
126
+    }
127
+
128
+    public function validerAttribut_NMTOKEN($phraseur, $name, $val, $bal) {
129
+        $this->valider_motif($phraseur, $name, $val, $bal, _REGEXP_NMTOKEN);
130
+    }
131
+
132
+    public function validerAttribut_NMTOKENS($phraseur, $name, $val, $bal) {
133
+        $this->valider_motif($phraseur, $name, $val, $bal, _REGEXP_NMTOKENS);
134
+    }
135
+
136
+    // http://code.spip.net/@validerAttribut_ID
137
+    public function validerAttribut_ID($phraseur, $name, $val, $bal) {
138
+        if (isset($this->ids[$val])) {
139
+            list($l, $c) = $this->ids[$val];
140
+            coordonnees_erreur($this, " <p><b>$val</b> "
141
+                . _T('zxml_valeur_attribut')
142
+                . " <b>$name</b> "
143
+                . _T('zxml_de')
144
+                . " <b>$bal</b> "
145
+                . _T('zxml_vu')
146
+                . " (L$l,C$c)");
147
+        } else {
148
+            $this->valider_motif($phraseur, $name, $val, $bal, _REGEXP_ID);
149
+            $this->ids[$val] = array(xml_get_current_line_number($phraseur), xml_get_current_column_number($phraseur));
150
+        }
151
+    }
152
+
153
+    // http://code.spip.net/@validerAttribut_IDREF
154
+    public function validerAttribut_IDREF($phraseur, $name, $val, $bal) {
155
+        $this->idrefs[] = array($val, xml_get_current_line_number($phraseur), xml_get_current_column_number($phraseur));
156
+    }
157
+
158
+    // http://code.spip.net/@validerAttribut_IDREFS
159
+    public function validerAttribut_IDREFS($phraseur, $name, $val, $bal) {
160
+        $this->idrefss[] = array($val, xml_get_current_line_number($phraseur), xml_get_current_column_number($phraseur));
161
+    }
162
+
163
+    // http://code.spip.net/@valider_motif
164
+    public function valider_motif($phraseur, $name, $val, $bal, $motif) {
165
+        if (!preg_match($motif, $val)) {
166
+            coordonnees_erreur($this, "<b>$val</b> "
167
+                . _T('zxml_valeur_attribut')
168
+                . " <b>$name</b> "
169
+                . _T('zxml_de')
170
+                . " <b>$bal</b> "
171
+                . _T('zxml_non_conforme')
172
+                . "</p><p>"
173
+                . "<b>" . $motif . "</b>");
174
+        }
175
+    }
176
+
177
+    // http://code.spip.net/@valider_idref
178
+    public function valider_idref($nom, $ligne, $col) {
179
+        if (!isset($this->ids[$nom])) {
180
+            $this->err[] = array(" <p><b>$nom</b> " . _T('zxml_inconnu_id'), $ligne, $col);
181
+        }
182
+    }
183
+
184
+    // http://code.spip.net/@valider_passe2
185
+    public function valider_passe2() {
186
+        if (!$this->err) {
187
+            foreach ($this->idrefs as $idref) {
188
+                list($nom, $ligne, $col) = $idref;
189
+                $this->valider_idref($nom, $ligne, $col);
190
+            }
191
+            foreach ($this->idrefss as $idref) {
192
+                list($noms, $ligne, $col) = $idref;
193
+                foreach (preg_split('/\s+/', $noms) as $nom) {
194
+                    $this->valider_idref($nom, $ligne, $col);
195
+                }
196
+            }
197
+        }
198
+    }
199
+
200
+    // http://code.spip.net/@debutElement
201
+    public function debutElement($phraseur, $name, $attrs) {
202
+        if ($this->dtc->elements) {
203
+            $this->validerElement($phraseur, $name, $attrs);
204
+        }
205
+
206
+        if ($f = $this->process['debut']) {
207
+            $f($this, $name, $attrs);
208
+        }
209
+        $depth = $this->depth;
210
+        $this->debuts[$depth] = strlen($this->res);
211
+        foreach ($attrs as $k => $v) {
212
+            $this->validerAttribut($phraseur, $k, $v, $name);
213
+        }
214
+    }
215
+
216
+    // http://code.spip.net/@finElement
217
+    public function finElement($phraseur, $name) {
218
+        $depth = $this->depth;
219
+        $contenu = $this->contenu;
220
+
221
+        $n = strlen($this->res);
222
+        $c = strlen(trim($contenu[$depth]));
223
+        $k = $this->debuts[$depth];
224
+
225
+        $regle = isset($this->dtc->regles[$name]) ? $this->dtc->regles[$name] : false;
226
+        $vide = ($regle == 'EMPTY');
227
+        // controler que les balises devant etre vides le sont 
228
+        if ($vide) {
229
+            if ($n <> ($k + $c)) {
230
+                coordonnees_erreur($this, " <p><b>$name</b> " . _T('zxml_nonvide_balise'));
231
+            }
232
+            // pour les regles PCDATA ou iteration de disjonction, tout est fait
233
+        } elseif ($regle and ($regle != '*')) {
234
+            if ($regle == '+') {
235
+                // iteration de disjonction non vide: 1 balise au -
236
+                if ($n == $k) {
237
+                    coordonnees_erreur($this, "<p>\n<b>$name</b> "
238
+                        . _T('zxml_vide_balise'));
239
+                }
240
+            } else {
241
+                $f = isset($this->fratrie[substr($depth, 2)]) ? $this->fratrie[substr($depth, 2)] : null;
242
+                if (is_null($f) or !preg_match($regle, $f)) {
243
+                    coordonnees_erreur($this,
244
+                        " <p>\n<b>$name</b> "
245
+                        . _T('zxml_succession_fils_incorrecte')
246
+                        . '&nbsp;: <b>'
247
+                        . $f
248
+                        . '</b>');
249
+                }
250
+            }
251
+
252
+        }
253
+        if ($f = $this->process['fin']) {
254
+            $f($this, $name, $vide);
255
+        }
256
+    }
257
+
258
+    // http://code.spip.net/@textElement
259
+    public function textElement($phraseur, $data) {
260
+        if (trim($data)) {
261
+            $d = $this->depth;
262
+            $d = $this->ouvrant[$d];
263
+            preg_match('/^\s*(\S+)/', $d, $m);
264
+            if (isset($this->dtc->pcdata[$m[1]]) and ($this->dtc->pcdata[$m[1]])) {
265
+                coordonnees_erreur($this, " <p><b>" . $m[1] . "</b> "
266
+                    . _T('zxml_nonvide_balise') // message a affiner
267
+                );
268
+            }
269
+        }
270
+        if ($f = $this->process['text']) {
271
+            $f($this, $data);
272
+        }
273
+    }
274
+
275
+    public function piElement($phraseur, $target, $data) {
276
+        if ($f = $this->process['pi']) {
277
+            $f($this, $target, $data);
278
+        }
279
+    }
280
+
281
+    // Denonciation des entitees XML inconnues
282
+    // Pour contourner le bug de conception de SAX qui ne signale pas si elles
283
+    // sont dans un attribut, les  entites les plus frequentes ont ete
284
+    // transcodees au prealable  (sauf & < > " que SAX traite correctement).
285
+    // On ne les verra donc pas passer a cette etape, contrairement a ce que 
286
+    // le source de la page laisse legitimement supposer. 
287
+
288
+    // http://code.spip.net/@defautElement
289
+    public function defaultElement($phraseur, $data) {
290
+        if (!preg_match('/^<!--/', $data)
291
+            and (preg_match_all('/&([^;]*)?/', $data, $r, PREG_SET_ORDER))
292
+        ) {
293
+            foreach ($r as $m) {
294
+                list($t, $e) = $m;
295
+                if (!isset($this->dtc->entites[$e])) {
296
+                    coordonnees_erreur($this, " <b>$e</b> "
297
+                        . _T('zxml_inconnu_entite')
298
+                        . ' '
299
+                    );
300
+                }
301
+            }
302
+        }
303
+        if (isset($this->process['default']) and ($f = $this->process['default'])) {
304
+            $f($this, $data);
305
+        }
306
+    }
307
+
308
+    // http://code.spip.net/@phraserTout
309
+    public function phraserTout($phraseur, $data) {
310
+        xml_parsestring($this, $data);
311
+
312
+        if (!$this->dtc or preg_match(',^' . _MESSAGE_DOCTYPE . ',', $data)) {
313
+            $this->err[] = array('DOCTYPE ?', 0, 0);
314
+        } else {
315
+            $this->valider_passe2($this);
316
+        }
317
+    }
318
+
319
+    /**
320
+     * Constructeur
321
+     *
322
+     * @param array $process ?
323
+     **/
324
+    public function __construct($process = array()) {
325
+        if (is_array($process)) {
326
+            $this->process = $process;
327
+        }
328
+    }
329
+
330
+    public $ids = array();
331
+    public $idrefs = array();
332
+    public $idrefss = array();
333
+    public $debuts = array();
334
+    public $fratrie = array();
335
+
336
+    public $dtc = null;
337
+    public $sax = null;
338
+    public $depth = "";
339
+    public $entete = '';
340
+    public $page = '';
341
+    public $res = "";
342
+    public $err = array();
343
+    public $contenu = array();
344
+    public $ouvrant = array();
345
+    public $reperes = array();
346
+    public $process = array(
347
+        'debut' => 'xml_debutElement',
348
+        'fin' => 'xml_finElement',
349
+        'text' => 'xml_textElement',
350
+        'pi' => 'xml_piElement',
351
+        'default' => 'xml_defaultElement'
352
+    );
353 353
 }
354 354
 
355 355
 
@@ -359,8 +359,8 @@  discard block
 block discarded – undo
359 359
  *
360 360
  **/
361 361
 function xml_valider_dist($page, $apply = false, $process = false, $doctype = '', $charset = null) {
362
-	$f = new ValidateurXML($process);
363
-	$sax = charger_fonction('sax', 'xml');
362
+    $f = new ValidateurXML($process);
363
+    $sax = charger_fonction('sax', 'xml');
364 364
 
365
-	return $sax($page, $apply, $f, $doctype, $charset);
365
+    return $sax($page, $apply, $f, $doctype, $charset);
366 366
 }
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 							. $pere
63 63
 							. '</b>'
64 64
 							. (!$bons_peres ? ''
65
-								: ('<p style="font-size: 80%"> ' . _T('zxml_mais_de') . ' <b>' . $bons_peres . '</b></p>')));
65
+								: ('<p style="font-size: 80%"> '._T('zxml_mais_de').' <b>'.$bons_peres.'</b></p>')));
66 66
 					} elseif ($this->dtc->regles[$pere][0] == '/') {
67 67
 						$frat = substr($depth, 2);
68 68
 						if (!isset($this->fratrie[$frat])) {
@@ -100,15 +100,15 @@  discard block
 block discarded – undo
100 100
 		if (!isset($a[$name])) {
101 101
 			$bons = join(', ', array_keys($a));
102 102
 			if ($bons) {
103
-				$bons = " title=' " .
104
-					_T('zxml_connus_attributs') .
105
-					'&nbsp;: ' .
106
-					$bons .
103
+				$bons = " title=' ".
104
+					_T('zxml_connus_attributs').
105
+					'&nbsp;: '.
106
+					$bons.
107 107
 					"'";
108 108
 			}
109 109
 			$bons .= " style='font-weight: bold'";
110 110
 			coordonnees_erreur($this, " <b>$name</b> "
111
-				. _T('zxml_inconnu_attribut') . ' ' . _T('zxml_de')
111
+				. _T('zxml_inconnu_attribut').' '._T('zxml_de')
112 112
 				. " <a$bons>$bal</a> ("
113 113
 				. _T('zxml_survoler')
114 114
 				. ")");
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
 			if (!preg_match('/^\w+$/', $type)) {
118 118
 				$this->valider_motif($phraseur, $name, $val, $bal, $type);
119 119
 			} else {
120
-				if (method_exists($this, $f = 'validerAttribut_' . $type)) {
120
+				if (method_exists($this, $f = 'validerAttribut_'.$type)) {
121 121
 					$this->$f($phraseur, $name, $val, $bal);
122 122
 				}
123 123
 			}
@@ -170,14 +170,14 @@  discard block
 block discarded – undo
170 170
 				. " <b>$bal</b> "
171 171
 				. _T('zxml_non_conforme')
172 172
 				. "</p><p>"
173
-				. "<b>" . $motif . "</b>");
173
+				. "<b>".$motif."</b>");
174 174
 		}
175 175
 	}
176 176
 
177 177
 	// http://code.spip.net/@valider_idref
178 178
 	public function valider_idref($nom, $ligne, $col) {
179 179
 		if (!isset($this->ids[$nom])) {
180
-			$this->err[] = array(" <p><b>$nom</b> " . _T('zxml_inconnu_id'), $ligne, $col);
180
+			$this->err[] = array(" <p><b>$nom</b> "._T('zxml_inconnu_id'), $ligne, $col);
181 181
 		}
182 182
 	}
183 183
 
@@ -227,7 +227,7 @@  discard block
 block discarded – undo
227 227
 		// controler que les balises devant etre vides le sont 
228 228
 		if ($vide) {
229 229
 			if ($n <> ($k + $c)) {
230
-				coordonnees_erreur($this, " <p><b>$name</b> " . _T('zxml_nonvide_balise'));
230
+				coordonnees_erreur($this, " <p><b>$name</b> "._T('zxml_nonvide_balise'));
231 231
 			}
232 232
 			// pour les regles PCDATA ou iteration de disjonction, tout est fait
233 233
 		} elseif ($regle and ($regle != '*')) {
@@ -262,7 +262,7 @@  discard block
 block discarded – undo
262 262
 			$d = $this->ouvrant[$d];
263 263
 			preg_match('/^\s*(\S+)/', $d, $m);
264 264
 			if (isset($this->dtc->pcdata[$m[1]]) and ($this->dtc->pcdata[$m[1]])) {
265
-				coordonnees_erreur($this, " <p><b>" . $m[1] . "</b> "
265
+				coordonnees_erreur($this, " <p><b>".$m[1]."</b> "
266 266
 					. _T('zxml_nonvide_balise') // message a affiner
267 267
 				);
268 268
 			}
@@ -309,7 +309,7 @@  discard block
 block discarded – undo
309 309
 	public function phraserTout($phraseur, $data) {
310 310
 		xml_parsestring($this, $data);
311 311
 
312
-		if (!$this->dtc or preg_match(',^' . _MESSAGE_DOCTYPE . ',', $data)) {
312
+		if (!$this->dtc or preg_match(',^'._MESSAGE_DOCTYPE.',', $data)) {
313 313
 			$this->err[] = array('DOCTYPE ?', 0, 0);
314 314
 		} else {
315 315
 			$this->valider_passe2($this);
Please login to merge, or discard this patch.
ecrire/action/editer_article.php 3 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -160,7 +160,7 @@  discard block
 block discarded – undo
160 160
  * @param int $id_rubrique
161 161
  *     Identifiant de la rubrique parente
162 162
  * @param array|null $set
163
- * @return int
163
+ * @return boolean|string
164 164
  *     Identifiant du nouvel article
165 165
  *
166 166
  */
@@ -533,7 +533,7 @@  discard block
 block discarded – undo
533 533
  *
534 534
  * @param int $id_rubrique
535 535
  *     Identifiant de la rubrique
536
- * @return int
536
+ * @return boolean|string
537 537
  *     Identifiant du nouvel article
538 538
  */
539 539
 function insert_article($id_rubrique) {
Please login to merge, or discard this patch.
Indentation   +301 added lines, -301 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
 /**
@@ -40,36 +40,36 @@  discard block
 block discarded – undo
40 40
  *     Liste (identifiant de l'article, Texte d'erreur éventuel)
41 41
  */
42 42
 function action_editer_article_dist($arg = null) {
43
-	include_spip('inc/autoriser');
44
-	$err = "";
45
-	if (is_null($arg)) {
46
-		$securiser_action = charger_fonction('securiser_action', 'inc');
47
-		$arg = $securiser_action();
48
-	}
49
-
50
-	// si id_article n'est pas un nombre, c'est une creation 
51
-	// mais on verifie qu'on a toutes les donnees qu'il faut.
52
-	if (!$id_article = intval($arg)) {
53
-		$id_parent = _request('id_parent');
54
-		if (!$id_parent) {
55
-			$err = _L("creation interdite d'un article sans rubrique");
56
-		} elseif (!autoriser('creerarticledans', 'rubrique', $id_parent)) {
57
-			$err = _T("info_creerdansrubrique_non_autorise");
58
-		} else {
59
-			$id_article = article_inserer($id_parent);
60
-		}
61
-	}
62
-
63
-	// Enregistre l'envoi dans la BD
64
-	if ($id_article > 0) {
65
-		$err = article_modifier($id_article);
66
-	}
67
-
68
-	if ($err) {
69
-		spip_log("echec editeur article: $err", _LOG_ERREUR);
70
-	}
71
-
72
-	return array($id_article, $err);
43
+    include_spip('inc/autoriser');
44
+    $err = "";
45
+    if (is_null($arg)) {
46
+        $securiser_action = charger_fonction('securiser_action', 'inc');
47
+        $arg = $securiser_action();
48
+    }
49
+
50
+    // si id_article n'est pas un nombre, c'est une creation 
51
+    // mais on verifie qu'on a toutes les donnees qu'il faut.
52
+    if (!$id_article = intval($arg)) {
53
+        $id_parent = _request('id_parent');
54
+        if (!$id_parent) {
55
+            $err = _L("creation interdite d'un article sans rubrique");
56
+        } elseif (!autoriser('creerarticledans', 'rubrique', $id_parent)) {
57
+            $err = _T("info_creerdansrubrique_non_autorise");
58
+        } else {
59
+            $id_article = article_inserer($id_parent);
60
+        }
61
+    }
62
+
63
+    // Enregistre l'envoi dans la BD
64
+    if ($id_article > 0) {
65
+        $err = article_modifier($id_article);
66
+    }
67
+
68
+    if ($err) {
69
+        spip_log("echec editeur article: $err", _LOG_ERREUR);
70
+    }
71
+
72
+    return array($id_article, $err);
73 73
 }
74 74
 
75 75
 /**
@@ -91,46 +91,46 @@  discard block
 block discarded – undo
91 91
  */
92 92
 function article_modifier($id_article, $set = null) {
93 93
 
94
-	// unifier $texte en cas de texte trop long
95
-	trop_longs_articles();
96
-
97
-	include_spip('inc/modifier');
98
-	include_spip('inc/filtres');
99
-	$c = collecter_requests(
100
-	// white list
101
-		objet_info('article', 'champs_editables'),
102
-		// black list
103
-		array('date', 'statut', 'id_parent'),
104
-		// donnees eventuellement fournies
105
-		$set
106
-	);
107
-
108
-	// Si l'article est publie, invalider les caches et demander sa reindexation
109
-	$t = sql_getfetsel("statut", "spip_articles", "id_article=" . intval($id_article));
110
-	$invalideur = $indexation = false;
111
-	if ($t == 'publie') {
112
-		$invalideur = "id='article/$id_article'";
113
-		$indexation = true;
114
-	}
115
-
116
-	if ($err = objet_modifier_champs('article', $id_article,
117
-		array(
118
-			'data' => $set,
119
-			'nonvide' => array('titre' => _T('info_nouvel_article') . " " . _T('info_numero_abbreviation') . $id_article),
120
-			'invalideur' => $invalideur,
121
-			'indexation' => $indexation,
122
-			'date_modif' => 'date_modif' // champ a mettre a date('Y-m-d H:i:s') s'il y a modif
123
-		),
124
-		$c)
125
-	) {
126
-		return $err;
127
-	}
128
-
129
-	// Modification de statut, changement de rubrique ?
130
-	$c = collecter_requests(array('date', 'statut', 'id_parent'), array(), $set);
131
-	$err = article_instituer($id_article, $c);
132
-
133
-	return $err;
94
+    // unifier $texte en cas de texte trop long
95
+    trop_longs_articles();
96
+
97
+    include_spip('inc/modifier');
98
+    include_spip('inc/filtres');
99
+    $c = collecter_requests(
100
+    // white list
101
+        objet_info('article', 'champs_editables'),
102
+        // black list
103
+        array('date', 'statut', 'id_parent'),
104
+        // donnees eventuellement fournies
105
+        $set
106
+    );
107
+
108
+    // Si l'article est publie, invalider les caches et demander sa reindexation
109
+    $t = sql_getfetsel("statut", "spip_articles", "id_article=" . intval($id_article));
110
+    $invalideur = $indexation = false;
111
+    if ($t == 'publie') {
112
+        $invalideur = "id='article/$id_article'";
113
+        $indexation = true;
114
+    }
115
+
116
+    if ($err = objet_modifier_champs('article', $id_article,
117
+        array(
118
+            'data' => $set,
119
+            'nonvide' => array('titre' => _T('info_nouvel_article') . " " . _T('info_numero_abbreviation') . $id_article),
120
+            'invalideur' => $invalideur,
121
+            'indexation' => $indexation,
122
+            'date_modif' => 'date_modif' // champ a mettre a date('Y-m-d H:i:s') s'il y a modif
123
+        ),
124
+        $c)
125
+    ) {
126
+        return $err;
127
+    }
128
+
129
+    // Modification de statut, changement de rubrique ?
130
+    $c = collecter_requests(array('date', 'statut', 'id_parent'), array(), $set);
131
+    $err = article_instituer($id_article, $c);
132
+
133
+    return $err;
134 134
 }
135 135
 
136 136
 /**
@@ -166,90 +166,90 @@  discard block
 block discarded – undo
166 166
  */
167 167
 function article_inserer($id_rubrique, $set = null) {
168 168
 
169
-	// Si id_rubrique vaut 0 ou n'est pas definie, creer l'article
170
-	// dans la premiere rubrique racine
171
-	if (!$id_rubrique = intval($id_rubrique)) {
172
-		$row = sql_fetsel("id_rubrique, id_secteur, lang", "spip_rubriques", "id_parent=0", '', '0+titre,titre', "1");
173
-		$id_rubrique = $row['id_rubrique'];
174
-	} else {
175
-		$row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique");
176
-	}
177
-
178
-	// eviter $id_secteur = NULL (erreur sqlite) si la requete precedente echoue 
179
-	// cas de id_rubrique = -1 par exemple avec plugin "pages"
180
-	$id_secteur = isset($row['id_secteur']) ? $row['id_secteur'] : 0;
181
-
182
-	$lang_rub = $row['lang'];
183
-
184
-	$lang = "";
185
-	$choisie = 'non';
186
-	// La langue a la creation : si les liens de traduction sont autorises
187
-	// dans les rubriques, on essaie avec la langue de l'auteur,
188
-	// ou a defaut celle de la rubrique
189
-	// Sinon c'est la langue de la rubrique qui est choisie + heritee
190
-	if (!empty($GLOBALS['meta']['multi_objets']) and in_array('spip_articles',
191
-			explode(',', $GLOBALS['meta']['multi_objets']))
192
-	) {
193
-		lang_select($GLOBALS['visiteur_session']['lang']);
194
-		if (in_array($GLOBALS['spip_lang'],
195
-			explode(',', $GLOBALS['meta']['langues_multilingue']))) {
196
-			$lang = $GLOBALS['spip_lang'];
197
-			$choisie = 'oui';
198
-		}
199
-	}
200
-
201
-	if (!$lang) {
202
-		$choisie = 'non';
203
-		$lang = $lang_rub ? $lang_rub : $GLOBALS['meta']['langue_site'];
204
-	}
205
-
206
-	$champs = array(
207
-		'id_rubrique' => $id_rubrique,
208
-		'id_secteur' => $id_secteur,
209
-		'statut' => 'prepa',
210
-		'date' => date('Y-m-d H:i:s'),
211
-		'lang' => $lang,
212
-		'langue_choisie' => $choisie
213
-	);
214
-
215
-	if ($set) {
216
-		$champs = array_merge($champs, $set);
217
-	}
218
-
219
-	// Envoyer aux plugins
220
-	$champs = pipeline('pre_insertion',
221
-		array(
222
-			'args' => array(
223
-				'table' => 'spip_articles',
224
-			),
225
-			'data' => $champs
226
-		)
227
-	);
228
-
229
-	$id_article = sql_insertq("spip_articles", $champs);
230
-
231
-	// controler si le serveur n'a pas renvoye une erreur
232
-	if ($id_article > 0) {
233
-		$id_auteur = ((is_null(_request('id_auteur')) and isset($GLOBALS['visiteur_session']['id_auteur'])) ?
234
-			$GLOBALS['visiteur_session']['id_auteur']
235
-			: _request('id_auteur'));
236
-		if ($id_auteur) {
237
-			include_spip('action/editer_auteur');
238
-			auteur_associer($id_auteur, array('article' => $id_article));
239
-		}
240
-	}
241
-
242
-	pipeline('post_insertion',
243
-		array(
244
-			'args' => array(
245
-				'table' => 'spip_articles',
246
-				'id_objet' => $id_article
247
-			),
248
-			'data' => $champs
249
-		)
250
-	);
251
-
252
-	return $id_article;
169
+    // Si id_rubrique vaut 0 ou n'est pas definie, creer l'article
170
+    // dans la premiere rubrique racine
171
+    if (!$id_rubrique = intval($id_rubrique)) {
172
+        $row = sql_fetsel("id_rubrique, id_secteur, lang", "spip_rubriques", "id_parent=0", '', '0+titre,titre', "1");
173
+        $id_rubrique = $row['id_rubrique'];
174
+    } else {
175
+        $row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique");
176
+    }
177
+
178
+    // eviter $id_secteur = NULL (erreur sqlite) si la requete precedente echoue 
179
+    // cas de id_rubrique = -1 par exemple avec plugin "pages"
180
+    $id_secteur = isset($row['id_secteur']) ? $row['id_secteur'] : 0;
181
+
182
+    $lang_rub = $row['lang'];
183
+
184
+    $lang = "";
185
+    $choisie = 'non';
186
+    // La langue a la creation : si les liens de traduction sont autorises
187
+    // dans les rubriques, on essaie avec la langue de l'auteur,
188
+    // ou a defaut celle de la rubrique
189
+    // Sinon c'est la langue de la rubrique qui est choisie + heritee
190
+    if (!empty($GLOBALS['meta']['multi_objets']) and in_array('spip_articles',
191
+            explode(',', $GLOBALS['meta']['multi_objets']))
192
+    ) {
193
+        lang_select($GLOBALS['visiteur_session']['lang']);
194
+        if (in_array($GLOBALS['spip_lang'],
195
+            explode(',', $GLOBALS['meta']['langues_multilingue']))) {
196
+            $lang = $GLOBALS['spip_lang'];
197
+            $choisie = 'oui';
198
+        }
199
+    }
200
+
201
+    if (!$lang) {
202
+        $choisie = 'non';
203
+        $lang = $lang_rub ? $lang_rub : $GLOBALS['meta']['langue_site'];
204
+    }
205
+
206
+    $champs = array(
207
+        'id_rubrique' => $id_rubrique,
208
+        'id_secteur' => $id_secteur,
209
+        'statut' => 'prepa',
210
+        'date' => date('Y-m-d H:i:s'),
211
+        'lang' => $lang,
212
+        'langue_choisie' => $choisie
213
+    );
214
+
215
+    if ($set) {
216
+        $champs = array_merge($champs, $set);
217
+    }
218
+
219
+    // Envoyer aux plugins
220
+    $champs = pipeline('pre_insertion',
221
+        array(
222
+            'args' => array(
223
+                'table' => 'spip_articles',
224
+            ),
225
+            'data' => $champs
226
+        )
227
+    );
228
+
229
+    $id_article = sql_insertq("spip_articles", $champs);
230
+
231
+    // controler si le serveur n'a pas renvoye une erreur
232
+    if ($id_article > 0) {
233
+        $id_auteur = ((is_null(_request('id_auteur')) and isset($GLOBALS['visiteur_session']['id_auteur'])) ?
234
+            $GLOBALS['visiteur_session']['id_auteur']
235
+            : _request('id_auteur'));
236
+        if ($id_auteur) {
237
+            include_spip('action/editer_auteur');
238
+            auteur_associer($id_auteur, array('article' => $id_article));
239
+        }
240
+    }
241
+
242
+    pipeline('post_insertion',
243
+        array(
244
+            'args' => array(
245
+                'table' => 'spip_articles',
246
+                'id_objet' => $id_article
247
+            ),
248
+            'data' => $champs
249
+        )
250
+    );
251
+
252
+    return $id_article;
253 253
 }
254 254
 
255 255
 
@@ -277,120 +277,120 @@  discard block
 block discarded – undo
277 277
  */
278 278
 function article_instituer($id_article, $c, $calcul_rub = true) {
279 279
 
280
-	include_spip('inc/autoriser');
281
-	include_spip('inc/rubriques');
282
-	include_spip('inc/modifier');
283
-
284
-	$row = sql_fetsel("statut, date, id_rubrique", "spip_articles", "id_article=$id_article");
285
-	$id_rubrique = $row['id_rubrique'];
286
-	$statut_ancien = $statut = $row['statut'];
287
-	$date_ancienne = $date = $row['date'];
288
-	$champs = array();
289
-
290
-	$d = isset($c['date']) ? $c['date'] : null;
291
-	$s = isset($c['statut']) ? $c['statut'] : $statut;
292
-
293
-	// cf autorisations dans inc/instituer_article
294
-	if ($s != $statut or ($d and $d != $date)) {
295
-		if (autoriser('publierdans', 'rubrique', $id_rubrique)) {
296
-			$statut = $champs['statut'] = $s;
297
-		} else {
298
-			if (autoriser('modifier', 'article', $id_article) and $s != 'publie') {
299
-				$statut = $champs['statut'] = $s;
300
-			} else {
301
-				spip_log("editer_article $id_article refus " . join(' ', $c));
302
-			}
303
-		}
304
-
305
-		// En cas de publication, fixer la date a "maintenant"
306
-		// sauf si $c commande autre chose
307
-		// ou si l'article est deja date dans le futur
308
-		// En cas de proposition d'un article (mais pas depublication), idem
309
-		if ($champs['statut'] == 'publie'
310
-			or ($champs['statut'] == 'prop' and ($d or !in_array($statut_ancien, array('publie', 'prop'))))
311
-		) {
312
-			if ($d or strtotime($d = $date) > time()) {
313
-				$champs['date'] = $date = $d;
314
-			} else {
315
-				$champs['date'] = $date = date('Y-m-d H:i:s');
316
-			}
317
-		}
318
-	}
319
-
320
-	// Verifier que la rubrique demandee existe et est differente
321
-	// de la rubrique actuelle
322
-	if (isset($c['id_parent'])
323
-		and $id_parent = $c['id_parent']
324
-		and $id_parent != $id_rubrique
325
-		and (sql_fetsel('1', "spip_rubriques", "id_rubrique=" . intval($id_parent)))
326
-	) {
327
-		$champs['id_rubrique'] = $id_parent;
328
-
329
-		// si l'article etait publie
330
-		// et que le demandeur n'est pas admin de la rubrique de destination
331
-		// repasser l'article en statut 'propose'.
332
-		if ($statut == 'publie'
333
-			and !autoriser('publierdans', 'rubrique', $id_parent)
334
-		) {
335
-			$champs['statut'] = 'prop';
336
-		}
337
-	}
338
-
339
-	// Envoyer aux plugins
340
-	$champs = pipeline('pre_edition',
341
-		array(
342
-			'args' => array(
343
-				'table' => 'spip_articles',
344
-				'id_objet' => $id_article,
345
-				'action' => 'instituer',
346
-				'statut_ancien' => $statut_ancien,
347
-				'date_ancienne' => $date_ancienne,
348
-			),
349
-			'data' => $champs
350
-		)
351
-	);
352
-
353
-	if (!count($champs)) {
354
-		return '';
355
-	}
356
-
357
-	// Envoyer les modifs.
358
-	editer_article_heritage($id_article, $id_rubrique, $statut_ancien, $champs, $calcul_rub);
359
-
360
-	// Invalider les caches
361
-	include_spip('inc/invalideur');
362
-	suivre_invalideur("id='article/$id_article'");
363
-
364
-	if ($date) {
365
-		$t = strtotime($date);
366
-		$p = @$GLOBALS['meta']['date_prochain_postdate'];
367
-		if ($t > time() and (!$p or ($t < $p))) {
368
-			ecrire_meta('date_prochain_postdate', $t);
369
-		}
370
-	}
371
-
372
-	// Pipeline
373
-	pipeline('post_edition',
374
-		array(
375
-			'args' => array(
376
-				'table' => 'spip_articles',
377
-				'id_objet' => $id_article,
378
-				'action' => 'instituer',
379
-				'statut_ancien' => $statut_ancien,
380
-				'date_ancienne' => $date_ancienne,
381
-			),
382
-			'data' => $champs
383
-		)
384
-	);
385
-
386
-	// Notifications
387
-	if ($notifications = charger_fonction('notifications', 'inc')) {
388
-		$notifications('instituerarticle', $id_article,
389
-			array('statut' => $statut, 'statut_ancien' => $statut_ancien, 'date' => $date, 'date_ancienne' => $date_ancienne)
390
-		);
391
-	}
392
-
393
-	return ''; // pas d'erreur
280
+    include_spip('inc/autoriser');
281
+    include_spip('inc/rubriques');
282
+    include_spip('inc/modifier');
283
+
284
+    $row = sql_fetsel("statut, date, id_rubrique", "spip_articles", "id_article=$id_article");
285
+    $id_rubrique = $row['id_rubrique'];
286
+    $statut_ancien = $statut = $row['statut'];
287
+    $date_ancienne = $date = $row['date'];
288
+    $champs = array();
289
+
290
+    $d = isset($c['date']) ? $c['date'] : null;
291
+    $s = isset($c['statut']) ? $c['statut'] : $statut;
292
+
293
+    // cf autorisations dans inc/instituer_article
294
+    if ($s != $statut or ($d and $d != $date)) {
295
+        if (autoriser('publierdans', 'rubrique', $id_rubrique)) {
296
+            $statut = $champs['statut'] = $s;
297
+        } else {
298
+            if (autoriser('modifier', 'article', $id_article) and $s != 'publie') {
299
+                $statut = $champs['statut'] = $s;
300
+            } else {
301
+                spip_log("editer_article $id_article refus " . join(' ', $c));
302
+            }
303
+        }
304
+
305
+        // En cas de publication, fixer la date a "maintenant"
306
+        // sauf si $c commande autre chose
307
+        // ou si l'article est deja date dans le futur
308
+        // En cas de proposition d'un article (mais pas depublication), idem
309
+        if ($champs['statut'] == 'publie'
310
+            or ($champs['statut'] == 'prop' and ($d or !in_array($statut_ancien, array('publie', 'prop'))))
311
+        ) {
312
+            if ($d or strtotime($d = $date) > time()) {
313
+                $champs['date'] = $date = $d;
314
+            } else {
315
+                $champs['date'] = $date = date('Y-m-d H:i:s');
316
+            }
317
+        }
318
+    }
319
+
320
+    // Verifier que la rubrique demandee existe et est differente
321
+    // de la rubrique actuelle
322
+    if (isset($c['id_parent'])
323
+        and $id_parent = $c['id_parent']
324
+        and $id_parent != $id_rubrique
325
+        and (sql_fetsel('1', "spip_rubriques", "id_rubrique=" . intval($id_parent)))
326
+    ) {
327
+        $champs['id_rubrique'] = $id_parent;
328
+
329
+        // si l'article etait publie
330
+        // et que le demandeur n'est pas admin de la rubrique de destination
331
+        // repasser l'article en statut 'propose'.
332
+        if ($statut == 'publie'
333
+            and !autoriser('publierdans', 'rubrique', $id_parent)
334
+        ) {
335
+            $champs['statut'] = 'prop';
336
+        }
337
+    }
338
+
339
+    // Envoyer aux plugins
340
+    $champs = pipeline('pre_edition',
341
+        array(
342
+            'args' => array(
343
+                'table' => 'spip_articles',
344
+                'id_objet' => $id_article,
345
+                'action' => 'instituer',
346
+                'statut_ancien' => $statut_ancien,
347
+                'date_ancienne' => $date_ancienne,
348
+            ),
349
+            'data' => $champs
350
+        )
351
+    );
352
+
353
+    if (!count($champs)) {
354
+        return '';
355
+    }
356
+
357
+    // Envoyer les modifs.
358
+    editer_article_heritage($id_article, $id_rubrique, $statut_ancien, $champs, $calcul_rub);
359
+
360
+    // Invalider les caches
361
+    include_spip('inc/invalideur');
362
+    suivre_invalideur("id='article/$id_article'");
363
+
364
+    if ($date) {
365
+        $t = strtotime($date);
366
+        $p = @$GLOBALS['meta']['date_prochain_postdate'];
367
+        if ($t > time() and (!$p or ($t < $p))) {
368
+            ecrire_meta('date_prochain_postdate', $t);
369
+        }
370
+    }
371
+
372
+    // Pipeline
373
+    pipeline('post_edition',
374
+        array(
375
+            'args' => array(
376
+                'table' => 'spip_articles',
377
+                'id_objet' => $id_article,
378
+                'action' => 'instituer',
379
+                'statut_ancien' => $statut_ancien,
380
+                'date_ancienne' => $date_ancienne,
381
+            ),
382
+            'data' => $champs
383
+        )
384
+    );
385
+
386
+    // Notifications
387
+    if ($notifications = charger_fonction('notifications', 'inc')) {
388
+        $notifications('instituerarticle', $id_article,
389
+            array('statut' => $statut, 'statut_ancien' => $statut_ancien, 'date' => $date, 'date_ancienne' => $date_ancienne)
390
+        );
391
+    }
392
+
393
+    return ''; // pas d'erreur
394 394
 }
395 395
 
396 396
 /**
@@ -415,33 +415,33 @@  discard block
 block discarded – undo
415 415
  */
416 416
 function editer_article_heritage($id_article, $id_rubrique, $statut, $champs, $cond = true) {
417 417
 
418
-	// Si on deplace l'article
419
-	//  changer aussi son secteur et sa langue (si heritee)
420
-	if (isset($champs['id_rubrique'])) {
418
+    // Si on deplace l'article
419
+    //  changer aussi son secteur et sa langue (si heritee)
420
+    if (isset($champs['id_rubrique'])) {
421 421
 
422
-		$row_rub = sql_fetsel("id_secteur, lang", "spip_rubriques", "id_rubrique=" . sql_quote($champs['id_rubrique']));
422
+        $row_rub = sql_fetsel("id_secteur, lang", "spip_rubriques", "id_rubrique=" . sql_quote($champs['id_rubrique']));
423 423
 
424
-		$langue = $row_rub['lang'];
425
-		$champs['id_secteur'] = $row_rub['id_secteur'];
426
-		if (sql_fetsel('1', 'spip_articles',
427
-			"id_article=" . intval($id_article) . " AND langue_choisie<>'oui' AND lang<>" . sql_quote($langue))) {
428
-			$champs['lang'] = $langue;
429
-		}
430
-	}
424
+        $langue = $row_rub['lang'];
425
+        $champs['id_secteur'] = $row_rub['id_secteur'];
426
+        if (sql_fetsel('1', 'spip_articles',
427
+            "id_article=" . intval($id_article) . " AND langue_choisie<>'oui' AND lang<>" . sql_quote($langue))) {
428
+            $champs['lang'] = $langue;
429
+        }
430
+    }
431 431
 
432
-	if (!$champs) {
433
-		return;
434
-	}
432
+    if (!$champs) {
433
+        return;
434
+    }
435 435
 
436
-	sql_updateq('spip_articles', $champs, "id_article=" . intval($id_article));
436
+    sql_updateq('spip_articles', $champs, "id_article=" . intval($id_article));
437 437
 
438
-	// Changer le statut des rubriques concernees 
438
+    // Changer le statut des rubriques concernees 
439 439
 
440
-	if ($cond) {
441
-		include_spip('inc/rubriques');
442
-		$postdate = ($GLOBALS['meta']["post_dates"] == "non" and isset($champs['date']) and (strtotime($champs['date']) < time())) ? $champs['date'] : false;
443
-		calculer_rubriques_if($id_rubrique, $champs, $statut, $postdate);
444
-	}
440
+    if ($cond) {
441
+        include_spip('inc/rubriques');
442
+        $postdate = ($GLOBALS['meta']["post_dates"] == "non" and isset($champs['date']) and (strtotime($champs['date']) < time())) ? $champs['date'] : false;
443
+        calculer_rubriques_if($id_rubrique, $champs, $statut, $postdate);
444
+    }
445 445
 }
446 446
 
447 447
 /**
@@ -450,12 +450,12 @@  discard block
 block discarded – undo
450 450
  * @return void
451 451
  */
452 452
 function trop_longs_articles() {
453
-	if (is_array($plus = _request('texte_plus'))) {
454
-		foreach ($plus as $n => $t) {
455
-			$plus[$n] = preg_replace(",<!--SPIP-->[\n\r]*,", "", $t);
456
-		}
457
-		set_request('texte', join('', $plus) . _request('texte'));
458
-	}
453
+    if (is_array($plus = _request('texte_plus'))) {
454
+        foreach ($plus as $n => $t) {
455
+            $plus[$n] = preg_replace(",<!--SPIP-->[\n\r]*,", "", $t);
456
+        }
457
+        set_request('texte', join('', $plus) . _request('texte'));
458
+    }
459 459
 }
460 460
 
461 461
 
@@ -480,7 +480,7 @@  discard block
 block discarded – undo
480 480
  *     Chaîne contenant un texte d'erreur sinon.
481 481
  */
482 482
 function revisions_articles($id_article, $c = false) {
483
-	return article_modifier($id_article, $c);
483
+    return article_modifier($id_article, $c);
484 484
 }
485 485
 
486 486
 /**
@@ -501,7 +501,7 @@  discard block
 block discarded – undo
501 501
  *     Chaîne contenant un texte d'erreur sinon.
502 502
  */
503 503
 function revision_article($id_article, $c = false) {
504
-	return article_modifier($id_article, $c);
504
+    return article_modifier($id_article, $c);
505 505
 }
506 506
 
507 507
 /**
@@ -522,7 +522,7 @@  discard block
 block discarded – undo
522 522
  *     Chaîne contenant un texte d'erreur sinon.
523 523
  */
524 524
 function articles_set($id_article, $set = null) {
525
-	return article_modifier($id_article, $set);
525
+    return article_modifier($id_article, $set);
526 526
 }
527 527
 
528 528
 /**
@@ -537,7 +537,7 @@  discard block
 block discarded – undo
537 537
  *     Identifiant du nouvel article
538 538
  */
539 539
 function insert_article($id_rubrique) {
540
-	return article_inserer($id_rubrique);
540
+    return article_inserer($id_rubrique);
541 541
 }
542 542
 
543 543
 /**
@@ -559,5 +559,5 @@  discard block
 block discarded – undo
559 559
  *     Chaîne vide
560 560
  */
561 561
 function instituer_article($id_article, $c, $calcul_rub = true) {
562
-	return article_instituer($id_article, $c, $calcul_rub);
562
+    return article_instituer($id_article, $c, $calcul_rub);
563 563
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
 	);
107 107
 
108 108
 	// Si l'article est publie, invalider les caches et demander sa reindexation
109
-	$t = sql_getfetsel("statut", "spip_articles", "id_article=" . intval($id_article));
109
+	$t = sql_getfetsel("statut", "spip_articles", "id_article=".intval($id_article));
110 110
 	$invalideur = $indexation = false;
111 111
 	if ($t == 'publie') {
112 112
 		$invalideur = "id='article/$id_article'";
@@ -116,7 +116,7 @@  discard block
 block discarded – undo
116 116
 	if ($err = objet_modifier_champs('article', $id_article,
117 117
 		array(
118 118
 			'data' => $set,
119
-			'nonvide' => array('titre' => _T('info_nouvel_article') . " " . _T('info_numero_abbreviation') . $id_article),
119
+			'nonvide' => array('titre' => _T('info_nouvel_article')." "._T('info_numero_abbreviation').$id_article),
120 120
 			'invalideur' => $invalideur,
121 121
 			'indexation' => $indexation,
122 122
 			'date_modif' => 'date_modif' // champ a mettre a date('Y-m-d H:i:s') s'il y a modif
@@ -298,7 +298,7 @@  discard block
 block discarded – undo
298 298
 			if (autoriser('modifier', 'article', $id_article) and $s != 'publie') {
299 299
 				$statut = $champs['statut'] = $s;
300 300
 			} else {
301
-				spip_log("editer_article $id_article refus " . join(' ', $c));
301
+				spip_log("editer_article $id_article refus ".join(' ', $c));
302 302
 			}
303 303
 		}
304 304
 
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
 	if (isset($c['id_parent'])
323 323
 		and $id_parent = $c['id_parent']
324 324
 		and $id_parent != $id_rubrique
325
-		and (sql_fetsel('1', "spip_rubriques", "id_rubrique=" . intval($id_parent)))
325
+		and (sql_fetsel('1', "spip_rubriques", "id_rubrique=".intval($id_parent)))
326 326
 	) {
327 327
 		$champs['id_rubrique'] = $id_parent;
328 328
 
@@ -419,12 +419,12 @@  discard block
 block discarded – undo
419 419
 	//  changer aussi son secteur et sa langue (si heritee)
420 420
 	if (isset($champs['id_rubrique'])) {
421 421
 
422
-		$row_rub = sql_fetsel("id_secteur, lang", "spip_rubriques", "id_rubrique=" . sql_quote($champs['id_rubrique']));
422
+		$row_rub = sql_fetsel("id_secteur, lang", "spip_rubriques", "id_rubrique=".sql_quote($champs['id_rubrique']));
423 423
 
424 424
 		$langue = $row_rub['lang'];
425 425
 		$champs['id_secteur'] = $row_rub['id_secteur'];
426 426
 		if (sql_fetsel('1', 'spip_articles',
427
-			"id_article=" . intval($id_article) . " AND langue_choisie<>'oui' AND lang<>" . sql_quote($langue))) {
427
+			"id_article=".intval($id_article)." AND langue_choisie<>'oui' AND lang<>".sql_quote($langue))) {
428 428
 			$champs['lang'] = $langue;
429 429
 		}
430 430
 	}
@@ -433,7 +433,7 @@  discard block
 block discarded – undo
433 433
 		return;
434 434
 	}
435 435
 
436
-	sql_updateq('spip_articles', $champs, "id_article=" . intval($id_article));
436
+	sql_updateq('spip_articles', $champs, "id_article=".intval($id_article));
437 437
 
438 438
 	// Changer le statut des rubriques concernees 
439 439
 
@@ -454,7 +454,7 @@  discard block
 block discarded – undo
454 454
 		foreach ($plus as $n => $t) {
455 455
 			$plus[$n] = preg_replace(",<!--SPIP-->[\n\r]*,", "", $t);
456 456
 		}
457
-		set_request('texte', join('', $plus) . _request('texte'));
457
+		set_request('texte', join('', $plus)._request('texte'));
458 458
 	}
459 459
 }
460 460
 
Please login to merge, or discard this patch.
ecrire/inc/idna_convert.class.php 2 patches
Doc Comments   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
      * the constructor
89 89
      *
90 90
      * @param array $options
91
-     * @return boolean
91
+     * @return boolean|null
92 92
      * @since 0.5.2
93 93
      */
94 94
     public function __construct($options = false)
@@ -393,7 +393,7 @@  discard block
 block discarded – undo
393 393
     /**
394 394
      * Use this method to get the last error ocurred
395 395
      * @param    void
396
-     * @return   string   The last error, that occured
396
+     * @return   boolean   The last error, that occured
397 397
      */
398 398
     public function get_last_error()
399 399
     {
@@ -403,7 +403,7 @@  discard block
 block discarded – undo
403 403
     /**
404 404
      * The actual decoding algorithm
405 405
      * @param string
406
-     * @return mixed
406
+     * @return false|string
407 407
      */
408 408
     protected function _decode($encoded)
409 409
     {
@@ -464,7 +464,7 @@  discard block
 block discarded – undo
464 464
     /**
465 465
      * The actual encoding algorithm
466 466
      * @param  string
467
-     * @return mixed
467
+     * @return false|string
468 468
      */
469 469
     protected function _encode($decoded)
470 470
     {
@@ -699,7 +699,7 @@  discard block
 block discarded – undo
699 699
      * Decomposes a Hangul syllable
700 700
      * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
701 701
      * @param    integer  32bit UCS4 code point
702
-     * @return   array    Either Hangul Syllable decomposed or original 32bit value as one value array
702
+     * @return   integer[]    Either Hangul Syllable decomposed or original 32bit value as one value array
703 703
      */
704 704
     protected function _hangul_decompose($char)
705 705
     {
Please login to merge, or discard this patch.
Spacing   +43 added lines, -46 removed lines patch added patch discarded remove patch
@@ -73,16 +73,16 @@  discard block
 block discarded – undo
73 73
     protected $_lcount = 19;
74 74
     protected $_vcount = 21;
75 75
     protected $_tcount = 28;
76
-    protected $_ncount = 588;   // _vcount * _tcount
76
+    protected $_ncount = 588; // _vcount * _tcount
77 77
     protected $_scount = 11172; // _lcount * _tcount * _vcount
78 78
     protected $_error = false;
79 79
     protected static $_mb_string_overload = null;
80 80
     // See {@link set_paramter()} for details of how to change the following
81 81
     // settings from within your script / application
82
-    protected $_api_encoding = 'utf8';   // Default input charset is UTF-8
83
-    protected $_allow_overlong = false;  // Overlong UTF-8 encodings are forbidden
84
-    protected $_strict_mode = false;     // Behave strict or not
85
-    protected $_idn_version = 2003;      // Can be either 2003 (old, default) or 2008
82
+    protected $_api_encoding = 'utf8'; // Default input charset is UTF-8
83
+    protected $_allow_overlong = false; // Overlong UTF-8 encodings are forbidden
84
+    protected $_strict_mode = false; // Behave strict or not
85
+    protected $_idn_version = 2003; // Can be either 2003 (old, default) or 2008
86 86
 
87 87
     /**
88 88
      * the constructor
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
                             $this->_api_encoding = $v;
141 141
                             break;
142 142
                         default:
143
-                            $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
143
+                            $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k);
144 144
                             return false;
145 145
                     }
146 146
                     break;
@@ -154,7 +154,7 @@  discard block
 block discarded – undo
154 154
                     if (in_array($v, array('2003', '2008'))) {
155 155
                         $this->_idn_version = $v;
156 156
                     } else {
157
-                        $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
157
+                        $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k);
158 158
                     }
159 159
                     break;
160 160
                 case 'encode_german_sz': // Deprecated
@@ -165,7 +165,7 @@  discard block
 block discarded – undo
165 165
                     }
166 166
                     break;
167 167
                 default:
168
-                    $this->_error('Set Parameter: Unknown option ' . $k);
168
+                    $this->_error('Set Parameter: Unknown option '.$k);
169 169
                     return false;
170 170
             }
171 171
         }
@@ -188,7 +188,7 @@  discard block
 block discarded – undo
188 188
                 case 'ucs4_array':
189 189
                     break;
190 190
                 default:
191
-                    $this->_error('Unknown encoding ' . $one_time_encoding);
191
+                    $this->_error('Unknown encoding '.$one_time_encoding);
192 192
                     return false;
193 193
             }
194 194
         }
@@ -206,7 +206,7 @@  discard block
 block discarded – undo
206 206
             list ($email_pref, $input) = explode('@', $input, 2);
207 207
             $arr = explode('.', $input);
208 208
             foreach ($arr as $k => $v) {
209
-                if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
209
+                if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
210 210
                     $conv = $this->_decode($v);
211 211
                     if ($conv) {
212 212
                         $arr[$k] = $conv;
@@ -216,7 +216,7 @@  discard block
 block discarded – undo
216 216
             $input = join('.', $arr);
217 217
             $arr = explode('.', $email_pref);
218 218
             foreach ($arr as $k => $v) {
219
-                if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
219
+                if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
220 220
                     $conv = $this->_decode($v);
221 221
                     if ($conv) {
222 222
                         $arr[$k] = $conv;
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
                 }
225 225
             }
226 226
             $email_pref = join('.', $arr);
227
-            $return = $email_pref . '@' . $input;
227
+            $return = $email_pref.'@'.$input;
228 228
         } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
229 229
             // No no in strict mode
230 230
             if ($this->_strict_mode) {
@@ -241,13 +241,13 @@  discard block
 block discarded – undo
241 241
                     }
242 242
                 }
243 243
                 $parsed['host'] = join('.', $arr);
244
-                $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
245
-                        (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
244
+                $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'].(strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
245
+                        (empty($parsed['user']) ? '' : $parsed['user'].(empty($parsed['pass']) ? '' : ':'.$parsed['pass']).'@').
246 246
                         $parsed['host'].
247
-                        (empty($parsed['port']) ? '' : ':' . $parsed['port']).
247
+                        (empty($parsed['port']) ? '' : ':'.$parsed['port']).
248 248
                         (empty($parsed['path']) ? '' : $parsed['path']).
249
-                        (empty($parsed['query']) ? '' : '?' . $parsed['query']).
250
-                        (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
249
+                        (empty($parsed['query']) ? '' : '?'.$parsed['query']).
250
+                        (empty($parsed['fragment']) ? '' : '#'.$parsed['fragment']);
251 251
             } else { // parse_url seems to have failed, try without it
252 252
                 $arr = explode('.', $input);
253 253
                 foreach ($arr as $k => $v) {
@@ -265,8 +265,8 @@  discard block
 block discarded – undo
265 265
         // The output is UTF-8 by default, other output formats need conversion here
266 266
         // If one time encoding is given, use this, else the objects property
267 267
         switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
268
-            case 'utf8':        return $return; // break;
269
-            case 'ucs4_string': return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));  // break;
268
+            case 'utf8' : return $return; // break;
269
+            case 'ucs4_string': return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return)); // break;
270 270
             case 'ucs4_array':  return $this->_utf8_to_ucs4($return); // break;
271 271
             default:            $this->_error('Unsupported output format'); return false;
272 272
         }
@@ -283,15 +283,14 @@  discard block
 block discarded – undo
283 283
         // Forcing conversion of input to UCS4 array
284 284
         // If one time encoding is given, use this, else the objects property
285 285
         switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
286
-            case 'utf8':
287
-                $decoded = $this->_utf8_to_ucs4($decoded);
286
+            case 'utf8' : $decoded = $this->_utf8_to_ucs4($decoded);
288 287
                 break;
289 288
             case 'ucs4_string':
290 289
                 $decoded = $this->_ucs4_string_to_ucs4($decoded);
291 290
             case 'ucs4_array':
292 291
                 break;
293 292
             default:
294
-                $this->_error('Unsupported input format: ' . ($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
293
+                $this->_error('Unsupported input format: '.($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
295 294
                 return false;
296 295
         }
297 296
 
@@ -380,13 +379,13 @@  discard block
 block discarded – undo
380 379
             }
381 380
         }
382 381
         $parsed['host'] = join('.', $arr);
383
-        $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
384
-                (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
382
+        $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'].(strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
383
+                (empty($parsed['user']) ? '' : $parsed['user'].(empty($parsed['pass']) ? '' : ':'.$parsed['pass']).'@').
385 384
                 $parsed['host'].
386
-                (empty($parsed['port']) ? '' : ':' . $parsed['port']).
385
+                (empty($parsed['port']) ? '' : ':'.$parsed['port']).
387 386
                 (empty($parsed['path']) ? '' : $parsed['path']).
388
-                (empty($parsed['query']) ? '' : '?' . $parsed['query']).
389
-                (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
387
+                (empty($parsed['query']) ? '' : '?'.$parsed['query']).
388
+                (empty($parsed['fragment']) ? '' : '#'.$parsed['fragment']);
390 389
         return $return;
391 390
     }
392 391
 
@@ -409,11 +408,11 @@  discard block
 block discarded – undo
409 408
     {
410 409
         $decoded = array();
411 410
         // find the Punycode prefix
412
-        if (!preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $encoded)) {
411
+        if (!preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $encoded)) {
413 412
             $this->_error('This is not a punycode string');
414 413
             return false;
415 414
         }
416
-        $encode_test = preg_replace('!^' . preg_quote($this->_punycode_prefix, '!') . '!', '', $encoded);
415
+        $encode_test = preg_replace('!^'.preg_quote($this->_punycode_prefix, '!').'!', '', $encoded);
417 416
         // If nothing left after removing the prefix, it is hopeless
418 417
         if (!$encode_test) {
419 418
             $this->_error('The given encoded string was empty');
@@ -439,8 +438,7 @@  discard block
 block discarded – undo
439 438
             for ($old_idx = $idx, $w = 1, $k = $this->_base; 1; $k += $this->_base) {
440 439
                 $digit = $this->_decode_digit($encoded{$enco_idx++});
441 440
                 $idx += $digit * $w;
442
-                $t = ($k <= $bias) ? $this->_tmin :
443
-                        (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
441
+                $t = ($k <= $bias) ? $this->_tmin : (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
444 442
                 if ($digit < $t) {
445 443
                     break;
446 444
                 }
@@ -513,7 +511,7 @@  discard block
 block discarded – undo
513 511
             return $encoded; // All codepoints were basic ones
514 512
         }
515 513
         // Start with the prefix; copy it to output
516
-        $encoded = $this->_punycode_prefix . $encoded;
514
+        $encoded = $this->_punycode_prefix.$encoded;
517 515
         // If we have basic code points in output, add an hyphen to the end
518 516
         if ($codecount) {
519 517
             $encoded .= '-';
@@ -540,8 +538,7 @@  discard block
 block discarded – undo
540 538
                     $delta++;
541 539
                 } elseif ($decoded[$i] == $cur_code) {
542 540
                     for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
543
-                        $t = ($k <= $bias) ? $this->_tmin :
544
-                                (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
541
+                        $t = ($k <= $bias) ? $this->_tmin : (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
545 542
                         if ($q < $t) {
546 543
                             break;
547 544
                         }
@@ -628,12 +625,12 @@  discard block
 block discarded – undo
628 625
             }
629 626
             // Try to find prohibited input
630 627
             if (in_array($v, self::$NP['prohibit']) || in_array($v, self::$NP['general_prohibited'])) {
631
-                $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
628
+                $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
632 629
                 return false;
633 630
             }
634 631
             foreach (self::$NP['prohibit_ranges'] as $range) {
635 632
                 if ($range[0] <= $v && $v <= $range[1]) {
636
-                    $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
633
+                    $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
637 634
                     return false;
638 635
                 }
639 636
             }
@@ -869,7 +866,7 @@  discard block
 block discarded – undo
869 866
                 $output[$out_len] = $v;
870 867
                 ++$out_len;
871 868
                 if ('add' == $mode) {
872
-                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
869
+                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
873 870
                     return false;
874 871
                 }
875 872
                 continue;
@@ -894,7 +891,7 @@  discard block
 block discarded – undo
894 891
                     $next_byte = 4;
895 892
                     $v = ($v - 252) << 30;
896 893
                 } else {
897
-                    $this->_error('This might be UTF-8, but I don\'t understand it at byte ' . $k);
894
+                    $this->_error('This might be UTF-8, but I don\'t understand it at byte '.$k);
898 895
                     return false;
899 896
                 }
900 897
                 if ('add' == $mode) {
@@ -907,7 +904,7 @@  discard block
 block discarded – undo
907 904
                 if (!$this->_allow_overlong && $test == 'range') {
908 905
                     $test = 'none';
909 906
                     if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
910
-                        $this->_error('Bogus UTF-8 character detected (out of legal range) at byte ' . $k);
907
+                        $this->_error('Bogus UTF-8 character detected (out of legal range) at byte '.$k);
911 908
                         return false;
912 909
                     }
913 910
                 }
@@ -916,7 +913,7 @@  discard block
 block discarded – undo
916 913
                     $output[($out_len - 1)] += $v;
917 914
                     --$next_byte;
918 915
                 } else {
919
-                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
916
+                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
920 917
                     return false;
921 918
                 }
922 919
                 if ($next_byte < 0) {
@@ -940,13 +937,13 @@  discard block
 block discarded – undo
940 937
             if ($v < 128) { // 7bit are transferred literally
941 938
                 $output .= chr($v);
942 939
             } elseif ($v < (1 << 11)) { // 2 bytes
943
-                $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
940
+                $output .= chr(192 + ($v >> 6)).chr(128 + ($v & 63));
944 941
             } elseif ($v < (1 << 16)) { // 3 bytes
945
-                $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
942
+                $output .= chr(224 + ($v >> 12)).chr(128 + (($v >> 6) & 63)).chr(128 + ($v & 63));
946 943
             } elseif ($v < (1 << 21)) { // 4 bytes
947
-                $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
944
+                $output .= chr(240 + ($v >> 18)).chr(128 + (($v >> 12) & 63)).chr(128 + (($v >> 6) & 63)).chr(128 + ($v & 63));
948 945
             } else {
949
-                $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte ' . $k);
946
+                $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k);
950 947
                 return false;
951 948
             }
952 949
         }
@@ -965,7 +962,7 @@  discard block
 block discarded – undo
965 962
         // Take array values and split output to 4 bytes per value
966 963
         // The bit mask is 255, which reads &11111111
967 964
         foreach ($input as $v) {
968
-            $output .= chr(($v >> 24) & 255) . chr(($v >> 16) & 255) . chr(($v >> 8) & 255) . chr($v & 255);
965
+            $output .= chr(($v >> 24) & 255).chr(($v >> 16) & 255).chr(($v >> 8) & 255).chr($v & 255);
969 966
         }
970 967
         return $output;
971 968
     }
@@ -995,7 +992,7 @@  discard block
 block discarded – undo
995 992
                 $out_len++;
996 993
                 $output[$out_len] = 0;
997 994
             }
998
-            $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) );
995
+            $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4)));
999 996
         }
1000 997
         return $output;
1001 998
     }
Please login to merge, or discard this patch.
ecrire/action/editer_auteur.php 3 patches
Doc Comments   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
  * @param string|null $source
86 86
  *     D'où provient l'auteur créé ? par défaut 'spip', mais peut être 'ldap' ou autre.
87 87
  * @param array|null $set
88
- * @return int
88
+ * @return boolean|string
89 89
  *     Identifiant de l'auteur créé
90 90
  */
91 91
 function auteur_inserer($source = null, $set = null) {
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
  * @param bool $force_update
141 141
  *   Permet de forcer la maj en base des champs fournis, sans passer par instancier.
142 142
  *   Utilise par auth/spip
143
- * @return string|null
143
+ * @return string|false
144 144
  *
145 145
  *     - Chaîne vide si aucune erreur,
146 146
  *     - Chaîne contenant un texte d'erreur sinon.
@@ -304,7 +304,7 @@  discard block
 block discarded – undo
304 304
  *     Couples (colonne => valeur) des données à instituer
305 305
  * @param bool $force_webmestre
306 306
  *     Autoriser un auteur à passer webmestre (force l'autorisation)
307
- * @return bool|string
307
+ * @return false|string
308 308
  */
309 309
 function auteur_instituer($id_auteur, $c, $force_webmestre = false) {
310 310
 	if (!$id_auteur = intval($id_auteur)) {
@@ -449,7 +449,7 @@  discard block
 block discarded – undo
449 449
  * @see auteur_inserer()
450 450
  *
451 451
  * @param string|null $source
452
- * @return int
452
+ * @return boolean|string
453 453
  */
454 454
 function insert_auteur($source = null) {
455 455
 	return auteur_inserer($source);
@@ -463,7 +463,7 @@  discard block
 block discarded – undo
463 463
  *
464 464
  * @param int $id_auteur
465 465
  * @param array|null $set
466
- * @return string|null
466
+ * @return string|false
467 467
  */
468 468
 function auteurs_set($id_auteur, $set = null) {
469 469
 	return auteur_modifier($id_auteur, $set);
@@ -478,7 +478,7 @@  discard block
 block discarded – undo
478 478
  * @param int $id_auteur
479 479
  * @param array $c
480 480
  * @param bool $force_webmestre
481
- * @return bool|string
481
+ * @return false|string
482 482
  */
483 483
 function instituer_auteur($id_auteur, $c, $force_webmestre = false) {
484 484
 	return auteur_instituer($id_auteur, $c, $force_webmestre);
@@ -492,7 +492,7 @@  discard block
 block discarded – undo
492 492
  *
493 493
  * @param int $id_auteur
494 494
  * @param array $c
495
- * @return string|null
495
+ * @return string|false
496 496
  */
497 497
 function revision_auteur($id_auteur, $c = false) {
498 498
 	return auteur_modifier($id_auteur, $c);
Please login to merge, or discard this patch.
Indentation   +269 added lines, -269 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  */
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -37,43 +37,43 @@  discard block
 block discarded – undo
37 37
  */
38 38
 function action_editer_auteur_dist($arg = null) {
39 39
 
40
-	if (is_null($arg)) {
41
-		$securiser_action = charger_fonction('securiser_action', 'inc');
42
-		$arg = $securiser_action();
43
-	}
44
-
45
-
46
-	// si id_auteur n'est pas un nombre, c'est une creation
47
-	if (!$id_auteur = intval($arg)) {
48
-
49
-		if (($id_auteur = auteur_inserer()) > 0) {
50
-
51
-			# cf. GROS HACK
52
-			# recuperer l'eventuel logo charge avant la creation
53
-			# ils ont un id = 0-id_auteur de la session
54
-			$id_hack = 0 - $GLOBALS['visiteur_session']['id_auteur'];
55
-			$chercher_logo = charger_fonction('chercher_logo', 'inc');
56
-			foreach (array('on', 'off') as $type) {
57
-				if ($logo = $chercher_logo($id_hack, 'id_auteur', $type)) {
58
-					if ($logo = reset($logo)) {
59
-						rename($logo, str_replace($id_hack, $id_auteur, $logo));
60
-					}
61
-				}
62
-			}
63
-		}
64
-	}
65
-
66
-	// Enregistre l'envoi dans la BD
67
-	$err = "";
68
-	if ($id_auteur > 0) {
69
-		$err = auteur_modifier($id_auteur);
70
-	}
71
-
72
-	if ($err) {
73
-		spip_log("echec editeur auteur: $err", _LOG_ERREUR);
74
-	}
75
-
76
-	return array($id_auteur, $err);
40
+    if (is_null($arg)) {
41
+        $securiser_action = charger_fonction('securiser_action', 'inc');
42
+        $arg = $securiser_action();
43
+    }
44
+
45
+
46
+    // si id_auteur n'est pas un nombre, c'est une creation
47
+    if (!$id_auteur = intval($arg)) {
48
+
49
+        if (($id_auteur = auteur_inserer()) > 0) {
50
+
51
+            # cf. GROS HACK
52
+            # recuperer l'eventuel logo charge avant la creation
53
+            # ils ont un id = 0-id_auteur de la session
54
+            $id_hack = 0 - $GLOBALS['visiteur_session']['id_auteur'];
55
+            $chercher_logo = charger_fonction('chercher_logo', 'inc');
56
+            foreach (array('on', 'off') as $type) {
57
+                if ($logo = $chercher_logo($id_hack, 'id_auteur', $type)) {
58
+                    if ($logo = reset($logo)) {
59
+                        rename($logo, str_replace($id_hack, $id_auteur, $logo));
60
+                    }
61
+                }
62
+            }
63
+        }
64
+    }
65
+
66
+    // Enregistre l'envoi dans la BD
67
+    $err = "";
68
+    if ($id_auteur > 0) {
69
+        $err = auteur_modifier($id_auteur);
70
+    }
71
+
72
+    if ($err) {
73
+        spip_log("echec editeur auteur: $err", _LOG_ERREUR);
74
+    }
75
+
76
+    return array($id_auteur, $err);
77 77
 }
78 78
 
79 79
 /**
@@ -90,39 +90,39 @@  discard block
 block discarded – undo
90 90
  */
91 91
 function auteur_inserer($source = null, $set = null) {
92 92
 
93
-	// Ce qu'on va demander comme modifications
94
-	$champs = array();
95
-	$champs['source'] = $source ? $source : 'spip';
96
-
97
-	$champs['login'] = '';
98
-	$champs['statut'] = '5poubelle';  // inutilisable tant qu'il n'a pas ete renseigne et institue
99
-	$champs['webmestre'] = 'non';
100
-
101
-	if ($set) {
102
-		$champs = array_merge($champs, $set);
103
-	}
104
-
105
-	// Envoyer aux plugins
106
-	$champs = pipeline('pre_insertion',
107
-		array(
108
-			'args' => array(
109
-				'table' => 'spip_auteurs',
110
-			),
111
-			'data' => $champs
112
-		)
113
-	);
114
-	$id_auteur = sql_insertq("spip_auteurs", $champs);
115
-	pipeline('post_insertion',
116
-		array(
117
-			'args' => array(
118
-				'table' => 'spip_auteurs',
119
-				'id_objet' => $id_auteur
120
-			),
121
-			'data' => $champs
122
-		)
123
-	);
124
-
125
-	return $id_auteur;
93
+    // Ce qu'on va demander comme modifications
94
+    $champs = array();
95
+    $champs['source'] = $source ? $source : 'spip';
96
+
97
+    $champs['login'] = '';
98
+    $champs['statut'] = '5poubelle';  // inutilisable tant qu'il n'a pas ete renseigne et institue
99
+    $champs['webmestre'] = 'non';
100
+
101
+    if ($set) {
102
+        $champs = array_merge($champs, $set);
103
+    }
104
+
105
+    // Envoyer aux plugins
106
+    $champs = pipeline('pre_insertion',
107
+        array(
108
+            'args' => array(
109
+                'table' => 'spip_auteurs',
110
+            ),
111
+            'data' => $champs
112
+        )
113
+    );
114
+    $id_auteur = sql_insertq("spip_auteurs", $champs);
115
+    pipeline('post_insertion',
116
+        array(
117
+            'args' => array(
118
+                'table' => 'spip_auteurs',
119
+                'id_objet' => $id_auteur
120
+            ),
121
+            'data' => $champs
122
+        )
123
+    );
124
+
125
+    return $id_auteur;
126 126
 }
127 127
 
128 128
 
@@ -147,66 +147,66 @@  discard block
 block discarded – undo
147 147
  */
148 148
 function auteur_modifier($id_auteur, $set = null, $force_update = false) {
149 149
 
150
-	include_spip('inc/modifier');
151
-	include_spip('inc/filtres');
152
-	$c = collecter_requests(
153
-	// white list
154
-		objet_info('auteur', 'champs_editables'),
155
-		// black list
156
-		$force_update ? array() : array('webmestre', 'pass', 'login'),
157
-		// donnees eventuellement fournies
158
-		$set
159
-	);
160
-
161
-	if ($err = objet_modifier_champs('auteur', $id_auteur,
162
-		array(
163
-			'data' => $set,
164
-			'nonvide' => array('nom' => _T('ecrire:item_nouvel_auteur'))
165
-		),
166
-		$c)
167
-	) {
168
-		return $err;
169
-	}
170
-	$session = $c;
171
-
172
-	$err = '';
173
-	if (!$force_update) {
174
-		// Modification de statut, changement de rubrique ?
175
-		$c = collecter_requests(
176
-		// white list
177
-			array(
178
-				'statut',
179
-				'new_login',
180
-				'new_pass',
181
-				'login',
182
-				'pass',
183
-				'webmestre',
184
-				'restreintes',
185
-				'id_parent'
186
-			),
187
-			// black list
188
-			array(),
189
-			// donnees eventuellement fournies
190
-			$set
191
-		);
192
-		if (isset($c['new_login']) and !isset($c['login'])) {
193
-			$c['login'] = $c['new_login'];
194
-		}
195
-		if (isset($c['new_pass']) and !isset($c['pass'])) {
196
-			$c['pass'] = $c['new_pass'];
197
-		}
198
-		$err = auteur_instituer($id_auteur, $c);
199
-		$session = array_merge($session, $c);
200
-	}
201
-
202
-	// .. mettre a jour les sessions de cet auteur
203
-	include_spip('inc/session');
204
-	$session['id_auteur'] = $id_auteur;
205
-	unset($session['new_login']);
206
-	unset($session['new_pass']);
207
-	actualiser_sessions($session);
208
-
209
-	return $err;
150
+    include_spip('inc/modifier');
151
+    include_spip('inc/filtres');
152
+    $c = collecter_requests(
153
+    // white list
154
+        objet_info('auteur', 'champs_editables'),
155
+        // black list
156
+        $force_update ? array() : array('webmestre', 'pass', 'login'),
157
+        // donnees eventuellement fournies
158
+        $set
159
+    );
160
+
161
+    if ($err = objet_modifier_champs('auteur', $id_auteur,
162
+        array(
163
+            'data' => $set,
164
+            'nonvide' => array('nom' => _T('ecrire:item_nouvel_auteur'))
165
+        ),
166
+        $c)
167
+    ) {
168
+        return $err;
169
+    }
170
+    $session = $c;
171
+
172
+    $err = '';
173
+    if (!$force_update) {
174
+        // Modification de statut, changement de rubrique ?
175
+        $c = collecter_requests(
176
+        // white list
177
+            array(
178
+                'statut',
179
+                'new_login',
180
+                'new_pass',
181
+                'login',
182
+                'pass',
183
+                'webmestre',
184
+                'restreintes',
185
+                'id_parent'
186
+            ),
187
+            // black list
188
+            array(),
189
+            // donnees eventuellement fournies
190
+            $set
191
+        );
192
+        if (isset($c['new_login']) and !isset($c['login'])) {
193
+            $c['login'] = $c['new_login'];
194
+        }
195
+        if (isset($c['new_pass']) and !isset($c['pass'])) {
196
+            $c['pass'] = $c['new_pass'];
197
+        }
198
+        $err = auteur_instituer($id_auteur, $c);
199
+        $session = array_merge($session, $c);
200
+    }
201
+
202
+    // .. mettre a jour les sessions de cet auteur
203
+    include_spip('inc/session');
204
+    $session['id_auteur'] = $id_auteur;
205
+    unset($session['new_login']);
206
+    unset($session['new_pass']);
207
+    actualiser_sessions($session);
208
+
209
+    return $err;
210 210
 }
211 211
 
212 212
 /**
@@ -227,9 +227,9 @@  discard block
 block discarded – undo
227 227
  * @return string
228 228
  */
229 229
 function auteur_associer($id_auteur, $objets, $qualif = null) {
230
-	include_spip('action/editer_liens');
230
+    include_spip('action/editer_liens');
231 231
 
232
-	return objet_associer(array('auteur' => $id_auteur), $objets, $qualif);
232
+    return objet_associer(array('auteur' => $id_auteur), $objets, $qualif);
233 233
 }
234 234
 
235 235
 
@@ -244,7 +244,7 @@  discard block
 block discarded – undo
244 244
  * @return string
245 245
  */
246 246
 function auteur_referent($id_auteur, $c) {
247
-	return auteur_associer($id_auteur, $c);
247
+    return auteur_associer($id_auteur, $c);
248 248
 }
249 249
 
250 250
 /**
@@ -263,9 +263,9 @@  discard block
 block discarded – undo
263 263
  * @return string
264 264
  */
265 265
 function auteur_dissocier($id_auteur, $objets) {
266
-	include_spip('action/editer_liens');
266
+    include_spip('action/editer_liens');
267 267
 
268
-	return objet_dissocier(array('auteur' => $id_auteur), $objets);
268
+    return objet_dissocier(array('auteur' => $id_auteur), $objets);
269 269
 }
270 270
 
271 271
 /**
@@ -286,9 +286,9 @@  discard block
 block discarded – undo
286 286
  * @return bool|int
287 287
  */
288 288
 function auteur_qualifier($id_auteur, $objets, $qualif) {
289
-	include_spip('action/editer_liens');
289
+    include_spip('action/editer_liens');
290 290
 
291
-	return objet_qualifier_liens(array('auteur' => $id_auteur), $objets, $qualif);
291
+    return objet_qualifier_liens(array('auteur' => $id_auteur), $objets, $qualif);
292 292
 }
293 293
 
294 294
 
@@ -307,133 +307,133 @@  discard block
 block discarded – undo
307 307
  * @return bool|string
308 308
  */
309 309
 function auteur_instituer($id_auteur, $c, $force_webmestre = false) {
310
-	if (!$id_auteur = intval($id_auteur)) {
311
-		return false;
312
-	}
313
-	$erreurs = array(); // contiendra les differentes erreurs a traduire par _T()
314
-	$champs = array();
315
-
316
-	// les memoriser pour les faire passer dans le pipeline pre_edition
317
-	if (isset($c['login']) and strlen($c['login'])) {
318
-		$champs['login'] = $c['login'];
319
-	}
320
-	if (isset($c['pass']) and strlen($c['pass'])) {
321
-		$champs['pass'] = $c['pass'];
322
-	}
323
-
324
-	$statut = $statut_ancien = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
325
-
326
-	if (isset($c['statut'])
327
-		and (autoriser('modifier', 'auteur', $id_auteur, null, array('statut' => $c['statut'])))
328
-	) {
329
-		$statut = $champs['statut'] = $c['statut'];
330
-	}
331
-
332
-	// Restreindre avant de declarer l'auteur
333
-	// (section critique sur les droits)
334
-	if (isset($c['id_parent']) and $c['id_parent']) {
335
-		if (is_array($c['restreintes'])) {
336
-			$c['restreintes'][] = $c['id_parent'];
337
-		} else {
338
-			$c['restreintes'] = array($c['id_parent']);
339
-		}
340
-	}
341
-
342
-	if (isset($c['webmestre'])
343
-		and ($force_webmestre or autoriser('modifier', 'auteur', $id_auteur, null, array('webmestre' => '?')))
344
-	) {
345
-		$champs['webmestre'] = $c['webmestre'] == 'oui' ? 'oui' : 'non';
346
-	}
347
-
348
-	// si statut change et n'est pas 0minirezo, on force webmestre a non
349
-	if (isset($c['statut']) and $c['statut'] !== '0minirezo') {
350
-		$champs['webmestre'] = $c['webmestre'] = 'non';
351
-	}
352
-
353
-	// Envoyer aux plugins
354
-	$champs = pipeline('pre_edition',
355
-		array(
356
-			'args' => array(
357
-				'table' => 'spip_auteurs',
358
-				'id_objet' => $id_auteur,
359
-				'action' => 'instituer',
360
-				'statut_ancien' => $statut_ancien,
361
-			),
362
-			'data' => $champs
363
-		)
364
-	);
365
-
366
-	if (isset($c['restreintes']) and is_array($c['restreintes'])
367
-		and autoriser('modifier', 'auteur', $id_auteur, null, array('restreint' => $c['restreintes']))
368
-	) {
369
-		$rubriques = array_map('intval', $c['restreintes']);
370
-		$rubriques = array_unique($rubriques);
371
-		$rubriques = array_diff($rubriques, array(0));
372
-		auteur_dissocier($id_auteur, array('rubrique' => '*'));
373
-		auteur_associer($id_auteur, array('rubrique' => $rubriques));
374
-	}
375
-
376
-	$flag_ecrire_acces = false;
377
-	// commencer par traiter les cas particuliers des logins et pass
378
-	// avant les autres ecritures en base
379
-	if (isset($champs['login']) or isset($champs['pass'])) {
380
-		$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
381
-		include_spip('inc/auth');
382
-		if (isset($champs['login']) and strlen($champs['login'])) {
383
-			if (!auth_modifier_login($auth_methode, $champs['login'], $id_auteur)) {
384
-				$erreurs[] = 'ecrire:impossible_modifier_login_auteur';
385
-			}
386
-		}
387
-		if (isset($champs['pass']) and strlen($champs['pass'])) {
388
-			$champs['login'] = sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
389
-			if (!auth_modifier_pass($auth_methode, $champs['login'], $champs['pass'], $id_auteur)) {
390
-				$erreurs[] = 'ecrire:impossible_modifier_pass_auteur';
391
-			}
392
-		}
393
-		unset($champs['login']);
394
-		unset($champs['pass']);
395
-		$flag_ecrire_acces = true;
396
-	}
397
-
398
-	if (!count($champs)) {
399
-		return implode(' ', array_map('_T', $erreurs));
400
-	}
401
-	sql_updateq('spip_auteurs', $champs, 'id_auteur=' . $id_auteur);
402
-
403
-	// .. mettre a jour les fichiers .htpasswd et .htpasswd-admin
404
-	if ($flag_ecrire_acces
405
-		or isset($champs['statut'])
406
-	) {
407
-		include_spip('inc/acces');
408
-		ecrire_acces();
409
-	}
410
-
411
-	// Invalider les caches
412
-	include_spip('inc/invalideur');
413
-	suivre_invalideur("id='auteur/$id_auteur'");
414
-
415
-	// Pipeline
416
-	pipeline('post_edition',
417
-		array(
418
-			'args' => array(
419
-				'table' => 'spip_auteurs',
420
-				'id_objet' => $id_auteur,
421
-				'action' => 'instituer',
422
-				'statut_ancien' => $statut_ancien,
423
-			),
424
-			'data' => $champs
425
-		)
426
-	);
427
-
428
-
429
-	// Notifications
430
-	if ($notifications = charger_fonction('notifications', 'inc')) {
431
-		$notifications('instituerauteur', $id_auteur,
432
-			array('statut' => $statut, 'statut_ancien' => $statut_ancien)
433
-		);
434
-	}
435
-
436
-	return implode(' ', array_map('_T', $erreurs));
310
+    if (!$id_auteur = intval($id_auteur)) {
311
+        return false;
312
+    }
313
+    $erreurs = array(); // contiendra les differentes erreurs a traduire par _T()
314
+    $champs = array();
315
+
316
+    // les memoriser pour les faire passer dans le pipeline pre_edition
317
+    if (isset($c['login']) and strlen($c['login'])) {
318
+        $champs['login'] = $c['login'];
319
+    }
320
+    if (isset($c['pass']) and strlen($c['pass'])) {
321
+        $champs['pass'] = $c['pass'];
322
+    }
323
+
324
+    $statut = $statut_ancien = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
325
+
326
+    if (isset($c['statut'])
327
+        and (autoriser('modifier', 'auteur', $id_auteur, null, array('statut' => $c['statut'])))
328
+    ) {
329
+        $statut = $champs['statut'] = $c['statut'];
330
+    }
331
+
332
+    // Restreindre avant de declarer l'auteur
333
+    // (section critique sur les droits)
334
+    if (isset($c['id_parent']) and $c['id_parent']) {
335
+        if (is_array($c['restreintes'])) {
336
+            $c['restreintes'][] = $c['id_parent'];
337
+        } else {
338
+            $c['restreintes'] = array($c['id_parent']);
339
+        }
340
+    }
341
+
342
+    if (isset($c['webmestre'])
343
+        and ($force_webmestre or autoriser('modifier', 'auteur', $id_auteur, null, array('webmestre' => '?')))
344
+    ) {
345
+        $champs['webmestre'] = $c['webmestre'] == 'oui' ? 'oui' : 'non';
346
+    }
347
+
348
+    // si statut change et n'est pas 0minirezo, on force webmestre a non
349
+    if (isset($c['statut']) and $c['statut'] !== '0minirezo') {
350
+        $champs['webmestre'] = $c['webmestre'] = 'non';
351
+    }
352
+
353
+    // Envoyer aux plugins
354
+    $champs = pipeline('pre_edition',
355
+        array(
356
+            'args' => array(
357
+                'table' => 'spip_auteurs',
358
+                'id_objet' => $id_auteur,
359
+                'action' => 'instituer',
360
+                'statut_ancien' => $statut_ancien,
361
+            ),
362
+            'data' => $champs
363
+        )
364
+    );
365
+
366
+    if (isset($c['restreintes']) and is_array($c['restreintes'])
367
+        and autoriser('modifier', 'auteur', $id_auteur, null, array('restreint' => $c['restreintes']))
368
+    ) {
369
+        $rubriques = array_map('intval', $c['restreintes']);
370
+        $rubriques = array_unique($rubriques);
371
+        $rubriques = array_diff($rubriques, array(0));
372
+        auteur_dissocier($id_auteur, array('rubrique' => '*'));
373
+        auteur_associer($id_auteur, array('rubrique' => $rubriques));
374
+    }
375
+
376
+    $flag_ecrire_acces = false;
377
+    // commencer par traiter les cas particuliers des logins et pass
378
+    // avant les autres ecritures en base
379
+    if (isset($champs['login']) or isset($champs['pass'])) {
380
+        $auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
381
+        include_spip('inc/auth');
382
+        if (isset($champs['login']) and strlen($champs['login'])) {
383
+            if (!auth_modifier_login($auth_methode, $champs['login'], $id_auteur)) {
384
+                $erreurs[] = 'ecrire:impossible_modifier_login_auteur';
385
+            }
386
+        }
387
+        if (isset($champs['pass']) and strlen($champs['pass'])) {
388
+            $champs['login'] = sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
389
+            if (!auth_modifier_pass($auth_methode, $champs['login'], $champs['pass'], $id_auteur)) {
390
+                $erreurs[] = 'ecrire:impossible_modifier_pass_auteur';
391
+            }
392
+        }
393
+        unset($champs['login']);
394
+        unset($champs['pass']);
395
+        $flag_ecrire_acces = true;
396
+    }
397
+
398
+    if (!count($champs)) {
399
+        return implode(' ', array_map('_T', $erreurs));
400
+    }
401
+    sql_updateq('spip_auteurs', $champs, 'id_auteur=' . $id_auteur);
402
+
403
+    // .. mettre a jour les fichiers .htpasswd et .htpasswd-admin
404
+    if ($flag_ecrire_acces
405
+        or isset($champs['statut'])
406
+    ) {
407
+        include_spip('inc/acces');
408
+        ecrire_acces();
409
+    }
410
+
411
+    // Invalider les caches
412
+    include_spip('inc/invalideur');
413
+    suivre_invalideur("id='auteur/$id_auteur'");
414
+
415
+    // Pipeline
416
+    pipeline('post_edition',
417
+        array(
418
+            'args' => array(
419
+                'table' => 'spip_auteurs',
420
+                'id_objet' => $id_auteur,
421
+                'action' => 'instituer',
422
+                'statut_ancien' => $statut_ancien,
423
+            ),
424
+            'data' => $champs
425
+        )
426
+    );
427
+
428
+
429
+    // Notifications
430
+    if ($notifications = charger_fonction('notifications', 'inc')) {
431
+        $notifications('instituerauteur', $id_auteur,
432
+            array('statut' => $statut, 'statut_ancien' => $statut_ancien)
433
+        );
434
+    }
435
+
436
+    return implode(' ', array_map('_T', $erreurs));
437 437
 
438 438
 }
439 439
 
@@ -452,7 +452,7 @@  discard block
 block discarded – undo
452 452
  * @return int
453 453
  */
454 454
 function insert_auteur($source = null) {
455
-	return auteur_inserer($source);
455
+    return auteur_inserer($source);
456 456
 }
457 457
 
458 458
 /**
@@ -466,7 +466,7 @@  discard block
 block discarded – undo
466 466
  * @return string|null
467 467
  */
468 468
 function auteurs_set($id_auteur, $set = null) {
469
-	return auteur_modifier($id_auteur, $set);
469
+    return auteur_modifier($id_auteur, $set);
470 470
 }
471 471
 
472 472
 /**
@@ -481,7 +481,7 @@  discard block
 block discarded – undo
481 481
  * @return bool|string
482 482
  */
483 483
 function instituer_auteur($id_auteur, $c, $force_webmestre = false) {
484
-	return auteur_instituer($id_auteur, $c, $force_webmestre);
484
+    return auteur_instituer($id_auteur, $c, $force_webmestre);
485 485
 }
486 486
 
487 487
 /**
@@ -495,5 +495,5 @@  discard block
 block discarded – undo
495 495
  * @return string|null
496 496
  */
497 497
 function revision_auteur($id_auteur, $c = false) {
498
-	return auteur_modifier($id_auteur, $c);
498
+    return auteur_modifier($id_auteur, $c);
499 499
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
 	$champs['source'] = $source ? $source : 'spip';
96 96
 
97 97
 	$champs['login'] = '';
98
-	$champs['statut'] = '5poubelle';  // inutilisable tant qu'il n'a pas ete renseigne et institue
98
+	$champs['statut'] = '5poubelle'; // inutilisable tant qu'il n'a pas ete renseigne et institue
99 99
 	$champs['webmestre'] = 'non';
100 100
 
101 101
 	if ($set) {
@@ -321,7 +321,7 @@  discard block
 block discarded – undo
321 321
 		$champs['pass'] = $c['pass'];
322 322
 	}
323 323
 
324
-	$statut = $statut_ancien = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
324
+	$statut = $statut_ancien = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
325 325
 
326 326
 	if (isset($c['statut'])
327 327
 		and (autoriser('modifier', 'auteur', $id_auteur, null, array('statut' => $c['statut'])))
@@ -377,7 +377,7 @@  discard block
 block discarded – undo
377 377
 	// commencer par traiter les cas particuliers des logins et pass
378 378
 	// avant les autres ecritures en base
379 379
 	if (isset($champs['login']) or isset($champs['pass'])) {
380
-		$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
380
+		$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
381 381
 		include_spip('inc/auth');
382 382
 		if (isset($champs['login']) and strlen($champs['login'])) {
383 383
 			if (!auth_modifier_login($auth_methode, $champs['login'], $id_auteur)) {
@@ -385,7 +385,7 @@  discard block
 block discarded – undo
385 385
 			}
386 386
 		}
387 387
 		if (isset($champs['pass']) and strlen($champs['pass'])) {
388
-			$champs['login'] = sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
388
+			$champs['login'] = sql_getfetsel('login', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
389 389
 			if (!auth_modifier_pass($auth_methode, $champs['login'], $champs['pass'], $id_auteur)) {
390 390
 				$erreurs[] = 'ecrire:impossible_modifier_pass_auteur';
391 391
 			}
@@ -398,7 +398,7 @@  discard block
 block discarded – undo
398 398
 	if (!count($champs)) {
399 399
 		return implode(' ', array_map('_T', $erreurs));
400 400
 	}
401
-	sql_updateq('spip_auteurs', $champs, 'id_auteur=' . $id_auteur);
401
+	sql_updateq('spip_auteurs', $champs, 'id_auteur='.$id_auteur);
402 402
 
403 403
 	// .. mettre a jour les fichiers .htpasswd et .htpasswd-admin
404 404
 	if ($flag_ecrire_acces
Please login to merge, or discard this patch.
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.
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(8, $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(8, $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.
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.
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.