@@ -59,9 +59,9 @@ discard block |
||
59 | 59 | $article = $request->query->get('article'); |
60 | 60 | |
61 | 61 | if ($projectQuery != '' && $article != '') { |
62 | - return $this->redirectToRoute('ArticleInfoResult', [ 'project'=>$projectQuery, 'article' => $article ]); |
|
62 | + return $this->redirectToRoute('ArticleInfoResult', ['project'=>$projectQuery, 'article' => $article]); |
|
63 | 63 | } elseif ($article != '') { |
64 | - return $this->redirectToRoute('ArticleInfoProject', [ 'project'=>$projectQuery ]); |
|
64 | + return $this->redirectToRoute('ArticleInfoProject', ['project'=>$projectQuery]); |
|
65 | 65 | } |
66 | 66 | |
67 | 67 | if ($projectQuery == '') { |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | $this->pageInfo['firstEdit'] = new Edit($this->pageInfo['page'], $this->pageHistory[0]); |
131 | 131 | $this->pageInfo['lastEdit'] = new Edit( |
132 | 132 | $this->pageInfo['page'], |
133 | - $this->pageHistory[$page->getNumRevisions() - 1] |
|
133 | + $this->pageHistory[$page->getNumRevisions()-1] |
|
134 | 134 | ); |
135 | 135 | |
136 | 136 | // NOTE: bots are fetched first in case we want to restrict some stats to humans editors only |
@@ -195,7 +195,7 @@ discard block |
||
195 | 195 | FROM $this->revisionTable |
196 | 196 | LEFT JOIN $userGroupsTable ON rev_user = ug_user |
197 | 197 | LEFT JOIN $userFromerGroupsTable ON rev_user = ufg_user |
198 | - WHERE rev_page = " . $this->pageInfo['page']->getId() . " AND (ug_group = 'bot' OR ufg_group = 'bot') |
|
198 | + WHERE rev_page = ".$this->pageInfo['page']->getId()." AND (ug_group = 'bot' OR ufg_group = 'bot') |
|
199 | 199 | GROUP BY rev_user_text"; |
200 | 200 | $res = $this->conn->query($query)->fetchAll(); |
201 | 201 | |
@@ -204,14 +204,14 @@ discard block |
||
204 | 204 | $sum = 0; |
205 | 205 | foreach ($res as $bot) { |
206 | 206 | $bots[$bot['username']] = [ |
207 | - 'count' => (int) $bot['count'], |
|
207 | + 'count' => (int)$bot['count'], |
|
208 | 208 | 'current' => $bot['current'] === 'bot' |
209 | 209 | ]; |
210 | 210 | $sum += $bot['count']; |
211 | 211 | } |
212 | 212 | |
213 | - uasort($bots, function ($a, $b) { |
|
214 | - return $b['count'] - $a['count']; |
|
213 | + uasort($bots, function($a, $b) { |
|
214 | + return $b['count']-$a['count']; |
|
215 | 215 | }); |
216 | 216 | |
217 | 217 | $this->pageInfo['general']['bot_revision_count'] = $sum; |
@@ -259,10 +259,10 @@ discard block |
||
259 | 259 | |
260 | 260 | if ($info['all'] > 1) { |
261 | 261 | // Number of seconds between first and last edit |
262 | - $secs = intval(strtotime($info['last']) - strtotime($info['first']) / $info['all']); |
|
262 | + $secs = intval(strtotime($info['last'])-strtotime($info['first']) / $info['all']); |
|
263 | 263 | |
264 | 264 | // Average time between edits (in days) |
265 | - $this->pageInfo['editors'][$editor]['atbe'] = $secs / ( 60 * 60 * 24 ); |
|
265 | + $this->pageInfo['editors'][$editor]['atbe'] = $secs / (60 * 60 * 24); |
|
266 | 266 | } |
267 | 267 | |
268 | 268 | if (count($info['sizes'])) { |
@@ -277,7 +277,7 @@ discard block |
||
277 | 277 | |
278 | 278 | // First sort editors array by the amount of text they added |
279 | 279 | $topTenEditorsByAdded = $this->pageInfo['editors']; |
280 | - uasort($topTenEditorsByAdded, function ($a, $b) { |
|
280 | + uasort($topTenEditorsByAdded, function($a, $b) { |
|
281 | 281 | if ($a['added'] === $b['added']) { |
282 | 282 | return 0; |
283 | 283 | } |
@@ -286,7 +286,7 @@ discard block |
||
286 | 286 | |
287 | 287 | // Then build a new array of top 10 editors by added text, |
288 | 288 | // in the data structure needed for the chart |
289 | - $this->pageInfo['topTenEditorsByAdded'] = array_map(function ($editor) { |
|
289 | + $this->pageInfo['topTenEditorsByAdded'] = array_map(function($editor) { |
|
290 | 290 | $added = $this->pageInfo['editors'][$editor]['added']; |
291 | 291 | return [ |
292 | 292 | 'label' => $editor, |
@@ -332,7 +332,7 @@ discard block |
||
332 | 332 | |
333 | 333 | // Transform to associative array by 'type' |
334 | 334 | foreach ($res as $row) { |
335 | - $data[$row['type'] . '_count'] = $row['value']; |
|
335 | + $data[$row['type'].'_count'] = $row['value']; |
|
336 | 336 | } |
337 | 337 | |
338 | 338 | return $data; |
@@ -348,7 +348,7 @@ discard block |
||
348 | 348 | $title = str_replace(' ', '_', $this->pageInfo['page']->getTitle()); |
349 | 349 | $query = "SELECT log_action, log_type, log_timestamp AS timestamp |
350 | 350 | FROM $loggingTable |
351 | - WHERE log_namespace = '" . $this->pageInfo['page']->getNamespace() . "' |
|
351 | + WHERE log_namespace = '".$this->pageInfo['page']->getNamespace()."' |
|
352 | 352 | AND log_title = '$title' AND log_timestamp > 1 |
353 | 353 | AND log_type IN ('delete', 'move', 'protect', 'stable')"; |
354 | 354 | $events = $this->conn->query($query)->fetchAll(); |
@@ -447,7 +447,7 @@ discard block |
||
447 | 447 | $conn = $this->container->get('doctrine')->getManager('replicas')->getConnection(); |
448 | 448 | $res = $conn->query($query)->fetchAll(); |
449 | 449 | |
450 | - $terms = array_map(function ($entry) { |
|
450 | + $terms = array_map(function($entry) { |
|
451 | 451 | return $entry['term']; |
452 | 452 | }, $res); |
453 | 453 | |
@@ -458,7 +458,7 @@ discard block |
||
458 | 458 | 'prio' => 2, |
459 | 459 | 'name' => 'Wikidata', |
460 | 460 | 'notice' => "Label for language <em>$lang</em> is missing", // FIXME: i18n |
461 | - 'explanation' => "See: <a target='_blank' " . |
|
461 | + 'explanation' => "See: <a target='_blank' ". |
|
462 | 462 | "href='//www.wikidata.org/wiki/Help:Label'>Help:Label</a>", |
463 | 463 | ]; |
464 | 464 | } |
@@ -467,7 +467,7 @@ discard block |
||
467 | 467 | 'prio' => 3, |
468 | 468 | 'name' => 'Wikidata', |
469 | 469 | 'notice' => "Description for language <em>$lang</em> is missing", // FIXME: i18n |
470 | - 'explanation' => "See: <a target='_blank' " . |
|
470 | + 'explanation' => "See: <a target='_blank' ". |
|
471 | 471 | "href='//www.wikidata.org/wiki/Help:Description'>Help:Description</a>", |
472 | 472 | ]; |
473 | 473 | } |
@@ -488,14 +488,14 @@ discard block |
||
488 | 488 | return $rev['length']; |
489 | 489 | } |
490 | 490 | |
491 | - $lastRev = $this->pageHistory[$revIndex - 1]; |
|
491 | + $lastRev = $this->pageHistory[$revIndex-1]; |
|
492 | 492 | |
493 | 493 | // TODO: Remove once T101631 is resolved |
494 | 494 | // Treat as zero change in size if length of previous edit is missing |
495 | 495 | if ($lastRev['length'] === null) { |
496 | 496 | return 0; |
497 | 497 | } else { |
498 | - return $rev['length'] - $lastRev['length']; |
|
498 | + return $rev['length']-$lastRev['length']; |
|
499 | 499 | } |
500 | 500 | } |
501 | 501 | |
@@ -515,10 +515,10 @@ discard block |
||
515 | 515 | |
516 | 516 | // Get UNIX timestamp of the first day of the month of the first edit |
517 | 517 | // This is used as a comparison when building our array of per-month stats |
518 | - $firstEditMonth = mktime(0, 0, 0, (int) $firstEdit->getMonth(), 1, $firstEdit->getYear()); |
|
518 | + $firstEditMonth = mktime(0, 0, 0, (int)$firstEdit->getMonth(), 1, $firstEdit->getYear()); |
|
519 | 519 | |
520 | 520 | $lastEdit = $this->pageInfo['lastEdit']; |
521 | - $secondLastEdit = $revisionCount === 1 ? $lastEdit : $this->pageHistory[ $revisionCount - 2 ]; |
|
521 | + $secondLastEdit = $revisionCount === 1 ? $lastEdit : $this->pageHistory[$revisionCount-2]; |
|
522 | 522 | |
523 | 523 | // Now we can start our master array. This one will be HUGE! |
524 | 524 | $data = [ |
@@ -589,7 +589,7 @@ discard block |
||
589 | 589 | // Increment year and month counts for all edits |
590 | 590 | $data['year_count'][$edit->getYear()]['all']++; |
591 | 591 | $data['year_count'][$edit->getYear()]['months'][$edit->getMonth()]['all']++; |
592 | - $data['year_count'][$edit->getYear()]['size'] = (int) $rev['length']; |
|
592 | + $data['year_count'][$edit->getYear()]['size'] = (int)$rev['length']; |
|
593 | 593 | |
594 | 594 | $editsThisMonth = $data['year_count'][$edit->getYear()]['months'][$edit->getMonth()]['all']; |
595 | 595 | if ($editsThisMonth > $data['max_edits_per_month']) { |
@@ -633,9 +633,9 @@ discard block |
||
633 | 633 | } |
634 | 634 | |
635 | 635 | // determine if the next revision was a revert |
636 | - $nextRevision = isset($this->pageHistory[$i + 1]) ? $this->pageHistory[$i + 1] : null; |
|
636 | + $nextRevision = isset($this->pageHistory[$i+1]) ? $this->pageHistory[$i+1] : null; |
|
637 | 637 | $nextRevisionIsRevert = $nextRevision && |
638 | - $this->getDiffSize($i + 1) === -$edit->getSize() && |
|
638 | + $this->getDiffSize($i+1) === -$edit->getSize() && |
|
639 | 639 | $this->aeh->isRevert($nextRevision['comment']); |
640 | 640 | |
641 | 641 | // don't count this edit as content removal if the next edit reverted it |
@@ -9,7 +9,6 @@ |
||
9 | 9 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
10 | 10 | use Symfony\Component\HttpFoundation\Request; |
11 | 11 | use Symfony\Component\HttpFoundation\Response; |
12 | -use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; |
|
13 | 12 | use DateTime; |
14 | 13 | use Xtools\ProjectRepository; |
15 | 14 | use Xtools\UserRepository; |
@@ -40,9 +40,9 @@ discard block |
||
40 | 40 | $username = $request->query->get('username', $request->query->get('user')); |
41 | 41 | |
42 | 42 | if ($projectQuery != '' && $username != '') { |
43 | - return $this->redirectToRoute('AdminScoreResult', [ 'project' => $projectQuery, 'username' => $username ]); |
|
43 | + return $this->redirectToRoute('AdminScoreResult', ['project' => $projectQuery, 'username' => $username]); |
|
44 | 44 | } elseif ($projectQuery != '') { |
45 | - return $this->redirectToRoute('AdminScoreProject', [ 'project' => $projectQuery ]); |
|
45 | + return $this->redirectToRoute('AdminScoreProject', ['project' => $projectQuery]); |
|
46 | 46 | } |
47 | 47 | |
48 | 48 | // Set default project so we can populate the namespace selector. |
@@ -94,20 +94,20 @@ discard block |
||
94 | 94 | $archiveTable = $lh->getTable("archive", $dbName); |
95 | 95 | |
96 | 96 | // MULTIPLIERS (to review) |
97 | - $ACCT_AGE_MULT = 1.25; # 0 if = 365 jours |
|
98 | - $EDIT_COUNT_MULT = 1.25; # 0 if = 10 000 |
|
99 | - $USER_PAGE_MULT = 0.1; # 0 if = |
|
97 | + $ACCT_AGE_MULT = 1.25; # 0 if = 365 jours |
|
98 | + $EDIT_COUNT_MULT = 1.25; # 0 if = 10 000 |
|
99 | + $USER_PAGE_MULT = 0.1; # 0 if = |
|
100 | 100 | $PATROLS_MULT = 1; # 0 if = |
101 | - $BLOCKS_MULT = 1.4; # 0 if = 10 |
|
101 | + $BLOCKS_MULT = 1.4; # 0 if = 10 |
|
102 | 102 | $AFD_MULT = 1.15; |
103 | - $RECENT_ACTIVITY_MULT = 0.9; # 0 if = |
|
103 | + $RECENT_ACTIVITY_MULT = 0.9; # 0 if = |
|
104 | 104 | $AIV_MULT = 1.15; |
105 | - $EDIT_SUMMARIES_MULT = 0.8; # 0 if = |
|
106 | - $NAMESPACES_MULT = 1.0; # 0 if = |
|
105 | + $EDIT_SUMMARIES_MULT = 0.8; # 0 if = |
|
106 | + $NAMESPACES_MULT = 1.0; # 0 if = |
|
107 | 107 | $PAGES_CREATED_LIVE_MULT = 1.4; # 0 if = |
108 | 108 | $PAGES_CREATED_ARCHIVE_MULT = 1.4; # 0 if = |
109 | - $RPP_MULT = 1.15; # 0 if = |
|
110 | - $USERRIGHTS_MULT = 0.75; # 0 if = |
|
109 | + $RPP_MULT = 1.15; # 0 if = |
|
110 | + $USERRIGHTS_MULT = 0.75; # 0 if = |
|
111 | 111 | |
112 | 112 | // Grab the connection to the replica database (which is separate from the above) |
113 | 113 | $conn = $this->get('doctrine')->getManager("replicas")->getConnection(); |
@@ -185,15 +185,15 @@ discard block |
||
185 | 185 | $now = new DateTime(); |
186 | 186 | $date = new DateTime($value); |
187 | 187 | $diff = $date->diff($now); |
188 | - $formula = 365*$diff->format("%y")+30*$diff->format("%m")+$diff->format("%d"); |
|
188 | + $formula = 365 * $diff->format("%y")+30 * $diff->format("%m")+$diff->format("%d"); |
|
189 | 189 | $value = $formula-365; |
190 | 190 | } |
191 | 191 | |
192 | 192 | if ($key == "id") { |
193 | 193 | $id = $value; |
194 | 194 | } else { |
195 | - $multiplierKey = strtoupper($row["source"] . "_MULT"); |
|
196 | - $multiplier = ( isset($$multiplierKey) ? $$multiplierKey : 1 ); |
|
195 | + $multiplierKey = strtoupper($row["source"]."_MULT"); |
|
196 | + $multiplier = (isset($$multiplierKey) ? $$multiplierKey : 1); |
|
197 | 197 | $score = max(min($value * $multiplier, 100), -100); |
198 | 198 | $master[$key]["mult"] = $multiplier; |
199 | 199 | $master[$key]["value"] = $value; |
@@ -203,8 +203,8 @@ discard block |
||
203 | 203 | } |
204 | 204 | |
205 | 205 | if ($id == 0) { |
206 | - $this->addFlash("notice", [ "no-result", $username ]); |
|
207 | - return $this->redirectToRoute("AdminScore", [ "project"=>$project ]); |
|
206 | + $this->addFlash("notice", ["no-result", $username]); |
|
207 | + return $this->redirectToRoute("AdminScore", ["project"=>$project]); |
|
208 | 208 | } |
209 | 209 | |
210 | 210 | return $this->render('adminscore/result.html.twig', [ |
@@ -90,7 +90,7 @@ discard block |
||
90 | 90 | public function loginAction() |
91 | 91 | { |
92 | 92 | try { |
93 | - list( $next, $token ) = $this->getOauthClient()->initiate(); |
|
93 | + list($next, $token) = $this->getOauthClient()->initiate(); |
|
94 | 94 | } catch (Exception $oauthException) { |
95 | 95 | throw $oauthException; |
96 | 96 | // @TODO Make this work. |
@@ -155,7 +155,7 @@ discard block |
||
155 | 155 | . '/index.php?title=Special:OAuth'; |
156 | 156 | $conf = new ClientConfig($endpoint); |
157 | 157 | $consumerKey = $this->getParameter('oauth_key'); |
158 | - $consumerSecret = $this->getParameter('oauth_secret'); |
|
158 | + $consumerSecret = $this->getParameter('oauth_secret'); |
|
159 | 159 | $conf->setConsumer(new Consumer($consumerKey, $consumerSecret)); |
160 | 160 | $this->oauthClient = new Client($conf); |
161 | 161 | // Callback URL is hardcoded in the consumer registration. |
@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | */ |
52 | 52 | protected function getRevisionCounts() |
53 | 53 | { |
54 | - if (! is_array($this->revisionCounts)) { |
|
54 | + if (!is_array($this->revisionCounts)) { |
|
55 | 55 | $this->revisionCounts = $this->getRepository() |
56 | 56 | ->getRevisionCounts($this->project, $this->user); |
57 | 57 | } |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | */ |
65 | 65 | protected function getRevisionDates() |
66 | 66 | { |
67 | - if (! is_array($this->revisionDates)) { |
|
67 | + if (!is_array($this->revisionDates)) { |
|
68 | 68 | $this->revisionDates = $this->getRepository() |
69 | 69 | ->getRevisionDates($this->project, $this->user); |
70 | 70 | } |
@@ -77,7 +77,7 @@ discard block |
||
77 | 77 | */ |
78 | 78 | protected function getPageCounts() |
79 | 79 | { |
80 | - if (! is_array($this->pageCounts)) { |
|
80 | + if (!is_array($this->pageCounts)) { |
|
81 | 81 | $this->pageCounts = $this->getRepository() |
82 | 82 | ->getPageCounts($this->project, $this->user); |
83 | 83 | } |
@@ -90,7 +90,7 @@ discard block |
||
90 | 90 | */ |
91 | 91 | protected function getLogCounts() |
92 | 92 | { |
93 | - if (! is_array($this->logCounts)) { |
|
93 | + if (!is_array($this->logCounts)) { |
|
94 | 94 | $this->logCounts = $this->getRepository() |
95 | 95 | ->getLogCounts($this->project, $this->user); |
96 | 96 | } |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | */ |
120 | 120 | public function countAllRevisions() |
121 | 121 | { |
122 | - return $this->countLiveRevisions() + $this->countDeletedRevisions(); |
|
122 | + return $this->countLiveRevisions()+$this->countDeletedRevisions(); |
|
123 | 123 | } |
124 | 124 | |
125 | 125 | /** |
@@ -138,7 +138,7 @@ discard block |
||
138 | 138 | */ |
139 | 139 | public function countRevisionsWithoutComments() |
140 | 140 | { |
141 | - return $this->countAllRevisions() - $this->countRevisionsWithComments(); |
|
141 | + return $this->countAllRevisions()-$this->countRevisionsWithComments(); |
|
142 | 142 | } |
143 | 143 | |
144 | 144 | /** |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | */ |
206 | 206 | public function countAllPagesEdited() |
207 | 207 | { |
208 | - return $this->countLivePagesEdited() + $this->countDeletedPagesEdited(); |
|
208 | + return $this->countLivePagesEdited()+$this->countDeletedPagesEdited(); |
|
209 | 209 | } |
210 | 210 | |
211 | 211 | /** |
@@ -215,7 +215,7 @@ discard block |
||
215 | 215 | */ |
216 | 216 | public function countPagesCreated() |
217 | 217 | { |
218 | - return $this->countCreatedPagesLive() + $this->countPagesCreatedDeleted(); |
|
218 | + return $this->countCreatedPagesLive()+$this->countPagesCreatedDeleted(); |
|
219 | 219 | } |
220 | 220 | |
221 | 221 | /** |
@@ -373,9 +373,9 @@ discard block |
||
373 | 373 | public function approvals() |
374 | 374 | { |
375 | 375 | $logCounts = $this->getLogCounts(); |
376 | - $total = $logCounts['review-approve'] + |
|
377 | - (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0) + |
|
378 | - (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0) + |
|
376 | + $total = $logCounts['review-approve']+ |
|
377 | + (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0)+ |
|
378 | + (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0)+ |
|
379 | 379 | (!empty($logCounts['review-approve-ia']) ? $logCounts['review-approve-ia'] : 0); |
380 | 380 | return $total; |
381 | 381 | } |
@@ -452,14 +452,14 @@ discard block |
||
452 | 452 | if (!isset($out['totals'][$ns])) { |
453 | 453 | $out['totals'][$ns] = []; |
454 | 454 | } |
455 | - $out['totals'][$ns][$total['year'] . $total['month']] = $total['count']; |
|
455 | + $out['totals'][$ns][$total['year'].$total['month']] = $total['count']; |
|
456 | 456 | } |
457 | 457 | // Fill in the blanks (where no edits were made in a given month for a namespace). |
458 | 458 | for ($y = $out['min_year']; $y <= $out['max_year']; $y++) { |
459 | 459 | for ($m = 1; $m <= 12; $m++) { |
460 | 460 | foreach ($out['totals'] as $nsId => &$total) { |
461 | - if (!isset($total[$y . $m])) { |
|
462 | - $total[$y . $m] = 0; |
|
461 | + if (!isset($total[$y.$m])) { |
|
462 | + $total[$y.$m] = 0; |
|
463 | 463 | } |
464 | 464 | } |
465 | 465 | } |
@@ -477,8 +477,8 @@ discard block |
||
477 | 477 | // Get counts. |
478 | 478 | $editCounts = $this->globalEditCounts(); |
479 | 479 | // Sort. |
480 | - uasort($editCounts, function ($a, $b) { |
|
481 | - return $b['total'] - $a['total']; |
|
480 | + uasort($editCounts, function($a, $b) { |
|
481 | + return $b['total']-$a['total']; |
|
482 | 482 | }); |
483 | 483 | // Truncate, and return. |
484 | 484 | return array_slice($editCounts, 0, $numProjects); |
@@ -534,7 +534,7 @@ discard block |
||
534 | 534 | foreach ($revisions as &$revision) { |
535 | 535 | $nsName = $otherProject->getNamespaces()[$revision['page_namespace']]; |
536 | 536 | $page = $otherProject->getRepository() |
537 | - ->getPage($otherProject, $nsName . ':' . $revision['page_title']); |
|
537 | + ->getPage($otherProject, $nsName.':'.$revision['page_title']); |
|
538 | 538 | $edit = new Edit($page, $revision); |
539 | 539 | |
540 | 540 | // If we've already got enough, only check for those newer than the current oldest. |
@@ -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 | { |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | |
25 | 25 | /** |
26 | 26 | * Get all functions that this class provides. |
27 | - * @return array |
|
27 | + * @return \Twig_SimpleFunction[] |
|
28 | 28 | */ |
29 | 29 | public function getFunctions() |
30 | 30 | { |
@@ -520,7 +520,7 @@ discard block |
||
520 | 520 | |
521 | 521 | /** |
522 | 522 | * Get all filters for this extension. |
523 | - * @return array |
|
523 | + * @return \Twig_SimpleFilter[] |
|
524 | 524 | */ |
525 | 525 | public function getFilters() |
526 | 526 | { |
@@ -30,32 +30,32 @@ discard block |
||
30 | 30 | { |
31 | 31 | $options = ['is_safe' => ['html']]; |
32 | 32 | return [ |
33 | - new \Twig_SimpleFunction('request_time', [ $this, 'requestTime' ], $options), |
|
34 | - new \Twig_SimpleFunction('memory_usage', [ $this, 'requestMemory' ], $options), |
|
35 | - new \Twig_SimpleFunction('year', [ $this, 'generateYear' ], $options), |
|
36 | - new \Twig_SimpleFunction('msgPrintExists', [ $this, 'intuitionMessagePrintExists' ], $options), |
|
37 | - new \Twig_SimpleFunction('msgExists', [ $this, 'intuitionMessageExists' ], $options), |
|
38 | - new \Twig_SimpleFunction('msg', [ $this, 'intuitionMessage' ], $options), |
|
39 | - new \Twig_SimpleFunction('lang', [ $this, 'getLang' ], $options), |
|
40 | - new \Twig_SimpleFunction('langName', [ $this, 'getLangName' ], $options), |
|
41 | - new \Twig_SimpleFunction('allLangs', [ $this, 'getAllLangs' ]), |
|
42 | - new \Twig_SimpleFunction('isRTL', [ $this, 'intuitionIsRTL' ]), |
|
43 | - new \Twig_SimpleFunction('isRTLLang', [ $this, 'intuitionIsRTLLang' ]), |
|
44 | - new \Twig_SimpleFunction('shortHash', [ $this, 'gitShortHash' ]), |
|
45 | - new \Twig_SimpleFunction('hash', [ $this, 'gitHash' ]), |
|
46 | - new \Twig_SimpleFunction('enabled', [ $this, 'tabEnabled' ]), |
|
47 | - new \Twig_SimpleFunction('tools', [ $this, 'allTools' ]), |
|
48 | - new \Twig_SimpleFunction('color', [ $this, 'getColorList' ]), |
|
49 | - new \Twig_SimpleFunction('chartColor', [ $this, 'chartColor' ]), |
|
50 | - new \Twig_SimpleFunction('isWMFLabs', [ $this, 'isWMFLabs' ]), |
|
51 | - new \Twig_SimpleFunction('isSingleWiki', [ $this, 'isSingleWiki' ]), |
|
52 | - new \Twig_SimpleFunction('getReplagThreshold', [ $this, 'getReplagThreshold' ]), |
|
53 | - new \Twig_SimpleFunction('loadStylesheetsFromCDN', [ $this, 'loadStylesheetsFromCDN' ]), |
|
54 | - new \Twig_SimpleFunction('isWMFLabs', [ $this, 'isWMFLabs' ]), |
|
55 | - new \Twig_SimpleFunction('replag', [ $this, 'replag' ]), |
|
56 | - new \Twig_SimpleFunction('link', [ $this, 'link' ]), |
|
57 | - new \Twig_SimpleFunction('quote', [ $this, 'quote' ]), |
|
58 | - new \Twig_SimpleFunction('bugReportURL', [ $this, 'bugReportURL' ]), |
|
33 | + new \Twig_SimpleFunction('request_time', [$this, 'requestTime'], $options), |
|
34 | + new \Twig_SimpleFunction('memory_usage', [$this, 'requestMemory'], $options), |
|
35 | + new \Twig_SimpleFunction('year', [$this, 'generateYear'], $options), |
|
36 | + new \Twig_SimpleFunction('msgPrintExists', [$this, 'intuitionMessagePrintExists'], $options), |
|
37 | + new \Twig_SimpleFunction('msgExists', [$this, 'intuitionMessageExists'], $options), |
|
38 | + new \Twig_SimpleFunction('msg', [$this, 'intuitionMessage'], $options), |
|
39 | + new \Twig_SimpleFunction('lang', [$this, 'getLang'], $options), |
|
40 | + new \Twig_SimpleFunction('langName', [$this, 'getLangName'], $options), |
|
41 | + new \Twig_SimpleFunction('allLangs', [$this, 'getAllLangs']), |
|
42 | + new \Twig_SimpleFunction('isRTL', [$this, 'intuitionIsRTL']), |
|
43 | + new \Twig_SimpleFunction('isRTLLang', [$this, 'intuitionIsRTLLang']), |
|
44 | + new \Twig_SimpleFunction('shortHash', [$this, 'gitShortHash']), |
|
45 | + new \Twig_SimpleFunction('hash', [$this, 'gitHash']), |
|
46 | + new \Twig_SimpleFunction('enabled', [$this, 'tabEnabled']), |
|
47 | + new \Twig_SimpleFunction('tools', [$this, 'allTools']), |
|
48 | + new \Twig_SimpleFunction('color', [$this, 'getColorList']), |
|
49 | + new \Twig_SimpleFunction('chartColor', [$this, 'chartColor']), |
|
50 | + new \Twig_SimpleFunction('isWMFLabs', [$this, 'isWMFLabs']), |
|
51 | + new \Twig_SimpleFunction('isSingleWiki', [$this, 'isSingleWiki']), |
|
52 | + new \Twig_SimpleFunction('getReplagThreshold', [$this, 'getReplagThreshold']), |
|
53 | + new \Twig_SimpleFunction('loadStylesheetsFromCDN', [$this, 'loadStylesheetsFromCDN']), |
|
54 | + new \Twig_SimpleFunction('isWMFLabs', [$this, 'isWMFLabs']), |
|
55 | + new \Twig_SimpleFunction('replag', [$this, 'replag']), |
|
56 | + new \Twig_SimpleFunction('link', [$this, 'link']), |
|
57 | + new \Twig_SimpleFunction('quote', [$this, 'quote']), |
|
58 | + new \Twig_SimpleFunction('bugReportURL', [$this, 'bugReportURL']), |
|
59 | 59 | new \Twig_SimpleFunction('logged_in_user', [$this, 'functionLoggedInUser']), |
60 | 60 | new \Twig_SimpleFunction('isUserAnon', [$this, 'isUserAnon']), |
61 | 61 | ]; |
@@ -68,7 +68,7 @@ discard block |
||
68 | 68 | */ |
69 | 69 | public function requestTime($decimals = 3) |
70 | 70 | { |
71 | - return number_format(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'], $decimals); |
|
71 | + return number_format(microtime(true)-$_SERVER['REQUEST_TIME_FLOAT'], $decimals); |
|
72 | 72 | } |
73 | 73 | |
74 | 74 | /** |
@@ -101,7 +101,7 @@ discard block |
||
101 | 101 | */ |
102 | 102 | public function intuitionMessageExists($message = "") |
103 | 103 | { |
104 | - return $this->getIntuition()->msgExists($message, [ "domain" => "xtools" ]); |
|
104 | + return $this->getIntuition()->msgExists($message, ["domain" => "xtools"]); |
|
105 | 105 | } |
106 | 106 | |
107 | 107 | /** |
@@ -132,7 +132,7 @@ discard block |
||
132 | 132 | */ |
133 | 133 | public function intuitionMessage($message = "", $vars = []) |
134 | 134 | { |
135 | - return $this->getIntuition()->msg($message, [ "domain" => "xtools", "variables" => $vars ]); |
|
135 | + return $this->getIntuition()->msg($message, ["domain" => "xtools", "variables" => $vars]); |
|
136 | 136 | } |
137 | 137 | |
138 | 138 | /** |
@@ -161,10 +161,10 @@ discard block |
||
161 | 161 | */ |
162 | 162 | public function getAllLangs() |
163 | 163 | { |
164 | - $messageFiles = glob($this->container->getParameter("kernel.root_dir") . '/../i18n/*.json'); |
|
164 | + $messageFiles = glob($this->container->getParameter("kernel.root_dir").'/../i18n/*.json'); |
|
165 | 165 | |
166 | 166 | $languages = array_values(array_unique(array_map( |
167 | - function ($filename) { |
|
167 | + function($filename) { |
|
168 | 168 | return basename($filename, '.json'); |
169 | 169 | }, |
170 | 170 | $messageFiles |
@@ -252,41 +252,41 @@ discard block |
||
252 | 252 | public static function getColorList($num = false) |
253 | 253 | { |
254 | 254 | $colors = [ |
255 | - 0 => '#Cc0000',# '#FF005A', #red '#FF5555', |
|
255 | + 0 => '#Cc0000', # '#FF005A', #red '#FF5555', |
|
256 | 256 | 1 => '#F7b7b7', |
257 | - 2 => '#5c8d20',# '#008800', #green'#55FF55', |
|
257 | + 2 => '#5c8d20', # '#008800', #green'#55FF55', |
|
258 | 258 | 3 => '#85eD82', |
259 | 259 | 4 => '#2E97E0', # blue |
260 | 260 | 5 => '#B9E3F9', |
261 | - 6 => '#e1711d', # orange |
|
261 | + 6 => '#e1711d', # orange |
|
262 | 262 | 7 => '#ffc04c', |
263 | 263 | 8 => '#FDFF98', # yellow |
264 | 264 | 9 => '#5555FF', |
265 | 265 | 10 => '#55FFFF', |
266 | - 11 => '#0000C0', # |
|
267 | - 12 => '#008800', # green |
|
266 | + 11 => '#0000C0', # |
|
267 | + 12 => '#008800', # green |
|
268 | 268 | 13 => '#00C0C0', |
269 | - 14 => '#FFAFAF', # rosé |
|
270 | - 15 => '#808080', # gray |
|
269 | + 14 => '#FFAFAF', # rosé |
|
270 | + 15 => '#808080', # gray |
|
271 | 271 | 16 => '#00C000', |
272 | 272 | 17 => '#404040', |
273 | - 18 => '#C0C000', # green |
|
273 | + 18 => '#C0C000', # green |
|
274 | 274 | 19 => '#C000C0', |
275 | - 100 => '#75A3D1', # blue |
|
276 | - 101 => '#A679D2', # purple |
|
275 | + 100 => '#75A3D1', # blue |
|
276 | + 101 => '#A679D2', # purple |
|
277 | 277 | 102 => '#660000', |
278 | 278 | 103 => '#000066', |
279 | - 104 => '#FAFFAF', # caramel |
|
279 | + 104 => '#FAFFAF', # caramel |
|
280 | 280 | 105 => '#408345', |
281 | 281 | 106 => '#5c8d20', |
282 | - 107 => '#e1711d', # red |
|
283 | - 108 => '#94ef2b', # light green |
|
284 | - 109 => '#756a4a', # brown |
|
282 | + 107 => '#e1711d', # red |
|
283 | + 108 => '#94ef2b', # light green |
|
284 | + 109 => '#756a4a', # brown |
|
285 | 285 | 110 => '#6f1dab', |
286 | 286 | 111 => '#301e30', |
287 | 287 | 112 => '#5c9d96', |
288 | - 113 => '#a8cd8c', # earth green |
|
289 | - 114 => '#f2b3f1', # light purple |
|
288 | + 113 => '#a8cd8c', # earth green |
|
289 | + 114 => '#f2b3f1', # light purple |
|
290 | 290 | 115 => '#9b5828', |
291 | 291 | 118 => '#99FFFF', |
292 | 292 | 119 => '#99BBFF', |
@@ -307,8 +307,8 @@ discard block |
||
307 | 307 | 446 => '#06DCFB', |
308 | 308 | 447 => '#892EE4', |
309 | 309 | 460 => '#99FF66', |
310 | - 461 => '#99CC66', # green |
|
311 | - 470 => '#CCCC33', # ocker |
|
310 | + 461 => '#99CC66', # green |
|
311 | + 470 => '#CCCC33', # ocker |
|
312 | 312 | 471 => '#CCFF33', |
313 | 313 | 480 => '#6699FF', |
314 | 314 | 481 => '#66FFFF', |
@@ -323,18 +323,18 @@ discard block |
||
323 | 323 | 1198 => '#FF34B3', |
324 | 324 | 1199 => '#8B1C62', |
325 | 325 | |
326 | - '#61a9f3',# blue |
|
327 | - '#f381b9',# pink |
|
326 | + '#61a9f3', # blue |
|
327 | + '#f381b9', # pink |
|
328 | 328 | '#61E3A9', |
329 | 329 | '#D56DE2', |
330 | 330 | '#85eD82', |
331 | 331 | '#F7b7b7', |
332 | 332 | '#CFDF49', |
333 | 333 | '#88d8f2', |
334 | - '#07AF7B',# green |
|
334 | + '#07AF7B', # green |
|
335 | 335 | '#B9E3F9', |
336 | 336 | '#FFF3AD', |
337 | - '#EF606A',# red |
|
337 | + '#EF606A', # red |
|
338 | 338 | '#EC8833', |
339 | 339 | '#FFF100', |
340 | 340 | '#87C9A5', |
@@ -525,8 +525,8 @@ discard block |
||
525 | 525 | public function getFilters() |
526 | 526 | { |
527 | 527 | return [ |
528 | - new \Twig_SimpleFilter('capitalize_first', [ $this, 'capitalizeFirst' ]), |
|
529 | - new \Twig_SimpleFilter('percent_format', [ $this, 'percentFormat' ]), |
|
528 | + new \Twig_SimpleFilter('capitalize_first', [$this, 'capitalizeFirst']), |
|
529 | + new \Twig_SimpleFilter('percent_format', [$this, 'percentFormat']), |
|
530 | 530 | ]; |
531 | 531 | } |
532 | 532 | |
@@ -553,10 +553,10 @@ discard block |
||
553 | 553 | if (!$denominator) { |
554 | 554 | $quotient = $numerator; |
555 | 555 | } else { |
556 | - $quotient = ( $numerator / $denominator ) * 100; |
|
556 | + $quotient = ($numerator / $denominator) * 100; |
|
557 | 557 | } |
558 | 558 | |
559 | - return round($quotient, $precision) . '%'; |
|
559 | + return round($quotient, $precision).'%'; |
|
560 | 560 | } |
561 | 561 | |
562 | 562 | /** |
@@ -30,7 +30,7 @@ discard block |
||
30 | 30 | */ |
31 | 31 | public function intuitionMessage($message = "", $vars = []) |
32 | 32 | { |
33 | - return $this->getIntuition()->msg($message, [ "domain" => "xtools", "variables" => $vars ]); |
|
33 | + return $this->getIntuition()->msg($message, ["domain" => "xtools", "variables" => $vars]); |
|
34 | 34 | } |
35 | 35 | |
36 | 36 | /*********************************** FUNCTIONS ***********************************/ |
@@ -41,18 +41,18 @@ discard block |
||
41 | 41 | */ |
42 | 42 | public function getFunctions() |
43 | 43 | { |
44 | - $options = [ 'is_safe' => [ 'html']]; |
|
44 | + $options = ['is_safe' => ['html']]; |
|
45 | 45 | return [ |
46 | - new Twig_SimpleFunction('wiki_link', [ $this, 'wikiLink' ], $options), |
|
47 | - new Twig_SimpleFunction('user_link', [ $this, 'userLink' ], $options), |
|
48 | - new Twig_SimpleFunction('user_log_link', [ $this, 'userLogLink' ], $options), |
|
49 | - new Twig_SimpleFunction('group_link', [ $this, 'groupLink' ], $options), |
|
50 | - new Twig_SimpleFunction('wiki_history_link', [ $this, 'wikiHistoryLink' ], $options), |
|
51 | - new Twig_SimpleFunction('wiki_log_link', [ $this, 'wikiLogLink' ], $options), |
|
52 | - new Twig_SimpleFunction('pageviews_links', [ $this, 'pageviewsLinks' ], $options), |
|
53 | - new Twig_SimpleFunction('diff_link', [ $this, 'diffLink' ], $options), |
|
54 | - new Twig_SimpleFunction('perma_link', [ $this, 'permaLink' ], $options), |
|
55 | - new Twig_SimpleFunction('edit_link', [ $this, 'editLink' ], $options), |
|
46 | + new Twig_SimpleFunction('wiki_link', [$this, 'wikiLink'], $options), |
|
47 | + new Twig_SimpleFunction('user_link', [$this, 'userLink'], $options), |
|
48 | + new Twig_SimpleFunction('user_log_link', [$this, 'userLogLink'], $options), |
|
49 | + new Twig_SimpleFunction('group_link', [$this, 'groupLink'], $options), |
|
50 | + new Twig_SimpleFunction('wiki_history_link', [$this, 'wikiHistoryLink'], $options), |
|
51 | + new Twig_SimpleFunction('wiki_log_link', [$this, 'wikiLogLink'], $options), |
|
52 | + new Twig_SimpleFunction('pageviews_links', [$this, 'pageviewsLinks'], $options), |
|
53 | + new Twig_SimpleFunction('diff_link', [$this, 'diffLink'], $options), |
|
54 | + new Twig_SimpleFunction('perma_link', [$this, 'permaLink'], $options), |
|
55 | + new Twig_SimpleFunction('edit_link', [$this, 'editLink'], $options), |
|
56 | 56 | ]; |
57 | 57 | } |
58 | 58 | |
@@ -277,8 +277,8 @@ discard block |
||
277 | 277 | public function getFilters() |
278 | 278 | { |
279 | 279 | return [ |
280 | - new \Twig_SimpleFilter('diff_format', [ $this, 'diffFormat' ], [ 'is_safe' => [ 'html' ] ]), |
|
281 | - new \Twig_SimpleFilter('wikify_comment', [ $this, 'wikifyComment' ], [ 'is_safe' => [ 'html' ] ]), |
|
280 | + new \Twig_SimpleFilter('diff_format', [$this, 'diffFormat'], ['is_safe' => ['html']]), |
|
281 | + new \Twig_SimpleFilter('wikify_comment', [$this, 'wikifyComment'], ['is_safe' => ['html']]), |
|
282 | 282 | ]; |
283 | 283 | } |
284 | 284 | |
@@ -317,7 +317,7 @@ discard block |
||
317 | 317 | if ($isSection) { |
318 | 318 | $sectionTitle = $sectionMatch[1][0]; |
319 | 319 | $sectionTitleLink = str_replace(' ', '_', $sectionTitle); |
320 | - $sectionWikitext = "<a target='_blank' href='$projectUrl/wiki/$title#$sectionTitleLink'>→</a>" . |
|
320 | + $sectionWikitext = "<a target='_blank' href='$projectUrl/wiki/$title#$sectionTitleLink'>→</a>". |
|
321 | 321 | "<em class='text-muted'>$sectionTitle:</em> "; |
322 | 322 | $wikitext = str_replace($sectionMatch[0][0], $sectionWikitext, $wikitext); |
323 | 323 | } |
@@ -41,7 +41,7 @@ discard block |
||
41 | 41 | |
42 | 42 | // If we've got a project and user, redirect to results. |
43 | 43 | if ($projectName != '' && $username != '') { |
44 | - $routeParams = [ 'project' => $projectName, 'username' => $username ]; |
|
44 | + $routeParams = ['project' => $projectName, 'username' => $username]; |
|
45 | 45 | return $this->redirectToRoute('SimpleEditCounterResult', $routeParams); |
46 | 46 | } |
47 | 47 | |
@@ -108,8 +108,8 @@ discard block |
||
108 | 108 | $resultQuery->execute(); |
109 | 109 | |
110 | 110 | if ($resultQuery->errorCode() > 0) { |
111 | - $this->addFlash('notice', [ 'no-result', $username ]); |
|
112 | - return $this->redirectToRoute('SimpleEditCounterProject', [ 'project' => $project->getDomain() ]); |
|
111 | + $this->addFlash('notice', ['no-result', $username]); |
|
112 | + return $this->redirectToRoute('SimpleEditCounterProject', ['project' => $project->getDomain()]); |
|
113 | 113 | } |
114 | 114 | |
115 | 115 | // Fetch the result data |
@@ -133,16 +133,16 @@ discard block |
||
133 | 133 | $rev = $row['value']; |
134 | 134 | } |
135 | 135 | if ($row['source'] == 'groups') { |
136 | - $groups .= $row['value']. ', '; |
|
136 | + $groups .= $row['value'].', '; |
|
137 | 137 | } |
138 | 138 | } |
139 | 139 | |
140 | 140 | // Unknown user - If the user is created the $results variable will have 3 entries. |
141 | 141 | // This is a workaround to detect non-existent IPs. |
142 | 142 | if (count($results) < 3 && $arch == 0 && $rev == 0) { |
143 | - $this->addFlash('notice', [ 'no-result', $username ]); |
|
143 | + $this->addFlash('notice', ['no-result', $username]); |
|
144 | 144 | |
145 | - return $this->redirectToRoute('SimpleEditCounterProject', [ 'project' => $project->getDomain() ]); |
|
145 | + return $this->redirectToRoute('SimpleEditCounterProject', ['project' => $project->getDomain()]); |
|
146 | 146 | } |
147 | 147 | |
148 | 148 | // Remove the last comma and space |
@@ -172,7 +172,7 @@ discard block |
||
172 | 172 | 'project_url' => $url, |
173 | 173 | 'id' => $id, |
174 | 174 | 'arch' => $arch, |
175 | - 'rev' => $rev + $arch, |
|
175 | + 'rev' => $rev+$arch, |
|
176 | 176 | 'live' => $rev, |
177 | 177 | 'groups' => $groups, |
178 | 178 | 'globalGroups' => $globalGroups, |
@@ -76,10 +76,10 @@ discard block |
||
76 | 76 | $username = $request->query->get('username', $request->query->get('user')); |
77 | 77 | |
78 | 78 | if (($project || $queryProject) && $username) { |
79 | - $routeParams = [ 'project'=>($project ?: $queryProject), 'username' => $username ]; |
|
79 | + $routeParams = ['project'=>($project ?: $queryProject), 'username' => $username]; |
|
80 | 80 | return $this->redirectToRoute("EditCounterResult", $routeParams); |
81 | 81 | } elseif (!$project && $queryProject) { |
82 | - return $this->redirectToRoute("EditCounterProject", [ 'project'=>$queryProject ]); |
|
82 | + return $this->redirectToRoute("EditCounterProject", ['project'=>$queryProject]); |
|
83 | 83 | } |
84 | 84 | |
85 | 85 | $project = ProjectRepository::getProject($queryProject, $this->container); |
@@ -109,7 +109,7 @@ discard block |
||
109 | 109 | $this->setUpEditCounter($project, $username); |
110 | 110 | $isSubRequest = $this->container->get('request_stack')->getParentRequest() !== null; |
111 | 111 | return $this->render('editCounter/result.html.twig', [ |
112 | - 'xtTitle' => $this->user->getUsername() . ' - ' . $this->project->getTitle(), |
|
112 | + 'xtTitle' => $this->user->getUsername().' - '.$this->project->getTitle(), |
|
113 | 113 | 'xtPage' => 'ec', |
114 | 114 | 'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..'), |
115 | 115 | 'is_labs' => $this->project->getRepository()->isLabs(), |
@@ -12,7 +12,6 @@ |
||
12 | 12 | use Symfony\Component\HttpFoundation\Response; |
13 | 13 | use Xtools\EditCounter; |
14 | 14 | use Xtools\EditCounterRepository; |
15 | -use Xtools\Page; |
|
16 | 15 | use Xtools\Project; |
17 | 16 | use Xtools\ProjectRepository; |
18 | 17 | use Xtools\User; |