@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the PageRepository class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Repository; |
9 | 9 | |
@@ -306,7 +306,7 @@ discard block |
||
306 | 306 | |
307 | 307 | $wikidataId = ltrim($page->getWikidataId(), 'Q'); |
308 | 308 | |
309 | - $sql = "SELECT " . ($count ? 'COUNT(*) AS count' : '*') . " |
|
309 | + $sql = "SELECT ".($count ? 'COUNT(*) AS count' : '*')." |
|
310 | 310 | FROM wikidatawiki_p.wb_items_per_site |
311 | 311 | WHERE ips_item_id = :wikidataId"; |
312 | 312 | |
@@ -314,7 +314,7 @@ discard block |
||
314 | 314 | 'wikidataId' => $wikidataId, |
315 | 315 | ])->fetchAll(); |
316 | 316 | |
317 | - return $count ? (int) $result[0]['count'] : $result; |
|
317 | + return $count ? (int)$result[0]['count'] : $result; |
|
318 | 318 | } |
319 | 319 | |
320 | 320 | /** |
@@ -352,7 +352,7 @@ discard block |
||
352 | 352 | |
353 | 353 | // Transform to associative array by 'type' |
354 | 354 | foreach ($res as $row) { |
355 | - $data[$row['type'] . '_count'] = (int)$row['value']; |
|
355 | + $data[$row['type'].'_count'] = (int)$row['value']; |
|
356 | 356 | } |
357 | 357 | |
358 | 358 | return $data; |
@@ -396,7 +396,7 @@ discard block |
||
396 | 396 | |
397 | 397 | $project = $page->getProject()->getDomain(); |
398 | 398 | |
399 | - $url = 'https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/' . |
|
399 | + $url = 'https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/'. |
|
400 | 400 | "$project/all-access/user/$title/daily/$start/$end"; |
401 | 401 | |
402 | 402 | $res = $client->request('GET', $url); |
@@ -471,7 +471,7 @@ discard block |
||
471 | 471 | $normalized = []; |
472 | 472 | if (isset($result['query']['normalized'])) { |
473 | 473 | array_map( |
474 | - function ($e) use (&$normalized): void { |
|
474 | + function($e) use (&$normalized): void { |
|
475 | 475 | $normalized[$e['to']] = $e['from']; |
476 | 476 | }, |
477 | 477 | $result['query']['normalized'] |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the ArticleInfoRepository class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Repository; |
9 | 9 | |
@@ -84,7 +84,7 @@ discard block |
||
84 | 84 | |
85 | 85 | $sql = "SELECT log_action, log_type, log_timestamp AS 'timestamp' |
86 | 86 | FROM $loggingTable |
87 | - WHERE log_namespace = '" . $page->getNamespace() . "' |
|
87 | + WHERE log_namespace = '".$page->getNamespace()."' |
|
88 | 88 | AND log_title = :title AND log_timestamp > 1 $datesConditions |
89 | 89 | AND log_type IN ('delete', 'move', 'protect', 'stable')"; |
90 | 90 | $title = str_replace(' ', '_', $page->getTitle()); |
@@ -265,7 +265,7 @@ discard block |
||
265 | 265 | $time2 = time(); |
266 | 266 | |
267 | 267 | // If it took over 5 seconds, cache the result for 20 minutes. |
268 | - if ($time2 - $time1 > 5) { |
|
268 | + if ($time2-$time1 > 5) { |
|
269 | 269 | $this->setCache($cacheKey, $result, 'PT20M'); |
270 | 270 | } |
271 | 271 |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the ArticleInfo class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Model; |
9 | 9 | |
@@ -173,7 +173,7 @@ discard block |
||
173 | 173 | public function getMaxRevisions(): int |
174 | 174 | { |
175 | 175 | if (!isset($this->maxRevisions)) { |
176 | - $this->maxRevisions = (int) $this->container->getParameter('app.max_page_revisions'); |
|
176 | + $this->maxRevisions = (int)$this->container->getParameter('app.max_page_revisions'); |
|
177 | 177 | } |
178 | 178 | return $this->maxRevisions; |
179 | 179 | } |
@@ -792,7 +792,7 @@ discard block |
||
792 | 792 | $this->yearMonthCounts[$editYear]['all']++; |
793 | 793 | $this->yearMonthCounts[$editYear]['months'][$editMonth]['all']++; |
794 | 794 | // This will ultimately be the size of the page by the end of the year |
795 | - $this->yearMonthCounts[$editYear]['size'] = (int) $edit->getLength(); |
|
795 | + $this->yearMonthCounts[$editYear]['size'] = (int)$edit->getLength(); |
|
796 | 796 | |
797 | 797 | // Keep track of which month had the most edits |
798 | 798 | $editsThisMonth = $this->yearMonthCounts[$editYear]['months'][$editMonth]['all']; |
@@ -1003,7 +1003,7 @@ discard block |
||
1003 | 1003 | |
1004 | 1004 | if ($info['all'] > 1) { |
1005 | 1005 | // Number of seconds/days between first and last edit. |
1006 | - $secs = $info['last']->getTimestamp() - $info['first']->getTimestamp(); |
|
1006 | + $secs = $info['last']->getTimestamp()-$info['first']->getTimestamp(); |
|
1007 | 1007 | $days = $secs / (60 * 60 * 24); |
1008 | 1008 | |
1009 | 1009 | // Average time between edits (in days). |
@@ -1012,7 +1012,7 @@ discard block |
||
1012 | 1012 | } |
1013 | 1013 | |
1014 | 1014 | // Loop through again and add percentages. |
1015 | - $this->topTenEditorsByEdits = array_map(function ($editor) use ($topTenCount) { |
|
1015 | + $this->topTenEditorsByEdits = array_map(function($editor) use ($topTenCount) { |
|
1016 | 1016 | $editor['percentage'] = 100 * ($editor['value'] / $topTenCount); |
1017 | 1017 | return $editor; |
1018 | 1018 | }, $topTenEditorsByEdits); |
@@ -1030,7 +1030,7 @@ discard block |
||
1030 | 1030 | { |
1031 | 1031 | // First sort editors array by the amount of text they added. |
1032 | 1032 | $topTenEditorsByAdded = $this->editors; |
1033 | - uasort($topTenEditorsByAdded, function ($a, $b) { |
|
1033 | + uasort($topTenEditorsByAdded, function($a, $b) { |
|
1034 | 1034 | if ($a['added'] === $b['added']) { |
1035 | 1035 | return 0; |
1036 | 1036 | } |
@@ -1041,12 +1041,12 @@ discard block |
||
1041 | 1041 | $topTenEditorsByAdded = array_keys(array_slice($topTenEditorsByAdded, 0, 10, true)); |
1042 | 1042 | |
1043 | 1043 | // Get the sum of added text so that we can add in percentages. |
1044 | - $topTenTotalAdded = array_sum(array_map(function ($editor) { |
|
1044 | + $topTenTotalAdded = array_sum(array_map(function($editor) { |
|
1045 | 1045 | return $this->editors[$editor]['added']; |
1046 | 1046 | }, $topTenEditorsByAdded)); |
1047 | 1047 | |
1048 | 1048 | // Then build a new array of top 10 editors by added text in the data structure needed for the chart. |
1049 | - return array_map(function ($editor) use ($topTenTotalAdded) { |
|
1049 | + return array_map(function($editor) use ($topTenTotalAdded) { |
|
1050 | 1050 | $added = $this->editors[$editor]['added']; |
1051 | 1051 | return [ |
1052 | 1052 | 'label' => $editor, |
@@ -166,7 +166,7 @@ |
||
166 | 166 | // Send all to the template. |
167 | 167 | return $this->getFormattedResponse('topedits/result_article', [ |
168 | 168 | 'xtPage' => 'TopEdits', |
169 | - 'xtTitle' => $this->user->getUsername() . ' - ' . $this->page->getTitle(), |
|
169 | + 'xtTitle' => $this->user->getUsername().' - '.$this->page->getTitle(), |
|
170 | 170 | 'te' => $topEdits, |
171 | 171 | ]); |
172 | 172 | } |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the RateLimitSubscriber class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\EventSubscriber; |
9 | 9 | |
@@ -124,7 +124,7 @@ discard block |
||
124 | 124 | $cacheItem = $this->cache->getItem($cacheKey); |
125 | 125 | |
126 | 126 | // If increment value already in cache, or start with 1. |
127 | - $count = $cacheItem->isHit() ? (int) $cacheItem->get() + 1 : 1; |
|
127 | + $count = $cacheItem->isHit() ? (int)$cacheItem->get()+1 : 1; |
|
128 | 128 | |
129 | 129 | // Check if limit has been exceeded, and if so, throw an error. |
130 | 130 | if ($count > $this->rateLimit) { |
@@ -164,7 +164,7 @@ discard block |
||
164 | 164 | $cacheItem = $this->cache->getItem($cacheKey); |
165 | 165 | |
166 | 166 | // If increment value already in cache, or start with 1. |
167 | - $count = $cacheItem->isHit() ? (int)$cacheItem->get() + 1 : 1; |
|
167 | + $count = $cacheItem->isHit() ? (int)$cacheItem->get()+1 : 1; |
|
168 | 168 | |
169 | 169 | // Check if limit has been exceeded, and if so, add a log entry. |
170 | 170 | if ($count > 3) { |
@@ -239,8 +239,8 @@ discard block |
||
239 | 239 | $message = $this->i18n->msg('error-rate-limit', [ |
240 | 240 | $this->rateDuration, |
241 | 241 | "<a href='/login'>".$this->i18n->msg('error-rate-limit-login')."</a>", |
242 | - "<a href='https://xtools.readthedocs.io/en/stable/api' target='_blank'>" . |
|
243 | - $this->i18n->msg('api') . |
|
242 | + "<a href='https://xtools.readthedocs.io/en/stable/api' target='_blank'>". |
|
243 | + $this->i18n->msg('api'). |
|
244 | 244 | "</a>", |
245 | 245 | ]); |
246 | 246 |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * This file contains only the Repository class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Repository; |
9 | 9 | |
@@ -166,7 +166,7 @@ discard block |
||
166 | 166 | // $tableExtension in order to generate the new table name |
167 | 167 | if ($this->isLabs() && null !== $tableExtension) { |
168 | 168 | $mapped = true; |
169 | - $tableName .=('' === $tableExtension ? '' : '_'.$tableExtension); |
|
169 | + $tableName .= ('' === $tableExtension ? '' : '_'.$tableExtension); |
|
170 | 170 | } elseif ($this->container->hasParameter("app.table.$tableName")) { |
171 | 171 | // Use the table specified in the table mapping configuration, if present. |
172 | 172 | $mapped = true; |
@@ -178,7 +178,7 @@ discard block |
||
178 | 178 | // This is a safeguard in case table mapping isn't properly set up. |
179 | 179 | $isLoggingOrRevision = in_array($tableName, ['revision', 'logging', 'archive']); |
180 | 180 | if (!$mapped && $isLoggingOrRevision && $this->isLabs()) { |
181 | - $tableName .="_userindex"; |
|
181 | + $tableName .= "_userindex"; |
|
182 | 182 | } |
183 | 183 | |
184 | 184 | // Figure out database name. |
@@ -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 CategoryEdits class. |
4 | 4 | */ |
5 | 5 | |
6 | -declare(strict_types = 1); |
|
6 | +declare(strict_types=1); |
|
7 | 7 | |
8 | 8 | namespace AppBundle\Model; |
9 | 9 | |
@@ -46,7 +46,7 @@ discard block |
||
46 | 46 | ) { |
47 | 47 | $this->project = $project; |
48 | 48 | $this->user = $user; |
49 | - $this->categories = array_map(function ($category) { |
|
49 | + $this->categories = array_map(function($category) { |
|
50 | 50 | return str_replace(' ', '_', $category); |
51 | 51 | }, $categories); |
52 | 52 | $this->start = false === $start ? '' : date('Y-m-d', $start); |
@@ -78,7 +78,7 @@ discard block |
||
78 | 78 | */ |
79 | 79 | public function getCategoriesNormalized(): array |
80 | 80 | { |
81 | - return array_map(function ($category) { |
|
81 | + return array_map(function($category) { |
|
82 | 82 | return str_replace('_', ' ', $category); |
83 | 83 | }, $this->categories); |
84 | 84 | } |