@@ -16,6 +16,6 @@ |
||
16 | 16 | { |
17 | 17 | $regex = '<meta name=["\']?generator["\']? [^>]+>'; |
18 | 18 | |
19 | - return (string) preg_replace('/' . $regex . '/is', '', $html); |
|
19 | + return (string) preg_replace('/'.$regex.'/is', '', $html); |
|
20 | 20 | } |
21 | 21 | } |
@@ -22,7 +22,7 @@ discard block |
||
22 | 22 | |
23 | 23 | foreach (['search.', 'replace.'] as $section) { |
24 | 24 | if (!isset($config[$section]) || !\is_array($config[$section])) { |
25 | - throw new \Exception('missing entry @ config.replacer.' . $section); |
|
25 | + throw new \Exception('missing entry @ config.replacer.'.$section); |
|
26 | 26 | } |
27 | 27 | |
28 | 28 | if (preg_match_all('/"([\w\-]+)\.";/', serialize(array_keys($config[$section])), $matches)) { |
@@ -32,10 +32,10 @@ discard block |
||
32 | 32 | $config[$section][$key] = $cObj |
33 | 33 | ->stdWrap( |
34 | 34 | $config[$section][$key], |
35 | - $config[$section][$key . '.'] |
|
35 | + $config[$section][$key.'.'] |
|
36 | 36 | ) |
37 | 37 | ; |
38 | - unset($config[$section][$key . '.']); // keep! |
|
38 | + unset($config[$section][$key.'.']); // keep! |
|
39 | 39 | } |
40 | 40 | } |
41 | 41 | |
@@ -45,7 +45,7 @@ discard block |
||
45 | 45 | if (Environment::getContext()->isDevelopment()) { |
46 | 46 | foreach ($config['search.'] as $key => $val) { |
47 | 47 | if (false === @preg_match($val, '')) { |
48 | - throw new \Exception(preg_last_error_msg() . ' : please check your regex syntax @ ' . "{$key} = {$val}"); |
|
48 | + throw new \Exception(preg_last_error_msg().' : please check your regex syntax @ '."{$key} = {$val}"); |
|
49 | 49 | } |
50 | 50 | } |
51 | 51 | } |
@@ -66,11 +66,11 @@ discard block |
||
66 | 66 | $this->svgFileArr = $this->svgCache->get('svgFileArr') ?: []; |
67 | 67 | |
68 | 68 | if (empty($this->spritePath) && !$this->populateCache()) { |
69 | - throw new \Exception('could not write file: ' . $this->sitePath . $this->spritePath); |
|
69 | + throw new \Exception('could not write file: '.$this->sitePath.$this->spritePath); |
|
70 | 70 | } |
71 | 71 | |
72 | - if (!file_exists($this->sitePath . $this->spritePath)) { |
|
73 | - throw new \Exception('file does not exists: ' . $this->sitePath . $this->spritePath); |
|
72 | + if (!file_exists($this->sitePath.$this->spritePath)) { |
|
73 | + throw new \Exception('file does not exists: '.$this->sitePath.$this->spritePath); |
|
74 | 74 | } |
75 | 75 | } |
76 | 76 | |
@@ -87,26 +87,26 @@ discard block |
||
87 | 87 | } |
88 | 88 | |
89 | 89 | // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes |
90 | - $dom['body'] = preg_replace_callback('/<img(?<pre>[^>]*)src="(?:https?:)?(?:\/\/[^\/]+?)?(?<src>\/[^"]+\.svg)"(?<post>[^>]*?)[\s\/]*>(?!\s*<\/picture>)/s', function (array $match): string { // ^[/] |
|
90 | + $dom['body'] = preg_replace_callback('/<img(?<pre>[^>]*)src="(?:https?:)?(?:\/\/[^\/]+?)?(?<src>\/[^"]+\.svg)"(?<post>[^>]*?)[\s\/]*>(?!\s*<\/picture>)/s', function(array $match): string { // ^[/] |
|
91 | 91 | if (!isset($this->svgFileArr[$match['src']])) { // check usage |
92 | 92 | return $match[0]; |
93 | 93 | } |
94 | - $attr = preg_replace('/\s(?:alt|ismap|loading|title|sizes|srcset|usemap|crossorigin|decoding|fetchpriority|referrerpolicy)="[^"]*"/', '', $match['pre'] . $match['post']); // cleanup |
|
94 | + $attr = preg_replace('/\s(?:alt|ismap|loading|title|sizes|srcset|usemap|crossorigin|decoding|fetchpriority|referrerpolicy)="[^"]*"/', '', $match['pre'].$match['post']); // cleanup |
|
95 | 95 | |
96 | 96 | return \sprintf('<svg %s %s><use href="%s#%s"/></svg>', $this->svgFileArr[$match['src']]['attr'], trim($attr), $this->spritePath, $this->convertFilePath($match['src'])); |
97 | 97 | }, $dom['body']); |
98 | 98 | |
99 | 99 | // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object#attributes |
100 | - $dom['body'] = preg_replace_callback('/<object(?<pre>[^>]*)data="(?<data>\/[^"]+\.svg)"(?<post>[^>]*?)[\s\/]*>(?:<\/object>)/s', function (array $match): string { // ^[/] |
|
100 | + $dom['body'] = preg_replace_callback('/<object(?<pre>[^>]*)data="(?<data>\/[^"]+\.svg)"(?<post>[^>]*?)[\s\/]*>(?:<\/object>)/s', function(array $match): string { // ^[/] |
|
101 | 101 | if (!isset($this->svgFileArr[$match['data']])) { // check usage |
102 | 102 | return $match[0]; |
103 | 103 | } |
104 | - $attr = preg_replace('/\s(?:form|name|type|usemap)="[^"]*"/', '', $match['pre'] . $match['post']); // cleanup |
|
104 | + $attr = preg_replace('/\s(?:form|name|type|usemap)="[^"]*"/', '', $match['pre'].$match['post']); // cleanup |
|
105 | 105 | |
106 | 106 | return \sprintf('<svg %s %s><use href="%s#%s"/></svg>', $this->svgFileArr[$match['data']]['attr'], trim($attr), $this->spritePath, $this->convertFilePath($match['data'])); |
107 | 107 | }, $dom['body']); |
108 | 108 | |
109 | - return $dom['head'] . $dom['body']; |
|
109 | + return $dom['head'].$dom['body']; |
|
110 | 110 | } |
111 | 111 | |
112 | 112 | private function convertFilePath(string $path): string |
@@ -116,11 +116,11 @@ discard block |
||
116 | 116 | |
117 | 117 | private function addFileToSpriteArr(string $hash, string $path, array $attr = []): ?array |
118 | 118 | { |
119 | - if (!file_exists($this->sitePath . $path)) { |
|
119 | + if (!file_exists($this->sitePath.$path)) { |
|
120 | 120 | return null; |
121 | 121 | } |
122 | 122 | |
123 | - $svg = file_get_contents($this->sitePath . $path); |
|
123 | + $svg = file_get_contents($this->sitePath.$path); |
|
124 | 124 | |
125 | 125 | if (preg_match('/(?:;base64|i:a?i?pgf)/', $svg)) { // noop! |
126 | 126 | return null; |
@@ -150,7 +150,7 @@ discard block |
||
150 | 150 | // }, $svg); |
151 | 151 | |
152 | 152 | // https://developer.mozilla.org/en-US/docs/Web/SVG/Element/svg#attributes |
153 | - $svg = preg_replace_callback('/([^>]*)\s*(?=>)/s', function (array $match) use (&$attr): string { |
|
153 | + $svg = preg_replace_callback('/([^>]*)\s*(?=>)/s', function(array $match) use (&$attr): string { |
|
154 | 154 | if (false === preg_match_all('/(?!\s)(?<attr>[a-z\-]+)="\s*(?<value>[^"]+)\s*"/i', $match[1], $matches)) { |
155 | 155 | return $match[0]; |
156 | 156 | } |
@@ -197,7 +197,7 @@ discard block |
||
197 | 197 | |
198 | 198 | $fileArr = GeneralUtility::makeInstance(SvgFileRepository::class)->findAllByStorageUids(array_keys($storageArr)); |
199 | 199 | foreach ($fileArr as $file) { |
200 | - $file['path'] = '/' . $storageArr[$file['storage']] . $file['identifier']; // ^[/] |
|
200 | + $file['path'] = '/'.$storageArr[$file['storage']].$file['identifier']; // ^[/] |
|
201 | 201 | $file['defs'] = $this->addFileToSpriteArr($file['sha1'], $file['path']); |
202 | 202 | |
203 | 203 | if (null !== $file['defs']) { |
@@ -211,17 +211,17 @@ discard block |
||
211 | 211 | |
212 | 212 | $svg = preg_replace_callback( |
213 | 213 | '/<use(?<pre>.*?)(?:xlink:)?href="(?<href>\/.+?\.svg)(?:#[^"]*?)?"(?<post>.*?)[\s\/]*>(?:<\/use>)?/s', |
214 | - function (array $match): string { |
|
214 | + function(array $match): string { |
|
215 | 215 | if (!isset($this->svgFileArr[$match['href']])) { // check usage |
216 | 216 | return $match[0]; |
217 | 217 | } |
218 | 218 | |
219 | - return \sprintf('<use%s href="#%s"/>', $match['pre'] . $match['post'], $this->convertFilePath($match['href'])); |
|
219 | + return \sprintf('<use%s href="#%s"/>', $match['pre'].$match['post'], $this->convertFilePath($match['href'])); |
|
220 | 220 | }, |
221 | 221 | '<svg xmlns="http://www.w3.org/2000/svg">' |
222 | 222 | // ."\n<style>\n".implode("\n", $this->styl)."\n</style>" |
223 | 223 | // ."\n<defs>\n".implode("\n", $this->defs)."\n</defs>" |
224 | - . "\n<symbol " . implode("</symbol>\n<symbol ", $this->svgs) . "</symbol>\n" |
|
224 | + . "\n<symbol ".implode("</symbol>\n<symbol ", $this->svgs)."</symbol>\n" |
|
225 | 225 | . '</svg>' |
226 | 226 | ); |
227 | 227 | |
@@ -234,12 +234,12 @@ discard block |
||
234 | 234 | $svg = preg_replace('/<([a-z\-]+)\s*(\/|>\s*<\/\1)>\s*|\s+(?=\/>)/i', '', $svg); // remove emtpy TAGs & shorten endings |
235 | 235 | $svg = preg_replace('/<((circle|ellipse|line|path|polygon|polyline|rect|stop|use)\s[^>]+?)\s*>\s*<\/\2>/', '<$1/>', $svg); // shorten/minify TAG syntax |
236 | 236 | |
237 | - if (!is_dir($this->sitePath . $this->outputDir)) { |
|
238 | - GeneralUtility::mkdir_deep($this->sitePath . $this->outputDir); |
|
237 | + if (!is_dir($this->sitePath.$this->outputDir)) { |
|
238 | + GeneralUtility::mkdir_deep($this->sitePath.$this->outputDir); |
|
239 | 239 | } |
240 | 240 | |
241 | - $this->spritePath = $this->outputDir . hash('sha1', serialize($this->svgFileArr)) . '.svg'; |
|
242 | - if (false === file_put_contents($this->sitePath . $this->spritePath, $svg)) { |
|
241 | + $this->spritePath = $this->outputDir.hash('sha1', serialize($this->svgFileArr)).'.svg'; |
|
242 | + if (false === file_put_contents($this->sitePath.$this->spritePath, $svg)) { |
|
243 | 243 | return false; |
244 | 244 | } |
245 | 245 |
@@ -101,7 +101,7 @@ discard block |
||
101 | 101 | |
102 | 102 | foreach ($manipulations as $key => $manipulation) { |
103 | 103 | /** @var ManipulationInterface $manipulation */ |
104 | - $configuration = isset($config[$key . '.']) && \is_array($config[$key . '.']) ? $config[$key . '.'] : []; |
|
104 | + $configuration = isset($config[$key.'.']) && \is_array($config[$key.'.']) ? $config[$key.'.'] : []; |
|
105 | 105 | $html = $manipulation->manipulate($html, $configuration); |
106 | 106 | } |
107 | 107 | |
@@ -161,7 +161,7 @@ discard block |
||
161 | 161 | $functionalBoxElements = 'dd|dt|frameset|li|tbody|td|tfoot|th|thead|tr|colgroup'; |
162 | 162 | $usableBoxElements = 'applet|button|del|iframe|ins|map|object|script'; |
163 | 163 | $imagineBoxElements = 'html|body|head|meta|title|link|script|base|!--'; |
164 | - $allBoxLikeElements = '(?>' . $trueBoxElements . '|' . $functionalBoxElements . '|' . $usableBoxElements . '|' . $imagineBoxElements . ')'; |
|
164 | + $allBoxLikeElements = '(?>'.$trueBoxElements.'|'.$functionalBoxElements.'|'.$usableBoxElements.'|'.$imagineBoxElements.')'; |
|
165 | 165 | $esteticBoxLikeElements = '(?>html|head|body|meta name|title|div|table|h1|h2|h3|h4|h5|h6|p|form|pre|center|!--)'; |
166 | 166 | $structureBoxLikeElements = '(?>html|head|body|div|!--)'; |
167 | 167 | |
@@ -170,7 +170,7 @@ discard block |
||
170 | 170 | '/(<(?:[^<>]+(?:"[^"]*"|\'[^\']*\')?)+>)/', |
171 | 171 | $html, |
172 | 172 | -1, |
173 | - \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY |
|
173 | + \PREG_SPLIT_DELIM_CAPTURE|\PREG_SPLIT_NO_EMPTY |
|
174 | 174 | ); |
175 | 175 | |
176 | 176 | if (false === $htmlArrayTemp) { |
@@ -204,52 +204,52 @@ discard block |
||
204 | 204 | } elseif (2 == $this->formatType && ( // minimalistic line break |
205 | 205 | // this element has a line break before itself |
206 | 206 | preg_match( |
207 | - '/<' . $structureBoxLikeElements . '(.*)>/Usi', |
|
207 | + '/<'.$structureBoxLikeElements.'(.*)>/Usi', |
|
208 | 208 | $htmlArrayCurrent |
209 | 209 | ) || preg_match( |
210 | - '/<' . $structureBoxLikeElements . '(.*) \/>/Usi', |
|
210 | + '/<'.$structureBoxLikeElements.'(.*) \/>/Usi', |
|
211 | 211 | $htmlArrayCurrent |
212 | 212 | ) // one element before is a element that has a line break after |
213 | 213 | || preg_match( |
214 | - '/<\/' . $structureBoxLikeElements . '(.*)>/Usi', |
|
214 | + '/<\/'.$structureBoxLikeElements.'(.*)>/Usi', |
|
215 | 215 | $htmlArrayBefore |
216 | 216 | ) || '<!--' == substr( |
217 | 217 | $htmlArrayBefore, |
218 | 218 | 0, |
219 | 219 | 4 |
220 | - ) || preg_match('/<' . $structureBoxLikeElements . '(.*) \/>/Usi', $htmlArrayBefore)) |
|
220 | + ) || preg_match('/<'.$structureBoxLikeElements.'(.*) \/>/Usi', $htmlArrayBefore)) |
|
221 | 221 | ) { |
222 | 222 | $newline = true; |
223 | 223 | } elseif (3 == $this->formatType && ( // aestetic line break |
224 | 224 | // this element has a line break before itself |
225 | 225 | preg_match( |
226 | - '/<' . $esteticBoxLikeElements . '(.*)>/Usi', |
|
226 | + '/<'.$esteticBoxLikeElements.'(.*)>/Usi', |
|
227 | 227 | $htmlArrayCurrent |
228 | 228 | ) || preg_match( |
229 | - '/<' . $esteticBoxLikeElements . '(.*) \/>/Usi', |
|
229 | + '/<'.$esteticBoxLikeElements.'(.*) \/>/Usi', |
|
230 | 230 | $htmlArrayCurrent |
231 | 231 | ) // one element before is a element that has a line break after |
232 | - || preg_match('/<\/' . $esteticBoxLikeElements . '(.*)>/Usi', $htmlArrayBefore) || '<!--' == substr( |
|
232 | + || preg_match('/<\/'.$esteticBoxLikeElements.'(.*)>/Usi', $htmlArrayBefore) || '<!--' == substr( |
|
233 | 233 | $htmlArrayBefore, |
234 | 234 | 0, |
235 | 235 | 4 |
236 | - ) || preg_match('/<' . $esteticBoxLikeElements . '(.*) \/>/Usi', $htmlArrayBefore)) |
|
236 | + ) || preg_match('/<'.$esteticBoxLikeElements.'(.*) \/>/Usi', $htmlArrayBefore)) |
|
237 | 237 | ) { |
238 | 238 | $newline = true; |
239 | 239 | } elseif ($this->formatType >= 4 && ( // logical line break |
240 | 240 | // this element has a line break before itself |
241 | 241 | preg_match( |
242 | - '/<' . $allBoxLikeElements . '(.*)>/Usi', |
|
242 | + '/<'.$allBoxLikeElements.'(.*)>/Usi', |
|
243 | 243 | $htmlArrayCurrent |
244 | 244 | ) || preg_match( |
245 | - '/<' . $allBoxLikeElements . '(.*) \/>/Usi', |
|
245 | + '/<'.$allBoxLikeElements.'(.*) \/>/Usi', |
|
246 | 246 | $htmlArrayCurrent |
247 | 247 | ) // one element before is a element that has a line break after |
248 | - || preg_match('/<\/' . $allBoxLikeElements . '(.*)>/Usi', $htmlArrayBefore) || '<!--' == substr( |
|
248 | + || preg_match('/<\/'.$allBoxLikeElements.'(.*)>/Usi', $htmlArrayBefore) || '<!--' == substr( |
|
249 | 249 | $htmlArrayBefore, |
250 | 250 | 0, |
251 | 251 | 4 |
252 | - ) || preg_match('/<' . $allBoxLikeElements . '(.*) \/>/Usi', $htmlArrayBefore)) |
|
252 | + ) || preg_match('/<'.$allBoxLikeElements.'(.*) \/>/Usi', $htmlArrayBefore)) |
|
253 | 253 | ) { |
254 | 254 | $newline = true; |
255 | 255 | } |
@@ -385,6 +385,6 @@ discard block |
||
385 | 385 | */ |
386 | 386 | public function includeHeaderComment(string &$html): void |
387 | 387 | { |
388 | - $html = preg_replace('/^(-->)$/m', "\n\t" . $this->headerComment . "\n$1", $html); |
|
388 | + $html = preg_replace('/^(-->)$/m', "\n\t".$this->headerComment."\n$1", $html); |
|
389 | 389 | } |
390 | 390 | } |