| @@ -34,6 +34,9 @@ discard block | ||
| 34 | 34 | } | 
| 35 | 35 | } | 
| 36 | 36 | |
| 37 | + /** | |
| 38 | + * @param string $username | |
| 39 | + */ | |
| 37 | 40 | public function groups($project, $username) | 
| 38 | 41 |      { | 
| 39 | 42 | $this->setUp($project); | 
| @@ -53,6 +56,9 @@ discard block | ||
| 53 | 56 | return $result; | 
| 54 | 57 | } | 
| 55 | 58 | |
| 59 | + /** | |
| 60 | + * @param string $username | |
| 61 | + */ | |
| 56 | 62 | public function globalGroups($project, $username) | 
| 57 | 63 |      { | 
| 58 | 64 | $this->setUp($project); | 
| @@ -336,7 +342,7 @@ discard block | ||
| 336 | 342 | * Adapted from https://github.com/MusikAnimal/pageviews | 
| 337 | 343 | * @param array $params Associative array of params to pass to API | 
| 338 | 344 | * @param string $project Project to query, e.g. en.wikipedia.org | 
| 339 | - * @param string|func $dataKey The key for the main chunk of data, in the query hash | |
| 345 | + * @param \Closure $dataKey The key for the main chunk of data, in the query hash | |
| 340 | 346 | * (e.g. 'categorymembers' for API:Categorymembers). | 
| 341 | 347 | * If this is a function it is given the response data, | 
| 342 | 348 | * and expected to return the data we want to concatentate. | 
| @@ -37,7 +37,7 @@ discard block | ||
| 37 | 37 | public function groups($project, $username) | 
| 38 | 38 |      { | 
| 39 | 39 | $this->setUp($project); | 
| 40 | - $params = [ "list"=>"users", "ususers"=>$username, "usprop"=>"groups" ]; | |
| 40 | + $params = ["list"=>"users", "ususers"=>$username, "usprop"=>"groups"]; | |
| 41 | 41 |          $query = new SimpleRequest('query', $params); | 
| 42 | 42 | $result = []; | 
| 43 | 43 | |
| @@ -56,7 +56,7 @@ discard block | ||
| 56 | 56 | public function globalGroups($project, $username) | 
| 57 | 57 |      { | 
| 58 | 58 | $this->setUp($project); | 
| 59 | - $params = [ "meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups" ]; | |
| 59 | + $params = ["meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups"]; | |
| 60 | 60 |          $query = new SimpleRequest('query', $params); | 
| 61 | 61 | $result = []; | 
| 62 | 62 | |
| @@ -86,7 +86,7 @@ discard block | ||
| 86 | 86 | } | 
| 87 | 87 | |
| 88 | 88 | $this->setUp($project); | 
| 89 | -        $query = new SimpleRequest('query', [ "meta"=>"siteinfo", "siprop"=>"namespaces" ]); | |
| 89 | +        $query = new SimpleRequest('query', ["meta"=>"siteinfo", "siprop"=>"namespaces"]); | |
| 90 | 90 | $result = []; | 
| 91 | 91 | |
| 92 | 92 |          try { | 
| @@ -188,7 +188,7 @@ discard block | ||
| 188 | 188 | $normalized = []; | 
| 189 | 189 |              if (isset($result['query']['normalized'])) { | 
| 190 | 190 | array_map( | 
| 191 | -                    function ($e) use (&$normalized) { | |
| 191 | +                    function($e) use (&$normalized) { | |
| 192 | 192 | $normalized[$e['to']] = $e['from']; | 
| 193 | 193 | }, | 
| 194 | 194 | $result['query']['normalized'] | 
| @@ -231,7 +231,7 @@ discard block | ||
| 231 | 231 | ]; | 
| 232 | 232 | |
| 233 | 233 | // get assessments for this page from the API | 
| 234 | -        $assessments = $this->massApi($params, $project, function ($data) { | |
| 234 | +        $assessments = $this->massApi($params, $project, function($data) { | |
| 235 | 235 | return isset($data['pages'][0]['pageassessments']) ? $data['pages'][0]['pageassessments'] : []; | 
| 236 | 236 | }, 'pacontinue')['pages']; | 
| 237 | 237 | |
| @@ -258,7 +258,7 @@ discard block | ||
| 258 | 258 | $classAttrs = $config['class']['Unknown']; | 
| 259 | 259 | $assessment['class']['value'] = '???'; | 
| 260 | 260 | $assessment['class']['category'] = $classAttrs['category']; | 
| 261 | - $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/". $classAttrs['badge']; | |
| 261 | + $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/".$classAttrs['badge']; | |
| 262 | 262 |              } else { | 
| 263 | 263 | $classAttrs = $config['class'][$classValue]; | 
| 264 | 264 | $assessment['class'] = [ | 
| @@ -269,7 +269,7 @@ discard block | ||
| 269 | 269 | |
| 270 | 270 | // add full URL to badge icon | 
| 271 | 271 |                  if ($classAttrs['badge'] !== '') { | 
| 272 | - $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/" . | |
| 272 | + $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/". | |
| 273 | 273 | $classAttrs['badge']; | 
| 274 | 274 | } | 
| 275 | 275 | |
| @@ -393,7 +393,7 @@ discard block | ||
| 393 | 393 |          $query = FluentRequest::factory()->setAction('query')->setParams($requestData); | 
| 394 | 394 | $innerPromise = $this->api->getRequestAsync($query); | 
| 395 | 395 | |
| 396 | -        $innerPromise->then(function ($result) use (&$data) { | |
| 396 | +        $innerPromise->then(function($result) use (&$data) { | |
| 397 | 397 | // some failures come back as 200s, so we still resolve and let the outer function handle it | 
| 398 | 398 |              if (isset($result['error']) || !isset($result['query'])) { | 
| 399 | 399 | return $data['promise']->resolve($data); | 
| @@ -100,24 +100,24 @@ discard block | ||
| 100 | 100 | } | 
| 101 | 101 | |
| 102 | 102 | $revisionCounts = array_combine( | 
| 103 | -            array_map(function ($e) { | |
| 103 | +            array_map(function($e) { | |
| 104 | 104 | return $e['source']; | 
| 105 | 105 | }, $results), | 
| 106 | -            array_map(function ($e) { | |
| 106 | +            array_map(function($e) { | |
| 107 | 107 | return $e['value']; | 
| 108 | 108 | }, $results) | 
| 109 | 109 | ); | 
| 110 | 110 | |
| 111 | 111 | // Count the number of days, accounting for when there's only one edit. | 
| 112 | - $editingTimeInSeconds = ceil($revisionCounts['last'] - $revisionCounts['first']); | |
| 113 | - $revisionCounts['days'] = $editingTimeInSeconds ? $editingTimeInSeconds/(60*60*24) : 1; | |
| 112 | + $editingTimeInSeconds = ceil($revisionCounts['last']-$revisionCounts['first']); | |
| 113 | + $revisionCounts['days'] = $editingTimeInSeconds ? $editingTimeInSeconds / (60 * 60 * 24) : 1; | |
| 114 | 114 | |
| 115 | 115 | // Format the first and last dates. | 
| 116 | 116 |          $revisionCounts['first'] = date('Y-m-d H:i', strtotime($revisionCounts['first'])); | 
| 117 | 117 |          $revisionCounts['last'] = date('Y-m-d H:i', strtotime($revisionCounts['last'])); | 
| 118 | 118 | |
| 119 | 119 | // Sum deleted and live to make the total. | 
| 120 | - $revisionCounts['total'] = $revisionCounts['deleted'] + $revisionCounts['live']; | |
| 120 | + $revisionCounts['total'] = $revisionCounts['deleted']+$revisionCounts['live']; | |
| 121 | 121 | |
| 122 | 122 | // Calculate the average number of live edits per day. | 
| 123 | 123 | $revisionCounts['avg_per_day'] = round( | 
| @@ -154,16 +154,16 @@ discard block | ||
| 154 | 154 | $results = $resultQuery->fetchAll(); | 
| 155 | 155 | |
| 156 | 156 | $pageCounts = array_combine( | 
| 157 | -            array_map(function ($e) { | |
| 157 | +            array_map(function($e) { | |
| 158 | 158 | return $e['source']; | 
| 159 | 159 | }, $results), | 
| 160 | -            array_map(function ($e) { | |
| 160 | +            array_map(function($e) { | |
| 161 | 161 | return $e['value']; | 
| 162 | 162 | }, $results) | 
| 163 | 163 | ); | 
| 164 | 164 | |
| 165 | 165 | // Total created. | 
| 166 | - $pageCounts['created'] = $pageCounts['created-live'] + $pageCounts['created-deleted']; | |
| 166 | + $pageCounts['created'] = $pageCounts['created-live']+$pageCounts['created-deleted']; | |
| 167 | 167 | |
| 168 | 168 | // Calculate the average number of edits per page. | 
| 169 | 169 | $pageCounts['edits_per_page'] = 0; | 
| @@ -190,17 +190,17 @@ discard block | ||
| 190 | 190 | $resultQuery->execute(); | 
| 191 | 191 | $results = $resultQuery->fetchAll(); | 
| 192 | 192 | $logCounts = array_combine( | 
| 193 | -            array_map(function ($e) { | |
| 193 | +            array_map(function($e) { | |
| 194 | 194 | return $e['source']; | 
| 195 | 195 | }, $results), | 
| 196 | -            array_map(function ($e) { | |
| 196 | +            array_map(function($e) { | |
| 197 | 197 | return $e['value']; | 
| 198 | 198 | }, $results) | 
| 199 | 199 | ); | 
| 200 | 200 | |
| 201 | 201 | // Make sure there is some value for each of the wanted counts. | 
| 202 | 202 | $requiredCounts = [ | 
| 203 | - 'thanks-thank', 'review-approve', 'patrol-patrol','block-block', 'block-unblock', | |
| 203 | + 'thanks-thank', 'review-approve', 'patrol-patrol', 'block-block', 'block-unblock', | |
| 204 | 204 | 'protect-protect', 'protect-unprotect', 'delete-delete', 'delete-revision', | 
| 205 | 205 | 'delete-restore', 'import-import', 'upload-upload', 'upload-overwrite', | 
| 206 | 206 | ]; | 
| @@ -211,9 +211,9 @@ discard block | ||
| 211 | 211 | } | 
| 212 | 212 | |
| 213 | 213 | // Merge approvals together. | 
| 214 | - $logCounts['review-approve'] = $logCounts['review-approve'] + | |
| 215 | - (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0) + | |
| 216 | - (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0) + | |
| 214 | + $logCounts['review-approve'] = $logCounts['review-approve']+ | |
| 215 | + (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0)+ | |
| 216 | + (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0)+ | |
| 217 | 217 | (!empty($logCounts['review-approve-ia']) ? $logCounts['review-approve-ia'] : 0); | 
| 218 | 218 | |
| 219 | 219 | // Add Commons upload count, if applicable. | 
| @@ -238,7 +238,7 @@ discard block | ||
| 238 | 238 | public function getNamespaceTotals($userId) | 
| 239 | 239 |      { | 
| 240 | 240 | $sql = "SELECT page_namespace, count(rev_id) AS total | 
| 241 | -            FROM ".$this->labsHelper->getTable('revision') ." r | |
| 241 | +            FROM ".$this->labsHelper->getTable('revision')." r | |
| 242 | 242 |                  JOIN ".$this->labsHelper->getTable('page')." p on r.rev_page = p.page_id | 
| 243 | 243 | WHERE r.rev_user = :id GROUP BY page_namespace"; | 
| 244 | 244 | $resultQuery = $this->replicas->prepare($sql); | 
| @@ -246,10 +246,10 @@ discard block | ||
| 246 | 246 | $resultQuery->execute(); | 
| 247 | 247 | $results = $resultQuery->fetchAll(); | 
| 248 | 248 | $namespaceTotals = array_combine( | 
| 249 | -            array_map(function ($e) { | |
| 249 | +            array_map(function($e) { | |
| 250 | 250 | return $e['page_namespace']; | 
| 251 | 251 | }, $results), | 
| 252 | -            array_map(function ($e) { | |
| 252 | +            array_map(function($e) { | |
| 253 | 253 | return $e['total']; | 
| 254 | 254 | }, $results) | 
| 255 | 255 | ); |