@@ -2,11 +2,9 @@ |
||
2 | 2 | |
3 | 3 | namespace AppBundle\Helper; |
4 | 4 | |
5 | -use DateInterval; |
|
6 | 5 | use Mediawiki\Api\MediawikiApi; |
7 | 6 | use Mediawiki\Api\SimpleRequest; |
8 | 7 | use Mediawiki\Api\FluentRequest; |
9 | -use Psr\Cache\CacheItemPoolInterface; |
|
10 | 8 | use Symfony\Component\Config\Definition\Exception\Exception; |
11 | 9 | use Symfony\Component\DependencyInjection\ContainerInterface; |
12 | 10 |
@@ -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 | ); |