Completed
Pull Request — master (#15)
by Sam
04:07
created
src/AppBundle/Helper/AutomatedEditsHelper.php 1 patch
Unused Use Statements   -4 removed lines patch added patch discarded remove patch
@@ -3,11 +3,7 @@
 block discarded – undo
3 3
 namespace AppBundle\Helper;
4 4
 
5 5
 use Doctrine\DBAL\Connection;
6
-use Psr\Cache\CacheItemPoolInterface;
7
-use Symfony\Component\Config\Definition\Exception\Exception;
8
-use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
9 6
 use Symfony\Component\DependencyInjection\ContainerInterface;
10
-use Symfony\Component\VarDumper\VarDumper;
11 7
 
12 8
 class AutomatedEditsHelper extends HelperBase
13 9
 {
Please login to merge, or discard this patch.
src/AppBundle/Controller/EditCounterController.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -63,10 +63,10 @@  discard block
 block discarded – undo
63 63
         $username = $request->query->get('username');
64 64
 
65 65
         if (($project || $queryProject) && $username) {
66
-            $routeParams = [ 'project'=>($project ?: $queryProject), 'username' => $username ];
66
+            $routeParams = ['project'=>($project ?: $queryProject), 'username' => $username];
67 67
             return $this->redirectToRoute("EditCounterResult", $routeParams);
68 68
         } elseif (!$project && $queryProject) {
69
-            return $this->redirectToRoute("EditCounterProject", [ 'project'=>$queryProject ]);
69
+            return $this->redirectToRoute("EditCounterProject", ['project'=>$queryProject]);
70 70
         }
71 71
 
72 72
         $this->init($project);
@@ -171,9 +171,9 @@  discard block
 block discarded – undo
171 171
             'rev_small' => $revisionCounts['small'],
172 172
             'rev_large' => $revisionCounts['large'],
173 173
             'with_comments' => $revisionCounts['with_comments'],
174
-            'without_comments' => $revisionCounts['live'] - $revisionCounts['with_comments'],
174
+            'without_comments' => $revisionCounts['live']-$revisionCounts['with_comments'],
175 175
             'minor_edits' => $revisionCounts['minor_edits'],
176
-            'nonminor_edits' => $revisionCounts['live'] - $revisionCounts['minor_edits'],
176
+            'nonminor_edits' => $revisionCounts['live']-$revisionCounts['minor_edits'],
177 177
             'auto_edits_total' => array_sum($automatedEditsSummary),
178 178
 
179 179
             // Page counts.
Please login to merge, or discard this patch.
Unused Use Statements   -1 removed lines patch added patch discarded remove patch
@@ -9,7 +9,6 @@
 block discarded – undo
9 9
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
10 10
 use Symfony\Bundle\FrameworkBundle\Controller\Controller;
11 11
 use Symfony\Component\HttpFoundation\Request;
12
-use Symfony\Component\HttpFoundation\RequestStack;
13 12
 
14 13
 class EditCounterController extends Controller
15 14
 {
Please login to merge, or discard this patch.
src/AppBundle/Helper/LabsHelper.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
             // Create the query we're going to run against the meta database
78 78
             $wikiQuery = $this->client->createQueryBuilder();
79 79
             $wikiQuery
80
-                ->select([ 'dbName', 'name', 'url', 'lang' ])
80
+                ->select(['dbName', 'name', 'url', 'lang'])
81 81
                 ->from('wiki')
82 82
                 ->where($wikiQuery->expr()->eq('dbname', ':project'))
83 83
                 // The meta database will have the project's URL stored as https://en.wikipedia.org
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
         $this->dbName = $dbName;
114 114
         $this->url = $url;
115 115
 
116
-        $dbInfo = [ 'dbName' => $dbName, 'wikiName' => $wikiName, 'url' => $url, 'lang' => $lang ];
116
+        $dbInfo = ['dbName' => $dbName, 'wikiName' => $wikiName, 'url' => $url, 'lang' => $lang];
117 117
         $this->dbInfo[$project] = $dbInfo;
118 118
         return $dbInfo;
119 119
     }
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
     public function allProjects()
125 125
     {
126 126
         $wikiQuery = $this->client->createQueryBuilder();
127
-        $wikiQuery->select([ 'dbName', 'name', 'url' ])->from('wiki');
127
+        $wikiQuery->select(['dbName', 'name', 'url'])->from('wiki');
128 128
         $stmt = $wikiQuery->execute();
129 129
         $out = $stmt->fetchAll();
130 130
         return $out;
Please login to merge, or discard this patch.
src/AppBundle/Helper/ApiHelper.php 1 patch
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
     public function groups($project, $username)
56 56
     {
57 57
         $this->setUp($project);
58
-        $params = [ "list"=>"users", "ususers"=>$username, "usprop"=>"groups" ];
58
+        $params = ["list"=>"users", "ususers"=>$username, "usprop"=>"groups"];
59 59
         $query = new SimpleRequest('query', $params);
60 60
         $result = [];
61 61
 
@@ -74,7 +74,7 @@  discard block
 block discarded – undo
74 74
     public function globalGroups($project, $username)
75 75
     {
76 76
         $this->setUp($project);
77
-        $params = [ "meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups" ];
77
+        $params = ["meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups"];
78 78
         $query = new SimpleRequest('query', $params);
79 79
         $result = [];
80 80
 
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
         }
105 105
 
106 106
         $this->setUp($project);
107
-        $query = new SimpleRequest('query', [ "meta"=>"siteinfo", "siprop"=>"namespaces" ]);
107
+        $query = new SimpleRequest('query', ["meta"=>"siteinfo", "siprop"=>"namespaces"]);
108 108
         $namespaces = [];
109 109
 
110 110
         try {
@@ -160,7 +160,7 @@  discard block
 block discarded – undo
160 160
                 $groups[] = "B";
161 161
             }
162 162
             if (in_array("steward", $admin["groups"])) {
163
-                $groups[] = "S" ;
163
+                $groups[] = "S";
164 164
             }
165 165
             if (in_array("checkuser", $admin["groups"])) {
166 166
                 $groups[] = "CU";
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
             if (in_array("bot", $admin["groups"])) {
172 172
                 $groups[] = "Bot";
173 173
             }
174
-            $result[ $admin["name"] ] = [
174
+            $result[$admin["name"]] = [
175 175
                 "groups" => implode('/', $groups)
176 176
             ];
177 177
         }
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
             $normalized = [];
247 247
             if (isset($result['query']['normalized'])) {
248 248
                 array_map(
249
-                    function ($e) use (&$normalized) {
249
+                    function($e) use (&$normalized) {
250 250
                         $normalized[$e['to']] = $e['from'];
251 251
                     },
252 252
                     $result['query']['normalized']
@@ -292,7 +292,7 @@  discard block
 block discarded – undo
292 292
         ];
293 293
 
294 294
         // get assessments for this page from the API
295
-        $assessments = $this->massApi($params, $project, function ($data) {
295
+        $assessments = $this->massApi($params, $project, function($data) {
296 296
             return isset($data['pages'][0]['pageassessments']) ? $data['pages'][0]['pageassessments'] : [];
297 297
         }, 'pacontinue')['pages'];
298 298
 
@@ -316,7 +316,7 @@  discard block
 block discarded – undo
316 316
                 $classAttrs = $config['class']['Unknown'];
317 317
                 $assessment['class']['value'] = '???';
318 318
                 $assessment['class']['category'] = $classAttrs['category'];
319
-                $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/". $classAttrs['badge'];
319
+                $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/".$classAttrs['badge'];
320 320
             } else {
321 321
                 $classAttrs = $config['class'][$classValue];
322 322
                 $assessment['class'] = [
@@ -327,7 +327,7 @@  discard block
 block discarded – undo
327 327
 
328 328
                 // add full URL to badge icon
329 329
                 if ($classAttrs['badge'] !== '') {
330
-                    $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/" .
330
+                    $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/".
331 331
                         $classAttrs['badge'];
332 332
                 }
333 333
 
@@ -376,9 +376,9 @@  discard block
 block discarded – undo
376 376
         $config = $this->getAssessmentsConfig();
377 377
 
378 378
         if (isset($config[$project]['class'][$class])) {
379
-            return "https://upload.wikimedia.org/wikipedia/commons/" . $config[$project]['class'][$class]['badge'];
379
+            return "https://upload.wikimedia.org/wikipedia/commons/".$config[$project]['class'][$class]['badge'];
380 380
         } elseif (isset($config[$project]['class']['Unknown'])) {
381
-            return "https://upload.wikimedia.org/wikipedia/commons/" . $config[$project]['class']['Unknown']['badge'];
381
+            return "https://upload.wikimedia.org/wikipedia/commons/".$config[$project]['class']['Unknown']['badge'];
382 382
         } else {
383 383
             return "";
384 384
         }
@@ -471,7 +471,7 @@  discard block
 block discarded – undo
471 471
         $query = FluentRequest::factory()->setAction('query')->setParams($requestData);
472 472
         $innerPromise = $this->api->getRequestAsync($query);
473 473
 
474
-        $innerPromise->then(function ($result) use (&$data) {
474
+        $innerPromise->then(function($result) use (&$data) {
475 475
             // some failures come back as 200s, so we still resolve and let the outer function handle it
476 476
             if (isset($result['error']) || !isset($result['query'])) {
477 477
                 return $data['promise']->resolve($data);
@@ -535,7 +535,7 @@  discard block
 block discarded – undo
535 535
         // calls LabsHelper::databasePrepare() and we've already got that info.
536 536
         if ($this->labsHelper->isLabs()) {
537 537
             // @TODO This assumes too much. Can be removed after T163527.
538
-            $projectUrl = $projectUrl . '/w/api.php';
538
+            $projectUrl = $projectUrl.'/w/api.php';
539 539
             $api = MediawikiApi::newFromApiEndpoint($projectUrl);
540 540
         } else {
541 541
             $api = MediawikiApi::newFromPage($projectUrl);
Please login to merge, or discard this patch.
src/AppBundle/Helper/EditCounterHelper.php 2 patches
Unused Use Statements   -2 removed lines patch added patch discarded remove patch
@@ -2,8 +2,6 @@
 block discarded – undo
2 2
 
3 3
 namespace AppBundle\Helper;
4 4
 
5
-use AppBundle\Twig\AppExtension;
6
-use DateInterval;
7 5
 use Doctrine\DBAL\Connection;
8 6
 use Exception;
9 7
 use Symfony\Component\DependencyInjection\Container;
Please login to merge, or discard this patch.
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
      */
35 35
     public function getUserId($usernameOrIp)
36 36
     {
37
-        $cacheKey = 'userid.' . $usernameOrIp;
37
+        $cacheKey = 'userid.'.$usernameOrIp;
38 38
         if ($this->cacheHas($cacheKey)) {
39 39
             return $this->cacheGet($cacheKey);
40 40
         }
@@ -57,7 +57,7 @@  discard block
 block discarded – undo
57 57
      */
58 58
     public function getTopProjectsEditCounts($projectUrl, $username, $numProjects = 10)
59 59
     {
60
-        $cacheKey = 'topprojectseditcounts.' . $username;
60
+        $cacheKey = 'topprojectseditcounts.'.$username;
61 61
         if ($this->cacheHas($cacheKey)) {
62 62
             return $this->cacheGet($cacheKey);
63 63
         }
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
         if (false === $topEditCounts) {
70 70
             // If no CentralAuth, fall back to querying each database in turn.
71 71
             foreach ($this->labsHelper->allProjects() as $project) {
72
-                $this->container->get('logger')->debug('Getting edit count for ' . $project['url']);
72
+                $this->container->get('logger')->debug('Getting edit count for '.$project['url']);
73 73
                 $revisionTableName = $this->labsHelper->getTable('revision', $project['dbName']);
74 74
                 $sql = "SELECT COUNT(rev_id) FROM $revisionTableName WHERE rev_user_text=:username";
75 75
                 $stmt = $this->replicas->prepare($sql);
@@ -79,8 +79,8 @@  discard block
 block discarded – undo
79 79
                 $topEditCounts[$project['dbName']] = array_merge($project, ['total' => $total]);
80 80
             }
81 81
         }
82
-        uasort($topEditCounts, function ($a, $b) {
83
-            return $b - $a;
82
+        uasort($topEditCounts, function($a, $b) {
83
+            return $b-$a;
84 84
         });
85 85
         $out = array_slice($topEditCounts, 0, $numProjects);
86 86
 
@@ -145,8 +145,8 @@  discard block
 block discarded – undo
145 145
         // Count the number of days, accounting for when there's zero or one edit.
146 146
         $revisionCounts['days'] = 0;
147 147
         if ($revisionCounts['first'] && $revisionCounts['last']) {
148
-            $editingTimeInSeconds = strtotime($revisionCounts['last']) - strtotime($revisionCounts['first']);
149
-            $revisionCounts['days'] = $editingTimeInSeconds ? $editingTimeInSeconds/(60*60*24) : 1;
148
+            $editingTimeInSeconds = strtotime($revisionCounts['last'])-strtotime($revisionCounts['first']);
149
+            $revisionCounts['days'] = $editingTimeInSeconds ? $editingTimeInSeconds / (60 * 60 * 24) : 1;
150 150
         }
151 151
 
152 152
         // Format the first and last dates.
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
             : 0;
159 159
 
160 160
         // Sum deleted and live to make the total.
161
-        $revisionCounts['total'] = $revisionCounts['deleted'] + $revisionCounts['live'];
161
+        $revisionCounts['total'] = $revisionCounts['deleted']+$revisionCounts['live'];
162 162
 
163 163
         // Calculate the average number of live edits per day.
164 164
         $revisionCounts['avg_per_day'] = 0;
@@ -205,16 +205,16 @@  discard block
 block discarded – undo
205 205
         $results = $resultQuery->fetchAll();
206 206
 
207 207
         $pageCounts = array_combine(
208
-            array_map(function ($e) {
208
+            array_map(function($e) {
209 209
                 return $e['source'];
210 210
             }, $results),
211
-            array_map(function ($e) {
211
+            array_map(function($e) {
212 212
                 return $e['value'];
213 213
             }, $results)
214 214
         );
215 215
 
216 216
         // Total created.
217
-        $pageCounts['created'] = $pageCounts['created-live'] + $pageCounts['created-deleted'];
217
+        $pageCounts['created'] = $pageCounts['created-live']+$pageCounts['created-deleted'];
218 218
 
219 219
         // Calculate the average number of edits per page.
220 220
         $pageCounts['edits_per_page'] = 0;
@@ -243,17 +243,17 @@  discard block
 block discarded – undo
243 243
         $resultQuery->execute();
244 244
         $results = $resultQuery->fetchAll();
245 245
         $logCounts = array_combine(
246
-            array_map(function ($e) {
246
+            array_map(function($e) {
247 247
                 return $e['source'];
248 248
             }, $results),
249
-            array_map(function ($e) {
249
+            array_map(function($e) {
250 250
                 return $e['value'];
251 251
             }, $results)
252 252
         );
253 253
 
254 254
         // Make sure there is some value for each of the wanted counts.
255 255
         $requiredCounts = [
256
-            'thanks-thank', 'review-approve', 'patrol-patrol','block-block', 'block-unblock',
256
+            'thanks-thank', 'review-approve', 'patrol-patrol', 'block-block', 'block-unblock',
257 257
             'protect-protect', 'protect-unprotect', 'delete-delete', 'delete-revision',
258 258
             'delete-restore', 'import-import', 'upload-upload', 'upload-overwrite',
259 259
         ];
@@ -264,9 +264,9 @@  discard block
 block discarded – undo
264 264
         }
265 265
 
266 266
         // Merge approvals together.
267
-        $logCounts['review-approve'] = $logCounts['review-approve'] +
268
-            (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0) +
269
-            (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0) +
267
+        $logCounts['review-approve'] = $logCounts['review-approve']+
268
+            (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0)+
269
+            (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0)+
270 270
             (!empty($logCounts['review-approve-ia']) ? $logCounts['review-approve-ia'] : 0);
271 271
 
272 272
         // Add Commons upload count, if applicable.
@@ -292,7 +292,7 @@  discard block
 block discarded – undo
292 292
     {
293 293
         $userId = $this->getUserId($username);
294 294
         $sql = "SELECT page_namespace, count(rev_id) AS total
295
-            FROM ".$this->labsHelper->getTable('revision') ." r
295
+            FROM ".$this->labsHelper->getTable('revision')." r
296 296
                 JOIN ".$this->labsHelper->getTable('page')." p on r.rev_page = p.page_id
297 297
             WHERE r.rev_user = :id GROUP BY page_namespace";
298 298
         $resultQuery = $this->replicas->prepare($sql);
@@ -300,10 +300,10 @@  discard block
 block discarded – undo
300 300
         $resultQuery->execute();
301 301
         $results = $resultQuery->fetchAll();
302 302
         $namespaceTotals = array_combine(
303
-            array_map(function ($e) {
303
+            array_map(function($e) {
304 304
                 return $e['page_namespace'];
305 305
             }, $results),
306
-            array_map(function ($e) {
306
+            array_map(function($e) {
307 307
                 return $e['total'];
308 308
             }, $results)
309 309
         );
@@ -329,8 +329,8 @@  discard block
 block discarded – undo
329 329
                     "SELECT rev_id, rev_timestamp, UNIX_TIMESTAMP(rev_timestamp) AS unix_timestamp, "
330 330
                     . " rev_minor_edit, rev_deleted, rev_len, rev_parent_id, rev_comment, "
331 331
                     . " page_title, page_namespace "
332
-                    . " FROM " . $this->labsHelper->getTable('revision', $project['dbName'])
333
-                    . "    JOIN " . $this->labsHelper->getTable('page', $project['dbName'])
332
+                    . " FROM ".$this->labsHelper->getTable('revision', $project['dbName'])
333
+                    . "    JOIN ".$this->labsHelper->getTable('page', $project['dbName'])
334 334
                     . "    ON (rev_page = page_id)"
335 335
                     . " WHERE rev_timestamp > NOW() - INTERVAL $days DAY AND rev_user_text LIKE :username"
336 336
                     . " ORDER BY rev_timestamp DESC"
@@ -345,7 +345,7 @@  discard block
 block discarded – undo
345 345
                 continue;
346 346
             }
347 347
             $revsWithProject = array_map(
348
-                function (&$item) use ($project) {
348
+                function(&$item) use ($project) {
349 349
                     $item['project_name'] = $project['name'];
350 350
                     $item['project_url'] = $project['url'];
351 351
                     $item['project_db_name'] = $project['dbName'];
@@ -356,8 +356,8 @@  discard block
 block discarded – undo
356 356
             );
357 357
             $allRevisions = array_merge($allRevisions, $revsWithProject);
358 358
         }
359
-        usort($allRevisions, function ($a, $b) {
360
-            return $b['rev_timestamp'] - $a['rev_timestamp'];
359
+        usort($allRevisions, function($a, $b) {
360
+            return $b['rev_timestamp']-$a['rev_timestamp'];
361 361
         });
362 362
         return array_slice($allRevisions, 0, $contribCount);
363 363
     }
@@ -379,8 +379,8 @@  discard block
 block discarded – undo
379 379
             . "     MONTH(rev_timestamp) AS `month`,"
380 380
             . "     page_namespace,"
381 381
             . "     COUNT(rev_id) AS `count` "
382
-            . " FROM " . $this->labsHelper->getTable('revision')
383
-            . "    JOIN " . $this->labsHelper->getTable('page') . " ON (rev_page = page_id)"
382
+            . " FROM ".$this->labsHelper->getTable('revision')
383
+            . "    JOIN ".$this->labsHelper->getTable('page')." ON (rev_page = page_id)"
384 384
             . " WHERE rev_user_text = :username"
385 385
             . " GROUP BY YEAR(rev_timestamp), MONTH(rev_timestamp), page_namespace "
386 386
             . " ORDER BY rev_timestamp DESC";
@@ -436,10 +436,10 @@  discard block
 block discarded – undo
436 436
             . "     SUBSTR(CAST(rev_timestamp AS CHAR(4)), 1, 4) AS `year`,"
437 437
             . "     page_namespace,"
438 438
             . "     COUNT(rev_id) AS `count` "
439
-            . " FROM " . $this->labsHelper->getTable('revision')
440
-            . "    JOIN " . $this->labsHelper->getTable('page') . " ON (rev_page = page_id)" .
441
-            " WHERE rev_user_text = :username" .
442
-            " GROUP BY SUBSTR(CAST(rev_timestamp AS CHAR(4)), 1, 4), page_namespace " .
439
+            . " FROM ".$this->labsHelper->getTable('revision')
440
+            . "    JOIN ".$this->labsHelper->getTable('page')." ON (rev_page = page_id)".
441
+            " WHERE rev_user_text = :username".
442
+            " GROUP BY SUBSTR(CAST(rev_timestamp AS CHAR(4)), 1, 4), page_namespace ".
443 443
             " ORDER BY rev_timestamp DESC ";
444 444
         $resultQuery = $this->replicas->prepare($sql);
445 445
         $resultQuery->bindParam(":username", $username);
@@ -480,7 +480,7 @@  discard block
 block discarded – undo
480 480
             . "     DAYOFWEEK(rev_timestamp) AS `y`, "
481 481
             . "     $xCalc AS `x`, "
482 482
             . "     COUNT(rev_id) AS `r` "
483
-            . " FROM " . $this->labsHelper->getTable('revision')
483
+            . " FROM ".$this->labsHelper->getTable('revision')
484 484
             . " WHERE rev_user_text = :username"
485 485
             . " GROUP BY DAYOFWEEK(rev_timestamp), $xCalc "
486 486
             . " ";
Please login to merge, or discard this patch.