Completed
Push — master ( 3ef0d6...12d013 )
by cam
01:11
created
ecrire/inc/filtres_mini.php 1 patch
Indentation   +99 added lines, -99 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 
@@ -35,20 +35,20 @@  discard block
 block discarded – undo
35 35
  * @return string URL nettoyée
36 36
  **/
37 37
 function resolve_path($url) {
38
-	[$url, $query] = array_pad(explode('?', $url, 2), 2, null);
39
-	while (
40
-		preg_match(',/\.?/,', $url, $regs)    # supprime // et /./
41
-		or preg_match(',/[^/]*/\.\./,S', $url, $regs)  # supprime /toto/../
42
-		or preg_match(',^/\.\./,S', $url, $regs) # supprime les /../ du haut
43
-	) {
44
-		$url = str_replace($regs[0], '/', $url);
45
-	}
38
+    [$url, $query] = array_pad(explode('?', $url, 2), 2, null);
39
+    while (
40
+        preg_match(',/\.?/,', $url, $regs)    # supprime // et /./
41
+        or preg_match(',/[^/]*/\.\./,S', $url, $regs)  # supprime /toto/../
42
+        or preg_match(',^/\.\./,S', $url, $regs) # supprime les /../ du haut
43
+    ) {
44
+        $url = str_replace($regs[0], '/', $url);
45
+    }
46 46
 
47
-	if ($query) {
48
-		$url .= '?' . $query;
49
-	}
47
+    if ($query) {
48
+        $url .= '?' . $query;
49
+    }
50 50
 
51
-	return '/' . preg_replace(',^/,S', '', $url);
51
+    return '/' . preg_replace(',^/,S', '', $url);
52 52
 }
53 53
 
54 54
 
@@ -69,44 +69,44 @@  discard block
 block discarded – undo
69 69
  **/
70 70
 function suivre_lien($url, $lien) {
71 71
 
72
-	$mot = null;
73
-	$get = null;
74
-	$hash = null;
75
-	if (preg_match(',^(mailto|javascript|data|tel|callto|file|ftp):,iS', $lien)) {
76
-		return $lien;
77
-	}
78
-	if (preg_match(';^((?:[a-z]{3,33}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
79
-		$r = array_pad($r, 3, null);
72
+    $mot = null;
73
+    $get = null;
74
+    $hash = null;
75
+    if (preg_match(',^(mailto|javascript|data|tel|callto|file|ftp):,iS', $lien)) {
76
+        return $lien;
77
+    }
78
+    if (preg_match(';^((?:[a-z]{3,33}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
79
+        $r = array_pad($r, 3, null);
80 80
 
81
-		return $r[1] . resolve_path($r[2]);
82
-	}
81
+        return $r[1] . resolve_path($r[2]);
82
+    }
83 83
 
84
-	# L'url site spip est un lien absolu aussi
85
-	if (isset($GLOBALS['meta']['adresse_site']) and $lien == $GLOBALS['meta']['adresse_site']) {
86
-		return $lien;
87
-	}
84
+    # L'url site spip est un lien absolu aussi
85
+    if (isset($GLOBALS['meta']['adresse_site']) and $lien == $GLOBALS['meta']['adresse_site']) {
86
+        return $lien;
87
+    }
88 88
 
89
-	# lien relatif, il faut verifier l'url de base
90
-	# commencer par virer la chaine de get de l'url de base
91
-	$dir = '/';
92
-	$debut = '';
93
-	if (preg_match(';^((?:[a-z]{3,7}:)?//[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$;S', $url, $regs)) {
94
-		$debut = $regs[1];
95
-		$dir = !strlen($regs[2]) ? '/' : $regs[2];
96
-		$mot = $regs[3];
97
-		$get = $regs[4] ?? '';
98
-		$hash = $regs[5] ?? '';
99
-	}
100
-	switch (substr($lien, 0, 1)) {
101
-		case '/':
102
-			return $debut . resolve_path($lien);
103
-		case '#':
104
-			return $debut . resolve_path($dir . $mot . $get . $lien);
105
-		case '':
106
-			return $debut . resolve_path($dir . $mot . $get . $hash);
107
-		default:
108
-			return $debut . resolve_path($dir . $lien);
109
-	}
89
+    # lien relatif, il faut verifier l'url de base
90
+    # commencer par virer la chaine de get de l'url de base
91
+    $dir = '/';
92
+    $debut = '';
93
+    if (preg_match(';^((?:[a-z]{3,7}:)?//[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$;S', $url, $regs)) {
94
+        $debut = $regs[1];
95
+        $dir = !strlen($regs[2]) ? '/' : $regs[2];
96
+        $mot = $regs[3];
97
+        $get = $regs[4] ?? '';
98
+        $hash = $regs[5] ?? '';
99
+    }
100
+    switch (substr($lien, 0, 1)) {
101
+        case '/':
102
+            return $debut . resolve_path($lien);
103
+        case '#':
104
+            return $debut . resolve_path($dir . $mot . $get . $lien);
105
+        case '':
106
+            return $debut . resolve_path($dir . $mot . $get . $hash);
107
+        default:
108
+            return $debut . resolve_path($dir . $lien);
109
+    }
110 110
 }
111 111
 
112 112
 
@@ -129,14 +129,14 @@  discard block
 block discarded – undo
129 129
  * @return string Texte ou URL (en absolus)
130 130
  **/
131 131
 function url_absolue($url, $base = '') {
132
-	if (strlen($url = trim($url)) == 0) {
133
-		return '';
134
-	}
135
-	if (!$base) {
136
-		$base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : '');
137
-	}
132
+    if (strlen($url = trim($url)) == 0) {
133
+        return '';
134
+    }
135
+    if (!$base) {
136
+        $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : '');
137
+    }
138 138
 
139
-	return suivre_lien($base, $url);
139
+    return suivre_lien($base, $url);
140 140
 }
141 141
 
142 142
 /**
@@ -147,7 +147,7 @@  discard block
 block discarded – undo
147 147
  * @return string
148 148
  */
149 149
 function protocole_implicite($url_absolue) {
150
-	return preg_replace(';^[a-z]{3,7}://;i', '//', $url_absolue);
150
+    return preg_replace(';^[a-z]{3,7}://;i', '//', $url_absolue);
151 151
 }
152 152
 
153 153
 /**
@@ -158,16 +158,16 @@  discard block
 block discarded – undo
158 158
  */
159 159
 function protocole_verifier($url_absolue, $protocoles_autorises = ['http','https']) {
160 160
 
161
-	if (preg_match(';^([a-z]{3,7})://;i', $url_absolue, $m)) {
162
-		$protocole = $m[1];
163
-		if (
164
-			in_array($protocole, $protocoles_autorises)
165
-			or in_array(strtolower($protocole), array_map('strtolower', $protocoles_autorises))
166
-		) {
167
-			return true;
168
-		}
169
-	}
170
-	return false;
161
+    if (preg_match(';^([a-z]{3,7})://;i', $url_absolue, $m)) {
162
+        $protocole = $m[1];
163
+        if (
164
+            in_array($protocole, $protocoles_autorises)
165
+            or in_array(strtolower($protocole), array_map('strtolower', $protocoles_autorises))
166
+        ) {
167
+            return true;
168
+        }
169
+    }
170
+    return false;
171 171
 }
172 172
 
173 173
 /**
@@ -184,27 +184,27 @@  discard block
 block discarded – undo
184 184
  * @return string Texte avec des URLs absolues
185 185
  **/
186 186
 function liens_absolus($texte, $base = '') {
187
-	if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', $texte, $liens, PREG_SET_ORDER)) {
188
-		if (!function_exists('extraire_attribut')) {
189
-			include_spip('inc/filtres');
190
-		}
191
-		foreach ($liens as $lien) {
192
-			foreach (['href', 'src'] as $attr) {
193
-				$href = extraire_attribut($lien[0], $attr) ?? '';
194
-				if (strlen($href) > 0) {
195
-					if (!preg_match(';^((?:[a-z]{3,7}:)?//);iS', $href)) {
196
-						$abs = url_absolue($href, $base);
197
-						if (rtrim($href, '/') !== rtrim($abs, '/') and !preg_match('/^#/', $href)) {
198
-							$texte_lien = inserer_attribut($lien[0], $attr, $abs);
199
-							$texte = str_replace($lien[0], $texte_lien, $texte);
200
-						}
201
-					}
202
-				}
203
-			}
204
-		}
205
-	}
187
+    if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', $texte, $liens, PREG_SET_ORDER)) {
188
+        if (!function_exists('extraire_attribut')) {
189
+            include_spip('inc/filtres');
190
+        }
191
+        foreach ($liens as $lien) {
192
+            foreach (['href', 'src'] as $attr) {
193
+                $href = extraire_attribut($lien[0], $attr) ?? '';
194
+                if (strlen($href) > 0) {
195
+                    if (!preg_match(';^((?:[a-z]{3,7}:)?//);iS', $href)) {
196
+                        $abs = url_absolue($href, $base);
197
+                        if (rtrim($href, '/') !== rtrim($abs, '/') and !preg_match('/^#/', $href)) {
198
+                            $texte_lien = inserer_attribut($lien[0], $attr, $abs);
199
+                            $texte = str_replace($lien[0], $texte_lien, $texte);
200
+                        }
201
+                    }
202
+                }
203
+            }
204
+        }
205
+    }
206 206
 
207
-	return $texte;
207
+    return $texte;
208 208
 }
209 209
 
210 210
 
@@ -220,11 +220,11 @@  discard block
 block discarded – undo
220 220
  * @return string Texte ou URL (en absolus)
221 221
  **/
222 222
 function abs_url($texte, $base = '') {
223
-	if ($GLOBALS['mode_abs_url'] == 'url') {
224
-		return url_absolue($texte, $base);
225
-	} else {
226
-		return liens_absolus($texte, $base);
227
-	}
223
+    if ($GLOBALS['mode_abs_url'] == 'url') {
224
+        return url_absolue($texte, $base);
225
+    } else {
226
+        return liens_absolus($texte, $base);
227
+    }
228 228
 }
229 229
 
230 230
 /**
@@ -237,11 +237,11 @@  discard block
 block discarded – undo
237 237
  * @return string
238 238
  */
239 239
 function spip_htmlspecialchars($string, $flags = null, $encoding = 'UTF-8', $double_encode = true) {
240
-	if (is_null($flags)) {
241
-		$flags = ENT_COMPAT | ENT_HTML401;
242
-	}
240
+    if (is_null($flags)) {
241
+        $flags = ENT_COMPAT | ENT_HTML401;
242
+    }
243 243
 
244
-	return htmlspecialchars($string, $flags, $encoding, $double_encode);
244
+    return htmlspecialchars($string, $flags, $encoding, $double_encode);
245 245
 }
246 246
 
247 247
 /**
@@ -254,9 +254,9 @@  discard block
 block discarded – undo
254 254
  * @return string
255 255
  */
256 256
 function spip_htmlentities($string, $flags = null, $encoding = 'UTF-8', $double_encode = true) {
257
-	if (is_null($flags)) {
258
-		$flags = ENT_COMPAT | ENT_HTML401;
259
-	}
257
+    if (is_null($flags)) {
258
+        $flags = ENT_COMPAT | ENT_HTML401;
259
+    }
260 260
 
261
-	return htmlentities($string, $flags, $encoding, $double_encode);
261
+    return htmlentities($string, $flags, $encoding, $double_encode);
262 262
 }
Please login to merge, or discard this patch.
ecrire/inc/filtres_mime.php 1 patch
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
  **/
23 23
 
24 24
 if (!defined('_ECRIRE_INC_VERSION')) {
25
-	return;
25
+    return;
26 26
 }
27 27
 include_spip('inc/filtres');
28 28
 
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
  * @return string Rien.
40 40
  **/
41 41
 function filtre_image_dist($t) {
42
-	return '';
42
+    return '';
43 43
 }
44 44
 
45 45
 /**
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
  * @return string Rien.
53 53
  **/
54 54
 function filtre_audio_dist($t) {
55
-	return '';
55
+    return '';
56 56
 }
57 57
 
58 58
 /**
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
  * @return string Rien.
66 66
  **/
67 67
 function filtre_video_dist($t) {
68
-	return '';
68
+    return '';
69 69
 }
70 70
 
71 71
 /**
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
  * @return string Rien.
79 79
  **/
80 80
 function filtre_application_dist($t) {
81
-	return '';
81
+    return '';
82 82
 }
83 83
 
84 84
 /**
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
  * @return string Rien.
92 92
  **/
93 93
 function filtre_message_dist($t) {
94
-	return '';
94
+    return '';
95 95
 }
96 96
 
97 97
 /**
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
  * @return string Rien.
105 105
  **/
106 106
 function filtre_multipart_dist($t) {
107
-	return '';
107
+    return '';
108 108
 }
109 109
 
110 110
 /**
@@ -117,10 +117,10 @@  discard block
 block discarded – undo
117 117
  * @return string Contenu échappé.
118 118
  **/
119 119
 function filtre_text_dist($t) {
120
-	static $t1 = ['&', '<', '>'];
121
-	static $t2 = ['&amp;', '&lt;', '&gt;'];
120
+    static $t1 = ['&', '<', '>'];
121
+    static $t2 = ['&amp;', '&lt;', '&gt;'];
122 122
 
123
-	return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>';
123
+    return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>';
124 124
 }
125 125
 
126 126
 /**
@@ -135,21 +135,21 @@  discard block
 block discarded – undo
135 135
  *     Tableau (formaté en SPIP)
136 136
  **/
137 137
 function filtre_text_csv_dist($t) {
138
-	include_spip('inc/csv');
139
-	[$entete, $lignes, $caption] = analyse_csv($t);
140
-	foreach ($lignes as &$l) {
141
-		$l = join('|', $l);
142
-	}
143
-	$corps = join("\n", $lignes) . "\n";
144
-	$corps = $caption .
145
-		"\n|{{" .
146
-		join('}}|{{', $entete) .
147
-		'}}|' .
148
-		"\n|" .
149
-		str_replace("\n", "|\n|", $corps);
150
-	include_spip('inc/texte');
151
-
152
-	return propre($corps);
138
+    include_spip('inc/csv');
139
+    [$entete, $lignes, $caption] = analyse_csv($t);
140
+    foreach ($lignes as &$l) {
141
+        $l = join('|', $l);
142
+    }
143
+    $corps = join("\n", $lignes) . "\n";
144
+    $corps = $caption .
145
+        "\n|{{" .
146
+        join('}}|{{', $entete) .
147
+        '}}|' .
148
+        "\n|" .
149
+        str_replace("\n", "|\n|", $corps);
150
+    include_spip('inc/texte');
151
+
152
+    return propre($corps);
153 153
 }
154 154
 
155 155
 /**
@@ -163,33 +163,33 @@  discard block
 block discarded – undo
163 163
  * @return string Code html sécurisé ou texte échappé
164 164
  **/
165 165
 function filtre_text_html_dist($t) {
166
-	if (!preg_match(',^(.*?)<body[^>]*>(.*)</body>,is', $t, $r)) {
167
-		return appliquer_filtre($t, 'text/plain');
168
-	}
169
-
170
-	[, $h, $t] = $r;
171
-
172
-	$style = '';
173
-	// recuperer les styles internes
174
-	if (preg_match_all(',<style>(.*?)</style>,is', $h, $r, PREG_PATTERN_ORDER)) {
175
-		$style = join("\n", $r[1]);
176
-	}
177
-	// ... et externes
178
-
179
-	include_spip('inc/distant');
180
-	if (preg_match_all(',<link[^>]+type=.text/css[^>]*>,is', $h, $r, PREG_PATTERN_ORDER)) {
181
-		foreach ($r[0] as $l) {
182
-			preg_match("/href='([^']*)'/", str_replace('"', "'", $l), $m);
183
-			$page = recuperer_url($m[1]);
184
-			$page = $page['page'] ?? '';
185
-			$style .= "\n/* $l */\n"
186
-				. str_replace('<', '', $page);
187
-		}
188
-	}
189
-	// Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ?
190
-	$t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t));
191
-
192
-	return (!$style ? '' : "\n<style>" . $style . '</style>') . $t;
166
+    if (!preg_match(',^(.*?)<body[^>]*>(.*)</body>,is', $t, $r)) {
167
+        return appliquer_filtre($t, 'text/plain');
168
+    }
169
+
170
+    [, $h, $t] = $r;
171
+
172
+    $style = '';
173
+    // recuperer les styles internes
174
+    if (preg_match_all(',<style>(.*?)</style>,is', $h, $r, PREG_PATTERN_ORDER)) {
175
+        $style = join("\n", $r[1]);
176
+    }
177
+    // ... et externes
178
+
179
+    include_spip('inc/distant');
180
+    if (preg_match_all(',<link[^>]+type=.text/css[^>]*>,is', $h, $r, PREG_PATTERN_ORDER)) {
181
+        foreach ($r[0] as $l) {
182
+            preg_match("/href='([^']*)'/", str_replace('"', "'", $l), $m);
183
+            $page = recuperer_url($m[1]);
184
+            $page = $page['page'] ?? '';
185
+            $style .= "\n/* $l */\n"
186
+                . str_replace('<', '', $page);
187
+        }
188
+    }
189
+    // Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ?
190
+    $t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t));
191
+
192
+    return (!$style ? '' : "\n<style>" . $style . '</style>') . $t;
193 193
 }
194 194
 
195 195
 /**
@@ -202,7 +202,7 @@  discard block
 block discarded – undo
202 202
  * @return string Code HTML des balises `<param>`
203 203
  **/
204 204
 function filtre_audio_x_pn_realaudio($id) {
205
-	return "
205
+    return "
206 206
 	<param name='controls' value='PositionSlider' />
207 207
 	<param name='controls' value='ImageWindow' />
208 208
 	<param name='controls' value='PlayButton' />
Please login to merge, or discard this patch.