@@ -12,7 +12,7 @@ |
||
| 12 | 12 | // Feel free to remove this, extend it, or make something more sophisticated. |
| 13 | 13 | if (isset($_SERVER['HTTP_CLIENT_IP']) |
| 14 | 14 | || isset($_SERVER['HTTP_X_FORWARDED_FOR']) |
| 15 | - || !( in_array(@$_SERVER['REMOTE_ADDR'], [ '127.0.0.1', 'fe80::1', '::1' ]) || php_sapi_name() === 'cli-server' ) |
|
| 15 | + || !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', 'fe80::1', '::1']) || php_sapi_name() === 'cli-server') |
|
| 16 | 16 | ) { |
| 17 | 17 | header('HTTP/1.0 403 Forbidden'); |
| 18 | 18 | exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); |
@@ -15,11 +15,11 @@ |
||
| 15 | 15 | $data = json_decode($file, true); |
| 16 | 16 | |
| 17 | 17 | // Output the contents to the piped file |
| 18 | -print ( "parameters: |
|
| 18 | +print ("parameters: |
|
| 19 | 19 | automated_tools:\r\n" ); |
| 20 | 20 | foreach ($data as $row) { |
| 21 | - print " - " . $row["name"] . ": '" . $row["regex"] . "'\r\n"; |
|
| 21 | + print " - ".$row["name"].": '".$row["regex"]."'\r\n"; |
|
| 22 | 22 | } |
| 23 | -print ( " |
|
| 23 | +print (" |
|
| 24 | 24 | |
| 25 | - semi-automated edits source: $url" ); |
|
| 25 | + semi-automated edits source: $url"); |
|
@@ -164,7 +164,7 @@ |
||
| 164 | 164 | private function getRevCount() |
| 165 | 165 | { |
| 166 | 166 | $query = "SELECT COUNT(*) AS count FROM " . $this->revisionTable |
| 167 | - . " WHERE rev_page = '" . $this->pageInfo['id'] . "'"; |
|
| 167 | + . " WHERE rev_page = '" . $this->pageInfo['id'] . "'"; |
|
| 168 | 168 | $res = $this->conn->query($query)->fetchAll(); |
| 169 | 169 | return $res[0]['count']; |
| 170 | 170 | } |
@@ -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 | return $this->render('articleInfo/index.html.twig', [ |
@@ -119,7 +119,7 @@ discard block |
||
| 119 | 119 | 'url' => $basicInfo['fullurl'] |
| 120 | 120 | ]; |
| 121 | 121 | |
| 122 | - $this->pageInfo['watchers'] = ( isset($basicInfo['watchers']) ) ? $basicInfo['watchers'] : "< 30"; |
|
| 122 | + $this->pageInfo['watchers'] = (isset($basicInfo['watchers'])) ? $basicInfo['watchers'] : "< 30"; |
|
| 123 | 123 | |
| 124 | 124 | $pageProps = isset($basicInfo['pageprops']) ? $basicInfo['pageprops'] : []; |
| 125 | 125 | |
@@ -141,7 +141,7 @@ discard block |
||
| 141 | 141 | $this->pageHistory = $page->getRevisions(); |
| 142 | 142 | $this->pageInfo['firstEdit'] = new Edit($this->pageInfo['page'], $this->pageHistory[0]); |
| 143 | 143 | $this->pageInfo['lastEdit'] = new Edit( |
| 144 | - $this->pageInfo['page'], $this->pageHistory[$page->getNumRevisions() - 1] |
|
| 144 | + $this->pageInfo['page'], $this->pageHistory[$page->getNumRevisions()-1] |
|
| 145 | 145 | ); |
| 146 | 146 | |
| 147 | 147 | // NOTE: bots are fetched first in case we want to restrict some stats to humans editors only |
@@ -185,8 +185,8 @@ discard block |
||
| 185 | 185 | */ |
| 186 | 186 | private function getRevCount() |
| 187 | 187 | { |
| 188 | - $query = "SELECT COUNT(*) AS count FROM " . $this->revisionTable |
|
| 189 | - . " WHERE rev_page = '" . $this->pageInfo['id'] . "'"; |
|
| 188 | + $query = "SELECT COUNT(*) AS count FROM ".$this->revisionTable |
|
| 189 | + . " WHERE rev_page = '".$this->pageInfo['id']."'"; |
|
| 190 | 190 | $res = $this->conn->query($query)->fetchAll(); |
| 191 | 191 | return $res[0]['count']; |
| 192 | 192 | } |
@@ -218,7 +218,7 @@ discard block |
||
| 218 | 218 | FROM $this->revisionTable |
| 219 | 219 | LEFT JOIN $userGroupsTable ON rev_user = ug_user |
| 220 | 220 | LEFT JOIN $userFromerGroupsTable ON rev_user = ufg_user |
| 221 | - WHERE rev_page = " . $this->pageInfo['id'] . " AND (ug_group = 'bot' OR ufg_group = 'bot') |
|
| 221 | + WHERE rev_page = ".$this->pageInfo['id']." AND (ug_group = 'bot' OR ufg_group = 'bot') |
|
| 222 | 222 | GROUP BY rev_user_text"; |
| 223 | 223 | $res = $this->conn->query($query)->fetchAll(); |
| 224 | 224 | |
@@ -227,14 +227,14 @@ discard block |
||
| 227 | 227 | $sum = 0; |
| 228 | 228 | foreach ($res as $bot) { |
| 229 | 229 | $bots[$bot['username']] = [ |
| 230 | - 'count' => (int) $bot['count'], |
|
| 230 | + 'count' => (int)$bot['count'], |
|
| 231 | 231 | 'current' => $bot['current'] === 'bot' |
| 232 | 232 | ]; |
| 233 | 233 | $sum += $bot['count']; |
| 234 | 234 | } |
| 235 | 235 | |
| 236 | - uasort($bots, function ($a, $b) { |
|
| 237 | - return $b['count'] - $a['count']; |
|
| 236 | + uasort($bots, function($a, $b) { |
|
| 237 | + return $b['count']-$a['count']; |
|
| 238 | 238 | }); |
| 239 | 239 | |
| 240 | 240 | $this->pageInfo['general']['bot_revision_count'] = $sum; |
@@ -282,10 +282,10 @@ discard block |
||
| 282 | 282 | |
| 283 | 283 | if ($info['all'] > 1) { |
| 284 | 284 | // Number of seconds between first and last edit |
| 285 | - $secs = intval(strtotime($info['last']) - strtotime($info['first']) / $info['all']); |
|
| 285 | + $secs = intval(strtotime($info['last'])-strtotime($info['first']) / $info['all']); |
|
| 286 | 286 | |
| 287 | 287 | // Average time between edits (in days) |
| 288 | - $this->pageInfo['editors'][$editor]['atbe'] = $secs / ( 60 * 60 * 24 ); |
|
| 288 | + $this->pageInfo['editors'][$editor]['atbe'] = $secs / (60 * 60 * 24); |
|
| 289 | 289 | } |
| 290 | 290 | |
| 291 | 291 | if (count($info['sizes'])) { |
@@ -300,7 +300,7 @@ discard block |
||
| 300 | 300 | |
| 301 | 301 | // First sort editors array by the amount of text they added |
| 302 | 302 | $topTenEditorsByAdded = $this->pageInfo['editors']; |
| 303 | - uasort($topTenEditorsByAdded, function ($a, $b) { |
|
| 303 | + uasort($topTenEditorsByAdded, function($a, $b) { |
|
| 304 | 304 | if ($a['added'] === $b['added']) { |
| 305 | 305 | return 0; |
| 306 | 306 | } |
@@ -309,7 +309,7 @@ discard block |
||
| 309 | 309 | |
| 310 | 310 | // Then build a new array of top 10 editors by added text, |
| 311 | 311 | // in the data structure needed for the chart |
| 312 | - $this->pageInfo['topTenEditorsByAdded'] = array_map(function ($editor) { |
|
| 312 | + $this->pageInfo['topTenEditorsByAdded'] = array_map(function($editor) { |
|
| 313 | 313 | $added = $this->pageInfo['editors'][$editor]['added']; |
| 314 | 314 | return [ |
| 315 | 315 | 'label' => $editor, |
@@ -355,7 +355,7 @@ discard block |
||
| 355 | 355 | |
| 356 | 356 | // Transform to associative array by 'type' |
| 357 | 357 | foreach ($res as $row) { |
| 358 | - $data[$row['type'] . '_count'] = $row['value']; |
|
| 358 | + $data[$row['type'].'_count'] = $row['value']; |
|
| 359 | 359 | } |
| 360 | 360 | |
| 361 | 361 | return $data; |
@@ -371,7 +371,7 @@ discard block |
||
| 371 | 371 | $title = str_replace(' ', '_', $this->pageInfo['title']); |
| 372 | 372 | $query = "SELECT log_action, log_type, log_timestamp AS timestamp |
| 373 | 373 | FROM $loggingTable |
| 374 | - WHERE log_namespace = '" . $this->pageInfo['namespace'] . "' |
|
| 374 | + WHERE log_namespace = '".$this->pageInfo['namespace']."' |
|
| 375 | 375 | AND log_title = '$title' AND log_timestamp > 1 |
| 376 | 376 | AND log_type IN ('delete', 'move', 'protect', 'stable')"; |
| 377 | 377 | $events = $this->conn->query($query)->fetchAll(); |
@@ -456,7 +456,7 @@ discard block |
||
| 456 | 456 | $conn = $this->container->get('doctrine')->getManager('replicas')->getConnection(); |
| 457 | 457 | $res = $conn->query($query)->fetchAll(); |
| 458 | 458 | |
| 459 | - $terms = array_map(function ($entry) { |
|
| 459 | + $terms = array_map(function($entry) { |
|
| 460 | 460 | return $entry['term']; |
| 461 | 461 | }, $res); |
| 462 | 462 | |
@@ -467,7 +467,7 @@ discard block |
||
| 467 | 467 | 'prio' => 2, |
| 468 | 468 | 'name' => 'Wikidata', |
| 469 | 469 | 'notice' => "Label 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:Label'>Help:Label</a>", |
| 472 | 472 | ]; |
| 473 | 473 | } |
@@ -476,7 +476,7 @@ discard block |
||
| 476 | 476 | 'prio' => 3, |
| 477 | 477 | 'name' => 'Wikidata', |
| 478 | 478 | 'notice' => "Description for language <em>$lang</em> is missing", // FIXME: i18n |
| 479 | - 'explanation' => "See: <a target='_blank' " . |
|
| 479 | + 'explanation' => "See: <a target='_blank' ". |
|
| 480 | 480 | "href='//www.wikidata.org/wiki/Help:Description'>Help:Description</a>", |
| 481 | 481 | ]; |
| 482 | 482 | } |
@@ -497,14 +497,14 @@ discard block |
||
| 497 | 497 | return $rev['length']; |
| 498 | 498 | } |
| 499 | 499 | |
| 500 | - $lastRev = $this->pageHistory[$revIndex - 1]; |
|
| 500 | + $lastRev = $this->pageHistory[$revIndex-1]; |
|
| 501 | 501 | |
| 502 | 502 | // TODO: Remove once T101631 is resolved |
| 503 | 503 | // Treat as zero change in size if length of previous edit is missing |
| 504 | 504 | if ($lastRev['length'] === null) { |
| 505 | 505 | return 0; |
| 506 | 506 | } else { |
| 507 | - return $rev['length'] - $lastRev['length']; |
|
| 507 | + return $rev['length']-$lastRev['length']; |
|
| 508 | 508 | } |
| 509 | 509 | } |
| 510 | 510 | |
@@ -524,10 +524,10 @@ discard block |
||
| 524 | 524 | |
| 525 | 525 | // Get UNIX timestamp of the first day of the month of the first edit |
| 526 | 526 | // This is used as a comparison when building our array of per-month stats |
| 527 | - $firstEditMonth = mktime(0, 0, 0, (int) $firstEdit->getMonth(), 1, $firstEdit->getYear()); |
|
| 527 | + $firstEditMonth = mktime(0, 0, 0, (int)$firstEdit->getMonth(), 1, $firstEdit->getYear()); |
|
| 528 | 528 | |
| 529 | 529 | $lastEdit = $this->pageInfo['lastEdit']; |
| 530 | - $secondLastEdit = $revisionCount === 1 ? $lastEdit : $this->pageHistory[ $revisionCount - 2 ]; |
|
| 530 | + $secondLastEdit = $revisionCount === 1 ? $lastEdit : $this->pageHistory[$revisionCount-2]; |
|
| 531 | 531 | |
| 532 | 532 | // Now we can start our master array. This one will be HUGE! |
| 533 | 533 | $data = [ |
@@ -608,7 +608,7 @@ discard block |
||
| 608 | 608 | // Increment year and month counts for all edits |
| 609 | 609 | $data['year_count'][$edit->getYear()]['all']++; |
| 610 | 610 | $data['year_count'][$edit->getYear()]['months'][$edit->getMonth()]['all']++; |
| 611 | - $data['year_count'][$edit->getYear()]['size'] = (int) $rev['length']; |
|
| 611 | + $data['year_count'][$edit->getYear()]['size'] = (int)$rev['length']; |
|
| 612 | 612 | |
| 613 | 613 | $editsThisMonth = $data['year_count'][$edit->getYear()]['months'][$edit->getMonth()]['all']; |
| 614 | 614 | if ($editsThisMonth > $data['max_edits_per_month']) { |
@@ -652,9 +652,9 @@ discard block |
||
| 652 | 652 | } |
| 653 | 653 | |
| 654 | 654 | // determine if the next revision was a revert |
| 655 | - $nextRevision = isset($this->pageHistory[$i + 1]) ? $this->pageHistory[$i + 1] : null; |
|
| 655 | + $nextRevision = isset($this->pageHistory[$i+1]) ? $this->pageHistory[$i+1] : null; |
|
| 656 | 656 | $nextRevisionIsRevert = $nextRevision && |
| 657 | - $this->getDiffSize($i + 1) === -$edit->getSize() && |
|
| 657 | + $this->getDiffSize($i+1) === -$edit->getSize() && |
|
| 658 | 658 | $this->aeh->isRevert($nextRevision['comment']); |
| 659 | 659 | |
| 660 | 660 | // don't count this edit as content removal if the next edit reverted it |
@@ -12,8 +12,8 @@ discard block |
||
| 12 | 12 | $title = str_replace(' ', '_', $title); |
| 13 | 13 | $client = new GuzzleHttp\Client(); |
| 14 | 14 | |
| 15 | - $url = 'https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/' . |
|
| 16 | - "$project/all-access/user/" . rawurlencode($title) . '/daily/' . $start . '/' . $end; |
|
| 15 | + $url = 'https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/'. |
|
| 16 | + "$project/all-access/user/".rawurlencode($title).'/daily/'.$start.'/'.$end; |
|
| 17 | 17 | |
| 18 | 18 | $res = $client->request('GET', $url); |
| 19 | 19 | return json_decode($res->getBody()->getContents()); |
@@ -32,7 +32,7 @@ discard block |
||
| 32 | 32 | $data = $this->getLastDays($project, $title, $days); |
| 33 | 33 | |
| 34 | 34 | // FIXME: needs to handle gotchas |
| 35 | - return array_sum(array_map(function ($item) { |
|
| 35 | + return array_sum(array_map(function($item) { |
|
| 36 | 36 | return $item->views; |
| 37 | 37 | }, $data->items)); |
| 38 | 38 | } |
@@ -45,7 +45,7 @@ |
||
| 45 | 45 | } |
| 46 | 46 | |
| 47 | 47 | // Find the path, and complain if English doesn't exist. |
| 48 | - $path = $this->container->getParameter("kernel.root_dir") . '/../i18n'; |
|
| 48 | + $path = $this->container->getParameter("kernel.root_dir").'/../i18n'; |
|
| 49 | 49 | if (!file_exists("$path/en.json")) { |
| 50 | 50 | throw new Exception("Language directory doesn't exist: $path"); |
| 51 | 51 | } |
@@ -176,7 +176,7 @@ |
||
| 176 | 176 | |
| 177 | 177 | // Iterate over query results, loading each user id into the array |
| 178 | 178 | while ($row = $res->fetch()) { |
| 179 | - $adminIdArr[] = $row["user_id"] ; |
|
| 179 | + $adminIdArr[] = $row["user_id"]; |
|
| 180 | 180 | } |
| 181 | 181 | |
| 182 | 182 | // Set the query results to be useful in a sql statement. |
@@ -111,7 +111,7 @@ discard block |
||
| 111 | 111 | 'quote/all.html.twig', |
| 112 | 112 | [ |
| 113 | 113 | 'base_dir' => realpath( |
| 114 | - $this->getParameter('kernel.root_dir') . '/..' |
|
| 114 | + $this->getParameter('kernel.root_dir').'/..' |
|
| 115 | 115 | ), |
| 116 | 116 | 'xtPage' => 'bash', |
| 117 | 117 | 'quotes' => $quotes, |
@@ -160,7 +160,7 @@ discard block |
||
| 160 | 160 | 'quote/view.html.twig', |
| 161 | 161 | [ |
| 162 | 162 | 'base_dir' => realpath( |
| 163 | - $this->getParameter('kernel.root_dir') . '/..' |
|
| 163 | + $this->getParameter('kernel.root_dir').'/..' |
|
| 164 | 164 | ), |
| 165 | 165 | "xtPage" => "bash", |
| 166 | 166 | "text" => $text, |
@@ -14,25 +14,25 @@ discard block |
||
| 14 | 14 | |
| 15 | 15 | public function intuitionMessage($message = "", $vars = []) |
| 16 | 16 | { |
| 17 | - return $this->getIntuition()->msg($message, [ "domain" => "xtools", "variables" => $vars ]); |
|
| 17 | + return $this->getIntuition()->msg($message, ["domain" => "xtools", "variables" => $vars]); |
|
| 18 | 18 | } |
| 19 | 19 | |
| 20 | 20 | /*********************************** FUNCTIONS ***********************************/ |
| 21 | 21 | |
| 22 | 22 | public function getFunctions() |
| 23 | 23 | { |
| 24 | - $options = [ 'is_safe' => [ 'html']]; |
|
| 24 | + $options = ['is_safe' => ['html']]; |
|
| 25 | 25 | return [ |
| 26 | - new Twig_SimpleFunction('wiki_link', [ $this, 'wikiLink' ], $options), |
|
| 27 | - new Twig_SimpleFunction('user_link', [ $this, 'userLink' ], $options), |
|
| 28 | - new Twig_SimpleFunction('user_log_link', [ $this, 'userLogLink' ], $options), |
|
| 29 | - new Twig_SimpleFunction('group_link', [ $this, 'groupLink' ], $options), |
|
| 30 | - new Twig_SimpleFunction('wiki_history_link', [ $this, 'wikiHistoryLink' ], $options), |
|
| 31 | - new Twig_SimpleFunction('wiki_log_link', [ $this, 'wikiLogLink' ], $options), |
|
| 32 | - new Twig_SimpleFunction('pageviews_links', [ $this, 'pageviewsLinks' ], $options), |
|
| 33 | - new Twig_SimpleFunction('diff_link', [ $this, 'diffLink' ], $options), |
|
| 34 | - new Twig_SimpleFunction('perma_link', [ $this, 'permaLink' ], $options), |
|
| 35 | - new Twig_SimpleFunction('edit_link', [ $this, 'editLink' ], $options), |
|
| 26 | + new Twig_SimpleFunction('wiki_link', [$this, 'wikiLink'], $options), |
|
| 27 | + new Twig_SimpleFunction('user_link', [$this, 'userLink'], $options), |
|
| 28 | + new Twig_SimpleFunction('user_log_link', [$this, 'userLogLink'], $options), |
|
| 29 | + new Twig_SimpleFunction('group_link', [$this, 'groupLink'], $options), |
|
| 30 | + new Twig_SimpleFunction('wiki_history_link', [$this, 'wikiHistoryLink'], $options), |
|
| 31 | + new Twig_SimpleFunction('wiki_log_link', [$this, 'wikiLogLink'], $options), |
|
| 32 | + new Twig_SimpleFunction('pageviews_links', [$this, 'pageviewsLinks'], $options), |
|
| 33 | + new Twig_SimpleFunction('diff_link', [$this, 'diffLink'], $options), |
|
| 34 | + new Twig_SimpleFunction('perma_link', [$this, 'permaLink'], $options), |
|
| 35 | + new Twig_SimpleFunction('edit_link', [$this, 'editLink'], $options), |
|
| 36 | 36 | ]; |
| 37 | 37 | } |
| 38 | 38 | |
@@ -244,8 +244,8 @@ discard block |
||
| 244 | 244 | public function getFilters() |
| 245 | 245 | { |
| 246 | 246 | return [ |
| 247 | - new \Twig_SimpleFilter('diff_format', [ $this, 'diffFormat' ], [ 'is_safe' => [ 'html' ] ]), |
|
| 248 | - new \Twig_SimpleFilter('wikify_comment', [ $this, 'wikifyComment' ], [ 'is_safe' => [ 'html' ] ]), |
|
| 247 | + new \Twig_SimpleFilter('diff_format', [$this, 'diffFormat'], ['is_safe' => ['html']]), |
|
| 248 | + new \Twig_SimpleFilter('wikify_comment', [$this, 'wikifyComment'], ['is_safe' => ['html']]), |
|
| 249 | 249 | ]; |
| 250 | 250 | } |
| 251 | 251 | |
@@ -284,7 +284,7 @@ discard block |
||
| 284 | 284 | if ($isSection) { |
| 285 | 285 | $sectionTitle = $sectionMatch[1][0]; |
| 286 | 286 | $sectionTitleLink = str_replace(' ', '_', $sectionTitle); |
| 287 | - $sectionWikitext = "<a target='_blank' href='$projectUrl/wiki/$title#$sectionTitleLink'>→</a>" . |
|
| 287 | + $sectionWikitext = "<a target='_blank' href='$projectUrl/wiki/$title#$sectionTitleLink'>→</a>". |
|
| 288 | 288 | "<em class='text-muted'>$sectionTitle:</em> "; |
| 289 | 289 | $wikitext = str_replace($sectionMatch[0][0], $sectionWikitext, $wikitext); |
| 290 | 290 | } |
@@ -60,7 +60,7 @@ discard block |
||
| 60 | 60 | |
| 61 | 61 | $this->stopwatch->start($cacheKey, 'XTools'); |
| 62 | 62 | $api = $this->getMediawikiApi($project); |
| 63 | - $params = [ "list"=>"users", "ususers"=>$username, "usprop"=>"groups" ]; |
|
| 63 | + $params = ["list"=>"users", "ususers"=>$username, "usprop"=>"groups"]; |
|
| 64 | 64 | $query = new SimpleRequest('query', $params); |
| 65 | 65 | $result = []; |
| 66 | 66 | $res = $api->getRequest($query); |
@@ -96,7 +96,7 @@ discard block |
||
| 96 | 96 | |
| 97 | 97 | // Create the API query. |
| 98 | 98 | $api = $this->getMediawikiApi($project); |
| 99 | - $params = [ "meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups" ]; |
|
| 99 | + $params = ["meta"=>"globaluserinfo", "guiuser"=>$username, "guiprop"=>"groups"]; |
|
| 100 | 100 | $query = new SimpleRequest('query', $params); |
| 101 | 101 | |
| 102 | 102 | // Get the result. |