@@ -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. |
@@ -322,7 +322,7 @@ discard block |
||
| 322 | 322 | |
| 323 | 323 | $wikidataId = ltrim($page->getWikidataId(), 'Q'); |
| 324 | 324 | |
| 325 | - $sql = "SELECT " . ($count ? 'COUNT(*) AS count' : '*') . " |
|
| 325 | + $sql = "SELECT ".($count ? 'COUNT(*) AS count' : '*')." |
|
| 326 | 326 | FROM wikidatawiki_p.wb_items_per_site |
| 327 | 327 | WHERE ips_item_id = :wikidataId"; |
| 328 | 328 | |
@@ -332,7 +332,7 @@ discard block |
||
| 332 | 332 | |
| 333 | 333 | $result = $resultQuery->fetchAll(); |
| 334 | 334 | |
| 335 | - return $count ? (int) $result[0]['count'] : $result; |
|
| 335 | + return $count ? (int)$result[0]['count'] : $result; |
|
| 336 | 336 | } |
| 337 | 337 | |
| 338 | 338 | /** |
@@ -372,7 +372,7 @@ discard block |
||
| 372 | 372 | |
| 373 | 373 | // Transform to associative array by 'type' |
| 374 | 374 | foreach ($res as $row) { |
| 375 | - $data[$row['type'] . '_count'] = $row['value']; |
|
| 375 | + $data[$row['type'].'_count'] = $row['value']; |
|
| 376 | 376 | } |
| 377 | 377 | |
| 378 | 378 | return $data; |
@@ -409,7 +409,7 @@ discard block |
||
| 409 | 409 | |
| 410 | 410 | $project = $page->getProject()->getDomain(); |
| 411 | 411 | |
| 412 | - $url = 'https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/' . |
|
| 412 | + $url = 'https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/'. |
|
| 413 | 413 | "$project/all-access/user/$title/daily/$start/$end"; |
| 414 | 414 | |
| 415 | 415 | $res = $client->request('GET', $url); |
@@ -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 | } |
@@ -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 |
@@ -151,8 +151,8 @@ |
||
| 151 | 151 | // Get individual counts of how many times each tool was used. |
| 152 | 152 | // This also includes a wikilink to the tool. |
| 153 | 153 | $toolCounts = $user->getAutomatedCounts($projectData, $namespace, $start, $end); |
| 154 | - $toolsTotal = array_reduce($toolCounts, function ($a, $b) { |
|
| 155 | - return $a + $b['count']; |
|
| 154 | + $toolsTotal = array_reduce($toolCounts, function($a, $b) { |
|
| 155 | + return $a+$b['count']; |
|
| 156 | 156 | }); |
| 157 | 157 | |
| 158 | 158 | // Query to get combined (semi)automated using for all edits |
@@ -47,9 +47,9 @@ discard block |
||
| 47 | 47 | $username = $request->query->get('username', $request->query->get('user')); |
| 48 | 48 | |
| 49 | 49 | if ($projectQuery != '' && $username != '') { |
| 50 | - return $this->redirectToRoute('AdminScoreResult', [ 'project' => $projectQuery, 'username' => $username ]); |
|
| 50 | + return $this->redirectToRoute('AdminScoreResult', ['project' => $projectQuery, 'username' => $username]); |
|
| 51 | 51 | } elseif ($projectQuery != '' && $project === null) { |
| 52 | - return $this->redirectToRoute('AdminScoreProject', [ 'project' => $projectQuery ]); |
|
| 52 | + return $this->redirectToRoute('AdminScoreProject', ['project' => $projectQuery]); |
|
| 53 | 53 | } |
| 54 | 54 | |
| 55 | 55 | // Set default project so we can populate the namespace selector. |
@@ -96,20 +96,20 @@ discard block |
||
| 96 | 96 | |
| 97 | 97 | // MULTIPLIERS (to review) |
| 98 | 98 | $multipliers = [ |
| 99 | - 'account-age-mult' => 1.25, # 0 if = 365 jours |
|
| 100 | - 'edit-count-mult' => 1.25, # 0 if = 10 000 |
|
| 101 | - 'user-page-mult' => 0.1, # 0 if = |
|
| 102 | - 'patrols-mult' => 1, # 0 if = |
|
| 103 | - 'blocks-mult' => 1.4, # 0 if = 10 |
|
| 99 | + 'account-age-mult' => 1.25, # 0 if = 365 jours |
|
| 100 | + 'edit-count-mult' => 1.25, # 0 if = 10 000 |
|
| 101 | + 'user-page-mult' => 0.1, # 0 if = |
|
| 102 | + 'patrols-mult' => 1, # 0 if = |
|
| 103 | + 'blocks-mult' => 1.4, # 0 if = 10 |
|
| 104 | 104 | 'afd-mult' => 1.15, |
| 105 | - 'recent-activity-mult' => 0.9, # 0 if = |
|
| 105 | + 'recent-activity-mult' => 0.9, # 0 if = |
|
| 106 | 106 | 'aiv-mult' => 1.15, |
| 107 | - 'edit-summaries-mult' => 0.8, # 0 if = |
|
| 108 | - 'namespaces-mult' => 1.0, # 0 if = |
|
| 109 | - 'pages-created-live-mult' => 1.4, # 0 if = |
|
| 110 | - 'pages-created-deleted-mult' => 1.4, # 0 if = |
|
| 111 | - 'rpp-mult' => 1.15, # 0 if = |
|
| 112 | - 'user-rights-mult' => 0.75, # 0 if = |
|
| 107 | + 'edit-summaries-mult' => 0.8, # 0 if = |
|
| 108 | + 'namespaces-mult' => 1.0, # 0 if = |
|
| 109 | + 'pages-created-live-mult' => 1.4, # 0 if = |
|
| 110 | + 'pages-created-deleted-mult' => 1.4, # 0 if = |
|
| 111 | + 'rpp-mult' => 1.15, # 0 if = |
|
| 112 | + 'user-rights-mult' => 0.75, # 0 if = |
|
| 113 | 113 | ]; |
| 114 | 114 | |
| 115 | 115 | // Grab the connection to the replica database (which is separate from the above) |
@@ -193,14 +193,14 @@ discard block |
||
| 193 | 193 | $now = new DateTime(); |
| 194 | 194 | $date = new DateTime($value); |
| 195 | 195 | $diff = $date->diff($now); |
| 196 | - $formula = 365 * $diff->format("%y") + 30 * $diff->format("%m") + $diff->format("%d"); |
|
| 197 | - $value = $formula - 365; |
|
| 196 | + $formula = 365 * $diff->format("%y")+30 * $diff->format("%m")+$diff->format("%d"); |
|
| 197 | + $value = $formula-365; |
|
| 198 | 198 | } |
| 199 | 199 | |
| 200 | 200 | if ($key === "id") { |
| 201 | 201 | $id = $value; |
| 202 | 202 | } else { |
| 203 | - $multiplierKey = $row['source'] . '-mult'; |
|
| 203 | + $multiplierKey = $row['source'].'-mult'; |
|
| 204 | 204 | $multiplier = isset($multipliers[$multiplierKey]) ? $multipliers[$multiplierKey] : 1; |
| 205 | 205 | $score = max(min($value * $multiplier, 100), -100); |
| 206 | 206 | $master[$key]["mult"] = $multiplier; |
@@ -211,8 +211,8 @@ discard block |
||
| 211 | 211 | } |
| 212 | 212 | |
| 213 | 213 | if ($id == 0) { |
| 214 | - $this->addFlash("notice", [ "no-result", $username ]); |
|
| 215 | - return $this->redirectToRoute("AdminScore", [ "project" => $project ]); |
|
| 214 | + $this->addFlash("notice", ["no-result", $username]); |
|
| 215 | + return $this->redirectToRoute("AdminScore", ["project" => $project]); |
|
| 216 | 216 | } |
| 217 | 217 | |
| 218 | 218 | return $this->render('adminscore/result.html.twig', [ |
@@ -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 | /** |
@@ -56,8 +56,8 @@ discard block |
||
| 56 | 56 | */ |
| 57 | 57 | public function onKernelController(FilterControllerEvent $event) |
| 58 | 58 | { |
| 59 | - $this->rateLimit = (int) $this->container->getParameter('app.rate_limit_count'); |
|
| 60 | - $this->rateDuration = (int) $this->container->getParameter('app.rate_limit_time'); |
|
| 59 | + $this->rateLimit = (int)$this->container->getParameter('app.rate_limit_count'); |
|
| 60 | + $this->rateDuration = (int)$this->container->getParameter('app.rate_limit_time'); |
|
| 61 | 61 | |
| 62 | 62 | // Zero values indicate the rate limiting feature should be disabled. |
| 63 | 63 | if ($this->rateLimit === 0 || $this->rateDuration === 0) { |
@@ -65,7 +65,7 @@ discard block |
||
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | $controller = $event->getController(); |
| 68 | - $loggedIn = (bool) $this->container->get('session')->get('logged_in_user'); |
|
| 68 | + $loggedIn = (bool)$this->container->get('session')->get('logged_in_user'); |
|
| 69 | 69 | |
| 70 | 70 | /** |
| 71 | 71 | * Rate limiting will not apply to these actions |
@@ -91,7 +91,7 @@ discard block |
||
| 91 | 91 | $cacheItem = $cache->getItem($cacheKey); |
| 92 | 92 | |
| 93 | 93 | // If increment value already in cache, or start with 1. |
| 94 | - $count = $cacheItem->isHit() ? (int) $cacheItem->get() + 1 : 1; |
|
| 94 | + $count = $cacheItem->isHit() ? (int)$cacheItem->get()+1 : 1; |
|
| 95 | 95 | |
| 96 | 96 | // Check if limit has been exceeded, and if so, throw an error. |
| 97 | 97 | if ($count > $this->rateLimit) { |
@@ -143,14 +143,14 @@ discard block |
||
| 143 | 143 | // Log the denied request |
| 144 | 144 | $logger = $this->container->get('monolog.logger.rate_limit'); |
| 145 | 145 | $logger->info( |
| 146 | - "<URI>: " . $request->getRequestUri() . |
|
| 147 | - ($logComment != '' ? "\t<Reason>: $logComment" : '') . |
|
| 148 | - "\t<User agent>: " . $request->headers->get('User-Agent') |
|
| 146 | + "<URI>: ".$request->getRequestUri(). |
|
| 147 | + ($logComment != '' ? "\t<Reason>: $logComment" : ''). |
|
| 148 | + "\t<User agent>: ".$request->headers->get('User-Agent') |
|
| 149 | 149 | ); |
| 150 | 150 | |
| 151 | - throw new AccessDeniedHttpException("Possible spider crawl detected. " . |
|
| 152 | - 'If you are human, you are making too many requests during a short period of time. ' . |
|
| 153 | - "Please wait $this->rateDuration minutes before reloading this tool. You can then " . |
|
| 151 | + throw new AccessDeniedHttpException("Possible spider crawl detected. ". |
|
| 152 | + 'If you are human, you are making too many requests during a short period of time. '. |
|
| 153 | + "Please wait $this->rateDuration minutes before reloading this tool. You can then ". |
|
| 154 | 154 | 'login to prevent this from happening again.'); |
| 155 | 155 | } |
| 156 | 156 | } |
@@ -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 | |