@@ -15,7 +15,7 @@ discard block |
||
| 15 | 15 | * @param Project $project The project to which the page belongs. |
| 16 | 16 | * @param string $pageTitle Page title. |
| 17 | 17 | * @param boolean $followRedirects Whether or not to resolve redirects |
| 18 | - * @return string[] Array with some of the following keys: pageid, title, missing, displaytitle, |
|
| 18 | + * @return string|null Array with some of the following keys: pageid, title, missing, displaytitle, |
|
| 19 | 19 | * url. |
| 20 | 20 | */ |
| 21 | 21 | public function getPageInfo(Project $project, $pageTitle, $followRedirects = true) |
@@ -63,9 +63,8 @@ discard block |
||
| 63 | 63 | |
| 64 | 64 | /** |
| 65 | 65 | * Get revisions of a single page. |
| 66 | - * @param Project $project |
|
| 67 | 66 | * @param Page $page |
| 68 | - * @param User|null $user |
|
| 67 | + * @param User $user |
|
| 69 | 68 | * @return string[] Each member with keys: id, timestamp, length- |
| 70 | 69 | */ |
| 71 | 70 | public function getRevisions(Page $page, User $user) |
@@ -16,39 +16,39 @@ discard block |
||
| 16 | 16 | { |
| 17 | 17 | $options = ['is_safe' => ['html']]; |
| 18 | 18 | return [ |
| 19 | - new \Twig_SimpleFunction('request_time', [ $this, 'requestTime' ], $options), |
|
| 20 | - new \Twig_SimpleFunction('memory_usage', [ $this, 'requestMemory' ], $options), |
|
| 21 | - new \Twig_SimpleFunction('year', [ $this, 'generateYear' ], $options), |
|
| 22 | - new \Twig_SimpleFunction('msgPrintExists', [ $this, 'intuitionMessagePrintExists' ], $options), |
|
| 23 | - new \Twig_SimpleFunction('msgExists', [ $this, 'intuitionMessageExists' ], $options), |
|
| 24 | - new \Twig_SimpleFunction('msg', [ $this, 'intuitionMessage' ], $options), |
|
| 25 | - new \Twig_SimpleFunction('lang', [ $this, 'getLang' ], $options), |
|
| 26 | - new \Twig_SimpleFunction('langName', [ $this, 'getLangName' ], $options), |
|
| 27 | - new \Twig_SimpleFunction('allLangs', [ $this, 'getAllLangs' ]), |
|
| 28 | - new \Twig_SimpleFunction('isRTL', [ $this, 'intuitionIsRTL' ]), |
|
| 29 | - new \Twig_SimpleFunction('isRTLLang', [ $this, 'intuitionIsRTLLang' ]), |
|
| 30 | - new \Twig_SimpleFunction('shortHash', [ $this, 'gitShortHash' ]), |
|
| 31 | - new \Twig_SimpleFunction('hash', [ $this, 'gitHash' ]), |
|
| 32 | - new \Twig_SimpleFunction('enabled', [ $this, 'tabEnabled' ]), |
|
| 33 | - new \Twig_SimpleFunction('tools', [ $this, 'allTools' ]), |
|
| 34 | - new \Twig_SimpleFunction('color', [ $this, 'getColorList' ]), |
|
| 35 | - new \Twig_SimpleFunction('chartColor', [ $this, 'chartColor' ]), |
|
| 36 | - new \Twig_SimpleFunction('isWMFLabs', [ $this, 'isWMFLabs' ]), |
|
| 37 | - new \Twig_SimpleFunction('isSingleWiki', [ $this, 'isSingleWiki' ]), |
|
| 38 | - new \Twig_SimpleFunction('getReplagThreshold', [ $this, 'getReplagThreshold' ]), |
|
| 39 | - new \Twig_SimpleFunction('loadStylesheetsFromCDN', [ $this, 'loadStylesheetsFromCDN' ]), |
|
| 40 | - new \Twig_SimpleFunction('isWMFLabs', [ $this, 'isWMFLabs' ]), |
|
| 41 | - new \Twig_SimpleFunction('replag', [ $this, 'replag' ]), |
|
| 42 | - new \Twig_SimpleFunction('link', [ $this, 'link' ]), |
|
| 43 | - new \Twig_SimpleFunction('quote', [ $this, 'quote' ]), |
|
| 44 | - new \Twig_SimpleFunction('bugReportURL', [ $this, 'bugReportURL' ]), |
|
| 19 | + new \Twig_SimpleFunction('request_time', [$this, 'requestTime'], $options), |
|
| 20 | + new \Twig_SimpleFunction('memory_usage', [$this, 'requestMemory'], $options), |
|
| 21 | + new \Twig_SimpleFunction('year', [$this, 'generateYear'], $options), |
|
| 22 | + new \Twig_SimpleFunction('msgPrintExists', [$this, 'intuitionMessagePrintExists'], $options), |
|
| 23 | + new \Twig_SimpleFunction('msgExists', [$this, 'intuitionMessageExists'], $options), |
|
| 24 | + new \Twig_SimpleFunction('msg', [$this, 'intuitionMessage'], $options), |
|
| 25 | + new \Twig_SimpleFunction('lang', [$this, 'getLang'], $options), |
|
| 26 | + new \Twig_SimpleFunction('langName', [$this, 'getLangName'], $options), |
|
| 27 | + new \Twig_SimpleFunction('allLangs', [$this, 'getAllLangs']), |
|
| 28 | + new \Twig_SimpleFunction('isRTL', [$this, 'intuitionIsRTL']), |
|
| 29 | + new \Twig_SimpleFunction('isRTLLang', [$this, 'intuitionIsRTLLang']), |
|
| 30 | + new \Twig_SimpleFunction('shortHash', [$this, 'gitShortHash']), |
|
| 31 | + new \Twig_SimpleFunction('hash', [$this, 'gitHash']), |
|
| 32 | + new \Twig_SimpleFunction('enabled', [$this, 'tabEnabled']), |
|
| 33 | + new \Twig_SimpleFunction('tools', [$this, 'allTools']), |
|
| 34 | + new \Twig_SimpleFunction('color', [$this, 'getColorList']), |
|
| 35 | + new \Twig_SimpleFunction('chartColor', [$this, 'chartColor']), |
|
| 36 | + new \Twig_SimpleFunction('isWMFLabs', [$this, 'isWMFLabs']), |
|
| 37 | + new \Twig_SimpleFunction('isSingleWiki', [$this, 'isSingleWiki']), |
|
| 38 | + new \Twig_SimpleFunction('getReplagThreshold', [$this, 'getReplagThreshold']), |
|
| 39 | + new \Twig_SimpleFunction('loadStylesheetsFromCDN', [$this, 'loadStylesheetsFromCDN']), |
|
| 40 | + new \Twig_SimpleFunction('isWMFLabs', [$this, 'isWMFLabs']), |
|
| 41 | + new \Twig_SimpleFunction('replag', [$this, 'replag']), |
|
| 42 | + new \Twig_SimpleFunction('link', [$this, 'link']), |
|
| 43 | + new \Twig_SimpleFunction('quote', [$this, 'quote']), |
|
| 44 | + new \Twig_SimpleFunction('bugReportURL', [$this, 'bugReportURL']), |
|
| 45 | 45 | ]; |
| 46 | 46 | } |
| 47 | 47 | |
| 48 | 48 | public function requestTime($decimals = 3) |
| 49 | 49 | { |
| 50 | 50 | |
| 51 | - return number_format(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'], $decimals); |
|
| 51 | + return number_format(microtime(true)-$_SERVER['REQUEST_TIME_FLOAT'], $decimals); |
|
| 52 | 52 | } |
| 53 | 53 | |
| 54 | 54 | public function requestMemory() |
@@ -68,7 +68,7 @@ discard block |
||
| 68 | 68 | // TODO: refactor all intuition stuff so it can be used anywhere |
| 69 | 69 | public function intuitionMessageExists($message = "") |
| 70 | 70 | { |
| 71 | - return $this->getIntuition()->msgExists($message, [ "domain" => "xtools" ]); |
|
| 71 | + return $this->getIntuition()->msgExists($message, ["domain" => "xtools"]); |
|
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | public function intuitionMessagePrintExists($message = "", $vars = []) |
@@ -87,7 +87,7 @@ discard block |
||
| 87 | 87 | |
| 88 | 88 | public function intuitionMessage($message = "", $vars = []) |
| 89 | 89 | { |
| 90 | - return $this->getIntuition()->msg($message, [ "domain" => "xtools", "variables" => $vars ]); |
|
| 90 | + return $this->getIntuition()->msg($message, ["domain" => "xtools", "variables" => $vars]); |
|
| 91 | 91 | } |
| 92 | 92 | |
| 93 | 93 | public function getLang() |
@@ -108,10 +108,10 @@ discard block |
||
| 108 | 108 | */ |
| 109 | 109 | public function getAllLangs() |
| 110 | 110 | { |
| 111 | - $messageFiles = glob($this->container->getParameter("kernel.root_dir") . '/../i18n/*.json'); |
|
| 111 | + $messageFiles = glob($this->container->getParameter("kernel.root_dir").'/../i18n/*.json'); |
|
| 112 | 112 | |
| 113 | 113 | $languages = array_values(array_unique(array_map( |
| 114 | - function ($filename) { |
|
| 114 | + function($filename) { |
|
| 115 | 115 | return basename($filename, '.json'); |
| 116 | 116 | }, |
| 117 | 117 | $messageFiles |
@@ -168,41 +168,41 @@ discard block |
||
| 168 | 168 | public static function getColorList($num = false) |
| 169 | 169 | { |
| 170 | 170 | $colors = [ |
| 171 | - 0 => '#Cc0000',# '#FF005A', #red '#FF5555', |
|
| 171 | + 0 => '#Cc0000', # '#FF005A', #red '#FF5555', |
|
| 172 | 172 | 1 => '#F7b7b7', |
| 173 | - 2 => '#5c8d20',# '#008800', #green'#55FF55', |
|
| 173 | + 2 => '#5c8d20', # '#008800', #green'#55FF55', |
|
| 174 | 174 | 3 => '#85eD82', |
| 175 | 175 | 4 => '#2E97E0', # blue |
| 176 | 176 | 5 => '#B9E3F9', |
| 177 | - 6 => '#e1711d', # orange |
|
| 177 | + 6 => '#e1711d', # orange |
|
| 178 | 178 | 7 => '#ffc04c', |
| 179 | 179 | 8 => '#FDFF98', # yellow |
| 180 | 180 | 9 => '#5555FF', |
| 181 | 181 | 10 => '#55FFFF', |
| 182 | - 11 => '#0000C0', # |
|
| 183 | - 12 => '#008800', # green |
|
| 182 | + 11 => '#0000C0', # |
|
| 183 | + 12 => '#008800', # green |
|
| 184 | 184 | 13 => '#00C0C0', |
| 185 | - 14 => '#FFAFAF', # rosé |
|
| 186 | - 15 => '#808080', # gray |
|
| 185 | + 14 => '#FFAFAF', # rosé |
|
| 186 | + 15 => '#808080', # gray |
|
| 187 | 187 | 16 => '#00C000', |
| 188 | 188 | 17 => '#404040', |
| 189 | - 18 => '#C0C000', # green |
|
| 189 | + 18 => '#C0C000', # green |
|
| 190 | 190 | 19 => '#C000C0', |
| 191 | - 100 => '#75A3D1', # blue |
|
| 192 | - 101 => '#A679D2', # purple |
|
| 191 | + 100 => '#75A3D1', # blue |
|
| 192 | + 101 => '#A679D2', # purple |
|
| 193 | 193 | 102 => '#660000', |
| 194 | 194 | 103 => '#000066', |
| 195 | - 104 => '#FAFFAF', # caramel |
|
| 195 | + 104 => '#FAFFAF', # caramel |
|
| 196 | 196 | 105 => '#408345', |
| 197 | 197 | 106 => '#5c8d20', |
| 198 | - 107 => '#e1711d', # red |
|
| 199 | - 108 => '#94ef2b', # light green |
|
| 200 | - 109 => '#756a4a', # brown |
|
| 198 | + 107 => '#e1711d', # red |
|
| 199 | + 108 => '#94ef2b', # light green |
|
| 200 | + 109 => '#756a4a', # brown |
|
| 201 | 201 | 110 => '#6f1dab', |
| 202 | 202 | 111 => '#301e30', |
| 203 | 203 | 112 => '#5c9d96', |
| 204 | - 113 => '#a8cd8c', # earth green |
|
| 205 | - 114 => '#f2b3f1', # light purple |
|
| 204 | + 113 => '#a8cd8c', # earth green |
|
| 205 | + 114 => '#f2b3f1', # light purple |
|
| 206 | 206 | 115 => '#9b5828', |
| 207 | 207 | 118 => '#99FFFF', |
| 208 | 208 | 119 => '#99BBFF', |
@@ -223,8 +223,8 @@ discard block |
||
| 223 | 223 | 446 => '#06DCFB', |
| 224 | 224 | 447 => '#892EE4', |
| 225 | 225 | 460 => '#99FF66', |
| 226 | - 461 => '#99CC66', # green |
|
| 227 | - 470 => '#CCCC33', # ocker |
|
| 226 | + 461 => '#99CC66', # green |
|
| 227 | + 470 => '#CCCC33', # ocker |
|
| 228 | 228 | 471 => '#CCFF33', |
| 229 | 229 | 480 => '#6699FF', |
| 230 | 230 | 481 => '#66FFFF', |
@@ -239,18 +239,18 @@ discard block |
||
| 239 | 239 | 1198 => '#FF34B3', |
| 240 | 240 | 1199 => '#8B1C62', |
| 241 | 241 | |
| 242 | - '#61a9f3',# blue |
|
| 243 | - '#f381b9',# pink |
|
| 242 | + '#61a9f3', # blue |
|
| 243 | + '#f381b9', # pink |
|
| 244 | 244 | '#61E3A9', |
| 245 | 245 | '#D56DE2', |
| 246 | 246 | '#85eD82', |
| 247 | 247 | '#F7b7b7', |
| 248 | 248 | '#CFDF49', |
| 249 | 249 | '#88d8f2', |
| 250 | - '#07AF7B',# green |
|
| 250 | + '#07AF7B', # green |
|
| 251 | 251 | '#B9E3F9', |
| 252 | 252 | '#FFF3AD', |
| 253 | - '#EF606A',# red |
|
| 253 | + '#EF606A', # red |
|
| 254 | 254 | '#EC8833', |
| 255 | 255 | '#FFF100', |
| 256 | 256 | '#87C9A5', |
@@ -400,8 +400,8 @@ discard block |
||
| 400 | 400 | public function getFilters() |
| 401 | 401 | { |
| 402 | 402 | return [ |
| 403 | - new \Twig_SimpleFilter('capitalize_first', [ $this, 'capitalizeFirst' ]), |
|
| 404 | - new \Twig_SimpleFilter('percent_format', [ $this, 'percentFormat' ]), |
|
| 403 | + new \Twig_SimpleFilter('capitalize_first', [$this, 'capitalizeFirst']), |
|
| 404 | + new \Twig_SimpleFilter('percent_format', [$this, 'percentFormat']), |
|
| 405 | 405 | ]; |
| 406 | 406 | } |
| 407 | 407 | |
@@ -428,9 +428,9 @@ discard block |
||
| 428 | 428 | if (!$denominator) { |
| 429 | 429 | $quotient = $numerator; |
| 430 | 430 | } else { |
| 431 | - $quotient = ( $numerator / $denominator ) * 100; |
|
| 431 | + $quotient = ($numerator / $denominator) * 100; |
|
| 432 | 432 | } |
| 433 | 433 | |
| 434 | - return round($quotient, $precision) . '%'; |
|
| 434 | + return round($quotient, $precision).'%'; |
|
| 435 | 435 | } |
| 436 | 436 | } |
@@ -3,12 +3,7 @@ |
||
| 3 | 3 | namespace AppBundle\Helper; |
| 4 | 4 | |
| 5 | 5 | use DateTime; |
| 6 | -use Doctrine\DBAL\Connection; |
|
| 7 | -use Psr\Cache\CacheItemPoolInterface; |
|
| 8 | -use Symfony\Component\Config\Definition\Exception\Exception; |
|
| 9 | -use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; |
|
| 10 | 6 | use Symfony\Component\DependencyInjection\ContainerInterface; |
| 11 | -use Symfony\Component\VarDumper\VarDumper; |
|
| 12 | 7 | use Xtools\ProjectRepository; |
| 13 | 8 | |
| 14 | 9 | class AutomatedEditsHelper extends HelperBase |
@@ -139,12 +139,12 @@ discard block |
||
| 139 | 139 | $editData = $conn->executeQuery($query, ['username' => $username])->fetchAll(); |
| 140 | 140 | |
| 141 | 141 | // Get diff sizes, based on length of each parent revision |
| 142 | - $parentRevIds = array_map(function ($edit) { |
|
| 142 | + $parentRevIds = array_map(function($edit) { |
|
| 143 | 143 | return $edit['rev_parent_id']; |
| 144 | 144 | }, $editData); |
| 145 | 145 | $query = "SELECT rev_len, rev_id |
| 146 | 146 | FROM revision |
| 147 | - WHERE rev_id IN (" . implode(',', $parentRevIds) . ")"; |
|
| 147 | + WHERE rev_id IN (" . implode(',', $parentRevIds).")"; |
|
| 148 | 148 | $diffSizeData = $conn->executeQuery($query)->fetchAll(); |
| 149 | 149 | |
| 150 | 150 | // reformat with rev_id as the key, rev_len as the value |
@@ -154,24 +154,24 @@ discard block |
||
| 154 | 154 | } |
| 155 | 155 | |
| 156 | 156 | // Build our array of nonautomated edits |
| 157 | - $editData = array_map(function ($edit) use ($namespaces, $diffSizes) { |
|
| 157 | + $editData = array_map(function($edit) use ($namespaces, $diffSizes) { |
|
| 158 | 158 | $pageTitle = $edit['page_title']; |
| 159 | 159 | |
| 160 | 160 | if ($edit['page_namespace'] !== '0') { |
| 161 | - $pageTitle = $namespaces[$edit['page_namespace']] . ":$pageTitle"; |
|
| 161 | + $pageTitle = $namespaces[$edit['page_namespace']].":$pageTitle"; |
|
| 162 | 162 | } |
| 163 | 163 | |
| 164 | 164 | $diffSize = $edit['rev_len']; |
| 165 | 165 | if ($edit['rev_parent_id'] > 0) { |
| 166 | - $diffSize = $edit['rev_len'] - $diffSizes[$edit['rev_parent_id']]; |
|
| 166 | + $diffSize = $edit['rev_len']-$diffSizes[$edit['rev_parent_id']]; |
|
| 167 | 167 | } |
| 168 | 168 | |
| 169 | 169 | return [ |
| 170 | 170 | 'page_title' => $pageTitle, |
| 171 | - 'namespace' => (int) $edit['page_namespace'], |
|
| 172 | - 'rev_id' => (int) $edit['rev_id'], |
|
| 171 | + 'namespace' => (int)$edit['page_namespace'], |
|
| 172 | + 'rev_id' => (int)$edit['rev_id'], |
|
| 173 | 173 | 'timestamp' => DateTime::createFromFormat('YmdHis', $edit['rev_timestamp']), |
| 174 | - 'minor_edit' => (bool) $edit['rev_minor_edit'], |
|
| 174 | + 'minor_edit' => (bool)$edit['rev_minor_edit'], |
|
| 175 | 175 | 'summary' => $edit['rev_comment'], |
| 176 | 176 | 'size' => $diffSize |
| 177 | 177 | ]; |
@@ -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. |
@@ -3,7 +3,6 @@ |
||
| 3 | 3 | namespace Xtools; |
| 4 | 4 | |
| 5 | 5 | use \DateTime; |
| 6 | -use Symfony\Component\VarDumper\VarDumper; |
|
| 7 | 6 | |
| 8 | 7 | /** |
| 9 | 8 | * An EditCounter provides statistics about a user's edits on a project. |
@@ -41,7 +41,7 @@ discard block |
||
| 41 | 41 | */ |
| 42 | 42 | protected function getRevisionCounts() |
| 43 | 43 | { |
| 44 | - if (! is_array($this->revisionCounts)) { |
|
| 44 | + if (!is_array($this->revisionCounts)) { |
|
| 45 | 45 | $this->revisionCounts = $this->getRepository() |
| 46 | 46 | ->getRevisionCounts($this->project, $this->user); |
| 47 | 47 | } |
@@ -54,7 +54,7 @@ discard block |
||
| 54 | 54 | */ |
| 55 | 55 | protected function getRevisionDates() |
| 56 | 56 | { |
| 57 | - if (! is_array($this->revisionDates)) { |
|
| 57 | + if (!is_array($this->revisionDates)) { |
|
| 58 | 58 | $this->revisionDates = $this->getRepository() |
| 59 | 59 | ->getRevisionDates($this->project, $this->user); |
| 60 | 60 | } |
@@ -67,7 +67,7 @@ discard block |
||
| 67 | 67 | */ |
| 68 | 68 | protected function getPageCounts() |
| 69 | 69 | { |
| 70 | - if (! is_array($this->pageCounts)) { |
|
| 70 | + if (!is_array($this->pageCounts)) { |
|
| 71 | 71 | $this->pageCounts = $this->getRepository() |
| 72 | 72 | ->getPageCounts($this->project, $this->user); |
| 73 | 73 | } |
@@ -80,7 +80,7 @@ discard block |
||
| 80 | 80 | */ |
| 81 | 81 | protected function getLogCounts() |
| 82 | 82 | { |
| 83 | - if (! is_array($this->logCounts)) { |
|
| 83 | + if (!is_array($this->logCounts)) { |
|
| 84 | 84 | $this->logCounts = $this->getRepository() |
| 85 | 85 | ->getLogCounts($this->project, $this->user); |
| 86 | 86 | } |
@@ -109,7 +109,7 @@ discard block |
||
| 109 | 109 | */ |
| 110 | 110 | public function countAllRevisions() |
| 111 | 111 | { |
| 112 | - return $this->countLiveRevisions() + $this->countDeletedRevisions(); |
|
| 112 | + return $this->countLiveRevisions()+$this->countDeletedRevisions(); |
|
| 113 | 113 | } |
| 114 | 114 | |
| 115 | 115 | /** |
@@ -128,7 +128,7 @@ discard block |
||
| 128 | 128 | */ |
| 129 | 129 | public function countRevisionsWithoutComments() |
| 130 | 130 | { |
| 131 | - return $this->countAllRevisions() - $this->countRevisionsWithComments(); |
|
| 131 | + return $this->countAllRevisions()-$this->countRevisionsWithComments(); |
|
| 132 | 132 | } |
| 133 | 133 | |
| 134 | 134 | /** |
@@ -195,7 +195,7 @@ discard block |
||
| 195 | 195 | */ |
| 196 | 196 | public function countAllPagesEdited() |
| 197 | 197 | { |
| 198 | - return $this->countLivePagesEdited() + $this->countDeletedPagesEdited(); |
|
| 198 | + return $this->countLivePagesEdited()+$this->countDeletedPagesEdited(); |
|
| 199 | 199 | } |
| 200 | 200 | |
| 201 | 201 | /** |
@@ -213,7 +213,7 @@ discard block |
||
| 213 | 213 | */ |
| 214 | 214 | public function countPagesCreated() |
| 215 | 215 | { |
| 216 | - return $this->countCreatedPagesLive() + $this->countPagesCreatedDeleted(); |
|
| 216 | + return $this->countCreatedPagesLive()+$this->countPagesCreatedDeleted(); |
|
| 217 | 217 | } |
| 218 | 218 | |
| 219 | 219 | /** |
@@ -359,9 +359,9 @@ discard block |
||
| 359 | 359 | public function approvals() |
| 360 | 360 | { |
| 361 | 361 | $logCounts = $this->getLogCounts(); |
| 362 | - $total = $logCounts['review-approve'] + |
|
| 363 | - (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0) + |
|
| 364 | - (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0) + |
|
| 362 | + $total = $logCounts['review-approve']+ |
|
| 363 | + (!empty($logCounts['review-approve-a']) ? $logCounts['review-approve-a'] : 0)+ |
|
| 364 | + (!empty($logCounts['review-approve-i']) ? $logCounts['review-approve-i'] : 0)+ |
|
| 365 | 365 | (!empty($logCounts['review-approve-ia']) ? $logCounts['review-approve-ia'] : 0); |
| 366 | 366 | return $total; |
| 367 | 367 | } |
@@ -387,8 +387,8 @@ discard block |
||
| 387 | 387 | // Get counts. |
| 388 | 388 | $editCounts = $this->getRepository()->getRevisionCountsAllProjects($user, $project); |
| 389 | 389 | // Sort. |
| 390 | - uasort($editCounts, function ($a, $b) { |
|
| 391 | - return $b['total'] - $a['total']; |
|
| 390 | + uasort($editCounts, function($a, $b) { |
|
| 391 | + return $b['total']-$a['total']; |
|
| 392 | 392 | }); |
| 393 | 393 | // Truncate, and return. |
| 394 | 394 | return array_slice($editCounts, 0, $numProjects); |
@@ -248,7 +248,6 @@ discard block |
||
| 248 | 248 | * Get a user's total edit count on one or more project. |
| 249 | 249 | * Requires the CentralAuth extension to be installed on the project. |
| 250 | 250 | * |
| 251 | - * @param string $username The username. |
|
| 252 | 251 | * @param Project $project The project to start from. |
| 253 | 252 | * @return mixed[]|boolean Array of total edit counts, or false if none could be found. |
| 254 | 253 | */ |
@@ -295,7 +294,7 @@ discard block |
||
| 295 | 294 | |
| 296 | 295 | /** |
| 297 | 296 | * Get total edit counts for the top 10 projects for this user. |
| 298 | - * @param string $username The username. |
|
| 297 | + * @param string $stopwatchName |
|
| 299 | 298 | * @return string[] Elements are arrays with 'dbName', 'url', 'name', and 'total'. |
| 300 | 299 | */ |
| 301 | 300 | protected function getRevisionCountsAllProjectsNoCentralAuth( |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | public function getRevisionCounts(Project $project, User $user) |
| 17 | 17 | { |
| 18 | 18 | // Set up cache. |
| 19 | - $cacheKey = 'revisioncounts.' . $project->getDatabaseName() . '.' . $user->getUsername(); |
|
| 19 | + $cacheKey = 'revisioncounts.'.$project->getDatabaseName().'.'.$user->getUsername(); |
|
| 20 | 20 | if ($this->cache->hasItem($cacheKey)) { |
| 21 | 21 | return $this->cache->getItem($cacheKey)->get(); |
| 22 | 22 | } |
@@ -77,7 +77,7 @@ discard block |
||
| 77 | 77 | public function getRevisionDates(Project $project, User $user) |
| 78 | 78 | { |
| 79 | 79 | // Set up cache. |
| 80 | - $cacheKey = 'revisiondates.' . $project->getDatabaseName() . '.' . $user->getUsername(); |
|
| 80 | + $cacheKey = 'revisiondates.'.$project->getDatabaseName().'.'.$user->getUsername(); |
|
| 81 | 81 | if ($this->cache->hasItem($cacheKey)) { |
| 82 | 82 | return $this->cache->getItem($cacheKey)->get(); |
| 83 | 83 | } |
@@ -149,10 +149,10 @@ discard block |
||
| 149 | 149 | $results = $resultQuery->fetchAll(); |
| 150 | 150 | |
| 151 | 151 | $pageCounts = array_combine( |
| 152 | - array_map(function ($e) { |
|
| 152 | + array_map(function($e) { |
|
| 153 | 153 | return $e['source']; |
| 154 | 154 | }, $results), |
| 155 | - array_map(function ($e) { |
|
| 155 | + array_map(function($e) { |
|
| 156 | 156 | return $e['value']; |
| 157 | 157 | }, $results) |
| 158 | 158 | ); |
@@ -183,7 +183,7 @@ discard block |
||
| 183 | 183 | |
| 184 | 184 | // Query. |
| 185 | 185 | $sql = "SELECT CONCAT(log_type, '-', log_action) AS source, COUNT(log_id) AS value |
| 186 | - FROM " . $this->getTableName($project->getDatabaseName(), 'logging') . " |
|
| 186 | + FROM " . $this->getTableName($project->getDatabaseName(), 'logging')." |
|
| 187 | 187 | WHERE log_user = :userId |
| 188 | 188 | GROUP BY log_type, log_action"; |
| 189 | 189 | $resultQuery = $this->getProjectsConnection()->prepare($sql); |
@@ -192,10 +192,10 @@ discard block |
||
| 192 | 192 | $resultQuery->execute(); |
| 193 | 193 | $results = $resultQuery->fetchAll(); |
| 194 | 194 | $logCounts = array_combine( |
| 195 | - array_map(function ($e) { |
|
| 195 | + array_map(function($e) { |
|
| 196 | 196 | return $e['source']; |
| 197 | 197 | }, $results), |
| 198 | - array_map(function ($e) { |
|
| 198 | + array_map(function($e) { |
|
| 199 | 199 | return $e['value']; |
| 200 | 200 | }, $results) |
| 201 | 201 | ); |
@@ -341,9 +341,9 @@ discard block |
||
| 341 | 341 | $resultQuery->bindParam(":id", $userId); |
| 342 | 342 | $resultQuery->execute(); |
| 343 | 343 | $results = $resultQuery->fetchAll(); |
| 344 | - $namespaceTotals = array_combine(array_map(function ($e) { |
|
| 344 | + $namespaceTotals = array_combine(array_map(function($e) { |
|
| 345 | 345 | return $e['page_namespace']; |
| 346 | - }, $results), array_map(function ($e) { |
|
| 346 | + }, $results), array_map(function($e) { |
|
| 347 | 347 | return $e['total']; |
| 348 | 348 | }, $results)); |
| 349 | 349 | return $namespaceTotals; |
@@ -365,14 +365,14 @@ discard block |
||
| 365 | 365 | $revisions = $this->cacheGet($cacheKey); |
| 366 | 366 | } else { |
| 367 | 367 | $sql = |
| 368 | - "SELECT rev_id, rev_timestamp, UNIX_TIMESTAMP(rev_timestamp) AS unix_timestamp, " . |
|
| 369 | - " rev_minor_edit, rev_deleted, rev_len, rev_parent_id, rev_comment, " . |
|
| 370 | - " page_title, page_namespace " . " FROM " . |
|
| 371 | - $this->labsHelper->getTable('revision', $project['dbName']) . " JOIN " . |
|
| 372 | - $this->labsHelper->getTable('page', $project['dbName']) . |
|
| 373 | - " ON (rev_page = page_id)" . |
|
| 374 | - " WHERE rev_timestamp > NOW() - INTERVAL $days DAY AND rev_user_text LIKE :username" . |
|
| 375 | - " ORDER BY rev_timestamp DESC" . " LIMIT 10"; |
|
| 368 | + "SELECT rev_id, rev_timestamp, UNIX_TIMESTAMP(rev_timestamp) AS unix_timestamp, ". |
|
| 369 | + " rev_minor_edit, rev_deleted, rev_len, rev_parent_id, rev_comment, ". |
|
| 370 | + " page_title, page_namespace "." FROM ". |
|
| 371 | + $this->labsHelper->getTable('revision', $project['dbName'])." JOIN ". |
|
| 372 | + $this->labsHelper->getTable('page', $project['dbName']). |
|
| 373 | + " ON (rev_page = page_id)". |
|
| 374 | + " WHERE rev_timestamp > NOW() - INTERVAL $days DAY AND rev_user_text LIKE :username". |
|
| 375 | + " ORDER BY rev_timestamp DESC"." LIMIT 10"; |
|
| 376 | 376 | $resultQuery = $this->replicas->prepare($sql); |
| 377 | 377 | $resultQuery->bindParam(":username", $username); |
| 378 | 378 | $resultQuery->execute(); |
@@ -382,7 +382,7 @@ discard block |
||
| 382 | 382 | if (count($revisions) === 0) { |
| 383 | 383 | continue; |
| 384 | 384 | } |
| 385 | - $revsWithProject = array_map(function (&$item) use ($project) { |
|
| 385 | + $revsWithProject = array_map(function(&$item) use ($project) { |
|
| 386 | 386 | $item['project_name'] = $project['wikiName']; |
| 387 | 387 | $item['project_url'] = $project['url']; |
| 388 | 388 | $item['project_db_name'] = $project['dbName']; |
@@ -392,8 +392,8 @@ discard block |
||
| 392 | 392 | }, $revisions); |
| 393 | 393 | $allRevisions = array_merge($allRevisions, $revsWithProject); |
| 394 | 394 | } |
| 395 | - usort($allRevisions, function ($a, $b) { |
|
| 396 | - return $b['rev_timestamp'] - $a['rev_timestamp']; |
|
| 395 | + usort($allRevisions, function($a, $b) { |
|
| 396 | + return $b['rev_timestamp']-$a['rev_timestamp']; |
|
| 397 | 397 | }); |
| 398 | 398 | |
| 399 | 399 | return array_slice($allRevisions, 0, $topN); |
@@ -412,12 +412,12 @@ discard block |
||
| 412 | 412 | } |
| 413 | 413 | |
| 414 | 414 | $sql = |
| 415 | - "SELECT " . " YEAR(rev_timestamp) AS `year`," . |
|
| 416 | - " MONTH(rev_timestamp) AS `month`," . " page_namespace," . |
|
| 417 | - " COUNT(rev_id) AS `count` " . " FROM " . $this->labsHelper->getTable('revision') . |
|
| 418 | - " JOIN " . $this->labsHelper->getTable('page') . " ON (rev_page = page_id)" . |
|
| 419 | - " WHERE rev_user_text = :username" . |
|
| 420 | - " GROUP BY YEAR(rev_timestamp), MONTH(rev_timestamp), page_namespace " . |
|
| 415 | + "SELECT "." YEAR(rev_timestamp) AS `year`,". |
|
| 416 | + " MONTH(rev_timestamp) AS `month`,"." page_namespace,". |
|
| 417 | + " COUNT(rev_id) AS `count` "." FROM ".$this->labsHelper->getTable('revision'). |
|
| 418 | + " JOIN ".$this->labsHelper->getTable('page')." ON (rev_page = page_id)". |
|
| 419 | + " WHERE rev_user_text = :username". |
|
| 420 | + " GROUP BY YEAR(rev_timestamp), MONTH(rev_timestamp), page_namespace ". |
|
| 421 | 421 | " ORDER BY rev_timestamp DESC"; |
| 422 | 422 | $resultQuery = $this->replicas->prepare($sql); |
| 423 | 423 | $resultQuery->bindParam(":username", $username); |
@@ -439,14 +439,14 @@ discard block |
||
| 439 | 439 | if (!isset($out['totals'][$ns])) { |
| 440 | 440 | $out['totals'][$ns] = []; |
| 441 | 441 | } |
| 442 | - $out['totals'][$ns][$total['year'] . $total['month']] = $total['count']; |
|
| 442 | + $out['totals'][$ns][$total['year'].$total['month']] = $total['count']; |
|
| 443 | 443 | } |
| 444 | 444 | // Fill in the blanks (where no edits were made in a given month for a namespace). |
| 445 | 445 | for ($y = $out['min_year']; $y <= $out['max_year']; $y++) { |
| 446 | 446 | for ($m = 1; $m <= 12; $m++) { |
| 447 | 447 | foreach ($out['totals'] as $nsId => &$total) { |
| 448 | - if (!isset($total[$y . $m])) { |
|
| 449 | - $total[$y . $m] = 0; |
|
| 448 | + if (!isset($total[$y.$m])) { |
|
| 449 | + $total[$y.$m] = 0; |
|
| 450 | 450 | } |
| 451 | 451 | } |
| 452 | 452 | } |
@@ -469,12 +469,12 @@ discard block |
||
| 469 | 469 | } |
| 470 | 470 | |
| 471 | 471 | $sql = |
| 472 | - "SELECT " . " SUBSTR(CAST(rev_timestamp AS CHAR(4)), 1, 4) AS `year`," . |
|
| 473 | - " page_namespace," . " COUNT(rev_id) AS `count` " . " FROM " . |
|
| 474 | - $this->labsHelper->getTable('revision') . " JOIN " . |
|
| 475 | - $this->labsHelper->getTable('page') . " ON (rev_page = page_id)" . |
|
| 476 | - " WHERE rev_user_text = :username" . |
|
| 477 | - " GROUP BY SUBSTR(CAST(rev_timestamp AS CHAR(4)), 1, 4), page_namespace " . |
|
| 472 | + "SELECT "." SUBSTR(CAST(rev_timestamp AS CHAR(4)), 1, 4) AS `year`,". |
|
| 473 | + " page_namespace,"." COUNT(rev_id) AS `count` "." FROM ". |
|
| 474 | + $this->labsHelper->getTable('revision')." JOIN ". |
|
| 475 | + $this->labsHelper->getTable('page')." ON (rev_page = page_id)". |
|
| 476 | + " WHERE rev_user_text = :username". |
|
| 477 | + " GROUP BY SUBSTR(CAST(rev_timestamp AS CHAR(4)), 1, 4), page_namespace ". |
|
| 478 | 478 | " ORDER BY rev_timestamp DESC "; |
| 479 | 479 | $resultQuery = $this->replicas->prepare($sql); |
| 480 | 480 | $resultQuery->bindParam(":username", $username); |
@@ -2,13 +2,9 @@ |
||
| 2 | 2 | |
| 3 | 3 | namespace AppBundle\Controller; |
| 4 | 4 | |
| 5 | -use AppBundle\Helper\ApiHelper; |
|
| 6 | -use AppBundle\Helper\AutomatedEditsHelper; |
|
| 7 | -use AppBundle\Helper\LabsHelper; |
|
| 8 | 5 | use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; |
| 9 | 6 | use Symfony\Bundle\FrameworkBundle\Controller\Controller; |
| 10 | 7 | use Symfony\Component\HttpFoundation\Request; |
| 11 | -use Symfony\Component\VarDumper\VarDumper; |
|
| 12 | 8 | use Xtools\EditCounter; |
| 13 | 9 | use Xtools\EditCounterRepository; |
| 14 | 10 | use Xtools\Project; |
@@ -65,10 +65,10 @@ |
||
| 65 | 65 | $username = $request->query->get('username'); |
| 66 | 66 | |
| 67 | 67 | if (($project || $queryProject) && $username) { |
| 68 | - $routeParams = [ 'project'=>($project ?: $queryProject), 'username' => $username ]; |
|
| 68 | + $routeParams = ['project'=>($project ?: $queryProject), 'username' => $username]; |
|
| 69 | 69 | return $this->redirectToRoute("EditCounterResult", $routeParams); |
| 70 | 70 | } elseif (!$project && $queryProject) { |
| 71 | - return $this->redirectToRoute("EditCounterProject", [ 'project'=>$queryProject ]); |
|
| 71 | + return $this->redirectToRoute("EditCounterProject", ['project'=>$queryProject]); |
|
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | $project = ProjectRepository::getProject($queryProject, $this->container); |