Completed
Push — master ( a15233...457c22 )
by cam
01:25
created
prive/formulaires/configurer_multilinguisme.php 1 patch
Indentation   +104 added lines, -104 removed lines patch added patch discarded remove patch
@@ -11,53 +11,53 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function formulaires_configurer_multilinguisme_charger_dist() {
18
-	$valeurs = [];
19
-	$valeurs['multi_secteurs'] = $GLOBALS['meta']['multi_secteurs'];
20
-	foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
21
-		$valeurs[$m] = explode(',', $GLOBALS['meta'][$m] ?? '');
22
-	}
23
-
24
-	if (
25
-		is_countable($valeurs['multi_objets']) ? count($valeurs['multi_objets']) : 0
26
-		or count(explode(',', $GLOBALS['meta']['langues_utilisees'])) > 1
27
-	) {
28
-		$selection = (is_null(_request('multi_objets')) ?
29
-			explode(',', $GLOBALS['meta']['langues_multilingue']) : _request('langues_auth'));
30
-		$valeurs['_langues'] = saisie_langues_utiles('langues_auth', $selection ?: []);
31
-		$valeurs['_nb_langues_selection'] = is_countable($selection) ? count($selection) : 0;
32
-	}
33
-
34
-	return $valeurs;
18
+    $valeurs = [];
19
+    $valeurs['multi_secteurs'] = $GLOBALS['meta']['multi_secteurs'];
20
+    foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
21
+        $valeurs[$m] = explode(',', $GLOBALS['meta'][$m] ?? '');
22
+    }
23
+
24
+    if (
25
+        is_countable($valeurs['multi_objets']) ? count($valeurs['multi_objets']) : 0
26
+        or count(explode(',', $GLOBALS['meta']['langues_utilisees'])) > 1
27
+    ) {
28
+        $selection = (is_null(_request('multi_objets')) ?
29
+            explode(',', $GLOBALS['meta']['langues_multilingue']) : _request('langues_auth'));
30
+        $valeurs['_langues'] = saisie_langues_utiles('langues_auth', $selection ?: []);
31
+        $valeurs['_nb_langues_selection'] = is_countable($selection) ? count($selection) : 0;
32
+    }
33
+
34
+    return $valeurs;
35 35
 }
36 36
 
37 37
 
38 38
 function formulaires_configurer_multilinguisme_traiter_dist() {
39
-	$res = ['editable' => true];
40
-	// un checkbox seul de name X non coche n'est pas poste.
41
-	// on verifie le champ X_check qui indique que la checkbox etait presente dans le formulaire.
42
-	foreach (['multi_secteurs'] as $m) {
43
-		if (!is_null(_request($m . '_check'))) {
44
-			ecrire_meta($m, _request($m) ? 'oui' : 'non');
45
-		}
46
-	}
47
-	foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
48
-		if (!is_null($v = _request($m))) {
49
-			// join et enlever la valeur vide ''
50
-			ecrire_meta($m, implode(',', array_diff($v, [''])));
51
-		}
52
-	}
53
-
54
-	if ($i = _request('langues_auth') and is_array($i)) {
55
-		$i = array_unique(array_merge($i, explode(',', $GLOBALS['meta']['langues_utilisees'])));
56
-		ecrire_meta('langues_multilingue', implode(',', $i));
57
-	}
58
-	$res['message_ok'] = _T('config_info_enregistree');
59
-
60
-	return $res;
39
+    $res = ['editable' => true];
40
+    // un checkbox seul de name X non coche n'est pas poste.
41
+    // on verifie le champ X_check qui indique que la checkbox etait presente dans le formulaire.
42
+    foreach (['multi_secteurs'] as $m) {
43
+        if (!is_null(_request($m . '_check'))) {
44
+            ecrire_meta($m, _request($m) ? 'oui' : 'non');
45
+        }
46
+    }
47
+    foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
48
+        if (!is_null($v = _request($m))) {
49
+            // join et enlever la valeur vide ''
50
+            ecrire_meta($m, implode(',', array_diff($v, [''])));
51
+        }
52
+    }
53
+
54
+    if ($i = _request('langues_auth') and is_array($i)) {
55
+        $i = array_unique(array_merge($i, explode(',', $GLOBALS['meta']['langues_utilisees'])));
56
+        ecrire_meta('langues_multilingue', implode(',', $i));
57
+    }
58
+    $res['message_ok'] = _T('config_info_enregistree');
59
+
60
+    return $res;
61 61
 }
62 62
 
63 63
 /**
@@ -67,13 +67,13 @@  discard block
 block discarded – undo
67 67
  * @return string
68 68
  */
69 69
 function table_supporte_lang($table_sql) {
70
-	$trouver_table = charger_fonction('trouver_table', 'base');
71
-	$desc = $trouver_table($table_sql);
72
-	if (!$desc or !isset($desc['field']['lang'])) {
73
-		return '';
74
-	}
70
+    $trouver_table = charger_fonction('trouver_table', 'base');
71
+    $desc = $trouver_table($table_sql);
72
+    if (!$desc or !isset($desc['field']['lang'])) {
73
+        return '';
74
+    }
75 75
 
76
-	return ' ';
76
+    return ' ';
77 77
 }
78 78
 
79 79
 /**
@@ -83,67 +83,67 @@  discard block
 block discarded – undo
83 83
  * @return string
84 84
  */
85 85
 function table_supporte_trad($table_sql) {
86
-	$trouver_table = charger_fonction('trouver_table', 'base');
87
-	$desc = $trouver_table($table_sql);
88
-	if (!$desc or !isset($desc['field']['id_trad'])) {
89
-		return '';
90
-	}
86
+    $trouver_table = charger_fonction('trouver_table', 'base');
87
+    $desc = $trouver_table($table_sql);
88
+    if (!$desc or !isset($desc['field']['id_trad'])) {
89
+        return '';
90
+    }
91 91
 
92
-	return ' ';
92
+    return ' ';
93 93
 }
94 94
 
95 95
 
96 96
 function saisie_langues_utiles($name, $selection) {
97
-	include_spip('inc/lang_liste');
98
-	$langues = $GLOBALS['codes_langues'];
99
-
100
-	$langues_installees = explode(',', $GLOBALS['meta']['langues_proposees']);
101
-	$langues_trad = array_flip($langues_installees);
102
-
103
-	$langues_bloquees = explode(',', $GLOBALS['meta']['langues_utilisees']);
104
-
105
-	$res = '';
106
-
107
-	$i = 0;
108
-	foreach ($langues_bloquees as $code_langue) {
109
-		$nom_langue = $langues[$code_langue];
110
-		$res .= "<li class='choix "
111
-			. alterner(++$i, 'odd', 'even')
112
-			. (isset($langues_trad[$code_langue]) ? ' traduite' : '')
113
-			. "'>"
114
-			. "<input type='hidden' name='{$name}[]' value='$code_langue'>" // necessaire ...
115
-			. "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue' checked='checked' disabled='disabled' />"
116
-			. "<label for='{$name}_$code_langue'>" . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
117
-			. '</li>';
118
-	}
119
-
120
-	if ($res) {
121
-		$res = "<ul id='langues_bloquees'>" . $res . "</ul><div class='nettoyeur'></div>";
122
-	}
123
-
124
-	$res .= "<ul id='langues_proposees'>";
125
-
126
-	$i = 0;
127
-	$langues_bloquees = array_flip($langues_bloquees);
128
-	foreach ($langues as $code_langue => $nom_langue) {
129
-		if (!isset($langues_bloquees[$code_langue])) {
130
-			$checked = (in_array($code_langue, $selection) ? ' checked="checked"' : '');
131
-			$res .= "<li class='choix "
132
-				. alterner(++$i, 'odd', 'even')
133
-				. (isset($langues_trad[$code_langue]) ? ' traduite' : '')
134
-				. "'>"
135
-				. "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue'"
136
-				. $checked
137
-				. '/>'
138
-				. "<label for='{$name}_$code_langue'"
139
-				. ($checked ? " class='on'" : '')
140
-				. '>'
141
-				. $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
142
-				. '</li>';
143
-		}
144
-	}
145
-
146
-	$res .= "</ul><div class='nettoyeur'></div>";
147
-
148
-	return $res;
97
+    include_spip('inc/lang_liste');
98
+    $langues = $GLOBALS['codes_langues'];
99
+
100
+    $langues_installees = explode(',', $GLOBALS['meta']['langues_proposees']);
101
+    $langues_trad = array_flip($langues_installees);
102
+
103
+    $langues_bloquees = explode(',', $GLOBALS['meta']['langues_utilisees']);
104
+
105
+    $res = '';
106
+
107
+    $i = 0;
108
+    foreach ($langues_bloquees as $code_langue) {
109
+        $nom_langue = $langues[$code_langue];
110
+        $res .= "<li class='choix "
111
+            . alterner(++$i, 'odd', 'even')
112
+            . (isset($langues_trad[$code_langue]) ? ' traduite' : '')
113
+            . "'>"
114
+            . "<input type='hidden' name='{$name}[]' value='$code_langue'>" // necessaire ...
115
+            . "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue' checked='checked' disabled='disabled' />"
116
+            . "<label for='{$name}_$code_langue'>" . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
117
+            . '</li>';
118
+    }
119
+
120
+    if ($res) {
121
+        $res = "<ul id='langues_bloquees'>" . $res . "</ul><div class='nettoyeur'></div>";
122
+    }
123
+
124
+    $res .= "<ul id='langues_proposees'>";
125
+
126
+    $i = 0;
127
+    $langues_bloquees = array_flip($langues_bloquees);
128
+    foreach ($langues as $code_langue => $nom_langue) {
129
+        if (!isset($langues_bloquees[$code_langue])) {
130
+            $checked = (in_array($code_langue, $selection) ? ' checked="checked"' : '');
131
+            $res .= "<li class='choix "
132
+                . alterner(++$i, 'odd', 'even')
133
+                . (isset($langues_trad[$code_langue]) ? ' traduite' : '')
134
+                . "'>"
135
+                . "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue'"
136
+                . $checked
137
+                . '/>'
138
+                . "<label for='{$name}_$code_langue'"
139
+                . ($checked ? " class='on'" : '')
140
+                . '>'
141
+                . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
142
+                . '</li>';
143
+        }
144
+    }
145
+
146
+    $res .= "</ul><div class='nettoyeur'></div>";
147
+
148
+    return $res;
149 149
 }
Please login to merge, or discard this patch.
ecrire/inc/prepare_recherche.php 1 patch
Indentation   +142 added lines, -142 removed lines patch added patch discarded remove patch
@@ -17,12 +17,12 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('inc/rechercher');
24 24
 if (!defined('_DELAI_CACHE_resultats')) {
25
-	define('_DELAI_CACHE_resultats', 600);
25
+    define('_DELAI_CACHE_resultats', 600);
26 26
 }
27 27
 
28 28
 /**
@@ -49,129 +49,129 @@  discard block
 block discarded – undo
49 49
  * @return array
50 50
  */
51 51
 function inc_prepare_recherche_dist(
52
-	$recherche,
53
-	$table = 'articles',
54
-	$cond = false,
55
-	$serveur = '',
56
-	$modificateurs = [],
57
-	$primary = ''
52
+    $recherche,
53
+    $table = 'articles',
54
+    $cond = false,
55
+    $serveur = '',
56
+    $modificateurs = [],
57
+    $primary = ''
58 58
 ) {
59
-	$where = null;
60
-	$rows = null;
61
-	static $cache = [];
62
-	$delai_fraicheur = min(
63
-		\_DELAI_CACHE_resultats,
64
-		time() - ($GLOBALS['meta']['derniere_modif'] ?? 0)
65
-	);
66
-
67
-	// si recherche n'est pas dans le contexte, on va prendre en globals
68
-	// ca permet de faire des inclure simple.
69
-	if (!isset($recherche) and isset($GLOBALS['recherche'])) {
70
-		$recherche = $GLOBALS['recherche'];
71
-	}
72
-
73
-	// traiter le cas {recherche?}
74
-	if ($cond and !strlen($recherche)) {
75
-		return [
76
-			'0 as points' /* as points */, /* where */
77
-			''
78
-		];
79
-	}
80
-
81
-
82
-	$rechercher = false;
83
-
84
-	$where_resultat_recent = sql_date_proche('maj', (0 - ($delai_fraicheur + 100)), ' SECOND');
85
-	if (!isset($cache[$serveur][$table][$recherche])) {
86
-		$hash_serv = ($serveur ? substr(md5($serveur), 0, 16) : '');
87
-		$hash = substr(md5($recherche . $table), 0, 16);
88
-		$where = "(resultats.recherche='$hash' AND resultats.table_objet=" . sql_quote($table) . " AND resultats.serveur='$hash_serv')";
89
-		$row = sql_fetsel(
90
-			'recherche',
91
-			'spip_resultats AS resultats',
92
-			$where . " AND $where_resultat_recent",
93
-			'',
94
-			'',
95
-			'0,1'
96
-		);
97
-		if (
98
-			!$row
99
-			or (defined('_VAR_MODE') and _VAR_MODE == 'recalcul')
100
-		) {
101
-			$rechercher = true;
102
-		}
103
-	}
104
-
105
-	// si on n'a pas encore traite les donnees dans une boucle precedente
106
-	if ($rechercher) {
107
-		//$tables = liste_des_champs();
108
-		$x = objet_type($table);
109
-		$points = recherche_en_base(
110
-			$recherche,
111
-			$x,
112
-			[
113
-				'score' => true,
114
-				'toutvoir' => true,
115
-				'jointures' => true
116
-			],
117
-			$serveur
118
-		);
119
-		// pas de résultat, pas de point
120
-		$points = $points[$x] ?? [];
121
-
122
-		// permettre aux plugins de modifier le resultat
123
-		$points = pipeline('prepare_recherche', [
124
-			'args' => [
125
-				'type' => $x,
126
-				'recherche' => $recherche,
127
-				'serveur' => $serveur,
128
-				'modificateurs' => $modificateurs
129
-			],
130
-			'data' => $points
131
-		]);
132
-
133
-		// supprimer les anciens resultats de cette recherche
134
-		// et les resultats trop vieux avec une marge
135
-		// pas de AS resultats dans un delete (mysql)
136
-		$whered = str_replace(
137
-			['resultats.recherche', 'resultats.table_objet', 'resultats.serveur'],
138
-			['recherche', 'table_objet', 'serveur'],
139
-			$where
140
-		);
141
-
142
-		sql_delete(
143
-			'spip_resultats',
144
-			"NOT($where_resultat_recent) OR ($whered)"
145
-		);
146
-
147
-		// inserer les resultats dans la table de cache des resultats
148
-		if (is_countable($points) ? count($points) : 0) {
149
-			$tab_couples = [];
150
-			foreach ($points as $id => $p) {
151
-				$tab_couples[] = [
152
-					'recherche' => $hash,
153
-					'id' => $id,
154
-					'points' => $p['score'],
155
-					'table_objet' => $table,
156
-					'serveur' => $hash_serv,
157
-				];
158
-			}
159
-			sql_insertq_multi('spip_resultats', $tab_couples, []);
160
-		}
161
-	}
162
-
163
-	if (!isset($cache[$serveur][$table][$recherche])) {
164
-		if (!$serveur) {
165
-			$cache[$serveur][$table][$recherche] = ['resultats.points AS points', $where];
166
-		} else {
167
-			if (sql_countsel('spip_resultats as resultats', $where)) {
168
-				$rows = sql_allfetsel('resultats.id,resultats.points', 'spip_resultats as resultats', $where);
169
-			}
170
-			$cache[$serveur][$table][$recherche] = generer_select_where_explicites($table, $primary, $rows, $serveur);
171
-		}
172
-	}
173
-
174
-	return $cache[$serveur][$table][$recherche];
59
+    $where = null;
60
+    $rows = null;
61
+    static $cache = [];
62
+    $delai_fraicheur = min(
63
+        \_DELAI_CACHE_resultats,
64
+        time() - ($GLOBALS['meta']['derniere_modif'] ?? 0)
65
+    );
66
+
67
+    // si recherche n'est pas dans le contexte, on va prendre en globals
68
+    // ca permet de faire des inclure simple.
69
+    if (!isset($recherche) and isset($GLOBALS['recherche'])) {
70
+        $recherche = $GLOBALS['recherche'];
71
+    }
72
+
73
+    // traiter le cas {recherche?}
74
+    if ($cond and !strlen($recherche)) {
75
+        return [
76
+            '0 as points' /* as points */, /* where */
77
+            ''
78
+        ];
79
+    }
80
+
81
+
82
+    $rechercher = false;
83
+
84
+    $where_resultat_recent = sql_date_proche('maj', (0 - ($delai_fraicheur + 100)), ' SECOND');
85
+    if (!isset($cache[$serveur][$table][$recherche])) {
86
+        $hash_serv = ($serveur ? substr(md5($serveur), 0, 16) : '');
87
+        $hash = substr(md5($recherche . $table), 0, 16);
88
+        $where = "(resultats.recherche='$hash' AND resultats.table_objet=" . sql_quote($table) . " AND resultats.serveur='$hash_serv')";
89
+        $row = sql_fetsel(
90
+            'recherche',
91
+            'spip_resultats AS resultats',
92
+            $where . " AND $where_resultat_recent",
93
+            '',
94
+            '',
95
+            '0,1'
96
+        );
97
+        if (
98
+            !$row
99
+            or (defined('_VAR_MODE') and _VAR_MODE == 'recalcul')
100
+        ) {
101
+            $rechercher = true;
102
+        }
103
+    }
104
+
105
+    // si on n'a pas encore traite les donnees dans une boucle precedente
106
+    if ($rechercher) {
107
+        //$tables = liste_des_champs();
108
+        $x = objet_type($table);
109
+        $points = recherche_en_base(
110
+            $recherche,
111
+            $x,
112
+            [
113
+                'score' => true,
114
+                'toutvoir' => true,
115
+                'jointures' => true
116
+            ],
117
+            $serveur
118
+        );
119
+        // pas de résultat, pas de point
120
+        $points = $points[$x] ?? [];
121
+
122
+        // permettre aux plugins de modifier le resultat
123
+        $points = pipeline('prepare_recherche', [
124
+            'args' => [
125
+                'type' => $x,
126
+                'recherche' => $recherche,
127
+                'serveur' => $serveur,
128
+                'modificateurs' => $modificateurs
129
+            ],
130
+            'data' => $points
131
+        ]);
132
+
133
+        // supprimer les anciens resultats de cette recherche
134
+        // et les resultats trop vieux avec une marge
135
+        // pas de AS resultats dans un delete (mysql)
136
+        $whered = str_replace(
137
+            ['resultats.recherche', 'resultats.table_objet', 'resultats.serveur'],
138
+            ['recherche', 'table_objet', 'serveur'],
139
+            $where
140
+        );
141
+
142
+        sql_delete(
143
+            'spip_resultats',
144
+            "NOT($where_resultat_recent) OR ($whered)"
145
+        );
146
+
147
+        // inserer les resultats dans la table de cache des resultats
148
+        if (is_countable($points) ? count($points) : 0) {
149
+            $tab_couples = [];
150
+            foreach ($points as $id => $p) {
151
+                $tab_couples[] = [
152
+                    'recherche' => $hash,
153
+                    'id' => $id,
154
+                    'points' => $p['score'],
155
+                    'table_objet' => $table,
156
+                    'serveur' => $hash_serv,
157
+                ];
158
+            }
159
+            sql_insertq_multi('spip_resultats', $tab_couples, []);
160
+        }
161
+    }
162
+
163
+    if (!isset($cache[$serveur][$table][$recherche])) {
164
+        if (!$serveur) {
165
+            $cache[$serveur][$table][$recherche] = ['resultats.points AS points', $where];
166
+        } else {
167
+            if (sql_countsel('spip_resultats as resultats', $where)) {
168
+                $rows = sql_allfetsel('resultats.id,resultats.points', 'spip_resultats as resultats', $where);
169
+            }
170
+            $cache[$serveur][$table][$recherche] = generer_select_where_explicites($table, $primary, $rows, $serveur);
171
+        }
172
+    }
173
+
174
+    return $cache[$serveur][$table][$recherche];
175 175
 }
176 176
 
177 177
 
@@ -187,22 +187,22 @@  discard block
 block discarded – undo
187 187
  * @return array
188 188
  */
189 189
 function generer_select_where_explicites($table, $primary, $rows, $serveur) {
190
-	# calculer le {id_article IN()} et le {... as points}
191
-	if (!count($rows)) {
192
-		return ["''", '0=1'];
193
-	} else {
194
-		$listes_ids = [];
195
-		$select = '0';
196
-		foreach ($rows as $r) {
197
-			$listes_ids[$r['points']][] = $r['id'];
198
-		}
199
-
200
-		foreach ($listes_ids as $p => $ids) {
201
-			$select .= "+$p*(" .
202
-				sql_in("$table.$primary", $ids, '', $serveur)
203
-				. ') ';
204
-		}
205
-
206
-		return ["$select AS points ", sql_in("$table.$primary", array_map('reset', $rows), '', $serveur)];
207
-	}
190
+    # calculer le {id_article IN()} et le {... as points}
191
+    if (!count($rows)) {
192
+        return ["''", '0=1'];
193
+    } else {
194
+        $listes_ids = [];
195
+        $select = '0';
196
+        foreach ($rows as $r) {
197
+            $listes_ids[$r['points']][] = $r['id'];
198
+        }
199
+
200
+        foreach ($listes_ids as $p => $ids) {
201
+            $select .= "+$p*(" .
202
+                sql_in("$table.$primary", $ids, '', $serveur)
203
+                . ') ';
204
+        }
205
+
206
+        return ["$select AS points ", sql_in("$table.$primary", array_map('reset', $rows), '', $serveur)];
207
+    }
208 208
 }
Please login to merge, or discard this patch.
ecrire/notifications/instituerarticle.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -11,53 +11,53 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 // Fonction appelee par divers pipelines
18 18
 function notifications_instituerarticle_dist($quoi, $id_article, $options) {
19 19
 
20
-	// ne devrait jamais se produire
21
-	if ($options['statut'] == $options['statut_ancien']) {
22
-		spip_log('statut inchange', 'notifications');
23
-
24
-		return;
25
-	}
26
-
27
-	include_spip('inc/texte');
28
-
29
-	$modele = '';
30
-	if ($options['statut'] == 'publie') {
31
-		if (
32
-			$GLOBALS['meta']['post_dates'] == 'non'
33
-			and strtotime($options['date']) > time()
34
-		) {
35
-			$modele = 'notifications/article_valide';
36
-		} else {
37
-			$modele = 'notifications/article_publie';
38
-		}
39
-	}
40
-
41
-	if ($options['statut'] == 'prop' and $options['statut_ancien'] != 'publie') {
42
-		$modele = 'notifications/article_propose';
43
-	}
44
-
45
-	if ($modele) {
46
-		$destinataires = [];
47
-		if ($GLOBALS['meta']['suivi_edito'] == 'oui') {
48
-			$destinataires = explode(',', $GLOBALS['meta']['adresse_suivi']);
49
-		}
50
-
51
-
52
-		$destinataires = pipeline(
53
-			'notifications_destinataires',
54
-			[
55
-				'args' => ['quoi' => $quoi, 'id' => $id_article, 'options' => $options],
56
-				'data' => $destinataires
57
-			]
58
-		);
59
-
60
-		$texte = email_notification_article($id_article, $modele);
61
-		notifications_envoyer_mails($destinataires, $texte);
62
-	}
20
+    // ne devrait jamais se produire
21
+    if ($options['statut'] == $options['statut_ancien']) {
22
+        spip_log('statut inchange', 'notifications');
23
+
24
+        return;
25
+    }
26
+
27
+    include_spip('inc/texte');
28
+
29
+    $modele = '';
30
+    if ($options['statut'] == 'publie') {
31
+        if (
32
+            $GLOBALS['meta']['post_dates'] == 'non'
33
+            and strtotime($options['date']) > time()
34
+        ) {
35
+            $modele = 'notifications/article_valide';
36
+        } else {
37
+            $modele = 'notifications/article_publie';
38
+        }
39
+    }
40
+
41
+    if ($options['statut'] == 'prop' and $options['statut_ancien'] != 'publie') {
42
+        $modele = 'notifications/article_propose';
43
+    }
44
+
45
+    if ($modele) {
46
+        $destinataires = [];
47
+        if ($GLOBALS['meta']['suivi_edito'] == 'oui') {
48
+            $destinataires = explode(',', $GLOBALS['meta']['adresse_suivi']);
49
+        }
50
+
51
+
52
+        $destinataires = pipeline(
53
+            'notifications_destinataires',
54
+            [
55
+                'args' => ['quoi' => $quoi, 'id' => $id_article, 'options' => $options],
56
+                'data' => $destinataires
57
+            ]
58
+        );
59
+
60
+        $texte = email_notification_article($id_article, $modele);
61
+        notifications_envoyer_mails($destinataires, $texte);
62
+    }
63 63
 }
Please login to merge, or discard this patch.
ecrire/plugins/afficher_repertoires.php 1 patch
Indentation   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -11,110 +11,110 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function plugins_afficher_repertoires_dist($url_page, $liste_plugins, $liste_plugins_actifs) {
18
-	$ligne_plug = charger_fonction('afficher_plugin', 'plugins');
19
-	$racine = basename(_DIR_PLUGINS);
20
-	$init_dir = $current_dir = '';
21
-	// liste des repertoires deplies : construit en remontant l'arbo de chaque plugin actif
22
-	// des qu'un path est deja note deplie on s'arrete
23
-	$deplie = [$racine => true];
24
-	$fast_liste_plugins_actifs = [];
25
-	foreach ($liste_plugins_actifs as $key => $plug) {
26
-		$chemin_plug = chemin_plug($racine, $plug);
27
-		$fast_liste_plugins_actifs[$chemin_plug] = true;
28
-		$dir = dirname($chemin_plug);
29
-		$maxiter = 100;
30
-		while (strlen($dir) && !isset($deplie[$dir]) && $dir != $racine && $maxiter-- > 0) {
31
-			$deplie[$dir] = true;
32
-			$dir = dirname($dir);
33
-		}
34
-	}
18
+    $ligne_plug = charger_fonction('afficher_plugin', 'plugins');
19
+    $racine = basename(_DIR_PLUGINS);
20
+    $init_dir = $current_dir = '';
21
+    // liste des repertoires deplies : construit en remontant l'arbo de chaque plugin actif
22
+    // des qu'un path est deja note deplie on s'arrete
23
+    $deplie = [$racine => true];
24
+    $fast_liste_plugins_actifs = [];
25
+    foreach ($liste_plugins_actifs as $key => $plug) {
26
+        $chemin_plug = chemin_plug($racine, $plug);
27
+        $fast_liste_plugins_actifs[$chemin_plug] = true;
28
+        $dir = dirname($chemin_plug);
29
+        $maxiter = 100;
30
+        while (strlen($dir) && !isset($deplie[$dir]) && $dir != $racine && $maxiter-- > 0) {
31
+            $deplie[$dir] = true;
32
+            $dir = dirname($dir);
33
+        }
34
+    }
35 35
 
36
-	// index repertoires --> plugin
37
-	$dir_index = [];
38
-	foreach ($liste_plugins as $key => $plug) {
39
-		$liste_plugins[$key] = chemin_plug($racine, $plug);
40
-		$dir_index[dirname($liste_plugins[$key])][] = $key;
41
-	}
36
+    // index repertoires --> plugin
37
+    $dir_index = [];
38
+    foreach ($liste_plugins as $key => $plug) {
39
+        $liste_plugins[$key] = chemin_plug($racine, $plug);
40
+        $dir_index[dirname($liste_plugins[$key])][] = $key;
41
+    }
42 42
 
43
-	$visible = @isset($deplie[$current_dir]);
44
-	$maxiter = 1000;
43
+    $visible = @isset($deplie[$current_dir]);
44
+    $maxiter = 1000;
45 45
 
46
-	$res = '';
47
-	while ((is_countable($liste_plugins) ? count($liste_plugins) : 0) && $maxiter--) {
48
-		// le rep suivant
49
-		$dir = dirname(reset($liste_plugins));
50
-		if ($dir != $current_dir) {
51
-			$res .= tree_open_close_dir($current_dir, $dir, $deplie);
52
-		}
46
+    $res = '';
47
+    while ((is_countable($liste_plugins) ? count($liste_plugins) : 0) && $maxiter--) {
48
+        // le rep suivant
49
+        $dir = dirname(reset($liste_plugins));
50
+        if ($dir != $current_dir) {
51
+            $res .= tree_open_close_dir($current_dir, $dir, $deplie);
52
+        }
53 53
 
54
-		// d'abord tous les plugins du rep courant
55
-		if (isset($dir_index[$current_dir])) {
56
-			foreach ($dir_index[$current_dir] as $key) {
57
-				$plug = $liste_plugins[$key];
58
-				$actif = @isset($fast_liste_plugins_actifs[$plug]);
59
-				$id = substr(md5($plug), 0, 16);
60
-				$res .= $ligne_plug(
61
-					$url_page,
62
-					str_replace(_DIR_PLUGINS, '', _DIR_RACINE . $plug),
63
-					$actif,
64
-					'menu-entree'
65
-				) . "\n";
66
-				unset($liste_plugins[$key]);
67
-			}
68
-		}
69
-	}
70
-	$res .= tree_open_close_dir($current_dir, $init_dir, true);
54
+        // d'abord tous les plugins du rep courant
55
+        if (isset($dir_index[$current_dir])) {
56
+            foreach ($dir_index[$current_dir] as $key) {
57
+                $plug = $liste_plugins[$key];
58
+                $actif = @isset($fast_liste_plugins_actifs[$plug]);
59
+                $id = substr(md5($plug), 0, 16);
60
+                $res .= $ligne_plug(
61
+                    $url_page,
62
+                    str_replace(_DIR_PLUGINS, '', _DIR_RACINE . $plug),
63
+                    $actif,
64
+                    'menu-entree'
65
+                ) . "\n";
66
+                unset($liste_plugins[$key]);
67
+            }
68
+        }
69
+    }
70
+    $res .= tree_open_close_dir($current_dir, $init_dir, true);
71 71
 
72
-	return "<ul class='menu-liste plugins'>"
73
-	. $res
74
-	. '</ul>';
72
+    return "<ul class='menu-liste plugins'>"
73
+    . $res
74
+    . '</ul>';
75 75
 }
76 76
 
77 77
 
78 78
 // vraiment n'importe quoi la gestion des chemins des plugins
79 79
 // une fonction pour aider...
80 80
 function chemin_plug($racine, $plug) {
81
-	return preg_replace(',[^/]+/\.\./,', '', "$racine/$plug");
81
+    return preg_replace(',[^/]+/\.\./,', '', "$racine/$plug");
82 82
 }
83 83
 
84 84
 function tree_open_close_dir(&$current, $target, $deplie = []) {
85
-	if ($current == $target) {
86
-		return '';
87
-	}
88
-	$tcur = explode('/', $current);
89
-	$ttarg = explode('/', $target);
90
-	$tcom = [];
91
-	$output = '';
92
-	// la partie commune
93
-	while (reset($tcur) == reset($ttarg)) {
94
-		$tcom[] = array_shift($tcur);
95
-		array_shift($ttarg);
96
-	}
97
-	// fermer les repertoires courant jusqu'au point de fork
98
-	while ($close = array_pop($tcur)) {
99
-		$output .= "</ul>\n";
100
-		$output .= fin_block();
101
-		$output .= "</li>\n";
102
-	}
103
-	$chemin = '';
104
-	if (count($tcom)) {
105
-		$chemin .= implode('/', $tcom) . '/';
106
-	}
107
-	// ouvrir les repertoires jusqu'a la cible
108
-	while ($open = array_shift($ttarg)) {
109
-		$visible = @isset($deplie[$chemin . $open]);
110
-		$chemin .= $open . '/';
111
-		$output .= '<li>';
112
-		$output .= bouton_block_depliable($chemin, $visible);
113
-		$output .= debut_block_depliable($visible);
85
+    if ($current == $target) {
86
+        return '';
87
+    }
88
+    $tcur = explode('/', $current);
89
+    $ttarg = explode('/', $target);
90
+    $tcom = [];
91
+    $output = '';
92
+    // la partie commune
93
+    while (reset($tcur) == reset($ttarg)) {
94
+        $tcom[] = array_shift($tcur);
95
+        array_shift($ttarg);
96
+    }
97
+    // fermer les repertoires courant jusqu'au point de fork
98
+    while ($close = array_pop($tcur)) {
99
+        $output .= "</ul>\n";
100
+        $output .= fin_block();
101
+        $output .= "</li>\n";
102
+    }
103
+    $chemin = '';
104
+    if (count($tcom)) {
105
+        $chemin .= implode('/', $tcom) . '/';
106
+    }
107
+    // ouvrir les repertoires jusqu'a la cible
108
+    while ($open = array_shift($ttarg)) {
109
+        $visible = @isset($deplie[$chemin . $open]);
110
+        $chemin .= $open . '/';
111
+        $output .= '<li>';
112
+        $output .= bouton_block_depliable($chemin, $visible);
113
+        $output .= debut_block_depliable($visible);
114 114
 
115
-		$output .= "<ul>\n";
116
-	}
117
-	$current = $target;
115
+        $output .= "<ul>\n";
116
+    }
117
+    $current = $target;
118 118
 
119
-	return $output;
119
+    return $output;
120 120
 }
Please login to merge, or discard this patch.
ecrire/plugins/verifie_conformite.php 1 patch
Indentation   +213 added lines, -213 removed lines patch added patch discarded remove patch
@@ -11,225 +11,225 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('inc/xml');
18 18
 include_spip('inc/plugin');
19 19
 
20 20
 function plugins_verifie_conformite_dist($plug, &$arbre, $dir_plugins = _DIR_PLUGINS) {
21
-	$needs = null;
22
-	$compat_spip = null;
23
-	$uses = null;
24
-	$paths = null;
25
-	$trads = null;
26
-	static $etats = ['dev', 'experimental', 'test', 'stable'];
21
+    $needs = null;
22
+    $compat_spip = null;
23
+    $uses = null;
24
+    $paths = null;
25
+    $trads = null;
26
+    static $etats = ['dev', 'experimental', 'test', 'stable'];
27 27
 
28
-	$matches = [];
29
-	$silence = false;
30
-	$p = null;
31
-	// chercher la declaration <plugin spip='...'> a prendre pour cette version de SPIP
32
-	if ($n = spip_xml_match_nodes(',^plugin(\s|$),', $arbre, $matches)) {
33
-		// version de SPIP
34
-		$vspip = $GLOBALS['spip_version_branche'];
35
-		foreach ($matches as $tag => $sous) {
36
-			[$tagname, $atts] = spip_xml_decompose_tag($tag);
37
-			if ($tagname == 'plugin' and is_array($sous)) {
38
-				// On rajoute la condition sur $n :
39
-				// -- en effet si $n==1 on a pas plus a choisir la balise que l'on ait
40
-				//    un attribut spip ou pas. Cela permet de traiter tous les cas mono-balise
41
-				//    de la meme facon.
42
-				if (
43
-					!isset($atts['spip'])
44
-					or $n == 1
45
-					or plugin_version_compatible($atts['spip'], $vspip, 'spip')
46
-				) {
47
-					// on prend la derniere declaration avec ce nom
48
-					$p = end($sous);
49
-					$compat_spip = $atts['spip'] ?? '';
50
-				}
51
-			}
52
-		}
53
-	}
54
-	if (is_null($p)) {
55
-		$arbre = ['erreur' => [_T('erreur_plugin_tag_plugin_absent') . " : $plug"]];
56
-		$silence = true;
57
-	} else {
58
-		$arbre = $p;
59
-	}
60
-	if (!is_array($arbre)) {
61
-		$arbre = [];
62
-	}
63
-	// verification de la conformite du plugin avec quelques
64
-	// precautions elementaires
65
-	if (!isset($arbre['nom'])) {
66
-		if (!$silence) {
67
-			$arbre['erreur'][] = _T('erreur_plugin_nom_manquant');
68
-		}
69
-		$arbre['nom'] = [''];
70
-	}
71
-	if (!isset($arbre['version'])) {
72
-		if (!$silence) {
73
-			$arbre['erreur'][] = _T('erreur_plugin_version_manquant');
74
-		}
75
-		$arbre['version'] = [''];
76
-	}
77
-	if (!isset($arbre['prefix'])) {
78
-		if (!$silence) {
79
-			$arbre['erreur'][] = _T('erreur_plugin_prefix_manquant');
80
-		}
81
-		$arbre['prefix'] = [''];
82
-	} else {
83
-		$prefix = trim(end($arbre['prefix']));
84
-		if (strtoupper($prefix) == 'SPIP' and $plug != './') {
85
-			$arbre['erreur'][] = _T('erreur_plugin_prefix_interdit');
86
-		}
87
-		if (isset($arbre['etat'])) {
88
-			$etat = trim(end($arbre['etat']));
89
-			if (!in_array($etat, $etats)) {
90
-				$arbre['erreur'][] = _T('erreur_plugin_etat_inconnu') . " : '$etat'";
91
-			}
92
-		}
93
-		if (isset($arbre['options'])) {
94
-			foreach ($arbre['options'] as $optfile) {
95
-				$optfile = trim($optfile);
96
-				if (!@is_readable($dir_plugins . "$plug/$optfile")) {
97
-					if (!$silence) {
98
-						$arbre['erreur'][] = _T('erreur_plugin_fichier_absent') . " : $optfile";
99
-					}
100
-				}
101
-			}
102
-		}
103
-		if (isset($arbre['fonctions'])) {
104
-			foreach ($arbre['fonctions'] as $optfile) {
105
-				$optfile = trim($optfile);
106
-				if (!@is_readable($dir_plugins . "$plug/$optfile")) {
107
-					if (!$silence) {
108
-						$arbre['erreur'][] = _T('erreur_plugin_fichier_absent') . " : $optfile";
109
-					}
110
-				}
111
-			}
112
-		}
113
-		$fonctions = [];
114
-		if (isset($arbre['fonctions'])) {
115
-			$fonctions = $arbre['fonctions'];
116
-		}
117
-		$liste_methodes_reservees = [
118
-			'__construct',
119
-			'__destruct',
120
-			'plugin',
121
-			'install',
122
-			'uninstall',
123
-			strtolower($prefix)
124
-		];
28
+    $matches = [];
29
+    $silence = false;
30
+    $p = null;
31
+    // chercher la declaration <plugin spip='...'> a prendre pour cette version de SPIP
32
+    if ($n = spip_xml_match_nodes(',^plugin(\s|$),', $arbre, $matches)) {
33
+        // version de SPIP
34
+        $vspip = $GLOBALS['spip_version_branche'];
35
+        foreach ($matches as $tag => $sous) {
36
+            [$tagname, $atts] = spip_xml_decompose_tag($tag);
37
+            if ($tagname == 'plugin' and is_array($sous)) {
38
+                // On rajoute la condition sur $n :
39
+                // -- en effet si $n==1 on a pas plus a choisir la balise que l'on ait
40
+                //    un attribut spip ou pas. Cela permet de traiter tous les cas mono-balise
41
+                //    de la meme facon.
42
+                if (
43
+                    !isset($atts['spip'])
44
+                    or $n == 1
45
+                    or plugin_version_compatible($atts['spip'], $vspip, 'spip')
46
+                ) {
47
+                    // on prend la derniere declaration avec ce nom
48
+                    $p = end($sous);
49
+                    $compat_spip = $atts['spip'] ?? '';
50
+                }
51
+            }
52
+        }
53
+    }
54
+    if (is_null($p)) {
55
+        $arbre = ['erreur' => [_T('erreur_plugin_tag_plugin_absent') . " : $plug"]];
56
+        $silence = true;
57
+    } else {
58
+        $arbre = $p;
59
+    }
60
+    if (!is_array($arbre)) {
61
+        $arbre = [];
62
+    }
63
+    // verification de la conformite du plugin avec quelques
64
+    // precautions elementaires
65
+    if (!isset($arbre['nom'])) {
66
+        if (!$silence) {
67
+            $arbre['erreur'][] = _T('erreur_plugin_nom_manquant');
68
+        }
69
+        $arbre['nom'] = [''];
70
+    }
71
+    if (!isset($arbre['version'])) {
72
+        if (!$silence) {
73
+            $arbre['erreur'][] = _T('erreur_plugin_version_manquant');
74
+        }
75
+        $arbre['version'] = [''];
76
+    }
77
+    if (!isset($arbre['prefix'])) {
78
+        if (!$silence) {
79
+            $arbre['erreur'][] = _T('erreur_plugin_prefix_manquant');
80
+        }
81
+        $arbre['prefix'] = [''];
82
+    } else {
83
+        $prefix = trim(end($arbre['prefix']));
84
+        if (strtoupper($prefix) == 'SPIP' and $plug != './') {
85
+            $arbre['erreur'][] = _T('erreur_plugin_prefix_interdit');
86
+        }
87
+        if (isset($arbre['etat'])) {
88
+            $etat = trim(end($arbre['etat']));
89
+            if (!in_array($etat, $etats)) {
90
+                $arbre['erreur'][] = _T('erreur_plugin_etat_inconnu') . " : '$etat'";
91
+            }
92
+        }
93
+        if (isset($arbre['options'])) {
94
+            foreach ($arbre['options'] as $optfile) {
95
+                $optfile = trim($optfile);
96
+                if (!@is_readable($dir_plugins . "$plug/$optfile")) {
97
+                    if (!$silence) {
98
+                        $arbre['erreur'][] = _T('erreur_plugin_fichier_absent') . " : $optfile";
99
+                    }
100
+                }
101
+            }
102
+        }
103
+        if (isset($arbre['fonctions'])) {
104
+            foreach ($arbre['fonctions'] as $optfile) {
105
+                $optfile = trim($optfile);
106
+                if (!@is_readable($dir_plugins . "$plug/$optfile")) {
107
+                    if (!$silence) {
108
+                        $arbre['erreur'][] = _T('erreur_plugin_fichier_absent') . " : $optfile";
109
+                    }
110
+                }
111
+            }
112
+        }
113
+        $fonctions = [];
114
+        if (isset($arbre['fonctions'])) {
115
+            $fonctions = $arbre['fonctions'];
116
+        }
117
+        $liste_methodes_reservees = [
118
+            '__construct',
119
+            '__destruct',
120
+            'plugin',
121
+            'install',
122
+            'uninstall',
123
+            strtolower($prefix)
124
+        ];
125 125
 
126
-		$extraire_pipelines = charger_fonction('extraire_pipelines', 'plugins');
127
-		$arbre['pipeline'] = $extraire_pipelines($arbre);
128
-		foreach ($arbre['pipeline'] as $pipe) {
129
-			if (!isset($pipe['nom'])) {
130
-				if (!$silence) {
131
-					$arbre['erreur'][] = _T('erreur_plugin_nom_pipeline_non_defini');
132
-				}
133
-			}
134
-			if (isset($pipe['action'])) {
135
-				$action = $pipe['action'];
136
-			} else {
137
-				$action = $pipe['nom'];
138
-			}
139
-			// verif que la methode a un nom autorise
140
-			if (in_array(strtolower($action), $liste_methodes_reservees)) {
141
-				if (!$silence) {
142
-					$arbre['erreur'][] = _T('erreur_plugin_nom_fonction_interdit') . " : $action";
143
-				}
144
-			}
145
-			if (isset($pipe['inclure'])) {
146
-				$inclure = $dir_plugins . "$plug/" . $pipe['inclure'];
147
-				if (!@is_readable($inclure)) {
148
-					if (!$silence) {
149
-						$arbre['erreur'][] = _T('erreur_plugin_fichier_absent') . " : $inclure";
150
-					}
151
-				}
152
-			}
153
-		}
154
-		$necessite = [];
155
-		$spip_trouve = false;
156
-		if (spip_xml_match_nodes(',^necessite,', $arbre, $needs)) {
157
-			foreach (array_keys($needs) as $tag) {
158
-				[$tag, $att] = spip_xml_decompose_tag($tag);
159
-				if (!isset($att['id'])) {
160
-					if (!$silence) {
161
-						$arbre['erreur'][] = _T(
162
-							'erreur_plugin_attribut_balise_manquant',
163
-							['attribut' => 'id', 'balise' => $att]
164
-						);
165
-					}
166
-				} else {
167
-					$necessite[] = $att;
168
-				}
169
-				if (strtolower($att['id']) == 'spip') {
170
-					$spip_trouve = true;
171
-				}
172
-			}
173
-		}
174
-		if ($compat_spip and !$spip_trouve) {
175
-			$necessite[] = ['id' => 'spip', 'version' => $compat_spip];
176
-		}
177
-		$arbre['necessite'] = $necessite;
178
-		$utilise = [];
179
-		if (spip_xml_match_nodes(',^utilise,', $arbre, $uses)) {
180
-			foreach (array_keys($uses) as $tag) {
181
-				[$tag, $att] = spip_xml_decompose_tag($tag);
182
-				if (!isset($att['id'])) {
183
-					if (!$silence) {
184
-						$arbre['erreur'][] = _T(
185
-							'erreur_plugin_attribut_balise_manquant',
186
-							['attribut' => 'id', 'balise' => $att]
187
-						);
188
-					}
189
-				} else {
190
-					$utilise[] = $att;
191
-				}
192
-			}
193
-		}
194
-		$arbre['utilise'] = $utilise;
195
-		$procure = [];
196
-		if (spip_xml_match_nodes(',^procure,', $arbre, $uses)) {
197
-			foreach (array_keys($uses) as $tag) {
198
-				[$tag, $att] = spip_xml_decompose_tag($tag);
199
-				$procure[] = $att;
200
-			}
201
-		}
202
-		$arbre['procure'] = $procure;
203
-		$path = [];
204
-		if (spip_xml_match_nodes(',^chemin,', $arbre, $paths)) {
205
-			foreach (array_keys($paths) as $tag) {
206
-				[$tag, $att] = spip_xml_decompose_tag($tag);
207
-				$att['path'] = $att['dir']; // ancienne syntaxe
208
-				$path[] = $att;
209
-			}
210
-		} else {
211
-			$path = [['dir' => '']];
212
-		} // initialiser par defaut
213
-		$arbre['path'] = $path;
214
-		// exposer les noisettes
215
-		if (isset($arbre['noisette'])) {
216
-			foreach ($arbre['noisette'] as $k => $nut) {
217
-				$nut = preg_replace(',[.]html$,uims', '', trim($nut));
218
-				$arbre['noisette'][$k] = $nut;
219
-				if (!@is_readable($dir_plugins . "$plug/$nut.html")) {
220
-					if (!$silence) {
221
-						$arbre['erreur'][] = _T('erreur_plugin_fichier_absent') . " : $nut";
222
-					}
223
-				}
224
-			}
225
-		}
226
-		$traduire = [];
227
-		if (spip_xml_match_nodes(',^traduire,', $arbre, $trads)) {
228
-			foreach (array_keys($trads) as $tag) {
229
-				[$tag, $att] = spip_xml_decompose_tag($tag);
230
-				$traduire[] = $att;
231
-			}
232
-		}
233
-		$arbre['traduire'] = $traduire;
234
-	}
126
+        $extraire_pipelines = charger_fonction('extraire_pipelines', 'plugins');
127
+        $arbre['pipeline'] = $extraire_pipelines($arbre);
128
+        foreach ($arbre['pipeline'] as $pipe) {
129
+            if (!isset($pipe['nom'])) {
130
+                if (!$silence) {
131
+                    $arbre['erreur'][] = _T('erreur_plugin_nom_pipeline_non_defini');
132
+                }
133
+            }
134
+            if (isset($pipe['action'])) {
135
+                $action = $pipe['action'];
136
+            } else {
137
+                $action = $pipe['nom'];
138
+            }
139
+            // verif que la methode a un nom autorise
140
+            if (in_array(strtolower($action), $liste_methodes_reservees)) {
141
+                if (!$silence) {
142
+                    $arbre['erreur'][] = _T('erreur_plugin_nom_fonction_interdit') . " : $action";
143
+                }
144
+            }
145
+            if (isset($pipe['inclure'])) {
146
+                $inclure = $dir_plugins . "$plug/" . $pipe['inclure'];
147
+                if (!@is_readable($inclure)) {
148
+                    if (!$silence) {
149
+                        $arbre['erreur'][] = _T('erreur_plugin_fichier_absent') . " : $inclure";
150
+                    }
151
+                }
152
+            }
153
+        }
154
+        $necessite = [];
155
+        $spip_trouve = false;
156
+        if (spip_xml_match_nodes(',^necessite,', $arbre, $needs)) {
157
+            foreach (array_keys($needs) as $tag) {
158
+                [$tag, $att] = spip_xml_decompose_tag($tag);
159
+                if (!isset($att['id'])) {
160
+                    if (!$silence) {
161
+                        $arbre['erreur'][] = _T(
162
+                            'erreur_plugin_attribut_balise_manquant',
163
+                            ['attribut' => 'id', 'balise' => $att]
164
+                        );
165
+                    }
166
+                } else {
167
+                    $necessite[] = $att;
168
+                }
169
+                if (strtolower($att['id']) == 'spip') {
170
+                    $spip_trouve = true;
171
+                }
172
+            }
173
+        }
174
+        if ($compat_spip and !$spip_trouve) {
175
+            $necessite[] = ['id' => 'spip', 'version' => $compat_spip];
176
+        }
177
+        $arbre['necessite'] = $necessite;
178
+        $utilise = [];
179
+        if (spip_xml_match_nodes(',^utilise,', $arbre, $uses)) {
180
+            foreach (array_keys($uses) as $tag) {
181
+                [$tag, $att] = spip_xml_decompose_tag($tag);
182
+                if (!isset($att['id'])) {
183
+                    if (!$silence) {
184
+                        $arbre['erreur'][] = _T(
185
+                            'erreur_plugin_attribut_balise_manquant',
186
+                            ['attribut' => 'id', 'balise' => $att]
187
+                        );
188
+                    }
189
+                } else {
190
+                    $utilise[] = $att;
191
+                }
192
+            }
193
+        }
194
+        $arbre['utilise'] = $utilise;
195
+        $procure = [];
196
+        if (spip_xml_match_nodes(',^procure,', $arbre, $uses)) {
197
+            foreach (array_keys($uses) as $tag) {
198
+                [$tag, $att] = spip_xml_decompose_tag($tag);
199
+                $procure[] = $att;
200
+            }
201
+        }
202
+        $arbre['procure'] = $procure;
203
+        $path = [];
204
+        if (spip_xml_match_nodes(',^chemin,', $arbre, $paths)) {
205
+            foreach (array_keys($paths) as $tag) {
206
+                [$tag, $att] = spip_xml_decompose_tag($tag);
207
+                $att['path'] = $att['dir']; // ancienne syntaxe
208
+                $path[] = $att;
209
+            }
210
+        } else {
211
+            $path = [['dir' => '']];
212
+        } // initialiser par defaut
213
+        $arbre['path'] = $path;
214
+        // exposer les noisettes
215
+        if (isset($arbre['noisette'])) {
216
+            foreach ($arbre['noisette'] as $k => $nut) {
217
+                $nut = preg_replace(',[.]html$,uims', '', trim($nut));
218
+                $arbre['noisette'][$k] = $nut;
219
+                if (!@is_readable($dir_plugins . "$plug/$nut.html")) {
220
+                    if (!$silence) {
221
+                        $arbre['erreur'][] = _T('erreur_plugin_fichier_absent') . " : $nut";
222
+                    }
223
+                }
224
+            }
225
+        }
226
+        $traduire = [];
227
+        if (spip_xml_match_nodes(',^traduire,', $arbre, $trads)) {
228
+            foreach (array_keys($trads) as $tag) {
229
+                [$tag, $att] = spip_xml_decompose_tag($tag);
230
+                $traduire[] = $att;
231
+            }
232
+        }
233
+        $arbre['traduire'] = $traduire;
234
+    }
235 235
 }
Please login to merge, or discard this patch.
ecrire/plugins/afficher_nom_plugin.php 1 patch
Indentation   +40 added lines, -40 removed lines patch added patch discarded remove patch
@@ -11,61 +11,61 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 include_spip('inc/charsets');
17 17
 include_spip('inc/texte');
18 18
 include_spip('plugins/afficher_plugin');
19 19
 
20 20
 function plugins_afficher_nom_plugin_dist(
21
-	$url_page,
22
-	$plug_file,
23
-	$checked,
24
-	$actif,
25
-	$expose = false,
26
-	$class_li = 'item',
27
-	$dir_plugins = _DIR_PLUGINS
21
+    $url_page,
22
+    $plug_file,
23
+    $checked,
24
+    $actif,
25
+    $expose = false,
26
+    $class_li = 'item',
27
+    $dir_plugins = _DIR_PLUGINS
28 28
 ) {
29
-	static $id_input = 0;
30
-	static $versions = [];
29
+    static $id_input = 0;
30
+    static $versions = [];
31 31
 
32
-	$erreur = false;
33
-	$s = '';
32
+    $erreur = false;
33
+    $s = '';
34 34
 
35
-	$get_infos = charger_fonction('get_infos', 'plugins');
36
-	$info = $get_infos($plug_file, false, $dir_plugins);
35
+    $get_infos = charger_fonction('get_infos', 'plugins');
36
+    $info = $get_infos($plug_file, false, $dir_plugins);
37 37
 
38
-	// numerotons les occurences d'un meme prefix
39
-	$versions[$info['prefix']] = isset($versions[$info['prefix']]) ? $versions[$info['prefix']] + 1 : '';
40
-	$id = $info['prefix'] . $versions[$info['prefix']];
38
+    // numerotons les occurences d'un meme prefix
39
+    $versions[$info['prefix']] = isset($versions[$info['prefix']]) ? $versions[$info['prefix']] + 1 : '';
40
+    $id = $info['prefix'] . $versions[$info['prefix']];
41 41
 
42
-	$class = $class_li;
43
-	$class .= $actif ? ' actif' : '';
44
-	$class .= $expose ? ' on' : '';
45
-	$erreur = isset($info['erreur']);
46
-	if ($erreur) {
47
-		$class .= ' error';
48
-	}
49
-	$s .= "<li id='$id' class='$class'>";
42
+    $class = $class_li;
43
+    $class .= $actif ? ' actif' : '';
44
+    $class .= $expose ? ' on' : '';
45
+    $erreur = isset($info['erreur']);
46
+    if ($erreur) {
47
+        $class .= ' error';
48
+    }
49
+    $s .= "<li id='$id' class='$class'>";
50 50
 
51
-	// Cartouche Resume
52
-	$s .= "<div class='resume'>";
51
+    // Cartouche Resume
52
+    $s .= "<div class='resume'>";
53 53
 
54
-	$prefix = $info['prefix'];
55
-	$dir = "$dir_plugins$plug_file/lang/$prefix";
56
-	$desc = plugin_propre($info['description'], $dir);
57
-	$url_stat = parametre_url($url_page, 'plugin', $dir_plugins . $plug_file);
54
+    $prefix = $info['prefix'];
55
+    $dir = "$dir_plugins$plug_file/lang/$prefix";
56
+    $desc = plugin_propre($info['description'], $dir);
57
+    $url_stat = parametre_url($url_page, 'plugin', $dir_plugins . $plug_file);
58 58
 
59
-	$s .= "<strong class='nom'>" . typo($info['nom']) . '</strong>';
60
-	$s .= " <span class='version'>" . $info['version'] . '</span>';
61
-	$s .= " <span class='etat'> - " . plugin_etat_en_clair($info['etat']) . '</span>';
62
-	$s .= '</div>';
59
+    $s .= "<strong class='nom'>" . typo($info['nom']) . '</strong>';
60
+    $s .= " <span class='version'>" . $info['version'] . '</span>';
61
+    $s .= " <span class='etat'> - " . plugin_etat_en_clair($info['etat']) . '</span>';
62
+    $s .= '</div>';
63 63
 
64
-	if ($erreur) {
65
-		$s .= "<div class='erreur'>" . join('<br >', $info['erreur']) . '</div>';
66
-	}
64
+    if ($erreur) {
65
+        $s .= "<div class='erreur'>" . join('<br >', $info['erreur']) . '</div>';
66
+    }
67 67
 
68
-	$s .= '</li>';
68
+    $s .= '</li>';
69 69
 
70
-	return $s;
70
+    return $s;
71 71
 }
Please login to merge, or discard this patch.
ecrire/inc/plonger.php 1 patch
Indentation   +88 added lines, -88 removed lines patch added patch discarded remove patch
@@ -11,112 +11,112 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('inc/texte');
18 18
 
19 19
 function inc_plonger_dist($id_rubrique, $idom = '', $list = [], $col = 1, $exclu = 0, $do = 'aff') {
20 20
 
21
-	if ($list) {
22
-		$id_rubrique = $list[$col - 1];
23
-	}
21
+    if ($list) {
22
+        $id_rubrique = $list[$col - 1];
23
+    }
24 24
 
25
-	$ret = '';
25
+    $ret = '';
26 26
 
27
-	# recherche les filles et petites-filles de la rubrique donnee
28
-	# en excluant une eventuelle rubrique interdite (par exemple, lorsqu'on
29
-	# deplace une rubrique, on peut la deplacer partout a partir de la
30
-	# racine... sauf vers elle-meme ou sa propre branche)
31
-	$ordre = [];
32
-	$rub = [];
27
+    # recherche les filles et petites-filles de la rubrique donnee
28
+    # en excluant une eventuelle rubrique interdite (par exemple, lorsqu'on
29
+    # deplace une rubrique, on peut la deplacer partout a partir de la
30
+    # racine... sauf vers elle-meme ou sa propre branche)
31
+    $ordre = [];
32
+    $rub = [];
33 33
 
34
-	$res = sql_select(
35
-		'rub1.id_rubrique, rub1.titre, rub1.id_parent, rub1.lang, rub1.langue_choisie, rub2.id_rubrique AS id_enfant',
36
-		'spip_rubriques AS rub1 LEFT JOIN spip_rubriques AS rub2 ON (rub1.id_rubrique = rub2.id_parent)',
37
-		'rub1.id_parent = ' . sql_quote($id_rubrique) . '
34
+    $res = sql_select(
35
+        'rub1.id_rubrique, rub1.titre, rub1.id_parent, rub1.lang, rub1.langue_choisie, rub2.id_rubrique AS id_enfant',
36
+        'spip_rubriques AS rub1 LEFT JOIN spip_rubriques AS rub2 ON (rub1.id_rubrique = rub2.id_parent)',
37
+        'rub1.id_parent = ' . sql_quote($id_rubrique) . '
38 38
 			AND rub1.id_rubrique!=' . sql_quote($exclu) . '
39 39
 			AND (rub2.id_rubrique IS NULL OR rub2.id_rubrique!=' . sql_quote($exclu) . ')',
40
-		'',
41
-		'0+rub1.titre,rub1.titre'
42
-	);
40
+        '',
41
+        '0+rub1.titre,rub1.titre'
42
+    );
43 43
 
44
-	while ($row = sql_fetch($res)) {
45
-		if (autoriser('voir', 'rubrique', $row['id_rubrique'])) {
46
-			$rub[$row['id_rubrique']]['enfants'] = $row['id_enfant'];
47
-			if ($row['id_parent'] == $id_rubrique) {
48
-				$t = trim(typo(supprimer_numero($row['titre'])));
49
-				if ($row['langue_choisie'] != 'oui') {
50
-					$t .= ' <small title="'
51
-						. traduire_nom_langue($row['lang'])
52
-						. '">[' . $row['lang'] . ']</small>';
53
-				}
54
-				$ordre[$row['id_rubrique']] = $t;
55
-			}
56
-		}
57
-	}
58
-	$next = $list[$col] ?? 0;
59
-	if ($ordre) {
60
-		$rec = generer_url_ecrire('plonger', "rac=$idom&exclus=$exclu&do=$do&col=" . ($col + 1));
61
-		$info = generer_url_ecrire('informer', "type=rubrique&rac=$idom&do=$do&id=");
62
-		$args = "'$idom',this,$col,'" . $GLOBALS['spip_lang_left'] . "','$info',event";
44
+    while ($row = sql_fetch($res)) {
45
+        if (autoriser('voir', 'rubrique', $row['id_rubrique'])) {
46
+            $rub[$row['id_rubrique']]['enfants'] = $row['id_enfant'];
47
+            if ($row['id_parent'] == $id_rubrique) {
48
+                $t = trim(typo(supprimer_numero($row['titre'])));
49
+                if ($row['langue_choisie'] != 'oui') {
50
+                    $t .= ' <small title="'
51
+                        . traduire_nom_langue($row['lang'])
52
+                        . '">[' . $row['lang'] . ']</small>';
53
+                }
54
+                $ordre[$row['id_rubrique']] = $t;
55
+            }
56
+        }
57
+    }
58
+    $next = $list[$col] ?? 0;
59
+    if ($ordre) {
60
+        $rec = generer_url_ecrire('plonger', "rac=$idom&exclus=$exclu&do=$do&col=" . ($col + 1));
61
+        $info = generer_url_ecrire('informer', "type=rubrique&rac=$idom&do=$do&id=");
62
+        $args = "'$idom',this,$col,'" . $GLOBALS['spip_lang_left'] . "','$info',event";
63 63
 
64
-		foreach ($ordre as $id => $titrebrut) {
65
-			$titre = supprimer_numero($titrebrut);
64
+        foreach ($ordre as $id => $titrebrut) {
65
+            $titre = supprimer_numero($titrebrut);
66 66
 
67
-			$classe1 = 'petit-item ' . ($id_rubrique ? 'petite-rubrique' : 'petit-secteur');
68
-			if (isset($rub[$id]['enfants'])) {
69
-				$classe2 = " class='rub-ouverte'";
70
-				$url = "\nhref='$rec&amp;id=$id'";
71
-			} else {
72
-				$classe2 = $url = '';
73
-				$url = "\nhref='javascript:void(0)'";
74
-			}
67
+            $classe1 = 'petit-item ' . ($id_rubrique ? 'petite-rubrique' : 'petit-secteur');
68
+            if (isset($rub[$id]['enfants'])) {
69
+                $classe2 = " class='rub-ouverte'";
70
+                $url = "\nhref='$rec&amp;id=$id'";
71
+            } else {
72
+                $classe2 = $url = '';
73
+                $url = "\nhref='javascript:void(0)'";
74
+            }
75 75
 
76
-			$js_func = $do . '_selection_titre';
77
-			$click = "\nonclick=\"changerhighlight(this.parentNode.parentNode.parentNode);\nreturn "
78
-				. (!is_array($list) ? ' false'
79
-					: "aff_selection_provisoire($id,$args)")
76
+            $js_func = $do . '_selection_titre';
77
+            $click = "\nonclick=\"changerhighlight(this.parentNode.parentNode.parentNode);\nreturn "
78
+                . (!is_array($list) ? ' false'
79
+                    : "aff_selection_provisoire($id,$args)")
80 80
 # ce lien provoque la selection (directe) de la rubrique cliquee
81 81
 # et l'affichage de son titre dans le bandeau
82
-				. "\"\nondblclick=\""
83
-				. "$js_func(this."
84
-				. 'firstChild.nodeValue,'
85
-				. $id
86
-				. ",'selection_rubrique','id_parent');"
87
-				. "\nreturn aff_selection_provisoire($id,$args);"
88
-				. '"';
82
+                . "\"\nondblclick=\""
83
+                . "$js_func(this."
84
+                . 'firstChild.nodeValue,'
85
+                . $id
86
+                . ",'selection_rubrique','id_parent');"
87
+                . "\nreturn aff_selection_provisoire($id,$args);"
88
+                . '"';
89 89
 
90
-			$ret .= "<div class='"
91
-				. (($id == $next) ? 'item on' : 'item')
92
-				. "'><div class='"
93
-				. $classe1
94
-				. "'><div$classe2><a"
95
-				. $url
96
-				. $click
97
-				. '>'
98
-				. $titre
99
-				. '</a></div></div></div>';
100
-		}
101
-	}
90
+            $ret .= "<div class='"
91
+                . (($id == $next) ? 'item on' : 'item')
92
+                . "'><div class='"
93
+                . $classe1
94
+                . "'><div$classe2><a"
95
+                . $url
96
+                . $click
97
+                . '>'
98
+                . $titre
99
+                . '</a></div></div></div>';
100
+        }
101
+    }
102 102
 
103
-	$idom2 = $idom . '_col_' . ($col + 1);
104
-	$left = ($col * 250);
103
+    $idom2 = $idom . '_col_' . ($col + 1);
104
+    $left = ($col * 250);
105 105
 
106
-	return http_img_pack(
107
-		'loader.svg',
108
-		'',
109
-		"class='loader' style='visibility: hidden; position: absolute; " . $GLOBALS['spip_lang_left'] . ': '
110
-		. ($left - 30)
111
-		. "px; top: 2px; z-index: 2;' id='img_$idom2'"
112
-	)
113
-	. "<div style='width: 250px; height: 100%; overflow: auto; position: absolute; top: 0px; " . $GLOBALS['spip_lang_left'] . ': '
114
-	. ($left - 250)
115
-	. "px;'>"
116
-	. $ret
117
-	. "\n</div>\n<div id='$idom2'>"
118
-	. ($next
119
-		? inc_plonger_dist($id_rubrique, $idom, $list, $col + 1, $exclu)
120
-		: '')
121
-	. "\n</div>";
106
+    return http_img_pack(
107
+        'loader.svg',
108
+        '',
109
+        "class='loader' style='visibility: hidden; position: absolute; " . $GLOBALS['spip_lang_left'] . ': '
110
+        . ($left - 30)
111
+        . "px; top: 2px; z-index: 2;' id='img_$idom2'"
112
+    )
113
+    . "<div style='width: 250px; height: 100%; overflow: auto; position: absolute; top: 0px; " . $GLOBALS['spip_lang_left'] . ': '
114
+    . ($left - 250)
115
+    . "px;'>"
116
+    . $ret
117
+    . "\n</div>\n<div id='$idom2'>"
118
+    . ($next
119
+        ? inc_plonger_dist($id_rubrique, $idom, $list, $col + 1, $exclu)
120
+        : '')
121
+    . "\n</div>";
122 122
 }
Please login to merge, or discard this patch.
ecrire/inc/presentation.php 1 patch
Indentation   +113 added lines, -113 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Presentation
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 include_spip('inc/presentation_mini');
@@ -31,141 +31,141 @@  discard block
 block discarded – undo
31 31
 include_spip('inc/filtres_alertes');
32 32
 
33 33
 function debut_cadre($style, $icone = '', $fonction = '', $titre = '', $id = '', $class = '', $padding = true) {
34
-	$fond = null;
35
-	$style_mapping = [
36
-		'r' => 'simple',
37
-		'e' => 'raccourcis',
38
-		'couleur' => 'basic highlight',
39
-		'couleur-foncee' => 'basic highlight',
40
-		'trait-couleur' => 'important',
41
-		'alerte' => 'notice',
42
-		'info' => 'info',
43
-		'sous_rub' => 'simple sous-rub'
44
-	];
45
-	$style_titre_mapping = ['couleur' => 'topper', 'trait-couleur' => 'section'];
46
-	$c = $style_mapping[$style] ?? 'simple';
47
-	$class = $c . ($class ? " $class" : '');
48
-	if (!$padding) {
49
-		$class .= ($class ? ' ' : '') . 'no-padding';
50
-	}
51
-
52
-	//($id?"id='$id' ":"")
53
-	if (strlen($icone) > 1) {
54
-		if ($icone_renommer = charger_fonction('icone_renommer', 'inc', true)) {
55
-			[$fond, $fonction] = $icone_renommer($icone, $fonction);
56
-		}
57
-		$size = 24;
58
-		if (preg_match('/-([0-9]{1,3})[.](gif|png)$/i', $fond, $match)) {
59
-			$size = $match[1];
60
-		}
61
-		if ($fonction) {
62
-			// 2 images pour composer l'icone : le fond (article) en background,
63
-			// la fonction (new) en image
64
-			$icone = http_img_pack($fonction, '', "class='cadre-icone' width='$size' height='$size'\n" .
65
-				http_style_background($fond, 'no-repeat center center', $size));
66
-		} else {
67
-			$icone = http_img_pack($fond, '', "class='cadre-icone' width='$size' height='$size'");
68
-		}
69
-		$titre = $icone . $titre;
70
-	}
71
-
72
-	return boite_ouvrir($titre, $class, $style_titre_mapping[$style] ?? '', $id);
34
+    $fond = null;
35
+    $style_mapping = [
36
+        'r' => 'simple',
37
+        'e' => 'raccourcis',
38
+        'couleur' => 'basic highlight',
39
+        'couleur-foncee' => 'basic highlight',
40
+        'trait-couleur' => 'important',
41
+        'alerte' => 'notice',
42
+        'info' => 'info',
43
+        'sous_rub' => 'simple sous-rub'
44
+    ];
45
+    $style_titre_mapping = ['couleur' => 'topper', 'trait-couleur' => 'section'];
46
+    $c = $style_mapping[$style] ?? 'simple';
47
+    $class = $c . ($class ? " $class" : '');
48
+    if (!$padding) {
49
+        $class .= ($class ? ' ' : '') . 'no-padding';
50
+    }
51
+
52
+    //($id?"id='$id' ":"")
53
+    if (strlen($icone) > 1) {
54
+        if ($icone_renommer = charger_fonction('icone_renommer', 'inc', true)) {
55
+            [$fond, $fonction] = $icone_renommer($icone, $fonction);
56
+        }
57
+        $size = 24;
58
+        if (preg_match('/-([0-9]{1,3})[.](gif|png)$/i', $fond, $match)) {
59
+            $size = $match[1];
60
+        }
61
+        if ($fonction) {
62
+            // 2 images pour composer l'icone : le fond (article) en background,
63
+            // la fonction (new) en image
64
+            $icone = http_img_pack($fonction, '', "class='cadre-icone' width='$size' height='$size'\n" .
65
+                http_style_background($fond, 'no-repeat center center', $size));
66
+        } else {
67
+            $icone = http_img_pack($fond, '', "class='cadre-icone' width='$size' height='$size'");
68
+        }
69
+        $titre = $icone . $titre;
70
+    }
71
+
72
+    return boite_ouvrir($titre, $class, $style_titre_mapping[$style] ?? '', $id);
73 73
 }
74 74
 
75 75
 function fin_cadre() {
76
- return boite_fermer();
76
+    return boite_fermer();
77 77
 }
78 78
 
79 79
 
80 80
 function debut_cadre_relief(
81
-	$icone = '',
82
-	$dummy = '',
83
-	$fonction = '',
84
-	$titre = '',
85
-	$id = '',
86
-	$class = ''
81
+    $icone = '',
82
+    $dummy = '',
83
+    $fonction = '',
84
+    $titre = '',
85
+    $id = '',
86
+    $class = ''
87 87
 ) {
88
-	return debut_cadre('r', $icone, $fonction, $titre, $id, $class);
88
+    return debut_cadre('r', $icone, $fonction, $titre, $id, $class);
89 89
 }
90 90
 
91 91
 function fin_cadre_relief() {
92
- return fin_cadre();
92
+    return fin_cadre();
93 93
 }
94 94
 
95 95
 function debut_cadre_enfonce(
96
-	$icone = '',
97
-	$dummy = '',
98
-	$fonction = '',
99
-	$titre = '',
100
-	$id = '',
101
-	$class = ''
96
+    $icone = '',
97
+    $dummy = '',
98
+    $fonction = '',
99
+    $titre = '',
100
+    $id = '',
101
+    $class = ''
102 102
 ) {
103
-	return debut_cadre('e', $icone, $fonction, $titre, $id, $class);
103
+    return debut_cadre('e', $icone, $fonction, $titre, $id, $class);
104 104
 }
105 105
 
106 106
 function fin_cadre_enfonce() {
107
- return fin_cadre();
107
+    return fin_cadre();
108 108
 }
109 109
 
110 110
 function debut_cadre_sous_rub(
111
-	$icone = '',
112
-	$dummy = '',
113
-	$fonction = '',
114
-	$titre = '',
115
-	$id = '',
116
-	$class = ''
111
+    $icone = '',
112
+    $dummy = '',
113
+    $fonction = '',
114
+    $titre = '',
115
+    $id = '',
116
+    $class = ''
117 117
 ) {
118
-	return debut_cadre('sous_rub', $icone, $fonction, $titre, $id, $class);
118
+    return debut_cadre('sous_rub', $icone, $fonction, $titre, $id, $class);
119 119
 }
120 120
 
121 121
 function fin_cadre_sous_rub() {
122
- return fin_cadre();
122
+    return fin_cadre();
123 123
 }
124 124
 
125 125
 function debut_cadre_couleur(
126
-	$icone = '',
127
-	$dummy = '',
128
-	$fonction = '',
129
-	$titre = '',
130
-	$id = '',
131
-	$class = ''
126
+    $icone = '',
127
+    $dummy = '',
128
+    $fonction = '',
129
+    $titre = '',
130
+    $id = '',
131
+    $class = ''
132 132
 ) {
133
-	return debut_cadre('couleur', $icone, $fonction, $titre, $id, $class);
133
+    return debut_cadre('couleur', $icone, $fonction, $titre, $id, $class);
134 134
 }
135 135
 
136 136
 function fin_cadre_couleur() {
137
- return fin_cadre();
137
+    return fin_cadre();
138 138
 }
139 139
 
140 140
 function debut_cadre_trait_couleur(
141
-	$icone = '',
142
-	$dummy = '',
143
-	$fonction = '',
144
-	$titre = '',
145
-	$id = '',
146
-	$class = ''
141
+    $icone = '',
142
+    $dummy = '',
143
+    $fonction = '',
144
+    $titre = '',
145
+    $id = '',
146
+    $class = ''
147 147
 ) {
148
-	return debut_cadre('trait-couleur', $icone, $fonction, $titre, $id, $class);
148
+    return debut_cadre('trait-couleur', $icone, $fonction, $titre, $id, $class);
149 149
 }
150 150
 
151 151
 function fin_cadre_trait_couleur() {
152
- return fin_cadre();
152
+    return fin_cadre();
153 153
 }
154 154
 
155 155
 function debut_boite_alerte() {
156
- return debut_cadre('alerte', '', '', '', '', '');
156
+    return debut_cadre('alerte', '', '', '', '', '');
157 157
 }
158 158
 
159 159
 function fin_boite_alerte() {
160
- return fin_cadre();
160
+    return fin_cadre();
161 161
 }
162 162
 
163 163
 function debut_boite_info() {
164
- return debut_cadre('info', '', '', '', '', '');
164
+    return debut_cadre('info', '', '', '', '', '');
165 165
 }
166 166
 
167 167
 function fin_boite_info() {
168
- return fin_cadre();
168
+    return fin_cadre();
169 169
 }
170 170
 
171 171
 /**
@@ -176,17 +176,17 @@  discard block
 block discarded – undo
176 176
  * @return string Code PHP.
177 177
  **/
178 178
 function gros_titre(
179
-	$titre,
180
-	$ze_logo = ''
179
+    $titre,
180
+    $ze_logo = ''
181 181
 ) {
182
-	return "<h1 class = 'grostitre'>" . $ze_logo . ' ' . typo($titre) . "</h1>\n";
182
+    return "<h1 class = 'grostitre'>" . $ze_logo . ' ' . typo($titre) . "</h1>\n";
183 183
 }
184 184
 
185 185
 // La boite des raccourcis
186 186
 // Se place a droite si l'ecran est en mode panoramique.
187 187
 function bloc_des_raccourcis($bloc) {
188
-	return creer_colonne_droite()
189
-	. boite_ouvrir(_T('titre_cadre_raccourcis'), 'raccourcis') . $bloc . boite_fermer();
188
+    return creer_colonne_droite()
189
+    . boite_ouvrir(_T('titre_cadre_raccourcis'), 'raccourcis') . $bloc . boite_fermer();
190 190
 }
191 191
 
192 192
 //
@@ -196,18 +196,18 @@  discard block
 block discarded – undo
196 196
 // Fonctions onglets
197 197
 // @param string $sous_classe	prend la valeur second pour definir les onglet de deuxieme niveau
198 198
 function debut_onglet($classe = 'barre_onglet') {
199
- return "<div class = '$classe clearfix'><ul>\n";
199
+    return "<div class = '$classe clearfix'><ul>\n";
200 200
 }
201 201
 
202 202
 function fin_onglet() {
203
- return "</ul></div>\n";
203
+    return "</ul></div>\n";
204 204
 }
205 205
 
206 206
 function onglet($texte, $lien, $onglet_ref, $onglet, $icone = '') {
207
-	return '<li>'
208
-	. ($icone ? http_img_pack($icone, '', " class='cadre-icone'") : '')
209
-	. lien_ou_expose($lien, $texte, $onglet == $onglet_ref)
210
-	. '</li>';
207
+    return '<li>'
208
+    . ($icone ? http_img_pack($icone, '', " class='cadre-icone'") : '')
209
+    . lien_ou_expose($lien, $texte, $onglet == $onglet_ref)
210
+    . '</li>';
211 211
 }
212 212
 
213 213
 /**
@@ -239,14 +239,14 @@  discard block
 block discarded – undo
239 239
  *     Code HTML du lien
240 240
  **/
241 241
 function icone_verticale($texte, $lien, $fond, $fonction = '', $align = '', $javascript = '') {
242
-	// cas d'ajax_action_auteur: faut defaire le boulot
243
-	// (il faudrait fusionner avec le cas $javascript)
244
-	if (preg_match(",^<a\shref='([^']*)'([^>]*)>(.*)</a>$,i", $lien, $r)) {
245
-		[$x, $lien, $atts, $texte] = $r;
246
-		$javascript .= $atts;
247
-	}
248
-
249
-	return icone_base($lien, $texte, $fond, $fonction, "verticale $align", $javascript);
242
+    // cas d'ajax_action_auteur: faut defaire le boulot
243
+    // (il faudrait fusionner avec le cas $javascript)
244
+    if (preg_match(",^<a\shref='([^']*)'([^>]*)>(.*)</a>$,i", $lien, $r)) {
245
+        [$x, $lien, $atts, $texte] = $r;
246
+        $javascript .= $atts;
247
+    }
248
+
249
+    return icone_base($lien, $texte, $fond, $fonction, "verticale $align", $javascript);
250 250
 }
251 251
 
252 252
 /**
@@ -271,15 +271,15 @@  discard block
 block discarded – undo
271 271
  *     Code HTML du lien
272 272
  **/
273 273
 function icone_horizontale($texte, $lien, $fond, $fonction = '', $dummy = '', $javascript = '') {
274
-	$retour = '';
275
-	// cas d'ajax_action_auteur: faut defaire le boulot
276
-	// (il faudrait fusionner avec le cas $javascript)
277
-	if (preg_match(",^<a\shref='([^']*)'([^>]*)>(.*)</a>$,i", $lien, $r)) {
278
-		[$x, $lien, $atts, $texte] = $r;
279
-		$javascript .= $atts;
280
-	}
274
+    $retour = '';
275
+    // cas d'ajax_action_auteur: faut defaire le boulot
276
+    // (il faudrait fusionner avec le cas $javascript)
277
+    if (preg_match(",^<a\shref='([^']*)'([^>]*)>(.*)</a>$,i", $lien, $r)) {
278
+        [$x, $lien, $atts, $texte] = $r;
279
+        $javascript .= $atts;
280
+    }
281 281
 
282
-	$retour = icone_base($lien, $texte, $fond, $fonction, 'horizontale', $javascript);
282
+    $retour = icone_base($lien, $texte, $fond, $fonction, 'horizontale', $javascript);
283 283
 
284
-	return $retour;
284
+    return $retour;
285 285
 }
Please login to merge, or discard this patch.
ecrire/inc/math.php 1 patch
Indentation   +97 added lines, -97 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@  discard block
 block discarded – undo
12 12
 
13 13
 //
14 14
 if (!defined('_ECRIRE_INC_VERSION')) {
15
-	return;
15
+    return;
16 16
 }
17 17
 
18 18
 //
@@ -21,54 +21,54 @@  discard block
 block discarded – undo
21 21
 
22 22
 function produire_image_math($tex) {
23 23
 
24
-	switch ($GLOBALS['traiter_math']) {
25
-		// Attention: mathml desactiv'e pour l'instant
26
-		case 'mathml':
27
-			$ext = '.xhtml';
28
-			$server = $GLOBALS['mathml_server'];
29
-			break;
30
-		case 'tex':
31
-			$ext = '.png';
32
-			$server = $GLOBALS['tex_server'];
33
-			break;
34
-		default:
35
-			return $tex;
36
-	}
37
-
38
-	// Regarder dans le repertoire local des images TeX et blocs MathML
39
-	if (!@is_dir($dir_tex = _DIR_VAR . 'cache-TeX/')) {
40
-		@mkdir($dir_tex, _SPIP_CHMOD);
41
-	}
42
-	$fichier = $dir_tex . md5(trim($tex)) . $ext;
43
-
44
-
45
-	if (!@file_exists($fichier)) {
46
-		// Aller chercher l'image sur le serveur
47
-		if ($server) {
48
-			spip_log($url = $server . '?' . rawurlencode($tex));
49
-			include_spip('inc/distant');
50
-			recuperer_url($url, ['file' => $fichier]);
51
-		}
52
-	}
53
-
54
-
55
-	// Composer la reponse selon presence ou non de l'image
56
-	$tex = entites_html($tex);
57
-	if (@file_exists($fichier)) {
58
-		// MathML
59
-		if ($GLOBALS['traiter_math'] == 'mathml') {
60
-			return implode('', file($fichier));
61
-		} // TeX
62
-		else {
63
-			[, , , $size] = @spip_getimagesize($fichier);
64
-			$alt = "alt=\"$tex\" title=\"$tex\"";
65
-
66
-			return "<img src=\"$fichier\" style=\"vertical-align:middle;\" $size $alt />";
67
-		}
68
-	} else // pas de fichier
69
-	{
70
-		return "<tt><span class='spip_code' dir='ltr'>$tex</span></tt>";
71
-	}
24
+    switch ($GLOBALS['traiter_math']) {
25
+        // Attention: mathml desactiv'e pour l'instant
26
+        case 'mathml':
27
+            $ext = '.xhtml';
28
+            $server = $GLOBALS['mathml_server'];
29
+            break;
30
+        case 'tex':
31
+            $ext = '.png';
32
+            $server = $GLOBALS['tex_server'];
33
+            break;
34
+        default:
35
+            return $tex;
36
+    }
37
+
38
+    // Regarder dans le repertoire local des images TeX et blocs MathML
39
+    if (!@is_dir($dir_tex = _DIR_VAR . 'cache-TeX/')) {
40
+        @mkdir($dir_tex, _SPIP_CHMOD);
41
+    }
42
+    $fichier = $dir_tex . md5(trim($tex)) . $ext;
43
+
44
+
45
+    if (!@file_exists($fichier)) {
46
+        // Aller chercher l'image sur le serveur
47
+        if ($server) {
48
+            spip_log($url = $server . '?' . rawurlencode($tex));
49
+            include_spip('inc/distant');
50
+            recuperer_url($url, ['file' => $fichier]);
51
+        }
52
+    }
53
+
54
+
55
+    // Composer la reponse selon presence ou non de l'image
56
+    $tex = entites_html($tex);
57
+    if (@file_exists($fichier)) {
58
+        // MathML
59
+        if ($GLOBALS['traiter_math'] == 'mathml') {
60
+            return implode('', file($fichier));
61
+        } // TeX
62
+        else {
63
+            [, , , $size] = @spip_getimagesize($fichier);
64
+            $alt = "alt=\"$tex\" title=\"$tex\"";
65
+
66
+            return "<img src=\"$fichier\" style=\"vertical-align:middle;\" $size $alt />";
67
+        }
68
+    } else // pas de fichier
69
+    {
70
+        return "<tt><span class='spip_code' dir='ltr'>$tex</span></tt>";
71
+    }
72 72
 }
73 73
 
74 74
 
@@ -103,52 +103,52 @@  discard block
 block discarded – undo
103 103
  */
104 104
 function traiter_math($letexte, $source = '', $defaire_amp = false) {
105 105
 
106
-	$texte_a_voir = $letexte;
107
-	while (($debut = strpos($texte_a_voir, '<math>')) !== false) {
108
-		if (!$fin = strpos($texte_a_voir, '</math>')) {
109
-			$fin = strlen($texte_a_voir);
110
-		}
111
-
112
-		$texte_debut = substr($texte_a_voir, 0, $debut);
113
-		$texte_milieu = substr(
114
-			$texte_a_voir,
115
-			$debut + strlen('<math>'),
116
-			$fin - $debut - strlen('<math>')
117
-		);
118
-		$texte_fin = substr(
119
-			$texte_a_voir,
120
-			$fin + strlen('</math>'),
121
-			strlen($texte_a_voir)
122
-		);
123
-
124
-		// Les doubles $$x^2$$ en mode 'div'
125
-		while ((preg_match(',[$][$]([^$]+)[$][$],', $texte_milieu, $regs))) {
126
-			$expression = $regs[1];
127
-			if ($defaire_amp) {
128
-				$expression = str_replace('&amp;', '&', $expression);
129
-			}
130
-			$echap = "\n<p class=\"spip\" style=\"text-align: center;\">" . produire_image_math($expression) . "</p>\n";
131
-			$pos = strpos($texte_milieu, (string) $regs[0]);
132
-			$texte_milieu = substr($texte_milieu, 0, $pos)
133
-				. code_echappement($echap, $source)
134
-				. substr($texte_milieu, $pos + strlen($regs[0]));
135
-		}
136
-
137
-		// Les simples $x^2$ en mode 'span'
138
-		while ((preg_match(',[$]([^$]+)[$],', $texte_milieu, $regs))) {
139
-			$expression = $regs[1];
140
-			if ($defaire_amp) {
141
-				$expression = str_replace('&amp;', '&', $expression);
142
-			}
143
-			$echap = produire_image_math($expression);
144
-			$pos = strpos($texte_milieu, (string) $regs[0]);
145
-			$texte_milieu = substr($texte_milieu, 0, $pos)
146
-				. code_echappement($echap, $source)
147
-				. substr($texte_milieu, $pos + strlen($regs[0]));
148
-		}
149
-
150
-		$texte_a_voir = $texte_debut . $texte_milieu . $texte_fin;
151
-	}
152
-
153
-	return $texte_a_voir;
106
+    $texte_a_voir = $letexte;
107
+    while (($debut = strpos($texte_a_voir, '<math>')) !== false) {
108
+        if (!$fin = strpos($texte_a_voir, '</math>')) {
109
+            $fin = strlen($texte_a_voir);
110
+        }
111
+
112
+        $texte_debut = substr($texte_a_voir, 0, $debut);
113
+        $texte_milieu = substr(
114
+            $texte_a_voir,
115
+            $debut + strlen('<math>'),
116
+            $fin - $debut - strlen('<math>')
117
+        );
118
+        $texte_fin = substr(
119
+            $texte_a_voir,
120
+            $fin + strlen('</math>'),
121
+            strlen($texte_a_voir)
122
+        );
123
+
124
+        // Les doubles $$x^2$$ en mode 'div'
125
+        while ((preg_match(',[$][$]([^$]+)[$][$],', $texte_milieu, $regs))) {
126
+            $expression = $regs[1];
127
+            if ($defaire_amp) {
128
+                $expression = str_replace('&amp;', '&', $expression);
129
+            }
130
+            $echap = "\n<p class=\"spip\" style=\"text-align: center;\">" . produire_image_math($expression) . "</p>\n";
131
+            $pos = strpos($texte_milieu, (string) $regs[0]);
132
+            $texte_milieu = substr($texte_milieu, 0, $pos)
133
+                . code_echappement($echap, $source)
134
+                . substr($texte_milieu, $pos + strlen($regs[0]));
135
+        }
136
+
137
+        // Les simples $x^2$ en mode 'span'
138
+        while ((preg_match(',[$]([^$]+)[$],', $texte_milieu, $regs))) {
139
+            $expression = $regs[1];
140
+            if ($defaire_amp) {
141
+                $expression = str_replace('&amp;', '&', $expression);
142
+            }
143
+            $echap = produire_image_math($expression);
144
+            $pos = strpos($texte_milieu, (string) $regs[0]);
145
+            $texte_milieu = substr($texte_milieu, 0, $pos)
146
+                . code_echappement($echap, $source)
147
+                . substr($texte_milieu, $pos + strlen($regs[0]));
148
+        }
149
+
150
+        $texte_a_voir = $texte_debut . $texte_milieu . $texte_fin;
151
+    }
152
+
153
+    return $texte_a_voir;
154 154
 }
Please login to merge, or discard this patch.