Completed
Push — master ( a5da4e...51674a )
by cam
01:27
created
prive/formulaires/configurer_articles.php 1 patch
Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -10,65 +10,65 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_configurer_articles_charger_dist() {
17
-	$valeurs = [];
18
-	foreach (
19
-		[
20
-			'articles_surtitre',
21
-			'articles_soustitre',
22
-			'articles_descriptif',
23
-			'articles_chapeau',
24
-			'articles_texte',
25
-			'articles_ps',
26
-			'articles_redac',
27
-			'articles_urlref',
28
-			'post_dates',
29
-			'articles_redirection',
30
-		] as $m
31
-	) {
32
-		$valeurs[$m] = $GLOBALS['meta'][$m];
33
-	}
17
+    $valeurs = [];
18
+    foreach (
19
+        [
20
+            'articles_surtitre',
21
+            'articles_soustitre',
22
+            'articles_descriptif',
23
+            'articles_chapeau',
24
+            'articles_texte',
25
+            'articles_ps',
26
+            'articles_redac',
27
+            'articles_urlref',
28
+            'post_dates',
29
+            'articles_redirection',
30
+        ] as $m
31
+    ) {
32
+        $valeurs[$m] = $GLOBALS['meta'][$m];
33
+    }
34 34
 
35
-	return $valeurs;
35
+    return $valeurs;
36 36
 }
37 37
 
38 38
 
39 39
 function formulaires_configurer_articles_traiter_dist() {
40
-	$res = ['editable' => true];
41
-	$purger_skel = false;
42
-	// Purger les squelettes si un changement de meta les affecte
43
-	if (($i = _request('post_dates')) && $i != $GLOBALS['meta']['post_dates']) {
44
-		$purger_skel = true;
45
-	}
40
+    $res = ['editable' => true];
41
+    $purger_skel = false;
42
+    // Purger les squelettes si un changement de meta les affecte
43
+    if (($i = _request('post_dates')) && $i != $GLOBALS['meta']['post_dates']) {
44
+        $purger_skel = true;
45
+    }
46 46
 
47
-	foreach (
48
-		[
49
-			'articles_surtitre',
50
-			'articles_soustitre',
51
-			'articles_descriptif',
52
-			'articles_chapeau',
53
-			'articles_texte',
54
-			'articles_ps',
55
-			'articles_redac',
56
-			'articles_urlref',
57
-			'post_dates',
58
-			'articles_redirection',
59
-		] as $m
60
-	) {
61
-		if (!is_null($v = _request($m))) {
62
-			ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
63
-		}
64
-	}
47
+    foreach (
48
+        [
49
+            'articles_surtitre',
50
+            'articles_soustitre',
51
+            'articles_descriptif',
52
+            'articles_chapeau',
53
+            'articles_texte',
54
+            'articles_ps',
55
+            'articles_redac',
56
+            'articles_urlref',
57
+            'post_dates',
58
+            'articles_redirection',
59
+        ] as $m
60
+    ) {
61
+        if (!is_null($v = _request($m))) {
62
+            ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
63
+        }
64
+    }
65 65
 
66
-	if ($purger_skel) {
67
-		include_spip('inc/invalideur');
68
-		purger_repertoire(_DIR_SKELS);
69
-	}
66
+    if ($purger_skel) {
67
+        include_spip('inc/invalideur');
68
+        purger_repertoire(_DIR_SKELS);
69
+    }
70 70
 
71
-	$res['message_ok'] = _T('config_info_enregistree');
71
+    $res['message_ok'] = _T('config_info_enregistree');
72 72
 
73
-	return $res;
73
+    return $res;
74 74
 }
Please login to merge, or discard this patch.
prive/objets/liste/auteurs_fonctions.php 2 patches
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Fonctions
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 /**
@@ -28,29 +28,29 @@  discard block
 block discarded – undo
28 28
  * @param bool $left
29 29
  */
30 30
 function critere_compteur_articles_filtres_dist($idb, &$boucles, $crit, $left = false) {
31
-	$boucle = &$boucles[$idb];
31
+    $boucle = &$boucles[$idb];
32 32
 
33
-	$_statut = calculer_liste($crit->param[0], [], $boucles, $boucle->id_parent);
33
+    $_statut = calculer_liste($crit->param[0], [], $boucles, $boucle->id_parent);
34 34
 
35
-	$not = '';
36
-	if ($crit->not) {
37
-		$not = ", 'NOT'";
38
-	}
39
-	$boucle->from['LAA'] = 'spip_auteurs_liens';
40
-	$boucle->from_type['LAA'] = 'left';
41
-	$boucle->join['LAA'] = ["'auteurs'", "'id_auteur'", "'id_auteur'", "'LAA.objet=\'article\''"];
35
+    $not = '';
36
+    if ($crit->not) {
37
+        $not = ", 'NOT'";
38
+    }
39
+    $boucle->from['LAA'] = 'spip_auteurs_liens';
40
+    $boucle->from_type['LAA'] = 'left';
41
+    $boucle->join['LAA'] = ["'auteurs'", "'id_auteur'", "'id_auteur'", "'LAA.objet=\'article\''"];
42 42
 
43
-	$boucle->from['articles'] = 'spip_articles';
44
-	$boucle->from_type['articles'] = 'left';
45
-	$boucle->join['articles'] = [
46
-		"'LAA'",
47
-		"'id_article'",
48
-		"'id_objet'",
49
-		"'(articles.statut IS NULL OR '.sql_in_quote('articles.statut',[$_statut]$not).')'"
50
-	];
43
+    $boucle->from['articles'] = 'spip_articles';
44
+    $boucle->from_type['articles'] = 'left';
45
+    $boucle->join['articles'] = [
46
+        "'LAA'",
47
+        "'id_article'",
48
+        "'id_objet'",
49
+        "'(articles.statut IS NULL OR '.sql_in_quote('articles.statut',[$_statut]$not).')'"
50
+    ];
51 51
 
52
-	$boucle->select[] = 'COUNT(articles.id_article) AS compteur_articles';
53
-	$boucle->group[] = 'auteurs.id_auteur';
52
+    $boucle->select[] = 'COUNT(articles.id_article) AS compteur_articles';
53
+    $boucle->group[] = 'auteurs.id_auteur';
54 54
 }
55 55
 
56 56
 /**
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
  *     Pile complétée par le code à générer
69 69
  */
70 70
 function balise_COMPTEUR_ARTICLES_dist($p) {
71
-	return rindex_pile($p, 'compteur_articles', 'compteur_articles_filtres');
71
+    return rindex_pile($p, 'compteur_articles', 'compteur_articles_filtres');
72 72
 }
73 73
 
74 74
 
@@ -84,37 +84,37 @@  discard block
 block discarded – undo
84 84
  * @return string
85 85
  */
86 86
 function afficher_initiale($url, $initiale, $compteur, $debut, $pas) {
87
-	static $memo = null;
88
-	static $res = [];
89
-	$out = '';
90
-	if (!$memo || !$initiale && !$url || $initiale !== $memo['initiale']) {
91
-		$newcompt = (int) (floor(($compteur - 1) / $pas) * $pas);
92
-		// si fin de la pagination et une seule entree, ne pas l'afficher, ca ne sert a rien
93
-		if (!$initiale && !$url && !$memo['compteur']) {
94
-			$memo = null;
95
-		}
96
-		if ($memo) {
97
-			$on = ($memo['compteur'] <= $debut && ($newcompt > $debut || $newcompt == $debut && $newcompt == $memo['compteur']));
98
-			$res[] = "<li class='pagination-item'>" . lien_ou_expose($memo['url'], $memo['initiale'], $on ? 'span.pagination-item-label' : '', 'pagination-item-label lien_pagination') . '</li>';
99
-		}
100
-		if ($initiale) {
101
-			$memo = [
102
-				'entree' => isset($memo['entree']) ? $memo['entree'] + 1 : 0,
103
-				'initiale' => $initiale,
104
-				'url' => parametre_url($url, 'i', $initiale),
105
-				'compteur' => $newcompt
106
-			];
107
-		}
108
-	}
109
-	if (!$initiale && !$url) {
110
-		if ((is_countable($res) ? count($res) : 0) > 1) {
111
-			$out = "<ul class='pagination-items'>" . implode(' ', $res) . '</ul>';
112
-		}
113
-		$memo = null;
114
-		$res = [];
115
-	}
87
+    static $memo = null;
88
+    static $res = [];
89
+    $out = '';
90
+    if (!$memo || !$initiale && !$url || $initiale !== $memo['initiale']) {
91
+        $newcompt = (int) (floor(($compteur - 1) / $pas) * $pas);
92
+        // si fin de la pagination et une seule entree, ne pas l'afficher, ca ne sert a rien
93
+        if (!$initiale && !$url && !$memo['compteur']) {
94
+            $memo = null;
95
+        }
96
+        if ($memo) {
97
+            $on = ($memo['compteur'] <= $debut && ($newcompt > $debut || $newcompt == $debut && $newcompt == $memo['compteur']));
98
+            $res[] = "<li class='pagination-item'>" . lien_ou_expose($memo['url'], $memo['initiale'], $on ? 'span.pagination-item-label' : '', 'pagination-item-label lien_pagination') . '</li>';
99
+        }
100
+        if ($initiale) {
101
+            $memo = [
102
+                'entree' => isset($memo['entree']) ? $memo['entree'] + 1 : 0,
103
+                'initiale' => $initiale,
104
+                'url' => parametre_url($url, 'i', $initiale),
105
+                'compteur' => $newcompt
106
+            ];
107
+        }
108
+    }
109
+    if (!$initiale && !$url) {
110
+        if ((is_countable($res) ? count($res) : 0) > 1) {
111
+            $out = "<ul class='pagination-items'>" . implode(' ', $res) . '</ul>';
112
+        }
113
+        $memo = null;
114
+        $res = [];
115
+    }
116 116
 
117
-	return $out;
117
+    return $out;
118 118
 }
119 119
 
120 120
 /**
@@ -133,24 +133,24 @@  discard block
 block discarded – undo
133 133
  * @return string
134 134
  */
135 135
 function auteur_lien_messagerie($id_auteur, $en_ligne, $statut, $imessage, $email = '') {
136
-	static $time = null;
137
-	if (!in_array($statut, ['0minirezo', '1comite'])) {
138
-		return '';
139
-	}
136
+    static $time = null;
137
+    if (!in_array($statut, ['0minirezo', '1comite'])) {
138
+        return '';
139
+    }
140 140
 
141
-	if (is_null($time)) {
142
-		$time = time();
143
-	}
144
-	$parti = (($time - strtotime($en_ligne)) > 15 * 60);
141
+    if (is_null($time)) {
142
+        $time = time();
143
+    }
144
+    $parti = (($time - strtotime($en_ligne)) > 15 * 60);
145 145
 
146
-	if (
147
-		$imessage != 'non' && !$parti // historique : est-ce que ca a encore un sens de limiter vu qu'on a la notification par email ?
148
-		&& $GLOBALS['meta']['messagerie_agenda'] != 'non'
149
-	) {
150
-		return parametre_url(parametre_url(generer_url_ecrire('message_edit', 'new=oui'), 'to', $id_auteur), 'redirect', self());
151
-	} elseif (strlen($email) && autoriser('voir', 'auteur', $id_auteur)) {
152
-		return 'mailto:' . $email;
153
-	} else {
154
-		return '';
155
-	}
146
+    if (
147
+        $imessage != 'non' && !$parti // historique : est-ce que ca a encore un sens de limiter vu qu'on a la notification par email ?
148
+        && $GLOBALS['meta']['messagerie_agenda'] != 'non'
149
+    ) {
150
+        return parametre_url(parametre_url(generer_url_ecrire('message_edit', 'new=oui'), 'to', $id_auteur), 'redirect', self());
151
+    } elseif (strlen($email) && autoriser('voir', 'auteur', $id_auteur)) {
152
+        return 'mailto:' . $email;
153
+    } else {
154
+        return '';
155
+    }
156 156
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
 		}
96 96
 		if ($memo) {
97 97
 			$on = ($memo['compteur'] <= $debut && ($newcompt > $debut || $newcompt == $debut && $newcompt == $memo['compteur']));
98
-			$res[] = "<li class='pagination-item'>" . lien_ou_expose($memo['url'], $memo['initiale'], $on ? 'span.pagination-item-label' : '', 'pagination-item-label lien_pagination') . '</li>';
98
+			$res[] = "<li class='pagination-item'>".lien_ou_expose($memo['url'], $memo['initiale'], $on ? 'span.pagination-item-label' : '', 'pagination-item-label lien_pagination').'</li>';
99 99
 		}
100 100
 		if ($initiale) {
101 101
 			$memo = [
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
 	}
109 109
 	if (!$initiale && !$url) {
110 110
 		if ((is_countable($res) ? count($res) : 0) > 1) {
111
-			$out = "<ul class='pagination-items'>" . implode(' ', $res) . '</ul>';
111
+			$out = "<ul class='pagination-items'>".implode(' ', $res).'</ul>';
112 112
 		}
113 113
 		$memo = null;
114 114
 		$res = [];
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
 	) {
150 150
 		return parametre_url(parametre_url(generer_url_ecrire('message_edit', 'new=oui'), 'to', $id_auteur), 'redirect', self());
151 151
 	} elseif (strlen($email) && autoriser('voir', 'auteur', $id_auteur)) {
152
-		return 'mailto:' . $email;
152
+		return 'mailto:'.$email;
153 153
 	} else {
154 154
 		return '';
155 155
 	}
Please login to merge, or discard this patch.
prive/objets/liste/objets-trad_fonctions.php 2 patches
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -10,24 +10,24 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function lister_traductions($id_trad, $objet) {
17
-	$table_objet_sql = table_objet_sql($objet);
18
-	$primary = id_table_objet($objet);
17
+    $table_objet_sql = table_objet_sql($objet);
18
+    $primary = id_table_objet($objet);
19 19
 
20
-	$select = "$primary as id,lang";
21
-	$where = 'id_trad=' . (int) $id_trad;
22
-	$trouver_table = charger_fonction('trouver_table', 'base');
23
-	$desc = $trouver_table($table_objet_sql);
24
-	if (isset($desc['field']['statut'])) {
25
-		$select .= ',statut';
26
-		$where .= ' AND statut!=' . sql_quote('poubelle');
27
-	}
20
+    $select = "$primary as id,lang";
21
+    $where = 'id_trad=' . (int) $id_trad;
22
+    $trouver_table = charger_fonction('trouver_table', 'base');
23
+    $desc = $trouver_table($table_objet_sql);
24
+    if (isset($desc['field']['statut'])) {
25
+        $select .= ',statut';
26
+        $where .= ' AND statut!=' . sql_quote('poubelle');
27
+    }
28 28
 
29
-	$rows = sql_allfetsel($select, $table_objet_sql, $where);
30
-	lang_select();
29
+    $rows = sql_allfetsel($select, $table_objet_sql, $where);
30
+    lang_select();
31 31
 
32
-	return $rows;
32
+    return $rows;
33 33
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -18,12 +18,12 @@
 block discarded – undo
18 18
 	$primary = id_table_objet($objet);
19 19
 
20 20
 	$select = "$primary as id,lang";
21
-	$where = 'id_trad=' . (int) $id_trad;
21
+	$where = 'id_trad='.(int) $id_trad;
22 22
 	$trouver_table = charger_fonction('trouver_table', 'base');
23 23
 	$desc = $trouver_table($table_objet_sql);
24 24
 	if (isset($desc['field']['statut'])) {
25 25
 		$select .= ',statut';
26
-		$where .= ' AND statut!=' . sql_quote('poubelle');
26
+		$where .= ' AND statut!='.sql_quote('poubelle');
27 27
 	}
28 28
 
29 29
 	$rows = sql_allfetsel($select, $table_objet_sql, $where);
Please login to merge, or discard this patch.
prive/echafaudage/hierarchie/objet_fonctions.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 /**
@@ -23,9 +23,9 @@  discard block
 block discarded – undo
23 23
  */
24 24
 function deplacement_restreint($objet, $statut) {
25 25
 
26
-	return match ($objet) {
27
-		'rubrique' => !$GLOBALS['connect_toutes_rubriques'],
28
-		'article', 'site', 'syndic', 'breve' => $statut == 'publie',
29
-		default => $statut ? $statut == 'publie' : false,
30
-	};
26
+    return match ($objet) {
27
+        'rubrique' => !$GLOBALS['connect_toutes_rubriques'],
28
+        'article', 'site', 'syndic', 'breve' => $statut == 'publie',
29
+        default => $statut ? $statut == 'publie' : false,
30
+    };
31 31
 }
Please login to merge, or discard this patch.
ecrire/install/etape_ldap3.php 2 patches
Indentation   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -10,77 +10,77 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function install_etape_ldap3_dist() {
17
-	$info = [];
18
-	$adresse_ldap = _request('adresse_ldap');
19
-	$login_ldap = _request('login_ldap');
20
-	$pass_ldap = _request('pass_ldap');
21
-	$port_ldap = _request('port_ldap');
17
+    $info = [];
18
+    $adresse_ldap = _request('adresse_ldap');
19
+    $login_ldap = _request('login_ldap');
20
+    $pass_ldap = _request('pass_ldap');
21
+    $port_ldap = _request('port_ldap');
22 22
 
23
-	$base_ldap_text = defined('_INSTALL_BASE_LDAP')
24
-		? _INSTALL_BASE_LDAP
25
-		: 'ou=users, dc=mon-domaine, dc=com';
23
+    $base_ldap_text = defined('_INSTALL_BASE_LDAP')
24
+        ? _INSTALL_BASE_LDAP
25
+        : 'ou=users, dc=mon-domaine, dc=com';
26 26
 
27
-	$minipage = new Spip\Afficher\Minipage\Installation();
28
-	echo $minipage->installDebutPage(['onload' => 'document.getElementById(\'suivant\').focus();return false;']);
27
+    $minipage = new Spip\Afficher\Minipage\Installation();
28
+    echo $minipage->installDebutPage(['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) && $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) && $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 $minipage->installFinPage();
85
+    echo $minipage->installFinPage();
86 86
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
 	$checked = false;
45 45
 	$res = '';
46 46
 	if (is_array($info) && $info['count'] > 0) {
47
-		$res .= '<p>' . _T('info_selection_chemin_acces') . '</p>';
47
+		$res .= '<p>'._T('info_selection_chemin_acces').'</p>';
48 48
 		$res .= '<ul>';
49 49
 		$n = 0;
50 50
 		for ($i = 0; $i < $info['count']; $i++) {
@@ -52,18 +52,18 @@  discard block
 block discarded – undo
52 52
 			if (is_array($names)) {
53 53
 				for ($j = 0; $j < $names['count']; $j++) {
54 54
 					$n++;
55
-					$res .= '<li><input name="base_ldap" value="' . spip_htmlspecialchars($names[$j]) . "\" type='radio' id='tab$n'";
55
+					$res .= '<li><input name="base_ldap" value="'.spip_htmlspecialchars($names[$j])."\" type='radio' id='tab$n'";
56 56
 					if (!$checked) {
57 57
 						$res .= ' checked="checked"';
58 58
 						$checked = true;
59 59
 					}
60 60
 					$res .= ' />';
61
-					$res .= "<label for='tab$n'>" . spip_htmlspecialchars($names[$j]) . "</label></li>\n";
61
+					$res .= "<label for='tab$n'>".spip_htmlspecialchars($names[$j])."</label></li>\n";
62 62
 				}
63 63
 			}
64 64
 		}
65 65
 		$res .= '</ul>';
66
-		$res .= _T('info_ou') . ' ';
66
+		$res .= _T('info_ou').' ';
67 67
 	}
68 68
 	$res .= "<br />\n<input name=\"base_ldap\" value=\"\" type='radio' id='manuel'";
69 69
 	if (!$checked) {
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
 	}
73 73
 
74 74
 	$res .= ' />'
75
-		. "\n<label for='manuel'>" . _T('entree_chemin_acces') . '</label> '
75
+		. "\n<label for='manuel'>"._T('entree_chemin_acces').'</label> '
76 76
 		. "\n<fieldset>"
77 77
 		. "<input type='text' name='base_ldap_text' class='text' value=\"$base_ldap_text\" size='40' />"
78 78
 		. "\n</fieldset>"
Please login to merge, or discard this patch.
ecrire/install/etape_ldap4.php 2 patches
Indentation   +81 added lines, -81 removed lines patch added patch discarded remove patch
@@ -10,96 +10,96 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 include_spip('auth/ldap');
17 17
 
18 18
 function install_etape_ldap4_dist() {
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
-	$base_ldap = _request('base_ldap');
24
-	$base_ldap_text = _request('base_ldap_text');
25
-	if (!$base_ldap) {
26
-		$base_ldap = $base_ldap_text;
27
-	}
28
-
29
-	$minipage = new Spip\Afficher\Minipage\Installation();
30
-	echo $minipage->installDebutPage(['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 $minipage->installFinPage();
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
+    $base_ldap = _request('base_ldap');
24
+    $base_ldap_text = _request('base_ldap_text');
25
+    if (!$base_ldap) {
26
+        $base_ldap = $base_ldap_text;
27
+    }
28
+
29
+    $minipage = new Spip\Afficher\Minipage\Installation();
30
+    echo $minipage->installDebutPage(['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 $minipage->installFinPage();
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) ? implode(',', $v) : (string) $v;
98
-		$champs[$nom] = [
99
-			'label' => _T('ldap_correspondance', ['champ' => "<tt>$champ</tt>"]) . '<br />',
100
-			'valeur' => $val
101
-		];
102
-	}
103
-
104
-	return $champs ? 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) ? implode(',', $v) : (string) $v;
98
+        $champs[$nom] = [
99
+            'label' => _T('ldap_correspondance', ['champ' => "<tt>$champ</tt>"]) . '<br />',
100
+            'valeur' => $val
101
+        ];
102
+    }
103
+
104
+    return $champs ? fieldset(_T('ldap_correspondance_1'), $champs, '', _T('ldap_correspondance_2') . '<br /><br />') : '';
105 105
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -39,8 +39,8 @@  discard block
 block discarded – undo
39 39
 	if ($fail) {
40 40
 		echo info_etape(_T('info_chemin_acces_annuaire')),
41 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>';
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 44
 	} else {
45 45
 		info_etape(_T('info_reglage_ldap'));
46 46
 		echo info_progression_etape(4, 'etape_ldap', 'install/');
@@ -53,12 +53,12 @@  discard block
 block discarded – undo
53 53
 
54 54
 		$res = install_propager(['adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap'])
55 55
 			. "<input type='hidden' name='etape' value='ldap5' />"
56
-			. "<input type='hidden' name='base_ldap' value='" . spip_htmlentities($base_ldap) . "' />"
56
+			. "<input type='hidden' name='base_ldap' value='".spip_htmlentities($base_ldap)."' />"
57 57
 			. fieldset(
58 58
 				_T('info_statut_utilisateurs_1'),
59 59
 				[
60 60
 					'statut_ldap' => [
61
-						'label' => _T('info_statut_utilisateurs_2') . '<br />',
61
+						'label' => _T('info_statut_utilisateurs_2').'<br />',
62 62
 						'valeur' => $statut_ldap,
63 63
 						'alternatives' => $statuts
64 64
 					]
@@ -75,9 +75,9 @@  discard block
 block discarded – undo
75 75
 
76 76
 function liste_statuts_ldap() {
77 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 />')
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 81
 	];
82 82
 
83 83
 	$res = [];
@@ -93,13 +93,13 @@  discard block
 block discarded – undo
93 93
 function install_ldap_correspondances() {
94 94
 	$champs = [];
95 95
 	foreach (is_array($GLOBALS['ldap_attributes']) ? $GLOBALS['ldap_attributes'] : [] as $champ => $v) {
96
-		$nom = 'ldap_' . $champ;
96
+		$nom = 'ldap_'.$champ;
97 97
 		$val = is_array($v) ? implode(',', $v) : (string) $v;
98 98
 		$champs[$nom] = [
99
-			'label' => _T('ldap_correspondance', ['champ' => "<tt>$champ</tt>"]) . '<br />',
99
+			'label' => _T('ldap_correspondance', ['champ' => "<tt>$champ</tt>"]).'<br />',
100 100
 			'valeur' => $val
101 101
 		];
102 102
 	}
103 103
 
104
-	return $champs ? fieldset(_T('ldap_correspondance_1'), $champs, '', _T('ldap_correspondance_2') . '<br /><br />') : '';
104
+	return $champs ? fieldset(_T('ldap_correspondance_1'), $champs, '', _T('ldap_correspondance_2').'<br /><br />') : '';
105 105
 }
Please login to merge, or discard this patch.
ecrire/install/etape_2.php 2 patches
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
 	$GLOBALS['connexions'][$server_db] = $link;
49 49
 
50 50
 	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
51
-		= $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
51
+		= $GLOBALS['spip_'.$server_db.'_functions_'.$GLOBALS['spip_sql_version']];
52 52
 
53 53
 	$minipage = new Spip\Afficher\Minipage\Installation();
54 54
 	echo $minipage->installDebutPage();
@@ -68,18 +68,18 @@  discard block
 block discarded – undo
68 68
 	//echo "\n-->\n";
69 69
 
70 70
 	if (($db_connect == '0') && $link) {
71
-		echo "<div class='success'><b>" . _T('info_connexion_ok') . '</b></div>';
71
+		echo "<div class='success'><b>"._T('info_connexion_ok').'</b></div>';
72 72
 		echo info_progression_etape(2, 'etape_', 'install/');
73 73
 
74
-		echo info_etape(_T('menu_aide_installation_choix_base') . aider('install2', true));
74
+		echo info_etape(_T('menu_aide_installation_choix_base').aider('install2', true));
75 75
 
76 76
 		echo "\n", '<!-- ', sql_version($server_db), ' -->';
77 77
 		[$checked, $res] = install_etape_2_bases($login_db, $server_db);
78 78
 
79 79
 		$hidden = (defined('_SPIP_CHMOD')
80 80
 				? ''
81
-				: ("\n<input type='hidden' name='chmod' value='" . spip_htmlspecialchars($chmod) . "' />"))
82
-			. predef_ou_cache($adresse_db . ($port ? ':' . $port : ''), $login_db, $pass_db, $server_db);
81
+				: ("\n<input type='hidden' name='chmod' value='".spip_htmlspecialchars($chmod)."' />"))
82
+			. predef_ou_cache($adresse_db.($port ? ':'.$port : ''), $login_db, $pass_db, $server_db);
83 83
 
84 84
 		echo install_etape_2_form($hidden, $checked, $res, 3);
85 85
 	} else {
@@ -87,8 +87,8 @@  discard block
 block discarded – undo
87 87
 
88 88
 		echo "<div class='error'>";
89 89
 		echo info_etape(_T('info_connexion_base'));
90
-		echo '<h3>' . _T('avis_connexion_echec_1') . '</h3>';
91
-		echo '<p>' . _T('avis_connexion_echec_2') . '</p>';
90
+		echo '<h3>'._T('avis_connexion_echec_1').'</h3>';
91
+		echo '<p>'._T('avis_connexion_echec_2').'</p>';
92 92
 
93 93
 		echo "<p style='font-size: small;'>",
94 94
 		_T('avis_connexion_echec_3'),
@@ -120,8 +120,8 @@  discard block
 block discarded – undo
120 120
 			. ' '
121 121
 		];
122 122
 	}
123
-	$res = '<b>' . _T('avis_lecture_noms_bases_1') . '</b>
124
-		' . _T('avis_lecture_noms_bases_2') . '<p>';
123
+	$res = '<b>'._T('avis_lecture_noms_bases_1').'</b>
124
+		' . _T('avis_lecture_noms_bases_2').'<p>';
125 125
 
126 126
 	$checked = false;
127 127
 	if ($login_db) {
@@ -138,10 +138,10 @@  discard block
 block discarded – undo
138 138
 		if ($ok) {
139 139
 			$res .= _T('avis_lecture_noms_bases_3')
140 140
 				. '<ul>'
141
-				. '<li><input name="choix_db" value="' . $test_base . "\" type='radio' id='stand' checked='checked' />"
142
-				. "<label for='stand'>" . $test_base . "</label></li>\n"
141
+				. '<li><input name="choix_db" value="'.$test_base."\" type='radio' id='stand' checked='checked' />"
142
+				. "<label for='stand'>".$test_base."</label></li>\n"
143 143
 				. '</ul>'
144
-				. '<p>' . _T('info_ou') . ' ';
144
+				. '<p>'._T('info_ou').' ';
145 145
 			$checked = true;
146 146
 		}
147 147
 	}
@@ -154,19 +154,19 @@  discard block
 block discarded – undo
154 154
 		"\n<input type='hidden' name='etape' value='$etape' />"
155 155
 		. $hidden
156 156
 		. (defined('_INSTALL_NAME_DB')
157
-			? '<h3>' . _T('install_nom_base_hebergeur') . ' <tt>' . _INSTALL_NAME_DB . '</tt>' . '</h3>'
158
-			: "\n<fieldset><legend>" . _T('texte_choix_base_1') . "</legend>\n"
157
+			? '<h3>'._T('install_nom_base_hebergeur').' <tt>'._INSTALL_NAME_DB.'</tt>'.'</h3>'
158
+			: "\n<fieldset><legend>"._T('texte_choix_base_1')."</legend>\n"
159 159
 			. $res
160 160
 			. "\n<input name=\"choix_db\" value=\"new_spip\" type='radio' id='nou'"
161 161
 			. ($checked ? '' : " checked='checked'")
162
-			. " />\n<label for='nou'>" . _T('info_creer_base') . "</label></p>\n<p>"
162
+			. " />\n<label for='nou'>"._T('info_creer_base')."</label></p>\n<p>"
163 163
 			. "\n<input type='text' name='table_new' class='text' value=\"spip\" size='20' /></p></fieldset>\n"
164 164
 		)
165 165
 
166 166
 		. ((defined('_INSTALL_TABLE_PREFIX') || $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>'
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 170
 			. "\n<input type='text' id='tprefix' name='tprefix' class='text' value='"
171 171
 			. 'spip' # valeur par defaut
172 172
 			. "' size='20' /></p></fieldset>"
Please login to merge, or discard this patch.
Indentation   +121 added lines, -121 removed lines patch added patch discarded remove patch
@@ -10,167 +10,167 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 include_spip('base/abstract_sql');
17 17
 
18 18
 function install_etape_2_dist() {
19
-	$adresse_db = defined('_INSTALL_HOST_DB')
20
-		? _INSTALL_HOST_DB
21
-		: _request('adresse_db');
19
+    $adresse_db = defined('_INSTALL_HOST_DB')
20
+        ? _INSTALL_HOST_DB
21
+        : _request('adresse_db');
22 22
 
23
-	if (preg_match(',(.*):(.*),', (string) $adresse_db, $r)) {
24
-		[, $adresse_db, $port] = $r;
25
-	} else {
26
-		$port = '';
27
-	}
23
+    if (preg_match(',(.*):(.*),', (string) $adresse_db, $r)) {
24
+        [, $adresse_db, $port] = $r;
25
+    } else {
26
+        $port = '';
27
+    }
28 28
 
29
-	$login_db = defined('_INSTALL_USER_DB')
30
-		? _INSTALL_USER_DB
31
-		: _request('login_db');
29
+    $login_db = defined('_INSTALL_USER_DB')
30
+        ? _INSTALL_USER_DB
31
+        : _request('login_db');
32 32
 
33
-	$pass_db = defined('_INSTALL_PASS_DB')
34
-		? _INSTALL_PASS_DB
35
-		: _request('pass_db');
33
+    $pass_db = defined('_INSTALL_PASS_DB')
34
+        ? _INSTALL_PASS_DB
35
+        : _request('pass_db');
36 36
 
37
-	$server_db = defined('_INSTALL_SERVER_DB')
38
-		? _INSTALL_SERVER_DB
39
-		: _request('server_db');
37
+    $server_db = defined('_INSTALL_SERVER_DB')
38
+        ? _INSTALL_SERVER_DB
39
+        : _request('server_db');
40 40
 
41
-	$name_db = defined('_INSTALL_NAME_DB')
42
-		? _INSTALL_NAME_DB
43
-		: '';
41
+    $name_db = defined('_INSTALL_NAME_DB')
42
+        ? _INSTALL_NAME_DB
43
+        : '';
44 44
 
45
-	$chmod = _request('chmod');
45
+    $chmod = _request('chmod');
46 46
 
47
-	$link = spip_connect_db($adresse_db, $port, $login_db, $pass_db, $name_db, $server_db);
48
-	$GLOBALS['connexions'][$server_db] = $link;
47
+    $link = spip_connect_db($adresse_db, $port, $login_db, $pass_db, $name_db, $server_db);
48
+    $GLOBALS['connexions'][$server_db] = $link;
49 49
 
50
-	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
51
-		= $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
50
+    $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
51
+        = $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
52 52
 
53
-	$minipage = new Spip\Afficher\Minipage\Installation();
54
-	echo $minipage->installDebutPage();
53
+    $minipage = new Spip\Afficher\Minipage\Installation();
54
+    echo $minipage->installDebutPage();
55 55
 
56 56
 
57 57
 // prenons toutes les dispositions possibles pour que rien ne s'affiche !
58 58
 
59
-	/*
59
+    /*
60 60
 	 * /!\ sqlite3/PDO : erreur sur join(', ', $link)
61 61
 	 * L'objet PDO ne peut pas etre transformee en chaine
62 62
 	 * Un echo $link ne fonctionne pas non plus
63 63
 	 * Il faut utiliser par exemple print_r($link)
64 64
 	 */
65
-	//echo "\n<!--\n", join(', ', $link), " $login_db ";
66
-	$db_connect = 0; // revoirfunction_exists($ferrno) ? $ferrno() : 0;
67
-	//echo join(', ', $GLOBALS['connexions'][$server_db]);
68
-	//echo "\n-->\n";
65
+    //echo "\n<!--\n", join(', ', $link), " $login_db ";
66
+    $db_connect = 0; // revoirfunction_exists($ferrno) ? $ferrno() : 0;
67
+    //echo join(', ', $GLOBALS['connexions'][$server_db]);
68
+    //echo "\n-->\n";
69 69
 
70
-	if (($db_connect == '0') && $link) {
71
-		echo "<div class='success'><b>" . _T('info_connexion_ok') . '</b></div>';
72
-		echo info_progression_etape(2, 'etape_', 'install/');
70
+    if (($db_connect == '0') && $link) {
71
+        echo "<div class='success'><b>" . _T('info_connexion_ok') . '</b></div>';
72
+        echo info_progression_etape(2, 'etape_', 'install/');
73 73
 
74
-		echo info_etape(_T('menu_aide_installation_choix_base') . aider('install2', true));
74
+        echo info_etape(_T('menu_aide_installation_choix_base') . aider('install2', true));
75 75
 
76
-		echo "\n", '<!-- ', sql_version($server_db), ' -->';
77
-		[$checked, $res] = install_etape_2_bases($login_db, $server_db);
76
+        echo "\n", '<!-- ', sql_version($server_db), ' -->';
77
+        [$checked, $res] = install_etape_2_bases($login_db, $server_db);
78 78
 
79
-		$hidden = (defined('_SPIP_CHMOD')
80
-				? ''
81
-				: ("\n<input type='hidden' name='chmod' value='" . spip_htmlspecialchars($chmod) . "' />"))
82
-			. predef_ou_cache($adresse_db . ($port ? ':' . $port : ''), $login_db, $pass_db, $server_db);
79
+        $hidden = (defined('_SPIP_CHMOD')
80
+                ? ''
81
+                : ("\n<input type='hidden' name='chmod' value='" . spip_htmlspecialchars($chmod) . "' />"))
82
+            . predef_ou_cache($adresse_db . ($port ? ':' . $port : ''), $login_db, $pass_db, $server_db);
83 83
 
84
-		echo install_etape_2_form($hidden, $checked, $res, 3);
85
-	} else {
86
-		echo info_progression_etape(1, 'etape_', 'install/', true);
84
+        echo install_etape_2_form($hidden, $checked, $res, 3);
85
+    } else {
86
+        echo info_progression_etape(1, 'etape_', 'install/', true);
87 87
 
88
-		echo "<div class='error'>";
89
-		echo info_etape(_T('info_connexion_base'));
90
-		echo '<h3>' . _T('avis_connexion_echec_1') . '</h3>';
91
-		echo '<p>' . _T('avis_connexion_echec_2') . '</p>';
88
+        echo "<div class='error'>";
89
+        echo info_etape(_T('info_connexion_base'));
90
+        echo '<h3>' . _T('avis_connexion_echec_1') . '</h3>';
91
+        echo '<p>' . _T('avis_connexion_echec_2') . '</p>';
92 92
 
93
-		echo "<p style='font-size: small;'>",
94
-		_T('avis_connexion_echec_3'),
95
-		'</p></div>';
96
-	}
93
+        echo "<p style='font-size: small;'>",
94
+        _T('avis_connexion_echec_3'),
95
+        '</p></div>';
96
+    }
97 97
 
98
-	echo $minipage->installFinPage();
98
+    echo $minipage->installFinPage();
99 99
 }
100 100
 
101 101
 // Liste les bases accessibles,
102 102
 // avec une heuristique pour preselectionner la plus probable
103 103
 
104 104
 function install_etape_2_bases($login_db, $server_db) {
105
-	$res = install_etape_liste_bases($server_db, $login_db);
106
-	if ($res) {
107
-		[$checked, $bases] = $res;
108
-
109
-		return [
110
-			$checked,
111
-			"<label for='choix_db'><b>"
112
-			. _T('texte_choix_base_2')
113
-			. '</b><br />'
114
-			. _T('texte_choix_base_3')
115
-			. '</label>'
116
-			. "<ul>\n<li>"
117
-			. implode("</li>\n<li>", $bases)
118
-			. "</li>\n</ul><p>"
119
-			. _T('info_ou')
120
-			. ' '
121
-		];
122
-	}
123
-	$res = '<b>' . _T('avis_lecture_noms_bases_1') . '</b>
105
+    $res = install_etape_liste_bases($server_db, $login_db);
106
+    if ($res) {
107
+        [$checked, $bases] = $res;
108
+
109
+        return [
110
+            $checked,
111
+            "<label for='choix_db'><b>"
112
+            . _T('texte_choix_base_2')
113
+            . '</b><br />'
114
+            . _T('texte_choix_base_3')
115
+            . '</label>'
116
+            . "<ul>\n<li>"
117
+            . implode("</li>\n<li>", $bases)
118
+            . "</li>\n</ul><p>"
119
+            . _T('info_ou')
120
+            . ' '
121
+        ];
122
+    }
123
+    $res = '<b>' . _T('avis_lecture_noms_bases_1') . '</b>
124 124
 		' . _T('avis_lecture_noms_bases_2') . '<p>';
125 125
 
126
-	$checked = false;
127
-	if ($login_db) {
128
-		// Si un login comporte un point, le nom de la base est plus
129
-		// probablement le login sans le point -- testons pour savoir
130
-		$test_base = $login_db;
131
-		$ok = sql_selectdb($test_base, $server_db);
132
-		$test_base2 = str_replace('.', '_', (string) $test_base);
133
-		if (sql_selectdb($test_base2, $server_db)) {
134
-			$test_base = $test_base2;
135
-			$ok = true;
136
-		}
137
-
138
-		if ($ok) {
139
-			$res .= _T('avis_lecture_noms_bases_3')
140
-				. '<ul>'
141
-				. '<li><input name="choix_db" value="' . $test_base . "\" type='radio' id='stand' checked='checked' />"
142
-				. "<label for='stand'>" . $test_base . "</label></li>\n"
143
-				. '</ul>'
144
-				. '<p>' . _T('info_ou') . ' ';
145
-			$checked = true;
146
-		}
147
-	}
148
-
149
-	return [$checked, $res];
126
+    $checked = false;
127
+    if ($login_db) {
128
+        // Si un login comporte un point, le nom de la base est plus
129
+        // probablement le login sans le point -- testons pour savoir
130
+        $test_base = $login_db;
131
+        $ok = sql_selectdb($test_base, $server_db);
132
+        $test_base2 = str_replace('.', '_', (string) $test_base);
133
+        if (sql_selectdb($test_base2, $server_db)) {
134
+            $test_base = $test_base2;
135
+            $ok = true;
136
+        }
137
+
138
+        if ($ok) {
139
+            $res .= _T('avis_lecture_noms_bases_3')
140
+                . '<ul>'
141
+                . '<li><input name="choix_db" value="' . $test_base . "\" type='radio' id='stand' checked='checked' />"
142
+                . "<label for='stand'>" . $test_base . "</label></li>\n"
143
+                . '</ul>'
144
+                . '<p>' . _T('info_ou') . ' ';
145
+            $checked = true;
146
+        }
147
+    }
148
+
149
+    return [$checked, $res];
150 150
 }
151 151
 
152 152
 function install_etape_2_form($hidden, $checked, $res, $etape) {
153
-	return generer_form_ecrire('install', (
154
-		"\n<input type='hidden' name='etape' value='$etape' />"
155
-		. $hidden
156
-		. (defined('_INSTALL_NAME_DB')
157
-			? '<h3>' . _T('install_nom_base_hebergeur') . ' <tt>' . _INSTALL_NAME_DB . '</tt>' . '</h3>'
158
-			: "\n<fieldset><legend>" . _T('texte_choix_base_1') . "</legend>\n"
159
-			. $res
160
-			. "\n<input name=\"choix_db\" value=\"new_spip\" type='radio' id='nou'"
161
-			. ($checked ? '' : " checked='checked'")
162
-			. " />\n<label for='nou'>" . _T('info_creer_base') . "</label></p>\n<p>"
163
-			. "\n<input type='text' name='table_new' class='text' value=\"spip\" size='20' /></p></fieldset>\n"
164
-		)
165
-
166
-		. ((defined('_INSTALL_TABLE_PREFIX') || $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()));
153
+    return generer_form_ecrire('install', (
154
+        "\n<input type='hidden' name='etape' value='$etape' />"
155
+        . $hidden
156
+        . (defined('_INSTALL_NAME_DB')
157
+            ? '<h3>' . _T('install_nom_base_hebergeur') . ' <tt>' . _INSTALL_NAME_DB . '</tt>' . '</h3>'
158
+            : "\n<fieldset><legend>" . _T('texte_choix_base_1') . "</legend>\n"
159
+            . $res
160
+            . "\n<input name=\"choix_db\" value=\"new_spip\" type='radio' id='nou'"
161
+            . ($checked ? '' : " checked='checked'")
162
+            . " />\n<label for='nou'>" . _T('info_creer_base') . "</label></p>\n<p>"
163
+            . "\n<input type='text' name='table_new' class='text' value=\"spip\" size='20' /></p></fieldset>\n"
164
+        )
165
+
166
+        . ((defined('_INSTALL_TABLE_PREFIX') || $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.
ecrire/install/etape_3.php 2 patches
Spacing   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
 		= spip_connect_db($adresse_db, $port, $login_db, $pass_db, '', $server_db);
44 44
 
45 45
 	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
46
-		= $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
46
+		= $GLOBALS['spip_'.$server_db.'_functions_'.$GLOBALS['spip_sql_version']];
47 47
 
48 48
 	$fquery = sql_serveur('query', $server_db);
49 49
 	if ($choix_db == 'new_spip') {
@@ -53,13 +53,13 @@  discard block
 block discarded – undo
53 53
 			if (!$ok) {
54 54
 				$re = "Impossible de creer la base $re";
55 55
 				spip_log($re);
56
-				return '<p>' . _T('avis_connexion_erreur_creer_base') . "</p><!--\n$re\n-->";
56
+				return '<p>'._T('avis_connexion_erreur_creer_base')."</p><!--\n$re\n-->";
57 57
 			}
58 58
 		} else {
59 59
 			$re = "Le nom de la base doit correspondre a $re";
60 60
 			spip_log($re);
61 61
 
62
-			return '<p>' . _T('avis_connexion_erreur_nom_base') . "</p><!--\n$re\n-->";
62
+			return '<p>'._T('avis_connexion_erreur_nom_base')."</p><!--\n$re\n-->";
63 63
 		}
64 64
 	}
65 65
 
@@ -70,14 +70,14 @@  discard block
 block discarded – undo
70 70
 		= spip_connect_db($adresse_db, $port, $login_db, $pass_db, $sel_db, $server_db);
71 71
 
72 72
 	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
73
-		= $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
73
+		= $GLOBALS['spip_'.$server_db.'_functions_'.$GLOBALS['spip_sql_version']];
74 74
 
75 75
 	// Completer le tableau decrivant la connexion
76 76
 
77 77
 	$GLOBALS['connexions'][$server_db]['prefixe'] = $table_prefix;
78 78
 	$GLOBALS['connexions'][$server_db]['db'] = $sel_db;
79 79
 
80
-	$old = sql_showbase($table_prefix . '_meta', $server_db);
80
+	$old = sql_showbase($table_prefix.'_meta', $server_db);
81 81
 	if ($old) {
82 82
 		$old = sql_fetch($old, $server_db);
83 83
 	}
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
 				$charset['charset'];
97 97
 			$charsetbase = $charset['charset'];
98 98
 		} else {
99
-			spip_log(_DEFAULT_CHARSET . ' inconnu du serveur SQL');
99
+			spip_log(_DEFAULT_CHARSET.' inconnu du serveur SQL');
100 100
 			$charsetbase = 'standard';
101 101
 		}
102 102
 		spip_log("Creation des tables. Codage $charsetbase");
@@ -146,7 +146,7 @@  discard block
 block discarded – undo
146 146
 		if ($r) {
147 147
 			$r = sql_fetch($r, $server_db);
148 148
 		}
149
-		$version_installee = $r ? (double)$r['valeur'] : 0;
149
+		$version_installee = $r ? (double) $r['valeur'] : 0;
150 150
 		if (!$version_installee || $GLOBALS['spip_version_base'] < $version_installee) {
151 151
 			$fupdateq(
152 152
 				'spip_meta',
@@ -155,7 +155,7 @@  discard block
 block discarded – undo
155 155
 				'',
156 156
 				$server_db
157 157
 			);
158
-			spip_log('nouvelle version installee: ' . $GLOBALS['spip_version_base']);
158
+			spip_log('nouvelle version installee: '.$GLOBALS['spip_version_base']);
159 159
 		}
160 160
 		// eliminer la derniere operation d'admin mal terminee
161 161
 		// notamment la mise a jour
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
 	if ($chmod_db) {
183 183
 		install_fichier_connexion(
184 184
 			_FILE_CHMOD_TMP,
185
-			"if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', " . sprintf('0%3o', $chmod_db) . ");\n"
185
+			"if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', ".sprintf('0%3o', $chmod_db).");\n"
186 186
 		);
187 187
 	}
188 188
 
@@ -245,16 +245,16 @@  discard block
 block discarded – undo
245 245
 
246 246
 
247 247
 function install_premier_auteur($email, $login, $nom, #[\SensitiveParameter] $pass, $hidden, $auteur_obligatoire) {
248
-	return info_progression_etape(3, 'etape_', 'install/') .
248
+	return info_progression_etape(3, 'etape_', 'install/').
249 249
 	info_etape(
250 250
 		_T('info_informations_personnelles'),
251
-		'<b>' . _T('texte_informations_personnelles_1') . '</b>' .
252
-		aider('install5', true) .
253
-		'<p>' .
251
+		'<b>'._T('texte_informations_personnelles_1').'</b>'.
252
+		aider('install5', true).
253
+		'<p>'.
254 254
 		($auteur_obligatoire ?
255 255
 			''
256 256
 			:
257
-			_T('texte_informations_personnelles_2') . ' ' . _T('info_laisser_champs_vides')
257
+			_T('texte_informations_personnelles_2').' '._T('info_laisser_champs_vides')
258 258
 		)
259 259
 	)
260 260
 	. generer_form_ecrire('install', (
@@ -264,12 +264,12 @@  discard block
 block discarded – undo
264 264
 			_T('info_identification_publique'),
265 265
 			[
266 266
 				'nom' => [
267
-					'label' => '<b>' . _T('entree_signature') . "</b><br />\n" . _T('entree_nom_pseudo_1') . "\n",
267
+					'label' => '<b>'._T('entree_signature')."</b><br />\n"._T('entree_nom_pseudo_1')."\n",
268 268
 					'valeur' => $nom,
269 269
 					'required' => $auteur_obligatoire,
270 270
 				],
271 271
 				'email' => [
272
-					'label' => '<b>' . _T('entree_adresse_email') . "</b>\n",
272
+					'label' => '<b>'._T('entree_adresse_email')."</b>\n",
273 273
 					'valeur' => $email,
274 274
 				]
275 275
 			]
@@ -279,23 +279,23 @@  discard block
 block discarded – undo
279 279
 			_T('entree_identifiants_connexion'),
280 280
 			[
281 281
 				'login' => [
282
-					'label' => '<b>' . _T('entree_login') . "</b><br />\n" . _T(
282
+					'label' => '<b>'._T('entree_login')."</b><br />\n"._T(
283 283
 						'info_login_trop_court_car_pluriel',
284 284
 						['nb' => _LOGIN_TROP_COURT]
285
-					) . "\n",
285
+					)."\n",
286 286
 					'valeur' => $login,
287 287
 					'required' => $auteur_obligatoire,
288 288
 				],
289 289
 				'pass' => [
290
-					'label' => '<b>' . _T('entree_mot_passe') . "</b><br />\n" . _T(
290
+					'label' => '<b>'._T('entree_mot_passe')."</b><br />\n"._T(
291 291
 						'info_passe_trop_court_car_pluriel',
292 292
 						['nb' => _PASS_LONGUEUR_MINI]
293
-					) . "\n",
293
+					)."\n",
294 294
 					'valeur' => $pass,
295 295
 					'required' => $auteur_obligatoire,
296 296
 				],
297 297
 				'pass_verif' => [
298
-					'label' => '<b>' . _T('info_confirmer_passe') . "</b><br />\n",
298
+					'label' => '<b>'._T('info_confirmer_passe')."</b><br />\n",
299 299
 					'valeur' => $pass,
300 300
 					'required' => $auteur_obligatoire,
301 301
 				]
@@ -339,9 +339,9 @@  discard block
 block discarded – undo
339 339
 
340 340
 		if ($res) {
341 341
 			$res = info_progression_etape(2, 'etape_', 'install/', true)
342
-				. "<div class='error'><h3>" . _T('avis_operation_echec') . '</h3>'
342
+				. "<div class='error'><h3>"._T('avis_operation_echec').'</h3>'
343 343
 				. $res
344
-				. '<p>' . _T('texte_operation_echec') . '</p>'
344
+				. '<p>'._T('texte_operation_echec').'</p>'
345 345
 				. '</div>';
346 346
 		}
347 347
 	} else {
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
 
366 366
 		$hidden = predef_ou_cache($adresse_db, $login_db, $pass_db, $server_db)
367 367
 			. (defined('_INSTALL_NAME_DB') ? ''
368
-				: "\n<input type='hidden' name='sel_db' value=\"" . spip_htmlspecialchars($sel_db) . '" />');
368
+				: "\n<input type='hidden' name='sel_db' value=\"".spip_htmlspecialchars($sel_db).'" />');
369 369
 
370 370
 		$auteur_obligatoire = ($ldap_present ? 0 : !sql_countsel('spip_auteurs', '', '', '', $server_db));
371 371
 
Please login to merge, or discard this patch.
Indentation   +346 added lines, -346 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 include_spip('inc/headers');
@@ -18,199 +18,199 @@  discard block
 block discarded – undo
18 18
 
19 19
 function install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, $sel_db, $chmod_db) {
20 20
 
21
-	// Prefix des tables :
22
-	// S'il n'est pas defini par mes_options/inc/mutualiser, on va le creer
23
-	// a partir de ce qui est envoye a l'installation
24
-	if (!defined('_INSTALL_TABLE_PREFIX')) {
25
-		$table_prefix = ($GLOBALS['table_prefix'] != 'spip')
26
-			? $GLOBALS['table_prefix']
27
-			: preparer_prefixe_tables(_request('tprefix'));
28
-		// S'il est vide on remet spip
29
-		if (!$table_prefix) {
30
-			$table_prefix = 'spip';
31
-		}
32
-	} else {
33
-		$table_prefix = _INSTALL_TABLE_PREFIX;
34
-	}
35
-
36
-	if (preg_match(',(.*):(.*),', (string) $adresse_db, $r)) {
37
-		[, $adresse_db, $port] = $r;
38
-	} else {
39
-		$port = '';
40
-	}
41
-
42
-	$GLOBALS['connexions'][$server_db]
43
-		= spip_connect_db($adresse_db, $port, $login_db, $pass_db, '', $server_db);
44
-
45
-	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
46
-		= $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
47
-
48
-	$fquery = sql_serveur('query', $server_db);
49
-	if ($choix_db == 'new_spip') {
50
-		$re = ',^[a-z_][a-z_0-9-]*$,i';
51
-		if (preg_match($re, (string) $sel_db)) {
52
-			$ok = sql_create_base($sel_db, $server_db);
53
-			if (!$ok) {
54
-				$re = "Impossible de creer la base $re";
55
-				spip_log($re);
56
-				return '<p>' . _T('avis_connexion_erreur_creer_base') . "</p><!--\n$re\n-->";
57
-			}
58
-		} else {
59
-			$re = "Le nom de la base doit correspondre a $re";
60
-			spip_log($re);
61
-
62
-			return '<p>' . _T('avis_connexion_erreur_nom_base') . "</p><!--\n$re\n-->";
63
-		}
64
-	}
65
-
66
-	// on rejoue la connexion apres avoir teste si il faut lui indiquer
67
-	// un sql_mode
68
-	install_mode_appel($server_db, false);
69
-	$GLOBALS['connexions'][$server_db]
70
-		= spip_connect_db($adresse_db, $port, $login_db, $pass_db, $sel_db, $server_db);
71
-
72
-	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
73
-		= $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
74
-
75
-	// Completer le tableau decrivant la connexion
76
-
77
-	$GLOBALS['connexions'][$server_db]['prefixe'] = $table_prefix;
78
-	$GLOBALS['connexions'][$server_db]['db'] = $sel_db;
79
-
80
-	$old = sql_showbase($table_prefix . '_meta', $server_db);
81
-	if ($old) {
82
-		$old = sql_fetch($old, $server_db);
83
-	}
84
-	if (!$old) {
85
-		// Si possible, demander au serveur d'envoyer les textes
86
-		// dans le codage std de SPIP,
87
-		$charset = sql_get_charset(_DEFAULT_CHARSET, $server_db);
88
-
89
-		if ($charset) {
90
-			sql_set_charset($charset['charset'], $server_db);
91
-			$GLOBALS['meta']['charset_sql_base'] =
92
-				$charset['charset'];
93
-			$GLOBALS['meta']['charset_collation_sql_base'] =
94
-				$charset['collation'];
95
-			$GLOBALS['meta']['charset_sql_connexion'] =
96
-				$charset['charset'];
97
-			$charsetbase = $charset['charset'];
98
-		} else {
99
-			spip_log(_DEFAULT_CHARSET . ' inconnu du serveur SQL');
100
-			$charsetbase = 'standard';
101
-		}
102
-		spip_log("Creation des tables. Codage $charsetbase");
103
-		creer_base($server_db); // AT LAST
104
-		// memoriser avec quel charset on l'a creee
105
-
106
-		if ($charset) {
107
-			$t = [
108
-				'nom' => 'charset_sql_base',
109
-				'valeur' => $charset['charset'],
110
-				'impt' => 'non'
111
-			];
112
-			@sql_insertq('spip_meta', $t, [], $server_db);
113
-			$t['nom'] = 'charset_collation_sql_base';
114
-			$t['valeur'] = $charset['collation'];
115
-			@sql_insertq('spip_meta', $t, [], $server_db);
116
-			$t['nom'] = 'charset_sql_connexion';
117
-			$t['valeur'] = $charset['charset'];
118
-			@sql_insertq('spip_meta', $t, [], $server_db);
119
-		}
120
-		$t = [
121
-			'nom' => 'version_installee',
122
-			'valeur' => $GLOBALS['spip_version_base'],
123
-			'impt' => 'non'
124
-		];
125
-		@sql_insertq('spip_meta', $t, [], $server_db);
126
-		$t['nom'] = 'nouvelle_install';
127
-		$t['valeur'] = 1;
128
-		@sql_insertq('spip_meta', $t, [], $server_db);
129
-		// positionner la langue par defaut du site si un cookie de lang a ete mis
130
-		if (isset($_COOKIE['spip_lang_ecrire'])) {
131
-			@sql_insertq(
132
-				'spip_meta',
133
-				['nom' => 'langue_site', 'valeur' => $_COOKIE['spip_lang_ecrire']],
134
-				[],
135
-				$server_db
136
-			);
137
-		}
138
-	} else {
139
-		// pour recreer les tables disparues au besoin
140
-		spip_log('Table des Meta deja la. Verification des autres.');
141
-		creer_base($server_db);
142
-		$fupdateq = sql_serveur('updateq', $server_db);
143
-
144
-		$r = $fquery("SELECT valeur FROM spip_meta WHERE nom='version_installee'", $server_db);
145
-
146
-		if ($r) {
147
-			$r = sql_fetch($r, $server_db);
148
-		}
149
-		$version_installee = $r ? (double)$r['valeur'] : 0;
150
-		if (!$version_installee || $GLOBALS['spip_version_base'] < $version_installee) {
151
-			$fupdateq(
152
-				'spip_meta',
153
-				['valeur' => $GLOBALS['spip_version_base'], 'impt' => 'non'],
154
-				"nom='version_installee'",
155
-				'',
156
-				$server_db
157
-			);
158
-			spip_log('nouvelle version installee: ' . $GLOBALS['spip_version_base']);
159
-		}
160
-		// eliminer la derniere operation d'admin mal terminee
161
-		// notamment la mise a jour
162
-		@$fquery("DELETE FROM spip_meta WHERE nom='import_all' OR  nom='admin'", $server_db);
163
-	}
164
-
165
-	// recuperer le charset de la connexion dans les meta
166
-	$charset = '';
167
-	$r = $fquery("SELECT valeur FROM spip_meta WHERE nom='charset_sql_connexion'", $server_db);
168
-	if ($r) {
169
-		$r = sql_fetch($r, $server_db);
170
-	}
171
-	if ($r) {
172
-		$charset = $r['valeur'];
173
-	}
174
-
175
-	$ligne_rappel = install_mode_appel($server_db);
176
-
177
-	$result_ok = @$fquery('SELECT COUNT(*) FROM spip_meta', $server_db);
178
-	if (!$result_ok) {
179
-		return "<!--\nvielle = $old rappel= $ligne_rappel\n-->";
180
-	}
181
-
182
-	if ($chmod_db) {
183
-		install_fichier_connexion(
184
-			_FILE_CHMOD_TMP,
185
-			"if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', " . sprintf('0%3o', $chmod_db) . ");\n"
186
-		);
187
-	}
188
-
189
-	// si ce fichier existe a cette etape c'est qu'il provient
190
-	// d'une installation qui ne l'a pas cree correctement.
191
-	// Le supprimer pour que _FILE_CONNECT_TMP prime.
192
-
193
-	if (_FILE_CONNECT && file_exists(_FILE_CONNECT)) {
194
-		spip_unlink(_FILE_CONNECT);
195
-	}
196
-
197
-	install_fichier_connexion(
198
-		_FILE_CONNECT_TMP,
199
-		$ligne_rappel
200
-		. install_connexion(
201
-			$adresse_db,
202
-			$port,
203
-			$login_db,
204
-			$pass_db,
205
-			$sel_db,
206
-			$server_db,
207
-			$table_prefix,
208
-			'',
209
-			$charset
210
-		)
211
-	);
212
-
213
-	return '';
21
+    // Prefix des tables :
22
+    // S'il n'est pas defini par mes_options/inc/mutualiser, on va le creer
23
+    // a partir de ce qui est envoye a l'installation
24
+    if (!defined('_INSTALL_TABLE_PREFIX')) {
25
+        $table_prefix = ($GLOBALS['table_prefix'] != 'spip')
26
+            ? $GLOBALS['table_prefix']
27
+            : preparer_prefixe_tables(_request('tprefix'));
28
+        // S'il est vide on remet spip
29
+        if (!$table_prefix) {
30
+            $table_prefix = 'spip';
31
+        }
32
+    } else {
33
+        $table_prefix = _INSTALL_TABLE_PREFIX;
34
+    }
35
+
36
+    if (preg_match(',(.*):(.*),', (string) $adresse_db, $r)) {
37
+        [, $adresse_db, $port] = $r;
38
+    } else {
39
+        $port = '';
40
+    }
41
+
42
+    $GLOBALS['connexions'][$server_db]
43
+        = spip_connect_db($adresse_db, $port, $login_db, $pass_db, '', $server_db);
44
+
45
+    $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
46
+        = $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
47
+
48
+    $fquery = sql_serveur('query', $server_db);
49
+    if ($choix_db == 'new_spip') {
50
+        $re = ',^[a-z_][a-z_0-9-]*$,i';
51
+        if (preg_match($re, (string) $sel_db)) {
52
+            $ok = sql_create_base($sel_db, $server_db);
53
+            if (!$ok) {
54
+                $re = "Impossible de creer la base $re";
55
+                spip_log($re);
56
+                return '<p>' . _T('avis_connexion_erreur_creer_base') . "</p><!--\n$re\n-->";
57
+            }
58
+        } else {
59
+            $re = "Le nom de la base doit correspondre a $re";
60
+            spip_log($re);
61
+
62
+            return '<p>' . _T('avis_connexion_erreur_nom_base') . "</p><!--\n$re\n-->";
63
+        }
64
+    }
65
+
66
+    // on rejoue la connexion apres avoir teste si il faut lui indiquer
67
+    // un sql_mode
68
+    install_mode_appel($server_db, false);
69
+    $GLOBALS['connexions'][$server_db]
70
+        = spip_connect_db($adresse_db, $port, $login_db, $pass_db, $sel_db, $server_db);
71
+
72
+    $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
73
+        = $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
74
+
75
+    // Completer le tableau decrivant la connexion
76
+
77
+    $GLOBALS['connexions'][$server_db]['prefixe'] = $table_prefix;
78
+    $GLOBALS['connexions'][$server_db]['db'] = $sel_db;
79
+
80
+    $old = sql_showbase($table_prefix . '_meta', $server_db);
81
+    if ($old) {
82
+        $old = sql_fetch($old, $server_db);
83
+    }
84
+    if (!$old) {
85
+        // Si possible, demander au serveur d'envoyer les textes
86
+        // dans le codage std de SPIP,
87
+        $charset = sql_get_charset(_DEFAULT_CHARSET, $server_db);
88
+
89
+        if ($charset) {
90
+            sql_set_charset($charset['charset'], $server_db);
91
+            $GLOBALS['meta']['charset_sql_base'] =
92
+                $charset['charset'];
93
+            $GLOBALS['meta']['charset_collation_sql_base'] =
94
+                $charset['collation'];
95
+            $GLOBALS['meta']['charset_sql_connexion'] =
96
+                $charset['charset'];
97
+            $charsetbase = $charset['charset'];
98
+        } else {
99
+            spip_log(_DEFAULT_CHARSET . ' inconnu du serveur SQL');
100
+            $charsetbase = 'standard';
101
+        }
102
+        spip_log("Creation des tables. Codage $charsetbase");
103
+        creer_base($server_db); // AT LAST
104
+        // memoriser avec quel charset on l'a creee
105
+
106
+        if ($charset) {
107
+            $t = [
108
+                'nom' => 'charset_sql_base',
109
+                'valeur' => $charset['charset'],
110
+                'impt' => 'non'
111
+            ];
112
+            @sql_insertq('spip_meta', $t, [], $server_db);
113
+            $t['nom'] = 'charset_collation_sql_base';
114
+            $t['valeur'] = $charset['collation'];
115
+            @sql_insertq('spip_meta', $t, [], $server_db);
116
+            $t['nom'] = 'charset_sql_connexion';
117
+            $t['valeur'] = $charset['charset'];
118
+            @sql_insertq('spip_meta', $t, [], $server_db);
119
+        }
120
+        $t = [
121
+            'nom' => 'version_installee',
122
+            'valeur' => $GLOBALS['spip_version_base'],
123
+            'impt' => 'non'
124
+        ];
125
+        @sql_insertq('spip_meta', $t, [], $server_db);
126
+        $t['nom'] = 'nouvelle_install';
127
+        $t['valeur'] = 1;
128
+        @sql_insertq('spip_meta', $t, [], $server_db);
129
+        // positionner la langue par defaut du site si un cookie de lang a ete mis
130
+        if (isset($_COOKIE['spip_lang_ecrire'])) {
131
+            @sql_insertq(
132
+                'spip_meta',
133
+                ['nom' => 'langue_site', 'valeur' => $_COOKIE['spip_lang_ecrire']],
134
+                [],
135
+                $server_db
136
+            );
137
+        }
138
+    } else {
139
+        // pour recreer les tables disparues au besoin
140
+        spip_log('Table des Meta deja la. Verification des autres.');
141
+        creer_base($server_db);
142
+        $fupdateq = sql_serveur('updateq', $server_db);
143
+
144
+        $r = $fquery("SELECT valeur FROM spip_meta WHERE nom='version_installee'", $server_db);
145
+
146
+        if ($r) {
147
+            $r = sql_fetch($r, $server_db);
148
+        }
149
+        $version_installee = $r ? (double)$r['valeur'] : 0;
150
+        if (!$version_installee || $GLOBALS['spip_version_base'] < $version_installee) {
151
+            $fupdateq(
152
+                'spip_meta',
153
+                ['valeur' => $GLOBALS['spip_version_base'], 'impt' => 'non'],
154
+                "nom='version_installee'",
155
+                '',
156
+                $server_db
157
+            );
158
+            spip_log('nouvelle version installee: ' . $GLOBALS['spip_version_base']);
159
+        }
160
+        // eliminer la derniere operation d'admin mal terminee
161
+        // notamment la mise a jour
162
+        @$fquery("DELETE FROM spip_meta WHERE nom='import_all' OR  nom='admin'", $server_db);
163
+    }
164
+
165
+    // recuperer le charset de la connexion dans les meta
166
+    $charset = '';
167
+    $r = $fquery("SELECT valeur FROM spip_meta WHERE nom='charset_sql_connexion'", $server_db);
168
+    if ($r) {
169
+        $r = sql_fetch($r, $server_db);
170
+    }
171
+    if ($r) {
172
+        $charset = $r['valeur'];
173
+    }
174
+
175
+    $ligne_rappel = install_mode_appel($server_db);
176
+
177
+    $result_ok = @$fquery('SELECT COUNT(*) FROM spip_meta', $server_db);
178
+    if (!$result_ok) {
179
+        return "<!--\nvielle = $old rappel= $ligne_rappel\n-->";
180
+    }
181
+
182
+    if ($chmod_db) {
183
+        install_fichier_connexion(
184
+            _FILE_CHMOD_TMP,
185
+            "if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', " . sprintf('0%3o', $chmod_db) . ");\n"
186
+        );
187
+    }
188
+
189
+    // si ce fichier existe a cette etape c'est qu'il provient
190
+    // d'une installation qui ne l'a pas cree correctement.
191
+    // Le supprimer pour que _FILE_CONNECT_TMP prime.
192
+
193
+    if (_FILE_CONNECT && file_exists(_FILE_CONNECT)) {
194
+        spip_unlink(_FILE_CONNECT);
195
+    }
196
+
197
+    install_fichier_connexion(
198
+        _FILE_CONNECT_TMP,
199
+        $ligne_rappel
200
+        . install_connexion(
201
+            $adresse_db,
202
+            $port,
203
+            $login_db,
204
+            $pass_db,
205
+            $sel_db,
206
+            $server_db,
207
+            $table_prefix,
208
+            '',
209
+            $charset
210
+        )
211
+    );
212
+
213
+    return '';
214 214
 }
215 215
 
216 216
 /**
@@ -225,166 +225,166 @@  discard block
 block discarded – undo
225 225
  * @return string Le préfixe corrigé
226 226
  */
227 227
 function preparer_prefixe_tables($prefixe) {
228
-	return trim(preg_replace(',^\d+,', '', preg_replace(',[^a-z0-9],', '', strtolower($prefixe))));
228
+    return trim(preg_replace(',^\d+,', '', preg_replace(',[^a-z0-9],', '', strtolower($prefixe))));
229 229
 }
230 230
 
231 231
 function install_propose_ldap() {
232
-	return generer_form_ecrire('install', (
233
-	fieldset(
234
-		_T('info_authentification_externe'),
235
-		[
236
-			'etape' => [
237
-				'label' => _T('texte_annuaire_ldap_1'),
238
-				'valeur' => 'ldap1',
239
-				'hidden' => true
240
-			]
241
-		],
242
-		bouton_suivant(_T('bouton_acces_ldap'))
243
-	)));
232
+    return generer_form_ecrire('install', (
233
+    fieldset(
234
+        _T('info_authentification_externe'),
235
+        [
236
+            'etape' => [
237
+                'label' => _T('texte_annuaire_ldap_1'),
238
+                'valeur' => 'ldap1',
239
+                'hidden' => true
240
+            ]
241
+        ],
242
+        bouton_suivant(_T('bouton_acces_ldap'))
243
+    )));
244 244
 }
245 245
 
246 246
 
247 247
 function install_premier_auteur($email, $login, $nom, #[\SensitiveParameter] $pass, $hidden, $auteur_obligatoire) {
248
-	return info_progression_etape(3, 'etape_', 'install/') .
249
-	info_etape(
250
-		_T('info_informations_personnelles'),
251
-		'<b>' . _T('texte_informations_personnelles_1') . '</b>' .
252
-		aider('install5', true) .
253
-		'<p>' .
254
-		($auteur_obligatoire ?
255
-			''
256
-			:
257
-			_T('texte_informations_personnelles_2') . ' ' . _T('info_laisser_champs_vides')
258
-		)
259
-	)
260
-	. generer_form_ecrire('install', (
261
-		"\n<input type='hidden' name='etape' value='3b' />"
262
-		. $hidden
263
-		. fieldset(
264
-			_T('info_identification_publique'),
265
-			[
266
-				'nom' => [
267
-					'label' => '<b>' . _T('entree_signature') . "</b><br />\n" . _T('entree_nom_pseudo_1') . "\n",
268
-					'valeur' => $nom,
269
-					'required' => $auteur_obligatoire,
270
-				],
271
-				'email' => [
272
-					'label' => '<b>' . _T('entree_adresse_email') . "</b>\n",
273
-					'valeur' => $email,
274
-				]
275
-			]
276
-		)
277
-
278
-		. fieldset(
279
-			_T('entree_identifiants_connexion'),
280
-			[
281
-				'login' => [
282
-					'label' => '<b>' . _T('entree_login') . "</b><br />\n" . _T(
283
-						'info_login_trop_court_car_pluriel',
284
-						['nb' => _LOGIN_TROP_COURT]
285
-					) . "\n",
286
-					'valeur' => $login,
287
-					'required' => $auteur_obligatoire,
288
-				],
289
-				'pass' => [
290
-					'label' => '<b>' . _T('entree_mot_passe') . "</b><br />\n" . _T(
291
-						'info_passe_trop_court_car_pluriel',
292
-						['nb' => _PASS_LONGUEUR_MINI]
293
-					) . "\n",
294
-					'valeur' => $pass,
295
-					'required' => $auteur_obligatoire,
296
-				],
297
-				'pass_verif' => [
298
-					'label' => '<b>' . _T('info_confirmer_passe') . "</b><br />\n",
299
-					'valeur' => $pass,
300
-					'required' => $auteur_obligatoire,
301
-				]
302
-			]
303
-		)
304
-		. bouton_suivant()));
248
+    return info_progression_etape(3, 'etape_', 'install/') .
249
+    info_etape(
250
+        _T('info_informations_personnelles'),
251
+        '<b>' . _T('texte_informations_personnelles_1') . '</b>' .
252
+        aider('install5', true) .
253
+        '<p>' .
254
+        ($auteur_obligatoire ?
255
+            ''
256
+            :
257
+            _T('texte_informations_personnelles_2') . ' ' . _T('info_laisser_champs_vides')
258
+        )
259
+    )
260
+    . generer_form_ecrire('install', (
261
+        "\n<input type='hidden' name='etape' value='3b' />"
262
+        . $hidden
263
+        . fieldset(
264
+            _T('info_identification_publique'),
265
+            [
266
+                'nom' => [
267
+                    'label' => '<b>' . _T('entree_signature') . "</b><br />\n" . _T('entree_nom_pseudo_1') . "\n",
268
+                    'valeur' => $nom,
269
+                    'required' => $auteur_obligatoire,
270
+                ],
271
+                'email' => [
272
+                    'label' => '<b>' . _T('entree_adresse_email') . "</b>\n",
273
+                    'valeur' => $email,
274
+                ]
275
+            ]
276
+        )
277
+
278
+        . fieldset(
279
+            _T('entree_identifiants_connexion'),
280
+            [
281
+                'login' => [
282
+                    'label' => '<b>' . _T('entree_login') . "</b><br />\n" . _T(
283
+                        'info_login_trop_court_car_pluriel',
284
+                        ['nb' => _LOGIN_TROP_COURT]
285
+                    ) . "\n",
286
+                    'valeur' => $login,
287
+                    'required' => $auteur_obligatoire,
288
+                ],
289
+                'pass' => [
290
+                    'label' => '<b>' . _T('entree_mot_passe') . "</b><br />\n" . _T(
291
+                        'info_passe_trop_court_car_pluriel',
292
+                        ['nb' => _PASS_LONGUEUR_MINI]
293
+                    ) . "\n",
294
+                    'valeur' => $pass,
295
+                    'required' => $auteur_obligatoire,
296
+                ],
297
+                'pass_verif' => [
298
+                    'label' => '<b>' . _T('info_confirmer_passe') . "</b><br />\n",
299
+                    'valeur' => $pass,
300
+                    'required' => $auteur_obligatoire,
301
+                ]
302
+            ]
303
+        )
304
+        . bouton_suivant()));
305 305
 }
306 306
 
307 307
 function install_etape_3_dist() {
308
-	$ldap_present = _request('ldap_present');
309
-
310
-	if (!$ldap_present) {
311
-		$adresse_db = defined('_INSTALL_HOST_DB')
312
-			? _INSTALL_HOST_DB
313
-			: _request('adresse_db');
314
-
315
-		$login_db = defined('_INSTALL_USER_DB')
316
-			? _INSTALL_USER_DB
317
-			: _request('login_db');
318
-
319
-		$pass_db = defined('_INSTALL_PASS_DB')
320
-			? _INSTALL_PASS_DB
321
-			: _request('pass_db');
322
-
323
-		$server_db = defined('_INSTALL_SERVER_DB')
324
-			? _INSTALL_SERVER_DB
325
-			: _request('server_db');
326
-
327
-		$chmod_db = defined('_SPIP_CHMOD')
328
-			? _SPIP_CHMOD
329
-			: _request('chmod');
330
-
331
-		$choix_db = defined('_INSTALL_NAME_DB')
332
-			? _INSTALL_NAME_DB
333
-			: _request('choix_db');
334
-
335
-		$sel_db = ($choix_db == 'new_spip')
336
-			? _request('table_new') : $choix_db;
337
-
338
-		$res = install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, $sel_db, $chmod_db);
339
-
340
-		if ($res) {
341
-			$res = info_progression_etape(2, 'etape_', 'install/', true)
342
-				. "<div class='error'><h3>" . _T('avis_operation_echec') . '</h3>'
343
-				. $res
344
-				. '<p>' . _T('texte_operation_echec') . '</p>'
345
-				. '</div>';
346
-		}
347
-	} else {
348
-		$res = '';
349
-		[$adresse_db, $login_db, $pass_db, $sel_db, $server_db] = analyse_fichier_connection(_FILE_CONNECT_TMP);
350
-		$GLOBALS['connexions'][$server_db] = spip_connect_db($adresse_db, $sel_db, $login_db, $pass_db, $sel_db, $server_db);
351
-	}
352
-
353
-	if (!$res) {
354
-		if (file_exists(_FILE_CONNECT_TMP)) {
355
-			include(_FILE_CONNECT_TMP);
356
-		} else {
357
-			redirige_url_ecrire('install');
358
-		}
359
-
360
-		if (file_exists(_FILE_CHMOD_TMP)) {
361
-			include(_FILE_CHMOD_TMP);
362
-		} else {
363
-			redirige_url_ecrire('install');
364
-		}
365
-
366
-		$hidden = predef_ou_cache($adresse_db, $login_db, $pass_db, $server_db)
367
-			. (defined('_INSTALL_NAME_DB') ? ''
368
-				: "\n<input type='hidden' name='sel_db' value=\"" . spip_htmlspecialchars($sel_db) . '" />');
369
-
370
-		$auteur_obligatoire = ($ldap_present ? 0 : !sql_countsel('spip_auteurs', '', '', '', $server_db));
371
-
372
-		$res = "<div class='success'><b>"
373
-			. _T('info_base_installee')
374
-			. '</b></div>'
375
-			. install_premier_auteur(
376
-				_request('email'),
377
-				_request('login'),
378
-				_request('nom'),
379
-				_request('pass'),
380
-				$hidden,
381
-				$auteur_obligatoire
382
-			)
383
-			. (($ldap_present || !function_exists('ldap_connect'))
384
-				? '' : install_propose_ldap());
385
-	}
386
-
387
-
388
-	$minipage = new Spip\Afficher\Minipage\Installation();
389
-	echo $minipage->page($res);
308
+    $ldap_present = _request('ldap_present');
309
+
310
+    if (!$ldap_present) {
311
+        $adresse_db = defined('_INSTALL_HOST_DB')
312
+            ? _INSTALL_HOST_DB
313
+            : _request('adresse_db');
314
+
315
+        $login_db = defined('_INSTALL_USER_DB')
316
+            ? _INSTALL_USER_DB
317
+            : _request('login_db');
318
+
319
+        $pass_db = defined('_INSTALL_PASS_DB')
320
+            ? _INSTALL_PASS_DB
321
+            : _request('pass_db');
322
+
323
+        $server_db = defined('_INSTALL_SERVER_DB')
324
+            ? _INSTALL_SERVER_DB
325
+            : _request('server_db');
326
+
327
+        $chmod_db = defined('_SPIP_CHMOD')
328
+            ? _SPIP_CHMOD
329
+            : _request('chmod');
330
+
331
+        $choix_db = defined('_INSTALL_NAME_DB')
332
+            ? _INSTALL_NAME_DB
333
+            : _request('choix_db');
334
+
335
+        $sel_db = ($choix_db == 'new_spip')
336
+            ? _request('table_new') : $choix_db;
337
+
338
+        $res = install_bases($adresse_db, $login_db, $pass_db, $server_db, $choix_db, $sel_db, $chmod_db);
339
+
340
+        if ($res) {
341
+            $res = info_progression_etape(2, 'etape_', 'install/', true)
342
+                . "<div class='error'><h3>" . _T('avis_operation_echec') . '</h3>'
343
+                . $res
344
+                . '<p>' . _T('texte_operation_echec') . '</p>'
345
+                . '</div>';
346
+        }
347
+    } else {
348
+        $res = '';
349
+        [$adresse_db, $login_db, $pass_db, $sel_db, $server_db] = analyse_fichier_connection(_FILE_CONNECT_TMP);
350
+        $GLOBALS['connexions'][$server_db] = spip_connect_db($adresse_db, $sel_db, $login_db, $pass_db, $sel_db, $server_db);
351
+    }
352
+
353
+    if (!$res) {
354
+        if (file_exists(_FILE_CONNECT_TMP)) {
355
+            include(_FILE_CONNECT_TMP);
356
+        } else {
357
+            redirige_url_ecrire('install');
358
+        }
359
+
360
+        if (file_exists(_FILE_CHMOD_TMP)) {
361
+            include(_FILE_CHMOD_TMP);
362
+        } else {
363
+            redirige_url_ecrire('install');
364
+        }
365
+
366
+        $hidden = predef_ou_cache($adresse_db, $login_db, $pass_db, $server_db)
367
+            . (defined('_INSTALL_NAME_DB') ? ''
368
+                : "\n<input type='hidden' name='sel_db' value=\"" . spip_htmlspecialchars($sel_db) . '" />');
369
+
370
+        $auteur_obligatoire = ($ldap_present ? 0 : !sql_countsel('spip_auteurs', '', '', '', $server_db));
371
+
372
+        $res = "<div class='success'><b>"
373
+            . _T('info_base_installee')
374
+            . '</b></div>'
375
+            . install_premier_auteur(
376
+                _request('email'),
377
+                _request('login'),
378
+                _request('nom'),
379
+                _request('pass'),
380
+                $hidden,
381
+                $auteur_obligatoire
382
+            )
383
+            . (($ldap_present || !function_exists('ldap_connect'))
384
+                ? '' : install_propose_ldap());
385
+    }
386
+
387
+
388
+    $minipage = new Spip\Afficher\Minipage\Installation();
389
+    echo $minipage->page($res);
390 390
 }
Please login to merge, or discard this patch.
ecrire/public/assembler.php 2 patches
Indentation   +633 added lines, -633 removed lines patch added patch discarded remove patch
@@ -19,178 +19,178 @@  discard block
 block discarded – undo
19 19
  **/
20 20
 
21 21
 if (!defined('_ECRIRE_INC_VERSION')) {
22
-	return;
22
+    return;
23 23
 }
24 24
 
25 25
 // En cas de modification, il faut aussi actualiser la regexp de nettoyer_uri_var() dans inc/utils.php
26 26
 if (!defined('_CONTEXTE_IGNORE_VARIABLES')) {
27
-	define('_CONTEXTE_IGNORE_VARIABLES', '/(^var_|^PHPSESSID$|^fbclid$|^utm_)/');
27
+    define('_CONTEXTE_IGNORE_VARIABLES', '/(^var_|^PHPSESSID$|^fbclid$|^utm_)/');
28 28
 }
29 29
 
30 30
 function assembler($fond, string $connect = '') {
31 31
 
32
-	$chemin_cache = null;
33
-	$lastmodified = null;
34
-	$res = null;
35
-	// flag_preserver est modifie ici, et utilise en globale
36
-	// use_cache sert a informer le bouton d'admin pr savoir s'il met un *
37
-	// contexte est utilise en globale dans le formulaire d'admin
38
-
39
-	$GLOBALS['contexte'] = calculer_contexte();
40
-	$page = ['contexte_implicite' => calculer_contexte_implicite()];
41
-	$page['contexte_implicite']['cache'] = $fond . preg_replace(
42
-		',\.[a-zA-Z0-9]*$,',
43
-		'',
44
-		preg_replace('/[?].*$/', '', $GLOBALS['REQUEST_URI'])
45
-	);
46
-	// Cette fonction est utilisee deux fois
47
-	$cacher = charger_fonction('cacher', 'public', true);
48
-	// Les quatre derniers parametres sont modifies par la fonction:
49
-	// emplacement, validite, et, s'il est valide, contenu & age
50
-	if ($cacher) {
51
-		$res = $cacher($GLOBALS['contexte'], $GLOBALS['use_cache'], $chemin_cache, $page, $lastmodified);
52
-	} else {
53
-		$GLOBALS['use_cache'] = -1;
54
-	}
55
-	// Si un resultat est retourne, c'est un message d'impossibilite
56
-	if ($res) {
57
-		return ['texte' => $res];
58
-	}
59
-
60
-	if (!$chemin_cache || !$lastmodified) {
61
-		$lastmodified = time();
62
-	}
63
-
64
-	$headers_only = ($_SERVER['REQUEST_METHOD'] == 'HEAD');
65
-	$calculer_page = true;
66
-
67
-	// Pour les pages non-dynamiques (indiquees par #CACHE{duree,cache-client})
68
-	// une perennite valide a meme reponse qu'une requete HEAD (par defaut les
69
-	// pages sont dynamiques)
70
-	if (
71
-		isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
72
-		and (!defined('_VAR_MODE') or !_VAR_MODE)
73
-		and $chemin_cache
74
-		and isset($page['entetes'])
75
-		and isset($page['entetes']['Cache-Control'])
76
-		and strstr($page['entetes']['Cache-Control'], 'max-age=')
77
-		and !strstr($_SERVER['SERVER_SOFTWARE'], 'IIS/')
78
-	) {
79
-		$since = preg_replace(
80
-			'/;.*/',
81
-			'',
82
-			$_SERVER['HTTP_IF_MODIFIED_SINCE']
83
-		);
84
-		$since = str_replace('GMT', '', $since);
85
-		if (trim($since) == gmdate('D, d M Y H:i:s', $lastmodified)) {
86
-			$page['status'] = 304;
87
-			$headers_only = true;
88
-			$calculer_page = false;
89
-		}
90
-	}
91
-
92
-	// Si requete HEAD ou Last-modified compatible, ignorer le texte
93
-	// et pas de content-type (pour contrer le bouton admin de inc-public)
94
-	if (!$calculer_page) {
95
-		$page['texte'] = '';
96
-	} else {
97
-		// si la page est prise dans le cache
98
-		if (!$GLOBALS['use_cache']) {
99
-			// Informer les boutons d'admin du contexte
100
-			// (fourni par urls_decoder_url ci-dessous lors de la mise en cache)
101
-			$GLOBALS['contexte'] = $page['contexte'];
102
-
103
-			// vider les globales url propres qui ne doivent plus etre utilisees en cas
104
-			// d'inversion url => objet
105
-			// plus necessaire si on utilise bien la fonction urls_decoder_url
106
-			#unset($_SERVER['REDIRECT_url_propre']);
107
-			#unset($_ENV['url_propre']);
108
-		} else {
109
-			// Compat ascendante :
110
-			// 1. $contexte est global
111
-			// (a evacuer car urls_decoder_url gere ce probleme ?)
112
-			// et calculer la page
113
-			if (!test_espace_prive()) {
114
-				include_spip('inc/urls');
115
-				[$fond, $GLOBALS['contexte'], $url_redirect] = urls_decoder_url(
116
-					nettoyer_uri(),
117
-					$fond,
118
-					$GLOBALS['contexte'],
119
-					true
120
-				);
121
-			}
122
-			// squelette par defaut
123
-			if (!strlen($fond ?? '')) {
124
-				$fond = 'sommaire';
125
-			}
126
-
127
-			// produire la page : peut mettre a jour $lastmodified
128
-			$produire_page = charger_fonction('produire_page', 'public');
129
-			$page = $produire_page(
130
-				$fond,
131
-				$GLOBALS['contexte'],
132
-				$GLOBALS['use_cache'],
133
-				$chemin_cache,
134
-				null,
135
-				$page,
136
-				$lastmodified,
137
-				$connect
138
-			);
139
-			if ($page === '') {
140
-				$erreur = _T(
141
-					'info_erreur_squelette2',
142
-					['fichier' => spip_htmlspecialchars($fond) . '.' . _EXTENSION_SQUELETTES]
143
-				);
144
-				erreur_squelette($erreur);
145
-				// eviter des erreurs strictes ensuite sur $page['cle'] en PHP >= 5.4
146
-				$page = ['texte' => '', 'erreur' => $erreur];
147
-			}
148
-		}
149
-
150
-		if ($page and $chemin_cache) {
151
-			$page['cache'] = $chemin_cache;
152
-		}
153
-
154
-		auto_content_type($page);
155
-
156
-		$GLOBALS['flag_preserver'] |= headers_sent();
157
-
158
-		// Definir les entetes si ce n'est fait
159
-		if (!$GLOBALS['flag_preserver']) {
160
-			// Si la page est vide, produire l'erreur 404 ou message d'erreur pour les inclusions
161
-			if (
162
-				trim($page['texte']) === ''
163
-				and _VAR_MODE !== 'debug'
164
-				and !isset($page['entetes']['Location']) // cette page realise une redirection, donc pas d'erreur
165
-			) {
166
-				$GLOBALS['contexte']['fond_erreur'] = $fond;
167
-				$page = message_page_indisponible($page, $GLOBALS['contexte']);
168
-			}
169
-			// pas de cache client en mode 'observation'
170
-			if (defined('_VAR_MODE') and _VAR_MODE) {
171
-				$page['entetes']['Cache-Control'] = 'no-cache,must-revalidate';
172
-				$page['entetes']['Pragma'] = 'no-cache';
173
-			}
174
-		}
175
-	}
176
-
177
-	// Entete Last-Modified:
178
-	// eviter d'etre incoherent en envoyant un lastmodified identique
179
-	// a celui qu'on a refuse d'honorer plus haut (cf. #655)
180
-	if (
181
-		$lastmodified
182
-		and !isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
183
-		and !isset($page['entetes']['Last-Modified'])
184
-	) {
185
-		$page['entetes']['Last-Modified'] = gmdate('D, d M Y H:i:s', $lastmodified) . ' GMT';
186
-	}
187
-
188
-	// fermer la connexion apres les headers si requete HEAD
189
-	if ($headers_only) {
190
-		$page['entetes']['Connection'] = 'close';
191
-	}
192
-
193
-	return $page;
32
+    $chemin_cache = null;
33
+    $lastmodified = null;
34
+    $res = null;
35
+    // flag_preserver est modifie ici, et utilise en globale
36
+    // use_cache sert a informer le bouton d'admin pr savoir s'il met un *
37
+    // contexte est utilise en globale dans le formulaire d'admin
38
+
39
+    $GLOBALS['contexte'] = calculer_contexte();
40
+    $page = ['contexte_implicite' => calculer_contexte_implicite()];
41
+    $page['contexte_implicite']['cache'] = $fond . preg_replace(
42
+        ',\.[a-zA-Z0-9]*$,',
43
+        '',
44
+        preg_replace('/[?].*$/', '', $GLOBALS['REQUEST_URI'])
45
+    );
46
+    // Cette fonction est utilisee deux fois
47
+    $cacher = charger_fonction('cacher', 'public', true);
48
+    // Les quatre derniers parametres sont modifies par la fonction:
49
+    // emplacement, validite, et, s'il est valide, contenu & age
50
+    if ($cacher) {
51
+        $res = $cacher($GLOBALS['contexte'], $GLOBALS['use_cache'], $chemin_cache, $page, $lastmodified);
52
+    } else {
53
+        $GLOBALS['use_cache'] = -1;
54
+    }
55
+    // Si un resultat est retourne, c'est un message d'impossibilite
56
+    if ($res) {
57
+        return ['texte' => $res];
58
+    }
59
+
60
+    if (!$chemin_cache || !$lastmodified) {
61
+        $lastmodified = time();
62
+    }
63
+
64
+    $headers_only = ($_SERVER['REQUEST_METHOD'] == 'HEAD');
65
+    $calculer_page = true;
66
+
67
+    // Pour les pages non-dynamiques (indiquees par #CACHE{duree,cache-client})
68
+    // une perennite valide a meme reponse qu'une requete HEAD (par defaut les
69
+    // pages sont dynamiques)
70
+    if (
71
+        isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
72
+        and (!defined('_VAR_MODE') or !_VAR_MODE)
73
+        and $chemin_cache
74
+        and isset($page['entetes'])
75
+        and isset($page['entetes']['Cache-Control'])
76
+        and strstr($page['entetes']['Cache-Control'], 'max-age=')
77
+        and !strstr($_SERVER['SERVER_SOFTWARE'], 'IIS/')
78
+    ) {
79
+        $since = preg_replace(
80
+            '/;.*/',
81
+            '',
82
+            $_SERVER['HTTP_IF_MODIFIED_SINCE']
83
+        );
84
+        $since = str_replace('GMT', '', $since);
85
+        if (trim($since) == gmdate('D, d M Y H:i:s', $lastmodified)) {
86
+            $page['status'] = 304;
87
+            $headers_only = true;
88
+            $calculer_page = false;
89
+        }
90
+    }
91
+
92
+    // Si requete HEAD ou Last-modified compatible, ignorer le texte
93
+    // et pas de content-type (pour contrer le bouton admin de inc-public)
94
+    if (!$calculer_page) {
95
+        $page['texte'] = '';
96
+    } else {
97
+        // si la page est prise dans le cache
98
+        if (!$GLOBALS['use_cache']) {
99
+            // Informer les boutons d'admin du contexte
100
+            // (fourni par urls_decoder_url ci-dessous lors de la mise en cache)
101
+            $GLOBALS['contexte'] = $page['contexte'];
102
+
103
+            // vider les globales url propres qui ne doivent plus etre utilisees en cas
104
+            // d'inversion url => objet
105
+            // plus necessaire si on utilise bien la fonction urls_decoder_url
106
+            #unset($_SERVER['REDIRECT_url_propre']);
107
+            #unset($_ENV['url_propre']);
108
+        } else {
109
+            // Compat ascendante :
110
+            // 1. $contexte est global
111
+            // (a evacuer car urls_decoder_url gere ce probleme ?)
112
+            // et calculer la page
113
+            if (!test_espace_prive()) {
114
+                include_spip('inc/urls');
115
+                [$fond, $GLOBALS['contexte'], $url_redirect] = urls_decoder_url(
116
+                    nettoyer_uri(),
117
+                    $fond,
118
+                    $GLOBALS['contexte'],
119
+                    true
120
+                );
121
+            }
122
+            // squelette par defaut
123
+            if (!strlen($fond ?? '')) {
124
+                $fond = 'sommaire';
125
+            }
126
+
127
+            // produire la page : peut mettre a jour $lastmodified
128
+            $produire_page = charger_fonction('produire_page', 'public');
129
+            $page = $produire_page(
130
+                $fond,
131
+                $GLOBALS['contexte'],
132
+                $GLOBALS['use_cache'],
133
+                $chemin_cache,
134
+                null,
135
+                $page,
136
+                $lastmodified,
137
+                $connect
138
+            );
139
+            if ($page === '') {
140
+                $erreur = _T(
141
+                    'info_erreur_squelette2',
142
+                    ['fichier' => spip_htmlspecialchars($fond) . '.' . _EXTENSION_SQUELETTES]
143
+                );
144
+                erreur_squelette($erreur);
145
+                // eviter des erreurs strictes ensuite sur $page['cle'] en PHP >= 5.4
146
+                $page = ['texte' => '', 'erreur' => $erreur];
147
+            }
148
+        }
149
+
150
+        if ($page and $chemin_cache) {
151
+            $page['cache'] = $chemin_cache;
152
+        }
153
+
154
+        auto_content_type($page);
155
+
156
+        $GLOBALS['flag_preserver'] |= headers_sent();
157
+
158
+        // Definir les entetes si ce n'est fait
159
+        if (!$GLOBALS['flag_preserver']) {
160
+            // Si la page est vide, produire l'erreur 404 ou message d'erreur pour les inclusions
161
+            if (
162
+                trim($page['texte']) === ''
163
+                and _VAR_MODE !== 'debug'
164
+                and !isset($page['entetes']['Location']) // cette page realise une redirection, donc pas d'erreur
165
+            ) {
166
+                $GLOBALS['contexte']['fond_erreur'] = $fond;
167
+                $page = message_page_indisponible($page, $GLOBALS['contexte']);
168
+            }
169
+            // pas de cache client en mode 'observation'
170
+            if (defined('_VAR_MODE') and _VAR_MODE) {
171
+                $page['entetes']['Cache-Control'] = 'no-cache,must-revalidate';
172
+                $page['entetes']['Pragma'] = 'no-cache';
173
+            }
174
+        }
175
+    }
176
+
177
+    // Entete Last-Modified:
178
+    // eviter d'etre incoherent en envoyant un lastmodified identique
179
+    // a celui qu'on a refuse d'honorer plus haut (cf. #655)
180
+    if (
181
+        $lastmodified
182
+        and !isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
183
+        and !isset($page['entetes']['Last-Modified'])
184
+    ) {
185
+        $page['entetes']['Last-Modified'] = gmdate('D, d M Y H:i:s', $lastmodified) . ' GMT';
186
+    }
187
+
188
+    // fermer la connexion apres les headers si requete HEAD
189
+    if ($headers_only) {
190
+        $page['entetes']['Connection'] = 'close';
191
+    }
192
+
193
+    return $page;
194 194
 }
195 195
 
196 196
 /**
@@ -207,19 +207,19 @@  discard block
 block discarded – undo
207 207
  */
208 208
 function calculer_contexte() {
209 209
 
210
-	$contexte = [];
211
-	foreach ($_GET as $var => $val) {
212
-		if (!preg_match(_CONTEXTE_IGNORE_VARIABLES, $var)) {
213
-			$contexte[$var] = $val;
214
-		}
215
-	}
216
-	foreach ($_POST as $var => $val) {
217
-		if (!preg_match(_CONTEXTE_IGNORE_VARIABLES, $var)) {
218
-			$contexte[$var] = $val;
219
-		}
220
-	}
221
-
222
-	return $contexte;
210
+    $contexte = [];
211
+    foreach ($_GET as $var => $val) {
212
+        if (!preg_match(_CONTEXTE_IGNORE_VARIABLES, $var)) {
213
+            $contexte[$var] = $val;
214
+        }
215
+    }
216
+    foreach ($_POST as $var => $val) {
217
+        if (!preg_match(_CONTEXTE_IGNORE_VARIABLES, $var)) {
218
+            $contexte[$var] = $val;
219
+        }
220
+    }
221
+
222
+    return $contexte;
223 223
 }
224 224
 
225 225
 /**
@@ -230,25 +230,25 @@  discard block
 block discarded – undo
230 230
  * @return array
231 231
  */
232 232
 function calculer_contexte_implicite() {
233
-	static $notes = null;
234
-	if (is_null($notes)) {
235
-		$notes = charger_fonction('notes', 'inc', true);
236
-	}
237
-	$contexte_implicite = [
238
-		'squelettes' => $GLOBALS['dossier_squelettes'], // devrait etre 'chemin' => $GLOBALS['path_sig'], ?
239
-		'host' => ($_SERVER['HTTP_HOST'] ?? null),
240
-		'https' => ($_SERVER['HTTPS'] ?? ''),
241
-		'espace' => test_espace_prive(),
242
-		'marqueur' => ($GLOBALS['marqueur'] ?? ''),
243
-		'marqueur_skel' => ($GLOBALS['marqueur_skel'] ?? ''),
244
-		'notes' => $notes ? $notes('', 'contexter_cache') : '',
245
-		'spip_version_code' => $GLOBALS['spip_version_code'],
246
-	];
247
-	if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
248
-		$contexte_implicite['host'] .= '|' . $_SERVER['HTTP_X_FORWARDED_HOST'];
249
-	}
250
-
251
-	return $contexte_implicite;
233
+    static $notes = null;
234
+    if (is_null($notes)) {
235
+        $notes = charger_fonction('notes', 'inc', true);
236
+    }
237
+    $contexte_implicite = [
238
+        'squelettes' => $GLOBALS['dossier_squelettes'], // devrait etre 'chemin' => $GLOBALS['path_sig'], ?
239
+        'host' => ($_SERVER['HTTP_HOST'] ?? null),
240
+        'https' => ($_SERVER['HTTPS'] ?? ''),
241
+        'espace' => test_espace_prive(),
242
+        'marqueur' => ($GLOBALS['marqueur'] ?? ''),
243
+        'marqueur_skel' => ($GLOBALS['marqueur_skel'] ?? ''),
244
+        'notes' => $notes ? $notes('', 'contexter_cache') : '',
245
+        'spip_version_code' => $GLOBALS['spip_version_code'],
246
+    ];
247
+    if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
248
+        $contexte_implicite['host'] .= '|' . $_SERVER['HTTP_X_FORWARDED_HOST'];
249
+    }
250
+
251
+    return $contexte_implicite;
252 252
 }
253 253
 
254 254
 //
@@ -257,55 +257,55 @@  discard block
 block discarded – undo
257 257
 
258 258
 function auto_content_type($page) {
259 259
 
260
-	if (!isset($GLOBALS['flag_preserver'])) {
261
-		$GLOBALS['flag_preserver'] = ($page && preg_match(
262
-			'/header\s*\(\s*.content\-type:/isx',
263
-			$page['texte']
264
-		) || (isset($page['entetes']['Content-Type'])));
265
-	}
260
+    if (!isset($GLOBALS['flag_preserver'])) {
261
+        $GLOBALS['flag_preserver'] = ($page && preg_match(
262
+            '/header\s*\(\s*.content\-type:/isx',
263
+            $page['texte']
264
+        ) || (isset($page['entetes']['Content-Type'])));
265
+    }
266 266
 }
267 267
 
268 268
 function inclure_page($fond, $contexte, string $connect = '') {
269
-	$use_cache = null;
270
-	$chemin_cache = null;
271
-	$lastinclude = null;
272
-	$res = null;
273
-	static $cacher, $produire_page;
274
-
275
-	// enlever le fond de contexte inclus car sinon il prend la main
276
-	// dans les sous inclusions -> boucle infinie d'inclusion identique
277
-	// (cette precaution n'est probablement plus utile)
278
-	unset($contexte['fond']);
279
-	$page = ['contexte_implicite' => calculer_contexte_implicite()];
280
-	$page['contexte_implicite']['cache'] = $fond;
281
-	if (is_null($cacher)) {
282
-		$cacher = charger_fonction('cacher', 'public', true);
283
-	}
284
-	// Les quatre derniers parametres sont modifies par la fonction:
285
-	// emplacement, validite, et, s'il est valide, contenu & age
286
-	if ($cacher) {
287
-		$res = $cacher($contexte, $use_cache, $chemin_cache, $page, $lastinclude);
288
-	} else {
289
-		$use_cache = -1;
290
-	}
291
-	// $res = message d'erreur : on sort de la
292
-	if ($res) {
293
-		return ['texte' => $res];
294
-	}
295
-
296
-	// Si use_cache ne vaut pas 0, la page doit etre calculee
297
-	// produire la page : peut mettre a jour $lastinclude
298
-	// le contexte_cache envoye a cacher() a ete conserve et est passe a produire
299
-	if ($use_cache) {
300
-		if (is_null($produire_page)) {
301
-			$produire_page = charger_fonction('produire_page', 'public');
302
-		}
303
-		$page = $produire_page($fond, $contexte, $use_cache, $chemin_cache, $contexte, $page, $lastinclude, $connect);
304
-	}
305
-	// dans tous les cas, mettre a jour $GLOBALS['lastmodified']
306
-	$GLOBALS['lastmodified'] = max(($GLOBALS['lastmodified'] ?? 0), $lastinclude);
307
-
308
-	return $page;
269
+    $use_cache = null;
270
+    $chemin_cache = null;
271
+    $lastinclude = null;
272
+    $res = null;
273
+    static $cacher, $produire_page;
274
+
275
+    // enlever le fond de contexte inclus car sinon il prend la main
276
+    // dans les sous inclusions -> boucle infinie d'inclusion identique
277
+    // (cette precaution n'est probablement plus utile)
278
+    unset($contexte['fond']);
279
+    $page = ['contexte_implicite' => calculer_contexte_implicite()];
280
+    $page['contexte_implicite']['cache'] = $fond;
281
+    if (is_null($cacher)) {
282
+        $cacher = charger_fonction('cacher', 'public', true);
283
+    }
284
+    // Les quatre derniers parametres sont modifies par la fonction:
285
+    // emplacement, validite, et, s'il est valide, contenu & age
286
+    if ($cacher) {
287
+        $res = $cacher($contexte, $use_cache, $chemin_cache, $page, $lastinclude);
288
+    } else {
289
+        $use_cache = -1;
290
+    }
291
+    // $res = message d'erreur : on sort de la
292
+    if ($res) {
293
+        return ['texte' => $res];
294
+    }
295
+
296
+    // Si use_cache ne vaut pas 0, la page doit etre calculee
297
+    // produire la page : peut mettre a jour $lastinclude
298
+    // le contexte_cache envoye a cacher() a ete conserve et est passe a produire
299
+    if ($use_cache) {
300
+        if (is_null($produire_page)) {
301
+            $produire_page = charger_fonction('produire_page', 'public');
302
+        }
303
+        $page = $produire_page($fond, $contexte, $use_cache, $chemin_cache, $contexte, $page, $lastinclude, $connect);
304
+    }
305
+    // dans tous les cas, mettre a jour $GLOBALS['lastmodified']
306
+    $GLOBALS['lastmodified'] = max(($GLOBALS['lastmodified'] ?? 0), $lastinclude);
307
+
308
+    return $page;
309 309
 }
310 310
 
311 311
 /**
@@ -323,41 +323,41 @@  discard block
 block discarded – undo
323 323
  * @return array
324 324
  */
325 325
 function public_produire_page_dist(
326
-	$fond,
327
-	$contexte,
328
-	$use_cache,
329
-	$chemin_cache,
330
-	$contexte_cache,
331
-	&$page,
332
-	&$lastinclude,
333
-	$connect = ''
326
+    $fond,
327
+    $contexte,
328
+    $use_cache,
329
+    $chemin_cache,
330
+    $contexte_cache,
331
+    &$page,
332
+    &$lastinclude,
333
+    $connect = ''
334 334
 ) {
335
-	static $parametrer, $cacher;
336
-	if (!$parametrer) {
337
-		$parametrer = charger_fonction('parametrer', 'public');
338
-	}
339
-	$page = $parametrer($fond, $contexte, $chemin_cache, $connect);
340
-	// et on l'enregistre sur le disque
341
-	if (
342
-		$chemin_cache
343
-		and $use_cache > -1
344
-		and is_array($page)
345
-		and count($page)
346
-		and isset($page['entetes']['X-Spip-Cache'])
347
-		and $page['entetes']['X-Spip-Cache'] > 0
348
-	) {
349
-		if (is_null($cacher)) {
350
-			$cacher = charger_fonction('cacher', 'public', true);
351
-		}
352
-		$lastinclude = time();
353
-		if ($cacher) {
354
-			$cacher($contexte_cache, $use_cache, $chemin_cache, $page, $lastinclude);
355
-		} else {
356
-			$use_cache = -1;
357
-		}
358
-	}
359
-
360
-	return $page;
335
+    static $parametrer, $cacher;
336
+    if (!$parametrer) {
337
+        $parametrer = charger_fonction('parametrer', 'public');
338
+    }
339
+    $page = $parametrer($fond, $contexte, $chemin_cache, $connect);
340
+    // et on l'enregistre sur le disque
341
+    if (
342
+        $chemin_cache
343
+        and $use_cache > -1
344
+        and is_array($page)
345
+        and count($page)
346
+        and isset($page['entetes']['X-Spip-Cache'])
347
+        and $page['entetes']['X-Spip-Cache'] > 0
348
+    ) {
349
+        if (is_null($cacher)) {
350
+            $cacher = charger_fonction('cacher', 'public', true);
351
+        }
352
+        $lastinclude = time();
353
+        if ($cacher) {
354
+            $cacher($contexte_cache, $use_cache, $chemin_cache, $page, $lastinclude);
355
+        } else {
356
+            $use_cache = -1;
357
+        }
358
+    }
359
+
360
+    return $page;
361 361
 }
362 362
 
363 363
 // Fonction inseree par le compilateur dans le code compile.
@@ -371,14 +371,14 @@  discard block
 block discarded – undo
371 371
 // 4: langue
372 372
 
373 373
 function inserer_balise_dynamique($contexte_exec, $contexte_compil) {
374
-	arguments_balise_dyn_depuis_modele(null, 'reset');
375
-
376
-	if (!is_array($contexte_exec)) {
377
-		echo $contexte_exec;
378
-	} // message d'erreur etc
379
-	else {
380
-		inclure_balise_dynamique($contexte_exec, true, $contexte_compil);
381
-	}
374
+    arguments_balise_dyn_depuis_modele(null, 'reset');
375
+
376
+    if (!is_array($contexte_exec)) {
377
+        echo $contexte_exec;
378
+    } // message d'erreur etc
379
+    else {
380
+        inclure_balise_dynamique($contexte_exec, true, $contexte_compil);
381
+    }
382 382
 }
383 383
 
384 384
 /**
@@ -391,101 +391,101 @@  discard block
 block discarded – undo
391 391
  * @return string|void
392 392
  */
393 393
 function inclure_balise_dynamique($texte, $echo = true, $contexte_compil = []) {
394
-	if (is_array($texte)) {
395
-		[$fond, $delainc, $contexte_inclus] = $texte;
396
-
397
-		// delais a l'ancienne, c'est pratiquement mort
398
-		$d = $GLOBALS['delais'] ?? null;
399
-		$GLOBALS['delais'] = $delainc;
400
-
401
-		$page = recuperer_fond(
402
-			$fond,
403
-			$contexte_inclus,
404
-			['trim' => false, 'raw' => true, 'compil' => $contexte_compil]
405
-		);
406
-
407
-		$texte = $page['texte'];
408
-
409
-		$GLOBALS['delais'] = $d;
410
-		// Faire remonter les entetes
411
-		if (
412
-			isset($page['entetes'])
413
-			and is_array($page['entetes'])
414
-		) {
415
-			// mais pas toutes
416
-			unset($page['entetes']['X-Spip-Cache']);
417
-			unset($page['entetes']['Content-Type']);
418
-			if (isset($GLOBALS['page']) and is_array($GLOBALS['page'])) {
419
-				if (!is_array($GLOBALS['page']['entetes'])) {
420
-					$GLOBALS['page']['entetes'] = [];
421
-				}
422
-				$GLOBALS['page']['entetes'] =
423
-					array_merge($GLOBALS['page']['entetes'], $page['entetes']);
424
-			}
425
-		}
426
-		// _pipelines au pluriel array('nom_pipeline' => $args...) avec une syntaxe permettant plusieurs pipelines
427
-		if (
428
-			isset($page['contexte']['_pipelines'])
429
-			and is_array($page['contexte']['_pipelines'])
430
-			and count($page['contexte']['_pipelines'])
431
-		) {
432
-			foreach ($page['contexte']['_pipelines'] as $pipe => $args) {
433
-				$args['contexte'] = $page['contexte'];
434
-				unset($args['contexte']['_pipelines']); // par precaution, meme si le risque de boucle infinie est a priori nul
435
-				$texte = pipeline(
436
-					$pipe,
437
-					[
438
-						'data' => $texte,
439
-						'args' => $args
440
-					]
441
-				);
442
-			}
443
-		}
444
-	}
445
-
446
-	if (defined('_VAR_MODE') and _VAR_MODE == 'debug') {
447
-		// compatibilite : avant on donnait le numero de ligne ou rien.
448
-		$ligne = intval($contexte_compil[3] ?? $contexte_compil);
449
-		$GLOBALS['debug_objets']['resultat'][$ligne] = $texte;
450
-	}
451
-	if ($echo) {
452
-		echo $texte;
453
-	} else {
454
-		return $texte;
455
-	}
394
+    if (is_array($texte)) {
395
+        [$fond, $delainc, $contexte_inclus] = $texte;
396
+
397
+        // delais a l'ancienne, c'est pratiquement mort
398
+        $d = $GLOBALS['delais'] ?? null;
399
+        $GLOBALS['delais'] = $delainc;
400
+
401
+        $page = recuperer_fond(
402
+            $fond,
403
+            $contexte_inclus,
404
+            ['trim' => false, 'raw' => true, 'compil' => $contexte_compil]
405
+        );
406
+
407
+        $texte = $page['texte'];
408
+
409
+        $GLOBALS['delais'] = $d;
410
+        // Faire remonter les entetes
411
+        if (
412
+            isset($page['entetes'])
413
+            and is_array($page['entetes'])
414
+        ) {
415
+            // mais pas toutes
416
+            unset($page['entetes']['X-Spip-Cache']);
417
+            unset($page['entetes']['Content-Type']);
418
+            if (isset($GLOBALS['page']) and is_array($GLOBALS['page'])) {
419
+                if (!is_array($GLOBALS['page']['entetes'])) {
420
+                    $GLOBALS['page']['entetes'] = [];
421
+                }
422
+                $GLOBALS['page']['entetes'] =
423
+                    array_merge($GLOBALS['page']['entetes'], $page['entetes']);
424
+            }
425
+        }
426
+        // _pipelines au pluriel array('nom_pipeline' => $args...) avec une syntaxe permettant plusieurs pipelines
427
+        if (
428
+            isset($page['contexte']['_pipelines'])
429
+            and is_array($page['contexte']['_pipelines'])
430
+            and count($page['contexte']['_pipelines'])
431
+        ) {
432
+            foreach ($page['contexte']['_pipelines'] as $pipe => $args) {
433
+                $args['contexte'] = $page['contexte'];
434
+                unset($args['contexte']['_pipelines']); // par precaution, meme si le risque de boucle infinie est a priori nul
435
+                $texte = pipeline(
436
+                    $pipe,
437
+                    [
438
+                        'data' => $texte,
439
+                        'args' => $args
440
+                    ]
441
+                );
442
+            }
443
+        }
444
+    }
445
+
446
+    if (defined('_VAR_MODE') and _VAR_MODE == 'debug') {
447
+        // compatibilite : avant on donnait le numero de ligne ou rien.
448
+        $ligne = intval($contexte_compil[3] ?? $contexte_compil);
449
+        $GLOBALS['debug_objets']['resultat'][$ligne] = $texte;
450
+    }
451
+    if ($echo) {
452
+        echo $texte;
453
+    } else {
454
+        return $texte;
455
+    }
456 456
 }
457 457
 
458 458
 function message_page_indisponible($page, $contexte) {
459
-	static $deja = false;
460
-	if ($deja) {
461
-		return 'erreur';
462
-	}
463
-	$codes = [
464
-		'404' => '404 Not Found',
465
-		'503' => '503 Service Unavailable',
466
-	];
467
-
468
-	$contexte['status'] = ($page !== false) ? '404' : '503';
469
-	$contexte['code'] = $codes[$contexte['status']];
470
-	$contexte['fond'] = '404'; // gere les 2 erreurs
471
-	if (!isset($contexte['lang'])) {
472
-		include_spip('inc/lang');
473
-		$contexte['lang'] = $GLOBALS['spip_lang'];
474
-	}
475
-
476
-	$deja = true;
477
-	// passer aux plugins qui peuvent decider d'une page d'erreur plus pertinent
478
-	// ex restriction d'acces => 401
479
-	$contexte = pipeline('page_indisponible', $contexte);
480
-
481
-	// produire la page d'erreur
482
-	$page = inclure_page($contexte['fond'], $contexte);
483
-	if (!$page) {
484
-		$page = inclure_page('404', $contexte);
485
-	}
486
-	$page['status'] = $contexte['status'];
487
-
488
-	return $page;
459
+    static $deja = false;
460
+    if ($deja) {
461
+        return 'erreur';
462
+    }
463
+    $codes = [
464
+        '404' => '404 Not Found',
465
+        '503' => '503 Service Unavailable',
466
+    ];
467
+
468
+    $contexte['status'] = ($page !== false) ? '404' : '503';
469
+    $contexte['code'] = $codes[$contexte['status']];
470
+    $contexte['fond'] = '404'; // gere les 2 erreurs
471
+    if (!isset($contexte['lang'])) {
472
+        include_spip('inc/lang');
473
+        $contexte['lang'] = $GLOBALS['spip_lang'];
474
+    }
475
+
476
+    $deja = true;
477
+    // passer aux plugins qui peuvent decider d'une page d'erreur plus pertinent
478
+    // ex restriction d'acces => 401
479
+    $contexte = pipeline('page_indisponible', $contexte);
480
+
481
+    // produire la page d'erreur
482
+    $page = inclure_page($contexte['fond'], $contexte);
483
+    if (!$page) {
484
+        $page = inclure_page('404', $contexte);
485
+    }
486
+    $page['status'] = $contexte['status'];
487
+
488
+    return $page;
489 489
 }
490 490
 
491 491
 /**
@@ -497,44 +497,44 @@  discard block
 block discarded – undo
497 497
  * @return mixed
498 498
  */
499 499
 function arguments_balise_dyn_depuis_modele($arg, $operation = 'set') {
500
-	static $balise_dyn_appellee_par_modele = null;
501
-	switch ($operation) {
502
-		case 'read':
503
-			return $balise_dyn_appellee_par_modele;
504
-		case 'reset':
505
-			$balise_dyn_appellee_par_modele = null;
506
-			return null;
507
-		case 'set':
508
-		default:
509
-			$balise_dyn_appellee_par_modele = $arg;
510
-			return $arg;
511
-	}
500
+    static $balise_dyn_appellee_par_modele = null;
501
+    switch ($operation) {
502
+        case 'read':
503
+            return $balise_dyn_appellee_par_modele;
504
+        case 'reset':
505
+            $balise_dyn_appellee_par_modele = null;
506
+            return null;
507
+        case 'set':
508
+        default:
509
+            $balise_dyn_appellee_par_modele = $arg;
510
+            return $arg;
511
+    }
512 512
 }
513 513
 
514 514
 // temporairement ici : a mettre dans le futur inc/modeles
515 515
 // creer_contexte_de_modele('left', 'autostart=true', ...) renvoie un array()
516 516
 function creer_contexte_de_modele($args) {
517
-	$contexte = [];
518
-	foreach ($args as $var => $val) {
519
-		if (is_int($var)) { // argument pas formate
520
-			if (in_array($val, ['left', 'right', 'center'])) {
521
-				$var = 'align';
522
-				$contexte[$var] = $val;
523
-			} else {
524
-				$args = explode('=', $val);
525
-				if (count($args) >= 2) { // Flashvars=arg1=machin&arg2=truc genere plus de deux args
526
-				$contexte[trim($args[0])] = substr($val, strlen($args[0]) + 1);
527
-				} else // notation abregee
528
-				{
529
-					$contexte[trim($val)] = trim($val);
530
-				}
531
-			}
532
-		} else {
533
-			$contexte[$var] = $val;
534
-		}
535
-	}
536
-
537
-	return $contexte;
517
+    $contexte = [];
518
+    foreach ($args as $var => $val) {
519
+        if (is_int($var)) { // argument pas formate
520
+            if (in_array($val, ['left', 'right', 'center'])) {
521
+                $var = 'align';
522
+                $contexte[$var] = $val;
523
+            } else {
524
+                $args = explode('=', $val);
525
+                if (count($args) >= 2) { // Flashvars=arg1=machin&arg2=truc genere plus de deux args
526
+                $contexte[trim($args[0])] = substr($val, strlen($args[0]) + 1);
527
+                } else // notation abregee
528
+                {
529
+                    $contexte[trim($val)] = trim($val);
530
+                }
531
+            }
532
+        } else {
533
+            $contexte[$var] = $val;
534
+        }
535
+    }
536
+
537
+    return $contexte;
538 538
 }
539 539
 
540 540
 /**
@@ -549,43 +549,43 @@  discard block
 block discarded – undo
549 549
  * @return string
550 550
  */
551 551
 function styliser_modele($modele, $id, $contexte = null) {
552
-	static $styliseurs = null;
553
-	if (is_null($styliseurs)) {
554
-		$tables_objet = lister_tables_objets_sql();
555
-		foreach ($tables_objet as $table => $desc) {
556
-			if (
557
-				isset($desc['modeles']) and $desc['modeles']
558
-				and isset($desc['modeles_styliser']) and $desc['modeles_styliser']
559
-				and function_exists($desc['modeles_styliser'])
560
-			) {
561
-				$primary = id_table_objet($table);
562
-				foreach ($desc['modeles'] as $m) {
563
-					$styliseurs[$m] = ['primary' => $primary, 'callback' => $desc['modeles_styliser']];
564
-				}
565
-			}
566
-		}
567
-	}
568
-
569
-	if (isset($styliseurs[$modele])) {
570
-		$styliseur = $styliseurs[$modele]['callback'];
571
-		$primary = $styliseurs[$modele]['primary'];
572
-		if (is_null($id) and $contexte) {
573
-			if (isset($contexte['id'])) {
574
-				$id = $contexte['id'];
575
-			} elseif (isset($contexte[$primary])) {
576
-				$id = $contexte[$primary];
577
-			}
578
-		}
579
-		if (is_null($id)) {
580
-			$msg = "modeles/$modele : " . _T('zbug_parametres_inclus_incorrects', ['param' => "id/$primary"]);
581
-			erreur_squelette($msg);
582
-			// on passe id=0 au routeur pour tomber sur le modele par defaut et eviter une seconde erreur sur un modele inexistant
583
-			$id = 0;
584
-		}
585
-		$modele = $styliseur($modele, $id);
586
-	}
587
-
588
-	return $modele;
552
+    static $styliseurs = null;
553
+    if (is_null($styliseurs)) {
554
+        $tables_objet = lister_tables_objets_sql();
555
+        foreach ($tables_objet as $table => $desc) {
556
+            if (
557
+                isset($desc['modeles']) and $desc['modeles']
558
+                and isset($desc['modeles_styliser']) and $desc['modeles_styliser']
559
+                and function_exists($desc['modeles_styliser'])
560
+            ) {
561
+                $primary = id_table_objet($table);
562
+                foreach ($desc['modeles'] as $m) {
563
+                    $styliseurs[$m] = ['primary' => $primary, 'callback' => $desc['modeles_styliser']];
564
+                }
565
+            }
566
+        }
567
+    }
568
+
569
+    if (isset($styliseurs[$modele])) {
570
+        $styliseur = $styliseurs[$modele]['callback'];
571
+        $primary = $styliseurs[$modele]['primary'];
572
+        if (is_null($id) and $contexte) {
573
+            if (isset($contexte['id'])) {
574
+                $id = $contexte['id'];
575
+            } elseif (isset($contexte[$primary])) {
576
+                $id = $contexte[$primary];
577
+            }
578
+        }
579
+        if (is_null($id)) {
580
+            $msg = "modeles/$modele : " . _T('zbug_parametres_inclus_incorrects', ['param' => "id/$primary"]);
581
+            erreur_squelette($msg);
582
+            // on passe id=0 au routeur pour tomber sur le modele par defaut et eviter une seconde erreur sur un modele inexistant
583
+            $id = 0;
584
+        }
585
+        $modele = $styliseur($modele, $id);
586
+    }
587
+
588
+    return $modele;
589 589
 }
590 590
 
591 591
 /**
@@ -602,102 +602,102 @@  discard block
 block discarded – undo
602 602
  */
603 603
 function inclure_modele($type, $id, $params, $lien, string $connect = '', $env = []) {
604 604
 
605
-	static $compteur;
606
-	if (++$compteur > 10) {
607
-		return '';
608
-	} # ne pas boucler indefiniment
609
-
610
-	$type = strtolower($type);
611
-	$type = styliser_modele($type, $id);
612
-
613
-	$fond = $class = '';
614
-
615
-	$params = array_filter(explode('|', $params));
616
-	if ($params) {
617
-		$soustype = current($params);
618
-		$soustype = strtolower(trim($soustype));
619
-		if (in_array($soustype, ['left', 'right', 'center', 'ajax'])) {
620
-			$soustype = next($params);
621
-			$soustype = strtolower($soustype);
622
-		}
623
-
624
-		if (preg_match(',^[a-z0-9_]+$,', $soustype)) {
625
-			if (!trouve_modele($fond = ($type . '_' . $soustype))) {
626
-				$fond = '';
627
-				$class = $soustype;
628
-			}
629
-			// enlever le sous type des params
630
-			$params = array_diff($params, [$soustype]);
631
-		}
632
-	}
633
-
634
-	// Si ca marche pas en precisant le sous-type, prendre le type
635
-	if (!$fond and !trouve_modele($fond = $type)) {
636
-		spip_log("Modele $type introuvable", _LOG_INFO_IMPORTANTE);
637
-
638
-		return false;
639
-	}
640
-	$fond = 'modeles/' . $fond;
641
-	// Creer le contexte
642
-	$contexte = $env;
643
-	$contexte['dir_racine'] = _DIR_RACINE; # eviter de mixer un cache racine et un cache ecrire (meme si pour l'instant les modeles ne sont pas caches, le resultat etant different il faut que le contexte en tienne compte
644
-
645
-	// Le numero du modele est mis dans l'environnement
646
-	// d'une part sous l'identifiant "id"
647
-	// et d'autre part sous l'identifiant de la cle primaire
648
-	// par la fonction id_table_objet,
649
-	// (<article1> =>> article =>> id_article =>> id_article=1)
650
-	$_id = id_table_objet($type);
651
-	$contexte['id'] = $contexte[$_id] = $id;
652
-
653
-	if (isset($class)) {
654
-		$contexte['class'] = $class;
655
-	}
656
-
657
-	// Si un lien a ete passe en parametre, ex: [<modele1>->url] ou [<modele1|title_du_lien{hreflang}->url]
658
-	if ($lien) {
659
-		# un eventuel guillemet (") sera reechappe par #ENV
660
-		$contexte['lien'] = str_replace('&quot;', '"', $lien['href']);
661
-		$contexte['lien_class'] = $lien['class'];
662
-		$contexte['lien_mime'] = $lien['mime'];
663
-		$contexte['lien_title'] = $lien['title'];
664
-		$contexte['lien_hreflang'] = $lien['hreflang'];
665
-	}
666
-
667
-	// Traiter les parametres
668
-	// par exemple : <img1|center>, <emb12|autostart=true> ou <doc1|lang=en>
669
-	$arg_list = creer_contexte_de_modele($params);
670
-	$contexte['args'] = $arg_list; // on passe la liste des arguments du modeles dans une variable args
671
-	$contexte = array_merge($contexte, $arg_list);
672
-
673
-	// Appliquer le modele avec le contexte
674
-	$retour = recuperer_fond($fond, $contexte, [], $connect);
675
-
676
-	// Regarder si le modele tient compte des liens (il *doit* alors indiquer
677
-	// spip_lien_ok dans les classes de son conteneur de premier niveau ;
678
-	// sinon, s'il y a un lien, on l'ajoute classiquement
679
-	if (
680
-		strstr(
681
-			' ' . ($classes = extraire_attribut($retour, 'class')) . ' ',
682
-			'spip_lien_ok'
683
-		)
684
-	) {
685
-		$retour = inserer_attribut(
686
-			$retour,
687
-			'class',
688
-			trim(str_replace(' spip_lien_ok ', ' ', " $classes "))
689
-		);
690
-	} else {
691
-		if ($lien) {
692
-			$retour = '<a href="' . $lien['href'] . '" class="' . $lien['class'] . '">' . $retour . '</a>';
693
-		}
694
-	}
695
-
696
-	$compteur--;
697
-
698
-	return (isset($arg_list['ajax']) and $arg_list['ajax'] == 'ajax')
699
-		? encoder_contexte_ajax($contexte, '', $retour)
700
-		: $retour;
605
+    static $compteur;
606
+    if (++$compteur > 10) {
607
+        return '';
608
+    } # ne pas boucler indefiniment
609
+
610
+    $type = strtolower($type);
611
+    $type = styliser_modele($type, $id);
612
+
613
+    $fond = $class = '';
614
+
615
+    $params = array_filter(explode('|', $params));
616
+    if ($params) {
617
+        $soustype = current($params);
618
+        $soustype = strtolower(trim($soustype));
619
+        if (in_array($soustype, ['left', 'right', 'center', 'ajax'])) {
620
+            $soustype = next($params);
621
+            $soustype = strtolower($soustype);
622
+        }
623
+
624
+        if (preg_match(',^[a-z0-9_]+$,', $soustype)) {
625
+            if (!trouve_modele($fond = ($type . '_' . $soustype))) {
626
+                $fond = '';
627
+                $class = $soustype;
628
+            }
629
+            // enlever le sous type des params
630
+            $params = array_diff($params, [$soustype]);
631
+        }
632
+    }
633
+
634
+    // Si ca marche pas en precisant le sous-type, prendre le type
635
+    if (!$fond and !trouve_modele($fond = $type)) {
636
+        spip_log("Modele $type introuvable", _LOG_INFO_IMPORTANTE);
637
+
638
+        return false;
639
+    }
640
+    $fond = 'modeles/' . $fond;
641
+    // Creer le contexte
642
+    $contexte = $env;
643
+    $contexte['dir_racine'] = _DIR_RACINE; # eviter de mixer un cache racine et un cache ecrire (meme si pour l'instant les modeles ne sont pas caches, le resultat etant different il faut que le contexte en tienne compte
644
+
645
+    // Le numero du modele est mis dans l'environnement
646
+    // d'une part sous l'identifiant "id"
647
+    // et d'autre part sous l'identifiant de la cle primaire
648
+    // par la fonction id_table_objet,
649
+    // (<article1> =>> article =>> id_article =>> id_article=1)
650
+    $_id = id_table_objet($type);
651
+    $contexte['id'] = $contexte[$_id] = $id;
652
+
653
+    if (isset($class)) {
654
+        $contexte['class'] = $class;
655
+    }
656
+
657
+    // Si un lien a ete passe en parametre, ex: [<modele1>->url] ou [<modele1|title_du_lien{hreflang}->url]
658
+    if ($lien) {
659
+        # un eventuel guillemet (") sera reechappe par #ENV
660
+        $contexte['lien'] = str_replace('&quot;', '"', $lien['href']);
661
+        $contexte['lien_class'] = $lien['class'];
662
+        $contexte['lien_mime'] = $lien['mime'];
663
+        $contexte['lien_title'] = $lien['title'];
664
+        $contexte['lien_hreflang'] = $lien['hreflang'];
665
+    }
666
+
667
+    // Traiter les parametres
668
+    // par exemple : <img1|center>, <emb12|autostart=true> ou <doc1|lang=en>
669
+    $arg_list = creer_contexte_de_modele($params);
670
+    $contexte['args'] = $arg_list; // on passe la liste des arguments du modeles dans une variable args
671
+    $contexte = array_merge($contexte, $arg_list);
672
+
673
+    // Appliquer le modele avec le contexte
674
+    $retour = recuperer_fond($fond, $contexte, [], $connect);
675
+
676
+    // Regarder si le modele tient compte des liens (il *doit* alors indiquer
677
+    // spip_lien_ok dans les classes de son conteneur de premier niveau ;
678
+    // sinon, s'il y a un lien, on l'ajoute classiquement
679
+    if (
680
+        strstr(
681
+            ' ' . ($classes = extraire_attribut($retour, 'class')) . ' ',
682
+            'spip_lien_ok'
683
+        )
684
+    ) {
685
+        $retour = inserer_attribut(
686
+            $retour,
687
+            'class',
688
+            trim(str_replace(' spip_lien_ok ', ' ', " $classes "))
689
+        );
690
+    } else {
691
+        if ($lien) {
692
+            $retour = '<a href="' . $lien['href'] . '" class="' . $lien['class'] . '">' . $retour . '</a>';
693
+        }
694
+    }
695
+
696
+    $compteur--;
697
+
698
+    return (isset($arg_list['ajax']) and $arg_list['ajax'] == 'ajax')
699
+        ? encoder_contexte_ajax($contexte, '', $retour)
700
+        : $retour;
701 701
 }
702 702
 
703 703
 // Un inclure_page qui marche aussi pour l'espace prive
@@ -706,105 +706,105 @@  discard block
 block discarded – undo
706 706
 // 	recuperer_fond($fond,$contexte,array('raw'=>true))
707 707
 function evaluer_fond($fond, $contexte = [], string $connect = '') {
708 708
 
709
-	$page = inclure_page($fond, $contexte, $connect);
710
-
711
-	if (!$page) {
712
-		return $page;
713
-	}
714
-	// eval $page et affecte $res
715
-	include _ROOT_RESTREINT . 'public/evaluer_page.php';
716
-
717
-	// Lever un drapeau (global) si le fond utilise #SESSION
718
-	// a destination de public/parametrer
719
-	// pour remonter vers les inclusions appelantes
720
-	// il faut bien lever ce drapeau apres avoir evalue le fond
721
-	// pour ne pas faire descendre le flag vers les inclusions appelees
722
-	if (
723
-		isset($page['invalideurs'])
724
-		and isset($page['invalideurs']['session'])
725
-	) {
726
-		$GLOBALS['cache_utilise_session'] = $page['invalideurs']['session'];
727
-	}
728
-
729
-	return $page;
709
+    $page = inclure_page($fond, $contexte, $connect);
710
+
711
+    if (!$page) {
712
+        return $page;
713
+    }
714
+    // eval $page et affecte $res
715
+    include _ROOT_RESTREINT . 'public/evaluer_page.php';
716
+
717
+    // Lever un drapeau (global) si le fond utilise #SESSION
718
+    // a destination de public/parametrer
719
+    // pour remonter vers les inclusions appelantes
720
+    // il faut bien lever ce drapeau apres avoir evalue le fond
721
+    // pour ne pas faire descendre le flag vers les inclusions appelees
722
+    if (
723
+        isset($page['invalideurs'])
724
+        and isset($page['invalideurs']['session'])
725
+    ) {
726
+        $GLOBALS['cache_utilise_session'] = $page['invalideurs']['session'];
727
+    }
728
+
729
+    return $page;
730 730
 }
731 731
 
732 732
 
733 733
 function page_base_href(&$texte) {
734
-	static $set_html_base = null;
735
-	if (is_null($set_html_base)) {
736
-		if (!defined('_SET_HTML_BASE')) {
737
-			// si la profondeur est superieure a 1
738
-			// est que ce n'est pas une url page ni une url action
739
-			// activer par defaut
740
-		$set_html_base = ((
741
-				$GLOBALS['profondeur_url'] >= (_DIR_RESTREINT ? 1 : 2)
742
-				and _request(_SPIP_PAGE) !== 'login'
743
-				and !_request('action')) ? true : false);
744
-		} else {
745
-			$set_html_base = _SET_HTML_BASE;
746
-		}
747
-	}
748
-
749
-	if (
750
-		$set_html_base
751
-		and isset($GLOBALS['html']) and $GLOBALS['html']
752
-		and $GLOBALS['profondeur_url'] > 0
753
-		and ($poshead = strpos($texte, '</head>')) !== false
754
-	) {
755
-		$head = substr($texte, 0, $poshead);
756
-		$insert = false;
757
-		$href_base = false;
758
-		if (strpos($head, '<base') === false) {
759
-			$insert = true;
760
-		} else {
761
-			// si aucun <base ...> n'a de href il faut en inserer un
762
-			// sinon juste re-ecrire les ancres si besoin
763
-			$insert = true;
764
-			include_spip('inc/filtres');
765
-			$bases = extraire_balises($head, 'base');
766
-			foreach ($bases as $base) {
767
-				if ($href_base = extraire_attribut($base, 'href')) {
768
-					$insert = false;
769
-					break;
770
-				}
771
-			}
772
-		}
773
-
774
-		if ($insert) {
775
-			include_spip('inc/filtres_mini');
776
-			// ajouter un base qui reglera tous les liens relatifs
777
-			$href_base = url_absolue('./');
778
-			$base = "\n<base href=\"$href_base\" />";
779
-			if (($pos = strpos($head, '<head>')) !== false) {
780
-				$head = substr_replace($head, $base, $pos + 6, 0);
781
-			} elseif (preg_match(',<head[^>]*>,i', $head, $r)) {
782
-				$head = str_replace($r[0], $r[0] . $base, $head);
783
-			}
784
-			$texte = $head . substr($texte, $poshead);
785
-		}
786
-		if ($href_base) {
787
-			// gerer les ancres
788
-			$base = $_SERVER['REQUEST_URI'];
789
-			// pas de guillemets ni < dans l'URL qu'on insere dans le HTML
790
-			if (strpos($base, "'") or strpos($base, '"') or strpos($base, '<')) {
791
-				$base = str_replace(["'",'"','<'], ['%27','%22','%3C'], $base);
792
-			}
793
-			if (strpos($texte, "href='#") !== false) {
794
-				$texte = str_replace("href='#", "href='$base#", $texte);
795
-			}
796
-			if (strpos($texte, 'href="#') !== false) {
797
-				$texte = str_replace('href="#', "href=\"$base#", $texte);
798
-			}
799
-		}
800
-	}
734
+    static $set_html_base = null;
735
+    if (is_null($set_html_base)) {
736
+        if (!defined('_SET_HTML_BASE')) {
737
+            // si la profondeur est superieure a 1
738
+            // est que ce n'est pas une url page ni une url action
739
+            // activer par defaut
740
+        $set_html_base = ((
741
+                $GLOBALS['profondeur_url'] >= (_DIR_RESTREINT ? 1 : 2)
742
+                and _request(_SPIP_PAGE) !== 'login'
743
+                and !_request('action')) ? true : false);
744
+        } else {
745
+            $set_html_base = _SET_HTML_BASE;
746
+        }
747
+    }
748
+
749
+    if (
750
+        $set_html_base
751
+        and isset($GLOBALS['html']) and $GLOBALS['html']
752
+        and $GLOBALS['profondeur_url'] > 0
753
+        and ($poshead = strpos($texte, '</head>')) !== false
754
+    ) {
755
+        $head = substr($texte, 0, $poshead);
756
+        $insert = false;
757
+        $href_base = false;
758
+        if (strpos($head, '<base') === false) {
759
+            $insert = true;
760
+        } else {
761
+            // si aucun <base ...> n'a de href il faut en inserer un
762
+            // sinon juste re-ecrire les ancres si besoin
763
+            $insert = true;
764
+            include_spip('inc/filtres');
765
+            $bases = extraire_balises($head, 'base');
766
+            foreach ($bases as $base) {
767
+                if ($href_base = extraire_attribut($base, 'href')) {
768
+                    $insert = false;
769
+                    break;
770
+                }
771
+            }
772
+        }
773
+
774
+        if ($insert) {
775
+            include_spip('inc/filtres_mini');
776
+            // ajouter un base qui reglera tous les liens relatifs
777
+            $href_base = url_absolue('./');
778
+            $base = "\n<base href=\"$href_base\" />";
779
+            if (($pos = strpos($head, '<head>')) !== false) {
780
+                $head = substr_replace($head, $base, $pos + 6, 0);
781
+            } elseif (preg_match(',<head[^>]*>,i', $head, $r)) {
782
+                $head = str_replace($r[0], $r[0] . $base, $head);
783
+            }
784
+            $texte = $head . substr($texte, $poshead);
785
+        }
786
+        if ($href_base) {
787
+            // gerer les ancres
788
+            $base = $_SERVER['REQUEST_URI'];
789
+            // pas de guillemets ni < dans l'URL qu'on insere dans le HTML
790
+            if (strpos($base, "'") or strpos($base, '"') or strpos($base, '<')) {
791
+                $base = str_replace(["'",'"','<'], ['%27','%22','%3C'], $base);
792
+            }
793
+            if (strpos($texte, "href='#") !== false) {
794
+                $texte = str_replace("href='#", "href='$base#", $texte);
795
+            }
796
+            if (strpos($texte, 'href="#') !== false) {
797
+                $texte = str_replace('href="#', "href=\"$base#", $texte);
798
+            }
799
+        }
800
+    }
801 801
 }
802 802
 
803 803
 
804 804
 // Envoyer les entetes, en retenant ceux qui sont a usage interne
805 805
 // et demarrent par X-Spip-...
806 806
 function envoyer_entetes($entetes) {
807
-	foreach ($entetes as $k => $v) { #	if (strncmp($k, 'X-Spip-', 7))
808
-	@header(strlen($v) ? "$k: $v" : $k);
809
-	}
807
+    foreach ($entetes as $k => $v) { #	if (strncmp($k, 'X-Spip-', 7))
808
+    @header(strlen($v) ? "$k: $v" : $k);
809
+    }
810 810
 }
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
 
39 39
 	$GLOBALS['contexte'] = calculer_contexte();
40 40
 	$page = ['contexte_implicite' => calculer_contexte_implicite()];
41
-	$page['contexte_implicite']['cache'] = $fond . preg_replace(
41
+	$page['contexte_implicite']['cache'] = $fond.preg_replace(
42 42
 		',\.[a-zA-Z0-9]*$,',
43 43
 		'',
44 44
 		preg_replace('/[?].*$/', '', $GLOBALS['REQUEST_URI'])
@@ -139,7 +139,7 @@  discard block
 block discarded – undo
139 139
 			if ($page === '') {
140 140
 				$erreur = _T(
141 141
 					'info_erreur_squelette2',
142
-					['fichier' => spip_htmlspecialchars($fond) . '.' . _EXTENSION_SQUELETTES]
142
+					['fichier' => spip_htmlspecialchars($fond).'.'._EXTENSION_SQUELETTES]
143 143
 				);
144 144
 				erreur_squelette($erreur);
145 145
 				// eviter des erreurs strictes ensuite sur $page['cle'] en PHP >= 5.4
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
 		and !isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
183 183
 		and !isset($page['entetes']['Last-Modified'])
184 184
 	) {
185
-		$page['entetes']['Last-Modified'] = gmdate('D, d M Y H:i:s', $lastmodified) . ' GMT';
185
+		$page['entetes']['Last-Modified'] = gmdate('D, d M Y H:i:s', $lastmodified).' GMT';
186 186
 	}
187 187
 
188 188
 	// fermer la connexion apres les headers si requete HEAD
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
 		'spip_version_code' => $GLOBALS['spip_version_code'],
246 246
 	];
247 247
 	if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
248
-		$contexte_implicite['host'] .= '|' . $_SERVER['HTTP_X_FORWARDED_HOST'];
248
+		$contexte_implicite['host'] .= '|'.$_SERVER['HTTP_X_FORWARDED_HOST'];
249 249
 	}
250 250
 
251 251
 	return $contexte_implicite;
@@ -577,7 +577,7 @@  discard block
 block discarded – undo
577 577
 			}
578 578
 		}
579 579
 		if (is_null($id)) {
580
-			$msg = "modeles/$modele : " . _T('zbug_parametres_inclus_incorrects', ['param' => "id/$primary"]);
580
+			$msg = "modeles/$modele : "._T('zbug_parametres_inclus_incorrects', ['param' => "id/$primary"]);
581 581
 			erreur_squelette($msg);
582 582
 			// on passe id=0 au routeur pour tomber sur le modele par defaut et eviter une seconde erreur sur un modele inexistant
583 583
 			$id = 0;
@@ -622,7 +622,7 @@  discard block
 block discarded – undo
622 622
 		}
623 623
 
624 624
 		if (preg_match(',^[a-z0-9_]+$,', $soustype)) {
625
-			if (!trouve_modele($fond = ($type . '_' . $soustype))) {
625
+			if (!trouve_modele($fond = ($type.'_'.$soustype))) {
626 626
 				$fond = '';
627 627
 				$class = $soustype;
628 628
 			}
@@ -637,7 +637,7 @@  discard block
 block discarded – undo
637 637
 
638 638
 		return false;
639 639
 	}
640
-	$fond = 'modeles/' . $fond;
640
+	$fond = 'modeles/'.$fond;
641 641
 	// Creer le contexte
642 642
 	$contexte = $env;
643 643
 	$contexte['dir_racine'] = _DIR_RACINE; # eviter de mixer un cache racine et un cache ecrire (meme si pour l'instant les modeles ne sont pas caches, le resultat etant different il faut que le contexte en tienne compte
@@ -678,7 +678,7 @@  discard block
 block discarded – undo
678 678
 	// sinon, s'il y a un lien, on l'ajoute classiquement
679 679
 	if (
680 680
 		strstr(
681
-			' ' . ($classes = extraire_attribut($retour, 'class')) . ' ',
681
+			' '.($classes = extraire_attribut($retour, 'class')).' ',
682 682
 			'spip_lien_ok'
683 683
 		)
684 684
 	) {
@@ -689,7 +689,7 @@  discard block
 block discarded – undo
689 689
 		);
690 690
 	} else {
691 691
 		if ($lien) {
692
-			$retour = '<a href="' . $lien['href'] . '" class="' . $lien['class'] . '">' . $retour . '</a>';
692
+			$retour = '<a href="'.$lien['href'].'" class="'.$lien['class'].'">'.$retour.'</a>';
693 693
 		}
694 694
 	}
695 695
 
@@ -712,7 +712,7 @@  discard block
 block discarded – undo
712 712
 		return $page;
713 713
 	}
714 714
 	// eval $page et affecte $res
715
-	include _ROOT_RESTREINT . 'public/evaluer_page.php';
715
+	include _ROOT_RESTREINT.'public/evaluer_page.php';
716 716
 
717 717
 	// Lever un drapeau (global) si le fond utilise #SESSION
718 718
 	// a destination de public/parametrer
@@ -779,16 +779,16 @@  discard block
 block discarded – undo
779 779
 			if (($pos = strpos($head, '<head>')) !== false) {
780 780
 				$head = substr_replace($head, $base, $pos + 6, 0);
781 781
 			} elseif (preg_match(',<head[^>]*>,i', $head, $r)) {
782
-				$head = str_replace($r[0], $r[0] . $base, $head);
782
+				$head = str_replace($r[0], $r[0].$base, $head);
783 783
 			}
784
-			$texte = $head . substr($texte, $poshead);
784
+			$texte = $head.substr($texte, $poshead);
785 785
 		}
786 786
 		if ($href_base) {
787 787
 			// gerer les ancres
788 788
 			$base = $_SERVER['REQUEST_URI'];
789 789
 			// pas de guillemets ni < dans l'URL qu'on insere dans le HTML
790 790
 			if (strpos($base, "'") or strpos($base, '"') or strpos($base, '<')) {
791
-				$base = str_replace(["'",'"','<'], ['%27','%22','%3C'], $base);
791
+				$base = str_replace(["'", '"', '<'], ['%27', '%22', '%3C'], $base);
792 792
 			}
793 793
 			if (strpos($texte, "href='#") !== false) {
794 794
 				$texte = str_replace("href='#", "href='$base#", $texte);
Please login to merge, or discard this patch.