Completed
Push — master ( 1891d3...7fa313 )
by cam
01:19
created
ecrire/maj/legacy/v32.php 1 patch
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -18,10 +18,10 @@
 block discarded – undo
18 18
  * @package SPIP\Core\SQL\Upgrade
19 19
  **/
20 20
 if (!defined('_ECRIRE_INC_VERSION')) {
21
-	return;
21
+    return;
22 22
 }
23 23
 
24 24
 
25 25
 $GLOBALS['maj'][23375] = [
26
-	['sql_alter', 'TABLE spip_auteurs CHANGE prefs prefs text'],
26
+    ['sql_alter', 'TABLE spip_auteurs CHANGE prefs prefs text'],
27 27
 ];
Please login to merge, or discard this patch.
ecrire/maj/legacy/v40.php 1 patch
Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
  * @package SPIP\Core\SQL\Upgrade
21 21
  **/
22 22
 if (!defined('_ECRIRE_INC_VERSION')) {
23
-	return;
23
+    return;
24 24
 }
25 25
 
26 26
 
@@ -35,49 +35,49 @@  discard block
 block discarded – undo
35 35
  **/
36 36
 function maj_timestamp_mysql($tables = null) {
37 37
 
38
-	include_spip('base/dump');
39
-	if (is_null($tables)) {
40
-		$tables = base_lister_toutes_tables();
41
-	} elseif (is_string($tables)) {
42
-		$tables = [$tables];
43
-	} elseif (!is_array($tables)) {
44
-		return;
45
-	}
38
+    include_spip('base/dump');
39
+    if (is_null($tables)) {
40
+        $tables = base_lister_toutes_tables();
41
+    } elseif (is_string($tables)) {
42
+        $tables = [$tables];
43
+    } elseif (!is_array($tables)) {
44
+        return;
45
+    }
46 46
 
47
-	// rien a faire si base non mysql
48
-	if (strncmp($GLOBALS['connexions'][0]['type'], 'mysql', 5) !== 0) {
49
-		return;
50
-	}
47
+    // rien a faire si base non mysql
48
+    if (strncmp($GLOBALS['connexions'][0]['type'], 'mysql', 5) !== 0) {
49
+        return;
50
+    }
51 51
 
52
-	$trouver_table = charger_fonction('trouver_table', 'base');
53
-	// forcer le vidage de cache
54
-	$trouver_table('');
52
+    $trouver_table = charger_fonction('trouver_table', 'base');
53
+    // forcer le vidage de cache
54
+    $trouver_table('');
55 55
 
56
-	foreach ($tables as $table) {
57
-		if (time() >= _TIME_OUT) {
58
-			return;
59
-		}
60
-		if ($desc = $trouver_table($table)) {
61
-			$fields_corrected = _mysql_remplacements_definitions_table($desc['field']);
62
-			$d = array_diff($desc['field'], $fields_corrected);
63
-			if ($d) {
64
-				spip_log("Table $table TIMESTAMP incorrect", 'maj');
65
-				foreach ($desc['field'] as $field => $type) {
66
-					if ($desc['field'][$field] !== $fields_corrected[$field]) {
67
-						spip_log("Adaptation TIMESTAMP table $table", 'maj.' . _LOG_INFO_IMPORTANTE);
68
-						sql_alter("table $table change $field $field " . $fields_corrected[$field]);
69
-						$trouver_table('');
70
-						$new_desc = $trouver_table($table);
71
-						spip_log(
72
-							"Apres conversion $table : " . var_export($new_desc['field'], true),
73
-							'maj.' . _LOG_INFO_IMPORTANTE
74
-						);
75
-					}
76
-				}
77
-			}
78
-		}
79
-	}
56
+    foreach ($tables as $table) {
57
+        if (time() >= _TIME_OUT) {
58
+            return;
59
+        }
60
+        if ($desc = $trouver_table($table)) {
61
+            $fields_corrected = _mysql_remplacements_definitions_table($desc['field']);
62
+            $d = array_diff($desc['field'], $fields_corrected);
63
+            if ($d) {
64
+                spip_log("Table $table TIMESTAMP incorrect", 'maj');
65
+                foreach ($desc['field'] as $field => $type) {
66
+                    if ($desc['field'][$field] !== $fields_corrected[$field]) {
67
+                        spip_log("Adaptation TIMESTAMP table $table", 'maj.' . _LOG_INFO_IMPORTANTE);
68
+                        sql_alter("table $table change $field $field " . $fields_corrected[$field]);
69
+                        $trouver_table('');
70
+                        $new_desc = $trouver_table($table);
71
+                        spip_log(
72
+                            "Apres conversion $table : " . var_export($new_desc['field'], true),
73
+                            'maj.' . _LOG_INFO_IMPORTANTE
74
+                        );
75
+                    }
76
+                }
77
+            }
78
+        }
79
+    }
80 80
 
81
-	// forcer le vidage de cache
82
-	$trouver_table('');
81
+    // forcer le vidage de cache
82
+    $trouver_table('');
83 83
 }
Please login to merge, or discard this patch.
ecrire/maj/legacy/svn10000.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@
 block discarded – undo
18 18
  */
19 19
 
20 20
 if (!defined('_ECRIRE_INC_VERSION')) {
21
-	return;
21
+    return;
22 22
 }
23 23
 
24 24
 include_spip('maj/legacy/v30');
Please login to merge, or discard this patch.
ecrire/base/connect_sql.php 1 patch
Indentation   +298 added lines, -298 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\SQL
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 require_once _ROOT_RESTREINT . 'base/objets.php';
22 22
 
@@ -42,119 +42,119 @@  discard block
 block discarded – undo
42 42
  **/
43 43
 function spip_connect($serveur = '', $version = '') {
44 44
 
45
-	$serveur = !is_string($serveur) ? '' : strtolower($serveur);
46
-	$index = $serveur ? $serveur : 0;
47
-	if (!$version) {
48
-		$version = $GLOBALS['spip_sql_version'];
49
-	}
50
-	if (isset($GLOBALS['connexions'][$index][$version])) {
51
-		return $GLOBALS['connexions'][$index];
52
-	}
53
-
54
-	include_spip('base/abstract_sql');
55
-	$install = (_request('exec') == 'install');
56
-
57
-	// Premiere connexion ?
58
-	if (!($old = isset($GLOBALS['connexions'][$index]))) {
59
-		$f = (!preg_match('/^[\w\.]*$/', $serveur))
60
-			? '' // nom de serveur mal ecrit
61
-			: ($serveur ?
62
-				(_DIR_CONNECT . $serveur . '.php') // serveur externe
63
-				: (_FILE_CONNECT ? _FILE_CONNECT // serveur principal ok
64
-					: ($install ? _FILE_CONNECT_TMP // init du serveur principal
65
-						: ''))); // installation pas faite
66
-
67
-		unset($GLOBALS['db_ok']);
68
-		unset($GLOBALS['spip_connect_version']);
69
-		if ($f) {
70
-			if (is_readable($f)) {
71
-				include($f);
72
-			} elseif ($serveur and !$install) {
73
-				// chercher une declaration de serveur dans le path
74
-				// qui pourra un jour servir a declarer des bases sqlite
75
-				// par des plugins. Et sert aussi aux boucles POUR.
76
-				find_in_path("$serveur.php", 'connect/', true);
77
-			}
78
-		}
79
-		if (!isset($GLOBALS['db_ok'])) {
80
-			// fera mieux la prochaine fois
81
-			if ($install) {
82
-				return false;
83
-			}
84
-			if ($f and is_readable($f)) {
85
-				spip_log("spip_connect: fichier de connexion '$f' OK.", _LOG_INFO_IMPORTANTE);
86
-			} else {
87
-				spip_log("spip_connect: fichier de connexion '$f' non trouve", _LOG_INFO_IMPORTANTE);
88
-			}
89
-			spip_log("spip_connect: echec connexion ou serveur $index mal defini dans '$f'.", _LOG_HS);
90
-
91
-			// ne plus reessayer si ce n'est pas l'install
92
-			return $GLOBALS['connexions'][$index] = false;
93
-		}
94
-		$GLOBALS['connexions'][$index] = $GLOBALS['db_ok'];
95
-	}
96
-	// si la connexion a deja ete tentee mais a echoue, le dire!
97
-	if (!$GLOBALS['connexions'][$index]) {
98
-		return false;
99
-	}
100
-
101
-	// la connexion a reussi ou etait deja faite.
102
-	// chargement de la version du jeu de fonctions
103
-	// si pas dans le fichier par defaut
104
-	$type = $GLOBALS['db_ok']['type'];
105
-	$jeu = 'spip_' . $type . '_functions_' . $version;
106
-	if (!isset($GLOBALS[$jeu])) {
107
-		if (!find_in_path($type . '_' . $version . '.php', 'req/', true)) {
108
-			spip_log("spip_connect: serveur $index version '$version' non defini pour '$type'", _LOG_HS);
109
-
110
-			// ne plus reessayer
111
-			return $GLOBALS['connexions'][$index][$version] = [];
112
-		}
113
-	}
114
-	$GLOBALS['connexions'][$index][$version] = $GLOBALS[$jeu];
115
-	if ($old) {
116
-		return $GLOBALS['connexions'][$index];
117
-	}
118
-
119
-	$GLOBALS['connexions'][$index]['spip_connect_version'] = isset($GLOBALS['spip_connect_version']) ? $GLOBALS['spip_connect_version'] : 0;
120
-
121
-	// initialisation de l'alphabet utilise dans les connexions SQL
122
-	// si l'installation l'a determine.
123
-	// Celui du serveur principal l'impose aux serveurs secondaires
124
-	// s'ils le connaissent
125
-
126
-	if (!$serveur) {
127
-		$charset = spip_connect_main($GLOBALS[$jeu], $GLOBALS['db_ok']['charset']);
128
-		if (!$charset) {
129
-			unset($GLOBALS['connexions'][$index]);
130
-			spip_log('spip_connect: absence de charset', _LOG_AVERTISSEMENT);
131
-
132
-			return false;
133
-		}
134
-	} else {
135
-		if ($GLOBALS['db_ok']['charset']) {
136
-			$charset = $GLOBALS['db_ok']['charset'];
137
-		}
138
-		// spip_meta n'existe pas toujours dans la base
139
-		// C'est le cas d'un dump sqlite par exemple
140
-		elseif (
141
-			$GLOBALS['connexions'][$index]['spip_connect_version']
142
-			and sql_showtable('spip_meta', true, $serveur)
143
-			and $r = sql_getfetsel('valeur', 'spip_meta', "nom='charset_sql_connexion'", '', '', '', '', $serveur)
144
-		) {
145
-			$charset = $r;
146
-		} else {
147
-			$charset = -1;
148
-		}
149
-	}
150
-	if ($charset != -1) {
151
-		$f = $GLOBALS[$jeu]['set_charset'];
152
-		if (function_exists($f)) {
153
-			$f($charset, $serveur);
154
-		}
155
-	}
156
-
157
-	return $GLOBALS['connexions'][$index];
45
+    $serveur = !is_string($serveur) ? '' : strtolower($serveur);
46
+    $index = $serveur ? $serveur : 0;
47
+    if (!$version) {
48
+        $version = $GLOBALS['spip_sql_version'];
49
+    }
50
+    if (isset($GLOBALS['connexions'][$index][$version])) {
51
+        return $GLOBALS['connexions'][$index];
52
+    }
53
+
54
+    include_spip('base/abstract_sql');
55
+    $install = (_request('exec') == 'install');
56
+
57
+    // Premiere connexion ?
58
+    if (!($old = isset($GLOBALS['connexions'][$index]))) {
59
+        $f = (!preg_match('/^[\w\.]*$/', $serveur))
60
+            ? '' // nom de serveur mal ecrit
61
+            : ($serveur ?
62
+                (_DIR_CONNECT . $serveur . '.php') // serveur externe
63
+                : (_FILE_CONNECT ? _FILE_CONNECT // serveur principal ok
64
+                    : ($install ? _FILE_CONNECT_TMP // init du serveur principal
65
+                        : ''))); // installation pas faite
66
+
67
+        unset($GLOBALS['db_ok']);
68
+        unset($GLOBALS['spip_connect_version']);
69
+        if ($f) {
70
+            if (is_readable($f)) {
71
+                include($f);
72
+            } elseif ($serveur and !$install) {
73
+                // chercher une declaration de serveur dans le path
74
+                // qui pourra un jour servir a declarer des bases sqlite
75
+                // par des plugins. Et sert aussi aux boucles POUR.
76
+                find_in_path("$serveur.php", 'connect/', true);
77
+            }
78
+        }
79
+        if (!isset($GLOBALS['db_ok'])) {
80
+            // fera mieux la prochaine fois
81
+            if ($install) {
82
+                return false;
83
+            }
84
+            if ($f and is_readable($f)) {
85
+                spip_log("spip_connect: fichier de connexion '$f' OK.", _LOG_INFO_IMPORTANTE);
86
+            } else {
87
+                spip_log("spip_connect: fichier de connexion '$f' non trouve", _LOG_INFO_IMPORTANTE);
88
+            }
89
+            spip_log("spip_connect: echec connexion ou serveur $index mal defini dans '$f'.", _LOG_HS);
90
+
91
+            // ne plus reessayer si ce n'est pas l'install
92
+            return $GLOBALS['connexions'][$index] = false;
93
+        }
94
+        $GLOBALS['connexions'][$index] = $GLOBALS['db_ok'];
95
+    }
96
+    // si la connexion a deja ete tentee mais a echoue, le dire!
97
+    if (!$GLOBALS['connexions'][$index]) {
98
+        return false;
99
+    }
100
+
101
+    // la connexion a reussi ou etait deja faite.
102
+    // chargement de la version du jeu de fonctions
103
+    // si pas dans le fichier par defaut
104
+    $type = $GLOBALS['db_ok']['type'];
105
+    $jeu = 'spip_' . $type . '_functions_' . $version;
106
+    if (!isset($GLOBALS[$jeu])) {
107
+        if (!find_in_path($type . '_' . $version . '.php', 'req/', true)) {
108
+            spip_log("spip_connect: serveur $index version '$version' non defini pour '$type'", _LOG_HS);
109
+
110
+            // ne plus reessayer
111
+            return $GLOBALS['connexions'][$index][$version] = [];
112
+        }
113
+    }
114
+    $GLOBALS['connexions'][$index][$version] = $GLOBALS[$jeu];
115
+    if ($old) {
116
+        return $GLOBALS['connexions'][$index];
117
+    }
118
+
119
+    $GLOBALS['connexions'][$index]['spip_connect_version'] = isset($GLOBALS['spip_connect_version']) ? $GLOBALS['spip_connect_version'] : 0;
120
+
121
+    // initialisation de l'alphabet utilise dans les connexions SQL
122
+    // si l'installation l'a determine.
123
+    // Celui du serveur principal l'impose aux serveurs secondaires
124
+    // s'ils le connaissent
125
+
126
+    if (!$serveur) {
127
+        $charset = spip_connect_main($GLOBALS[$jeu], $GLOBALS['db_ok']['charset']);
128
+        if (!$charset) {
129
+            unset($GLOBALS['connexions'][$index]);
130
+            spip_log('spip_connect: absence de charset', _LOG_AVERTISSEMENT);
131
+
132
+            return false;
133
+        }
134
+    } else {
135
+        if ($GLOBALS['db_ok']['charset']) {
136
+            $charset = $GLOBALS['db_ok']['charset'];
137
+        }
138
+        // spip_meta n'existe pas toujours dans la base
139
+        // C'est le cas d'un dump sqlite par exemple
140
+        elseif (
141
+            $GLOBALS['connexions'][$index]['spip_connect_version']
142
+            and sql_showtable('spip_meta', true, $serveur)
143
+            and $r = sql_getfetsel('valeur', 'spip_meta', "nom='charset_sql_connexion'", '', '', '', '', $serveur)
144
+        ) {
145
+            $charset = $r;
146
+        } else {
147
+            $charset = -1;
148
+        }
149
+    }
150
+    if ($charset != -1) {
151
+        $f = $GLOBALS[$jeu]['set_charset'];
152
+        if (function_exists($f)) {
153
+            $f($charset, $serveur);
154
+        }
155
+    }
156
+
157
+    return $GLOBALS['connexions'][$index];
158 158
 }
159 159
 
160 160
 /**
@@ -163,12 +163,12 @@  discard block
 block discarded – undo
163 163
  * @param string $serveur Nom du connecteur de bdd utilisé
164 164
  **/
165 165
 function spip_sql_erreur($serveur = '') {
166
-	$connexion = spip_connect($serveur);
167
-	$e = sql_errno($serveur);
168
-	$t = (isset($connexion['type']) ? $connexion['type'] : 'sql');
169
-	$m = "Erreur $e de $t: " . sql_error($serveur) . "\nin " . sql_error_backtrace() . "\n" . trim($connexion['last']);
170
-	$f = $t . $serveur;
171
-	spip_log($m, $f . '.' . _LOG_ERREUR);
166
+    $connexion = spip_connect($serveur);
167
+    $e = sql_errno($serveur);
168
+    $t = (isset($connexion['type']) ? $connexion['type'] : 'sql');
169
+    $m = "Erreur $e de $t: " . sql_error($serveur) . "\nin " . sql_error_backtrace() . "\n" . trim($connexion['last']);
170
+    $f = $t . $serveur;
171
+    spip_log($m, $f . '.' . _LOG_ERREUR);
172 172
 }
173 173
 
174 174
 /**
@@ -190,19 +190,19 @@  discard block
 block discarded – undo
190 190
  *     - array : description de la connexion, si l'instruction sql est indisponible pour cette connexion
191 191
  **/
192 192
 function spip_connect_sql($version, $ins = '', $serveur = '', $continue = false) {
193
-	$desc = spip_connect($serveur, $version);
194
-	if (function_exists($f = @$desc[$version][$ins])) {
195
-		return $f;
196
-	}
197
-	if ($continue) {
198
-		return $desc;
199
-	}
200
-	if ($ins) {
201
-		spip_log("Le serveur '$serveur' version $version n'a pas '$ins'", _LOG_ERREUR);
202
-	}
203
-	include_spip('inc/minipres');
204
-	echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), ['status' => 503]);
205
-	exit;
193
+    $desc = spip_connect($serveur, $version);
194
+    if (function_exists($f = @$desc[$version][$ins])) {
195
+        return $f;
196
+    }
197
+    if ($continue) {
198
+        return $desc;
199
+    }
200
+    if ($ins) {
201
+        spip_log("Le serveur '$serveur' version $version n'a pas '$ins'", _LOG_ERREUR);
202
+    }
203
+    include_spip('inc/minipres');
204
+    echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), ['status' => 503]);
205
+    exit;
206 206
 }
207 207
 
208 208
 /**
@@ -228,70 +228,70 @@  discard block
 block discarded – undo
228 228
  * @return array          Description de la connexion
229 229
  */
230 230
 function spip_connect_db(
231
-	$host,
232
-	$port,
233
-	$login,
234
-	$pass,
235
-	$db = '',
236
-	$type = 'mysql',
237
-	$prefixe = '',
238
-	$auth = '',
239
-	$charset = ''
231
+    $host,
232
+    $port,
233
+    $login,
234
+    $pass,
235
+    $db = '',
236
+    $type = 'mysql',
237
+    $prefixe = '',
238
+    $auth = '',
239
+    $charset = ''
240 240
 ) {
241
-	// temps avant nouvelle tentative de connexion
242
-	// suite a une connection echouee
243
-	if (!defined('_CONNECT_RETRY_DELAY')) {
244
-		define('_CONNECT_RETRY_DELAY', 30);
245
-	}
246
-
247
-	$f = '';
248
-	// un fichier de identifiant par combinaison (type,host,port,db)
249
-	// pour ne pas declarer tout indisponible d'un coup
250
-	// si en cours d'installation ou si db=@test@ on ne pose rien
251
-	// car c'est un test de connexion
252
-	if (!defined('_ECRIRE_INSTALL') and $db !== '@test@') {
253
-		$f = _DIR_TMP . $type . '.' . substr(md5($host . $port . $db), 0, 8) . '.out';
254
-	} elseif ($db == '@test@') {
255
-		$db = '';
256
-	}
257
-
258
-	if (
259
-		$f
260
-		and @file_exists($f)
261
-		and (time() - @filemtime($f) < _CONNECT_RETRY_DELAY)
262
-	) {
263
-		spip_log("Echec : $f recent. Pas de tentative de connexion", _LOG_HS);
264
-
265
-		return;
266
-	}
267
-
268
-	if (!$prefixe) {
269
-		$prefixe = isset($GLOBALS['table_prefix'])
270
-			? $GLOBALS['table_prefix'] : $db;
271
-	}
272
-	$h = charger_fonction($type, 'req', true);
273
-	if (!$h) {
274
-		spip_log("les requetes $type ne sont pas fournies", _LOG_HS);
275
-
276
-		return;
277
-	}
278
-	if ($g = $h($host, $port, $login, $pass, $db, $prefixe)) {
279
-		if (!is_array($auth)) {
280
-			// compatibilite version 0.7 initiale
281
-			$g['ldap'] = $auth;
282
-			$auth = ['ldap' => $auth];
283
-		}
284
-		$g['authentification'] = $auth;
285
-		$g['type'] = $type;
286
-		$g['charset'] = $charset;
287
-
288
-		return $GLOBALS['db_ok'] = $g;
289
-	}
290
-	// En cas d'indisponibilite du serveur, eviter de le bombarder
291
-	if ($f) {
292
-		@touch($f);
293
-		spip_log("Echec connexion serveur $type : host[$host] port[$port] login[$login] base[$db]", $type . '.' . _LOG_HS);
294
-	}
241
+    // temps avant nouvelle tentative de connexion
242
+    // suite a une connection echouee
243
+    if (!defined('_CONNECT_RETRY_DELAY')) {
244
+        define('_CONNECT_RETRY_DELAY', 30);
245
+    }
246
+
247
+    $f = '';
248
+    // un fichier de identifiant par combinaison (type,host,port,db)
249
+    // pour ne pas declarer tout indisponible d'un coup
250
+    // si en cours d'installation ou si db=@test@ on ne pose rien
251
+    // car c'est un test de connexion
252
+    if (!defined('_ECRIRE_INSTALL') and $db !== '@test@') {
253
+        $f = _DIR_TMP . $type . '.' . substr(md5($host . $port . $db), 0, 8) . '.out';
254
+    } elseif ($db == '@test@') {
255
+        $db = '';
256
+    }
257
+
258
+    if (
259
+        $f
260
+        and @file_exists($f)
261
+        and (time() - @filemtime($f) < _CONNECT_RETRY_DELAY)
262
+    ) {
263
+        spip_log("Echec : $f recent. Pas de tentative de connexion", _LOG_HS);
264
+
265
+        return;
266
+    }
267
+
268
+    if (!$prefixe) {
269
+        $prefixe = isset($GLOBALS['table_prefix'])
270
+            ? $GLOBALS['table_prefix'] : $db;
271
+    }
272
+    $h = charger_fonction($type, 'req', true);
273
+    if (!$h) {
274
+        spip_log("les requetes $type ne sont pas fournies", _LOG_HS);
275
+
276
+        return;
277
+    }
278
+    if ($g = $h($host, $port, $login, $pass, $db, $prefixe)) {
279
+        if (!is_array($auth)) {
280
+            // compatibilite version 0.7 initiale
281
+            $g['ldap'] = $auth;
282
+            $auth = ['ldap' => $auth];
283
+        }
284
+        $g['authentification'] = $auth;
285
+        $g['type'] = $type;
286
+        $g['charset'] = $charset;
287
+
288
+        return $GLOBALS['db_ok'] = $g;
289
+    }
290
+    // En cas d'indisponibilite du serveur, eviter de le bombarder
291
+    if ($f) {
292
+        @touch($f);
293
+        spip_log("Echec connexion serveur $type : host[$host] port[$port] login[$login] base[$db]", $type . '.' . _LOG_HS);
294
+    }
295 295
 }
296 296
 
297 297
 
@@ -323,32 +323,32 @@  discard block
 block discarded – undo
323 323
  *     - nom du charset sinon
324 324
  **/
325 325
 function spip_connect_main($connexion, $charset_sql_connexion = '') {
326
-	if ($GLOBALS['spip_connect_version'] < 0.1 and _DIR_RESTREINT) {
327
-		include_spip('inc/headers');
328
-		redirige_url_ecrire('upgrade', 'reinstall=oui');
329
-	}
330
-
331
-	if (!($f = $connexion['select'])) {
332
-		return false;
333
-	}
334
-	// si le charset est fourni, l'utiliser
335
-	if ($charset_sql_connexion) {
336
-		return $charset_sql_connexion;
337
-	}
338
-	// sinon on regarde la table spip_meta
339
-	// en cas d'erreur select retourne la requette (is_string=true donc)
340
-	if (
341
-		!$r = $f('valeur', 'spip_meta', "nom='charset_sql_connexion'")
342
-		or is_string($r)
343
-	) {
344
-		return false;
345
-	}
346
-	if (!($f = $connexion['fetch'])) {
347
-		return false;
348
-	}
349
-	$r = $f($r);
350
-
351
-	return (isset($r['valeur']) && $r['valeur']) ? $r['valeur'] : -1;
326
+    if ($GLOBALS['spip_connect_version'] < 0.1 and _DIR_RESTREINT) {
327
+        include_spip('inc/headers');
328
+        redirige_url_ecrire('upgrade', 'reinstall=oui');
329
+    }
330
+
331
+    if (!($f = $connexion['select'])) {
332
+        return false;
333
+    }
334
+    // si le charset est fourni, l'utiliser
335
+    if ($charset_sql_connexion) {
336
+        return $charset_sql_connexion;
337
+    }
338
+    // sinon on regarde la table spip_meta
339
+    // en cas d'erreur select retourne la requette (is_string=true donc)
340
+    if (
341
+        !$r = $f('valeur', 'spip_meta', "nom='charset_sql_connexion'")
342
+        or is_string($r)
343
+    ) {
344
+        return false;
345
+    }
346
+    if (!($f = $connexion['fetch'])) {
347
+        return false;
348
+    }
349
+    $r = $f($r);
350
+
351
+    return (isset($r['valeur']) && $r['valeur']) ? $r['valeur'] : -1;
352 352
 }
353 353
 
354 354
 /**
@@ -364,9 +364,9 @@  discard block
 block discarded – undo
364 364
  * @return array
365 365
  */
366 366
 function spip_connect_ldap($serveur = '') {
367
-	include_spip('auth/ldap');
367
+    include_spip('auth/ldap');
368 368
 
369
-	return auth_ldap_connect($serveur);
369
+    return auth_ldap_connect($serveur);
370 370
 }
371 371
 
372 372
 /**
@@ -382,9 +382,9 @@  discard block
 block discarded – undo
382 382
  * @return string Valeur échappée.
383 383
  **/
384 384
 function _q($a) {
385
-	return (is_numeric($a)) ? strval($a) :
386
-		(!is_array($a) ? ("'" . addslashes($a) . "'")
387
-			: join(',', array_map('_q', $a)));
385
+    return (is_numeric($a)) ? strval($a) :
386
+        (!is_array($a) ? ("'" . addslashes($a) . "'")
387
+            : join(',', array_map('_q', $a)));
388 388
 }
389 389
 
390 390
 /**
@@ -400,41 +400,41 @@  discard block
 block discarded – undo
400 400
  * @return array
401 401
  */
402 402
 function query_echappe_textes($query) {
403
-	static $codeEchappements = ["''" => "\x1@##@\x1", "\'" => "\x2@##@\x2", '\\"' => "\x3@##@\x3"];
404
-	$query = str_replace(array_keys($codeEchappements), array_values($codeEchappements), $query);
405
-	if (preg_match_all("/((['])[^']*(\\2))|(([\"])[^\"]*(\\5))/S", $query, $textes)) {
406
-		$textes = reset($textes); // indice 0 du match
407
-		switch (count($textes)) {
408
-			case 0:
409
-				$replace = [];
410
-				break;
411
-			case 1:
412
-				$replace = ['%1$s'];
413
-				break;
414
-			case 2:
415
-				$replace = ['%1$s', '%2$s'];
416
-				break;
417
-			case 3:
418
-				$replace = ['%1$s', '%2$s', '%3$s'];
419
-				break;
420
-			case 4:
421
-				$replace = ['%1$s', '%2$s', '%3$s', '%4$s'];
422
-				break;
423
-			case 5:
424
-				$replace = ['%1$s', '%2$s', '%3$s', '%4$s', '%5$s'];
425
-				break;
426
-			default:
427
-				$replace = range(1, count($textes));
428
-				$replace = '%' . implode('$s,%', $replace) . '$s';
429
-				$replace = explode(',', $replace);
430
-				break;
431
-		}
432
-		$query = str_replace($textes, $replace, $query);
433
-	} else {
434
-		$textes = [];
435
-	}
436
-
437
-	return [$query, $textes];
403
+    static $codeEchappements = ["''" => "\x1@##@\x1", "\'" => "\x2@##@\x2", '\\"' => "\x3@##@\x3"];
404
+    $query = str_replace(array_keys($codeEchappements), array_values($codeEchappements), $query);
405
+    if (preg_match_all("/((['])[^']*(\\2))|(([\"])[^\"]*(\\5))/S", $query, $textes)) {
406
+        $textes = reset($textes); // indice 0 du match
407
+        switch (count($textes)) {
408
+            case 0:
409
+                $replace = [];
410
+                break;
411
+            case 1:
412
+                $replace = ['%1$s'];
413
+                break;
414
+            case 2:
415
+                $replace = ['%1$s', '%2$s'];
416
+                break;
417
+            case 3:
418
+                $replace = ['%1$s', '%2$s', '%3$s'];
419
+                break;
420
+            case 4:
421
+                $replace = ['%1$s', '%2$s', '%3$s', '%4$s'];
422
+                break;
423
+            case 5:
424
+                $replace = ['%1$s', '%2$s', '%3$s', '%4$s', '%5$s'];
425
+                break;
426
+            default:
427
+                $replace = range(1, count($textes));
428
+                $replace = '%' . implode('$s,%', $replace) . '$s';
429
+                $replace = explode(',', $replace);
430
+                break;
431
+        }
432
+        $query = str_replace($textes, $replace, $query);
433
+    } else {
434
+        $textes = [];
435
+    }
436
+
437
+    return [$query, $textes];
438 438
 }
439 439
 
440 440
 /**
@@ -448,40 +448,40 @@  discard block
 block discarded – undo
448 448
  * @return string
449 449
  */
450 450
 function query_reinjecte_textes($query, $textes) {
451
-	static $codeEchappements = ["''" => "\x1@##@\x1", "\'" => "\x2@##@\x2", '\\"' => "\x3@##@\x3"];
452
-	# debug de la substitution
453
-	#if (($c1=substr_count($query,"%"))!=($c2=count($textes))){
454
-	#	spip_log("$c1 ::". $query,"tradquery"._LOG_ERREUR);
455
-	#	spip_log("$c2 ::". var_export($textes,1),"tradquery"._LOG_ERREUR);
456
-	#	spip_log("ini ::". $qi,"tradquery"._LOG_ERREUR);
457
-	#}
458
-	switch (count($textes)) {
459
-		case 0:
460
-			break;
461
-		case 1:
462
-			$query = sprintf($query, $textes[0]);
463
-			break;
464
-		case 2:
465
-			$query = sprintf($query, $textes[0], $textes[1]);
466
-			break;
467
-		case 3:
468
-			$query = sprintf($query, $textes[0], $textes[1], $textes[2]);
469
-			break;
470
-		case 4:
471
-			$query = sprintf($query, $textes[0], $textes[1], $textes[2], $textes[3]);
472
-			break;
473
-		case 5:
474
-			$query = sprintf($query, $textes[0], $textes[1], $textes[2], $textes[3], $textes[4]);
475
-			break;
476
-		default:
477
-			array_unshift($textes, $query);
478
-			$query = call_user_func_array('sprintf', $textes);
479
-			break;
480
-	}
481
-
482
-	$query = str_replace(array_values($codeEchappements), array_keys($codeEchappements), $query);
483
-
484
-	return $query;
451
+    static $codeEchappements = ["''" => "\x1@##@\x1", "\'" => "\x2@##@\x2", '\\"' => "\x3@##@\x3"];
452
+    # debug de la substitution
453
+    #if (($c1=substr_count($query,"%"))!=($c2=count($textes))){
454
+    #	spip_log("$c1 ::". $query,"tradquery"._LOG_ERREUR);
455
+    #	spip_log("$c2 ::". var_export($textes,1),"tradquery"._LOG_ERREUR);
456
+    #	spip_log("ini ::". $qi,"tradquery"._LOG_ERREUR);
457
+    #}
458
+    switch (count($textes)) {
459
+        case 0:
460
+            break;
461
+        case 1:
462
+            $query = sprintf($query, $textes[0]);
463
+            break;
464
+        case 2:
465
+            $query = sprintf($query, $textes[0], $textes[1]);
466
+            break;
467
+        case 3:
468
+            $query = sprintf($query, $textes[0], $textes[1], $textes[2]);
469
+            break;
470
+        case 4:
471
+            $query = sprintf($query, $textes[0], $textes[1], $textes[2], $textes[3]);
472
+            break;
473
+        case 5:
474
+            $query = sprintf($query, $textes[0], $textes[1], $textes[2], $textes[3], $textes[4]);
475
+            break;
476
+        default:
477
+            array_unshift($textes, $query);
478
+            $query = call_user_func_array('sprintf', $textes);
479
+            break;
480
+    }
481
+
482
+    $query = str_replace(array_values($codeEchappements), array_keys($codeEchappements), $query);
483
+
484
+    return $query;
485 485
 }
486 486
 
487 487
 
@@ -500,7 +500,7 @@  discard block
 block discarded – undo
500 500
  **/
501 501
 function spip_query($query, $serveur = '') {
502 502
 
503
-	$f = spip_connect_sql($GLOBALS['spip_sql_version'], 'query', $serveur, true);
503
+    $f = spip_connect_sql($GLOBALS['spip_sql_version'], 'query', $serveur, true);
504 504
 
505
-	return function_exists($f) ? $f($query, $serveur) : false;
505
+    return function_exists($f) ? $f($query, $serveur) : false;
506 506
 }
Please login to merge, or discard this patch.
ecrire/base/create.php 1 patch
Indentation   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Installation
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 include_spip('inc/acces');
@@ -33,18 +33,18 @@  discard block
 block discarded – undo
33 33
  * @return bool
34 34
  */
35 35
 function base_determine_autoinc($table, $desc = []) {
36
-	if ($t = lister_tables_principales() and isset($t[$table])) {
37
-		$autoinc = true;
38
-	} elseif ($t = lister_tables_auxiliaires() and isset($t[$table])) {
39
-		$autoinc = false;
40
-	} else {
41
-		// essayer de faire au mieux !
42
-		$autoinc = (isset($desc['key']['PRIMARY KEY'])
43
-			and strpos($desc['key']['PRIMARY KEY'], ',') === false
44
-			and strpos($desc['field'][$desc['key']['PRIMARY KEY']], 'default') === false);
45
-	}
36
+    if ($t = lister_tables_principales() and isset($t[$table])) {
37
+        $autoinc = true;
38
+    } elseif ($t = lister_tables_auxiliaires() and isset($t[$table])) {
39
+        $autoinc = false;
40
+    } else {
41
+        // essayer de faire au mieux !
42
+        $autoinc = (isset($desc['key']['PRIMARY KEY'])
43
+            and strpos($desc['key']['PRIMARY KEY'], ',') === false
44
+            and strpos($desc['field'][$desc['key']['PRIMARY KEY']], 'default') === false);
45
+    }
46 46
 
47
-	return $autoinc;
47
+    return $autoinc;
48 48
 }
49 49
 
50 50
 /**
@@ -61,58 +61,58 @@  discard block
 block discarded – undo
61 61
  * @return void
62 62
  */
63 63
 function creer_ou_upgrader_table($table, $desc, $autoinc, $upgrade = false, $serveur = '') {
64
-	#spip_log("creer_ou_upgrader_table table=$table autoinc=$autoinc upgrade=$upgrade","dbinstall"._LOG_INFO_IMPORTANTE);
65
-	$sql_desc = $upgrade ? sql_showtable($table, true, $serveur) : false;
66
-	#if (!$sql_desc) $sql_desc = false;
67
-	#spip_log("table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
68
-	if (!$sql_desc) {
69
-		if ($autoinc === 'auto') {
70
-			$autoinc = base_determine_autoinc($table, $desc);
71
-		}
72
-		#spip_log("sql_create $table autoinc=$autoinc","dbinstall"._LOG_INFO_IMPORTANTE);
73
-		if (isset($desc['field']) and isset($desc['key'])) {
74
-			sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
75
-		}
76
-		// verifier la bonne installation de la table (php-fpm es-tu la ?)
77
-		$sql_desc = sql_showtable($table, true, $serveur);
78
-		#if (!$sql_desc) $sql_desc = false;
79
-		#spip_log("Resultat table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
80
-		if (!$sql_desc) {
81
-			// on retente avec un sleep ?
82
-			sleep(1);
83
-			sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
84
-			$sql_desc = sql_showtable($table, true, $serveur);
85
-			#if (!$sql_desc) $sql_desc = false;
86
-			#spip_log("Resultat table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
87
-			if (!$sql_desc) {
88
-				spip_log("Echec creation table $table", 'maj' . _LOG_CRITIQUE);
89
-			}
90
-		}
91
-	} else {
92
-		#spip_log("sql_alter $table ... (on s'en fiche)","dbinstall"._LOG_INFO_IMPORTANTE);
93
-		// ajouter les champs manquants
94
-		// on ne supprime jamais les champs, car c'est dangereux
95
-		// c'est toujours a faire manuellement
96
-		$last = '';
97
-		if (isset($desc['field'])) {
98
-			foreach ($desc['field'] as $field => $type) {
99
-				if (!isset($sql_desc['field'][$field])) {
100
-					sql_alter("TABLE $table ADD $field $type" . ($last ? " AFTER $last" : ''), $serveur);
101
-				}
102
-				$last = $field;
103
-			}
104
-		}
105
-		if (isset($desc['key'])) {
106
-			foreach ($desc['key'] as $key => $type) {
107
-				// Ne pas oublier les cas des cles non nommees dans la declaration et qui sont retournees
108
-				// par le showtable sous la forme d'un index de tableau "KEY $type" et non "KEY"
109
-				if (!isset($sql_desc['key'][$key]) and !isset($sql_desc['key']["$key $type"])) {
110
-					sql_alter("TABLE $table ADD $key ($type)", $serveur);
111
-				}
112
-				$last = $field;
113
-			}
114
-		}
115
-	}
64
+    #spip_log("creer_ou_upgrader_table table=$table autoinc=$autoinc upgrade=$upgrade","dbinstall"._LOG_INFO_IMPORTANTE);
65
+    $sql_desc = $upgrade ? sql_showtable($table, true, $serveur) : false;
66
+    #if (!$sql_desc) $sql_desc = false;
67
+    #spip_log("table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
68
+    if (!$sql_desc) {
69
+        if ($autoinc === 'auto') {
70
+            $autoinc = base_determine_autoinc($table, $desc);
71
+        }
72
+        #spip_log("sql_create $table autoinc=$autoinc","dbinstall"._LOG_INFO_IMPORTANTE);
73
+        if (isset($desc['field']) and isset($desc['key'])) {
74
+            sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
75
+        }
76
+        // verifier la bonne installation de la table (php-fpm es-tu la ?)
77
+        $sql_desc = sql_showtable($table, true, $serveur);
78
+        #if (!$sql_desc) $sql_desc = false;
79
+        #spip_log("Resultat table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
80
+        if (!$sql_desc) {
81
+            // on retente avec un sleep ?
82
+            sleep(1);
83
+            sql_create($table, $desc['field'], $desc['key'], $autoinc, false, $serveur);
84
+            $sql_desc = sql_showtable($table, true, $serveur);
85
+            #if (!$sql_desc) $sql_desc = false;
86
+            #spip_log("Resultat table=$table sql_desc:$sql_desc","dbinstall"._LOG_INFO_IMPORTANTE);
87
+            if (!$sql_desc) {
88
+                spip_log("Echec creation table $table", 'maj' . _LOG_CRITIQUE);
89
+            }
90
+        }
91
+    } else {
92
+        #spip_log("sql_alter $table ... (on s'en fiche)","dbinstall"._LOG_INFO_IMPORTANTE);
93
+        // ajouter les champs manquants
94
+        // on ne supprime jamais les champs, car c'est dangereux
95
+        // c'est toujours a faire manuellement
96
+        $last = '';
97
+        if (isset($desc['field'])) {
98
+            foreach ($desc['field'] as $field => $type) {
99
+                if (!isset($sql_desc['field'][$field])) {
100
+                    sql_alter("TABLE $table ADD $field $type" . ($last ? " AFTER $last" : ''), $serveur);
101
+                }
102
+                $last = $field;
103
+            }
104
+        }
105
+        if (isset($desc['key'])) {
106
+            foreach ($desc['key'] as $key => $type) {
107
+                // Ne pas oublier les cas des cles non nommees dans la declaration et qui sont retournees
108
+                // par le showtable sous la forme d'un index de tableau "KEY $type" et non "KEY"
109
+                if (!isset($sql_desc['key'][$key]) and !isset($sql_desc['key']["$key $type"])) {
110
+                    sql_alter("TABLE $table ADD $key ($type)", $serveur);
111
+                }
112
+                $last = $field;
113
+            }
114
+        }
115
+    }
116 116
 }
117 117
 
118 118
 /**
@@ -134,26 +134,26 @@  discard block
 block discarded – undo
134 134
  * @return void
135 135
  */
136 136
 function alterer_base($tables_inc, $tables_noinc, $up = false, $serveur = '') {
137
-	if ($up === false) {
138
-		$old = false;
139
-		$up = [];
140
-	} else {
141
-		$old = true;
142
-		if (!is_array($up)) {
143
-			$up = [$up];
144
-		}
145
-	}
146
-	foreach ($tables_inc as $k => $v) {
147
-		if (!$old or in_array($k, $up)) {
148
-			creer_ou_upgrader_table($k, $v, true, $old, $serveur);
149
-		}
150
-	}
137
+    if ($up === false) {
138
+        $old = false;
139
+        $up = [];
140
+    } else {
141
+        $old = true;
142
+        if (!is_array($up)) {
143
+            $up = [$up];
144
+        }
145
+    }
146
+    foreach ($tables_inc as $k => $v) {
147
+        if (!$old or in_array($k, $up)) {
148
+            creer_ou_upgrader_table($k, $v, true, $old, $serveur);
149
+        }
150
+    }
151 151
 
152
-	foreach ($tables_noinc as $k => $v) {
153
-		if (!$old or in_array($k, $up)) {
154
-			creer_ou_upgrader_table($k, $v, false, $old, $serveur);
155
-		}
156
-	}
152
+    foreach ($tables_noinc as $k => $v) {
153
+        if (!$old or in_array($k, $up)) {
154
+            creer_ou_upgrader_table($k, $v, false, $old, $serveur);
155
+        }
156
+    }
157 157
 }
158 158
 
159 159
 /**
@@ -173,16 +173,16 @@  discard block
 block discarded – undo
173 173
  */
174 174
 function creer_base($serveur = '') {
175 175
 
176
-	// Note: les mises a jour reexecutent ce code pour s'assurer
177
-	// de la conformite de la base
178
-	// pas de panique sur  "already exists" et "duplicate entry" donc.
176
+    // Note: les mises a jour reexecutent ce code pour s'assurer
177
+    // de la conformite de la base
178
+    // pas de panique sur  "already exists" et "duplicate entry" donc.
179 179
 
180
-	alterer_base(
181
-		lister_tables_principales(),
182
-		lister_tables_auxiliaires(),
183
-		false,
184
-		$serveur
185
-	);
180
+    alterer_base(
181
+        lister_tables_principales(),
182
+        lister_tables_auxiliaires(),
183
+        false,
184
+        $serveur
185
+    );
186 186
 }
187 187
 
188 188
 /**
@@ -202,10 +202,10 @@  discard block
 block discarded – undo
202 202
  * @return void
203 203
  */
204 204
 function maj_tables($upgrade_tables = [], $serveur = '') {
205
-	alterer_base(
206
-		lister_tables_principales(),
207
-		lister_tables_auxiliaires(),
208
-		$upgrade_tables,
209
-		$serveur
210
-	);
205
+    alterer_base(
206
+        lister_tables_principales(),
207
+        lister_tables_auxiliaires(),
208
+        $upgrade_tables,
209
+        $serveur
210
+    );
211 211
 }
Please login to merge, or discard this patch.
ecrire/base/delete_all.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  */
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -29,27 +29,27 @@  discard block
 block discarded – undo
29 29
  * @param string $titre Inutilisé
30 30
  **/
31 31
 function base_delete_all_dist($titre) {
32
-	$delete = _request('delete');
33
-	$res = [];
34
-	if (is_array($delete)) {
35
-		foreach ($delete as $table) {
36
-			if (sql_drop_table($table)) {
37
-				$res[] = $table;
38
-			} else {
39
-				spip_log("SPIP n'a pas pu detruire $table.", _LOG_ERREUR);
40
-			}
41
-		}
32
+    $delete = _request('delete');
33
+    $res = [];
34
+    if (is_array($delete)) {
35
+        foreach ($delete as $table) {
36
+            if (sql_drop_table($table)) {
37
+                $res[] = $table;
38
+            } else {
39
+                spip_log("SPIP n'a pas pu detruire $table.", _LOG_ERREUR);
40
+            }
41
+        }
42 42
 
43
-		// un pipeline pour detruire les tables installees par les plugins
44
-		pipeline('delete_tables', '');
43
+        // un pipeline pour detruire les tables installees par les plugins
44
+        pipeline('delete_tables', '');
45 45
 
46
-		spip_unlink(_FILE_CONNECT);
47
-		spip_unlink(_FILE_CHMOD);
48
-		spip_unlink(_FILE_META);
49
-		spip_unlink(_ACCESS_FILE_NAME);
50
-		spip_unlink(_CACHE_RUBRIQUES);
51
-	}
52
-	$d = count($delete);
53
-	$r = count($res);
54
-	spip_log("Tables detruites: $r sur $d: " . join(', ', $res), _LOG_INFO_IMPORTANTE);
46
+        spip_unlink(_FILE_CONNECT);
47
+        spip_unlink(_FILE_CHMOD);
48
+        spip_unlink(_FILE_META);
49
+        spip_unlink(_ACCESS_FILE_NAME);
50
+        spip_unlink(_CACHE_RUBRIQUES);
51
+    }
52
+    $d = count($delete);
53
+    $r = count($res);
54
+    spip_log("Tables detruites: $r sur $d: " . join(', ', $res), _LOG_INFO_IMPORTANTE);
55 55
 }
Please login to merge, or discard this patch.
ecrire/base/repair.php 1 patch
Indentation   +62 added lines, -62 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
 /**
@@ -36,20 +36,20 @@  discard block
 block discarded – undo
36 36
  **/
37 37
 function base_repair_dist($titre = '', $reprise = '') {
38 38
 
39
-	$res = admin_repair_tables();
40
-	if (!$res) {
41
-		$res = "<div class='error'>" . _T('avis_erreur_mysql') . ' ' . sql_errno() . ': ' . sql_error() . "</div>\n";
42
-	} else {
43
-		include_spip('inc/rubriques');
44
-		calculer_rubriques();
45
-		propager_les_secteurs();
46
-	}
47
-	include_spip('inc/minipres');
48
-	$res .= pipeline('base_admin_repair', $res);
49
-	echo minipres(
50
-		_T('texte_tentative_recuperation'),
51
-		$res . generer_form_ecrire('accueil', '', '', _T('public:accueil_site'))
52
-	);
39
+    $res = admin_repair_tables();
40
+    if (!$res) {
41
+        $res = "<div class='error'>" . _T('avis_erreur_mysql') . ' ' . sql_errno() . ': ' . sql_error() . "</div>\n";
42
+    } else {
43
+        include_spip('inc/rubriques');
44
+        calculer_rubriques();
45
+        propager_les_secteurs();
46
+    }
47
+    include_spip('inc/minipres');
48
+    $res .= pipeline('base_admin_repair', $res);
49
+    echo minipres(
50
+        _T('texte_tentative_recuperation'),
51
+        $res . generer_form_ecrire('accueil', '', '', _T('public:accueil_site'))
52
+    );
53 53
 }
54 54
 
55 55
 /**
@@ -63,59 +63,59 @@  discard block
 block discarded – undo
63 63
  **/
64 64
 function admin_repair_tables() {
65 65
 
66
-	$repair = sql_repair('repair', null, 'continue');
66
+    $repair = sql_repair('repair', null, 'continue');
67 67
 
68
-	// recreer les tables manquantes eventuelles
69
-	include_spip('base/create');
70
-	creer_base();
71
-	$tables = sql_alltable();
68
+    // recreer les tables manquantes eventuelles
69
+    include_spip('base/create');
70
+    creer_base();
71
+    $tables = sql_alltable();
72 72
 
73
-	$res = '';
74
-	foreach ($tables as $tab) {
75
-		$class = '';
76
-		$m = "<strong>$tab</strong> ";
77
-		spip_log("Repare $tab", _LOG_INFO_IMPORTANTE);
78
-		// supprimer la meta avant de lancer la reparation
79
-		// car le repair peut etre long ; on ne veut pas boucler
80
-		effacer_meta('admin_repair');
81
-		if ($repair) {
82
-			$result_repair = sql_repair($tab);
83
-			if (!$result_repair) {
84
-				return false;
85
-			}
86
-		}
73
+    $res = '';
74
+    foreach ($tables as $tab) {
75
+        $class = '';
76
+        $m = "<strong>$tab</strong> ";
77
+        spip_log("Repare $tab", _LOG_INFO_IMPORTANTE);
78
+        // supprimer la meta avant de lancer la reparation
79
+        // car le repair peut etre long ; on ne veut pas boucler
80
+        effacer_meta('admin_repair');
81
+        if ($repair) {
82
+            $result_repair = sql_repair($tab);
83
+            if (!$result_repair) {
84
+                return false;
85
+            }
86
+        }
87 87
 
88
-		// essayer de maj la table (creation de champs manquants)
89
-		maj_tables($tab);
88
+        // essayer de maj la table (creation de champs manquants)
89
+        maj_tables($tab);
90 90
 
91
-		$count = sql_countsel($tab);
91
+        $count = sql_countsel($tab);
92 92
 
93
-		if ($count > 1) {
94
-			$m .= '(' . _T('texte_compte_elements', ['count' => $count]) . ")\n";
95
-		} else {
96
-			if ($count == 1) {
97
-				$m .= '(' . _T('texte_compte_element', ['count' => $count]) . ")\n";
98
-			} else {
99
-				$m .= '(' . _T('texte_vide') . ")\n";
100
-			}
101
-		}
93
+        if ($count > 1) {
94
+            $m .= '(' . _T('texte_compte_elements', ['count' => $count]) . ")\n";
95
+        } else {
96
+            if ($count == 1) {
97
+                $m .= '(' . _T('texte_compte_element', ['count' => $count]) . ")\n";
98
+            } else {
99
+                $m .= '(' . _T('texte_vide') . ")\n";
100
+            }
101
+        }
102 102
 
103
-		if (
104
-			$result_repair
105
-			and $msg = join(
106
-				' ',
107
-				(is_resource($result_repair) or is_object($result_repair)) ? sql_fetch($result_repair) : $result_repair
108
-			) . ' '
109
-			and strpos($msg, ' OK ') === false
110
-		) {
111
-			$class = " class='notice'";
112
-			$m .= '<br /><tt>' . spip_htmlentities($msg) . "</tt>\n";
113
-		} else {
114
-			$m .= ' ' . _T('texte_table_ok');
115
-		}
103
+        if (
104
+            $result_repair
105
+            and $msg = join(
106
+                ' ',
107
+                (is_resource($result_repair) or is_object($result_repair)) ? sql_fetch($result_repair) : $result_repair
108
+            ) . ' '
109
+            and strpos($msg, ' OK ') === false
110
+        ) {
111
+            $class = " class='notice'";
112
+            $m .= '<br /><tt>' . spip_htmlentities($msg) . "</tt>\n";
113
+        } else {
114
+            $m .= ' ' . _T('texte_table_ok');
115
+        }
116 116
 
117
-		$res .= "<div$class>$m</div>";
118
-	}
117
+        $res .= "<div$class>$m</div>";
118
+    }
119 119
 
120
-	return $res;
120
+    return $res;
121 121
 }
Please login to merge, or discard this patch.
ecrire/base/abstract_sql.php 1 patch
Indentation   +674 added lines, -674 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
  */
26 26
 
27 27
 if (!defined('_ECRIRE_INC_VERSION')) {
28
-	return;
28
+    return;
29 29
 }
30 30
 
31 31
 /** Version de l'API SQL */
@@ -45,39 +45,39 @@  discard block
 block discarded – undo
45 45
  *     contexte de l'erreur
46 46
  **/
47 47
 function sql_error_backtrace($compil_info = false) {
48
-	$trace = debug_backtrace();
49
-	$caller = array_shift($trace);
50
-	while (count($trace) and (empty($trace[0]['file']) or $trace[0]['file'] === $caller['file'] or $trace[0]['file'] === __FILE__)) {
51
-		array_shift($trace);
52
-	}
53
-
54
-	if ($compil_info) {
55
-		$contexte_compil = [
56
-			$trace[0]['file'],// sourcefile
57
-			'', //nom
58
-			(isset($trace[1]) ? $trace[1]['function'] . "(){\n" : '')
59
-			. $trace[0]['function'] . '();'
60
-			. (isset($trace[1]) ? "\n}" : ''), //id_boucle
61
-			$trace[0]['line'], // ligne
62
-			$GLOBALS['spip_lang'], // lang
63
-		];
64
-
65
-		return $contexte_compil;
66
-	}
67
-
68
-	$message = count($trace) ? $trace[0]['file'] . ' L' . $trace[0]['line'] : '';
69
-	$f = [];
70
-	while (count($trace) and $t = array_shift($trace)) {
71
-		if (in_array($t['function'], ['include_once', 'include_spip', 'find_in_path'])) {
72
-			break;
73
-		}
74
-		$f[] = $t['function'];
75
-	}
76
-	if (count($f)) {
77
-		$message .= ' [' . implode('(),', $f) . '()]';
78
-	}
79
-
80
-	return $message;
48
+    $trace = debug_backtrace();
49
+    $caller = array_shift($trace);
50
+    while (count($trace) and (empty($trace[0]['file']) or $trace[0]['file'] === $caller['file'] or $trace[0]['file'] === __FILE__)) {
51
+        array_shift($trace);
52
+    }
53
+
54
+    if ($compil_info) {
55
+        $contexte_compil = [
56
+            $trace[0]['file'],// sourcefile
57
+            '', //nom
58
+            (isset($trace[1]) ? $trace[1]['function'] . "(){\n" : '')
59
+            . $trace[0]['function'] . '();'
60
+            . (isset($trace[1]) ? "\n}" : ''), //id_boucle
61
+            $trace[0]['line'], // ligne
62
+            $GLOBALS['spip_lang'], // lang
63
+        ];
64
+
65
+        return $contexte_compil;
66
+    }
67
+
68
+    $message = count($trace) ? $trace[0]['file'] . ' L' . $trace[0]['line'] : '';
69
+    $f = [];
70
+    while (count($trace) and $t = array_shift($trace)) {
71
+        if (in_array($t['function'], ['include_once', 'include_spip', 'find_in_path'])) {
72
+            break;
73
+        }
74
+        $f[] = $t['function'];
75
+    }
76
+    if (count($f)) {
77
+        $message .= ' [' . implode('(),', $f) . '()]';
78
+    }
79
+
80
+    return $message;
81 81
 }
82 82
 
83 83
 
@@ -102,16 +102,16 @@  discard block
 block discarded – undo
102 102
  *
103 103
  **/
104 104
 function sql_serveur($ins_sql = '', $serveur = '', $continue = false) {
105
-	static $sql_serveur = [];
106
-	if (!isset($sql_serveur[$serveur][$ins_sql])) {
107
-		$f = spip_connect_sql(sql_ABSTRACT_VERSION, $ins_sql, $serveur, $continue);
108
-		if (!is_string($f) or !$f) {
109
-			return $f;
110
-		}
111
-		$sql_serveur[$serveur][$ins_sql] = $f;
112
-	}
113
-
114
-	return $sql_serveur[$serveur][$ins_sql];
105
+    static $sql_serveur = [];
106
+    if (!isset($sql_serveur[$serveur][$ins_sql])) {
107
+        $f = spip_connect_sql(sql_ABSTRACT_VERSION, $ins_sql, $serveur, $continue);
108
+        if (!is_string($f) or !$f) {
109
+            return $f;
110
+        }
111
+        $sql_serveur[$serveur][$ins_sql] = $f;
112
+    }
113
+
114
+    return $sql_serveur[$serveur][$ins_sql];
115 115
 }
116 116
 
117 117
 /**
@@ -133,23 +133,23 @@  discard block
 block discarded – undo
133 133
  *     Retourne le nom du charset si effectivement trouvé, sinon false.
134 134
  **/
135 135
 function sql_get_charset($charset, $serveur = '', $option = true) {
136
-	// le nom http du charset differe parfois du nom SQL utf-8 ==> utf8 etc.
137
-	$desc = sql_serveur('', $serveur, true, true);
138
-	$desc = $desc[sql_ABSTRACT_VERSION];
139
-	$c = $desc['charsets'][$charset];
140
-	if ($c) {
141
-		if (function_exists($f = @$desc['get_charset'])) {
142
-			if ($f($c, $serveur, $option !== false)) {
143
-				return $c;
144
-			}
145
-		}
146
-	}
147
-	spip_log(
148
-		"SPIP ne connait pas les Charsets disponibles sur le serveur $serveur. Le serveur choisira seul.",
149
-		_LOG_AVERTISSEMENT
150
-	);
151
-
152
-	return false;
136
+    // le nom http du charset differe parfois du nom SQL utf-8 ==> utf8 etc.
137
+    $desc = sql_serveur('', $serveur, true, true);
138
+    $desc = $desc[sql_ABSTRACT_VERSION];
139
+    $c = $desc['charsets'][$charset];
140
+    if ($c) {
141
+        if (function_exists($f = @$desc['get_charset'])) {
142
+            if ($f($c, $serveur, $option !== false)) {
143
+                return $c;
144
+            }
145
+        }
146
+    }
147
+    spip_log(
148
+        "SPIP ne connait pas les Charsets disponibles sur le serveur $serveur. Le serveur choisira seul.",
149
+        _LOG_AVERTISSEMENT
150
+    );
151
+
152
+    return false;
153 153
 }
154 154
 
155 155
 
@@ -175,12 +175,12 @@  discard block
 block discarded – undo
175 175
  *    Retourne true si elle reussie.
176 176
  **/
177 177
 function sql_set_charset($charset, $serveur = '', $option = true) {
178
-	$f = sql_serveur('set_charset', $serveur, $option === 'continue' or $option === false);
179
-	if (!is_string($f) or !$f) {
180
-		return false;
181
-	}
178
+    $f = sql_serveur('set_charset', $serveur, $option === 'continue' or $option === false);
179
+    if (!is_string($f) or !$f) {
180
+        return false;
181
+    }
182 182
 
183
-	return $f($charset, $serveur, $option !== false);
183
+    return $f($charset, $serveur, $option !== false);
184 184
 }
185 185
 
186 186
 
@@ -231,59 +231,59 @@  discard block
 block discarded – undo
231 231
  *
232 232
  **/
233 233
 function sql_select(
234
-	$select = [],
235
-	$from = [],
236
-	$where = [],
237
-	$groupby = [],
238
-	$orderby = [],
239
-	$limit = '',
240
-	$having = [],
241
-	$serveur = '',
242
-	$option = true
234
+    $select = [],
235
+    $from = [],
236
+    $where = [],
237
+    $groupby = [],
238
+    $orderby = [],
239
+    $limit = '',
240
+    $having = [],
241
+    $serveur = '',
242
+    $option = true
243 243
 ) {
244
-	$f = sql_serveur('select', $serveur, $option === 'continue' or $option === false);
245
-	if (!is_string($f) or !$f) {
246
-		return false;
247
-	}
248
-
249
-	$debug = (defined('_VAR_MODE') and _VAR_MODE == 'debug');
250
-	if (($option !== false) and !$debug) {
251
-		$res = $f(
252
-			$select,
253
-			$from,
254
-			$where,
255
-			$groupby,
256
-			$orderby,
257
-			$limit,
258
-			$having,
259
-			$serveur,
260
-			is_array($option) ? true : $option
261
-		);
262
-	} else {
263
-		$query = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
264
-		if (!$option) {
265
-			return $query;
266
-		}
267
-		// le debug, c'est pour ce qui a ete produit par le compilateur
268
-		if (isset($GLOBALS['debug']['aucasou'])) {
269
-			list($table, $id, ) = $GLOBALS['debug']['aucasou'];
270
-			$nom = $GLOBALS['debug_objets']['courant'] . $id;
271
-			$GLOBALS['debug_objets']['requete'][$nom] = $query;
272
-		}
273
-		$res = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, true);
274
-	}
275
-
276
-	// en cas d'erreur
277
-	if (!is_string($res)) {
278
-		return $res;
279
-	}
280
-	// denoncer l'erreur SQL dans sa version brute
281
-	spip_sql_erreur($serveur);
282
-	// idem dans sa version squelette (prefixe des tables non substitue)
283
-	$contexte_compil = sql_error_backtrace(true);
284
-	erreur_squelette([sql_errno($serveur), sql_error($serveur), $res], $contexte_compil);
285
-
286
-	return false;
244
+    $f = sql_serveur('select', $serveur, $option === 'continue' or $option === false);
245
+    if (!is_string($f) or !$f) {
246
+        return false;
247
+    }
248
+
249
+    $debug = (defined('_VAR_MODE') and _VAR_MODE == 'debug');
250
+    if (($option !== false) and !$debug) {
251
+        $res = $f(
252
+            $select,
253
+            $from,
254
+            $where,
255
+            $groupby,
256
+            $orderby,
257
+            $limit,
258
+            $having,
259
+            $serveur,
260
+            is_array($option) ? true : $option
261
+        );
262
+    } else {
263
+        $query = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
264
+        if (!$option) {
265
+            return $query;
266
+        }
267
+        // le debug, c'est pour ce qui a ete produit par le compilateur
268
+        if (isset($GLOBALS['debug']['aucasou'])) {
269
+            list($table, $id, ) = $GLOBALS['debug']['aucasou'];
270
+            $nom = $GLOBALS['debug_objets']['courant'] . $id;
271
+            $GLOBALS['debug_objets']['requete'][$nom] = $query;
272
+        }
273
+        $res = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, true);
274
+    }
275
+
276
+    // en cas d'erreur
277
+    if (!is_string($res)) {
278
+        return $res;
279
+    }
280
+    // denoncer l'erreur SQL dans sa version brute
281
+    spip_sql_erreur($serveur);
282
+    // idem dans sa version squelette (prefixe des tables non substitue)
283
+    $contexte_compil = sql_error_backtrace(true);
284
+    erreur_squelette([sql_errno($serveur), sql_error($serveur), $res], $contexte_compil);
285
+
286
+    return false;
287 287
 }
288 288
 
289 289
 
@@ -320,16 +320,16 @@  discard block
 block discarded – undo
320 320
  *
321 321
  **/
322 322
 function sql_get_select(
323
-	$select = [],
324
-	$from = [],
325
-	$where = [],
326
-	$groupby = [],
327
-	$orderby = [],
328
-	$limit = '',
329
-	$having = [],
330
-	$serveur = ''
323
+    $select = [],
324
+    $from = [],
325
+    $where = [],
326
+    $groupby = [],
327
+    $orderby = [],
328
+    $limit = '',
329
+    $having = [],
330
+    $serveur = ''
331 331
 ) {
332
-	return sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
332
+    return sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
333 333
 }
334 334
 
335 335
 
@@ -373,23 +373,23 @@  discard block
 block discarded – undo
373 373
  *
374 374
  **/
375 375
 function sql_countsel(
376
-	$from = [],
377
-	$where = [],
378
-	$groupby = [],
379
-	$having = [],
380
-	$serveur = '',
381
-	$option = true
376
+    $from = [],
377
+    $where = [],
378
+    $groupby = [],
379
+    $having = [],
380
+    $serveur = '',
381
+    $option = true
382 382
 ) {
383
-	$f = sql_serveur('countsel', $serveur, $option === 'continue' or $option === false);
384
-	if (!is_string($f) or !$f) {
385
-		return false;
386
-	}
387
-	$r = $f($from, $where, $groupby, $having, $serveur, $option !== false);
388
-	if ($r === false) {
389
-		spip_sql_erreur($serveur);
390
-	}
391
-
392
-	return $r;
383
+    $f = sql_serveur('countsel', $serveur, $option === 'continue' or $option === false);
384
+    if (!is_string($f) or !$f) {
385
+        return false;
386
+    }
387
+    $r = $f($from, $where, $groupby, $having, $serveur, $option !== false);
388
+    if ($r === false) {
389
+        spip_sql_erreur($serveur);
390
+    }
391
+
392
+    return $r;
393 393
 }
394 394
 
395 395
 /**
@@ -421,16 +421,16 @@  discard block
 block discarded – undo
421 421
  *     Ce retour n'est pas pertinent pour savoir si l'opération est correctement réalisée.
422 422
  **/
423 423
 function sql_alter($q, $serveur = '', $option = true) {
424
-	$f = sql_serveur('alter', $serveur, $option === 'continue' or $option === false);
425
-	if (!is_string($f) or !$f) {
426
-		return false;
427
-	}
428
-	$r = $f($q, $serveur, $option !== false);
429
-	if ($r === false) {
430
-		spip_sql_erreur($serveur);
431
-	}
432
-
433
-	return $r;
424
+    $f = sql_serveur('alter', $serveur, $option === 'continue' or $option === false);
425
+    if (!is_string($f) or !$f) {
426
+        return false;
427
+    }
428
+    $r = $f($q, $serveur, $option !== false);
429
+    if ($r === false) {
430
+        spip_sql_erreur($serveur);
431
+    }
432
+
433
+    return $r;
434 434
 }
435 435
 
436 436
 /**
@@ -453,12 +453,12 @@  discard block
 block discarded – undo
453 453
  *    presentant une ligne de resultat d'une selection
454 454
  */
455 455
 function sql_fetch($res, $serveur = '', $option = true) {
456
-	$f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false);
457
-	if (!is_string($f) or !$f) {
458
-		return false;
459
-	}
456
+    $f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false);
457
+    if (!is_string($f) or !$f) {
458
+        return false;
459
+    }
460 460
 
461
-	return $f($res, null, $serveur, $option !== false);
461
+    return $f($res, null, $serveur, $option !== false);
462 462
 }
463 463
 
464 464
 
@@ -485,20 +485,20 @@  discard block
 block discarded – undo
485 485
  *    presentant une ligne de resultat d'une selection
486 486
  */
487 487
 function sql_fetch_all($res, $serveur = '', $option = true) {
488
-	$rows = [];
489
-	if (!$res) {
490
-		return $rows;
491
-	}
492
-	$f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false);
493
-	if (!is_string($f) or !$f) {
494
-		return [];
495
-	}
496
-	while ($r = $f($res, null, $serveur, $option !== false)) {
497
-		$rows[] = $r;
498
-	}
499
-	sql_free($res, $serveur);
500
-
501
-	return $rows;
488
+    $rows = [];
489
+    if (!$res) {
490
+        return $rows;
491
+    }
492
+    $f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false);
493
+    if (!is_string($f) or !$f) {
494
+        return [];
495
+    }
496
+    while ($r = $f($res, null, $serveur, $option !== false)) {
497
+        $rows[] = $r;
498
+    }
499
+    sql_free($res, $serveur);
500
+
501
+    return $rows;
502 502
 }
503 503
 
504 504
 /**
@@ -526,16 +526,16 @@  discard block
 block discarded – undo
526 526
  *    Operation effectuée (true), sinon false.
527 527
  **/
528 528
 function sql_seek($res, $row_number, $serveur = '', $option = true) {
529
-	$f = sql_serveur('seek', $serveur, $option === 'continue' or $option === false);
530
-	if (!is_string($f) or !$f) {
531
-		return false;
532
-	}
533
-	$r = $f($res, $row_number, $serveur, $option !== false);
534
-	if ($r === false) {
535
-		spip_sql_erreur($serveur);
536
-	}
537
-
538
-	return $r;
529
+    $f = sql_serveur('seek', $serveur, $option === 'continue' or $option === false);
530
+    if (!is_string($f) or !$f) {
531
+        return false;
532
+    }
533
+    $r = $f($res, $row_number, $serveur, $option !== false);
534
+    if ($r === false) {
535
+        spip_sql_erreur($serveur);
536
+    }
537
+
538
+    return $r;
539 539
 }
540 540
 
541 541
 
@@ -560,16 +560,16 @@  discard block
 block discarded – undo
560 560
  *    False en cas d'erreur.
561 561
  **/
562 562
 function sql_listdbs($serveur = '', $option = true) {
563
-	$f = sql_serveur('listdbs', $serveur, $option === 'continue' or $option === false);
564
-	if (!is_string($f) or !$f) {
565
-		return false;
566
-	}
567
-	$r = $f($serveur);
568
-	if ($r === false) {
569
-		spip_sql_erreur($serveur);
570
-	}
571
-
572
-	return $r;
563
+    $f = sql_serveur('listdbs', $serveur, $option === 'continue' or $option === false);
564
+    if (!is_string($f) or !$f) {
565
+        return false;
566
+    }
567
+    $r = $f($serveur);
568
+    if ($r === false) {
569
+        spip_sql_erreur($serveur);
570
+    }
571
+
572
+    return $r;
573 573
 }
574 574
 
575 575
 
@@ -592,16 +592,16 @@  discard block
 block discarded – undo
592 592
  *     - False en cas d'erreur.
593 593
  **/
594 594
 function sql_selectdb($nom, $serveur = '', $option = true) {
595
-	$f = sql_serveur('selectdb', $serveur, $option === 'continue' or $option === false);
596
-	if (!is_string($f) or !$f) {
597
-		return false;
598
-	}
599
-	$r = $f($nom, $serveur, $option !== false);
600
-	if ($r === false) {
601
-		spip_sql_erreur($serveur);
602
-	}
603
-
604
-	return $r;
595
+    $f = sql_serveur('selectdb', $serveur, $option === 'continue' or $option === false);
596
+    if (!is_string($f) or !$f) {
597
+        return false;
598
+    }
599
+    $r = $f($nom, $serveur, $option !== false);
600
+    if ($r === false) {
601
+        spip_sql_erreur($serveur);
602
+    }
603
+
604
+    return $r;
605 605
 }
606 606
 
607 607
 /**
@@ -626,16 +626,16 @@  discard block
 block discarded – undo
626 626
  *     - false en cas d'erreur.
627 627
  **/
628 628
 function sql_count($res, $serveur = '', $option = true) {
629
-	$f = sql_serveur('count', $serveur, $option === 'continue' or $option === false);
630
-	if (!is_string($f) or !$f) {
631
-		return false;
632
-	}
633
-	$r = $f($res, $serveur, $option !== false);
634
-	if ($r === false) {
635
-		spip_sql_erreur($serveur);
636
-	}
637
-
638
-	return $r;
629
+    $f = sql_serveur('count', $serveur, $option === 'continue' or $option === false);
630
+    if (!is_string($f) or !$f) {
631
+        return false;
632
+    }
633
+    $r = $f($res, $serveur, $option !== false);
634
+    if ($r === false) {
635
+        spip_sql_erreur($serveur);
636
+    }
637
+
638
+    return $r;
639 639
 }
640 640
 
641 641
 /**
@@ -657,12 +657,12 @@  discard block
 block discarded – undo
657 657
  *     True si réussi
658 658
  */
659 659
 function sql_free($res, $serveur = '', $option = true) {
660
-	$f = sql_serveur('free', $serveur, $option === 'continue' or $option === false);
661
-	if (!is_string($f) or !$f) {
662
-		return false;
663
-	}
660
+    $f = sql_serveur('free', $serveur, $option === 'continue' or $option === false);
661
+    if (!is_string($f) or !$f) {
662
+        return false;
663
+    }
664 664
 
665
-	return $f($res);
665
+    return $f($res);
666 666
 }
667 667
 
668 668
 
@@ -700,17 +700,17 @@  discard block
 block discarded – undo
700 700
  *     - False en cas d'erreur.
701 701
  **/
702 702
 function sql_insert($table, $noms, $valeurs, $desc = [], $serveur = '', $option = true) {
703
-	$f = sql_serveur('insert', $serveur, $option === 'continue' or $option === false);
704
-	if (!is_string($f) or !$f) {
705
-		return false;
706
-	}
707
-	$r = $f($table, $noms, $valeurs, $desc, $serveur, $option !== false);
708
-	if ($r === false or $r === null) {
709
-		spip_sql_erreur($serveur);
710
-		$r = false;
711
-	}
712
-
713
-	return $r;
703
+    $f = sql_serveur('insert', $serveur, $option === 'continue' or $option === false);
704
+    if (!is_string($f) or !$f) {
705
+        return false;
706
+    }
707
+    $r = $f($table, $noms, $valeurs, $desc, $serveur, $option !== false);
708
+    if ($r === false or $r === null) {
709
+        spip_sql_erreur($serveur);
710
+        $r = false;
711
+    }
712
+
713
+    return $r;
714 714
 }
715 715
 
716 716
 /**
@@ -751,17 +751,17 @@  discard block
 block discarded – undo
751 751
  *     - False en cas d'erreur.
752 752
  **/
753 753
 function sql_insertq($table, $couples = [], $desc = [], $serveur = '', $option = true) {
754
-	$f = sql_serveur('insertq', $serveur, $option === 'continue' or $option === false);
755
-	if (!is_string($f) or !$f) {
756
-		return false;
757
-	}
758
-	$r = $f($table, $couples, $desc, $serveur, $option !== false);
759
-	if ($r === false or $r === null) {
760
-		spip_sql_erreur($serveur);
761
-		$r = false;
762
-	}
763
-
764
-	return $r;
754
+    $f = sql_serveur('insertq', $serveur, $option === 'continue' or $option === false);
755
+    if (!is_string($f) or !$f) {
756
+        return false;
757
+    }
758
+    $r = $f($table, $couples, $desc, $serveur, $option !== false);
759
+    if ($r === false or $r === null) {
760
+        spip_sql_erreur($serveur);
761
+        $r = false;
762
+    }
763
+
764
+    return $r;
765 765
 }
766 766
 
767 767
 /**
@@ -796,17 +796,17 @@  discard block
 block discarded – undo
796 796
  *     - False en cas d'erreur.
797 797
  **/
798 798
 function sql_insertq_multi($table, $couples = [], $desc = [], $serveur = '', $option = true) {
799
-	$f = sql_serveur('insertq_multi', $serveur, $option === 'continue' or $option === false);
800
-	if (!is_string($f) or !$f) {
801
-		return false;
802
-	}
803
-	$r = $f($table, $couples, $desc, $serveur, $option !== false);
804
-	if ($r === false or $r === null) {
805
-		spip_sql_erreur($serveur);
806
-		$r = false;
807
-	}
808
-
809
-	return $r;
799
+    $f = sql_serveur('insertq_multi', $serveur, $option === 'continue' or $option === false);
800
+    if (!is_string($f) or !$f) {
801
+        return false;
802
+    }
803
+    $r = $f($table, $couples, $desc, $serveur, $option !== false);
804
+    if ($r === false or $r === null) {
805
+        spip_sql_erreur($serveur);
806
+        $r = false;
807
+    }
808
+
809
+    return $r;
810 810
 }
811 811
 
812 812
 /**
@@ -846,16 +846,16 @@  discard block
 block discarded – undo
846 846
  *     - array Tableau décrivant la requête et son temps d'exécution si var_profile est actif
847 847
  */
848 848
 function sql_update($table, $exp, $where = '', $desc = [], $serveur = '', $option = true) {
849
-	$f = sql_serveur('update', $serveur, $option === 'continue' or $option === false);
850
-	if (!is_string($f) or !$f) {
851
-		return false;
852
-	}
853
-	$r = $f($table, $exp, $where, $desc, $serveur, $option !== false);
854
-	if ($r === false) {
855
-		spip_sql_erreur($serveur);
856
-	}
857
-
858
-	return $r;
849
+    $f = sql_serveur('update', $serveur, $option === 'continue' or $option === false);
850
+    if (!is_string($f) or !$f) {
851
+        return false;
852
+    }
853
+    $r = $f($table, $exp, $where, $desc, $serveur, $option !== false);
854
+    if ($r === false) {
855
+        spip_sql_erreur($serveur);
856
+    }
857
+
858
+    return $r;
859 859
 }
860 860
 
861 861
 
@@ -901,16 +901,16 @@  discard block
 block discarded – undo
901 901
  *     - False en cas d'erreur.
902 902
  **/
903 903
 function sql_updateq($table, $exp, $where = '', $desc = [], $serveur = '', $option = true) {
904
-	$f = sql_serveur('updateq', $serveur, $option === 'continue' or $option === false);
905
-	if (!is_string($f) or !$f) {
906
-		return false;
907
-	}
908
-	$r = $f($table, $exp, $where, $desc, $serveur, $option !== false);
909
-	if ($r === false) {
910
-		spip_sql_erreur($serveur);
911
-	}
912
-
913
-	return $r;
904
+    $f = sql_serveur('updateq', $serveur, $option === 'continue' or $option === false);
905
+    if (!is_string($f) or !$f) {
906
+        return false;
907
+    }
908
+    $r = $f($table, $exp, $where, $desc, $serveur, $option !== false);
909
+    if ($r === false) {
910
+        spip_sql_erreur($serveur);
911
+    }
912
+
913
+    return $r;
914 914
 }
915 915
 
916 916
 /**
@@ -941,16 +941,16 @@  discard block
 block discarded – undo
941 941
  *     - False en cas d'erreur.
942 942
  **/
943 943
 function sql_delete($table, $where = '', $serveur = '', $option = true) {
944
-	$f = sql_serveur('delete', $serveur, $option === 'continue' or $option === false);
945
-	if (!is_string($f) or !$f) {
946
-		return false;
947
-	}
948
-	$r = $f($table, $where, $serveur, $option !== false);
949
-	if ($r === false) {
950
-		spip_sql_erreur($serveur);
951
-	}
952
-
953
-	return $r;
944
+    $f = sql_serveur('delete', $serveur, $option === 'continue' or $option === false);
945
+    if (!is_string($f) or !$f) {
946
+        return false;
947
+    }
948
+    $r = $f($table, $where, $serveur, $option !== false);
949
+    if ($r === false) {
950
+        spip_sql_erreur($serveur);
951
+    }
952
+
953
+    return $r;
954 954
 }
955 955
 
956 956
 /**
@@ -986,16 +986,16 @@  discard block
 block discarded – undo
986 986
  *     - False en cas d'erreur.
987 987
  **/
988 988
 function sql_replace($table, $couples, $desc = [], $serveur = '', $option = true) {
989
-	$f = sql_serveur('replace', $serveur, $option === 'continue' or $option === false);
990
-	if (!is_string($f) or !$f) {
991
-		return false;
992
-	}
993
-	$r = $f($table, $couples, $desc, $serveur, $option !== false);
994
-	if ($r === false) {
995
-		spip_sql_erreur($serveur);
996
-	}
997
-
998
-	return $r;
989
+    $f = sql_serveur('replace', $serveur, $option === 'continue' or $option === false);
990
+    if (!is_string($f) or !$f) {
991
+        return false;
992
+    }
993
+    $r = $f($table, $couples, $desc, $serveur, $option !== false);
994
+    if ($r === false) {
995
+        spip_sql_erreur($serveur);
996
+    }
997
+
998
+    return $r;
999 999
 }
1000 1000
 
1001 1001
 
@@ -1033,16 +1033,16 @@  discard block
 block discarded – undo
1033 1033
  *     - False en cas d'erreur.
1034 1034
  **/
1035 1035
 function sql_replace_multi($table, $tab_couples, $desc = [], $serveur = '', $option = true) {
1036
-	$f = sql_serveur('replace_multi', $serveur, $option === 'continue' or $option === false);
1037
-	if (!is_string($f) or !$f) {
1038
-		return false;
1039
-	}
1040
-	$r = $f($table, $tab_couples, $desc, $serveur, $option !== false);
1041
-	if ($r === false) {
1042
-		spip_sql_erreur($serveur);
1043
-	}
1044
-
1045
-	return $r;
1036
+    $f = sql_serveur('replace_multi', $serveur, $option === 'continue' or $option === false);
1037
+    if (!is_string($f) or !$f) {
1038
+        return false;
1039
+    }
1040
+    $r = $f($table, $tab_couples, $desc, $serveur, $option !== false);
1041
+    if ($r === false) {
1042
+        spip_sql_erreur($serveur);
1043
+    }
1044
+
1045
+    return $r;
1046 1046
 }
1047 1047
 
1048 1048
 /**
@@ -1070,16 +1070,16 @@  discard block
 block discarded – undo
1070 1070
  *     - False en cas d'erreur.
1071 1071
  **/
1072 1072
 function sql_drop_table($table, $exist = '', $serveur = '', $option = true) {
1073
-	$f = sql_serveur('drop_table', $serveur, $option === 'continue' or $option === false);
1074
-	if (!is_string($f) or !$f) {
1075
-		return false;
1076
-	}
1077
-	$r = $f($table, $exist, $serveur, $option !== false);
1078
-	if ($r === false) {
1079
-		spip_sql_erreur($serveur);
1080
-	}
1081
-
1082
-	return $r;
1073
+    $f = sql_serveur('drop_table', $serveur, $option === 'continue' or $option === false);
1074
+    if (!is_string($f) or !$f) {
1075
+        return false;
1076
+    }
1077
+    $r = $f($table, $exist, $serveur, $option !== false);
1078
+    if ($r === false) {
1079
+        spip_sql_erreur($serveur);
1080
+    }
1081
+
1082
+    return $r;
1083 1083
 }
1084 1084
 
1085 1085
 /**
@@ -1103,16 +1103,16 @@  discard block
 block discarded – undo
1103 1103
  *     - true si la requête a réussie, false sinon
1104 1104
  */
1105 1105
 function sql_drop_view($table, $exist = '', $serveur = '', $option = true) {
1106
-	$f = sql_serveur('drop_view', $serveur, $option === 'continue' or $option === false);
1107
-	if (!is_string($f) or !$f) {
1108
-		return false;
1109
-	}
1110
-	$r = $f($table, $exist, $serveur, $option !== false);
1111
-	if ($r === false) {
1112
-		spip_sql_erreur($serveur);
1113
-	}
1114
-
1115
-	return $r;
1106
+    $f = sql_serveur('drop_view', $serveur, $option === 'continue' or $option === false);
1107
+    if (!is_string($f) or !$f) {
1108
+        return false;
1109
+    }
1110
+    $r = $f($table, $exist, $serveur, $option !== false);
1111
+    if ($r === false) {
1112
+        spip_sql_erreur($serveur);
1113
+    }
1114
+
1115
+    return $r;
1116 1116
 }
1117 1117
 
1118 1118
 /**
@@ -1136,18 +1136,18 @@  discard block
 block discarded – undo
1136 1136
  *     Ressource à utiliser avec sql_fetch()
1137 1137
  **/
1138 1138
 function sql_showbase($spip = null, $serveur = '', $option = true) {
1139
-	$f = sql_serveur('showbase', $serveur, $option === 'continue' or $option === false);
1140
-	if (!is_string($f) or !$f) {
1141
-		return false;
1142
-	}
1143
-
1144
-	// la globale n'est remplie qu'apres l'appel de sql_serveur.
1145
-	if ($spip == null) {
1146
-		$connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1147
-		$spip = $connexion['prefixe'] . '\_%';
1148
-	}
1149
-
1150
-	return $f($spip, $serveur, $option !== false);
1139
+    $f = sql_serveur('showbase', $serveur, $option === 'continue' or $option === false);
1140
+    if (!is_string($f) or !$f) {
1141
+        return false;
1142
+    }
1143
+
1144
+    // la globale n'est remplie qu'apres l'appel de sql_serveur.
1145
+    if ($spip == null) {
1146
+        $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1147
+        $spip = $connexion['prefixe'] . '\_%';
1148
+    }
1149
+
1150
+    return $f($spip, $serveur, $option !== false);
1151 1151
 }
1152 1152
 
1153 1153
 /**
@@ -1170,15 +1170,15 @@  discard block
 block discarded – undo
1170 1170
  *     Liste des tables SQL
1171 1171
  **/
1172 1172
 function sql_alltable($spip = null, $serveur = '', $option = true) {
1173
-	$q = sql_showbase($spip, $serveur, $option);
1174
-	$r = [];
1175
-	if ($q) {
1176
-		while ($t = sql_fetch($q, $serveur)) {
1177
-			$r[] = array_shift($t);
1178
-		}
1179
-	}
1180
-
1181
-	return $r;
1173
+    $q = sql_showbase($spip, $serveur, $option);
1174
+    $r = [];
1175
+    if ($q) {
1176
+        while ($t = sql_fetch($q, $serveur)) {
1177
+            $r[] = array_shift($t);
1178
+        }
1179
+    }
1180
+
1181
+    return $r;
1182 1182
 }
1183 1183
 
1184 1184
 /**
@@ -1211,31 +1211,31 @@  discard block
 block discarded – undo
1211 1211
  *       - 'join' => array() // jointures, si déclarées.
1212 1212
  **/
1213 1213
 function sql_showtable($table, $table_spip = false, $serveur = '', $option = true) {
1214
-	$f = sql_serveur('showtable', $serveur, $option === 'continue' or $option === false);
1215
-	if (!is_string($f) or !$f) {
1216
-		return false;
1217
-	}
1218
-
1219
-	// la globale n'est remplie qu'apres l'appel de sql_serveur.
1220
-	if ($table_spip) {
1221
-		$connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1222
-		$prefixe = $connexion['prefixe'];
1223
-		$vraie_table = prefixer_table_spip($table, $prefixe);
1224
-	} else {
1225
-		$vraie_table = $table;
1226
-	}
1227
-
1228
-	$f = $f($vraie_table, $serveur, $option !== false);
1229
-	if (!$f) {
1230
-		return [];
1231
-	}
1232
-	if (isset($GLOBALS['tables_principales'][$table]['join'])) {
1233
-		$f['join'] = $GLOBALS['tables_principales'][$table]['join'];
1234
-	} elseif (isset($GLOBALS['tables_auxiliaires'][$table]['join'])) {
1235
-		$f['join'] = $GLOBALS['tables_auxiliaires'][$table]['join'];
1236
-	}
1237
-
1238
-	return $f;
1214
+    $f = sql_serveur('showtable', $serveur, $option === 'continue' or $option === false);
1215
+    if (!is_string($f) or !$f) {
1216
+        return false;
1217
+    }
1218
+
1219
+    // la globale n'est remplie qu'apres l'appel de sql_serveur.
1220
+    if ($table_spip) {
1221
+        $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
1222
+        $prefixe = $connexion['prefixe'];
1223
+        $vraie_table = prefixer_table_spip($table, $prefixe);
1224
+    } else {
1225
+        $vraie_table = $table;
1226
+    }
1227
+
1228
+    $f = $f($vraie_table, $serveur, $option !== false);
1229
+    if (!$f) {
1230
+        return [];
1231
+    }
1232
+    if (isset($GLOBALS['tables_principales'][$table]['join'])) {
1233
+        $f['join'] = $GLOBALS['tables_principales'][$table]['join'];
1234
+    } elseif (isset($GLOBALS['tables_auxiliaires'][$table]['join'])) {
1235
+        $f['join'] = $GLOBALS['tables_auxiliaires'][$table]['join'];
1236
+    }
1237
+
1238
+    return $f;
1239 1239
 }
1240 1240
 
1241 1241
 /**
@@ -1280,24 +1280,24 @@  discard block
 block discarded – undo
1280 1280
  *     true si succès, false en cas d'echec
1281 1281
  **/
1282 1282
 function sql_create(
1283
-	$nom,
1284
-	$champs,
1285
-	$cles = [],
1286
-	$autoinc = false,
1287
-	$temporary = false,
1288
-	$serveur = '',
1289
-	$option = true
1283
+    $nom,
1284
+    $champs,
1285
+    $cles = [],
1286
+    $autoinc = false,
1287
+    $temporary = false,
1288
+    $serveur = '',
1289
+    $option = true
1290 1290
 ) {
1291
-	$f = sql_serveur('create', $serveur, $option === 'continue' or $option === false);
1292
-	if (!is_string($f) or !$f) {
1293
-		return false;
1294
-	}
1295
-	$r = $f($nom, $champs, $cles, $autoinc, $temporary, $serveur, $option !== false);
1296
-	if ($r === false) {
1297
-		spip_sql_erreur($serveur);
1298
-	}
1299
-
1300
-	return $r;
1291
+    $f = sql_serveur('create', $serveur, $option === 'continue' or $option === false);
1292
+    if (!is_string($f) or !$f) {
1293
+        return false;
1294
+    }
1295
+    $r = $f($nom, $champs, $cles, $autoinc, $temporary, $serveur, $option !== false);
1296
+    if ($r === false) {
1297
+        spip_sql_erreur($serveur);
1298
+    }
1299
+
1300
+    return $r;
1301 1301
 }
1302 1302
 
1303 1303
 /**
@@ -1315,16 +1315,16 @@  discard block
 block discarded – undo
1315 1315
  * @return bool true si la base est créee.
1316 1316
  **/
1317 1317
 function sql_create_base($nom, $serveur = '', $option = true) {
1318
-	$f = sql_serveur('create_base', $serveur, $option === 'continue' or $option === false);
1319
-	if (!is_string($f) or !$f) {
1320
-		return false;
1321
-	}
1322
-	$r = $f($nom, $serveur, $option !== false);
1323
-	if ($r === false) {
1324
-		spip_sql_erreur($serveur);
1325
-	}
1326
-
1327
-	return $r;
1318
+    $f = sql_serveur('create_base', $serveur, $option === 'continue' or $option === false);
1319
+    if (!is_string($f) or !$f) {
1320
+        return false;
1321
+    }
1322
+    $r = $f($nom, $serveur, $option !== false);
1323
+    if ($r === false) {
1324
+        spip_sql_erreur($serveur);
1325
+    }
1326
+
1327
+    return $r;
1328 1328
 }
1329 1329
 
1330 1330
 
@@ -1354,16 +1354,16 @@  discard block
 block discarded – undo
1354 1354
  *     - false en cas d'échec.
1355 1355
  **/
1356 1356
 function sql_create_view($nom, $select_query, $serveur = '', $option = true) {
1357
-	$f = sql_serveur('create_view', $serveur, $option === 'continue' or $option === false);
1358
-	if (!is_string($f) or !$f) {
1359
-		return false;
1360
-	}
1361
-	$r = $f($nom, $select_query, $serveur, $option !== false);
1362
-	if ($r === false) {
1363
-		spip_sql_erreur($serveur);
1364
-	}
1365
-
1366
-	return $r;
1357
+    $f = sql_serveur('create_view', $serveur, $option === 'continue' or $option === false);
1358
+    if (!is_string($f) or !$f) {
1359
+        return false;
1360
+    }
1361
+    $r = $f($nom, $select_query, $serveur, $option !== false);
1362
+    if ($r === false) {
1363
+        spip_sql_erreur($serveur);
1364
+    }
1365
+
1366
+    return $r;
1367 1367
 }
1368 1368
 
1369 1369
 /**
@@ -1392,12 +1392,12 @@  discard block
 block discarded – undo
1392 1392
  *     Texte de sélection pour la requête
1393 1393
  */
1394 1394
 function sql_multi($sel, $lang, $serveur = '', $option = true) {
1395
-	$f = sql_serveur('multi', $serveur, $option === 'continue' or $option === false);
1396
-	if (!is_string($f) or !$f) {
1397
-		return false;
1398
-	}
1395
+    $f = sql_serveur('multi', $serveur, $option === 'continue' or $option === false);
1396
+    if (!is_string($f) or !$f) {
1397
+        return false;
1398
+    }
1399 1399
 
1400
-	return $f($sel, $lang);
1400
+    return $f($sel, $lang);
1401 1401
 }
1402 1402
 
1403 1403
 
@@ -1412,12 +1412,12 @@  discard block
 block discarded – undo
1412 1412
  *      False si le serveur est indisponible
1413 1413
  */
1414 1414
 function sql_error($serveur = '') {
1415
-	$f = sql_serveur('error', $serveur, 'continue');
1416
-	if (!is_string($f) or !$f) {
1417
-		return false;
1418
-	}
1415
+    $f = sql_serveur('error', $serveur, 'continue');
1416
+    if (!is_string($f) or !$f) {
1417
+        return false;
1418
+    }
1419 1419
 
1420
-	return $f('query inconnue', $serveur);
1420
+    return $f('query inconnue', $serveur);
1421 1421
 }
1422 1422
 
1423 1423
 /**
@@ -1431,12 +1431,12 @@  discard block
 block discarded – undo
1431 1431
  *      False si le serveur est indisponible
1432 1432
  */
1433 1433
 function sql_errno($serveur = '') {
1434
-	$f = sql_serveur('errno', $serveur, 'continue');
1435
-	if (!is_string($f) or !$f) {
1436
-		return false;
1437
-	}
1434
+    $f = sql_serveur('errno', $serveur, 'continue');
1435
+    if (!is_string($f) or !$f) {
1436
+        return false;
1437
+    }
1438 1438
 
1439
-	return $f($serveur);
1439
+    return $f($serveur);
1440 1440
 }
1441 1441
 
1442 1442
 /**
@@ -1454,16 +1454,16 @@  discard block
 block discarded – undo
1454 1454
  * @return array           Tableau de l'explication
1455 1455
  */
1456 1456
 function sql_explain($q, $serveur = '', $option = true) {
1457
-	$f = sql_serveur('explain', $serveur, 'continue');
1458
-	if (!is_string($f) or !$f) {
1459
-		return false;
1460
-	}
1461
-	$r = $f($q, $serveur, $option !== false);
1462
-	if ($r === false) {
1463
-		spip_sql_erreur($serveur);
1464
-	}
1465
-
1466
-	return $r;
1457
+    $f = sql_serveur('explain', $serveur, 'continue');
1458
+    if (!is_string($f) or !$f) {
1459
+        return false;
1460
+    }
1461
+    $r = $f($q, $serveur, $option !== false);
1462
+    if ($r === false) {
1463
+        spip_sql_erreur($serveur);
1464
+    }
1465
+
1466
+    return $r;
1467 1467
 }
1468 1468
 
1469 1469
 /**
@@ -1481,16 +1481,16 @@  discard block
 block discarded – undo
1481 1481
  * @return bool            Toujours true
1482 1482
  */
1483 1483
 function sql_optimize($table, $serveur = '', $option = true) {
1484
-	$f = sql_serveur('optimize', $serveur, $option === 'continue' or $option === false);
1485
-	if (!is_string($f) or !$f) {
1486
-		return false;
1487
-	}
1488
-	$r = $f($table, $serveur, $option !== false);
1489
-	if ($r === false) {
1490
-		spip_sql_erreur($serveur);
1491
-	}
1492
-
1493
-	return $r;
1484
+    $f = sql_serveur('optimize', $serveur, $option === 'continue' or $option === false);
1485
+    if (!is_string($f) or !$f) {
1486
+        return false;
1487
+    }
1488
+    $r = $f($table, $serveur, $option !== false);
1489
+    if ($r === false) {
1490
+        spip_sql_erreur($serveur);
1491
+    }
1492
+
1493
+    return $r;
1494 1494
 }
1495 1495
 
1496 1496
 /**
@@ -1510,16 +1510,16 @@  discard block
 block discarded – undo
1510 1510
  *     - true si la requête a réussie, false sinon
1511 1511
  */
1512 1512
 function sql_repair($table, $serveur = '', $option = true) {
1513
-	$f = sql_serveur('repair', $serveur, $option === 'continue' or $option === false);
1514
-	if (!is_string($f) or !$f) {
1515
-		return false;
1516
-	}
1517
-	$r = $f($table, $serveur, $option !== false);
1518
-	if ($r === false) {
1519
-		spip_sql_erreur($serveur);
1520
-	}
1521
-
1522
-	return $r;
1513
+    $f = sql_serveur('repair', $serveur, $option === 'continue' or $option === false);
1514
+    if (!is_string($f) or !$f) {
1515
+        return false;
1516
+    }
1517
+    $r = $f($table, $serveur, $option !== false);
1518
+    if ($r === false) {
1519
+        spip_sql_erreur($serveur);
1520
+    }
1521
+
1522
+    return $r;
1523 1523
 }
1524 1524
 
1525 1525
 
@@ -1544,16 +1544,16 @@  discard block
 block discarded – undo
1544 1544
  *     - array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
1545 1545
  */
1546 1546
 function sql_query($ins, $serveur = '', $option = true) {
1547
-	$f = sql_serveur('query', $serveur, $option === 'continue' or $option === false);
1548
-	if (!is_string($f) or !$f) {
1549
-		return false;
1550
-	}
1551
-	$r = $f($ins, $serveur, $option !== false);
1552
-	if ($r === false) {
1553
-		spip_sql_erreur($serveur);
1554
-	}
1555
-
1556
-	return $r;
1547
+    $f = sql_serveur('query', $serveur, $option === 'continue' or $option === false);
1548
+    if (!is_string($f) or !$f) {
1549
+        return false;
1550
+    }
1551
+    $r = $f($ins, $serveur, $option !== false);
1552
+    if ($r === false) {
1553
+        spip_sql_erreur($serveur);
1554
+    }
1555
+
1556
+    return $r;
1557 1557
 }
1558 1558
 
1559 1559
 /**
@@ -1601,27 +1601,27 @@  discard block
 block discarded – undo
1601 1601
  *
1602 1602
  **/
1603 1603
 function sql_fetsel(
1604
-	$select = [],
1605
-	$from = [],
1606
-	$where = [],
1607
-	$groupby = [],
1608
-	$orderby = [],
1609
-	$limit = '',
1610
-	$having = [],
1611
-	$serveur = '',
1612
-	$option = true
1604
+    $select = [],
1605
+    $from = [],
1606
+    $where = [],
1607
+    $groupby = [],
1608
+    $orderby = [],
1609
+    $limit = '',
1610
+    $having = [],
1611
+    $serveur = '',
1612
+    $option = true
1613 1613
 ) {
1614
-	$q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1615
-	if ($option === false) {
1616
-		return $q;
1617
-	}
1618
-	if (!$q) {
1619
-		return [];
1620
-	}
1621
-	$r = sql_fetch($q, $serveur, $option);
1622
-	sql_free($q, $serveur, $option);
1623
-
1624
-	return $r;
1614
+    $q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1615
+    if ($option === false) {
1616
+        return $q;
1617
+    }
1618
+    if (!$q) {
1619
+        return [];
1620
+    }
1621
+    $r = sql_fetch($q, $serveur, $option);
1622
+    sql_free($q, $serveur, $option);
1623
+
1624
+    return $r;
1625 1625
 }
1626 1626
 
1627 1627
 
@@ -1678,22 +1678,22 @@  discard block
 block discarded – undo
1678 1678
  *
1679 1679
  **/
1680 1680
 function sql_allfetsel(
1681
-	$select = [],
1682
-	$from = [],
1683
-	$where = [],
1684
-	$groupby = [],
1685
-	$orderby = [],
1686
-	$limit = '',
1687
-	$having = [],
1688
-	$serveur = '',
1689
-	$option = true
1681
+    $select = [],
1682
+    $from = [],
1683
+    $where = [],
1684
+    $groupby = [],
1685
+    $orderby = [],
1686
+    $limit = '',
1687
+    $having = [],
1688
+    $serveur = '',
1689
+    $option = true
1690 1690
 ) {
1691
-	$q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1692
-	if ($option === false) {
1693
-		return $q;
1694
-	}
1691
+    $q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1692
+    if ($option === false) {
1693
+        return $q;
1694
+    }
1695 1695
 
1696
-	return sql_fetch_all($q, $serveur, $option);
1696
+    return sql_fetch_all($q, $serveur, $option);
1697 1697
 }
1698 1698
 
1699 1699
 
@@ -1740,33 +1740,33 @@  discard block
 block discarded – undo
1740 1740
  *
1741 1741
  **/
1742 1742
 function sql_getfetsel(
1743
-	$select,
1744
-	$from = [],
1745
-	$where = [],
1746
-	$groupby = [],
1747
-	$orderby = [],
1748
-	$limit = '',
1749
-	$having = [],
1750
-	$serveur = '',
1751
-	$option = true
1743
+    $select,
1744
+    $from = [],
1745
+    $where = [],
1746
+    $groupby = [],
1747
+    $orderby = [],
1748
+    $limit = '',
1749
+    $having = [],
1750
+    $serveur = '',
1751
+    $option = true
1752 1752
 ) {
1753
-	if (preg_match('/\s+as\s+(\w+)$/i', $select, $c)) {
1754
-		$id = $c[1];
1755
-	} elseif (!preg_match('/\W/', $select)) {
1756
-		$id = $select;
1757
-	} else {
1758
-		$id = 'n';
1759
-		$select .= ' AS n';
1760
-	}
1761
-	$r = sql_fetsel($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1762
-	if ($option === false) {
1763
-		return $r;
1764
-	}
1765
-	if (!$r) {
1766
-		return null;
1767
-	}
1768
-
1769
-	return $r[$id];
1753
+    if (preg_match('/\s+as\s+(\w+)$/i', $select, $c)) {
1754
+        $id = $c[1];
1755
+    } elseif (!preg_match('/\W/', $select)) {
1756
+        $id = $select;
1757
+    } else {
1758
+        $id = 'n';
1759
+        $select .= ' AS n';
1760
+    }
1761
+    $r = sql_fetsel($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option);
1762
+    if ($option === false) {
1763
+        return $r;
1764
+    }
1765
+    if (!$r) {
1766
+        return null;
1767
+    }
1768
+
1769
+    return $r[$id];
1770 1770
 }
1771 1771
 
1772 1772
 /**
@@ -1784,9 +1784,9 @@  discard block
 block discarded – undo
1784 1784
  *    Numero de version du serveur SQL
1785 1785
  **/
1786 1786
 function sql_version($serveur = '', $option = true) {
1787
-	$row = sql_fetsel('version() AS n', '', '', '', '', '', '', $serveur);
1787
+    $row = sql_fetsel('version() AS n', '', '', '', '', '', '', $serveur);
1788 1788
 
1789
-	return ($row['n']);
1789
+    return ($row['n']);
1790 1790
 }
1791 1791
 
1792 1792
 /**
@@ -1822,16 +1822,16 @@  discard block
 block discarded – undo
1822 1822
  *    Le serveur SQL prefere t'il des transactions pour les insertions multiples ?
1823 1823
  **/
1824 1824
 function sql_preferer_transaction($serveur = '', $option = true) {
1825
-	$f = sql_serveur('preferer_transaction', $serveur, 'continue');
1826
-	if (!is_string($f) or !$f) {
1827
-		return false;
1828
-	}
1829
-	$r = $f($serveur, $option !== false);
1830
-	if ($r === false) {
1831
-		spip_sql_erreur($serveur);
1832
-	}
1833
-
1834
-	return $r;
1825
+    $f = sql_serveur('preferer_transaction', $serveur, 'continue');
1826
+    if (!is_string($f) or !$f) {
1827
+        return false;
1828
+    }
1829
+    $r = $f($serveur, $option !== false);
1830
+    if ($r === false) {
1831
+        spip_sql_erreur($serveur);
1832
+    }
1833
+
1834
+    return $r;
1835 1835
 }
1836 1836
 
1837 1837
 ;
@@ -1856,16 +1856,16 @@  discard block
 block discarded – undo
1856 1856
  *      false en cas d'erreur
1857 1857
  **/
1858 1858
 function sql_demarrer_transaction($serveur = '', $option = true) {
1859
-	$f = sql_serveur('demarrer_transaction', $serveur, 'continue');
1860
-	if (!is_string($f) or !$f) {
1861
-		return false;
1862
-	}
1863
-	$r = $f($serveur, $option !== false);
1864
-	if ($r === false) {
1865
-		spip_sql_erreur($serveur);
1866
-	}
1867
-
1868
-	return $r;
1859
+    $f = sql_serveur('demarrer_transaction', $serveur, 'continue');
1860
+    if (!is_string($f) or !$f) {
1861
+        return false;
1862
+    }
1863
+    $r = $f($serveur, $option !== false);
1864
+    if ($r === false) {
1865
+        spip_sql_erreur($serveur);
1866
+    }
1867
+
1868
+    return $r;
1869 1869
 }
1870 1870
 
1871 1871
 ;
@@ -1890,16 +1890,16 @@  discard block
 block discarded – undo
1890 1890
  *      false en cas d'erreur
1891 1891
  **/
1892 1892
 function sql_terminer_transaction($serveur = '', $option = true) {
1893
-	$f = sql_serveur('terminer_transaction', $serveur, 'continue');
1894
-	if (!is_string($f) or !$f) {
1895
-		return false;
1896
-	}
1897
-	$r = $f($serveur, $option !== false);
1898
-	if ($r === false) {
1899
-		spip_sql_erreur($serveur);
1900
-	}
1901
-
1902
-	return $r;
1893
+    $f = sql_serveur('terminer_transaction', $serveur, 'continue');
1894
+    if (!is_string($f) or !$f) {
1895
+        return false;
1896
+    }
1897
+    $r = $f($serveur, $option !== false);
1898
+    if ($r === false) {
1899
+        spip_sql_erreur($serveur);
1900
+    }
1901
+
1902
+    return $r;
1903 1903
 }
1904 1904
 
1905 1905
 ;
@@ -1926,12 +1926,12 @@  discard block
 block discarded – undo
1926 1926
  *     Valeur hexadécimale attendue par le serveur SQL
1927 1927
  **/
1928 1928
 function sql_hex($val, $serveur = '', $option = true) {
1929
-	$f = sql_serveur('hex', $serveur, $option === 'continue' or $option === false);
1930
-	if (!is_string($f) or !$f) {
1931
-		return false;
1932
-	}
1929
+    $f = sql_serveur('hex', $serveur, $option === 'continue' or $option === false);
1930
+    if (!is_string($f) or !$f) {
1931
+        return false;
1932
+    }
1933 1933
 
1934
-	return $f($val);
1934
+    return $f($val);
1935 1935
 }
1936 1936
 
1937 1937
 /**
@@ -1957,12 +1957,12 @@  discard block
 block discarded – undo
1957 1957
  *     La chaine echappee
1958 1958
  **/
1959 1959
 function sql_quote($val, $serveur = '', $type = '') {
1960
-	$f = sql_serveur('quote', $serveur, true);
1961
-	if (!is_string($f) or !$f) {
1962
-		$f = '_q';
1963
-	}
1960
+    $f = sql_serveur('quote', $serveur, true);
1961
+    if (!is_string($f) or !$f) {
1962
+        $f = '_q';
1963
+    }
1964 1964
 
1965
-	return $f($val, $type);
1965
+    return $f($val, $type);
1966 1966
 }
1967 1967
 
1968 1968
 /**
@@ -1987,12 +1987,12 @@  discard block
 block discarded – undo
1987 1987
  *     - false si le serveur SQL est indisponible
1988 1988
  **/
1989 1989
 function sql_date_proche($champ, $interval, $unite, $serveur = '', $option = true) {
1990
-	$f = sql_serveur('date_proche', $serveur, true);
1991
-	if (!is_string($f) or !$f) {
1992
-		return false;
1993
-	}
1990
+    $f = sql_serveur('date_proche', $serveur, true);
1991
+    if (!is_string($f) or !$f) {
1992
+        return false;
1993
+    }
1994 1994
 
1995
-	return $f($champ, $interval, $unite);
1995
+    return $f($champ, $interval, $unite);
1996 1996
 }
1997 1997
 
1998 1998
 /**
@@ -2026,35 +2026,35 @@  discard block
 block discarded – undo
2026 2026
  *     Expression de requête SQL
2027 2027
  **/
2028 2028
 function sql_in($val, $valeurs, $not = '', $serveur = '', $option = true) {
2029
-	if (!is_array($valeurs)) {
2030
-		$valeurs = strval($valeurs);
2031
-		if (isset($valeurs[0]) and $valeurs[0] === ',') {
2032
-			$valeurs = substr($valeurs, 1);
2033
-		}
2034
-		// on explode en tableau pour pouvoir securiser le contenu
2035
-		$valeurs = explode(',', $valeurs);
2036
-	}
2037
-	$f = sql_serveur('quote', $serveur, true);
2038
-	if (!is_string($f) or !$f) {
2039
-		return false;
2040
-	}
2041
-	// sql_quote produit une chaine dans tous les cas
2042
-	$valeurs = array_filter($valeurs, function ($v) {
2043
- return !is_array($v);
2044
-	});
2045
-	$valeurs = array_unique($valeurs);
2046
-	$valeurs = $f($valeurs);
2047
-
2048
-	if (!strlen(trim($valeurs))) {
2049
-		return ($not ? '0=0' : '0=1');
2050
-	}
2051
-
2052
-	$f = sql_serveur('in', $serveur, $option === 'continue' or $option === false);
2053
-	if (!is_string($f) or !$f) {
2054
-		return false;
2055
-	}
2056
-
2057
-	return $f($val, $valeurs, $not, $serveur, $option !== false);
2029
+    if (!is_array($valeurs)) {
2030
+        $valeurs = strval($valeurs);
2031
+        if (isset($valeurs[0]) and $valeurs[0] === ',') {
2032
+            $valeurs = substr($valeurs, 1);
2033
+        }
2034
+        // on explode en tableau pour pouvoir securiser le contenu
2035
+        $valeurs = explode(',', $valeurs);
2036
+    }
2037
+    $f = sql_serveur('quote', $serveur, true);
2038
+    if (!is_string($f) or !$f) {
2039
+        return false;
2040
+    }
2041
+    // sql_quote produit une chaine dans tous les cas
2042
+    $valeurs = array_filter($valeurs, function ($v) {
2043
+    return !is_array($v);
2044
+    });
2045
+    $valeurs = array_unique($valeurs);
2046
+    $valeurs = $f($valeurs);
2047
+
2048
+    if (!strlen(trim($valeurs))) {
2049
+        return ($not ? '0=0' : '0=1');
2050
+    }
2051
+
2052
+    $f = sql_serveur('in', $serveur, $option === 'continue' or $option === false);
2053
+    if (!is_string($f) or !$f) {
2054
+        return false;
2055
+    }
2056
+
2057
+    return $f($val, $valeurs, $not, $serveur, $option !== false);
2058 2058
 }
2059 2059
 
2060 2060
 
@@ -2094,24 +2094,24 @@  discard block
 block discarded – undo
2094 2094
  *     Expression de requête SQL
2095 2095
  **/
2096 2096
 function sql_in_select(
2097
-	$in,
2098
-	$select,
2099
-	$from = [],
2100
-	$where = [],
2101
-	$groupby = [],
2102
-	$orderby = [],
2103
-	$limit = '',
2104
-	$having = [],
2105
-	$serveur = ''
2097
+    $in,
2098
+    $select,
2099
+    $from = [],
2100
+    $where = [],
2101
+    $groupby = [],
2102
+    $orderby = [],
2103
+    $limit = '',
2104
+    $having = [],
2105
+    $serveur = ''
2106 2106
 ) {
2107
-	$liste = [];
2108
-	$res = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur);
2109
-	while ($r = sql_fetch($res)) {
2110
-		$liste[] = array_shift($r);
2111
-	}
2112
-	sql_free($res);
2113
-
2114
-	return sql_in($in, $liste);
2107
+    $liste = [];
2108
+    $res = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur);
2109
+    while ($r = sql_fetch($res)) {
2110
+        $liste[] = array_shift($r);
2111
+    }
2112
+    sql_free($res);
2113
+
2114
+    return sql_in($in, $liste);
2115 2115
 }
2116 2116
 
2117 2117
 /**
@@ -2143,29 +2143,29 @@  discard block
 block discarded – undo
2143 2143
  *    Position apres le saut.
2144 2144
  */
2145 2145
 function sql_skip($res, $pos, $saut, $count, $serveur = '', $option = true) {
2146
-	// pas de saut en arriere qu'on ne sait pas faire sans sql_seek
2147
-	if (($saut = intval($saut)) <= 0) {
2148
-		return $pos;
2149
-	}
2150
-
2151
-	$seek = $pos + $saut;
2152
-	// si le saut fait depasser le maxi, on libere la resource
2153
-	// et on sort
2154
-	if ($seek >= $count) {
2155
-		sql_free($res, $serveur, $option);
2156
-
2157
-		return $count;
2158
-	}
2159
-
2160
-	if (sql_seek($res, $seek)) {
2161
-		$pos = $seek;
2162
-	} else {
2163
-		while ($pos < $seek and sql_fetch($res, $serveur, $option)) {
2164
-			$pos++;
2165
-		}
2166
-	}
2167
-
2168
-	return $pos;
2146
+    // pas de saut en arriere qu'on ne sait pas faire sans sql_seek
2147
+    if (($saut = intval($saut)) <= 0) {
2148
+        return $pos;
2149
+    }
2150
+
2151
+    $seek = $pos + $saut;
2152
+    // si le saut fait depasser le maxi, on libere la resource
2153
+    // et on sort
2154
+    if ($seek >= $count) {
2155
+        sql_free($res, $serveur, $option);
2156
+
2157
+        return $count;
2158
+    }
2159
+
2160
+    if (sql_seek($res, $seek)) {
2161
+        $pos = $seek;
2162
+    } else {
2163
+        while ($pos < $seek and sql_fetch($res, $serveur, $option)) {
2164
+            $pos++;
2165
+        }
2166
+    }
2167
+
2168
+    return $pos;
2169 2169
 }
2170 2170
 
2171 2171
 
@@ -2185,7 +2185,7 @@  discard block
 block discarded – undo
2185 2185
  *     True si le champ est de type entier
2186 2186
  */
2187 2187
 function sql_test_int($type, $serveur = '', $option = true) {
2188
-	return preg_match('/^(TINYINT|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT)/i', trim($type));
2188
+    return preg_match('/^(TINYINT|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT)/i', trim($type));
2189 2189
 }
2190 2190
 
2191 2191
 /**
@@ -2204,7 +2204,7 @@  discard block
 block discarded – undo
2204 2204
  *     True si le champ est de type entier
2205 2205
  */
2206 2206
 function sql_test_date($type, $serveur = '', $option = true) {
2207
-	return preg_match('/^(DATE|DATETIME|TIMESTAMP|TIME)/i', trim($type));
2207
+    return preg_match('/^(DATE|DATETIME|TIMESTAMP|TIME)/i', trim($type));
2208 2208
 }
2209 2209
 
2210 2210
 /**
@@ -2226,19 +2226,19 @@  discard block
 block discarded – undo
2226 2226
  *     La date formatee
2227 2227
  */
2228 2228
 function sql_format_date($annee = 0, $mois = 0, $jour = 0, $h = 0, $m = 0, $s = 0, $serveur = '') {
2229
-	$annee = sprintf('%04s', $annee);
2230
-	$mois = sprintf('%02s', $mois);
2231
-
2232
-	if ($annee == '0000') {
2233
-		$mois = 0;
2234
-	}
2235
-	if ($mois == '00') {
2236
-		$jour = 0;
2237
-	}
2238
-
2239
-	return sprintf('%04u', $annee) . '-' . sprintf('%02u', $mois) . '-'
2240
-	. sprintf('%02u', $jour) . ' ' . sprintf('%02u', $h) . ':'
2241
-	. sprintf('%02u', $m) . ':' . sprintf('%02u', $s);
2229
+    $annee = sprintf('%04s', $annee);
2230
+    $mois = sprintf('%02s', $mois);
2231
+
2232
+    if ($annee == '0000') {
2233
+        $mois = 0;
2234
+    }
2235
+    if ($mois == '00') {
2236
+        $jour = 0;
2237
+    }
2238
+
2239
+    return sprintf('%04u', $annee) . '-' . sprintf('%02u', $mois) . '-'
2240
+    . sprintf('%02u', $jour) . ' ' . sprintf('%02u', $h) . ':'
2241
+    . sprintf('%02u', $m) . ':' . sprintf('%02u', $s);
2242 2242
 }
2243 2243
 
2244 2244
 
@@ -2261,32 +2261,32 @@  discard block
 block discarded – undo
2261 2261
  **/
2262 2262
 function description_table($nom, $serveur = '') {
2263 2263
 
2264
-	static $trouver_table;
2264
+    static $trouver_table;
2265 2265
 
2266
-	/* toujours utiliser trouver_table
2266
+    /* toujours utiliser trouver_table
2267 2267
 	 qui renverra la description theorique
2268 2268
 	 car sinon on va se comporter differement selon que la table est declaree
2269 2269
 	 ou non
2270 2270
 	 */
2271
-	if (!$trouver_table) {
2272
-		$trouver_table = charger_fonction('trouver_table', 'base');
2273
-	}
2274
-	if ($desc = $trouver_table($nom, $serveur)) {
2275
-		return $desc;
2276
-	}
2277
-
2278
-	// sauf a l'installation :
2279
-	include_spip('base/serial');
2280
-	if (isset($GLOBALS['tables_principales'][$nom])) {
2281
-		return $GLOBALS['tables_principales'][$nom];
2282
-	}
2283
-
2284
-	include_spip('base/auxiliaires');
2285
-	if (isset($GLOBALS['tables_auxiliaires'][$nom])) {
2286
-		return $GLOBALS['tables_auxiliaires'][$nom];
2287
-	}
2288
-
2289
-	return false;
2271
+    if (!$trouver_table) {
2272
+        $trouver_table = charger_fonction('trouver_table', 'base');
2273
+    }
2274
+    if ($desc = $trouver_table($nom, $serveur)) {
2275
+        return $desc;
2276
+    }
2277
+
2278
+    // sauf a l'installation :
2279
+    include_spip('base/serial');
2280
+    if (isset($GLOBALS['tables_principales'][$nom])) {
2281
+        return $GLOBALS['tables_principales'][$nom];
2282
+    }
2283
+
2284
+    include_spip('base/auxiliaires');
2285
+    if (isset($GLOBALS['tables_auxiliaires'][$nom])) {
2286
+        return $GLOBALS['tables_auxiliaires'][$nom];
2287
+    }
2288
+
2289
+    return false;
2290 2290
 }
2291 2291
 
2292 2292
 /**
@@ -2299,8 +2299,8 @@  discard block
 block discarded – undo
2299 2299
  * @return string Table sql éventuellement renommée
2300 2300
  */
2301 2301
 function prefixer_table_spip($table, $prefixe) {
2302
-	if ($prefixe) {
2303
-		$table = preg_replace('/^spip_/', $prefixe . '_', $table);
2304
-	}
2305
-	return $table;
2302
+    if ($prefixe) {
2303
+        $table = preg_replace('/^spip_/', $prefixe . '_', $table);
2304
+    }
2305
+    return $table;
2306 2306
 }
Please login to merge, or discard this patch.
ecrire/base/upgrade.php 1 patch
Indentation   +282 added lines, -282 removed lines patch added patch discarded remove patch
@@ -17,17 +17,17 @@  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
 if (!defined('_UPGRADE_TIME_OUT')) {
24
-	/**
25
-	 * Durée en secondes pour relancer les scripts de mises à jour, x secondes
26
-	 * avant que la durée d'exécution du script provoque un timeout
27
-	 *
28
-	 * @var int
29
-	 **/
30
-	define('_UPGRADE_TIME_OUT', 20);
24
+    /**
25
+     * Durée en secondes pour relancer les scripts de mises à jour, x secondes
26
+     * avant que la durée d'exécution du script provoque un timeout
27
+     *
28
+     * @var int
29
+     **/
30
+    define('_UPGRADE_TIME_OUT', 20);
31 31
 }
32 32
 
33 33
 /**
@@ -50,40 +50,40 @@  discard block
 block discarded – undo
50 50
  * @return void
51 51
  */
52 52
 function base_upgrade_dist($titre = '', $reprise = '') {
53
-	if (!$titre) {
54
-		return;
55
-	} // anti-testeur automatique
56
-	if ($GLOBALS['spip_version_base'] != $GLOBALS['meta']['version_installee']) {
57
-		if (!is_numeric(_request('reinstall'))) {
58
-			include_spip('base/create');
59
-			spip_log('recree les tables eventuellement disparues', 'maj.' . _LOG_INFO_IMPORTANTE);
60
-			creer_base();
61
-		}
62
-
63
-		// quand on rentre par ici, c'est toujours une mise a jour de SPIP
64
-		// lancement de l'upgrade SPIP
65
-		$res = maj_base();
66
-
67
-		if ($res) {
68
-			// on arrete tout ici !
69
-			exit;
70
-		}
71
-	}
72
-	spip_log('Fin de mise a jour SQL. Debut m-a-j acces et config', 'maj.' . _LOG_INFO_IMPORTANTE);
73
-
74
-	// supprimer quelques fichiers temporaires qui peuvent se retrouver invalides
75
-	@spip_unlink(_CACHE_RUBRIQUES);
76
-	@spip_unlink(_CACHE_PIPELINES);
77
-	@spip_unlink(_CACHE_PLUGINS_PATH);
78
-	@spip_unlink(_CACHE_PLUGINS_OPT);
79
-	@spip_unlink(_CACHE_PLUGINS_FCT);
80
-	@spip_unlink(_CACHE_CHEMIN);
81
-	@spip_unlink(_DIR_TMP . 'plugin_xml_cache.gz');
82
-
83
-	include_spip('inc/auth');
84
-	auth_synchroniser_distant();
85
-	$config = charger_fonction('config', 'inc');
86
-	$config();
53
+    if (!$titre) {
54
+        return;
55
+    } // anti-testeur automatique
56
+    if ($GLOBALS['spip_version_base'] != $GLOBALS['meta']['version_installee']) {
57
+        if (!is_numeric(_request('reinstall'))) {
58
+            include_spip('base/create');
59
+            spip_log('recree les tables eventuellement disparues', 'maj.' . _LOG_INFO_IMPORTANTE);
60
+            creer_base();
61
+        }
62
+
63
+        // quand on rentre par ici, c'est toujours une mise a jour de SPIP
64
+        // lancement de l'upgrade SPIP
65
+        $res = maj_base();
66
+
67
+        if ($res) {
68
+            // on arrete tout ici !
69
+            exit;
70
+        }
71
+    }
72
+    spip_log('Fin de mise a jour SQL. Debut m-a-j acces et config', 'maj.' . _LOG_INFO_IMPORTANTE);
73
+
74
+    // supprimer quelques fichiers temporaires qui peuvent se retrouver invalides
75
+    @spip_unlink(_CACHE_RUBRIQUES);
76
+    @spip_unlink(_CACHE_PIPELINES);
77
+    @spip_unlink(_CACHE_PLUGINS_PATH);
78
+    @spip_unlink(_CACHE_PLUGINS_OPT);
79
+    @spip_unlink(_CACHE_PLUGINS_FCT);
80
+    @spip_unlink(_CACHE_CHEMIN);
81
+    @spip_unlink(_DIR_TMP . 'plugin_xml_cache.gz');
82
+
83
+    include_spip('inc/auth');
84
+    auth_synchroniser_distant();
85
+    $config = charger_fonction('config', 'inc');
86
+    $config();
87 87
 }
88 88
 
89 89
 /**
@@ -114,51 +114,51 @@  discard block
 block discarded – undo
114 114
  */
115 115
 function maj_base($version_cible = 0, $redirect = '', $debut_page = true) {
116 116
 
117
-	$version_installee = $GLOBALS['meta']['version_installee'] ?? null;
118
-
119
-	spip_log(
120
-		"Version anterieure: $version_installee. Courante: " . $GLOBALS['spip_version_base'],
121
-		'maj.' . _LOG_INFO_IMPORTANTE
122
-	);
123
-	if (!$version_installee or ($GLOBALS['spip_version_base'] < $version_installee)) {
124
-		sql_replace(
125
-			'spip_meta',
126
-			[
127
-				'nom' => 'version_installee',
128
-				'valeur' => $GLOBALS['spip_version_base'],
129
-				'impt' => 'non'
130
-			]
131
-		);
132
-		return false;
133
-	}
134
-	if (!upgrade_test()) {
135
-		return true;
136
-	}
137
-
138
-	$cible = ($version_cible ? $version_cible : $GLOBALS['spip_version_base']);
139
-
140
-	if ($version_installee < 2021010100) {
141
-		include_spip('maj/legacy/v21');
142
-		include_spip('maj/legacy/v30');
143
-		include_spip('maj/legacy/v31');
144
-		include_spip('maj/legacy/v32');
145
-		include_spip('maj/legacy/v40');
146
-	}
147
-
148
-	include_spip('maj/2021');
149
-
150
-	ksort($GLOBALS['maj']);
151
-	$res = maj_while($version_installee, $cible, $GLOBALS['maj'], 'version_installee', 'meta', $redirect, $debut_page);
152
-	if ($res) {
153
-		if (!is_array($res)) {
154
-			spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_INFO_ERREUR);
155
-		} else {
156
-			echo _T('avis_operation_echec') . ' ' . join(' ', $res);
157
-			echo install_fin_html();
158
-		}
159
-	}
160
-
161
-	return $res;
117
+    $version_installee = $GLOBALS['meta']['version_installee'] ?? null;
118
+
119
+    spip_log(
120
+        "Version anterieure: $version_installee. Courante: " . $GLOBALS['spip_version_base'],
121
+        'maj.' . _LOG_INFO_IMPORTANTE
122
+    );
123
+    if (!$version_installee or ($GLOBALS['spip_version_base'] < $version_installee)) {
124
+        sql_replace(
125
+            'spip_meta',
126
+            [
127
+                'nom' => 'version_installee',
128
+                'valeur' => $GLOBALS['spip_version_base'],
129
+                'impt' => 'non'
130
+            ]
131
+        );
132
+        return false;
133
+    }
134
+    if (!upgrade_test()) {
135
+        return true;
136
+    }
137
+
138
+    $cible = ($version_cible ? $version_cible : $GLOBALS['spip_version_base']);
139
+
140
+    if ($version_installee < 2021010100) {
141
+        include_spip('maj/legacy/v21');
142
+        include_spip('maj/legacy/v30');
143
+        include_spip('maj/legacy/v31');
144
+        include_spip('maj/legacy/v32');
145
+        include_spip('maj/legacy/v40');
146
+    }
147
+
148
+    include_spip('maj/2021');
149
+
150
+    ksort($GLOBALS['maj']);
151
+    $res = maj_while($version_installee, $cible, $GLOBALS['maj'], 'version_installee', 'meta', $redirect, $debut_page);
152
+    if ($res) {
153
+        if (!is_array($res)) {
154
+            spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_INFO_ERREUR);
155
+        } else {
156
+            echo _T('avis_operation_echec') . ' ' . join(' ', $res);
157
+            echo install_fin_html();
158
+        }
159
+    }
160
+
161
+    return $res;
162 162
 }
163 163
 
164 164
 /**
@@ -200,53 +200,53 @@  discard block
 block discarded – undo
200 200
  */
201 201
 function maj_plugin($nom_meta_base_version, $version_cible, $maj, $table_meta = 'meta') {
202 202
 
203
-	if ($table_meta !== 'meta') {
204
-		installer_table_meta($table_meta);
205
-	}
206
-
207
-	$current_version = null;
208
-
209
-	if (
210
-		(!isset($GLOBALS[$table_meta][$nom_meta_base_version]))
211
-		|| (!spip_version_compare($current_version = $GLOBALS[$table_meta][$nom_meta_base_version], $version_cible, '='))
212
-	) {
213
-		// $maj['create'] contient les directives propres a la premiere creation de base
214
-		// c'est une operation derogatoire qui fait aboutir directement dans la version_cible
215
-		if (isset($maj['create'])) {
216
-			if (!isset($GLOBALS[$table_meta][$nom_meta_base_version])) {
217
-				// installation : on ne fait que l'operation create
218
-				$maj = ['init' => $maj['create']];
219
-				// et on lui ajoute un appel a inc/config
220
-				// pour creer les metas par defaut
221
-				$config = charger_fonction('config', 'inc');
222
-				$maj[$version_cible] = [[$config]];
223
-			}
224
-			// dans tous les cas enlever cet index du tableau
225
-			unset($maj['create']);
226
-		}
227
-		// si init, deja dans le bon ordre
228
-		if (!isset($maj['init'])) {
229
-			include_spip('inc/plugin'); // pour spip_version_compare
230
-			uksort($maj, 'spip_version_compare');
231
-		}
232
-
233
-		// la redirection se fait par defaut sur la page d'administration des plugins
234
-		// sauf lorsque nous sommes sur l'installation de SPIP
235
-		// ou define _REDIRECT_MAJ_PLUGIN
236
-		$redirect = (defined('_REDIRECT_MAJ_PLUGIN') ? _REDIRECT_MAJ_PLUGIN : generer_url_ecrire('admin_plugin'));
237
-		if (defined('_ECRIRE_INSTALL')) {
238
-			$redirect = parametre_url(generer_url_ecrire('install'), 'etape', _request('etape'));
239
-		}
240
-
241
-		$res = maj_while($current_version, $version_cible, $maj, $nom_meta_base_version, $table_meta, $redirect);
242
-		if ($res) {
243
-			if (!is_array($res)) {
244
-				spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_INFO_ERREUR);
245
-			} else {
246
-				echo '<p>' . _T('avis_operation_echec') . ' ' . join(' ', $res) . '</p>';
247
-			}
248
-		}
249
-	}
203
+    if ($table_meta !== 'meta') {
204
+        installer_table_meta($table_meta);
205
+    }
206
+
207
+    $current_version = null;
208
+
209
+    if (
210
+        (!isset($GLOBALS[$table_meta][$nom_meta_base_version]))
211
+        || (!spip_version_compare($current_version = $GLOBALS[$table_meta][$nom_meta_base_version], $version_cible, '='))
212
+    ) {
213
+        // $maj['create'] contient les directives propres a la premiere creation de base
214
+        // c'est une operation derogatoire qui fait aboutir directement dans la version_cible
215
+        if (isset($maj['create'])) {
216
+            if (!isset($GLOBALS[$table_meta][$nom_meta_base_version])) {
217
+                // installation : on ne fait que l'operation create
218
+                $maj = ['init' => $maj['create']];
219
+                // et on lui ajoute un appel a inc/config
220
+                // pour creer les metas par defaut
221
+                $config = charger_fonction('config', 'inc');
222
+                $maj[$version_cible] = [[$config]];
223
+            }
224
+            // dans tous les cas enlever cet index du tableau
225
+            unset($maj['create']);
226
+        }
227
+        // si init, deja dans le bon ordre
228
+        if (!isset($maj['init'])) {
229
+            include_spip('inc/plugin'); // pour spip_version_compare
230
+            uksort($maj, 'spip_version_compare');
231
+        }
232
+
233
+        // la redirection se fait par defaut sur la page d'administration des plugins
234
+        // sauf lorsque nous sommes sur l'installation de SPIP
235
+        // ou define _REDIRECT_MAJ_PLUGIN
236
+        $redirect = (defined('_REDIRECT_MAJ_PLUGIN') ? _REDIRECT_MAJ_PLUGIN : generer_url_ecrire('admin_plugin'));
237
+        if (defined('_ECRIRE_INSTALL')) {
238
+            $redirect = parametre_url(generer_url_ecrire('install'), 'etape', _request('etape'));
239
+        }
240
+
241
+        $res = maj_while($current_version, $version_cible, $maj, $nom_meta_base_version, $table_meta, $redirect);
242
+        if ($res) {
243
+            if (!is_array($res)) {
244
+                spip_log("Pb d'acces SQL a la mise a jour", 'maj.' . _LOG_INFO_ERREUR);
245
+            } else {
246
+                echo '<p>' . _T('avis_operation_echec') . ' ' . join(' ', $res) . '</p>';
247
+            }
248
+        }
249
+    }
250 250
 }
251 251
 
252 252
 /**
@@ -263,17 +263,17 @@  discard block
 block discarded – undo
263 263
  * @return void
264 264
  */
265 265
 function relance_maj($meta, $table, $redirect = '') {
266
-	include_spip('inc/headers');
267
-	if (!$redirect) {
268
-		// recuperer la valeur installee en cours
269
-		// on la tronque numeriquement, elle ne sert pas reellement
270
-		// sauf pour verifier que ce n'est pas oui ou non
271
-		// sinon is_numeric va echouer sur un numero de version 1.2.3
272
-		$installee = intval($GLOBALS[$table][$meta]);
273
-		$redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
274
-	}
275
-	echo redirige_formulaire($redirect);
276
-	exit();
266
+    include_spip('inc/headers');
267
+    if (!$redirect) {
268
+        // recuperer la valeur installee en cours
269
+        // on la tronque numeriquement, elle ne sert pas reellement
270
+        // sauf pour verifier que ce n'est pas oui ou non
271
+        // sinon is_numeric va echouer sur un numero de version 1.2.3
272
+        $installee = intval($GLOBALS[$table][$meta]);
273
+        $redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
274
+    }
275
+    echo redirige_formulaire($redirect);
276
+    exit();
277 277
 }
278 278
 
279 279
 /**
@@ -286,26 +286,26 @@  discard block
 block discarded – undo
286 286
  * @return void
287 287
  */
288 288
 function maj_debut_page($installee, $meta, $table) {
289
-	static $done = false;
290
-	if ($done) {
291
-		return;
292
-	}
293
-	include_spip('inc/minipres');
294
-	@ini_set('zlib.output_compression', '0'); // pour permettre l'affichage au fur et a mesure
295
-	$timeout = _UPGRADE_TIME_OUT * 2;
296
-	$titre = _T('titre_page_upgrade');
297
-	$balise_img = charger_filtre('balise_img');
298
-	$titre .= $balise_img(chemin_image('loader.svg'), '', 'loader');
299
-	echo(install_debut_html($titre));
300
-	// script de rechargement auto sur timeout
301
-	$redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
302
-	echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . ($timeout * 1000) . ')');
303
-	echo "<div style='text-align: left'>\n";
304
-	if (ob_get_level()) {
305
-		ob_flush();
306
-	}
307
-	flush();
308
-	$done = true;
289
+    static $done = false;
290
+    if ($done) {
291
+        return;
292
+    }
293
+    include_spip('inc/minipres');
294
+    @ini_set('zlib.output_compression', '0'); // pour permettre l'affichage au fur et a mesure
295
+    $timeout = _UPGRADE_TIME_OUT * 2;
296
+    $titre = _T('titre_page_upgrade');
297
+    $balise_img = charger_filtre('balise_img');
298
+    $titre .= $balise_img(chemin_image('loader.svg'), '', 'loader');
299
+    echo(install_debut_html($titre));
300
+    // script de rechargement auto sur timeout
301
+    $redirect = generer_url_ecrire('upgrade', "reinstall=$installee&meta=$meta&table=$table", true);
302
+    echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . ($timeout * 1000) . ')');
303
+    echo "<div style='text-align: left'>\n";
304
+    if (ob_get_level()) {
305
+        ob_flush();
306
+    }
307
+    flush();
308
+    $done = true;
309 309
 }
310 310
 
311 311
 
@@ -349,64 +349,64 @@  discard block
 block discarded – undo
349 349
  *    - tableau vide sinon.
350 350
  */
351 351
 function maj_while($installee, $cible, $maj, $meta = '', $table = 'meta', $redirect = '', $debut_page = false) {
352
-	# inclusions pour que les procedures d'upgrade disposent des fonctions de base
353
-	include_spip('base/create');
354
-	include_spip('base/abstract_sql');
355
-	$trouver_table = charger_fonction('trouver_table', 'base');
356
-	include_spip('inc/plugin'); // pour spip_version_compare
357
-	$n = 0;
358
-	$time = time();
359
-
360
-	if (!defined('_TIME_OUT')) {
361
-		/**
362
-		 * Définir le timeout qui peut-être utilisé dans les fonctions
363
-		 * de mises à jour qui durent trop longtemps
364
-		 *
365
-		 * À utiliser tel que : `if (time() >= _TIME_OUT)`
366
-		 *
367
-		 * @var int
368
-		 */
369
-		define('_TIME_OUT', $time + _UPGRADE_TIME_OUT);
370
-	}
371
-
372
-	foreach ($maj as $v => $operations) {
373
-		// si une maj pour cette version
374
-		if (
375
-			$v == 'init' or
376
-			(spip_version_compare($v, $installee, '>')
377
-				and spip_version_compare($v, $cible, '<='))
378
-		) {
379
-			if ($debut_page) {
380
-				maj_debut_page($v, $meta, $table);
381
-			}
382
-			echo "MAJ $v";
383
-			$etape = serie_alter($v, $operations, $meta, $table, $redirect);
384
-			$trouver_table(''); // vider le cache des descriptions de table
385
-			# echec sur une etape en cours ?
386
-			# on sort
387
-			if ($etape) {
388
-				return [$v, $etape];
389
-			}
390
-			$n = time() - $time;
391
-			spip_log("$table $meta: $v en $n secondes", 'maj.' . _LOG_INFO_IMPORTANTE);
392
-			if ($meta) {
393
-				ecrire_meta($meta, $installee = $v, 'oui', $table);
394
-			}
395
-			echo (_IS_CLI ? "\n" : '<br />');
396
-		}
397
-		if (time() >= _TIME_OUT) {
398
-			relance_maj($meta, $table, $redirect);
399
-		}
400
-	}
401
-	$trouver_table(''); // vider le cache des descriptions de table
402
-	// indispensable pour les chgt de versions qui n'ecrivent pas en base
403
-	// tant pis pour la redondance eventuelle avec ci-dessus
404
-	if ($meta) {
405
-		ecrire_meta($meta, $cible, 'oui', $table);
406
-	}
407
-	spip_log("MAJ terminee. $meta: $installee", 'maj.' . _LOG_INFO_IMPORTANTE);
408
-
409
-	return [];
352
+    # inclusions pour que les procedures d'upgrade disposent des fonctions de base
353
+    include_spip('base/create');
354
+    include_spip('base/abstract_sql');
355
+    $trouver_table = charger_fonction('trouver_table', 'base');
356
+    include_spip('inc/plugin'); // pour spip_version_compare
357
+    $n = 0;
358
+    $time = time();
359
+
360
+    if (!defined('_TIME_OUT')) {
361
+        /**
362
+         * Définir le timeout qui peut-être utilisé dans les fonctions
363
+         * de mises à jour qui durent trop longtemps
364
+         *
365
+         * À utiliser tel que : `if (time() >= _TIME_OUT)`
366
+         *
367
+         * @var int
368
+         */
369
+        define('_TIME_OUT', $time + _UPGRADE_TIME_OUT);
370
+    }
371
+
372
+    foreach ($maj as $v => $operations) {
373
+        // si une maj pour cette version
374
+        if (
375
+            $v == 'init' or
376
+            (spip_version_compare($v, $installee, '>')
377
+                and spip_version_compare($v, $cible, '<='))
378
+        ) {
379
+            if ($debut_page) {
380
+                maj_debut_page($v, $meta, $table);
381
+            }
382
+            echo "MAJ $v";
383
+            $etape = serie_alter($v, $operations, $meta, $table, $redirect);
384
+            $trouver_table(''); // vider le cache des descriptions de table
385
+            # echec sur une etape en cours ?
386
+            # on sort
387
+            if ($etape) {
388
+                return [$v, $etape];
389
+            }
390
+            $n = time() - $time;
391
+            spip_log("$table $meta: $v en $n secondes", 'maj.' . _LOG_INFO_IMPORTANTE);
392
+            if ($meta) {
393
+                ecrire_meta($meta, $installee = $v, 'oui', $table);
394
+            }
395
+            echo (_IS_CLI ? "\n" : '<br />');
396
+        }
397
+        if (time() >= _TIME_OUT) {
398
+            relance_maj($meta, $table, $redirect);
399
+        }
400
+    }
401
+    $trouver_table(''); // vider le cache des descriptions de table
402
+    // indispensable pour les chgt de versions qui n'ecrivent pas en base
403
+    // tant pis pour la redondance eventuelle avec ci-dessus
404
+    if ($meta) {
405
+        ecrire_meta($meta, $cible, 'oui', $table);
406
+    }
407
+    spip_log("MAJ terminee. $meta: $installee", 'maj.' . _LOG_INFO_IMPORTANTE);
408
+
409
+    return [];
410 410
 }
411 411
 
412 412
 /**
@@ -429,53 +429,53 @@  discard block
 block discarded – undo
429 429
  * @return int
430 430
  */
431 431
 function serie_alter($serie, $q = [], $meta = '', $table = 'meta', $redirect = '') {
432
-	$meta2 = $meta . '_maj_' . $serie;
433
-	$etape = 0;
434
-	if (isset($GLOBALS[$table][$meta2])) {
435
-		$etape = intval($GLOBALS[$table][$meta2]);
436
-	}
437
-	foreach ($q as $i => $r) {
438
-		if ($i >= $etape) {
439
-			$msg = "maj $table $meta2 etape $i";
440
-			if (
441
-				is_array($r)
442
-				and function_exists($f = array_shift($r))
443
-			) {
444
-				// note: $r (arguments de la fonction $f) peut avoir des données tabulaires
445
-				spip_log("$msg: $f " . @join(',', $r), 'maj.' . _LOG_INFO_IMPORTANTE);
446
-				// pour les fonctions atomiques sql_xx
447
-				// on enregistre le meta avant de lancer la fonction,
448
-				// de maniere a eviter de boucler sur timeout
449
-				// mais pour les fonctions complexes,
450
-				// il faut les rejouer jusqu'a achevement.
451
-				// C'est a elle d'assurer qu'elles progressent a chaque rappel
452
-				if (strncmp($f, 'sql_', 4) == 0) {
453
-					ecrire_meta($meta2, $i + 1, 'non', $table);
454
-				}
455
-				echo (_IS_CLI ? '.' : " <span title='$i'>.</span>");
456
-				call_user_func_array($f, $r);
457
-				// si temps imparti depasse, on relance sans ecrire en meta
458
-				// car on est peut etre sorti sur timeout si c'est une fonction longue
459
-				if (time() >= _TIME_OUT) {
460
-					relance_maj($meta, $table, $redirect);
461
-				}
462
-				ecrire_meta($meta2, $i + 1, 'non', $table);
463
-				spip_log("$meta2: ok", 'maj.' . _LOG_INFO_IMPORTANTE);
464
-			} else {
465
-				if (!is_array($r)) {
466
-					spip_log("maj $i format incorrect", 'maj.' . _LOG_ERREUR);
467
-				} else {
468
-					spip_log("maj $i fonction $f non definie", 'maj.' . _LOG_ERREUR);
469
-				}
470
-				// en cas d'erreur serieuse, on s'arrete
471
-				// mais on permet de passer par dessus en rechargeant la page.
472
-				return $i + 1;
473
-			}
474
-		}
475
-	}
476
-	effacer_meta($meta2, $table);
477
-
478
-	return 0;
432
+    $meta2 = $meta . '_maj_' . $serie;
433
+    $etape = 0;
434
+    if (isset($GLOBALS[$table][$meta2])) {
435
+        $etape = intval($GLOBALS[$table][$meta2]);
436
+    }
437
+    foreach ($q as $i => $r) {
438
+        if ($i >= $etape) {
439
+            $msg = "maj $table $meta2 etape $i";
440
+            if (
441
+                is_array($r)
442
+                and function_exists($f = array_shift($r))
443
+            ) {
444
+                // note: $r (arguments de la fonction $f) peut avoir des données tabulaires
445
+                spip_log("$msg: $f " . @join(',', $r), 'maj.' . _LOG_INFO_IMPORTANTE);
446
+                // pour les fonctions atomiques sql_xx
447
+                // on enregistre le meta avant de lancer la fonction,
448
+                // de maniere a eviter de boucler sur timeout
449
+                // mais pour les fonctions complexes,
450
+                // il faut les rejouer jusqu'a achevement.
451
+                // C'est a elle d'assurer qu'elles progressent a chaque rappel
452
+                if (strncmp($f, 'sql_', 4) == 0) {
453
+                    ecrire_meta($meta2, $i + 1, 'non', $table);
454
+                }
455
+                echo (_IS_CLI ? '.' : " <span title='$i'>.</span>");
456
+                call_user_func_array($f, $r);
457
+                // si temps imparti depasse, on relance sans ecrire en meta
458
+                // car on est peut etre sorti sur timeout si c'est une fonction longue
459
+                if (time() >= _TIME_OUT) {
460
+                    relance_maj($meta, $table, $redirect);
461
+                }
462
+                ecrire_meta($meta2, $i + 1, 'non', $table);
463
+                spip_log("$meta2: ok", 'maj.' . _LOG_INFO_IMPORTANTE);
464
+            } else {
465
+                if (!is_array($r)) {
466
+                    spip_log("maj $i format incorrect", 'maj.' . _LOG_ERREUR);
467
+                } else {
468
+                    spip_log("maj $i fonction $f non definie", 'maj.' . _LOG_ERREUR);
469
+                }
470
+                // en cas d'erreur serieuse, on s'arrete
471
+                // mais on permet de passer par dessus en rechargeant la page.
472
+                return $i + 1;
473
+            }
474
+        }
475
+    }
476
+    effacer_meta($meta2, $table);
477
+
478
+    return 0;
479 479
 }
480 480
 
481 481
 /**
@@ -484,16 +484,16 @@  discard block
 block discarded – undo
484 484
  * @return bool True si possible.
485 485
  **/
486 486
 function upgrade_test() {
487
-	sql_drop_table('spip_test', true);
488
-	sql_create('spip_test', ['a' => 'int']);
489
-	sql_alter('TABLE spip_test ADD b INT');
490
-	sql_insertq('spip_test', ['b' => 1], ['field' => ['b' => 'int']]);
491
-	$result = sql_select('b', 'spip_test');
492
-	// ne pas garder le resultat de la requete sinon sqlite3
493
-	// ne peut pas supprimer la table spip_test lors du sql_alter qui suit
494
-	// car cette table serait alors 'verouillee'
495
-	$result = $result ? true : false;
496
-	sql_alter('TABLE spip_test DROP b');
497
-
498
-	return $result;
487
+    sql_drop_table('spip_test', true);
488
+    sql_create('spip_test', ['a' => 'int']);
489
+    sql_alter('TABLE spip_test ADD b INT');
490
+    sql_insertq('spip_test', ['b' => 1], ['field' => ['b' => 'int']]);
491
+    $result = sql_select('b', 'spip_test');
492
+    // ne pas garder le resultat de la requete sinon sqlite3
493
+    // ne peut pas supprimer la table spip_test lors du sql_alter qui suit
494
+    // car cette table serait alors 'verouillee'
495
+    $result = $result ? true : false;
496
+    sql_alter('TABLE spip_test DROP b');
497
+
498
+    return $result;
499 499
 }
Please login to merge, or discard this patch.