@@ -695,7 +695,7 @@ |
||
695 | 695 | * Get the combined regex and tags for all semi-automated tools, |
696 | 696 | * ready to be used in a query. |
697 | 697 | * @param string $projectDomain Such as en.wikipedia.org |
698 | - * @param $conn Doctrine\DBAL\Connection Used for proper escaping |
|
698 | + * @param \Doctrine\DBAL\Connection $conn Doctrine\DBAL\Connection Used for proper escaping |
|
699 | 699 | * @return string[] In the format: |
700 | 700 | * ['combined|regex', 'combined,tags'] |
701 | 701 | */ |
@@ -78,7 +78,7 @@ discard block |
||
78 | 78 | |
79 | 79 | $this->stopwatch->start($cacheKey, 'XTools'); |
80 | 80 | $api = $this->getMediawikiApi($project); |
81 | - $params = [ "list"=>"users", "ususers"=>$username, "usprop"=>"groups" ]; |
|
81 | + $params = ["list"=>"users", "ususers"=>$username, "usprop"=>"groups"]; |
|
82 | 82 | $query = new SimpleRequest('query', $params); |
83 | 83 | $result = []; |
84 | 84 | $res = $api->getRequest($query); |
@@ -113,7 +113,7 @@ discard block |
||
113 | 113 | |
114 | 114 | // Create the API query. |
115 | 115 | $api = $this->getMediawikiApi($project); |
116 | - $params = [ "meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups" ]; |
|
116 | + $params = ["meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups"]; |
|
117 | 117 | $query = new SimpleRequest('query', $params); |
118 | 118 | |
119 | 119 | // Get the result. |
@@ -157,8 +157,8 @@ discard block |
||
157 | 157 | { |
158 | 158 | $username = $user->getUsername(); |
159 | 159 | |
160 | - $cacheKey = 'pages.' . $project->getDatabaseName() . '.' |
|
161 | - . $user->getCacheKey() . '.' . $namespace . '.' . $redirects; |
|
160 | + $cacheKey = 'pages.'.$project->getDatabaseName().'.' |
|
161 | + . $user->getCacheKey().'.'.$namespace.'.'.$redirects; |
|
162 | 162 | if ($this->cache->hasItem($cacheKey)) { |
163 | 163 | return $this->cache->getItem($cacheKey)->get(); |
164 | 164 | } |
@@ -216,7 +216,7 @@ discard block |
||
216 | 216 | JOIN $revisionTable ON page_id = rev_page |
217 | 217 | $paJoin |
218 | 218 | WHERE $whereRev AND rev_parent_id = '0' $namespaceConditionRev $redirectCondition |
219 | - " . ($hasPageAssessments ? 'GROUP BY rev_page' : '') . " |
|
219 | + ".($hasPageAssessments ? 'GROUP BY rev_page' : '')." |
|
220 | 220 | ) |
221 | 221 | |
222 | 222 | UNION |
@@ -263,21 +263,21 @@ discard block |
||
263 | 263 | */ |
264 | 264 | public function countEdits(Project $project, User $user, $namespace = 'all', $start = '', $end = '') |
265 | 265 | { |
266 | - $cacheKey = 'editcount.' . $project->getDatabaseName() . '.' |
|
267 | - . $user->getCacheKey() . '.' . $namespace; |
|
266 | + $cacheKey = 'editcount.'.$project->getDatabaseName().'.' |
|
267 | + . $user->getCacheKey().'.'.$namespace; |
|
268 | 268 | |
269 | 269 | $condBegin = ''; |
270 | 270 | $condEnd = ''; |
271 | 271 | |
272 | 272 | if (!empty($start)) { |
273 | - $cacheKey .= '.' . $start; |
|
273 | + $cacheKey .= '.'.$start; |
|
274 | 274 | |
275 | 275 | // For the query |
276 | 276 | $start = date('Ymd000000', strtotime($start)); |
277 | 277 | $condBegin = 'AND rev_timestamp >= :start '; |
278 | 278 | } |
279 | 279 | if (!empty($end)) { |
280 | - $cacheKey .= '.' . $end; |
|
280 | + $cacheKey .= '.'.$end; |
|
281 | 281 | |
282 | 282 | // For the query |
283 | 283 | $end = date('Ymd235959', strtotime($end)); |
@@ -337,21 +337,21 @@ discard block |
||
337 | 337 | */ |
338 | 338 | public function countAutomatedEdits(Project $project, User $user, $namespace = 'all', $start = '', $end = '') |
339 | 339 | { |
340 | - $cacheKey = 'autoeditcount.' . $project->getDatabaseName() . '.' |
|
341 | - . $user->getCacheKey() . '.' . $namespace; |
|
340 | + $cacheKey = 'autoeditcount.'.$project->getDatabaseName().'.' |
|
341 | + . $user->getCacheKey().'.'.$namespace; |
|
342 | 342 | |
343 | 343 | $condBegin = ''; |
344 | 344 | $condEnd = ''; |
345 | 345 | |
346 | 346 | if (!empty($start)) { |
347 | - $cacheKey .= '.' . $start; |
|
347 | + $cacheKey .= '.'.$start; |
|
348 | 348 | |
349 | 349 | // For the query |
350 | 350 | $start = date('Ymd000000', strtotime($start)); |
351 | 351 | $condBegin = 'AND rev_timestamp >= :start '; |
352 | 352 | } |
353 | 353 | if (!empty($end)) { |
354 | - $cacheKey .= '.' . $end; |
|
354 | + $cacheKey .= '.'.$end; |
|
355 | 355 | |
356 | 356 | // For the query |
357 | 357 | $end = date('Ymd235959', strtotime($end)); |
@@ -383,7 +383,7 @@ discard block |
||
383 | 383 | $tagJoin = $tags != '' ? "LEFT OUTER JOIN $tagTable ON ct_rev_id = rev_id" : ''; |
384 | 384 | $condTools[] = "ct_tag IN ($tags)"; |
385 | 385 | } |
386 | - $condTool = 'AND (' . implode(' OR ', $condTools) . ')'; |
|
386 | + $condTool = 'AND ('.implode(' OR ', $condTools).')'; |
|
387 | 387 | |
388 | 388 | $sql = "SELECT COUNT(DISTINCT(rev_id)) |
389 | 389 | FROM $revisionTable |
@@ -408,7 +408,7 @@ discard block |
||
408 | 408 | $resultQuery->bindParam('namespace', $namespace); |
409 | 409 | } |
410 | 410 | $resultQuery->execute(); |
411 | - $result = (int) $resultQuery->fetchColumn(); |
|
411 | + $result = (int)$resultQuery->fetchColumn(); |
|
412 | 412 | |
413 | 413 | // Cache for 10 minutes, and return. |
414 | 414 | $cacheItem = $this->cache->getItem($cacheKey) |
@@ -440,21 +440,21 @@ discard block |
||
440 | 440 | $end = '', |
441 | 441 | $offset = 0 |
442 | 442 | ) { |
443 | - $cacheKey = 'nonautoedits.' . $project->getDatabaseName() . '.' |
|
444 | - . $user->getCacheKey() . '.' . $namespace . '.' . $offset; |
|
443 | + $cacheKey = 'nonautoedits.'.$project->getDatabaseName().'.' |
|
444 | + . $user->getCacheKey().'.'.$namespace.'.'.$offset; |
|
445 | 445 | |
446 | 446 | $condBegin = ''; |
447 | 447 | $condEnd = ''; |
448 | 448 | |
449 | 449 | if (!empty($start)) { |
450 | - $cacheKey .= '.' . $start; |
|
450 | + $cacheKey .= '.'.$start; |
|
451 | 451 | |
452 | 452 | // For the query |
453 | 453 | $start = date('Ymd000000', strtotime($start)); |
454 | 454 | $condBegin = 'AND revs.rev_timestamp >= :start '; |
455 | 455 | } |
456 | 456 | if (!empty($end)) { |
457 | - $cacheKey .= '.' . $end; |
|
457 | + $cacheKey .= '.'.$end; |
|
458 | 458 | |
459 | 459 | // For the query |
460 | 460 | $end = date('Ymd235959', strtotime($end)); |
@@ -547,21 +547,21 @@ discard block |
||
547 | 547 | $start = '', |
548 | 548 | $end = '' |
549 | 549 | ) { |
550 | - $cacheKey = 'autotoolcounts.' . $project->getDatabaseName() . '.' |
|
551 | - . $user->getCacheKey() . '.' . $namespace; |
|
550 | + $cacheKey = 'autotoolcounts.'.$project->getDatabaseName().'.' |
|
551 | + . $user->getCacheKey().'.'.$namespace; |
|
552 | 552 | |
553 | 553 | $condBegin = ''; |
554 | 554 | $condEnd = ''; |
555 | 555 | |
556 | 556 | if (!empty($start)) { |
557 | - $cacheKey .= '.' . $start; |
|
557 | + $cacheKey .= '.'.$start; |
|
558 | 558 | |
559 | 559 | // For the query |
560 | 560 | $start = date('Ymd000000', strtotime($start)); |
561 | 561 | $condBegin = 'AND rev_timestamp >= :start '; |
562 | 562 | } |
563 | 563 | if (!empty($end)) { |
564 | - $cacheKey .= '.' . $end; |
|
564 | + $cacheKey .= '.'.$end; |
|
565 | 565 | |
566 | 566 | // For the query |
567 | 567 | $end = date('Ymd235959', strtotime($end)); |
@@ -608,13 +608,13 @@ discard block |
||
608 | 608 | if ($condTool === '') { |
609 | 609 | $condTool = "ct_tag = $tag"; |
610 | 610 | } else { |
611 | - $condTool = '(' . $condTool . " OR ct_tag = $tag)"; |
|
611 | + $condTool = '('.$condTool." OR ct_tag = $tag)"; |
|
612 | 612 | } |
613 | 613 | } |
614 | 614 | |
615 | 615 | // Developer error, no regex or tag provided for this tool. |
616 | 616 | if ($condTool === '') { |
617 | - throw new Exception("No regex or tag found for the tool $toolname. " . |
|
617 | + throw new Exception("No regex or tag found for the tool $toolname. ". |
|
618 | 618 | "Please verify this entry in semi_automated.yml"); |
619 | 619 | } |
620 | 620 | |
@@ -666,8 +666,8 @@ discard block |
||
666 | 666 | } |
667 | 667 | |
668 | 668 | // Sort the array by count |
669 | - uasort($results, function ($a, $b) { |
|
670 | - return $b['count'] - $a['count']; |
|
669 | + uasort($results, function($a, $b) { |
|
670 | + return $b['count']-$a['count']; |
|
671 | 671 | }); |
672 | 672 | |
673 | 673 | // Cache for 10 minutes, and return. |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | */ |
58 | 58 | public function isAutomated($summary, $projectDomain) |
59 | 59 | { |
60 | - return (bool) $this->getTool($summary, $projectDomain); |
|
60 | + return (bool)$this->getTool($summary, $projectDomain); |
|
61 | 61 | } |
62 | 62 | |
63 | 63 | /** |
@@ -109,14 +109,14 @@ discard block |
||
109 | 109 | |
110 | 110 | $revertEntries = array_filter( |
111 | 111 | $this->getTools($projectDomain), |
112 | - function ($tool) { |
|
112 | + function($tool) { |
|
113 | 113 | return isset($tool['revert']); |
114 | 114 | } |
115 | 115 | ); |
116 | 116 | |
117 | 117 | // If 'revert' is set to `true`, the use 'regex' as the regular expression, |
118 | 118 | // otherwise 'revert' is assumed to be the regex string. |
119 | - $this->revertTools[$projectDomain] = array_map(function ($revertTool) { |
|
119 | + $this->revertTools[$projectDomain] = array_map(function($revertTool) { |
|
120 | 120 | return [ |
121 | 121 | 'link' => $revertTool['link'], |
122 | 122 | 'regex' => $revertTool['revert'] === true ? $revertTool['regex'] : $revertTool['revert'] |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | $this->page = $page; |
50 | 50 | |
51 | 51 | // Copy over supported attributes |
52 | - $this->id = (int) $attrs['id']; |
|
52 | + $this->id = (int)$attrs['id']; |
|
53 | 53 | |
54 | 54 | // Allow DateTime or string (latter assumed to be of format YmdHis) |
55 | 55 | if ($attrs['timestamp'] instanceof DateTime) { |
@@ -198,7 +198,7 @@ discard block |
||
198 | 198 | $isSection = preg_match_all("/^\/\* (.*?) \*\//", $summary, $sectionMatch); |
199 | 199 | |
200 | 200 | if ($isSection) { |
201 | - $pageUrl = $this->getProject()->getUrl(false) . str_replace( |
|
201 | + $pageUrl = $this->getProject()->getUrl(false).str_replace( |
|
202 | 202 | '$1', |
203 | 203 | $this->getPage()->getTitle(), |
204 | 204 | $this->getProject()->getArticlePath() |
@@ -208,8 +208,8 @@ discard block |
||
208 | 208 | // Must have underscores for the link to properly go to the section |
209 | 209 | $sectionTitleLink = htmlspecialchars(str_replace(' ', '_', $sectionTitle)); |
210 | 210 | |
211 | - $sectionWikitext = "<a target='_blank' href='$pageUrl#$sectionTitleLink'>→</a>" . |
|
212 | - "<em class='text-muted'>" . htmlspecialchars($sectionTitle) . ":</em> "; |
|
211 | + $sectionWikitext = "<a target='_blank' href='$pageUrl#$sectionTitleLink'>→</a>". |
|
212 | + "<em class='text-muted'>".htmlspecialchars($sectionTitle).":</em> "; |
|
213 | 213 | $summary = str_replace($sectionMatch[0][0], $sectionWikitext, $summary); |
214 | 214 | } |
215 | 215 | |
@@ -223,7 +223,7 @@ discard block |
||
223 | 223 | ); |
224 | 224 | |
225 | 225 | // Use normalized page title (underscored, capitalized) |
226 | - $pageUrl = $this->getProject()->getUrl(false) . str_replace( |
|
226 | + $pageUrl = $this->getProject()->getUrl(false).str_replace( |
|
227 | 227 | '$1', |
228 | 228 | ucfirst(str_replace(' ', '_', $wikiLinkPath)), |
229 | 229 | $this->getProject()->getArticlePath() |
@@ -261,8 +261,8 @@ discard block |
||
261 | 261 | public function getDiffUrl() |
262 | 262 | { |
263 | 263 | $project = $this->getProject(); |
264 | - $path = str_replace('$1', 'Special:Diff/' . $this->id, $project->getArticlePath()); |
|
265 | - return rtrim($project->getUrl(), '/') . $path; |
|
264 | + $path = str_replace('$1', 'Special:Diff/'.$this->id, $project->getArticlePath()); |
|
265 | + return rtrim($project->getUrl(), '/').$path; |
|
266 | 266 | } |
267 | 267 | |
268 | 268 | /** |
@@ -272,8 +272,8 @@ discard block |
||
272 | 272 | public function getPermaUrl() |
273 | 273 | { |
274 | 274 | $project = $this->getProject(); |
275 | - $path = str_replace('$1', 'Special:PermaLink/' . $this->id, $project->getArticlePath()); |
|
276 | - return rtrim($project->getUrl(), '/') . $path; |
|
275 | + $path = str_replace('$1', 'Special:PermaLink/'.$this->id, $project->getArticlePath()); |
|
276 | + return rtrim($project->getUrl(), '/').$path; |
|
277 | 277 | } |
278 | 278 | |
279 | 279 | /** |
@@ -305,7 +305,7 @@ discard block |
||
305 | 305 | */ |
306 | 306 | public function isAutomated(Container $container) |
307 | 307 | { |
308 | - return (bool) $this->getTool($container); |
|
308 | + return (bool)$this->getTool($container); |
|
309 | 309 | } |
310 | 310 | |
311 | 311 | /** |
@@ -3,8 +3,6 @@ |
||
3 | 3 | namespace AppBundle\Controller; |
4 | 4 | |
5 | 5 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
6 | -use Symfony\Component\CssSelector\Exception\InternalErrorException; |
|
7 | -use Symfony\Component\Debug\Exception\ContextErrorException; |
|
8 | 6 | use Symfony\Component\HttpFoundation\Request; |
9 | 7 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
10 | 8 | use Xtools\ProjectRepository; |
@@ -37,7 +37,7 @@ discard block |
||
37 | 37 | * @Route("/rfxvote", name="rfxvote") |
38 | 38 | * @Route("/rfxvote", name="RfXVoteCalculator") |
39 | 39 | * |
40 | - * @return Response |
|
40 | + * @return \Symfony\Component\HttpFoundation\Response |
|
41 | 41 | */ |
42 | 42 | public function indexAction() |
43 | 43 | { |
@@ -86,7 +86,7 @@ discard block |
||
86 | 86 | * |
87 | 87 | * @Route("/rfxvote/{project}/{username}", name="rfxvoteResult") |
88 | 88 | * |
89 | - * @return Response |
|
89 | + * @return \Symfony\Component\HttpFoundation\Response |
|
90 | 90 | */ |
91 | 91 | public function resultAction($project, $username) |
92 | 92 | { |
@@ -48,7 +48,7 @@ discard block |
||
48 | 48 | $username = $request->query->get('username'); |
49 | 49 | |
50 | 50 | if ($projectQuery != '' && $username != '') { |
51 | - $routeParams = [ 'project' => $projectQuery, 'username' => $username ]; |
|
51 | + $routeParams = ['project' => $projectQuery, 'username' => $username]; |
|
52 | 52 | return $this->redirectToRoute( |
53 | 53 | 'rfxvoteResult', |
54 | 54 | $routeParams |
@@ -167,8 +167,8 @@ discard block |
||
167 | 167 | $titles = []; |
168 | 168 | |
169 | 169 | while ($row = $sth->fetch()) { |
170 | - $titles[] = $namespaces[$row['page_namespace']] . |
|
171 | - ':' .$row['page_title']; |
|
170 | + $titles[] = $namespaces[$row['page_namespace']]. |
|
171 | + ':'.$row['page_title']; |
|
172 | 172 | } |
173 | 173 | |
174 | 174 | // Chunking... it's possible to make a URI too long |
@@ -174,7 +174,7 @@ discard block |
||
174 | 174 | */ |
175 | 175 | public function countAutomatedEdits(Project $project, $namespace = 'all', $start = '', $end = '') |
176 | 176 | { |
177 | - return (int) $this->getRepository()->countAutomatedEdits($project, $this, $namespace, $start, $end); |
|
177 | + return (int)$this->getRepository()->countAutomatedEdits($project, $this, $namespace, $start, $end); |
|
178 | 178 | } |
179 | 179 | |
180 | 180 | /** |
@@ -206,21 +206,21 @@ discard block |
||
206 | 206 | |
207 | 207 | $namespaces = $project->getNamespaces(); |
208 | 208 | |
209 | - return array_map(function ($rev) use ($namespaces) { |
|
209 | + return array_map(function($rev) use ($namespaces) { |
|
210 | 210 | $pageTitle = $rev['page_title']; |
211 | 211 | |
212 | 212 | if ($rev['page_namespace'] !== '0') { |
213 | - $pageTitle = $namespaces[$rev['page_namespace']] . ":$pageTitle"; |
|
213 | + $pageTitle = $namespaces[$rev['page_namespace']].":$pageTitle"; |
|
214 | 214 | } |
215 | 215 | |
216 | 216 | return [ |
217 | 217 | 'page_title' => $pageTitle, |
218 | - 'page_namespace' => (int) $rev['page_namespace'], |
|
219 | - 'rev_id' => (int) $rev['rev_id'], |
|
218 | + 'page_namespace' => (int)$rev['page_namespace'], |
|
219 | + 'rev_id' => (int)$rev['rev_id'], |
|
220 | 220 | 'timestamp' => DateTime::createFromFormat('YmdHis', $rev['timestamp']), |
221 | - 'minor' => (bool) $rev['minor'], |
|
222 | - 'length' => (int) $rev['length'], |
|
223 | - 'length_change' => (int) $rev['length_change'], |
|
221 | + 'minor' => (bool)$rev['minor'], |
|
222 | + 'length' => (int)$rev['length'], |
|
223 | + 'length_change' => (int)$rev['length_change'], |
|
224 | 224 | 'comment' => $rev['comment'], |
225 | 225 | ]; |
226 | 226 | }, $revs); |
@@ -473,7 +473,7 @@ discard block |
||
473 | 473 | |
474 | 474 | /** |
475 | 475 | * Get the date and time of the user's first edit. |
476 | - * @return DateTime|bool The time of the first revision, or false. |
|
476 | + * @return DateInterval The time of the first revision, or false. |
|
477 | 477 | */ |
478 | 478 | public function datetimeFirstRevision() |
479 | 479 | { |
@@ -483,7 +483,7 @@ discard block |
||
483 | 483 | |
484 | 484 | /** |
485 | 485 | * Get the date and time of the user's first edit. |
486 | - * @return DateTime|bool The time of the last revision, or false. |
|
486 | + * @return DateInterval The time of the last revision, or false. |
|
487 | 487 | */ |
488 | 488 | public function datetimeLastRevision() |
489 | 489 | { |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | */ |
83 | 83 | protected function getPairData() |
84 | 84 | { |
85 | - if (! is_array($this->pairData)) { |
|
85 | + if (!is_array($this->pairData)) { |
|
86 | 86 | $this->pairData = $this->getRepository() |
87 | 87 | ->getPairData($this->project, $this->user); |
88 | 88 | } |
@@ -95,7 +95,7 @@ discard block |
||
95 | 95 | */ |
96 | 96 | protected function getLogCounts() |
97 | 97 | { |
98 | - if (! is_array($this->logCounts)) { |
|
98 | + if (!is_array($this->logCounts)) { |
|
99 | 99 | $this->logCounts = $this->getRepository() |
100 | 100 | ->getLogCounts($this->project, $this->user); |
101 | 101 | } |
@@ -144,7 +144,7 @@ discard block |
||
144 | 144 | */ |
145 | 145 | public function countAllRevisions() |
146 | 146 | { |
147 | - return $this->countLiveRevisions() + $this->countDeletedRevisions(); |
|
147 | + return $this->countLiveRevisions()+$this->countDeletedRevisions(); |
|
148 | 148 | } |
149 | 149 | |
150 | 150 | /** |
@@ -163,7 +163,7 @@ discard block |
||
163 | 163 | */ |
164 | 164 | public function countRevisionsWithoutComments() |
165 | 165 | { |
166 | - return $this->countLiveRevisions() - $this->countRevisionsWithComments(); |
|
166 | + return $this->countLiveRevisions()-$this->countRevisionsWithComments(); |
|
167 | 167 | } |
168 | 168 | |
169 | 169 | /** |
@@ -202,7 +202,7 @@ discard block |
||
202 | 202 | */ |
203 | 203 | public function countAllPagesEdited() |
204 | 204 | { |
205 | - return $this->countLivePagesEdited() + $this->countDeletedPagesEdited(); |
|
205 | + return $this->countLivePagesEdited()+$this->countDeletedPagesEdited(); |
|
206 | 206 | } |
207 | 207 | |
208 | 208 | /** |
@@ -212,7 +212,7 @@ discard block |
||
212 | 212 | */ |
213 | 213 | public function countPagesCreated() |
214 | 214 | { |
215 | - return $this->countCreatedPagesLive() + $this->countPagesCreatedDeleted(); |
|
215 | + return $this->countCreatedPagesLive()+$this->countPagesCreatedDeleted(); |
|
216 | 216 | } |
217 | 217 | |
218 | 218 | /** |
@@ -340,7 +340,7 @@ discard block |
||
340 | 340 | // Try block just in case there are older, unpredictable formats |
341 | 341 | try { |
342 | 342 | $expiry = strtotime($durationStr, $timestamp); |
343 | - $duration = ($expiry - $timestamp) / (60 * 60 * 24); |
|
343 | + $duration = ($expiry-$timestamp) / (60 * 60 * 24); |
|
344 | 344 | |
345 | 345 | if (!$duration || $duration > $this->longestBlockDays) { |
346 | 346 | $this->longestBlockDays = $duration; |
@@ -424,7 +424,7 @@ discard block |
||
424 | 424 | $import = isset($logCounts['import-import']) ? (int)$logCounts['import-import'] : 0; |
425 | 425 | $interwiki = isset($logCounts['import-interwiki']) ? (int)$logCounts['import-interwiki'] : 0; |
426 | 426 | $upload = isset($logCounts['import-upload']) ? (int)$logCounts['import-upload'] : 0; |
427 | - return $import + $interwiki + $upload; |
|
427 | + return $import+$interwiki+$upload; |
|
428 | 428 | } |
429 | 429 | |
430 | 430 | /** |
@@ -548,9 +548,9 @@ discard block |
||
548 | 548 | public function approvals() |
549 | 549 | { |
550 | 550 | $logCounts = $this->getLogCounts(); |
551 | - $total = $logCounts['review-approve'] + |
|
552 | - (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0) + |
|
553 | - (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0) + |
|
551 | + $total = $logCounts['review-approve']+ |
|
552 | + (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0)+ |
|
553 | + (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0)+ |
|
554 | 554 | (!empty($logCounts['review-approve-ia']) ? $logCounts['review-approve-ia'] : 0); |
555 | 555 | return $total; |
556 | 556 | } |
@@ -574,7 +574,7 @@ discard block |
||
574 | 574 | $logCounts = $this->getLogCounts(); |
575 | 575 | $create2 = $logCounts['newusers-create2'] ?: 0; |
576 | 576 | $byemail = $logCounts['newusers-byemail'] ?: 0; |
577 | - return $create2 + $byemail; |
|
577 | + return $create2+$byemail; |
|
578 | 578 | } |
579 | 579 | |
580 | 580 | /** |
@@ -622,7 +622,7 @@ discard block |
||
622 | 622 | |
623 | 623 | $totals = $this->getRepository()->getMonthCounts($this->project, $this->user); |
624 | 624 | $out = [ |
625 | - 'yearLabels' => [], // labels for years |
|
625 | + 'yearLabels' => [], // labels for years |
|
626 | 626 | 'monthLabels' => [], // labels for months |
627 | 627 | 'totals' => [], // actual totals, grouped by namespace, year and then month |
628 | 628 | ]; |
@@ -650,7 +650,7 @@ discard block |
||
650 | 650 | $out['totals'][$ns][$total['year']] = []; |
651 | 651 | } |
652 | 652 | |
653 | - $out['totals'][$ns][$total['year']][$total['month']] = (int) $total['count']; |
|
653 | + $out['totals'][$ns][$total['year']][$total['month']] = (int)$total['count']; |
|
654 | 654 | } |
655 | 655 | |
656 | 656 | $dateRange = new DatePeriod( |
@@ -660,8 +660,8 @@ discard block |
||
660 | 660 | ); |
661 | 661 | |
662 | 662 | foreach ($dateRange as $monthObj) { |
663 | - $year = (int) $monthObj->format('Y'); |
|
664 | - $month = (int) $monthObj->format('n'); |
|
663 | + $year = (int)$monthObj->format('Y'); |
|
664 | + $month = (int)$monthObj->format('n'); |
|
665 | 665 | |
666 | 666 | // Fill in labels |
667 | 667 | $out['monthLabels'][] = $monthObj->format('Y-m'); |
@@ -770,8 +770,8 @@ discard block |
||
770 | 770 | ->globalEditCounts($this->user, $this->project); |
771 | 771 | if ($sorted) { |
772 | 772 | // Sort. |
773 | - uasort($this->globalEditCounts, function ($a, $b) { |
|
774 | - return $b['total'] - $a['total']; |
|
773 | + uasort($this->globalEditCounts, function($a, $b) { |
|
774 | + return $b['total']-$a['total']; |
|
775 | 775 | }); |
776 | 776 | } |
777 | 777 | } |
@@ -807,7 +807,7 @@ discard block |
||
807 | 807 | $nsName = $project->getNamespaces()[$revision['page_namespace']]; |
808 | 808 | } |
809 | 809 | $page = $project->getRepository() |
810 | - ->getPage($project, $nsName . ':' . $revision['page_title']); |
|
810 | + ->getPage($project, $nsName.':'.$revision['page_title']); |
|
811 | 811 | $edit = new Edit($page, $revision); |
812 | 812 | $globalEdits[$edit->getTimestamp()->getTimestamp().'-'.$edit->getId()] = $edit; |
813 | 813 | } |
@@ -824,7 +824,7 @@ discard block |
||
824 | 824 | */ |
825 | 825 | protected function getEditSizeData() |
826 | 826 | { |
827 | - if (! is_array($this->editSizeData)) { |
|
827 | + if (!is_array($this->editSizeData)) { |
|
828 | 828 | $this->editSizeData = $this->getRepository() |
829 | 829 | ->getEditSizeData($this->project, $this->user); |
830 | 830 | } |
@@ -848,7 +848,7 @@ discard block |
||
848 | 848 | public function countSmallEdits() |
849 | 849 | { |
850 | 850 | $editSizeData = $this->getEditSizeData(); |
851 | - return isset($editSizeData['small_edits']) ? (int) $editSizeData['small_edits'] : 0; |
|
851 | + return isset($editSizeData['small_edits']) ? (int)$editSizeData['small_edits'] : 0; |
|
852 | 852 | } |
853 | 853 | |
854 | 854 | /** |
@@ -858,7 +858,7 @@ discard block |
||
858 | 858 | public function countLargeEdits() |
859 | 859 | { |
860 | 860 | $editSizeData = $this->getEditSizeData(); |
861 | - return isset($editSizeData['large_edits']) ? (int) $editSizeData['large_edits'] : 0; |
|
861 | + return isset($editSizeData['large_edits']) ? (int)$editSizeData['large_edits'] : 0; |
|
862 | 862 | } |
863 | 863 | |
864 | 864 | /** |
@@ -32,32 +32,32 @@ discard block |
||
32 | 32 | { |
33 | 33 | $options = ['is_safe' => ['html']]; |
34 | 34 | return [ |
35 | - new \Twig_SimpleFunction('request_time', [ $this, 'requestTime' ], $options), |
|
36 | - new \Twig_SimpleFunction('memory_usage', [ $this, 'requestMemory' ], $options), |
|
37 | - new \Twig_SimpleFunction('year', [ $this, 'generateYear' ], $options), |
|
38 | - new \Twig_SimpleFunction('msgPrintExists', [ $this, 'intuitionMessagePrintExists' ], $options), |
|
39 | - new \Twig_SimpleFunction('msgExists', [ $this, 'intuitionMessageExists' ], $options), |
|
40 | - new \Twig_SimpleFunction('msg', [ $this, 'intuitionMessage' ], $options), |
|
41 | - new \Twig_SimpleFunction('lang', [ $this, 'getLang' ], $options), |
|
42 | - new \Twig_SimpleFunction('langName', [ $this, 'getLangName' ], $options), |
|
43 | - new \Twig_SimpleFunction('allLangs', [ $this, 'getAllLangs' ]), |
|
44 | - new \Twig_SimpleFunction('isRTL', [ $this, 'intuitionIsRTL' ]), |
|
45 | - new \Twig_SimpleFunction('isRTLLang', [ $this, 'intuitionIsRTLLang' ]), |
|
46 | - new \Twig_SimpleFunction('shortHash', [ $this, 'gitShortHash' ]), |
|
47 | - new \Twig_SimpleFunction('hash', [ $this, 'gitHash' ]), |
|
48 | - new \Twig_SimpleFunction('enabled', [ $this, 'tabEnabled' ]), |
|
49 | - new \Twig_SimpleFunction('tools', [ $this, 'allTools' ]), |
|
50 | - new \Twig_SimpleFunction('color', [ $this, 'getColorList' ]), |
|
51 | - new \Twig_SimpleFunction('chartColor', [ $this, 'chartColor' ]), |
|
52 | - new \Twig_SimpleFunction('isWMFLabs', [ $this, 'isWMFLabs' ]), |
|
53 | - new \Twig_SimpleFunction('isSingleWiki', [ $this, 'isSingleWiki' ]), |
|
54 | - new \Twig_SimpleFunction('getReplagThreshold', [ $this, 'getReplagThreshold' ]), |
|
55 | - new \Twig_SimpleFunction('loadStylesheetsFromCDN', [ $this, 'loadStylesheetsFromCDN' ]), |
|
56 | - new \Twig_SimpleFunction('isWMFLabs', [ $this, 'isWMFLabs' ]), |
|
57 | - new \Twig_SimpleFunction('replag', [ $this, 'replag' ]), |
|
58 | - new \Twig_SimpleFunction('link', [ $this, 'link' ]), |
|
59 | - new \Twig_SimpleFunction('quote', [ $this, 'quote' ]), |
|
60 | - new \Twig_SimpleFunction('bugReportURL', [ $this, 'bugReportURL' ]), |
|
35 | + new \Twig_SimpleFunction('request_time', [$this, 'requestTime'], $options), |
|
36 | + new \Twig_SimpleFunction('memory_usage', [$this, 'requestMemory'], $options), |
|
37 | + new \Twig_SimpleFunction('year', [$this, 'generateYear'], $options), |
|
38 | + new \Twig_SimpleFunction('msgPrintExists', [$this, 'intuitionMessagePrintExists'], $options), |
|
39 | + new \Twig_SimpleFunction('msgExists', [$this, 'intuitionMessageExists'], $options), |
|
40 | + new \Twig_SimpleFunction('msg', [$this, 'intuitionMessage'], $options), |
|
41 | + new \Twig_SimpleFunction('lang', [$this, 'getLang'], $options), |
|
42 | + new \Twig_SimpleFunction('langName', [$this, 'getLangName'], $options), |
|
43 | + new \Twig_SimpleFunction('allLangs', [$this, 'getAllLangs']), |
|
44 | + new \Twig_SimpleFunction('isRTL', [$this, 'intuitionIsRTL']), |
|
45 | + new \Twig_SimpleFunction('isRTLLang', [$this, 'intuitionIsRTLLang']), |
|
46 | + new \Twig_SimpleFunction('shortHash', [$this, 'gitShortHash']), |
|
47 | + new \Twig_SimpleFunction('hash', [$this, 'gitHash']), |
|
48 | + new \Twig_SimpleFunction('enabled', [$this, 'tabEnabled']), |
|
49 | + new \Twig_SimpleFunction('tools', [$this, 'allTools']), |
|
50 | + new \Twig_SimpleFunction('color', [$this, 'getColorList']), |
|
51 | + new \Twig_SimpleFunction('chartColor', [$this, 'chartColor']), |
|
52 | + new \Twig_SimpleFunction('isWMFLabs', [$this, 'isWMFLabs']), |
|
53 | + new \Twig_SimpleFunction('isSingleWiki', [$this, 'isSingleWiki']), |
|
54 | + new \Twig_SimpleFunction('getReplagThreshold', [$this, 'getReplagThreshold']), |
|
55 | + new \Twig_SimpleFunction('loadStylesheetsFromCDN', [$this, 'loadStylesheetsFromCDN']), |
|
56 | + new \Twig_SimpleFunction('isWMFLabs', [$this, 'isWMFLabs']), |
|
57 | + new \Twig_SimpleFunction('replag', [$this, 'replag']), |
|
58 | + new \Twig_SimpleFunction('link', [$this, 'link']), |
|
59 | + new \Twig_SimpleFunction('quote', [$this, 'quote']), |
|
60 | + new \Twig_SimpleFunction('bugReportURL', [$this, 'bugReportURL']), |
|
61 | 61 | new \Twig_SimpleFunction('logged_in_user', [$this, 'functionLoggedInUser']), |
62 | 62 | new \Twig_SimpleFunction('isUserAnon', [$this, 'isUserAnon']), |
63 | 63 | new \Twig_SimpleFunction('nsName', [$this, 'nsName']), |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | */ |
73 | 73 | public function requestTime($decimals = 3) |
74 | 74 | { |
75 | - return number_format(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'], $decimals); |
|
75 | + return number_format(microtime(true)-$_SERVER['REQUEST_TIME_FLOAT'], $decimals); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | /** |
@@ -105,7 +105,7 @@ discard block |
||
105 | 105 | */ |
106 | 106 | public function intuitionMessageExists($message = "") |
107 | 107 | { |
108 | - return $this->getIntuition()->msgExists($message, [ "domain" => "xtools" ]); |
|
108 | + return $this->getIntuition()->msgExists($message, ["domain" => "xtools"]); |
|
109 | 109 | } |
110 | 110 | |
111 | 111 | /** |
@@ -136,7 +136,7 @@ discard block |
||
136 | 136 | */ |
137 | 137 | public function intuitionMessage($message = "", $vars = []) |
138 | 138 | { |
139 | - return $this->getIntuition()->msg($message, [ "domain" => "xtools", "variables" => $vars ]); |
|
139 | + return $this->getIntuition()->msg($message, ["domain" => "xtools", "variables" => $vars]); |
|
140 | 140 | } |
141 | 141 | |
142 | 142 | /** |
@@ -165,10 +165,10 @@ discard block |
||
165 | 165 | */ |
166 | 166 | public function getAllLangs() |
167 | 167 | { |
168 | - $messageFiles = glob($this->container->getParameter("kernel.root_dir") . '/../i18n/*.json'); |
|
168 | + $messageFiles = glob($this->container->getParameter("kernel.root_dir").'/../i18n/*.json'); |
|
169 | 169 | |
170 | 170 | $languages = array_values(array_unique(array_map( |
171 | - function ($filename) { |
|
171 | + function($filename) { |
|
172 | 172 | return basename($filename, '.json'); |
173 | 173 | }, |
174 | 174 | $messageFiles |
@@ -516,9 +516,9 @@ discard block |
||
516 | 516 | public function getFilters() |
517 | 517 | { |
518 | 518 | return [ |
519 | - new \Twig_SimpleFilter('capitalize_first', [ $this, 'capitalizeFirst' ]), |
|
520 | - new \Twig_SimpleFilter('percent_format', [ $this, 'percentFormat' ]), |
|
521 | - new \Twig_SimpleFilter('diff_format', [ $this, 'diffFormat' ], [ 'is_safe' => [ 'html' ] ]), |
|
519 | + new \Twig_SimpleFilter('capitalize_first', [$this, 'capitalizeFirst']), |
|
520 | + new \Twig_SimpleFilter('percent_format', [$this, 'percentFormat']), |
|
521 | + new \Twig_SimpleFilter('diff_format', [$this, 'diffFormat'], ['is_safe' => ['html']]), |
|
522 | 522 | ]; |
523 | 523 | } |
524 | 524 | |
@@ -545,10 +545,10 @@ discard block |
||
545 | 545 | if (!$denominator) { |
546 | 546 | $quotient = $numerator; |
547 | 547 | } else { |
548 | - $quotient = ( $numerator / $denominator ) * 100; |
|
548 | + $quotient = ($numerator / $denominator) * 100; |
|
549 | 549 | } |
550 | 550 | |
551 | - return round($quotient, $precision) . '%'; |
|
551 | + return round($quotient, $precision).'%'; |
|
552 | 552 | } |
553 | 553 | |
554 | 554 | /** |
@@ -623,20 +623,20 @@ discard block |
||
623 | 623 | |
624 | 624 | if ($seconds >= 86400) { |
625 | 625 | // Over a day |
626 | - $val = (int) floor($seconds / 86400); |
|
626 | + $val = (int)floor($seconds / 86400); |
|
627 | 627 | $key = 'days'; |
628 | 628 | } elseif ($seconds >= 3600) { |
629 | 629 | // Over an hour, less than a day |
630 | - $val = (int) floor($seconds / 3600); |
|
630 | + $val = (int)floor($seconds / 3600); |
|
631 | 631 | $key = 'hours'; |
632 | 632 | } elseif ($seconds >= 60) { |
633 | 633 | // Over a minute, less than an hour |
634 | - $val = (int) floor($seconds / 60); |
|
634 | + $val = (int)floor($seconds / 60); |
|
635 | 635 | $key = 'minutes'; |
636 | 636 | } |
637 | 637 | |
638 | 638 | if ($translate) { |
639 | - return number_format($val) . ' ' . $this->intuitionMessage("num-$key", [$val]); |
|
639 | + return number_format($val).' '.$this->intuitionMessage("num-$key", [$val]); |
|
640 | 640 | } else { |
641 | 641 | return [number_format($val), "num-$key"]; |
642 | 642 | } |
@@ -5,12 +5,9 @@ |
||
5 | 5 | |
6 | 6 | namespace AppBundle\Controller; |
7 | 7 | |
8 | -use Exception; |
|
9 | -use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
|
10 | 8 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
11 | 9 | use Symfony\Component\HttpFoundation\Request; |
12 | 10 | use Symfony\Component\HttpFoundation\Response; |
13 | -use Symfony\Component\Debug\Exception\FatalErrorException; |
|
14 | 11 | use FOS\RestBundle\Controller\Annotations as Rest; |
15 | 12 | use FOS\RestBundle\Controller\FOSRestController; |
16 | 13 | use FOS\RestBundle\View\View; |
@@ -117,13 +117,13 @@ discard block |
||
117 | 117 | $view = View::create()->setStatusCode(Response::HTTP_OK); |
118 | 118 | |
119 | 119 | if ($request->query->get('format') === 'html') { |
120 | - $edits = array_map(function ($attrs) use ($project, $username) { |
|
120 | + $edits = array_map(function($attrs) use ($project, $username) { |
|
121 | 121 | $nsName = ''; |
122 | 122 | if ($attrs['page_namespace']) { |
123 | 123 | $nsName = $project->getNamespaces()[$attrs['page_namespace']]; |
124 | 124 | } |
125 | 125 | $page = $project->getRepository() |
126 | - ->getPage($project, $nsName . ':' . $attrs['page_title']); |
|
126 | + ->getPage($project, $nsName.':'.$attrs['page_title']); |
|
127 | 127 | $attrs['id'] = $attrs['rev_id']; |
128 | 128 | $attrs['username'] = $username; |
129 | 129 | return new Edit($page, $attrs); |
@@ -180,19 +180,19 @@ discard block |
||
180 | 180 | $info = $page->getBasicEditingInfo(); |
181 | 181 | $creationDateTime = DateTime::createFromFormat('YmdHis', $info['created_at']); |
182 | 182 | $modifiedDateTime = DateTime::createFromFormat('YmdHis', $info['modified_at']); |
183 | - $secsSinceLastEdit = (new DateTime)->getTimestamp() - $modifiedDateTime->getTimestamp(); |
|
183 | + $secsSinceLastEdit = (new DateTime)->getTimestamp()-$modifiedDateTime->getTimestamp(); |
|
184 | 184 | |
185 | 185 | $data = [ |
186 | - 'revisions' => (int) $info['num_edits'], |
|
187 | - 'editors' => (int) $info['num_editors'], |
|
186 | + 'revisions' => (int)$info['num_edits'], |
|
187 | + 'editors' => (int)$info['num_editors'], |
|
188 | 188 | 'author' => $info['author'], |
189 | - 'author_editcount' => (int) $info['author_editcount'], |
|
189 | + 'author_editcount' => (int)$info['author_editcount'], |
|
190 | 190 | 'created_at' => $creationDateTime->format('Y-m-d'), |
191 | 191 | 'created_rev_id' => $info['created_rev_id'], |
192 | 192 | 'modified_at' => $modifiedDateTime->format('Y-m-d H:i'), |
193 | 193 | 'secs_since_last_edit' => $secsSinceLastEdit, |
194 | - 'last_edit_id' => (int) $info['modified_rev_id'], |
|
195 | - 'watchers' => (int) $page->getWatchers(), |
|
194 | + 'last_edit_id' => (int)$info['modified_rev_id'], |
|
195 | + 'watchers' => (int)$page->getWatchers(), |
|
196 | 196 | 'pageviews' => $page->getLastPageviews($pageviewsOffset), |
197 | 197 | 'pageviews_offset' => $pageviewsOffset, |
198 | 198 | ]; |
@@ -247,7 +247,7 @@ discard block |
||
247 | 247 | } |
248 | 248 | |
249 | 249 | $conn = $this->getDoctrine()->getManager('default')->getConnection(); |
250 | - $date = date('Y-m-d'); |
|
250 | + $date = date('Y-m-d'); |
|
251 | 251 | |
252 | 252 | // Increment count in timeline |
253 | 253 | $existsSql = "SELECT 1 FROM usage_timeline |
@@ -59,7 +59,7 @@ discard block |
||
59 | 59 | |
60 | 60 | /** |
61 | 61 | * Get this page's database ID. |
62 | - * @return int |
|
62 | + * @return \string|null |
|
63 | 63 | */ |
64 | 64 | public function getId() |
65 | 65 | { |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | |
70 | 70 | /** |
71 | 71 | * Get this page's length in bytes. |
72 | - * @return int |
|
72 | + * @return \string|null |
|
73 | 73 | */ |
74 | 74 | public function getLength() |
75 | 75 | { |
@@ -93,7 +93,7 @@ discard block |
||
93 | 93 | |
94 | 94 | /** |
95 | 95 | * Get the full URL of this page. |
96 | - * @return string |
|
96 | + * @return \string|null |
|
97 | 97 | */ |
98 | 98 | public function getUrl() |
99 | 99 | { |
@@ -103,7 +103,7 @@ discard block |
||
103 | 103 | |
104 | 104 | /** |
105 | 105 | * Get the numerical ID of the namespace of this page. |
106 | - * @return int |
|
106 | + * @return \string|null |
|
107 | 107 | */ |
108 | 108 | public function getNamespace() |
109 | 109 | { |
@@ -113,7 +113,7 @@ discard block |
||
113 | 113 | |
114 | 114 | /** |
115 | 115 | * Get the number of page watchers. |
116 | - * @return int |
|
116 | + * @return \string|null |
|
117 | 117 | */ |
118 | 118 | public function getWatchers() |
119 | 119 | { |
@@ -420,8 +420,8 @@ discard block |
||
420 | 420 | |
421 | 421 | /** |
422 | 422 | * Get the sum of pageviews for the given page and timeframe. |
423 | - * @param string|DateTime $start In the format YYYYMMDD |
|
424 | - * @param string|DateTime $end In the format YYYYMMDD |
|
423 | + * @param string $start In the format YYYYMMDD |
|
424 | + * @param string $end In the format YYYYMMDD |
|
425 | 425 | * @return string[] |
426 | 426 | */ |
427 | 427 | public function getPageviews($start, $end) |
@@ -66,7 +66,7 @@ discard block |
||
66 | 66 | $info = $this->getPageInfo(); |
67 | 67 | $title = isset($info['title']) ? $info['title'] : $this->unnormalizedPageName; |
68 | 68 | $nsName = $this->getNamespaceName(); |
69 | - return str_replace($nsName . ':', '', $title); |
|
69 | + return str_replace($nsName.':', '', $title); |
|
70 | 70 | } |
71 | 71 | |
72 | 72 | /** |
@@ -207,7 +207,7 @@ discard block |
||
207 | 207 | |
208 | 208 | // Otherwise do a COUNT in the event fetching |
209 | 209 | // all revisions is not desired |
210 | - return (int) $this->getRepository()->getNumRevisions($this, $user); |
|
210 | + return (int)$this->getRepository()->getNumRevisions($this, $user); |
|
211 | 211 | } |
212 | 212 | |
213 | 213 | /** |
@@ -234,7 +234,7 @@ discard block |
||
234 | 234 | { |
235 | 235 | $content = $this->getRepository()->getPagesWikitext( |
236 | 236 | $this->getProject(), |
237 | - [ $this->getTitle() ] |
|
237 | + [$this->getTitle()] |
|
238 | 238 | ); |
239 | 239 | |
240 | 240 | return isset($content[$this->getTitle()]) |
@@ -381,7 +381,7 @@ discard block |
||
381 | 381 | |
382 | 382 | $wikidataInfo = $this->getRepository()->getWikidataInfo($this); |
383 | 383 | |
384 | - $terms = array_map(function ($entry) { |
|
384 | + $terms = array_map(function($entry) { |
|
385 | 385 | return $entry['term']; |
386 | 386 | }, $wikidataInfo); |
387 | 387 | |
@@ -392,7 +392,7 @@ discard block |
||
392 | 392 | 'prio' => 2, |
393 | 393 | 'name' => 'Wikidata', |
394 | 394 | 'notice' => "Label for language <em>$lang</em> is missing", // FIXME: i18n |
395 | - 'explanation' => "See: <a target='_blank' " . |
|
395 | + 'explanation' => "See: <a target='_blank' ". |
|
396 | 396 | "href='//www.wikidata.org/wiki/Help:Label'>Help:Label</a>", |
397 | 397 | ]; |
398 | 398 | } |
@@ -402,7 +402,7 @@ discard block |
||
402 | 402 | 'prio' => 3, |
403 | 403 | 'name' => 'Wikidata', |
404 | 404 | 'notice' => "Description for language <em>$lang</em> is missing", // FIXME: i18n |
405 | - 'explanation' => "See: <a target='_blank' " . |
|
405 | + 'explanation' => "See: <a target='_blank' ". |
|
406 | 406 | "href='//www.wikidata.org/wiki/Help:Description'>Help:Description</a>", |
407 | 407 | ]; |
408 | 408 | } |
@@ -473,8 +473,8 @@ discard block |
||
473 | 473 | return 0; |
474 | 474 | } |
475 | 475 | |
476 | - return array_sum(array_map(function ($item) { |
|
477 | - return (int) $item['views']; |
|
476 | + return array_sum(array_map(function($item) { |
|
477 | + return (int)$item['views']; |
|
478 | 478 | }, $pageviews['items'])); |
479 | 479 | } |
480 | 480 |