@@ -123,7 +123,7 @@ discard block |
||
| 123 | 123 | $revTable = $lh->getTable('revision', $project->getDatabaseName()); |
| 124 | 124 | $pageTable = $lh->getTable('page', $project->getDatabaseName()); |
| 125 | 125 | |
| 126 | - $AEBTypes = array_map(function ($AEBType) { |
|
| 126 | + $AEBTypes = array_map(function($AEBType) { |
|
| 127 | 127 | return $AEBType['regex']; |
| 128 | 128 | }, $this->container->getParameter('automated_tools')); |
| 129 | 129 | |
@@ -148,12 +148,12 @@ discard block |
||
| 148 | 148 | } |
| 149 | 149 | |
| 150 | 150 | // Get diff sizes, based on length of each parent revision |
| 151 | - $parentRevIds = array_map(function ($edit) { |
|
| 151 | + $parentRevIds = array_map(function($edit) { |
|
| 152 | 152 | return $edit['rev_parent_id']; |
| 153 | 153 | }, $editData); |
| 154 | 154 | $query = "SELECT rev_len, rev_id |
| 155 | 155 | FROM revision |
| 156 | - WHERE rev_id IN (" . implode(',', $parentRevIds) . ")"; |
|
| 156 | + WHERE rev_id IN (" . implode(',', $parentRevIds).")"; |
|
| 157 | 157 | $diffSizeData = $conn->executeQuery($query)->fetchAll(); |
| 158 | 158 | |
| 159 | 159 | // reformat with rev_id as the key, rev_len as the value |
@@ -163,24 +163,24 @@ discard block |
||
| 163 | 163 | } |
| 164 | 164 | |
| 165 | 165 | // Build our array of nonautomated edits |
| 166 | - $editData = array_map(function ($edit) use ($namespaces, $diffSizes) { |
|
| 166 | + $editData = array_map(function($edit) use ($namespaces, $diffSizes) { |
|
| 167 | 167 | $pageTitle = $edit['page_title']; |
| 168 | 168 | |
| 169 | 169 | if ($edit['page_namespace'] !== '0') { |
| 170 | - $pageTitle = $namespaces[$edit['page_namespace']] . ":$pageTitle"; |
|
| 170 | + $pageTitle = $namespaces[$edit['page_namespace']].":$pageTitle"; |
|
| 171 | 171 | } |
| 172 | 172 | |
| 173 | 173 | $diffSize = $edit['rev_len']; |
| 174 | 174 | if ($edit['rev_parent_id'] > 0) { |
| 175 | - $diffSize = $edit['rev_len'] - $diffSizes[$edit['rev_parent_id']]; |
|
| 175 | + $diffSize = $edit['rev_len']-$diffSizes[$edit['rev_parent_id']]; |
|
| 176 | 176 | } |
| 177 | 177 | |
| 178 | 178 | return [ |
| 179 | 179 | 'page_title' => $pageTitle, |
| 180 | - 'namespace' => (int) $edit['page_namespace'], |
|
| 181 | - 'rev_id' => (int) $edit['rev_id'], |
|
| 180 | + 'namespace' => (int)$edit['page_namespace'], |
|
| 181 | + 'rev_id' => (int)$edit['rev_id'], |
|
| 182 | 182 | 'timestamp' => DateTime::createFromFormat('YmdHis', $edit['rev_timestamp']), |
| 183 | - 'minor_edit' => (bool) $edit['rev_minor_edit'], |
|
| 183 | + 'minor_edit' => (bool)$edit['rev_minor_edit'], |
|
| 184 | 184 | 'summary' => $edit['rev_comment'], |
| 185 | 185 | 'size' => $diffSize |
| 186 | 186 | ]; |
@@ -154,7 +154,7 @@ discard block |
||
| 154 | 154 | $archiveTable = $lh->getTable('archive', $dbName); |
| 155 | 155 | |
| 156 | 156 | $condBegin = $start ? " AND rev_timestamp > :start " : null; |
| 157 | - $condEnd = $end ? " AND rev_timestamp < :end ": null; |
|
| 157 | + $condEnd = $end ? " AND rev_timestamp < :end " : null; |
|
| 158 | 158 | |
| 159 | 159 | $regexes = []; |
| 160 | 160 | |
@@ -248,8 +248,8 @@ discard block |
||
| 248 | 248 | } |
| 249 | 249 | |
| 250 | 250 | // Sort the array and do some simple math. |
| 251 | - uasort($results, function ($a, $b) { |
|
| 252 | - return $b['count'] - $a['count']; |
|
| 251 | + uasort($results, function($a, $b) { |
|
| 252 | + return $b['count']-$a['count']; |
|
| 253 | 253 | }); |
| 254 | 254 | |
| 255 | 255 | if ($total != 0) { |
@@ -19,7 +19,7 @@ discard block |
||
| 19 | 19 | public function getRevisionCounts(Project $project, User $user) |
| 20 | 20 | { |
| 21 | 21 | // Set up cache. |
| 22 | - $cacheKey = 'revisioncounts.' . $project->getDatabaseName() . '.' . $user->getUsername(); |
|
| 22 | + $cacheKey = 'revisioncounts.'.$project->getDatabaseName().'.'.$user->getUsername(); |
|
| 23 | 23 | if ($this->cache->hasItem($cacheKey)) { |
| 24 | 24 | return $this->cache->getItem($cacheKey)->get(); |
| 25 | 25 | } |
@@ -80,7 +80,7 @@ discard block |
||
| 80 | 80 | public function getRevisionDates(Project $project, User $user) |
| 81 | 81 | { |
| 82 | 82 | // Set up cache. |
| 83 | - $cacheKey = 'revisiondates.' . $project->getDatabaseName() . '.' . $user->getUsername(); |
|
| 83 | + $cacheKey = 'revisiondates.'.$project->getDatabaseName().'.'.$user->getUsername(); |
|
| 84 | 84 | if ($this->cache->hasItem($cacheKey)) { |
| 85 | 85 | return $this->cache->getItem($cacheKey)->get(); |
| 86 | 86 | } |
@@ -152,10 +152,10 @@ discard block |
||
| 152 | 152 | $results = $resultQuery->fetchAll(); |
| 153 | 153 | |
| 154 | 154 | $pageCounts = array_combine( |
| 155 | - array_map(function ($e) { |
|
| 155 | + array_map(function($e) { |
|
| 156 | 156 | return $e['source']; |
| 157 | 157 | }, $results), |
| 158 | - array_map(function ($e) { |
|
| 158 | + array_map(function($e) { |
|
| 159 | 159 | return $e['value']; |
| 160 | 160 | }, $results) |
| 161 | 161 | ); |
@@ -186,7 +186,7 @@ discard block |
||
| 186 | 186 | |
| 187 | 187 | // Query. |
| 188 | 188 | $sql = "SELECT CONCAT(log_type, '-', log_action) AS source, COUNT(log_id) AS value |
| 189 | - FROM " . $this->getTableName($project->getDatabaseName(), 'logging') . " |
|
| 189 | + FROM " . $this->getTableName($project->getDatabaseName(), 'logging')." |
|
| 190 | 190 | WHERE log_user = :userId |
| 191 | 191 | GROUP BY log_type, log_action"; |
| 192 | 192 | $resultQuery = $this->getProjectsConnection()->prepare($sql); |
@@ -195,10 +195,10 @@ discard block |
||
| 195 | 195 | $resultQuery->execute(); |
| 196 | 196 | $results = $resultQuery->fetchAll(); |
| 197 | 197 | $logCounts = array_combine( |
| 198 | - array_map(function ($e) { |
|
| 198 | + array_map(function($e) { |
|
| 199 | 199 | return $e['source']; |
| 200 | 200 | }, $results), |
| 201 | - array_map(function ($e) { |
|
| 201 | + array_map(function($e) { |
|
| 202 | 202 | return $e['value']; |
| 203 | 203 | }, $results) |
| 204 | 204 | ); |
@@ -355,9 +355,9 @@ discard block |
||
| 355 | 355 | $resultQuery->bindParam(":id", $userId); |
| 356 | 356 | $resultQuery->execute(); |
| 357 | 357 | $results = $resultQuery->fetchAll(); |
| 358 | - $namespaceTotals = array_combine(array_map(function ($e) { |
|
| 358 | + $namespaceTotals = array_combine(array_map(function($e) { |
|
| 359 | 359 | return $e['page_namespace']; |
| 360 | - }, $results), array_map(function ($e) { |
|
| 360 | + }, $results), array_map(function($e) { |
|
| 361 | 361 | return $e['total']; |
| 362 | 362 | }, $results)); |
| 363 | 363 | |
@@ -66,12 +66,12 @@ discard block |
||
| 66 | 66 | throw new Exception("Unable to find project '$projectName'"); |
| 67 | 67 | } |
| 68 | 68 | |
| 69 | - $cacheKey = "siteinfo." . $project->getDatabaseName(); |
|
| 69 | + $cacheKey = "siteinfo.".$project->getDatabaseName(); |
|
| 70 | 70 | if ($this->cacheHas($cacheKey)) { |
| 71 | 71 | return $this->cacheGet($cacheKey); |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | - $params = [ 'meta'=>'siteinfo', 'siprop'=>'general|namespaces' ]; |
|
| 74 | + $params = ['meta'=>'siteinfo', 'siprop'=>'general|namespaces']; |
|
| 75 | 75 | $query = new SimpleRequest('query', $params); |
| 76 | 76 | |
| 77 | 77 | $result = [ |
@@ -135,7 +135,7 @@ discard block |
||
| 135 | 135 | public function groups($project, $username) |
| 136 | 136 | { |
| 137 | 137 | $this->setUp($project); |
| 138 | - $params = [ "list"=>"users", "ususers"=>$username, "usprop"=>"groups" ]; |
|
| 138 | + $params = ["list"=>"users", "ususers"=>$username, "usprop"=>"groups"]; |
|
| 139 | 139 | $query = new SimpleRequest('query', $params); |
| 140 | 140 | $result = []; |
| 141 | 141 | |
@@ -154,7 +154,7 @@ discard block |
||
| 154 | 154 | public function globalGroups($project, $username) |
| 155 | 155 | { |
| 156 | 156 | $this->setUp($project); |
| 157 | - $params = [ "meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups" ]; |
|
| 157 | + $params = ["meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups"]; |
|
| 158 | 158 | $query = new SimpleRequest('query', $params); |
| 159 | 159 | $result = []; |
| 160 | 160 | |
@@ -202,7 +202,7 @@ discard block |
||
| 202 | 202 | $groups[] = "B"; |
| 203 | 203 | } |
| 204 | 204 | if (in_array("steward", $admin["groups"])) { |
| 205 | - $groups[] = "S" ; |
|
| 205 | + $groups[] = "S"; |
|
| 206 | 206 | } |
| 207 | 207 | if (in_array("checkuser", $admin["groups"])) { |
| 208 | 208 | $groups[] = "CU"; |
@@ -213,7 +213,7 @@ discard block |
||
| 213 | 213 | if (in_array("bot", $admin["groups"])) { |
| 214 | 214 | $groups[] = "Bot"; |
| 215 | 215 | } |
| 216 | - $result[ $admin["name"] ] = [ |
|
| 216 | + $result[$admin["name"]] = [ |
|
| 217 | 217 | "groups" => implode('/', $groups) |
| 218 | 218 | ]; |
| 219 | 219 | } |
@@ -288,7 +288,7 @@ discard block |
||
| 288 | 288 | $normalized = []; |
| 289 | 289 | if (isset($result['query']['normalized'])) { |
| 290 | 290 | array_map( |
| 291 | - function ($e) use (&$normalized) { |
|
| 291 | + function($e) use (&$normalized) { |
|
| 292 | 292 | $normalized[$e['to']] = $e['from']; |
| 293 | 293 | }, |
| 294 | 294 | $result['query']['normalized'] |
@@ -334,7 +334,7 @@ discard block |
||
| 334 | 334 | ]; |
| 335 | 335 | |
| 336 | 336 | // get assessments for this page from the API |
| 337 | - $assessments = $this->massApi($params, $project, function ($data) { |
|
| 337 | + $assessments = $this->massApi($params, $project, function($data) { |
|
| 338 | 338 | return isset($data['pages'][0]['pageassessments']) ? $data['pages'][0]['pageassessments'] : []; |
| 339 | 339 | }, 'pacontinue')['pages']; |
| 340 | 340 | |
@@ -358,7 +358,7 @@ discard block |
||
| 358 | 358 | $classAttrs = $config['class']['Unknown']; |
| 359 | 359 | $assessment['class']['value'] = '???'; |
| 360 | 360 | $assessment['class']['category'] = $classAttrs['category']; |
| 361 | - $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/". $classAttrs['badge']; |
|
| 361 | + $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/".$classAttrs['badge']; |
|
| 362 | 362 | } else { |
| 363 | 363 | $classAttrs = $config['class'][$classValue]; |
| 364 | 364 | $assessment['class'] = [ |
@@ -369,7 +369,7 @@ discard block |
||
| 369 | 369 | |
| 370 | 370 | // add full URL to badge icon |
| 371 | 371 | if ($classAttrs['badge'] !== '') { |
| 372 | - $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/" . |
|
| 372 | + $assessment['class']['badge'] = "https://upload.wikimedia.org/wikipedia/commons/". |
|
| 373 | 373 | $classAttrs['badge']; |
| 374 | 374 | } |
| 375 | 375 | |
@@ -418,9 +418,9 @@ discard block |
||
| 418 | 418 | $config = $this->getAssessmentsConfig(); |
| 419 | 419 | |
| 420 | 420 | if (isset($config[$project]['class'][$class])) { |
| 421 | - return "https://upload.wikimedia.org/wikipedia/commons/" . $config[$project]['class'][$class]['badge']; |
|
| 421 | + return "https://upload.wikimedia.org/wikipedia/commons/".$config[$project]['class'][$class]['badge']; |
|
| 422 | 422 | } elseif (isset($config[$project]['class']['Unknown'])) { |
| 423 | - return "https://upload.wikimedia.org/wikipedia/commons/" . $config[$project]['class']['Unknown']['badge']; |
|
| 423 | + return "https://upload.wikimedia.org/wikipedia/commons/".$config[$project]['class']['Unknown']['badge']; |
|
| 424 | 424 | } else { |
| 425 | 425 | return ""; |
| 426 | 426 | } |
@@ -513,7 +513,7 @@ discard block |
||
| 513 | 513 | $query = FluentRequest::factory()->setAction('query')->setParams($requestData); |
| 514 | 514 | $innerPromise = $this->api->getRequestAsync($query); |
| 515 | 515 | |
| 516 | - $innerPromise->then(function ($result) use (&$data) { |
|
| 516 | + $innerPromise->then(function($result) use (&$data) { |
|
| 517 | 517 | // some failures come back as 200s, so we still resolve and let the outer function handle it |
| 518 | 518 | if (isset($result['error']) || !isset($result['query'])) { |
| 519 | 519 | return $data['promise']->resolve($data); |
@@ -46,11 +46,11 @@ discard block |
||
| 46 | 46 | $this->page = $page; |
| 47 | 47 | |
| 48 | 48 | // Copy over supported attributes |
| 49 | - $this->id = (int) $attrs['id']; |
|
| 49 | + $this->id = (int)$attrs['id']; |
|
| 50 | 50 | $this->timestamp = DateTime::createFromFormat('YmdHis', $attrs['timestamp']); |
| 51 | 51 | $this->minor = $attrs['minor'] === '1'; |
| 52 | - $this->length = (int) $attrs['length']; |
|
| 53 | - $this->length_change = (int) $attrs['length_change']; |
|
| 52 | + $this->length = (int)$attrs['length']; |
|
| 53 | + $this->length_change = (int)$attrs['length_change']; |
|
| 54 | 54 | $this->user = new User($attrs['username']); |
| 55 | 55 | $this->comment = $attrs['comment']; |
| 56 | 56 | } |
@@ -179,8 +179,8 @@ discard block |
||
| 179 | 179 | public function getDiffUrl() |
| 180 | 180 | { |
| 181 | 181 | $project = $this->getProject(); |
| 182 | - $path = str_replace('$1', 'Special:Diff/' . $this->id, $project->getArticlePath()); |
|
| 183 | - return rtrim($project->getUrl(), '/') . $path; |
|
| 182 | + $path = str_replace('$1', 'Special:Diff/'.$this->id, $project->getArticlePath()); |
|
| 183 | + return rtrim($project->getUrl(), '/').$path; |
|
| 184 | 184 | } |
| 185 | 185 | |
| 186 | 186 | /** |
@@ -190,8 +190,8 @@ discard block |
||
| 190 | 190 | public function getPermaUrl() |
| 191 | 191 | { |
| 192 | 192 | $project = $this->getProject(); |
| 193 | - $path = str_replace('$1', 'Special:PermaLink/' . $this->id, $project->getArticlePath()); |
|
| 194 | - return rtrim($project->getUrl(), '/') . $path; |
|
| 193 | + $path = str_replace('$1', 'Special:PermaLink/'.$this->id, $project->getArticlePath()); |
|
| 194 | + return rtrim($project->getUrl(), '/').$path; |
|
| 195 | 195 | } |
| 196 | 196 | |
| 197 | 197 | /** |
@@ -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 |
@@ -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. |
@@ -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', [ |
@@ -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 | /** |