Completed
Push — master ( 634397...9bf31e )
by cam
01:24
created
ecrire/inc/genie.php 1 patch
Indentation   +88 added lines, -88 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 /**
@@ -75,28 +75,28 @@  discard block
 block discarded – undo
75 75
  * @return
76 76
  **/
77 77
 function inc_genie_dist($taches = []) {
78
-	include_spip('inc/queue');
79
-
80
-	if (_request('exec') == 'job_queue') {
81
-		return false;
82
-	}
83
-
84
-	$force_jobs = [];
85
-	// l'ancienne facon de lancer une tache cron immediatement
86
-	// etait de la passer en parametre a ing_genie_dist
87
-	// on reroute en ajoutant simplement le job a la queue, ASAP
88
-	foreach ($taches as $function => $period) {
89
-		$force_jobs[] = queue_add_job(
90
-			$function,
91
-			_T('tache_cron_asap', ['function' => $function]),
92
-			[time() - abs($period)],
93
-			'genie/'
94
-		);
95
-	}
96
-
97
-	// et on passe la main a la gestion de la queue !
98
-	// en forcant eventuellement les jobs ajoute a l'instant
99
-	return queue_schedule(count($force_jobs) ? $force_jobs : null);
78
+    include_spip('inc/queue');
79
+
80
+    if (_request('exec') == 'job_queue') {
81
+        return false;
82
+    }
83
+
84
+    $force_jobs = [];
85
+    // l'ancienne facon de lancer une tache cron immediatement
86
+    // etait de la passer en parametre a ing_genie_dist
87
+    // on reroute en ajoutant simplement le job a la queue, ASAP
88
+    foreach ($taches as $function => $period) {
89
+        $force_jobs[] = queue_add_job(
90
+            $function,
91
+            _T('tache_cron_asap', ['function' => $function]),
92
+            [time() - abs($period)],
93
+            'genie/'
94
+        );
95
+    }
96
+
97
+    // et on passe la main a la gestion de la queue !
98
+    // en forcant eventuellement les jobs ajoute a l'instant
99
+    return queue_schedule(count($force_jobs) ? $force_jobs : null);
100 100
 }
101 101
 
102 102
 //
@@ -109,33 +109,33 @@  discard block
 block discarded – undo
109 109
 //
110 110
 function taches_generales($taches_generales = []) {
111 111
 
112
-	// verifier que toutes les taches cron sont planifiees
113
-	// c'est une tache cron !
114
-	$taches_generales['queue_watch'] = 3600 * 24;
112
+    // verifier que toutes les taches cron sont planifiees
113
+    // c'est une tache cron !
114
+    $taches_generales['queue_watch'] = 3600 * 24;
115 115
 
116
-	// MAJ des rubriques publiques (cas de la publication post-datee)
117
-	// est fait au coup par coup a present
118
-	//	$taches_generales['rubriques'] = 3600;
116
+    // MAJ des rubriques publiques (cas de la publication post-datee)
117
+    // est fait au coup par coup a present
118
+    //	$taches_generales['rubriques'] = 3600;
119 119
 
120
-	// Optimisation de la base
121
-	$taches_generales['optimiser'] = 3600 * 48;
120
+    // Optimisation de la base
121
+    $taches_generales['optimiser'] = 3600 * 48;
122 122
 
123
-	// nouveautes
124
-	if (
125
-		isset($GLOBALS['meta']['adresse_neuf']) and $GLOBALS['meta']['adresse_neuf']
126
-		and $GLOBALS['meta']['jours_neuf']
127
-		and ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')
128
-	) {
129
-		$taches_generales['mail'] = 3600 * 24 * $GLOBALS['meta']['jours_neuf'];
130
-	}
123
+    // nouveautes
124
+    if (
125
+        isset($GLOBALS['meta']['adresse_neuf']) and $GLOBALS['meta']['adresse_neuf']
126
+        and $GLOBALS['meta']['jours_neuf']
127
+        and ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')
128
+    ) {
129
+        $taches_generales['mail'] = 3600 * 24 * $GLOBALS['meta']['jours_neuf'];
130
+    }
131 131
 
132
-	// maintenance (ajax, verifications diverses)
133
-	$taches_generales['maintenance'] = 3600 * 2;
132
+    // maintenance (ajax, verifications diverses)
133
+    $taches_generales['maintenance'] = 3600 * 2;
134 134
 
135
-	// verifier si une mise a jour de spip est disponible (2 fois par semaine suffit largement)
136
-	$taches_generales['mise_a_jour'] = 3 * 24 * 3600;
135
+    // verifier si une mise a jour de spip est disponible (2 fois par semaine suffit largement)
136
+    $taches_generales['mise_a_jour'] = 3 * 24 * 3600;
137 137
 
138
-	return pipeline('taches_generales_cron', $taches_generales);
138
+    return pipeline('taches_generales_cron', $taches_generales);
139 139
 }
140 140
 
141 141
 /**
@@ -151,22 +151,22 @@  discard block
 block discarded – undo
151 151
  * @return int
152 152
  */
153 153
 function genie_queue_watch_dist() {
154
-	static $deja_la = false;
155
-	if ($deja_la) {
156
-		return;
157
-	} // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple)
158
-	$deja_la = true;
159
-	$taches = taches_generales();
160
-	$programmees = sql_allfetsel('fonction', 'spip_jobs', sql_in('fonction', array_keys($taches)));
161
-	$programmees = array_column($programmees, 'fonction');
162
-	foreach ($taches as $tache => $periode) {
163
-		if (!in_array($tache, $programmees)) {
164
-			queue_genie_replan_job($tache, $periode, time() - round(random_int(1, $periode)), 0);
165
-		}
166
-	}
167
-	$deja_la = false;
168
-
169
-	return 1;
154
+    static $deja_la = false;
155
+    if ($deja_la) {
156
+        return;
157
+    } // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple)
158
+    $deja_la = true;
159
+    $taches = taches_generales();
160
+    $programmees = sql_allfetsel('fonction', 'spip_jobs', sql_in('fonction', array_keys($taches)));
161
+    $programmees = array_column($programmees, 'fonction');
162
+    foreach ($taches as $tache => $periode) {
163
+        if (!in_array($tache, $programmees)) {
164
+            queue_genie_replan_job($tache, $periode, time() - round(random_int(1, $periode)), 0);
165
+        }
166
+    }
167
+    $deja_la = false;
168
+
169
+    return 1;
170 170
 }
171 171
 
172 172
 /**
@@ -187,32 +187,32 @@  discard block
 block discarded – undo
187 187
  * @return void
188 188
  */
189 189
 function queue_genie_replan_job($function, $period, $last = 0, $time = null, $priority = 0) {
190
-	static $done = [];
191
-	if (isset($done[$function])) {
192
-		return;
193
-	}
194
-	$done[$function] = true;
195
-	if (is_null($time)) {
196
-		$time = time();
197
-		if ($last) {
198
-			$time = max($last + $period, $time);
199
-		}
200
-	}
201
-	if (!$last) {
202
-		$last = $time - $period;
203
-	}
204
-	spip_log("replan_job $function $period $last $time $priority", 'queue');
205
-	include_spip('inc/queue');
206
-	// on replanifie un job cron
207
-	// uniquement si il n'y en a pas deja un avec le meme nom
208
-	// independament de l'argument
209
-	queue_add_job(
210
-		$function,
211
-		_T('tache_cron_secondes', ['function' => $function, 'nb' => $period]),
212
-		[$last],
213
-		'genie/',
214
-		'function_only',
215
-		$time,
216
-		$priority
217
-	);
190
+    static $done = [];
191
+    if (isset($done[$function])) {
192
+        return;
193
+    }
194
+    $done[$function] = true;
195
+    if (is_null($time)) {
196
+        $time = time();
197
+        if ($last) {
198
+            $time = max($last + $period, $time);
199
+        }
200
+    }
201
+    if (!$last) {
202
+        $last = $time - $period;
203
+    }
204
+    spip_log("replan_job $function $period $last $time $priority", 'queue');
205
+    include_spip('inc/queue');
206
+    // on replanifie un job cron
207
+    // uniquement si il n'y en a pas deja un avec le meme nom
208
+    // independament de l'argument
209
+    queue_add_job(
210
+        $function,
211
+        _T('tache_cron_secondes', ['function' => $function, 'nb' => $period]),
212
+        [$last],
213
+        'genie/',
214
+        'function_only',
215
+        $time,
216
+        $priority
217
+    );
218 218
 }
Please login to merge, or discard this patch.
ecrire/inc/invalideur.php 1 patch
Indentation   +138 added lines, -138 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('base/serial');
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
  * en droit de l'éliminer
28 28
  */
29 29
 if (!defined('_AGE_CACHE_ATIME')) {
30
-	define('_AGE_CACHE_ATIME', 3600);
30
+    define('_AGE_CACHE_ATIME', 3600);
31 31
 }
32 32
 
33 33
 
@@ -40,31 +40,31 @@  discard block
 block discarded – undo
40 40
  * @return int Taille approximative en octets
41 41
  **/
42 42
 function taille_du_cache() {
43
-	# check dirs until we reach > 500 files
44
-	$t = 0;
45
-	$n = 0;
46
-	$time = $GLOBALS['meta']['cache_mark'] ?? 0;
47
-	for ($i = 0; $i < 256; $i++) {
48
-		$dir = _DIR_CACHE . sprintf('%02s', dechex($i));
49
-		if (@is_dir($dir) and is_readable($dir) and $d = opendir($dir)) {
50
-			while (($f = readdir($d)) !== false) {
51
-				if (preg_match(',^[[0-9a-f]+\.cache$,S', $f) and $a = stat("$dir/$f")) {
52
-					$n++;
53
-					if ($a['mtime'] >= $time) {
54
-						if ($a['blocks'] > 0) {
55
-							$t += 512 * $a['blocks'];
56
-						} else {
57
-							$t += $a['size'];
58
-						}
59
-					}
60
-				}
61
-			}
62
-		}
63
-		if ($n > 500) {
64
-			return intval(256 * $t / (1 + $i));
65
-		}
66
-	}
67
-	return $t;
43
+    # check dirs until we reach > 500 files
44
+    $t = 0;
45
+    $n = 0;
46
+    $time = $GLOBALS['meta']['cache_mark'] ?? 0;
47
+    for ($i = 0; $i < 256; $i++) {
48
+        $dir = _DIR_CACHE . sprintf('%02s', dechex($i));
49
+        if (@is_dir($dir) and is_readable($dir) and $d = opendir($dir)) {
50
+            while (($f = readdir($d)) !== false) {
51
+                if (preg_match(',^[[0-9a-f]+\.cache$,S', $f) and $a = stat("$dir/$f")) {
52
+                    $n++;
53
+                    if ($a['mtime'] >= $time) {
54
+                        if ($a['blocks'] > 0) {
55
+                            $t += 512 * $a['blocks'];
56
+                        } else {
57
+                            $t += $a['size'];
58
+                        }
59
+                    }
60
+                }
61
+            }
62
+        }
63
+        if ($n > 500) {
64
+            return intval(256 * $t / (1 + $i));
65
+        }
66
+    }
67
+    return $t;
68 68
 }
69 69
 
70 70
 
@@ -91,30 +91,30 @@  discard block
 block discarded – undo
91 91
  *     Inutilisé
92 92
  **/
93 93
 function inc_suivre_invalideur_dist($cond, $modif = true) {
94
-	if (!$modif) {
95
-		return;
96
-	}
97
-
98
-	// determiner l'objet modifie : forum, article, etc
99
-	if (preg_match(',["\']([a-z_]+)[/"\'],', $cond, $r)) {
100
-		$objet = objet_type($r[1]);
101
-	}
102
-
103
-	// stocker la date_modif_$objet (ne sert a rien pour le moment)
104
-	if (isset($objet)) {
105
-		ecrire_meta('derniere_modif_' . $objet, time());
106
-	}
107
-
108
-	// si $derniere_modif_invalide est un array('article', 'rubrique')
109
-	// n'affecter la meta que si un de ces objets est modifie
110
-	if (is_array($GLOBALS['derniere_modif_invalide'])) {
111
-		if (in_array($objet, $GLOBALS['derniere_modif_invalide'])) {
112
-			ecrire_meta('derniere_modif', time());
113
-		}
114
-	} // sinon, cas standard, toujours affecter la meta
115
-	else {
116
-		ecrire_meta('derniere_modif', time());
117
-	}
94
+    if (!$modif) {
95
+        return;
96
+    }
97
+
98
+    // determiner l'objet modifie : forum, article, etc
99
+    if (preg_match(',["\']([a-z_]+)[/"\'],', $cond, $r)) {
100
+        $objet = objet_type($r[1]);
101
+    }
102
+
103
+    // stocker la date_modif_$objet (ne sert a rien pour le moment)
104
+    if (isset($objet)) {
105
+        ecrire_meta('derniere_modif_' . $objet, time());
106
+    }
107
+
108
+    // si $derniere_modif_invalide est un array('article', 'rubrique')
109
+    // n'affecter la meta que si un de ces objets est modifie
110
+    if (is_array($GLOBALS['derniere_modif_invalide'])) {
111
+        if (in_array($objet, $GLOBALS['derniere_modif_invalide'])) {
112
+            ecrire_meta('derniere_modif', time());
113
+        }
114
+    } // sinon, cas standard, toujours affecter la meta
115
+    else {
116
+        ecrire_meta('derniere_modif', time());
117
+    }
118 118
 }
119 119
 
120 120
 
@@ -139,57 +139,57 @@  discard block
 block discarded – undo
139 139
  *     Nombre de fichiers supprimés
140 140
  **/
141 141
 function purger_repertoire($dir, $options = []) {
142
-	if (!is_dir($dir) or !is_readable($dir)) {
143
-		return 0;
144
-	}
145
-
146
-	// sur certains sites on veut absolument garder certains caches référencés dans un CDN
147
-	// on peut donc inhiber la purge de ces répertoires pour eviter tout probleme
148
-	if (file_exists(rtrim($dir, '/') . '/inhib_purger_repertoire.txt')) {
149
-		return 0;
150
-	}
151
-
152
-	$handle = opendir($dir);
153
-	if (!$handle) {
154
-		return 0;
155
-	}
156
-
157
-	$total = 0;
158
-
159
-	while (($fichier = @readdir($handle)) !== false) {
160
-		// Eviter ".", "..", ".htaccess", ".svn" etc & CACHEDIR.TAG
161
-		if ($fichier[0] == '.' or $fichier == 'CACHEDIR.TAG') {
162
-			continue;
163
-		}
164
-		$chemin = "$dir/$fichier";
165
-		if (is_file($chemin)) {
166
-			if (
167
-				(!isset($options['atime']) or (@fileatime($chemin) < $options['atime']))
168
-				and (!isset($options['mtime']) or (@filemtime($chemin) < $options['mtime']))
169
-			) {
170
-				supprimer_fichier($chemin);
171
-				$total++;
172
-			}
173
-		} else {
174
-			if (is_dir($chemin)) {
175
-				$opts = $options;
176
-				if (isset($options['limit'])) {
177
-					$opts['limit'] = $options['limit'] - $total;
178
-				}
179
-				$total += purger_repertoire($chemin, $opts);
180
-				if (isset($options['subdir']) && $options['subdir']) {
181
-					spip_unlink($chemin);
182
-				}
183
-			}
184
-		}
185
-
186
-		if (isset($options['limit']) and $total >= $options['limit']) {
187
-			break;
188
-		}
189
-	}
190
-	closedir($handle);
191
-
192
-	return $total;
142
+    if (!is_dir($dir) or !is_readable($dir)) {
143
+        return 0;
144
+    }
145
+
146
+    // sur certains sites on veut absolument garder certains caches référencés dans un CDN
147
+    // on peut donc inhiber la purge de ces répertoires pour eviter tout probleme
148
+    if (file_exists(rtrim($dir, '/') . '/inhib_purger_repertoire.txt')) {
149
+        return 0;
150
+    }
151
+
152
+    $handle = opendir($dir);
153
+    if (!$handle) {
154
+        return 0;
155
+    }
156
+
157
+    $total = 0;
158
+
159
+    while (($fichier = @readdir($handle)) !== false) {
160
+        // Eviter ".", "..", ".htaccess", ".svn" etc & CACHEDIR.TAG
161
+        if ($fichier[0] == '.' or $fichier == 'CACHEDIR.TAG') {
162
+            continue;
163
+        }
164
+        $chemin = "$dir/$fichier";
165
+        if (is_file($chemin)) {
166
+            if (
167
+                (!isset($options['atime']) or (@fileatime($chemin) < $options['atime']))
168
+                and (!isset($options['mtime']) or (@filemtime($chemin) < $options['mtime']))
169
+            ) {
170
+                supprimer_fichier($chemin);
171
+                $total++;
172
+            }
173
+        } else {
174
+            if (is_dir($chemin)) {
175
+                $opts = $options;
176
+                if (isset($options['limit'])) {
177
+                    $opts['limit'] = $options['limit'] - $total;
178
+                }
179
+                $total += purger_repertoire($chemin, $opts);
180
+                if (isset($options['subdir']) && $options['subdir']) {
181
+                    spip_unlink($chemin);
182
+                }
183
+            }
184
+        }
185
+
186
+        if (isset($options['limit']) and $total >= $options['limit']) {
187
+            break;
188
+        }
189
+    }
190
+    closedir($handle);
191
+
192
+    return $total;
193 193
 }
194 194
 
195 195
 
@@ -200,26 +200,26 @@  discard block
 block discarded – undo
200 200
 // Securite : est sur que c'est un cache
201 201
 function retire_cache($cache) {
202 202
 
203
-	if (
204
-		preg_match(
205
-			',^([0-9a-f]/)?([0-9]+/)?[0-9a-f]+\.cache(\.gz)?$,i',
206
-			$cache
207
-		)
208
-	) {
209
-		// supprimer le fichier (de facon propre)
210
-		supprimer_fichier(_DIR_CACHE . $cache);
211
-	} else {
212
-		spip_log("Nom de fichier cache incorrect : $cache");
213
-	}
203
+    if (
204
+        preg_match(
205
+            ',^([0-9a-f]/)?([0-9]+/)?[0-9a-f]+\.cache(\.gz)?$,i',
206
+            $cache
207
+        )
208
+    ) {
209
+        // supprimer le fichier (de facon propre)
210
+        supprimer_fichier(_DIR_CACHE . $cache);
211
+    } else {
212
+        spip_log("Nom de fichier cache incorrect : $cache");
213
+    }
214 214
 }
215 215
 
216 216
 // Supprimer les caches marques "x"
217 217
 // A priori dans cette version la fonction ne sera pas appelee, car
218 218
 // la meta est toujours false ; mais evitons un bug si elle est appellee
219 219
 function inc_retire_caches_dist($chemin = '') {
220
-	if (isset($GLOBALS['meta']['invalider_caches'])) {
221
-		effacer_meta('invalider_caches');
222
-	} # concurrence
220
+    if (isset($GLOBALS['meta']['invalider_caches'])) {
221
+        effacer_meta('invalider_caches');
222
+    } # concurrence
223 223
 }
224 224
 
225 225
 #######################################################################
@@ -230,9 +230,9 @@  discard block
 block discarded – undo
230 230
 ##
231 231
 
232 232
 function retire_caches($chemin = '') {
233
-	if ($retire_caches = charger_fonction('retire_caches', 'inc', true)) {
234
-		return $retire_caches($chemin);
235
-	}
233
+    if ($retire_caches = charger_fonction('retire_caches', 'inc', true)) {
234
+        return $retire_caches($chemin);
235
+    }
236 236
 }
237 237
 
238 238
 
@@ -240,10 +240,10 @@  discard block
 block discarded – undo
240 240
 // (note: si absente, n'est pas appellee)
241 241
 
242 242
 function calcul_invalideurs($corps, $primary, &$boucles, $id_boucle) {
243
-	if ($calcul_invalideurs = charger_fonction('calcul_invalideurs', 'inc', true)) {
244
-		return $calcul_invalideurs($corps, $primary, $boucles, $id_boucle);
245
-	}
246
-	return $corps;
243
+    if ($calcul_invalideurs = charger_fonction('calcul_invalideurs', 'inc', true)) {
244
+        return $calcul_invalideurs($corps, $primary, $boucles, $id_boucle);
245
+    }
246
+    return $corps;
247 247
 }
248 248
 
249 249
 
@@ -252,41 +252,41 @@  discard block
 block discarded – undo
252 252
 // invoquee quand on vide tout le cache en bloc (action/purger)
253 253
 //
254 254
 function supprime_invalideurs() {
255
-	if ($supprime_invalideurs = charger_fonction('supprime_invalideurs', 'inc', true)) {
256
-		return $supprime_invalideurs();
257
-	}
255
+    if ($supprime_invalideurs = charger_fonction('supprime_invalideurs', 'inc', true)) {
256
+        return $supprime_invalideurs();
257
+    }
258 258
 }
259 259
 
260 260
 
261 261
 // Calcul des pages : noter dans la base les liens d'invalidation
262 262
 function maj_invalideurs($fichier, &$page) {
263
-	if ($maj_invalideurs = charger_fonction('maj_invalideurs', 'inc', true)) {
264
-		return $maj_invalideurs($fichier, $page);
265
-	}
263
+    if ($maj_invalideurs = charger_fonction('maj_invalideurs', 'inc', true)) {
264
+        return $maj_invalideurs($fichier, $page);
265
+    }
266 266
 }
267 267
 
268 268
 
269 269
 // les invalideurs sont de la forme "objet/id_objet"
270 270
 function insere_invalideur($inval, $fichier) {
271
-	if ($insere_invalideur = charger_fonction('insere_invalideur', 'inc', true)) {
272
-		return $insere_invalideur($inval, $fichier);
273
-	}
271
+    if ($insere_invalideur = charger_fonction('insere_invalideur', 'inc', true)) {
272
+        return $insere_invalideur($inval, $fichier);
273
+    }
274 274
 }
275 275
 
276 276
 //
277 277
 // Marquer les fichiers caches invalides comme etant a supprimer
278 278
 //
279 279
 function applique_invalideur($depart) {
280
-	if ($applique_invalideur = charger_fonction('applique_invalideur', 'inc', true)) {
281
-		return $applique_invalideur($depart);
282
-	}
280
+    if ($applique_invalideur = charger_fonction('applique_invalideur', 'inc', true)) {
281
+        return $applique_invalideur($depart);
282
+    }
283 283
 }
284 284
 
285 285
 //
286 286
 // Invalider les caches liés à telle condition
287 287
 //
288 288
 function suivre_invalideur($cond, $modif = true) {
289
-	if ($suivre_invalideur = charger_fonction('suivre_invalideur', 'inc', true)) {
290
-		return $suivre_invalideur($cond, $modif);
291
-	}
289
+    if ($suivre_invalideur = charger_fonction('suivre_invalideur', 'inc', true)) {
290
+        return $suivre_invalideur($cond, $modif);
291
+    }
292 292
 }
Please login to merge, or discard this patch.
ecrire/xml/indenter.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -11,55 +11,55 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 class IndenteurXML {
18 18
 
19
-	public function debutElement($phraseur, $name, $attrs) {
20
-		xml_debutElement($this, $name, $attrs);
21
-	}
19
+    public function debutElement($phraseur, $name, $attrs) {
20
+        xml_debutElement($this, $name, $attrs);
21
+    }
22 22
 
23
-	public function finElement($phraseur, $name) {
24
-		xml_finElement($this, $name);
25
-	}
23
+    public function finElement($phraseur, $name) {
24
+        xml_finElement($this, $name);
25
+    }
26 26
 
27
-	public function textElement($phraseur, $data) {
28
-		xml_textElement($this, $data);
29
-	}
27
+    public function textElement($phraseur, $data) {
28
+        xml_textElement($this, $data);
29
+    }
30 30
 
31
-	public function piElement($phraseur, $target, $data) {
32
-		xml_PiElement($this, $target, $data);
33
-	}
31
+    public function piElement($phraseur, $target, $data) {
32
+        xml_PiElement($this, $target, $data);
33
+    }
34 34
 
35
-	public function defaultElement($phraseur, $data) {
36
-		xml_defaultElement($this, $data);
37
-	}
35
+    public function defaultElement($phraseur, $data) {
36
+        xml_defaultElement($this, $data);
37
+    }
38 38
 
39
-	public function phraserTout($phraseur, $data) {
40
-		xml_parsestring($this, $data);
41
-	}
39
+    public function phraserTout($phraseur, $data) {
40
+        xml_parsestring($this, $data);
41
+    }
42 42
 
43
-	public $depth = '';
44
-	public $res = '';
45
-	public $err = [];
46
-	public $contenu = [];
47
-	public $ouvrant = [];
48
-	public $reperes = [];
49
-	public $entete = '';
50
-	public $page = '';
51
-	public $dtc = null;
52
-	public $sax = null;
43
+    public $depth = '';
44
+    public $res = '';
45
+    public $err = [];
46
+    public $contenu = [];
47
+    public $ouvrant = [];
48
+    public $reperes = [];
49
+    public $entete = '';
50
+    public $page = '';
51
+    public $dtc = null;
52
+    public $sax = null;
53 53
 }
54 54
 
55 55
 function xml_indenter_dist($page, $apply = false) {
56
-	$sax = charger_fonction('sax', 'xml');
57
-	$f = new IndenteurXML();
58
-	$sax($page, $apply, $f);
59
-	if (!$f->err) {
60
-		return $f->entete . $f->res;
61
-	}
62
-	spip_log('indentation impossible ' . (is_countable($f->err) ? count($f->err) : 0) . ' erreurs de validation');
56
+    $sax = charger_fonction('sax', 'xml');
57
+    $f = new IndenteurXML();
58
+    $sax($page, $apply, $f);
59
+    if (!$f->err) {
60
+        return $f->entete . $f->res;
61
+    }
62
+    spip_log('indentation impossible ' . (is_countable($f->err) ? count($f->err) : 0) . ' erreurs de validation');
63 63
 
64
-	return $f->entete . $f->page;
64
+    return $f->entete . $f->page;
65 65
 }
Please login to merge, or discard this patch.
ecrire/public/cacher.php 1 patch
Indentation   +320 added lines, -320 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 /**
@@ -25,9 +25,9 @@  discard block
 block discarded – undo
25 25
  * @return string
26 26
  */
27 27
 function generer_nom_fichier_cache($contexte, $page) {
28
-	$u = md5(var_export([$contexte, $page], true));
28
+    $u = md5(var_export([$contexte, $page], true));
29 29
 
30
-	return $u . '.cache';
30
+    return $u . '.cache';
31 31
 }
32 32
 
33 33
 /**
@@ -43,26 +43,26 @@  discard block
 block discarded – undo
43 43
  * @return string
44 44
  */
45 45
 function cache_chemin_fichier($nom_cache, $ecrire = false) {
46
-	static $l1, $l2;
47
-	if (is_null($l1)) {
48
-		$length = (defined('_CACHE_PROFONDEUR_STOCKAGE') ? min(8, max(_CACHE_PROFONDEUR_STOCKAGE, 2)) : 4);
49
-		$l1 = intval(floor($length / 2));
50
-		$l2 = $length - $l1;
51
-	}
52
-	$d = substr($nom_cache, 0, $l1);
53
-	$u = substr($nom_cache, $l1, $l2);
54
-
55
-	if ($ecrire) {
56
-		$rep = sous_repertoire(_DIR_CACHE, '', false, true);
57
-		$rep = sous_repertoire($rep, 'calcul/', false, true);
58
-		$rep = sous_repertoire($rep, $d, false, true);
59
-	}
60
-	else {
61
-		// en lecture on essaye pas de creer les repertoires, on va au plus vite
62
-		$rep = _DIR_CACHE . "calcul/$d/";
63
-	}
64
-
65
-	return $rep . $u . '.cache';
46
+    static $l1, $l2;
47
+    if (is_null($l1)) {
48
+        $length = (defined('_CACHE_PROFONDEUR_STOCKAGE') ? min(8, max(_CACHE_PROFONDEUR_STOCKAGE, 2)) : 4);
49
+        $l1 = intval(floor($length / 2));
50
+        $l2 = $length - $l1;
51
+    }
52
+    $d = substr($nom_cache, 0, $l1);
53
+    $u = substr($nom_cache, $l1, $l2);
54
+
55
+    if ($ecrire) {
56
+        $rep = sous_repertoire(_DIR_CACHE, '', false, true);
57
+        $rep = sous_repertoire($rep, 'calcul/', false, true);
58
+        $rep = sous_repertoire($rep, $d, false, true);
59
+    }
60
+    else {
61
+        // en lecture on essaye pas de creer les repertoires, on va au plus vite
62
+        $rep = _DIR_CACHE . "calcul/$d/";
63
+    }
64
+
65
+    return $rep . $u . '.cache';
66 66
 }
67 67
 
68 68
 /**
@@ -73,7 +73,7 @@  discard block
 block discarded – undo
73 73
  * @return bool
74 74
  */
75 75
 function ecrire_cache($nom_cache, $valeur) {
76
-	return ecrire_fichier(cache_chemin_fichier($nom_cache, true), serialize(['nom_cache' => $nom_cache, 'valeur' => $valeur]));
76
+    return ecrire_fichier(cache_chemin_fichier($nom_cache, true), serialize(['nom_cache' => $nom_cache, 'valeur' => $valeur]));
77 77
 }
78 78
 
79 79
 /**
@@ -83,38 +83,38 @@  discard block
 block discarded – undo
83 83
  * @return mixed
84 84
  */
85 85
 function lire_cache($nom_cache) {
86
-	$tmp = [];
87
-	if (
88
-		file_exists($f = cache_chemin_fichier($nom_cache))
89
-		and lire_fichier($f, $tmp)
90
-		and $tmp = unserialize($tmp)
91
-		and $tmp['nom_cache'] == $nom_cache
92
-		and isset($tmp['valeur'])
93
-	) {
94
-		return $tmp['valeur'];
95
-	}
96
-
97
-	return false;
86
+    $tmp = [];
87
+    if (
88
+        file_exists($f = cache_chemin_fichier($nom_cache))
89
+        and lire_fichier($f, $tmp)
90
+        and $tmp = unserialize($tmp)
91
+        and $tmp['nom_cache'] == $nom_cache
92
+        and isset($tmp['valeur'])
93
+    ) {
94
+        return $tmp['valeur'];
95
+    }
96
+
97
+    return false;
98 98
 }
99 99
 
100 100
 // Parano : on signe le cache, afin d'interdire un hack d'injection
101 101
 // dans notre memcache
102 102
 function cache_signature(&$page) {
103
-	if (!isset($GLOBALS['meta']['cache_signature'])) {
104
-		include_spip('inc/acces');
105
-		include_spip('auth/sha256.inc');
106
-		ecrire_meta(
107
-			'cache_signature',
108
-			spip_sha256(
109
-				$_SERVER['DOCUMENT_ROOT']
110
-				. ($_SERVER['SERVER_SIGNATURE'] ?? '')
111
-				. creer_uniqid()
112
-			),
113
-			'non'
114
-		);
115
-	}
116
-
117
-	return crc32($GLOBALS['meta']['cache_signature'] . $page['texte']);
103
+    if (!isset($GLOBALS['meta']['cache_signature'])) {
104
+        include_spip('inc/acces');
105
+        include_spip('auth/sha256.inc');
106
+        ecrire_meta(
107
+            'cache_signature',
108
+            spip_sha256(
109
+                $_SERVER['DOCUMENT_ROOT']
110
+                . ($_SERVER['SERVER_SIGNATURE'] ?? '')
111
+                . creer_uniqid()
112
+            ),
113
+            'non'
114
+        );
115
+    }
116
+
117
+    return crc32($GLOBALS['meta']['cache_signature'] . $page['texte']);
118 118
 }
119 119
 
120 120
 /**
@@ -127,14 +127,14 @@  discard block
 block discarded – undo
127 127
  * @return array
128 128
  */
129 129
 function gzip_page($page) {
130
-	if (function_exists('gzcompress') and strlen($page['texte']) > 16 * 1024) {
131
-		$page['gz'] = true;
132
-		$page['texte'] = gzcompress($page['texte']);
133
-	} else {
134
-		$page['gz'] = false;
135
-	}
136
-
137
-	return $page;
130
+    if (function_exists('gzcompress') and strlen($page['texte']) > 16 * 1024) {
131
+        $page['gz'] = true;
132
+        $page['texte'] = gzcompress($page['texte']);
133
+    } else {
134
+        $page['gz'] = false;
135
+    }
136
+
137
+    return $page;
138 138
 }
139 139
 
140 140
 /**
@@ -147,10 +147,10 @@  discard block
 block discarded – undo
147 147
  * @return void
148 148
  */
149 149
 function gunzip_page(&$page) {
150
-	if ($page['gz']) {
151
-		$page['texte'] = gzuncompress($page['texte']);
152
-		$page['gz'] = false; // ne pas gzuncompress deux fois une meme page
153
-	}
150
+    if ($page['gz']) {
151
+        $page['texte'] = gzuncompress($page['texte']);
152
+        $page['gz'] = false; // ne pas gzuncompress deux fois une meme page
153
+    }
154 154
 }
155 155
 
156 156
 /**
@@ -165,72 +165,72 @@  discard block
 block discarded – undo
165 165
  * -1 si il faut calculer sans stocker en cache
166 166
  */
167 167
 function cache_valide(&$page, $date) {
168
-	$now = $_SERVER['REQUEST_TIME'];
169
-
170
-	// Apparition d'un nouvel article post-date ?
171
-	if (
172
-		isset($GLOBALS['meta']['post_dates'])
173
-		and $GLOBALS['meta']['post_dates'] == 'non'
174
-		and isset($GLOBALS['meta']['date_prochain_postdate'])
175
-		and $now > $GLOBALS['meta']['date_prochain_postdate']
176
-	) {
177
-		spip_log('Un article post-date invalide le cache');
178
-		include_spip('inc/rubriques');
179
-		calculer_prochain_postdate(true);
180
-	}
181
-
182
-	if (defined('_VAR_NOCACHE') and _VAR_NOCACHE) {
183
-		return -1;
184
-	}
185
-	if (isset($GLOBALS['meta']['cache_inhib']) and $_SERVER['REQUEST_TIME'] < $GLOBALS['meta']['cache_inhib']) {
186
-		return -1;
187
-	}
188
-	if (defined('_NO_CACHE')) {
189
-		return (_NO_CACHE == 0 and !isset($page['texte'])) ? 1 : _NO_CACHE;
190
-	}
191
-
192
-	// pas de cache ? on le met a jour, sauf pour les bots (on leur calcule la page sans mise en cache)
193
-	if (!$page or !isset($page['texte']) or !isset($page['entetes']['X-Spip-Cache'])) {
194
-		return _IS_BOT ? -1 : 1;
195
-	}
196
-
197
-	// controle de la signature
198
-	if ($page['sig'] !== cache_signature($page)) {
199
-		return _IS_BOT ? -1 : 1;
200
-	}
201
-
202
-	// #CACHE{n,statique} => on n'invalide pas avec derniere_modif
203
-	// cf. ecrire/public/balises.php, balise_CACHE_dist()
204
-	if (!isset($page['entetes']['X-Spip-Statique']) or $page['entetes']['X-Spip-Statique'] !== 'oui') {
205
-		// Cache invalide par la meta 'derniere_modif'
206
-		// sauf pour les bots, qui utilisent toujours le cache
207
-		if (
208
-			!_IS_BOT
209
-			and $GLOBALS['derniere_modif_invalide']
210
-			and isset($GLOBALS['meta']['derniere_modif'])
211
-			and $date < $GLOBALS['meta']['derniere_modif']
212
-		) {
213
-			return 1;
214
-		}
215
-	}
216
-
217
-	// Sinon comparer l'age du fichier a sa duree de cache
218
-	$duree = intval($page['entetes']['X-Spip-Cache']);
219
-	$cache_mark = ($GLOBALS['meta']['cache_mark'] ?? 0);
220
-	if ($duree == 0) {  #CACHE{0}
221
-	return -1;
222
-	} // sauf pour les bots, qui utilisent toujours le cache
223
-	else {
224
-		if (
225
-			(!_IS_BOT and $date + $duree < $now)
226
-			# le cache est anterieur a la derniere purge : l'ignorer, meme pour les bots
227
-			or $date < $cache_mark
228
-		) {
229
-			return _IS_BOT ? -1 : 1;
230
-		} else {
231
-			return 0;
232
-		}
233
-	}
168
+    $now = $_SERVER['REQUEST_TIME'];
169
+
170
+    // Apparition d'un nouvel article post-date ?
171
+    if (
172
+        isset($GLOBALS['meta']['post_dates'])
173
+        and $GLOBALS['meta']['post_dates'] == 'non'
174
+        and isset($GLOBALS['meta']['date_prochain_postdate'])
175
+        and $now > $GLOBALS['meta']['date_prochain_postdate']
176
+    ) {
177
+        spip_log('Un article post-date invalide le cache');
178
+        include_spip('inc/rubriques');
179
+        calculer_prochain_postdate(true);
180
+    }
181
+
182
+    if (defined('_VAR_NOCACHE') and _VAR_NOCACHE) {
183
+        return -1;
184
+    }
185
+    if (isset($GLOBALS['meta']['cache_inhib']) and $_SERVER['REQUEST_TIME'] < $GLOBALS['meta']['cache_inhib']) {
186
+        return -1;
187
+    }
188
+    if (defined('_NO_CACHE')) {
189
+        return (_NO_CACHE == 0 and !isset($page['texte'])) ? 1 : _NO_CACHE;
190
+    }
191
+
192
+    // pas de cache ? on le met a jour, sauf pour les bots (on leur calcule la page sans mise en cache)
193
+    if (!$page or !isset($page['texte']) or !isset($page['entetes']['X-Spip-Cache'])) {
194
+        return _IS_BOT ? -1 : 1;
195
+    }
196
+
197
+    // controle de la signature
198
+    if ($page['sig'] !== cache_signature($page)) {
199
+        return _IS_BOT ? -1 : 1;
200
+    }
201
+
202
+    // #CACHE{n,statique} => on n'invalide pas avec derniere_modif
203
+    // cf. ecrire/public/balises.php, balise_CACHE_dist()
204
+    if (!isset($page['entetes']['X-Spip-Statique']) or $page['entetes']['X-Spip-Statique'] !== 'oui') {
205
+        // Cache invalide par la meta 'derniere_modif'
206
+        // sauf pour les bots, qui utilisent toujours le cache
207
+        if (
208
+            !_IS_BOT
209
+            and $GLOBALS['derniere_modif_invalide']
210
+            and isset($GLOBALS['meta']['derniere_modif'])
211
+            and $date < $GLOBALS['meta']['derniere_modif']
212
+        ) {
213
+            return 1;
214
+        }
215
+    }
216
+
217
+    // Sinon comparer l'age du fichier a sa duree de cache
218
+    $duree = intval($page['entetes']['X-Spip-Cache']);
219
+    $cache_mark = ($GLOBALS['meta']['cache_mark'] ?? 0);
220
+    if ($duree == 0) {  #CACHE{0}
221
+    return -1;
222
+    } // sauf pour les bots, qui utilisent toujours le cache
223
+    else {
224
+        if (
225
+            (!_IS_BOT and $date + $duree < $now)
226
+            # le cache est anterieur a la derniere purge : l'ignorer, meme pour les bots
227
+            or $date < $cache_mark
228
+        ) {
229
+            return _IS_BOT ? -1 : 1;
230
+        } else {
231
+            return 0;
232
+        }
233
+    }
234 234
 }
235 235
 
236 236
 /**
@@ -243,59 +243,59 @@  discard block
 block discarded – undo
243 243
  */
244 244
 function creer_cache(&$page, &$chemin_cache) {
245 245
 
246
-	// Ne rien faire si on est en preview, debug, ou si une erreur
247
-	// grave s'est presentee (compilation du squelette, MySQL, etc)
248
-	// le cas var_nocache ne devrait jamais arriver ici (securite)
249
-	// le cas spip_interdire_cache correspond a une ereur SQL grave non anticipable
250
-	if (
251
-		(defined('_VAR_NOCACHE') and _VAR_NOCACHE)
252
-		or defined('spip_interdire_cache')
253
-	) {
254
-		return;
255
-	}
256
-
257
-	// Si la page c1234 a un invalideur de session 'zz', sauver dans
258
-	// 'tmp/cache/MD5(chemin_cache)_zz'
259
-	if (
260
-		isset($page['invalideurs'])
261
-		and isset($page['invalideurs']['session'])
262
-	) {
263
-		// on verifie que le contenu du chemin cache indique seulement
264
-		// "cache sessionne" ; sa date indique la date de validite
265
-		// des caches sessionnes
266
-		if (!$tmp = lire_cache($chemin_cache)) {
267
-			spip_log('Creation cache sessionne ' . $chemin_cache);
268
-			$tmp = [
269
-				'invalideurs' => ['session' => ''],
270
-				'lastmodified' => $_SERVER['REQUEST_TIME']
271
-			];
272
-			ecrire_cache($chemin_cache, $tmp);
273
-		}
274
-		$chemin_cache = generer_nom_fichier_cache(
275
-			['chemin_cache' => $chemin_cache],
276
-			['session' => $page['invalideurs']['session']]
277
-		);
278
-	}
279
-
280
-	// ajouter la date de production dans le cache lui meme
281
-	// (qui contient deja sa duree de validite)
282
-	$page['lastmodified'] = $_SERVER['REQUEST_TIME'];
283
-
284
-	// compresser le contenu si besoin
285
-	$pagez = gzip_page($page);
286
-
287
-	// signer le contenu
288
-	$pagez['sig'] = cache_signature($pagez);
289
-
290
-	// l'enregistrer, compresse ou non...
291
-	$ok = ecrire_cache($chemin_cache, $pagez);
292
-
293
-	spip_log((_IS_BOT ? 'Bot:' : '') . "Creation du cache $chemin_cache pour "
294
-		. $page['entetes']['X-Spip-Cache'] . ' secondes' . ($ok ? '' : ' (erreur!)'), _LOG_INFO);
295
-
296
-	// Inserer ses invalideurs
297
-	include_spip('inc/invalideur');
298
-	maj_invalideurs($chemin_cache, $page);
246
+    // Ne rien faire si on est en preview, debug, ou si une erreur
247
+    // grave s'est presentee (compilation du squelette, MySQL, etc)
248
+    // le cas var_nocache ne devrait jamais arriver ici (securite)
249
+    // le cas spip_interdire_cache correspond a une ereur SQL grave non anticipable
250
+    if (
251
+        (defined('_VAR_NOCACHE') and _VAR_NOCACHE)
252
+        or defined('spip_interdire_cache')
253
+    ) {
254
+        return;
255
+    }
256
+
257
+    // Si la page c1234 a un invalideur de session 'zz', sauver dans
258
+    // 'tmp/cache/MD5(chemin_cache)_zz'
259
+    if (
260
+        isset($page['invalideurs'])
261
+        and isset($page['invalideurs']['session'])
262
+    ) {
263
+        // on verifie que le contenu du chemin cache indique seulement
264
+        // "cache sessionne" ; sa date indique la date de validite
265
+        // des caches sessionnes
266
+        if (!$tmp = lire_cache($chemin_cache)) {
267
+            spip_log('Creation cache sessionne ' . $chemin_cache);
268
+            $tmp = [
269
+                'invalideurs' => ['session' => ''],
270
+                'lastmodified' => $_SERVER['REQUEST_TIME']
271
+            ];
272
+            ecrire_cache($chemin_cache, $tmp);
273
+        }
274
+        $chemin_cache = generer_nom_fichier_cache(
275
+            ['chemin_cache' => $chemin_cache],
276
+            ['session' => $page['invalideurs']['session']]
277
+        );
278
+    }
279
+
280
+    // ajouter la date de production dans le cache lui meme
281
+    // (qui contient deja sa duree de validite)
282
+    $page['lastmodified'] = $_SERVER['REQUEST_TIME'];
283
+
284
+    // compresser le contenu si besoin
285
+    $pagez = gzip_page($page);
286
+
287
+    // signer le contenu
288
+    $pagez['sig'] = cache_signature($pagez);
289
+
290
+    // l'enregistrer, compresse ou non...
291
+    $ok = ecrire_cache($chemin_cache, $pagez);
292
+
293
+    spip_log((_IS_BOT ? 'Bot:' : '') . "Creation du cache $chemin_cache pour "
294
+        . $page['entetes']['X-Spip-Cache'] . ' secondes' . ($ok ? '' : ' (erreur!)'), _LOG_INFO);
295
+
296
+    // Inserer ses invalideurs
297
+    include_spip('inc/invalideur');
298
+    maj_invalideurs($chemin_cache, $page);
299 299
 }
300 300
 
301 301
 
@@ -308,15 +308,15 @@  discard block
 block discarded – undo
308 308
  * @return void
309 309
  */
310 310
 function nettoyer_petit_cache($prefix, $duree = 300) {
311
-	// determiner le repertoire a purger : 'tmp/CACHE/rech/'
312
-	$dircache = sous_repertoire(_DIR_CACHE, $prefix);
313
-	if (spip_touch($dircache . 'purger_' . $prefix, $duree, true)) {
314
-		foreach (preg_files($dircache, '[.]txt$') as $f) {
315
-			if ($_SERVER['REQUEST_TIME'] - (@file_exists($f) ? @filemtime($f) : 0) > $duree) {
316
-				spip_unlink($f);
317
-			}
318
-		}
319
-	}
311
+    // determiner le repertoire a purger : 'tmp/CACHE/rech/'
312
+    $dircache = sous_repertoire(_DIR_CACHE, $prefix);
313
+    if (spip_touch($dircache . 'purger_' . $prefix, $duree, true)) {
314
+        foreach (preg_files($dircache, '[.]txt$') as $f) {
315
+            if ($_SERVER['REQUEST_TIME'] - (@file_exists($f) ? @filemtime($f) : 0) > $duree) {
316
+                spip_unlink($f);
317
+            }
318
+        }
319
+    }
320 320
 }
321 321
 
322 322
 
@@ -344,133 +344,133 @@  discard block
 block discarded – undo
344 344
  */
345 345
 function public_cacher_dist($contexte, &$use_cache, &$chemin_cache, &$page, &$lastmodified) {
346 346
 
347
-	# fonction de cache minimale : dire "non on ne met rien en cache"
348
-	# $use_cache = -1; return;
349
-
350
-	// Second appel, destine a l'enregistrement du cache sur le disque
351
-	if (isset($chemin_cache)) {
352
-		return creer_cache($page, $chemin_cache);
353
-	}
354
-
355
-	// Toute la suite correspond au premier appel
356
-	$contexte_implicite = $page['contexte_implicite'];
357
-
358
-	// Cas ignorant le cache car completement dynamique
359
-	if (
360
-		(!empty($_SERVER['REQUEST_METHOD']) and $_SERVER['REQUEST_METHOD'] === 'POST')
361
-		or _request('connect')
362
-	) {
363
-		$use_cache = -1;
364
-		$lastmodified = 0;
365
-		$chemin_cache = '';
366
-		$page = [];
367
-
368
-		return;
369
-	}
370
-
371
-	// Controler l'existence d'un cache nous correspondant
372
-	$chemin_cache = generer_nom_fichier_cache($contexte, $page);
373
-	$lastmodified = 0;
374
-
375
-	// charger le cache s'il existe (et si il a bien le bon hash = anticollision)
376
-	if (!$page = lire_cache($chemin_cache)) {
377
-		$page = [];
378
-	}
379
-
380
-	// s'il est sessionne, charger celui correspondant a notre session
381
-	if (
382
-		isset($page['invalideurs'])
383
-		and isset($page['invalideurs']['session'])
384
-	) {
385
-		$chemin_cache_session = generer_nom_fichier_cache(
386
-			['chemin_cache' => $chemin_cache],
387
-			['session' => spip_session()]
388
-		);
389
-		if (
390
-			$page_session = lire_cache($chemin_cache_session)
391
-			and $page_session['lastmodified'] >= $page['lastmodified']
392
-		) {
393
-			$page = $page_session;
394
-		} else {
395
-			$page = [];
396
-		}
397
-	}
398
-
399
-
400
-	// Faut-il effacer des pages invalidees (en particulier ce cache-ci) ?
401
-	if (isset($GLOBALS['meta']['invalider'])) {
402
-		// ne le faire que si la base est disponible
403
-		if (spip_connect()) {
404
-			include_spip('inc/invalideur');
405
-			retire_caches($chemin_cache); # API invalideur inutile
406
-			supprimer_fichier(_DIR_CACHE . $chemin_cache);
407
-			if (isset($chemin_cache_session) and $chemin_cache_session) {
408
-				supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
409
-			}
410
-		}
411
-	}
412
-
413
-	// Si un calcul, recalcul [ou preview, mais c'est recalcul] est demande,
414
-	// on supprime le cache
415
-	if (
416
-		defined('_VAR_MODE') &&
417
-		_VAR_MODE &&
418
-		(isset($_COOKIE['spip_session']) ||
419
-			isset($_COOKIE['spip_admin']) ||
420
-			@file_exists(_ACCESS_FILE_NAME))
421
-	) {
422
-		$page = ['contexte_implicite' => $contexte_implicite]; // ignorer le cache deja lu
423
-		include_spip('inc/invalideur');
424
-		retire_caches($chemin_cache); # API invalideur inutile
425
-		supprimer_fichier(_DIR_CACHE . $chemin_cache);
426
-		if (isset($chemin_cache_session) and $chemin_cache_session) {
427
-			supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
428
-		}
429
-	}
430
-
431
-	// $delais par defaut
432
-	// pour toutes les pages sans #CACHE{} hors modeles/ et espace privé
433
-	// qui sont a cache nul par defaut
434
-	if (!isset($GLOBALS['delais'])) {
435
-		if (!defined('_DUREE_CACHE_DEFAUT')) {
436
-			define('_DUREE_CACHE_DEFAUT', 24 * 3600);
437
-		}
438
-		$GLOBALS['delais'] = _DUREE_CACHE_DEFAUT;
439
-	}
440
-
441
-	// determiner la validite de la page
442
-	if ($page) {
443
-		$use_cache = cache_valide($page, $page['lastmodified'] ?? 0);
444
-		// le contexte implicite n'est pas stocke dans le cache, mais il y a equivalence
445
-		// par le nom du cache. On le reinjecte donc ici pour utilisation eventuelle au calcul
446
-		$page['contexte_implicite'] = $contexte_implicite;
447
-		if (!$use_cache) {
448
-			// $page est un cache utilisable
449
-			gunzip_page($page);
450
-
451
-			return;
452
-		}
453
-	} else {
454
-		$page = ['contexte_implicite' => $contexte_implicite];
455
-		$use_cache = cache_valide($page, 0); // fichier cache absent : provoque le calcul
456
-	}
457
-
458
-	// Si pas valide mais pas de connexion a la base, le garder quand meme
459
-	if (!spip_connect()) {
460
-		if (isset($page['texte'])) {
461
-			gunzip_page($page);
462
-			$use_cache = 0;
463
-		} else {
464
-			spip_log("Erreur base de donnees, impossible utiliser $chemin_cache");
465
-			include_spip('inc/minipres');
466
-
467
-			return minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), ['status' => 503]);
468
-		}
469
-	}
470
-
471
-	if ($use_cache < 0) {
472
-		$chemin_cache = '';
473
-	}
474
-
475
-	return;
347
+    # fonction de cache minimale : dire "non on ne met rien en cache"
348
+    # $use_cache = -1; return;
349
+
350
+    // Second appel, destine a l'enregistrement du cache sur le disque
351
+    if (isset($chemin_cache)) {
352
+        return creer_cache($page, $chemin_cache);
353
+    }
354
+
355
+    // Toute la suite correspond au premier appel
356
+    $contexte_implicite = $page['contexte_implicite'];
357
+
358
+    // Cas ignorant le cache car completement dynamique
359
+    if (
360
+        (!empty($_SERVER['REQUEST_METHOD']) and $_SERVER['REQUEST_METHOD'] === 'POST')
361
+        or _request('connect')
362
+    ) {
363
+        $use_cache = -1;
364
+        $lastmodified = 0;
365
+        $chemin_cache = '';
366
+        $page = [];
367
+
368
+        return;
369
+    }
370
+
371
+    // Controler l'existence d'un cache nous correspondant
372
+    $chemin_cache = generer_nom_fichier_cache($contexte, $page);
373
+    $lastmodified = 0;
374
+
375
+    // charger le cache s'il existe (et si il a bien le bon hash = anticollision)
376
+    if (!$page = lire_cache($chemin_cache)) {
377
+        $page = [];
378
+    }
379
+
380
+    // s'il est sessionne, charger celui correspondant a notre session
381
+    if (
382
+        isset($page['invalideurs'])
383
+        and isset($page['invalideurs']['session'])
384
+    ) {
385
+        $chemin_cache_session = generer_nom_fichier_cache(
386
+            ['chemin_cache' => $chemin_cache],
387
+            ['session' => spip_session()]
388
+        );
389
+        if (
390
+            $page_session = lire_cache($chemin_cache_session)
391
+            and $page_session['lastmodified'] >= $page['lastmodified']
392
+        ) {
393
+            $page = $page_session;
394
+        } else {
395
+            $page = [];
396
+        }
397
+    }
398
+
399
+
400
+    // Faut-il effacer des pages invalidees (en particulier ce cache-ci) ?
401
+    if (isset($GLOBALS['meta']['invalider'])) {
402
+        // ne le faire que si la base est disponible
403
+        if (spip_connect()) {
404
+            include_spip('inc/invalideur');
405
+            retire_caches($chemin_cache); # API invalideur inutile
406
+            supprimer_fichier(_DIR_CACHE . $chemin_cache);
407
+            if (isset($chemin_cache_session) and $chemin_cache_session) {
408
+                supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
409
+            }
410
+        }
411
+    }
412
+
413
+    // Si un calcul, recalcul [ou preview, mais c'est recalcul] est demande,
414
+    // on supprime le cache
415
+    if (
416
+        defined('_VAR_MODE') &&
417
+        _VAR_MODE &&
418
+        (isset($_COOKIE['spip_session']) ||
419
+            isset($_COOKIE['spip_admin']) ||
420
+            @file_exists(_ACCESS_FILE_NAME))
421
+    ) {
422
+        $page = ['contexte_implicite' => $contexte_implicite]; // ignorer le cache deja lu
423
+        include_spip('inc/invalideur');
424
+        retire_caches($chemin_cache); # API invalideur inutile
425
+        supprimer_fichier(_DIR_CACHE . $chemin_cache);
426
+        if (isset($chemin_cache_session) and $chemin_cache_session) {
427
+            supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
428
+        }
429
+    }
430
+
431
+    // $delais par defaut
432
+    // pour toutes les pages sans #CACHE{} hors modeles/ et espace privé
433
+    // qui sont a cache nul par defaut
434
+    if (!isset($GLOBALS['delais'])) {
435
+        if (!defined('_DUREE_CACHE_DEFAUT')) {
436
+            define('_DUREE_CACHE_DEFAUT', 24 * 3600);
437
+        }
438
+        $GLOBALS['delais'] = _DUREE_CACHE_DEFAUT;
439
+    }
440
+
441
+    // determiner la validite de la page
442
+    if ($page) {
443
+        $use_cache = cache_valide($page, $page['lastmodified'] ?? 0);
444
+        // le contexte implicite n'est pas stocke dans le cache, mais il y a equivalence
445
+        // par le nom du cache. On le reinjecte donc ici pour utilisation eventuelle au calcul
446
+        $page['contexte_implicite'] = $contexte_implicite;
447
+        if (!$use_cache) {
448
+            // $page est un cache utilisable
449
+            gunzip_page($page);
450
+
451
+            return;
452
+        }
453
+    } else {
454
+        $page = ['contexte_implicite' => $contexte_implicite];
455
+        $use_cache = cache_valide($page, 0); // fichier cache absent : provoque le calcul
456
+    }
457
+
458
+    // Si pas valide mais pas de connexion a la base, le garder quand meme
459
+    if (!spip_connect()) {
460
+        if (isset($page['texte'])) {
461
+            gunzip_page($page);
462
+            $use_cache = 0;
463
+        } else {
464
+            spip_log("Erreur base de donnees, impossible utiliser $chemin_cache");
465
+            include_spip('inc/minipres');
466
+
467
+            return minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), ['status' => 503]);
468
+        }
469
+    }
470
+
471
+    if ($use_cache < 0) {
472
+        $chemin_cache = '';
473
+    }
474
+
475
+    return;
476 476
 }
Please login to merge, or discard this patch.
ecrire/public/tracer.php 1 patch
Indentation   +170 added lines, -170 removed lines patch added patch discarded remove patch
@@ -11,187 +11,187 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function trace_query_start() {
18
-	static $trace = '?';
19
-	if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) {
20
-		if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) {
21
-			$trace = true;
22
-		}
23
-		else {
24
-			if (empty($GLOBALS['visiteur_session'])) {
25
-				// si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir
26
-				// car ici on ne sait pas si c'est un hit anonyme
27
-				// ou une requete SQL faite avant chargement de la session
28
-				$trace = (!empty($_GET['var_profile']) ? '?' : false);
29
-			}
30
-			else {
31
-				include_spip('inc/autoriser');
32
-				// gare au bouclage sur calcul de droits au premier appel
33
-				// A fortiori quand on demande une trace
34
-				$trace = false; // on ne trace pas la requete provoquee par autoriser('debug')
35
-				$trace = (!empty($_GET['var_profile']) and autoriser('debug'));
36
-			}
37
-		}
38
-	}
39
-
40
-	return $trace ? microtime() : 0;
18
+    static $trace = '?';
19
+    if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) {
20
+        if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) {
21
+            $trace = true;
22
+        }
23
+        else {
24
+            if (empty($GLOBALS['visiteur_session'])) {
25
+                // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir
26
+                // car ici on ne sait pas si c'est un hit anonyme
27
+                // ou une requete SQL faite avant chargement de la session
28
+                $trace = (!empty($_GET['var_profile']) ? '?' : false);
29
+            }
30
+            else {
31
+                include_spip('inc/autoriser');
32
+                // gare au bouclage sur calcul de droits au premier appel
33
+                // A fortiori quand on demande une trace
34
+                $trace = false; // on ne trace pas la requete provoquee par autoriser('debug')
35
+                $trace = (!empty($_GET['var_profile']) and autoriser('debug'));
36
+            }
37
+        }
38
+    }
39
+
40
+    return $trace ? microtime() : 0;
41 41
 }
42 42
 
43 43
 function trace_query_end($query, $start, $result, $erreur, $serveur = '') {
44
-	static $trace = '?';
45
-	if ($trace === '?') {
46
-		if (empty($GLOBALS['visiteur_session'])) {
47
-			// si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir
48
-			// car ici on ne sait pas si c'est un hit anonyme
49
-			// ou une requete SQL faite avant chargement de la session
50
-			$trace = (!empty($_GET['var_profile']) ? '?' : false);
51
-		}
52
-		else {
53
-			include_spip('inc/autoriser');
54
-			// gare au bouclage sur calcul de droits au premier appel
55
-			// A fortiori quand on demande une trace
56
-			$trace = false; // on ne trace pas la requete provoquee par autoriser('debug')
57
-			$trace = (!empty($_GET['var_profile']) and autoriser('debug'));
58
-		}
59
-	}
60
-	if ($start) {
61
-		$end = microtime();
62
-		[$usec, $sec] = explode(' ', $start);
63
-		[$usec2, $sec2] = explode(' ', $end);
64
-		$dt = $sec2 + $usec2 - $sec - $usec;
65
-		pipeline('trig_trace_query', ['query' => $query, 'start' => $start, 'end' => $end, 'time' => $dt, 'result' => $result, 'erreur' => $erreur, 'serveur' => $serveur]);
66
-		if ($trace) {
67
-			trace_query_chrono($dt, $query, $result, $serveur);
68
-		}
69
-	}
70
-	// tracer les erreurs, sauf pour select, c'est fait dans abstract_sql
71
-	if ($trace and $erreur and !preg_match('/^select\b/i', $query)) {
72
-		erreur_squelette([sql_errno($serveur), $erreur, $query]);
73
-	}
74
-
75
-	return $result;
44
+    static $trace = '?';
45
+    if ($trace === '?') {
46
+        if (empty($GLOBALS['visiteur_session'])) {
47
+            // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir
48
+            // car ici on ne sait pas si c'est un hit anonyme
49
+            // ou une requete SQL faite avant chargement de la session
50
+            $trace = (!empty($_GET['var_profile']) ? '?' : false);
51
+        }
52
+        else {
53
+            include_spip('inc/autoriser');
54
+            // gare au bouclage sur calcul de droits au premier appel
55
+            // A fortiori quand on demande une trace
56
+            $trace = false; // on ne trace pas la requete provoquee par autoriser('debug')
57
+            $trace = (!empty($_GET['var_profile']) and autoriser('debug'));
58
+        }
59
+    }
60
+    if ($start) {
61
+        $end = microtime();
62
+        [$usec, $sec] = explode(' ', $start);
63
+        [$usec2, $sec2] = explode(' ', $end);
64
+        $dt = $sec2 + $usec2 - $sec - $usec;
65
+        pipeline('trig_trace_query', ['query' => $query, 'start' => $start, 'end' => $end, 'time' => $dt, 'result' => $result, 'erreur' => $erreur, 'serveur' => $serveur]);
66
+        if ($trace) {
67
+            trace_query_chrono($dt, $query, $result, $serveur);
68
+        }
69
+    }
70
+    // tracer les erreurs, sauf pour select, c'est fait dans abstract_sql
71
+    if ($trace and $erreur and !preg_match('/^select\b/i', $query)) {
72
+        erreur_squelette([sql_errno($serveur), $erreur, $query]);
73
+    }
74
+
75
+    return $result;
76 76
 }
77 77
 
78 78
 function trace_query_chrono($dt, $query, $result, $serveur = '') {
79
-	include_spip('inc/filtres_mini');
80
-	static $tt = 0, $nb = 0;
81
-
82
-	$x = _request('var_mode_objet');
83
-	if (isset($GLOBALS['debug']['aucasou'])) {
84
-		[, $boucle, $serveur, $contexte] = $GLOBALS['debug']['aucasou'];
85
-		if ($x and !preg_match("/$boucle\$/", $x)) {
86
-			return;
87
-		}
88
-		if ($serveur) {
89
-			$boucle .= " ($serveur)";
90
-		}
91
-		$boucle = "<b>$boucle</b>";
92
-	} else {
93
-		if ($x) {
94
-			return;
95
-		}
96
-		$boucle = $contexte = '';
97
-	}
98
-
99
-	$tt += $dt;
100
-	$nb++;
101
-
102
-	$q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2", spip_htmlentities($query));
103
-	$e = sql_explain($query, $serveur);
104
-	$r = str_replace('Resource id ', '', (is_object($result) ? get_class($result) : $result));
105
-	$GLOBALS['tableau_des_temps'][] = [$dt, $nb, $boucle, $q, $e, $r, $contexte];
79
+    include_spip('inc/filtres_mini');
80
+    static $tt = 0, $nb = 0;
81
+
82
+    $x = _request('var_mode_objet');
83
+    if (isset($GLOBALS['debug']['aucasou'])) {
84
+        [, $boucle, $serveur, $contexte] = $GLOBALS['debug']['aucasou'];
85
+        if ($x and !preg_match("/$boucle\$/", $x)) {
86
+            return;
87
+        }
88
+        if ($serveur) {
89
+            $boucle .= " ($serveur)";
90
+        }
91
+        $boucle = "<b>$boucle</b>";
92
+    } else {
93
+        if ($x) {
94
+            return;
95
+        }
96
+        $boucle = $contexte = '';
97
+    }
98
+
99
+    $tt += $dt;
100
+    $nb++;
101
+
102
+    $q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2", spip_htmlentities($query));
103
+    $e = sql_explain($query, $serveur);
104
+    $r = str_replace('Resource id ', '', (is_object($result) ? get_class($result) : $result));
105
+    $GLOBALS['tableau_des_temps'][] = [$dt, $nb, $boucle, $q, $e, $r, $contexte];
106 106
 }
107 107
 
108 108
 
109 109
 function chrono_requete($temps) {
110
-	$total = 0;
111
-	$hors = '<i>' . _T('zbug_hors_compilation') . '</i>';
112
-	$t = $q = $n = $d = [];
113
-	// Totaliser les temps et completer le Explain
114
-	foreach ($temps as $key => $v) {
115
-		[$dt, $nb, $boucle, $query, $explain, $res, $contexte] = $v;
116
-		if (is_array($contexte)) {
117
-			$k = ($contexte[0] . " $boucle");
118
-			include_spip('public/compiler');
119
-			$env = reconstruire_contexte_compil($contexte);
120
-		} else {
121
-			$k = $env = $boucle;
122
-		}
123
-
124
-		$total += $dt;
125
-		$t[$key] = $dt;
126
-		$q[$key] = $nb;
127
-		if (!isset($d[$k])) {
128
-			$d[$k] = 0;
129
-			$n[$k] = 0;
130
-		}
131
-		$d[$k] += $dt;
132
-		++$n[$k];
133
-
134
-		if (!is_array($explain)) {
135
-			$explain = [];
136
-		}
137
-		foreach ($explain as $j => $v) {
138
-			$explain[$j] = "<tr><th>$j</th><td>"
139
-				. str_replace(';', '<br />', $v)
140
-				. '</td></tr>';
141
-		}
142
-		$e = "<table class='explain'>"
143
-			. '<caption>'
144
-			. $query
145
-			. '</caption>'
146
-			. "<tr><th>Time</th><td>$dt</td></tr>"
147
-			. "<tr><th>Order</th><td>$nb</td></tr>"
148
-			. "<tr><th>Res</th><td>$res</td></tr>"
149
-			. join('', $explain)
150
-			. '</table>';
151
-
152
-		$temps[$key] = [$e, $env, $k];
153
-	}
154
-	// Trier par temps d'execution decroissant
155
-	array_multisort($t, SORT_DESC, $q, $temps);
156
-	arsort($d);
157
-	$i = 1;
158
-	$t = [];
159
-	// Fabriquer les liens de navigations dans le tableau des temps
160
-	foreach ($temps as $k => $v) {
161
-		$titre = strip_tags($v[2]);
162
-		$href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i";
163
-		$href = str_replace("\\'", '&#39;', $href);
164
-
165
-		if (!isset($t[$v[2]])) {
166
-			$t[$v[2]] = [];
167
-		}
168
-		$t[$v[2]][] = "<span class='spip-debug-arg'> "
169
-			. "<a title='$titre' href='$href'>$i</a>"
170
-			. '</span>'
171
-			. ((count($t[$v[2]]) % 10 == 9) ? '<br />' : '');
172
-		$i++;
173
-	}
174
-
175
-	if ($d['']) {
176
-		$d[$hors] = $d[''];
177
-		$n[$hors] = $n[''];
178
-		$t[$hors] = $t[''];
179
-	}
180
-	unset($d['']);
181
-	// Fabriquer le tableau des liens de navigation dans le grand tableau
182
-	foreach ($d as $k => $v) {
183
-		$d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>"
184
-			. join('', $t[$k]);
185
-	}
186
-
187
-	$navigation = [
188
-		_T('zbug_statistiques'),
189
-		'<tr><td>'
190
-		. join("</td></tr>\n<tr><td>", $d)
191
-		. "</td></tr>\n"
192
-		. (# _request('var_mode_objet') ? '' :
193
-		('<tr><td>' . (is_countable($temps) ? count($temps) : 0) . '</td><td>' . _T('info_total') . '</td><td class="time">' . $total . '</td><td></td></tr>'))
194
-	];
195
-
196
-	return [$temps, $navigation];
110
+    $total = 0;
111
+    $hors = '<i>' . _T('zbug_hors_compilation') . '</i>';
112
+    $t = $q = $n = $d = [];
113
+    // Totaliser les temps et completer le Explain
114
+    foreach ($temps as $key => $v) {
115
+        [$dt, $nb, $boucle, $query, $explain, $res, $contexte] = $v;
116
+        if (is_array($contexte)) {
117
+            $k = ($contexte[0] . " $boucle");
118
+            include_spip('public/compiler');
119
+            $env = reconstruire_contexte_compil($contexte);
120
+        } else {
121
+            $k = $env = $boucle;
122
+        }
123
+
124
+        $total += $dt;
125
+        $t[$key] = $dt;
126
+        $q[$key] = $nb;
127
+        if (!isset($d[$k])) {
128
+            $d[$k] = 0;
129
+            $n[$k] = 0;
130
+        }
131
+        $d[$k] += $dt;
132
+        ++$n[$k];
133
+
134
+        if (!is_array($explain)) {
135
+            $explain = [];
136
+        }
137
+        foreach ($explain as $j => $v) {
138
+            $explain[$j] = "<tr><th>$j</th><td>"
139
+                . str_replace(';', '<br />', $v)
140
+                . '</td></tr>';
141
+        }
142
+        $e = "<table class='explain'>"
143
+            . '<caption>'
144
+            . $query
145
+            . '</caption>'
146
+            . "<tr><th>Time</th><td>$dt</td></tr>"
147
+            . "<tr><th>Order</th><td>$nb</td></tr>"
148
+            . "<tr><th>Res</th><td>$res</td></tr>"
149
+            . join('', $explain)
150
+            . '</table>';
151
+
152
+        $temps[$key] = [$e, $env, $k];
153
+    }
154
+    // Trier par temps d'execution decroissant
155
+    array_multisort($t, SORT_DESC, $q, $temps);
156
+    arsort($d);
157
+    $i = 1;
158
+    $t = [];
159
+    // Fabriquer les liens de navigations dans le tableau des temps
160
+    foreach ($temps as $k => $v) {
161
+        $titre = strip_tags($v[2]);
162
+        $href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i";
163
+        $href = str_replace("\\'", '&#39;', $href);
164
+
165
+        if (!isset($t[$v[2]])) {
166
+            $t[$v[2]] = [];
167
+        }
168
+        $t[$v[2]][] = "<span class='spip-debug-arg'> "
169
+            . "<a title='$titre' href='$href'>$i</a>"
170
+            . '</span>'
171
+            . ((count($t[$v[2]]) % 10 == 9) ? '<br />' : '');
172
+        $i++;
173
+    }
174
+
175
+    if ($d['']) {
176
+        $d[$hors] = $d[''];
177
+        $n[$hors] = $n[''];
178
+        $t[$hors] = $t[''];
179
+    }
180
+    unset($d['']);
181
+    // Fabriquer le tableau des liens de navigation dans le grand tableau
182
+    foreach ($d as $k => $v) {
183
+        $d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>"
184
+            . join('', $t[$k]);
185
+    }
186
+
187
+    $navigation = [
188
+        _T('zbug_statistiques'),
189
+        '<tr><td>'
190
+        . join("</td></tr>\n<tr><td>", $d)
191
+        . "</td></tr>\n"
192
+        . (# _request('var_mode_objet') ? '' :
193
+        ('<tr><td>' . (is_countable($temps) ? count($temps) : 0) . '</td><td>' . _T('info_total') . '</td><td class="time">' . $total . '</td><td></td></tr>'))
194
+    ];
195
+
196
+    return [$temps, $navigation];
197 197
 }
Please login to merge, or discard this patch.
ecrire/install/etape_ldap4.php 1 patch
Indentation   +81 added lines, -81 removed lines patch added patch discarded remove patch
@@ -11,96 +11,96 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('auth/ldap');
18 18
 
19 19
 function install_etape_ldap4_dist() {
20
-	$adresse_ldap = _request('adresse_ldap');
21
-	$login_ldap = _request('login_ldap');
22
-	$pass_ldap = _request('pass_ldap');
23
-	$port_ldap = _request('port_ldap');
24
-	$base_ldap = _request('base_ldap');
25
-	$base_ldap_text = _request('base_ldap_text');
26
-	if (!$base_ldap) {
27
-		$base_ldap = $base_ldap_text;
28
-	}
29
-
30
-	echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
31
-
32
-	$ldap_link = ldap_connect($adresse_ldap, $port_ldap);
33
-	@ldap_bind($ldap_link, $login_ldap, $pass_ldap);
34
-
35
-	// Essayer de verifier le chemin fourni
36
-	$r = @ldap_compare($ldap_link, $base_ldap, 'objectClass', '');
37
-	$fail = (ldap_errno($ldap_link) == 32);
38
-
39
-	if ($fail) {
40
-		echo info_etape(_T('info_chemin_acces_annuaire')),
41
-		info_progression_etape(3, 'etape_ldap', 'install/', true),
42
-			"<div class='error'><p><b>" . _T('avis_operation_echec') . '</b></p><p>' . _T('avis_chemin_invalide_1'),
43
-			' (<tt>' . spip_htmlspecialchars($base_ldap) . '</tt>) ' . _T('avis_chemin_invalide_2') . '</p></div>';
44
-	} else {
45
-		info_etape(_T('info_reglage_ldap'));
46
-		echo info_progression_etape(4, 'etape_ldap', 'install/');
47
-
48
-		$statuts = liste_statuts_ldap();
49
-		$statut_ldap = defined('_INSTALL_STATUT_LDAP')
50
-			? _INSTALL_STATUT_LDAP
51
-			: $GLOBALS['liste_des_statuts']['info_redacteurs'];
52
-
53
-
54
-		$res = install_propager(['adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap'])
55
-			. "<input type='hidden' name='etape' value='ldap5' />"
56
-			. "<input type='hidden' name='base_ldap' value='" . spip_htmlentities($base_ldap) . "' />"
57
-			. fieldset(
58
-				_T('info_statut_utilisateurs_1'),
59
-				[
60
-					'statut_ldap' => [
61
-						'label' => _T('info_statut_utilisateurs_2') . '<br />',
62
-						'valeur' => $statut_ldap,
63
-						'alternatives' => $statuts
64
-					]
65
-				]
66
-			)
67
-			. install_ldap_correspondances()
68
-			. bouton_suivant();
69
-
70
-		echo generer_form_ecrire('install', $res);
71
-	}
72
-
73
-	echo install_fin_html();
20
+    $adresse_ldap = _request('adresse_ldap');
21
+    $login_ldap = _request('login_ldap');
22
+    $pass_ldap = _request('pass_ldap');
23
+    $port_ldap = _request('port_ldap');
24
+    $base_ldap = _request('base_ldap');
25
+    $base_ldap_text = _request('base_ldap_text');
26
+    if (!$base_ldap) {
27
+        $base_ldap = $base_ldap_text;
28
+    }
29
+
30
+    echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
31
+
32
+    $ldap_link = ldap_connect($adresse_ldap, $port_ldap);
33
+    @ldap_bind($ldap_link, $login_ldap, $pass_ldap);
34
+
35
+    // Essayer de verifier le chemin fourni
36
+    $r = @ldap_compare($ldap_link, $base_ldap, 'objectClass', '');
37
+    $fail = (ldap_errno($ldap_link) == 32);
38
+
39
+    if ($fail) {
40
+        echo info_etape(_T('info_chemin_acces_annuaire')),
41
+        info_progression_etape(3, 'etape_ldap', 'install/', true),
42
+            "<div class='error'><p><b>" . _T('avis_operation_echec') . '</b></p><p>' . _T('avis_chemin_invalide_1'),
43
+            ' (<tt>' . spip_htmlspecialchars($base_ldap) . '</tt>) ' . _T('avis_chemin_invalide_2') . '</p></div>';
44
+    } else {
45
+        info_etape(_T('info_reglage_ldap'));
46
+        echo info_progression_etape(4, 'etape_ldap', 'install/');
47
+
48
+        $statuts = liste_statuts_ldap();
49
+        $statut_ldap = defined('_INSTALL_STATUT_LDAP')
50
+            ? _INSTALL_STATUT_LDAP
51
+            : $GLOBALS['liste_des_statuts']['info_redacteurs'];
52
+
53
+
54
+        $res = install_propager(['adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap'])
55
+            . "<input type='hidden' name='etape' value='ldap5' />"
56
+            . "<input type='hidden' name='base_ldap' value='" . spip_htmlentities($base_ldap) . "' />"
57
+            . fieldset(
58
+                _T('info_statut_utilisateurs_1'),
59
+                [
60
+                    'statut_ldap' => [
61
+                        'label' => _T('info_statut_utilisateurs_2') . '<br />',
62
+                        'valeur' => $statut_ldap,
63
+                        'alternatives' => $statuts
64
+                    ]
65
+                ]
66
+            )
67
+            . install_ldap_correspondances()
68
+            . bouton_suivant();
69
+
70
+        echo generer_form_ecrire('install', $res);
71
+    }
72
+
73
+    echo install_fin_html();
74 74
 }
75 75
 
76 76
 function liste_statuts_ldap() {
77
-	$recom = [
78
-		'info_administrateurs' => ('<b>' . _T('info_administrateur_1') . '</b> ' . _T('info_administrateur_2') . '<br />'),
79
-		'info_redacteurs' => ('<b>' . _T('info_redacteur_1') . '</b> ' . _T('info_redacteur_2') . '<br />'),
80
-		'info_visiteurs' => ('<b>' . _T('info_visiteur_1') . '</b> ' . _T('info_visiteur_2') . '<br />')
81
-	];
82
-
83
-	$res = [];
84
-	foreach ($GLOBALS['liste_des_statuts'] as $k => $v) {
85
-		if (isset($recom[$k])) {
86
-			$res[$v] = $recom[$k];
87
-		}
88
-	}
89
-
90
-	return $res;
77
+    $recom = [
78
+        'info_administrateurs' => ('<b>' . _T('info_administrateur_1') . '</b> ' . _T('info_administrateur_2') . '<br />'),
79
+        'info_redacteurs' => ('<b>' . _T('info_redacteur_1') . '</b> ' . _T('info_redacteur_2') . '<br />'),
80
+        'info_visiteurs' => ('<b>' . _T('info_visiteur_1') . '</b> ' . _T('info_visiteur_2') . '<br />')
81
+    ];
82
+
83
+    $res = [];
84
+    foreach ($GLOBALS['liste_des_statuts'] as $k => $v) {
85
+        if (isset($recom[$k])) {
86
+            $res[$v] = $recom[$k];
87
+        }
88
+    }
89
+
90
+    return $res;
91 91
 }
92 92
 
93 93
 function install_ldap_correspondances() {
94
-	$champs = [];
95
-	foreach (is_array($GLOBALS['ldap_attributes']) ? $GLOBALS['ldap_attributes'] : [] as $champ => $v) {
96
-		$nom = 'ldap_' . $champ;
97
-		$val = is_array($v) ? join(',', $v) : strval($v);
98
-		$champs[$nom] = [
99
-			'label' => _T('ldap_correspondance', ['champ' => "<tt>$champ</tt>"]) . '<br />',
100
-			'valeur' => $val
101
-		];
102
-	}
103
-
104
-	return !$champs ?
105
-		'' : fieldset(_T('ldap_correspondance_1'), $champs, '', _T('ldap_correspondance_2') . '<br /><br />');
94
+    $champs = [];
95
+    foreach (is_array($GLOBALS['ldap_attributes']) ? $GLOBALS['ldap_attributes'] : [] as $champ => $v) {
96
+        $nom = 'ldap_' . $champ;
97
+        $val = is_array($v) ? join(',', $v) : strval($v);
98
+        $champs[$nom] = [
99
+            'label' => _T('ldap_correspondance', ['champ' => "<tt>$champ</tt>"]) . '<br />',
100
+            'valeur' => $val
101
+        ];
102
+    }
103
+
104
+    return !$champs ?
105
+        '' : fieldset(_T('ldap_correspondance_1'), $champs, '', _T('ldap_correspondance_2') . '<br /><br />');
106 106
 }
Please login to merge, or discard this patch.
ecrire/install/etape_ldap3.php 1 patch
Indentation   +61 added lines, -61 removed lines patch added patch discarded remove patch
@@ -11,76 +11,76 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function install_etape_ldap3_dist() {
18
-	$info = [];
19
-	$adresse_ldap = _request('adresse_ldap');
20
-	$login_ldap = _request('login_ldap');
21
-	$pass_ldap = _request('pass_ldap');
22
-	$port_ldap = _request('port_ldap');
18
+    $info = [];
19
+    $adresse_ldap = _request('adresse_ldap');
20
+    $login_ldap = _request('login_ldap');
21
+    $pass_ldap = _request('pass_ldap');
22
+    $port_ldap = _request('port_ldap');
23 23
 
24
-	$base_ldap_text = defined('_INSTALL_BASE_LDAP')
25
-		? _INSTALL_BASE_LDAP
26
-		: 'ou=users, dc=mon-domaine, dc=com';
24
+    $base_ldap_text = defined('_INSTALL_BASE_LDAP')
25
+        ? _INSTALL_BASE_LDAP
26
+        : 'ou=users, dc=mon-domaine, dc=com';
27 27
 
28
-	echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
28
+    echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
29 29
 
30
-	echo info_etape(
31
-		_T('info_chemin_acces_1'),
32
-		info_progression_etape(3, 'etape_ldap', 'install/')
33
-	),
34
-	_T('info_chemin_acces_2');
30
+    echo info_etape(
31
+        _T('info_chemin_acces_1'),
32
+        info_progression_etape(3, 'etape_ldap', 'install/')
33
+    ),
34
+    _T('info_chemin_acces_2');
35 35
 
36
-	$ldap_link = @ldap_connect("$adresse_ldap", "$port_ldap");
37
-	if ($ldap_link) {
38
-		@ldap_bind($ldap_link, "$login_ldap", "$pass_ldap");
39
-		$result = @ldap_read($ldap_link, '', 'objectclass=*', ['namingContexts']);
40
-		$info = @ldap_get_entries($ldap_link, $result);
41
-		@ldap_close($ldap_link);
42
-	}
36
+    $ldap_link = @ldap_connect("$adresse_ldap", "$port_ldap");
37
+    if ($ldap_link) {
38
+        @ldap_bind($ldap_link, "$login_ldap", "$pass_ldap");
39
+        $result = @ldap_read($ldap_link, '', 'objectclass=*', ['namingContexts']);
40
+        $info = @ldap_get_entries($ldap_link, $result);
41
+        @ldap_close($ldap_link);
42
+    }
43 43
 
44
-	$checked = false;
45
-	$res = '';
46
-	if (is_array($info) and $info['count'] > 0) {
47
-		$res .= '<p>' . _T('info_selection_chemin_acces') . '</p>';
48
-		$res .= '<ul>';
49
-		$n = 0;
50
-		for ($i = 0; $i < $info['count']; $i++) {
51
-			$names = $info[$i]['namingcontexts'];
52
-			if (is_array($names)) {
53
-				for ($j = 0; $j < $names['count']; $j++) {
54
-					$n++;
55
-					$res .= '<li><input name="base_ldap" value="' . spip_htmlspecialchars($names[$j]) . "\" type='radio' id='tab$n'";
56
-					if (!$checked) {
57
-						$res .= ' checked="checked"';
58
-						$checked = true;
59
-					}
60
-					$res .= ' />';
61
-					$res .= "<label for='tab$n'>" . spip_htmlspecialchars($names[$j]) . "</label></li>\n";
62
-				}
63
-			}
64
-		}
65
-		$res .= '</ul>';
66
-		$res .= _T('info_ou') . ' ';
67
-	}
68
-	$res .= "<br />\n<input name=\"base_ldap\" value=\"\" type='radio' id='manuel'";
69
-	if (!$checked) {
70
-		$res .= ' checked="checked"';
71
-		$checked = true;
72
-	}
44
+    $checked = false;
45
+    $res = '';
46
+    if (is_array($info) and $info['count'] > 0) {
47
+        $res .= '<p>' . _T('info_selection_chemin_acces') . '</p>';
48
+        $res .= '<ul>';
49
+        $n = 0;
50
+        for ($i = 0; $i < $info['count']; $i++) {
51
+            $names = $info[$i]['namingcontexts'];
52
+            if (is_array($names)) {
53
+                for ($j = 0; $j < $names['count']; $j++) {
54
+                    $n++;
55
+                    $res .= '<li><input name="base_ldap" value="' . spip_htmlspecialchars($names[$j]) . "\" type='radio' id='tab$n'";
56
+                    if (!$checked) {
57
+                        $res .= ' checked="checked"';
58
+                        $checked = true;
59
+                    }
60
+                    $res .= ' />';
61
+                    $res .= "<label for='tab$n'>" . spip_htmlspecialchars($names[$j]) . "</label></li>\n";
62
+                }
63
+            }
64
+        }
65
+        $res .= '</ul>';
66
+        $res .= _T('info_ou') . ' ';
67
+    }
68
+    $res .= "<br />\n<input name=\"base_ldap\" value=\"\" type='radio' id='manuel'";
69
+    if (!$checked) {
70
+        $res .= ' checked="checked"';
71
+        $checked = true;
72
+    }
73 73
 
74
-	$res .= ' />'
75
-		. "\n<label for='manuel'>" . _T('entree_chemin_acces') . '</label> '
76
-		. "\n<fieldset>"
77
-		. "<input type='text' name='base_ldap_text' class='text' value=\"$base_ldap_text\" size='40' />"
78
-		. "\n</fieldset>"
79
-		. "\n<input type='hidden' name='etape' value='ldap4' />"
80
-		. install_propager(['adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap'])
81
-		. bouton_suivant();
74
+    $res .= ' />'
75
+        . "\n<label for='manuel'>" . _T('entree_chemin_acces') . '</label> '
76
+        . "\n<fieldset>"
77
+        . "<input type='text' name='base_ldap_text' class='text' value=\"$base_ldap_text\" size='40' />"
78
+        . "\n</fieldset>"
79
+        . "\n<input type='hidden' name='etape' value='ldap4' />"
80
+        . install_propager(['adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap'])
81
+        . bouton_suivant();
82 82
 
83
-	echo generer_form_ecrire('install', $res);
83
+    echo generer_form_ecrire('install', $res);
84 84
 
85
-	echo install_fin_html();
85
+    echo install_fin_html();
86 86
 }
Please login to merge, or discard this patch.
ecrire/install/etape_ldap1.php 1 patch
Indentation   +71 added lines, -71 removed lines patch added patch discarded remove patch
@@ -11,88 +11,88 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function install_etape_ldap1_dist() {
18
-	$adresse_ldap = defined('_INSTALL_HOST_LDAP')
19
-		? _INSTALL_HOST_LDAP
20
-		: 'localhost';
18
+    $adresse_ldap = defined('_INSTALL_HOST_LDAP')
19
+        ? _INSTALL_HOST_LDAP
20
+        : 'localhost';
21 21
 
22
-	$port_ldap = defined('_INSTALL_PORT_LDAP')
23
-		? _INSTALL_PORT_LDAP
24
-		: 389;
22
+    $port_ldap = defined('_INSTALL_PORT_LDAP')
23
+        ? _INSTALL_PORT_LDAP
24
+        : 389;
25 25
 
26
-	$tls_ldap = defined('_INSTALL_TLS_LDAP')
27
-		? _INSTALL_TLS_LDAP
28
-		: 'non';
26
+    $tls_ldap = defined('_INSTALL_TLS_LDAP')
27
+        ? _INSTALL_TLS_LDAP
28
+        : 'non';
29 29
 
30
-	$protocole_ldap = defined('_INSTALL_PROTOCOLE_LDAP')
31
-		? _INSTALL_PROTOCOLE_LDAP
32
-		: 3; // on essaie 2 en cas d'echec
30
+    $protocole_ldap = defined('_INSTALL_PROTOCOLE_LDAP')
31
+        ? _INSTALL_PROTOCOLE_LDAP
32
+        : 3; // on essaie 2 en cas d'echec
33 33
 
34
-	$login_ldap = defined('_INSTALL_USER_LDAP')
35
-		? _INSTALL_USER_LDAP
36
-		: '';
34
+    $login_ldap = defined('_INSTALL_USER_LDAP')
35
+        ? _INSTALL_USER_LDAP
36
+        : '';
37 37
 
38
-	$pass_ldap = defined('_INSTALL_PASS_LDAP')
39
-		? _INSTALL_PASS_LDAP
40
-		: '';
38
+    $pass_ldap = defined('_INSTALL_PASS_LDAP')
39
+        ? _INSTALL_PASS_LDAP
40
+        : '';
41 41
 
42
-	echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
42
+    echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
43 43
 
44
-	echo info_etape(
45
-		_T('titre_connexion_ldap'),
46
-		info_progression_etape(1, 'etape_ldap', 'install/')
47
-	);
44
+    echo info_etape(
45
+        _T('titre_connexion_ldap'),
46
+        info_progression_etape(1, 'etape_ldap', 'install/')
47
+    );
48 48
 
49
-	echo generer_form_ecrire('install', (
50
-		"\n<input type='hidden' name='etape' value='ldap2' />"
51
-		. fieldset(
52
-			_T('entree_adresse_annuaire'),
53
-			[
54
-				'adresse_ldap' => [
55
-					'label' => _T('texte_adresse_annuaire_1'),
56
-					'valeur' => $adresse_ldap
57
-				],
58
-				'port_ldap' => [
59
-					'label' => _T('entree_port_annuaire') . '<br />' . _T('texte_port_annuaire'),
60
-					'valeur' => $port_ldap
61
-				],
62
-				'tls_ldap' => [
63
-					'label' => '<b>' . _T('tls_ldap') . '</b>',
64
-					'valeur' => $tls_ldap,
65
-					'alternatives' => [
66
-						'non' => _T('item_non'),
67
-						'oui' => _T('item_oui')
68
-					]
69
-				],
70
-				'protocole_ldap' => [
71
-					'label' => _T('protocole_ldap'),
72
-					'valeur' => $protocole_ldap,
73
-					'alternatives' => [
74
-						'3' => '3',
75
-						'2' => '2'
76
-					]
77
-				]
78
-			]
79
-		)
49
+    echo generer_form_ecrire('install', (
50
+        "\n<input type='hidden' name='etape' value='ldap2' />"
51
+        . fieldset(
52
+            _T('entree_adresse_annuaire'),
53
+            [
54
+                'adresse_ldap' => [
55
+                    'label' => _T('texte_adresse_annuaire_1'),
56
+                    'valeur' => $adresse_ldap
57
+                ],
58
+                'port_ldap' => [
59
+                    'label' => _T('entree_port_annuaire') . '<br />' . _T('texte_port_annuaire'),
60
+                    'valeur' => $port_ldap
61
+                ],
62
+                'tls_ldap' => [
63
+                    'label' => '<b>' . _T('tls_ldap') . '</b>',
64
+                    'valeur' => $tls_ldap,
65
+                    'alternatives' => [
66
+                        'non' => _T('item_non'),
67
+                        'oui' => _T('item_oui')
68
+                    ]
69
+                ],
70
+                'protocole_ldap' => [
71
+                    'label' => _T('protocole_ldap'),
72
+                    'valeur' => $protocole_ldap,
73
+                    'alternatives' => [
74
+                        '3' => '3',
75
+                        '2' => '2'
76
+                    ]
77
+                ]
78
+            ]
79
+        )
80 80
 
81
-		. "\n<p>" . _T('texte_acces_ldap_anonyme_1') . '</p>'
82
-		. fieldset(
83
-			_T('connexion_ldap'),
84
-			[
85
-				'login_ldap' => [
86
-					'label' => _T('texte_login_ldap_1'),
87
-					'valeur' => $login_ldap
88
-				],
89
-				'pass_ldap' => [
90
-					'label' => _T('entree_passe_ldap'),
91
-					'valeur' => $pass_ldap
92
-				]
93
-			]
94
-		)
95
-		. bouton_suivant()));
81
+        . "\n<p>" . _T('texte_acces_ldap_anonyme_1') . '</p>'
82
+        . fieldset(
83
+            _T('connexion_ldap'),
84
+            [
85
+                'login_ldap' => [
86
+                    'label' => _T('texte_login_ldap_1'),
87
+                    'valeur' => $login_ldap
88
+                ],
89
+                'pass_ldap' => [
90
+                    'label' => _T('entree_passe_ldap'),
91
+                    'valeur' => $pass_ldap
92
+                ]
93
+            ]
94
+        )
95
+        . bouton_suivant()));
96 96
 
97
-	echo install_fin_html();
97
+    echo install_fin_html();
98 98
 }
Please login to merge, or discard this patch.
ecrire/install/etape_2.php 1 patch
Indentation   +121 added lines, -121 removed lines patch added patch discarded remove patch
@@ -11,166 +11,166 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('base/abstract_sql');
18 18
 
19 19
 function install_etape_2_dist() {
20
-	$adresse_db = defined('_INSTALL_HOST_DB')
21
-		? _INSTALL_HOST_DB
22
-		: _request('adresse_db');
20
+    $adresse_db = defined('_INSTALL_HOST_DB')
21
+        ? _INSTALL_HOST_DB
22
+        : _request('adresse_db');
23 23
 
24
-	if (preg_match(',(.*):(.*),', $adresse_db, $r)) {
25
-		[, $adresse_db, $port] = $r;
26
-	} else {
27
-		$port = '';
28
-	}
24
+    if (preg_match(',(.*):(.*),', $adresse_db, $r)) {
25
+        [, $adresse_db, $port] = $r;
26
+    } else {
27
+        $port = '';
28
+    }
29 29
 
30
-	$login_db = defined('_INSTALL_USER_DB')
31
-		? _INSTALL_USER_DB
32
-		: _request('login_db');
30
+    $login_db = defined('_INSTALL_USER_DB')
31
+        ? _INSTALL_USER_DB
32
+        : _request('login_db');
33 33
 
34
-	$pass_db = defined('_INSTALL_PASS_DB')
35
-		? _INSTALL_PASS_DB
36
-		: _request('pass_db');
34
+    $pass_db = defined('_INSTALL_PASS_DB')
35
+        ? _INSTALL_PASS_DB
36
+        : _request('pass_db');
37 37
 
38
-	$server_db = defined('_INSTALL_SERVER_DB')
39
-		? _INSTALL_SERVER_DB
40
-		: _request('server_db');
38
+    $server_db = defined('_INSTALL_SERVER_DB')
39
+        ? _INSTALL_SERVER_DB
40
+        : _request('server_db');
41 41
 
42
-	$name_db = defined('_INSTALL_NAME_DB')
43
-		? _INSTALL_NAME_DB
44
-		: '';
42
+    $name_db = defined('_INSTALL_NAME_DB')
43
+        ? _INSTALL_NAME_DB
44
+        : '';
45 45
 
46
-	$chmod = _request('chmod');
46
+    $chmod = _request('chmod');
47 47
 
48
-	$link = spip_connect_db($adresse_db, $port, $login_db, $pass_db, $name_db, $server_db);
49
-	$GLOBALS['connexions'][$server_db] = $link;
48
+    $link = spip_connect_db($adresse_db, $port, $login_db, $pass_db, $name_db, $server_db);
49
+    $GLOBALS['connexions'][$server_db] = $link;
50 50
 
51
-	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
52
-		= $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
51
+    $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
52
+        = $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
53 53
 
54
-	echo install_debut_html();
54
+    echo install_debut_html();
55 55
 
56 56
 // prenons toutes les dispositions possibles pour que rien ne s'affiche !
57 57
 
58
-	/*
58
+    /*
59 59
 	 * /!\ sqlite3/PDO : erreur sur join(', ', $link)
60 60
 	 * L'objet PDO ne peut pas etre transformee en chaine
61 61
 	 * Un echo $link ne fonctionne pas non plus
62 62
 	 * Il faut utiliser par exemple print_r($link)
63 63
 	 */
64
-	//echo "\n<!--\n", join(', ', $link), " $login_db ";
65
-	$db_connect = 0; // revoirfunction_exists($ferrno) ? $ferrno() : 0;
66
-	//echo join(', ', $GLOBALS['connexions'][$server_db]);
67
-	//echo "\n-->\n";
64
+    //echo "\n<!--\n", join(', ', $link), " $login_db ";
65
+    $db_connect = 0; // revoirfunction_exists($ferrno) ? $ferrno() : 0;
66
+    //echo join(', ', $GLOBALS['connexions'][$server_db]);
67
+    //echo "\n-->\n";
68 68
 
69
-	if (($db_connect == '0') && $link) {
70
-		echo "<div class='success'><b>" . _T('info_connexion_ok') . '</b></div>';
71
-		echo info_progression_etape(2, 'etape_', 'install/');
69
+    if (($db_connect == '0') && $link) {
70
+        echo "<div class='success'><b>" . _T('info_connexion_ok') . '</b></div>';
71
+        echo info_progression_etape(2, 'etape_', 'install/');
72 72
 
73
-		echo info_etape(_T('menu_aide_installation_choix_base') . aider('install2', true));
73
+        echo info_etape(_T('menu_aide_installation_choix_base') . aider('install2', true));
74 74
 
75
-		echo "\n", '<!-- ', sql_version($server_db), ' -->';
76
-		[$checked, $res] = install_etape_2_bases($login_db, $server_db);
75
+        echo "\n", '<!-- ', sql_version($server_db), ' -->';
76
+        [$checked, $res] = install_etape_2_bases($login_db, $server_db);
77 77
 
78
-		$hidden = (defined('_SPIP_CHMOD')
79
-				? ''
80
-				: ("\n<input type='hidden' name='chmod' value='" . spip_htmlspecialchars($chmod) . "' />"))
81
-			. predef_ou_cache($adresse_db . ($port ? ':' . $port : ''), $login_db, $pass_db, $server_db);
78
+        $hidden = (defined('_SPIP_CHMOD')
79
+                ? ''
80
+                : ("\n<input type='hidden' name='chmod' value='" . spip_htmlspecialchars($chmod) . "' />"))
81
+            . predef_ou_cache($adresse_db . ($port ? ':' . $port : ''), $login_db, $pass_db, $server_db);
82 82
 
83
-		echo install_etape_2_form($hidden, $checked, $res, 3);
84
-	} else {
85
-		echo info_progression_etape(1, 'etape_', 'install/', true);
83
+        echo install_etape_2_form($hidden, $checked, $res, 3);
84
+    } else {
85
+        echo info_progression_etape(1, 'etape_', 'install/', true);
86 86
 
87
-		echo "<div class='error'>";
88
-		echo info_etape(_T('info_connexion_base'));
89
-		echo '<h3>' . _T('avis_connexion_echec_1') . '</h3>';
90
-		echo '<p>' . _T('avis_connexion_echec_2') . '</p>';
87
+        echo "<div class='error'>";
88
+        echo info_etape(_T('info_connexion_base'));
89
+        echo '<h3>' . _T('avis_connexion_echec_1') . '</h3>';
90
+        echo '<p>' . _T('avis_connexion_echec_2') . '</p>';
91 91
 
92
-		echo "<p style='font-size: small;'>",
93
-		_T('avis_connexion_echec_3'),
94
-		'</p></div>';
95
-	}
92
+        echo "<p style='font-size: small;'>",
93
+        _T('avis_connexion_echec_3'),
94
+        '</p></div>';
95
+    }
96 96
 
97
-	echo install_fin_html();
97
+    echo install_fin_html();
98 98
 }
99 99
 
100 100
 // Liste les bases accessibles,
101 101
 // avec une heuristique pour preselectionner la plus probable
102 102
 
103 103
 function install_etape_2_bases($login_db, $server_db) {
104
-	$res = install_etape_liste_bases($server_db, $login_db);
105
-	if ($res) {
106
-		[$checked, $bases] = $res;
107
-
108
-		return [
109
-			$checked,
110
-			"<label for='choix_db'><b>"
111
-			. _T('texte_choix_base_2')
112
-			. '</b><br />'
113
-			. _T('texte_choix_base_3')
114
-			. '</label>'
115
-			. "<ul>\n<li>"
116
-			. join("</li>\n<li>", $bases)
117
-			. "</li>\n</ul><p>"
118
-			. _T('info_ou')
119
-			. ' '
120
-		];
121
-	}
122
-	$res = '<b>' . _T('avis_lecture_noms_bases_1') . '</b>
104
+    $res = install_etape_liste_bases($server_db, $login_db);
105
+    if ($res) {
106
+        [$checked, $bases] = $res;
107
+
108
+        return [
109
+            $checked,
110
+            "<label for='choix_db'><b>"
111
+            . _T('texte_choix_base_2')
112
+            . '</b><br />'
113
+            . _T('texte_choix_base_3')
114
+            . '</label>'
115
+            . "<ul>\n<li>"
116
+            . join("</li>\n<li>", $bases)
117
+            . "</li>\n</ul><p>"
118
+            . _T('info_ou')
119
+            . ' '
120
+        ];
121
+    }
122
+    $res = '<b>' . _T('avis_lecture_noms_bases_1') . '</b>
123 123
 		' . _T('avis_lecture_noms_bases_2') . '<p>';
124 124
 
125
-	$checked = false;
126
-	if ($login_db) {
127
-		// Si un login comporte un point, le nom de la base est plus
128
-		// probablement le login sans le point -- testons pour savoir
129
-		$test_base = $login_db;
130
-		$ok = sql_selectdb($test_base, $server_db);
131
-		$test_base2 = str_replace('.', '_', $test_base);
132
-		if (sql_selectdb($test_base2, $server_db)) {
133
-			$test_base = $test_base2;
134
-			$ok = true;
135
-		}
136
-
137
-		if ($ok) {
138
-			$res .= _T('avis_lecture_noms_bases_3')
139
-				. '<ul>'
140
-				. '<li><input name="choix_db" value="' . $test_base . "\" type='radio' id='stand' checked='checked' />"
141
-				. "<label for='stand'>" . $test_base . "</label></li>\n"
142
-				. '</ul>'
143
-				. '<p>' . _T('info_ou') . ' ';
144
-			$checked = true;
145
-		}
146
-	}
147
-
148
-	return [$checked, $res];
125
+    $checked = false;
126
+    if ($login_db) {
127
+        // Si un login comporte un point, le nom de la base est plus
128
+        // probablement le login sans le point -- testons pour savoir
129
+        $test_base = $login_db;
130
+        $ok = sql_selectdb($test_base, $server_db);
131
+        $test_base2 = str_replace('.', '_', $test_base);
132
+        if (sql_selectdb($test_base2, $server_db)) {
133
+            $test_base = $test_base2;
134
+            $ok = true;
135
+        }
136
+
137
+        if ($ok) {
138
+            $res .= _T('avis_lecture_noms_bases_3')
139
+                . '<ul>'
140
+                . '<li><input name="choix_db" value="' . $test_base . "\" type='radio' id='stand' checked='checked' />"
141
+                . "<label for='stand'>" . $test_base . "</label></li>\n"
142
+                . '</ul>'
143
+                . '<p>' . _T('info_ou') . ' ';
144
+            $checked = true;
145
+        }
146
+    }
147
+
148
+    return [$checked, $res];
149 149
 }
150 150
 
151 151
 function install_etape_2_form($hidden, $checked, $res, $etape) {
152
-	return generer_form_ecrire('install', (
153
-		"\n<input type='hidden' name='etape' value='$etape' />"
154
-		. $hidden
155
-		. (defined('_INSTALL_NAME_DB')
156
-			? '<h3>' . _T('install_nom_base_hebergeur') . ' <tt>' . _INSTALL_NAME_DB . '</tt>' . '</h3>'
157
-			: "\n<fieldset><legend>" . _T('texte_choix_base_1') . "</legend>\n"
158
-			. $res
159
-			. "\n<input name=\"choix_db\" value=\"new_spip\" type='radio' id='nou'"
160
-			. ($checked ? '' : " checked='checked'")
161
-			. " />\n<label for='nou'>" . _T('info_creer_base') . "</label></p>\n<p>"
162
-			. "\n<input type='text' name='table_new' class='text' value=\"spip\" size='20' /></p></fieldset>\n"
163
-		)
164
-
165
-		. ((defined('_INSTALL_TABLE_PREFIX')
166
-			or $GLOBALS['table_prefix'] != 'spip')
167
-			? '<h3>' . _T('install_table_prefix_hebergeur') . '  <tt>' . $GLOBALS['table_prefix'] . '</tt>' . '</h3>'
168
-			: '<fieldset><legend>' . _T('texte_choix_table_prefix') . "</legend>\n"
169
-			. "<p><label for='table_prefix'>" . _T('info_table_prefix') . '</label></p><p>'
170
-			. "\n<input type='text' id='tprefix' name='tprefix' class='text' value='"
171
-			. 'spip' # valeur par defaut
172
-			. "' size='20' /></p></fieldset>"
173
-		)
174
-
175
-		. bouton_suivant()));
152
+    return generer_form_ecrire('install', (
153
+        "\n<input type='hidden' name='etape' value='$etape' />"
154
+        . $hidden
155
+        . (defined('_INSTALL_NAME_DB')
156
+            ? '<h3>' . _T('install_nom_base_hebergeur') . ' <tt>' . _INSTALL_NAME_DB . '</tt>' . '</h3>'
157
+            : "\n<fieldset><legend>" . _T('texte_choix_base_1') . "</legend>\n"
158
+            . $res
159
+            . "\n<input name=\"choix_db\" value=\"new_spip\" type='radio' id='nou'"
160
+            . ($checked ? '' : " checked='checked'")
161
+            . " />\n<label for='nou'>" . _T('info_creer_base') . "</label></p>\n<p>"
162
+            . "\n<input type='text' name='table_new' class='text' value=\"spip\" size='20' /></p></fieldset>\n"
163
+        )
164
+
165
+        . ((defined('_INSTALL_TABLE_PREFIX')
166
+            or $GLOBALS['table_prefix'] != 'spip')
167
+            ? '<h3>' . _T('install_table_prefix_hebergeur') . '  <tt>' . $GLOBALS['table_prefix'] . '</tt>' . '</h3>'
168
+            : '<fieldset><legend>' . _T('texte_choix_table_prefix') . "</legend>\n"
169
+            . "<p><label for='table_prefix'>" . _T('info_table_prefix') . '</label></p><p>'
170
+            . "\n<input type='text' id='tprefix' name='tprefix' class='text' value='"
171
+            . 'spip' # valeur par defaut
172
+            . "' size='20' /></p></fieldset>"
173
+        )
174
+
175
+        . bouton_suivant()));
176 176
 }
Please login to merge, or discard this patch.