@@ -103,10 +103,10 @@ discard block |
||
103 | 103 | $rendered = str_replace('"', '\"', trim($rendered)); |
104 | 104 | |
105 | 105 | // Uglify temporary file. |
106 | - $tmpFile = sys_get_temp_dir() . '/xtools_articleinfo_gadget.js'; |
|
106 | + $tmpFile = sys_get_temp_dir().'/xtools_articleinfo_gadget.js'; |
|
107 | 107 | $script = "echo \"$rendered\" | tee $tmpFile >/dev/null && "; |
108 | 108 | $script .= $this->get('kernel')->getProjectDir(). |
109 | - "/node_modules/uglify-es/bin/uglifyjs $tmpFile --mangle " . |
|
109 | + "/node_modules/uglify-es/bin/uglifyjs $tmpFile --mangle ". |
|
110 | 110 | "&& rm $tmpFile >/dev/null"; |
111 | 111 | $process = new Process([$script]); |
112 | 112 | $process->run(); |
@@ -124,10 +124,10 @@ discard block |
||
124 | 124 | $rendered = str_replace('\"', '"', trim($rendered)); |
125 | 125 | |
126 | 126 | // Add comment after uglifying since it removes comments. |
127 | - $rendered = "/**\n * This code was automatically generated and should not " . |
|
128 | - "be manually edited.\n * For updates, please copy and paste from " . |
|
129 | - $this->generateUrl('ArticleInfoGadget', ['uglify' => 1], UrlGeneratorInterface::ABSOLUTE_URL) . |
|
130 | - "\n * Released under GPL v3 license.\n */\n" . $rendered; |
|
127 | + $rendered = "/**\n * This code was automatically generated and should not ". |
|
128 | + "be manually edited.\n * For updates, please copy and paste from ". |
|
129 | + $this->generateUrl('ArticleInfoGadget', ['uglify' => 1], UrlGeneratorInterface::ABSOLUTE_URL). |
|
130 | + "\n * Released under GPL v3 license.\n */\n".$rendered; |
|
131 | 131 | } |
132 | 132 | |
133 | 133 | $response = new Response($rendered); |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the Edit class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Model; |
9 | 9 | |
@@ -86,7 +86,7 @@ discard block |
||
86 | 86 | */ |
87 | 87 | public static function getEditsFromRevs(Project $project, User $user, array $revs): array |
88 | 88 | { |
89 | - return array_map(function ($rev) use ($project, $user) { |
|
89 | + return array_map(function($rev) use ($project, $user) { |
|
90 | 90 | /** @var Page $page Page object to be passed to the Edit constructor. */ |
91 | 91 | $page = Page::newFromRev($project, $rev); |
92 | 92 | $rev['user'] = $user; |
@@ -299,7 +299,7 @@ discard block |
||
299 | 299 | $isSection = preg_match_all("/^\/\* (.*?) \*\//", $summary, $sectionMatch); |
300 | 300 | |
301 | 301 | if ($isSection && isset($page)) { |
302 | - $pageUrl = $project->getUrl(false) . str_replace( |
|
302 | + $pageUrl = $project->getUrl(false).str_replace( |
|
303 | 303 | '$1', |
304 | 304 | $page->getTitle($useUnnormalizedPageTitle), |
305 | 305 | $project->getArticlePath() |
@@ -309,8 +309,8 @@ discard block |
||
309 | 309 | // Must have underscores for the link to properly go to the section. |
310 | 310 | $sectionTitleLink = htmlspecialchars(str_replace(' ', '_', $sectionTitle)); |
311 | 311 | |
312 | - $sectionWikitext = "<a target='_blank' href='$pageUrl#$sectionTitleLink'>→</a>" . |
|
313 | - "<em class='text-muted'>" . htmlspecialchars($sectionTitle) . ":</em> "; |
|
312 | + $sectionWikitext = "<a target='_blank' href='$pageUrl#$sectionTitleLink'>→</a>". |
|
313 | + "<em class='text-muted'>".htmlspecialchars($sectionTitle).":</em> "; |
|
314 | 314 | $summary = str_replace($sectionMatch[0][0], $sectionWikitext, $summary); |
315 | 315 | } |
316 | 316 | |
@@ -324,7 +324,7 @@ discard block |
||
324 | 324 | ); |
325 | 325 | |
326 | 326 | // Use normalized page title (underscored, capitalized). |
327 | - $pageUrl = $project->getUrl(false) . str_replace( |
|
327 | + $pageUrl = $project->getUrl(false).str_replace( |
|
328 | 328 | '$1', |
329 | 329 | ucfirst(str_replace(' ', '_', $wikiLinkPath)), |
330 | 330 | $project->getArticlePath() |
@@ -362,8 +362,8 @@ discard block |
||
362 | 362 | public function getDiffUrl(): string |
363 | 363 | { |
364 | 364 | $project = $this->getProject(); |
365 | - $path = str_replace('$1', 'Special:Diff/' . $this->id, $project->getArticlePath()); |
|
366 | - return rtrim($project->getUrl(), '/') . $path; |
|
365 | + $path = str_replace('$1', 'Special:Diff/'.$this->id, $project->getArticlePath()); |
|
366 | + return rtrim($project->getUrl(), '/').$path; |
|
367 | 367 | } |
368 | 368 | |
369 | 369 | /** |
@@ -373,8 +373,8 @@ discard block |
||
373 | 373 | public function getPermaUrl(): string |
374 | 374 | { |
375 | 375 | $project = $this->getProject(); |
376 | - $path = str_replace('$1', 'Special:PermaLink/' . $this->id, $project->getArticlePath()); |
|
377 | - return rtrim($project->getUrl(), '/') . $path; |
|
376 | + $path = str_replace('$1', 'Special:PermaLink/'.$this->id, $project->getArticlePath()); |
|
377 | + return rtrim($project->getUrl(), '/').$path; |
|
378 | 378 | } |
379 | 379 | |
380 | 380 | /** |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the AutoEdits class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Model; |
9 | 9 | |
@@ -225,8 +225,8 @@ discard block |
||
225 | 225 | public function getToolsTotal(): int |
226 | 226 | { |
227 | 227 | if (!is_int($this->toolsTotal)) { |
228 | - $this->toolsTotal = array_reduce($this->getToolCounts(), function ($a, $b) { |
|
229 | - return $a + $b['count']; |
|
228 | + $this->toolsTotal = array_reduce($this->getToolCounts(), function($a, $b) { |
|
229 | + return $a+$b['count']; |
|
230 | 230 | }); |
231 | 231 | } |
232 | 232 |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the AppExtension class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Twig; |
9 | 9 | |
@@ -112,7 +112,7 @@ discard block |
||
112 | 112 | public function requestTime(): float |
113 | 113 | { |
114 | 114 | if (!isset($this->requestTime)) { |
115 | - $this->requestTime = microtime(true) - $this->getRequest()->server->get('REQUEST_TIME_FLOAT'); |
|
115 | + $this->requestTime = microtime(true)-$this->getRequest()->server->get('REQUEST_TIME_FLOAT'); |
|
116 | 116 | } |
117 | 117 | |
118 | 118 | return $this->requestTime; |
@@ -551,7 +551,7 @@ discard block |
||
551 | 551 | } |
552 | 552 | |
553 | 553 | $sizeMessage = $this->numberFormat( |
554 | - pow(1024, $base - floor($base)), |
|
554 | + pow(1024, $base-floor($base)), |
|
555 | 555 | $precision |
556 | 556 | ); |
557 | 557 | |
@@ -708,15 +708,15 @@ discard block |
||
708 | 708 | |
709 | 709 | if ($seconds >= 86400) { |
710 | 710 | // Over a day |
711 | - $val = (int) floor($seconds / 86400); |
|
711 | + $val = (int)floor($seconds / 86400); |
|
712 | 712 | $key = 'days'; |
713 | 713 | } elseif ($seconds >= 3600) { |
714 | 714 | // Over an hour, less than a day |
715 | - $val = (int) floor($seconds / 3600); |
|
715 | + $val = (int)floor($seconds / 3600); |
|
716 | 716 | $key = 'hours'; |
717 | 717 | } elseif ($seconds >= 60) { |
718 | 718 | // Over a minute, less than an hour |
719 | - $val = (int) floor($seconds / 60); |
|
719 | + $val = (int)floor($seconds / 60); |
|
720 | 720 | $key = 'minutes'; |
721 | 721 | } |
722 | 722 |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the Page class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Model; |
9 | 9 | |
@@ -113,7 +113,7 @@ discard block |
||
113 | 113 | $title = $info['title'] ?? $this->unnormalizedPageName; |
114 | 114 | $nsName = $this->getNamespaceName(); |
115 | 115 | return $nsName |
116 | - ? str_replace($nsName . ':', '', $title) |
|
116 | + ? str_replace($nsName.':', '', $title) |
|
117 | 117 | : $title; |
118 | 118 | } |
119 | 119 | |
@@ -312,7 +312,7 @@ discard block |
||
312 | 312 | { |
313 | 313 | $content = $this->getRepository()->getPagesWikitext( |
314 | 314 | $this->getProject(), |
315 | - [ $this->getTitle() ] |
|
315 | + [$this->getTitle()] |
|
316 | 316 | ); |
317 | 317 | |
318 | 318 | return $content[$this->getTitle()] ?? null; |
@@ -378,7 +378,7 @@ discard block |
||
378 | 378 | |
379 | 379 | $wikidataInfo = $this->getRepository()->getWikidataInfo($this); |
380 | 380 | |
381 | - $terms = array_map(function ($entry) { |
|
381 | + $terms = array_map(function($entry) { |
|
382 | 382 | return $entry['term']; |
383 | 383 | }, $wikidataInfo); |
384 | 384 | |
@@ -389,7 +389,7 @@ discard block |
||
389 | 389 | 'prio' => 2, |
390 | 390 | 'name' => 'Wikidata', |
391 | 391 | 'notice' => "Label for language <em>$lang</em> is missing", // FIXME: i18n |
392 | - 'explanation' => "See: <a target='_blank' " . |
|
392 | + 'explanation' => "See: <a target='_blank' ". |
|
393 | 393 | "href='//www.wikidata.org/wiki/Help:Label'>Help:Label</a>", |
394 | 394 | ]; |
395 | 395 | } |
@@ -399,7 +399,7 @@ discard block |
||
399 | 399 | 'prio' => 3, |
400 | 400 | 'name' => 'Wikidata', |
401 | 401 | 'notice' => "Description for language <em>$lang</em> is missing", // FIXME: i18n |
402 | - 'explanation' => "See: <a target='_blank' " . |
|
402 | + 'explanation' => "See: <a target='_blank' ". |
|
403 | 403 | "href='//www.wikidata.org/wiki/Help:Description'>Help:Description</a>", |
404 | 404 | ]; |
405 | 405 | } |
@@ -477,7 +477,7 @@ discard block |
||
477 | 477 | return 0; |
478 | 478 | } |
479 | 479 | |
480 | - return array_sum(array_map(function ($item) { |
|
480 | + return array_sum(array_map(function($item) { |
|
481 | 481 | return (int)$item['views']; |
482 | 482 | }, $pageviews['items'])); |
483 | 483 | } |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the AutomatedEditsHelper class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Helper; |
9 | 9 | |
@@ -85,8 +85,8 @@ discard block |
||
85 | 85 | } |
86 | 86 | |
87 | 87 | $session = $this->container->get('session'); |
88 | - $uri = 'https://meta.wikimedia.org/w/index.php?action=raw&ctype=application/json&title=' . |
|
89 | - 'MediaWiki:XTools-AutoEdits.json' . ($useSandbox ? '/sandbox' : ''); |
|
88 | + $uri = 'https://meta.wikimedia.org/w/index.php?action=raw&ctype=application/json&title='. |
|
89 | + 'MediaWiki:XTools-AutoEdits.json'.($useSandbox ? '/sandbox' : ''); |
|
90 | 90 | |
91 | 91 | if ($useSandbox && $session->get('logged_in_user')) { |
92 | 92 | // Request via OAuth to get around server-side caching. |
@@ -149,7 +149,7 @@ discard block |
||
149 | 149 | |
150 | 150 | // Once last walk through for some tidying up and validation. |
151 | 151 | $invalid = []; |
152 | - array_walk($this->tools[$projectDomain], function (&$data, $tool) use (&$invalid): void { |
|
152 | + array_walk($this->tools[$projectDomain], function(&$data, $tool) use (&$invalid): void { |
|
153 | 153 | // Populate the 'label' with the tool name, if a label doesn't already exist. |
154 | 154 | $data['label'] = $data['label'] ?? $tool; |
155 | 155 | |
@@ -233,14 +233,14 @@ discard block |
||
233 | 233 | |
234 | 234 | $revertEntries = array_filter( |
235 | 235 | $this->getTools($project), |
236 | - function ($tool) { |
|
236 | + function($tool) { |
|
237 | 237 | return isset($tool['revert']) && isset($tool['regex']); |
238 | 238 | } |
239 | 239 | ); |
240 | 240 | |
241 | 241 | // If 'revert' is set to `true`, then use 'regex' as the regular expression, |
242 | 242 | // otherwise 'revert' is assumed to be the regex string. |
243 | - $this->revertTools[$projectDomain] = array_map(function ($revertTool) { |
|
243 | + $this->revertTools[$projectDomain] = array_map(function($revertTool) { |
|
244 | 244 | return [ |
245 | 245 | 'link' => $revertTool['link'], |
246 | 246 | 'regex' => true === $revertTool['revert'] ? $revertTool['regex'] : $revertTool['revert'], |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -declare(strict_types = 1); |
|
2 | +declare(strict_types=1); |
|
3 | 3 | |
4 | 4 | use Symfony\Component\ErrorHandler\Debug; |
5 | 5 | use Symfony\Component\HttpFoundation\Request; |
@@ -13,7 +13,7 @@ discard block |
||
13 | 13 | // Feel free to remove this, extend it, or make something more sophisticated. |
14 | 14 | if (isset($_SERVER['HTTP_CLIENT_IP']) |
15 | 15 | || isset($_SERVER['HTTP_X_FORWARDED_FOR']) |
16 | - || !( in_array(@$_SERVER['REMOTE_ADDR'], [ '127.0.0.1', 'fe80::1', '::1' ]) || 'cli-server' === php_sapi_name() ) |
|
16 | + || !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', 'fe80::1', '::1']) || 'cli-server' === php_sapi_name()) |
|
17 | 17 | ) { |
18 | 18 | header('HTTP/1.0 403 Forbidden'); |
19 | 19 | exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -declare(strict_types = 1); |
|
2 | +declare(strict_types=1); |
|
3 | 3 | |
4 | 4 | namespace AppBundle\Model; |
5 | 5 | |
@@ -166,7 +166,7 @@ discard block |
||
166 | 166 | |
167 | 167 | $refs = $crawler->filter('#mw-content-text .reference'); |
168 | 168 | $refContent = []; |
169 | - $refs->each(function ($ref) use (&$refContent): void { |
|
169 | + $refs->each(function($ref) use (&$refContent): void { |
|
170 | 170 | $refContent[] = $ref->text(); |
171 | 171 | }); |
172 | 172 | $uniqueRefs = count(array_unique($refContent)); |
@@ -194,7 +194,7 @@ discard block |
||
194 | 194 | $totalChars = 0; |
195 | 195 | $totalWords = 0; |
196 | 196 | $paragraphs = $crawler->filter($selector); |
197 | - $paragraphs->each(function ($node) use (&$totalChars, &$totalWords): void { |
|
197 | + $paragraphs->each(function($node) use (&$totalChars, &$totalWords): void { |
|
198 | 198 | /** @var Crawler $node */ |
199 | 199 | $text = preg_replace('/\[\d+]/', '', trim($node->text(null, true))); |
200 | 200 | $totalChars += strlen($text); |
@@ -258,7 +258,7 @@ discard block |
||
258 | 258 | $data = [ |
259 | 259 | 'project' => $project->getDomain(), |
260 | 260 | 'page' => $page->getTitle(), |
261 | - 'watchers' => (int) $page->getWatchers(), |
|
261 | + 'watchers' => (int)$page->getWatchers(), |
|
262 | 262 | 'pageviews' => $page->getLastPageviews($pageviewsOffset), |
263 | 263 | 'pageviews_offset' => $pageviewsOffset, |
264 | 264 | ]; |
@@ -283,7 +283,7 @@ discard block |
||
283 | 283 | if (false !== $info) { |
284 | 284 | $creationDateTime = DateTime::createFromFormat('YmdHis', $info['created_at']); |
285 | 285 | $modifiedDateTime = DateTime::createFromFormat('YmdHis', $info['modified_at']); |
286 | - $secsSinceLastEdit = (new DateTime)->getTimestamp() - $modifiedDateTime->getTimestamp(); |
|
286 | + $secsSinceLastEdit = (new DateTime)->getTimestamp()-$modifiedDateTime->getTimestamp(); |
|
287 | 287 | |
288 | 288 | // Some wikis (such foundation.wikimedia.org) may be missing the creation date. |
289 | 289 | $creationDateTime = false === $creationDateTime |
@@ -295,16 +295,16 @@ discard block |
||
295 | 295 | ->getAssessment($page); |
296 | 296 | |
297 | 297 | $data = array_merge($data, [ |
298 | - 'revisions' => (int) $info['num_edits'], |
|
299 | - 'editors' => (int) $info['num_editors'], |
|
300 | - 'minor_edits' => (int) $info['minor_edits'], |
|
298 | + 'revisions' => (int)$info['num_edits'], |
|
299 | + 'editors' => (int)$info['num_editors'], |
|
300 | + 'minor_edits' => (int)$info['minor_edits'], |
|
301 | 301 | 'author' => $info['author'], |
302 | - 'author_editcount' => (int) $info['author_editcount'], |
|
302 | + 'author_editcount' => (int)$info['author_editcount'], |
|
303 | 303 | 'created_at' => $creationDateTime, |
304 | 304 | 'created_rev_id' => $info['created_rev_id'], |
305 | 305 | 'modified_at' => $modifiedDateTime->format('Y-m-d H:i'), |
306 | 306 | 'secs_since_last_edit' => $secsSinceLastEdit, |
307 | - 'last_edit_id' => (int) $info['modified_rev_id'], |
|
307 | + 'last_edit_id' => (int)$info['modified_rev_id'], |
|
308 | 308 | 'assessment' => $assessment, |
309 | 309 | ]); |
310 | 310 | } |
@@ -454,8 +454,8 @@ discard block |
||
454 | 454 | } |
455 | 455 | |
456 | 456 | // Sort by edit count. |
457 | - uasort($this->bots, function ($a, $b) { |
|
458 | - return $b['count'] - $a['count']; |
|
457 | + uasort($this->bots, function($a, $b) { |
|
458 | + return $b['count']-$a['count']; |
|
459 | 459 | }); |
460 | 460 | |
461 | 461 | return $this->bots; |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the EditCounterRepository class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Repository; |
9 | 9 | |
@@ -119,10 +119,10 @@ discard block |
||
119 | 119 | ])->fetchAll(); |
120 | 120 | |
121 | 121 | $logCounts = array_combine( |
122 | - array_map(function ($e) { |
|
122 | + array_map(function($e) { |
|
123 | 123 | return $e['source']; |
124 | 124 | }, $results), |
125 | - array_map(function ($e) { |
|
125 | + array_map(function($e) { |
|
126 | 126 | return (int)$e['value']; |
127 | 127 | }, $results) |
128 | 128 | ); |
@@ -200,10 +200,10 @@ discard block |
||
200 | 200 | } |
201 | 201 | |
202 | 202 | $counts = array_combine( |
203 | - array_map(function ($e) { |
|
203 | + array_map(function($e) { |
|
204 | 204 | return $e['key']; |
205 | 205 | }, $results), |
206 | - array_map(function ($e) { |
|
206 | + array_map(function($e) { |
|
207 | 207 | return (int)$e['val']; |
208 | 208 | }, $results) |
209 | 209 | ); |
@@ -335,9 +335,9 @@ discard block |
||
335 | 335 | 'actorId' => $user->getActorId($project), |
336 | 336 | ])->fetchAll(); |
337 | 337 | |
338 | - $namespaceTotals = array_combine(array_map(function ($e) { |
|
338 | + $namespaceTotals = array_combine(array_map(function($e) { |
|
339 | 339 | return $e['page_namespace']; |
340 | - }, $results), array_map(function ($e) { |
|
340 | + }, $results), array_map(function($e) { |
|
341 | 341 | return (int)$e['total']; |
342 | 342 | }, $results)); |
343 | 343 |