jenkins-bot has submitted this change and it was merged.

Change subject: build: Enable mediawiki-codesniffer and make pass
......................................................................


build: Enable mediawiki-codesniffer and make pass

Change-Id: I3b3dada4b8cba5386b73a414ca3b8e1eaf4938e6
---
M PageTriage.hooks.php
M PageTriage.php
M SpecialNewPagesFeed.php
M api/ApiPageTriageAction.php
M api/ApiPageTriageList.php
M api/ApiPageTriageStats.php
M api/ApiPageTriageTagging.php
M api/ApiPageTriageTemplate.php
M composer.json
M cron/updatePageTriageQueue.php
M cron/updateUserMetadata.php
M includes/ArticleMetadata.php
M includes/PageTriage.php
M includes/PageTriageLogFormatter.php
M includes/PageTriageUtil.php
M tests/phpunit/ApiPageTriageActionTest.php
M tests/phpunit/ArticleMetadataTest.php
M tests/phpunit/SpecialNewPagesFeedTest.php
M tools/cleanupPageTriage.php
M tools/cleanupPageTriageLog.php
M tools/cleanupPageTriagePageTags.php
M tools/importNewPages.php
22 files changed, 543 insertions(+), 287 deletions(-)

Approvals:
  Alex Monk: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/PageTriage.hooks.php b/PageTriage.hooks.php
index 604a7f3..7c3ff47 100755
--- a/PageTriage.hooks.php
+++ b/PageTriage.hooks.php
@@ -102,7 +102,9 @@
         * @param $revision Revision New Revision of the article
         * @return bool
         */
-       public static function onArticleInsertComplete( $article, $user, $text, 
$summary, $isMinor, $isWatch, $section, $flags, $revision ) {
+       public static function onArticleInsertComplete(
+               $article, $user, $text, $summary, $isMinor, $isWatch, $section, 
$flags, $revision
+       ) {
                global $wgPageTriageNamespaces;
                if ( !in_array( $article->getTitle()->getNamespace(), 
$wgPageTriageNamespaces ) ) {
                        return true;
@@ -130,7 +132,10 @@
         * @param $baseRevId
         * @return bool
         */
-       public static function onArticleSaveComplete( $article, $user, $text, 
$summary, $minoredit, $watchthis, $sectionanchor, $flags, $revision, $status, 
$baseRevId ) {
+       public static function onArticleSaveComplete(
+               $article, $user, $text, $summary, $minoredit, $watchthis, 
$sectionanchor, $flags, $revision,
+               $status, $baseRevId
+       ) {
                global $wgPageTriageNamespaces;
 
                self::flushUserStatusCache( $article->getTitle() );
@@ -256,7 +261,7 @@
        private static function shouldShowNoIndex( $article ) {
                global $wgPageTriageNoIndexTemplates;
 
-               if ( $wgPageTriageNoIndexTemplates && $article->mParserOutput 
instanceof ParserOutput) {
+               if ( $wgPageTriageNoIndexTemplates && $article->mParserOutput 
instanceof ParserOutput ) {
                        $noIndexTitle = Title::newFromText( 
$wgPageTriageNoIndexTemplates, NS_MEDIAWIKI );
                        if ( $noIndexTitle ) {
                                $noIndexArticle = WikiPage::newFromID( 
$noIndexTitle->getArticleID() );
@@ -266,7 +271,10 @@
                                                // Collect all the noindex 
template names into an array
                                                $noIndexTemplates = explode( 
'|', $noIndexTemplateText );
                                                // Properly format the template 
names to match what getTemplates() returns
-                                               $noIndexTemplates = array_map( 
array( 'PageTriageHooks', 'formatTemplateName' ), $noIndexTemplates );
+                                               $noIndexTemplates = array_map(
+                                                       array( 
'PageTriageHooks', 'formatTemplateName' ),
+                                                       $noIndexTemplates
+                                               );
                                                foreach ( 
$article->mParserOutput->getTemplates() as $templates ) {
                                                        foreach ( $templates as 
$template => $pageId ) {
                                                                if ( in_array( 
$template, $noIndexTemplates ) ) {
@@ -306,14 +314,14 @@
         * @return bool
         */
        public static function onArticleViewFooter( $article, 
$patrolFooterShown ) {
-               global $wgUser, $wgPageTriageMarkPatrolledLinkExpiry, $wgOut, 
+               global $wgUser, $wgPageTriageMarkPatrolledLinkExpiry, $wgOut,
                        $wgPageTriageEnableCurationToolbar, $wgRequest, 
$wgPageTriageNamespaces;
 
                // Overwrite the noindex rule defined in Article::view(), this 
also affects main namespace
                //if ( self::shouldShowNoIndex( $article ) ) {
                //      $wgOut->setRobotPolicy( 'noindex,nofollow' );
                //}
-               
+
                // Only logged in users can review
                if ( !$wgUser->isLoggedIn() ) {
                        return true;
@@ -368,7 +376,11 @@
                                if ( $needsReview ) {
                                        // show 'Mark as reviewed' link
                                        $msg = wfMessage( 
'pagetriage-markpatrolled' )->text();
-                                       $msg = Html::element( 'a', array( 
'href' => '#', 'class' => 'mw-pagetriage-markpatrolled-link' ), $msg );
+                                       $msg = Html::element(
+                                               'a',
+                                               array( 'href' => '#', 'class' 
=> 'mw-pagetriage-markpatrolled-link' ),
+                                               $msg
+                                       );
                                } else {
                                        // show 'Reviewed' text
                                        $msg = wfMessage( 'pagetriage-reviewed' 
)->escaped();
@@ -475,7 +487,9 @@
         * @param $icons array of icon details
         * @return bool
         */
-       public static function onBeforeCreateEchoEvent( &$notifications, 
&$notificationCategories, &$icons ) {
+       public static function onBeforeCreateEchoEvent(
+               &$notifications, &$notificationCategories, &$icons
+       ) {
                global $wgPageTriageEnabledEchoEvents;
 
                if ( $wgPageTriageEnabledEchoEvents ) {
@@ -488,7 +502,10 @@
                if ( in_array( 'pagetriage-mark-as-reviewed', 
$wgPageTriageEnabledEchoEvents ) ) {
                        $notifications['pagetriage-mark-as-reviewed'] = array(
                                'presentation-model' => 
'PageTriageMarkAsReviewedPresentationModel',
-                               'primary-link' => array( 'message' => 
'notification-link-text-view-page', 'destination' => 'title' ),
+                               'primary-link' => array(
+                                       'message' => 
'notification-link-text-view-page',
+                                       'destination' => 'title'
+                               ),
                                'category' => 'page-review',
                                'group' => 'neutral',
                                'formatter-class' => 
'PageTriageNotificationFormatter',
@@ -504,7 +521,10 @@
                if ( in_array( 'pagetriage-add-maintenance-tag', 
$wgPageTriageEnabledEchoEvents ) ) {
                        $notifications['pagetriage-add-maintenance-tag'] = 
array(
                                'presentation-model' => 
'PageTriageAddMaintenanceTagPresentationModel',
-                               'primary-link' => array( 'message' => 
'notification-link-text-view-page', 'destination' => 'title' ),
+                               'primary-link' => array(
+                                       'message' => 
'notification-link-text-view-page',
+                                       'destination' => 'title'
+                               ),
                                'category' => 'page-review',
                                'group' => 'neutral',
                                'formatter-class' => 
'PageTriageNotificationFormatter',
@@ -520,7 +540,10 @@
                if ( in_array( 'pagetriage-add-deletion-tag', 
$wgPageTriageEnabledEchoEvents ) ) {
                        $notifications['pagetriage-add-deletion-tag'] = array(
                                'presentation-model' => 
'PageTriageAddDeletionTagPresentationModel',
-                               'primary-link' => array( 'message' => 
'notification-link-text-view-page', 'destination' => 'title' ),
+                               'primary-link' => array(
+                                       'message' => 
'notification-link-text-view-page',
+                                       'destination' => 'title'
+                               ),
                                'category' => 'page-review',
                                'group' => 'negative',
                                'formatter-class' => 
'PageTriageNotificationFormatter',
diff --git a/PageTriage.php b/PageTriage.php
index 81bb8cd..cbfb7a0 100644
--- a/PageTriage.php
+++ b/PageTriage.php
@@ -25,7 +25,8 @@
  * @license MIT License
  */
 
-# Alert the user that this is not a valid entry point to MediaWiki if they try 
to access the special pages file directly.
+// Alert the user that this is not a valid entry point to MediaWiki if they 
try to access the
+// special pages file directly.
 if ( !defined( 'MEDIAWIKI' ) ) {
        echo <<<EOT
 To install this extension, put the following line in LocalSettings.php:
@@ -51,23 +52,31 @@
 );
 
 // Begin configuration variables
-$wgPageTriagePagesPerRequest = 20; // Maximum number of articles for the API 
to retrieve at once
-$wgPageTriageInfiniteScrolling = true; // Whether or not to use infinite 
scrolling in the page list
-$wgPageTriageStickyControlNav = true; // Whether or not the top nav bar should 
float
-$wgPageTriageStickyStatsNav = true; // Whether or not the bottom nav bar 
should float
-$wgPageTriageMarkPatrolledLinkExpiry = 3600 * 24; // 1 day - How long after 
visiting Special:NewPagesFeed do we show review links on articles
-$wgPageTriageNoIndexTemplates = 'No_index_templates'; // Pages containing 
templates defined in this title would not be indexed.
+// Maximum number of articles for the API to retrieve at once
+$wgPageTriagePagesPerRequest = 20;
+// Whether or not to use infinite scrolling in the page list
+$wgPageTriageInfiniteScrolling = true;
+// Whether or not the top nav bar should float
+$wgPageTriageStickyControlNav = true;
+// Whether or not the bottom nav bar should float
+$wgPageTriageStickyStatsNav = true;
+// 1 day - How long after visiting Special:NewPagesFeed do we show review 
links on articles
+$wgPageTriageMarkPatrolledLinkExpiry = 3600 * 24;
+// Pages containing templates defined in this title would not be indexed.
+$wgPageTriageNoIndexTemplates = 'No_index_templates';
 $wgPageTriageLearnMoreUrl = 
'//en.wikipedia.org/wiki/Wikipedia:Page_Curation/Help';
 $wgPageTriageProjectLink = 'Wikipedia:Page Curation';
 $wgPageTriageFeedbackUrl = 
'//en.wikipedia.org/wiki/Wikipedia_talk:Page_Curation';
-$wgPageTriageEnableCurationToolbar = true; // enable the curation toolbar?
+// enable the curation toolbar?
+$wgPageTriageEnableCurationToolbar = true;
 $wgPageTriageCurationModules = array(
        'articleInfo' => array(
                'helplink' => 
'//en.wikipedia.org/wiki/Wikipedia:Page_Curation/Help#PageInfo',
                'namespace' => array( NS_MAIN, NS_USER ),
        ),
        'wikiLove' => array(
-               'helplink' => 
'//en.wikipedia.org/wiki/Wikipedia:Page_Curation/Help#WikiLove', // depends on 
WikiLove extension
+               // depends on WikiLove extension
+               'helplink' => 
'//en.wikipedia.org/wiki/Wikipedia:Page_Curation/Help#WikiLove',
                'namespace' => array( NS_MAIN, NS_USER ),
        ),
        'mark' => array(
@@ -84,8 +93,10 @@
                'namespace' => array( NS_MAIN, NS_USER ),
        ),
 );
-$wgPageTriageCacheVersion = '1.4'; // version number to be added to cache key 
so that cache can be refreshed easily
-$wgPageTriageNamespaces = array( NS_MAIN, NS_USER  ); // only include these 
namespaces for pagetriage
+// version number to be added to cache key so that cache can be refreshed 
easily
+$wgPageTriageCacheVersion = '1.4';
+// only include these namespaces for pagetriage
+$wgPageTriageNamespaces = array( NS_MAIN, NS_USER );
 $wgTalkPageNoteTemplate = array(
        'Mark' => 'Reviewednote-NPF',
        'UnMark' => array( 'note' => 'Unreviewednote-NPF', 'nonote' => 
'Unreviewednonote-NPF' ),
@@ -107,7 +118,7 @@
 
 $dir = __DIR__ . '/';
 
-$wgMessagesDirs['PageTriage'] = __DIR__ . '/i18n';
+$wgMessagesDirs['PageTriage'] = $dir . 'i18n';
 $wgExtensionMessagesFiles['PageTriage'] = $dir . 'PageTriage.i18n.php';
 $wgExtensionMessagesFiles['PageTriageAlias'] = $dir . 'PageTriage.alias.php';
 
@@ -125,13 +136,21 @@
 $wgAutoloadClasses['ArticleCompileSnippet'] = $dir . 
'includes/ArticleMetadata.php';
 $wgAutoloadClasses['ArticleCompileUserData'] = $dir . 
'includes/ArticleMetadata.php';
 $wgAutoloadClasses['ArticleCompileDeletionTag'] = $dir . 
'includes/ArticleMetadata.php';
-$wgAutoloadClasses['PageTriageExternalTagsOptions'] = $dir . 
'includes/PageTriageExternalTagsOptions.php';
-$wgAutoloadClasses['PageTriageExternalDeletionTagsOptions'] = $dir . 
'includes/PageTriageExternalDeletionTagsOptions.php';
-$wgAutoloadClasses['PageTriageLogFormatter'] = $dir . 
'includes/PageTriageLogFormatter.php';
-$wgAutoloadClasses['PageTriageNotificationFormatter'] = $dir . 
'includes/Notifications/PageTriageNotificationFormatter.php';
-$wgAutoloadClasses['PageTriageMarkAsReviewedPresentationModel'] = $dir . 
'includes/Notifications/PageTriageMarkAsReviewedPresentationModel.php';
-$wgAutoloadClasses['PageTriageAddMaintenanceTagPresentationModel'] = $dir . 
'includes/Notifications/PageTriageAddMaintenanceTagPresentationModel.php';
-$wgAutoloadClasses['PageTriageAddDeletionTagPresentationModel'] = $dir . 
'includes/Notifications/PageTriageAddDeletionTagPresentationModel.php';
+$wgAutoloadClasses['PageTriageExternalTagsOptions'] = $dir
+       . 'includes/PageTriageExternalTagsOptions.php';
+$wgAutoloadClasses['PageTriageExternalDeletionTagsOptions'] = $dir
+       . 'includes/PageTriageExternalDeletionTagsOptions.php';
+$wgAutoloadClasses['PageTriageLogFormatter'] = $dir
+       . 'includes/PageTriageLogFormatter.php';
+$wgAutoloadClasses['PageTriageNotificationFormatter'] = $dir
+       . 'includes/Notifications/PageTriageNotificationFormatter.php';
+$wgAutoloadClasses['PageTriageMarkAsReviewedPresentationModel'] = $dir
+       . 
'includes/Notifications/PageTriageMarkAsReviewedPresentationModel.php';
+$wgAutoloadClasses['PageTriageAddMaintenanceTagPresentationModel'] = $dir
+       . 
'includes/Notifications/PageTriageAddMaintenanceTagPresentationModel.php';
+$wgAutoloadClasses['PageTriageAddDeletionTagPresentationModel'] = $dir
+       . 
'includes/Notifications/PageTriageAddDeletionTagPresentationModel.php';
+
 
 $wgAutoloadClasses['ApiPageTriageList'] = $dir . 'api/ApiPageTriageList.php';
 $wgAutoloadClasses['ApiPageTriageStats'] = $dir . 'api/ApiPageTriageStats.php';
@@ -189,7 +208,11 @@
        $updater->addExtensionTable( 'pagetriage_page', $base . 
'/PageTriagePage.sql' );
        $updater->addExtensionTable( 'pagetriage_log', $base . 
'/PageTriageLog.sql' );
        // patches
-       $updater->addExtensionIndex( 'pagetriage_page', 
'ptrp_reviewed_updated', $base . '/PageTriagePagePatch.sql' );
+       $updater->addExtensionIndex(
+               'pagetriage_page',
+               'ptrp_reviewed_updated',
+               $base . '/PageTriagePagePatch.sql'
+       );
        return true;
 }
 
@@ -213,10 +236,10 @@
 );
 
 // where can the template API find the templates?
-$ptTemplatePath = $ptResourceTemplate['localBasePath'];
+$wgPtTemplatePath = $ptResourceTemplate['localBasePath'];
 
 // Tags options message
-$wgPageTriageTagsOptionsMessages = array (
+$wgPageTriageTagsOptionsMessages = array(
        'pagetriage-tags-title',
        'pagetriage-tags-cat-common-label',
        'pagetriage-tags-cat-metadata-label',
@@ -371,7 +394,7 @@
 );
 
 // Deletion Tags options message
-$wgPageTriageDeletionTagsOptionsMessages = array (
+$wgPageTriageDeletionTagsOptionsMessages = array(
        'pagetriage-del-tags-cat-csd-label',
        'pagetriage-del-tags-cat-csd-desc',
        'pagetriage-del-tags-cat-prod-label',
@@ -749,7 +772,8 @@
 );
 
 $wgResourceModules['ext.pageTriage.defaultDeletionTagsOptions'] = 
$ptResourceTemplate + array(
-       'scripts' => 
'ext.pageTriage.defaultDeletionTagsOptions/ext.pageTriage.defaultDeletionTagsOptions.js',
+       'scripts' => 'ext.pageTriage.defaultDeletionTagsOptions/'
+               . 'ext.pageTriage.defaultDeletionTagsOptions.js',
        'messages' => $wgPageTriageDeletionTagsOptionsMessages,
        'dependencies' => array(
                'mediawiki.Title'
@@ -767,7 +791,7 @@
 $wgResourceModules['ext.pageTriage.article'] = $ptResourceTemplate + array(
        'styles' => 'ext.pageTriage.article/ext.pageTriage.article.css',
        'scripts' => 'ext.pageTriage.article/ext.pageTriage.article.js',
-       'messages' => array (
+       'messages' => array(
                        'pagetriage-reviewed',
                        'pagetriage-mark-as-reviewed-error',
        ),
diff --git a/SpecialNewPagesFeed.php b/SpecialNewPagesFeed.php
index b31b7d1..3627c3c 100644
--- a/SpecialNewPagesFeed.php
+++ b/SpecialNewPagesFeed.php
@@ -23,10 +23,10 @@
         * @param $sub string The subpage, if any
         */
        public function execute( $sub ) {
-               global $wgPageTriageInfiniteScrolling,
-                      $wgPageTriageStickyControlNav, 
$wgPageTriageStickyStatsNav,
-                      $wgPageTriageLearnMoreUrl, $wgPageTriageFeedbackUrl,
-                      $wgPageTriageNamespaces;
+               global  $wgPageTriageInfiniteScrolling,
+                               $wgPageTriageStickyControlNav, 
$wgPageTriageStickyStatsNav,
+                               $wgPageTriageLearnMoreUrl, 
$wgPageTriageFeedbackUrl,
+                               $wgPageTriageNamespaces;
 
                $out = $this->getOutput();
                $user = $this->getUser();
@@ -67,138 +67,223 @@
                $out->addJsConfigVars( $globalVars );
 
                // Load the JS
-               $out->addModules( array( 'ext.pageTriage.external', 
'ext.pageTriage.util', 'ext.pageTriage.models', 'ext.pageTriage.views.list' ) );
+               $out->addModules( array(
+                       'ext.pageTriage.external',
+                       'ext.pageTriage.util',
+                       'ext.pageTriage.models',
+                       'ext.pageTriage.views.list'
+               ) );
 
                $warnings = '';
                $warnings .= '<div id="mwe-pt-list-warnings" style="display: 
none;">';
-               $parsedWelcomeMessage = $this->msg( 'pagetriage-welcome', 
$wgPageTriageLearnMoreUrl, $wgPageTriageFeedbackUrl )->parse();
+               $parsedWelcomeMessage = $this->msg(
+                       'pagetriage-welcome',
+                       $wgPageTriageLearnMoreUrl,
+                       $wgPageTriageFeedbackUrl
+               )->parse();
                $warnings .= Html::rawElement( 'div', array( 'class' => 
'plainlinks' ), $parsedWelcomeMessage );
                $warnings .= '</div>';
                $out->addHtml( $warnings );
-               $out->addInlineStyle( '.client-nojs #mwe-pt-list-view, 
.client-js #mwe-pt-list-view-no-js { display: none; }' );
+               $out->addInlineStyle(
+                       '.client-nojs #mwe-pt-list-view, .client-js 
#mwe-pt-list-view-no-js { display: none; }'
+               );
 
                // This will hold the HTML for the triage interface
                $triageInterface = '';
 
                $triageInterface .= "<div 
id='mwe-pt-list-control-nav-anchor'></div>";
-               $triageInterface .= "<div id='mwe-pt-list-control-nav' 
class='mwe-pt-navigation-bar mwe-pt-control-gradient'>";
+               $triageInterface .= "<div"
+                       . " id='mwe-pt-list-control-nav'"
+                       . " class='mwe-pt-navigation-bar 
mwe-pt-control-gradient'>";
                $triageInterface .= "<div 
id='mwe-pt-list-control-nav-content'></div>";
                $triageInterface .= "</div>";
 
                // TODO: this should load with a spinner instead of "please 
wait"
-               $triageInterface .= "<div id='mwe-pt-list-view'>".$this->msg( 
'pagetriage-please-wait' )."</div>";
-               $triageInterface .= "<div id='mwe-pt-list-view-no-js'>" . 
$this->msg( 'pagetriage-js-required' ) . "</div>";
+               $triageInterface .= "<div id='mwe-pt-list-view'>"
+                       . $this->msg( 'pagetriage-please-wait' )
+                       . "</div>";
+               $triageInterface .= "<div id='mwe-pt-list-view-no-js'>"
+                       . $this->msg( 'pagetriage-js-required' )
+                       . "</div>";
                $triageInterface .= "<div id='mwe-pt-list-errors' 
style='display: none;'></div>";
                $triageInterface .= "<div id='mwe-pt-list-more' style='display: 
none;'>";
-               $triageInterface .= "<a href='#' 
id='mwe-pt-list-more-link'>".$this->msg( 'pagetriage-more' )."</a>";
+               $triageInterface .= "<a href='#' id='mwe-pt-list-more-link'>"
+                       . $this->msg( 'pagetriage-more' )
+                       . "</a>";
                $triageInterface .= "</div>";
                $triageInterface .= "<div 
id='mwe-pt-list-load-more-anchor'></div>";
-               $triageInterface .= "<div id='mwe-pt-list-stats-nav' 
class='mwe-pt-navigation-bar mwe-pt-control-gradient' style='display: none;'>";
+               $triageInterface .= "<div"
+                       . " id='mwe-pt-list-stats-nav'"
+                       . " class='mwe-pt-navigation-bar 
mwe-pt-control-gradient'"
+                       . " style='display: none;'>";
                $triageInterface .= "<div 
id='mwe-pt-list-stats-nav-content'></div>";
                $triageInterface .= "</div>";
                $triageInterface .= "<div 
id='mwe-pt-list-stats-nav-anchor'></div>";
 
                $dropdownArrow = $this->getLanguage()->isRtl()
-                       ? '&#x25c2;'  // ◂ left-pointing triangle
-                       : '&#x25b8;'; // ▸ right-pointing triangle
+                       ? '&#x25c2;'    // ◂ left-pointing triangle
+                       : '&#x25b8;';   // ▸ right-pointing triangle
 
                // These are the templates that backbone/underscore render on 
the client.
-               // It would be awesome if they lived in separate files, but we 
need to figure out how to make RL do that for us.
+               // It would be awesome if they lived in separate files, but we 
need to figure out how to
+               // make RL do that for us.
                // Syntax documentation can be found at 
http://documentcloud.github.com/underscore/#template.
                $triageInterface .= <<<HTML
-                               <!-- top nav template -->
-                               <script type="text/template" 
id="listControlNavTemplate">
-                                       <span 
class="mwe-pt-control-label"><b><%= mw.msg( 'pagetriage-showing' ) %></b> <span 
id="mwe-pt-filter-status"></span></span>
-                                       <span 
class="mwe-pt-control-label-right" id="mwe-pt-control-stats"></span><br/>
-                                       <span 
class="mwe-pt-control-label-right"><b><%= mw.msg( 'pagetriage-sort-by' ) %></b>
-                                               <span id="mwe-pt-sort-buttons">
-                                                       <input type="radio" 
id="mwe-pt-sort-newest" name="sort" /><label for="mwe-pt-sort-newest"><%= 
mw.msg( 'pagetriage-newest' ) %></label>
-                                                       <input type="radio" 
id="mwe-pt-sort-oldest" name="sort" /><label for="mwe-pt-sort-oldest"><%= 
mw.msg( 'pagetriage-oldest' ) %></label>
-                                               </span>
+                       <!-- top nav template -->
+                       <script type="text/template" 
id="listControlNavTemplate">
+                               <span class="mwe-pt-control-label">
+                                       <b><%= mw.msg( 'pagetriage-showing' ) 
%></b>
+                                       <span id="mwe-pt-filter-status"></span>
+                               </span>
+                               <span class="mwe-pt-control-label-right" 
id="mwe-pt-control-stats"></span><br/>
+                               <span class="mwe-pt-control-label-right"><b><%= 
mw.msg( 'pagetriage-sort-by' ) %></b>
+                                       <span id="mwe-pt-sort-buttons">
+                                               <input type="radio" 
id="mwe-pt-sort-newest" name="sort" />
+                                               <label 
for="mwe-pt-sort-newest"><%= mw.msg( 'pagetriage-newest' ) %></label>
+                                               <input type="radio" 
id="mwe-pt-sort-oldest" name="sort" />
+                                               <label 
for="mwe-pt-sort-oldest"><%= mw.msg( 'pagetriage-oldest' ) %></label>
                                        </span>
-                                       <span 
id="mwe-pt-filter-dropdown-control" class="mwe-pt-control-label">
-                                               <b>
-                                                       <%= mw.msg( 
'pagetriage-filter-list-prompt' ) %>
-                                                       <span 
id="mwe-pt-dropdown-arrow">$dropdownArrow</span>
-                                                       <!--<span 
class="mwe-pt-dropdown-open">&#x25be;</span>-->
-                                               </b>
-                                               <div 
id="mwe-pt-control-dropdown-pokey"></div>
-                                               <div 
id="mwe-pt-control-dropdown" class="mwe-pt-control-gradient shadow">
-                                                       <form>
-                                                               <div 
class="mwe-pt-control-section">
-                                                                       <span 
class="mwe-pt-control-label"><b><%= mw.msg( 'pagetriage-filter-show-heading' ) 
%></b></span>
-                                                                       <div 
class="mwe-pt-control-options">
-                                                                               
<input type="checkbox" id="mwe-pt-filter-unreviewed-edits" /> <label 
for="mwe-pt-filter-unreviewed-edits"><%= mw.msg( 
'pagetriage-filter-unreviewed-edits' ) %></label> <br/>
-                                                                               
<input type="checkbox" id="mwe-pt-filter-reviewed-edits" /> <label 
for="mwe-pt-filter-reviewed-edits"><%= mw.msg( 
'pagetriage-filter-reviewed-edits' ) %></label> <br/>
-                                                                               
<input type="checkbox" id="mwe-pt-filter-nominated-for-deletion" /> <label 
for="mwe-pt-filter-nominated-for-deletion"><%= mw.msg( 
'pagetriage-filter-nominated-for-deletion' ) %></label> <br/>
-                                                                               
<input type="checkbox" id="mwe-pt-filter-redirects" /> <label 
for="mwe-pt-filter-redirects"><%= mw.msg( 'pagetriage-filter-redirects' ) 
%></label> <br/>
-                                                                       </div>
+                               </span>
+                               <span id="mwe-pt-filter-dropdown-control" 
class="mwe-pt-control-label">
+                                       <b>
+                                               <%= mw.msg( 
'pagetriage-filter-list-prompt' ) %>
+                                               <span 
id="mwe-pt-dropdown-arrow">$dropdownArrow</span>
+                                               <!--<span 
class="mwe-pt-dropdown-open">&#x25be;</span>-->
+                                       </b>
+                                       <div 
id="mwe-pt-control-dropdown-pokey"></div>
+                                       <div id="mwe-pt-control-dropdown" 
class="mwe-pt-control-gradient shadow">
+                                               <form>
+                                                       <div 
class="mwe-pt-control-section">
+                                                               <span 
class="mwe-pt-control-label">
+                                                                       <b><%= 
mw.msg( 'pagetriage-filter-show-heading' ) %></b>
+                                                               </span>
+                                                               <div 
class="mwe-pt-control-options">
+                                                                       <input 
type="checkbox" id="mwe-pt-filter-unreviewed-edits" />
+                                                                       <label 
for="mwe-pt-filter-unreviewed-edits">
+                                                                               
<%= mw.msg( 'pagetriage-filter-unreviewed-edits' ) %>
+                                                                       
</label> <br/>
+                                                                       <input 
type="checkbox" id="mwe-pt-filter-reviewed-edits" />
+                                                                       <label 
for="mwe-pt-filter-reviewed-edits">
+                                                                               
<%= mw.msg( 'pagetriage-filter-reviewed-edits' ) %>
+                                                                       
</label> <br/>
+                                                                       <input 
type="checkbox" id="mwe-pt-filter-nominated-for-deletion" />
+                                                                       <label 
for="mwe-pt-filter-nominated-for-deletion">
+                                                                               
<%= mw.msg( 'pagetriage-filter-nominated-for-deletion' ) %>
+                                                                       
</label> <br/>
+                                                                       <input 
type="checkbox" id="mwe-pt-filter-redirects" />
+                                                                       <label 
for="mwe-pt-filter-redirects">
+                                                                               
<%= mw.msg( 'pagetriage-filter-redirects' ) %>
+                                                                       
</label> <br/>
                                                                </div>
-                                                               <div 
class="mwe-pt-control-section">
-                                                                       <span 
class="mwe-pt-control-label"><b><%= mw.msg( 
'pagetriage-filter-namespace-heading' ) %></b></span>
-                                                                       <div 
class="mwe-pt-control-options">
-                                                                               
<select id="mwe-pt-filter-namespace">
-                                                                               
        <!--<option value=""><%= mw.msg( 'pagetriage-filter-ns-all' ) 
%></option>-->
-                                                                               
        <%
-                                                                               
                var wgFormattedNamespaces = mw.config.get( 
'wgFormattedNamespaces' );
-                                                                               
                var wgPageTriageNamespaces = mw.config.get( 
'wgPageTriageNamespaces' );
-                                                                               
                var nsOptions = '', namespaceNumber;
-                                                                               
                for ( var key in wgFormattedNamespaces ) {
-                                                                               
                        namespaceNumber = wgPageTriageNamespaces[key];
-                                                                               
                        if ( typeof wgFormattedNamespaces[namespaceNumber] === 
'undefined' ) {
-                                                                               
                                continue;
-                                                                               
                        }
-                                                                               
                        if ( wgFormattedNamespaces[namespaceNumber] === '' ) {
-                                                                               
                                nsOptions += String('<option value="' + 
String(namespaceNumber) + '">' + mw.msg( 'pagetriage-filter-article' ) + 
'</option>');
-                                                                               
                        } else {
-                                                                               
                                nsOptions += String('<option value="' + 
String(namespaceNumber) + '">' + wgFormattedNamespaces[namespaceNumber] + 
'</option>');
-                                                                               
                        }
+                                                       </div>
+                                                       <div 
class="mwe-pt-control-section">
+                                                               <span 
class="mwe-pt-control-label">
+                                                                       <b><%= 
mw.msg( 'pagetriage-filter-namespace-heading' ) %></b>
+                                                               </span>
+                                                               <div 
class="mwe-pt-control-options">
+                                                                       <select 
id="mwe-pt-filter-namespace">
+                                                                               
<!--<option value="">
+                                                                               
        <%= mw.msg( 'pagetriage-filter-ns-all' ) %>
+                                                                               
</option>-->
+                                                                               
<%
+                                                                               
        var wgFormattedNamespaces = mw.config.get( 'wgFormattedNamespaces' );
+                                                                               
        var wgPageTriageNamespaces = mw.config.get( 'wgPageTriageNamespaces' );
+                                                                               
        var nsOptions = '', namespaceNumber;
+                                                                               
        for ( var key in wgFormattedNamespaces ) {
+                                                                               
                namespaceNumber = wgPageTriageNamespaces[key];
+                                                                               
                if ( typeof wgFormattedNamespaces[namespaceNumber] === 
'undefined' ) {
+                                                                               
                        continue;
                                                                                
                }
-                                                                               
                print(nsOptions);
-                                                                               
        %>
-                                                                               
</select>
-                                                                       </div>
+                                                                               
                if ( wgFormattedNamespaces[namespaceNumber] === '' ) {
+                                                                               
                        nsOptions += String(
+                                                                               
                                '<option value="' + String(namespaceNumber) + 
'">'
+                                                                               
                                + mw.msg( 'pagetriage-filter-article' )
+                                                                               
                                + '</option>'
+                                                                               
                        );
+                                                                               
                } else {
+                                                                               
                        nsOptions += String(
+                                                                               
                                '<option value="' + String(namespaceNumber) + 
'">'
+                                                                               
                                + wgFormattedNamespaces[namespaceNumber]
+                                                                               
                                + '</option>'
+                                                                               
                        );
+                                                                               
                }
+                                                                               
        }
+                                                                               
        print(nsOptions);
+                                                                               
%>
+                                                                       
</select>
                                                                </div>
-                                                               <!-- 
abusefilter tags come later.
-                                                               <div 
class="mwe-pt-control-section">
-                                                                       <span 
class="mwe-pt-control-label"><b><%= mw.msg( 'pagetriage-filter-tag-heading' ) 
%></b></span>
-                                                                       <div 
class="mwe-pt-control-options">
-                                                                               
<input type=text id="mwe-pt-filter-tag" />
-                                                                       </div>
+                                                       </div>
+                                                       <!-- abusefilter tags 
come later.
+                                                       <div 
class="mwe-pt-control-section">
+                                                               <span 
class="mwe-pt-control-label">
+                                                                       <b><%= 
mw.msg( 'pagetriage-filter-tag-heading' ) %></b>
+                                                               </span>
+                                                               <div 
class="mwe-pt-control-options">
+                                                                       <input 
type=text id="mwe-pt-filter-tag" />
                                                                </div>
-                                                               -->
-                                                               <div 
class="mwe-pt-control-section">
-                                                                       <span 
class="mwe-pt-control-label"><b><%= mw.msg( 
'pagetriage-filter-second-show-heading' ) %></b></span>
-                                                                       <div 
class="mwe-pt-control-options">
-                                                                               
<input type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-no-categories" 
/> <label for="mwe-pt-filter-no-categories"><%= mw.msg( 
'pagetriage-filter-no-categories' ) %></label> <br/>
-                                                                               
<input type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-orphan" /> 
<label for="mwe-pt-filter-orphan"><%= mw.msg( 'pagetriage-filter-orphan' ) 
%></label> <br/>
-                                                                               
<input type="radio" name="mwe-pt-filter-radio" 
id="mwe-pt-filter-non-autoconfirmed" /> <label 
for="mwe-pt-filter-non-autoconfirmed"><%= mw.msg( 
'pagetriage-filter-non-autoconfirmed' ) %></label> <br/>
-                                                                               
<input type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-blocked" /> 
<label for="mwe-pt-filter-blocked"><%= mw.msg( 'pagetriage-filter-blocked' ) 
%></label> <br/>
-                                                                               
<input type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-bot-edits" /> 
<label for="mwe-pt-filter-bot-edits"><%= mw.msg( 'pagetriage-filter-bot-edits' 
) %></label> <br/>
-                                                                               
<input type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-user-selected" 
/> <label for="mwe-pt-filter-user-selected"><%= mw.msg( 
'pagetriage-filter-user-heading' ) %></label>
-                                                                               
<input type="text" id="mwe-pt-filter-user" placeholder="<%= mw.msg( 
'pagetriage-filter-username' ) %>" /> <br/>
-                                                                               
<input type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-all" /> <label 
for="mwe-pt-filter-all"><%= mw.msg( 'pagetriage-filter-all' ) %></label>
-                                                                       </div>
+                                                       </div>
+                                                       -->
+                                                       <div 
class="mwe-pt-control-section">
+                                                               <span 
class="mwe-pt-control-label">
+                                                                       <b><%= 
mw.msg( 'pagetriage-filter-second-show-heading' ) %></b>
+                                                               </span>
+                                                               <div 
class="mwe-pt-control-options">
+                                                                       <input 
type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-no-categories" />
+                                                                       <label 
for="mwe-pt-filter-no-categories">
+                                                                               
<%= mw.msg( 'pagetriage-filter-no-categories' ) %>
+                                                                       
</label> <br/>
+                                                                       <input 
type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-orphan" />
+                                                                       <label 
for="mwe-pt-filter-orphan">
+                                                                               
<%= mw.msg( 'pagetriage-filter-orphan' ) %>
+                                                                       
</label> <br/>
+                                                                       <input 
type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-non-autoconfirmed" />
+                                                                       <label 
for="mwe-pt-filter-non-autoconfirmed">
+                                                                               
<%= mw.msg( 'pagetriage-filter-non-autoconfirmed' ) %>
+                                                                       
</label> <br/>
+                                                                       <input 
type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-blocked" />
+                                                                       <label 
for="mwe-pt-filter-blocked">
+                                                                               
<%= mw.msg( 'pagetriage-filter-blocked' ) %>
+                                                                       
</label> <br/>
+                                                                       <input 
type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-bot-edits" />
+                                                                       <label 
for="mwe-pt-filter-bot-edits">
+                                                                               
<%= mw.msg( 'pagetriage-filter-bot-edits' ) %>
+                                                                       
</label> <br/>
+                                                                       <input 
type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-user-selected" />
+                                                                       <label 
for="mwe-pt-filter-user-selected">
+                                                                               
<%= mw.msg( 'pagetriage-filter-user-heading' ) %>
+                                                                       </label>
+                                                                       <input 
type="text" id="mwe-pt-filter-user"
+                                                                               
placeholder="<%= mw.msg( 'pagetriage-filter-username' ) %>" /> <br/>
+                                                                       <input 
type="radio" name="mwe-pt-filter-radio" id="mwe-pt-filter-all" />
+                                                                       <label 
for="mwe-pt-filter-all">
+                                                                               
<%= mw.msg( 'pagetriage-filter-all' ) %>
+                                                                       </label>
                                                                </div>
-                                                               <div 
class="mwe-pt-control-buttons">
-                                                                       <div 
id="mwe-pt-filter-set-button" class="ui-button-green"></div>
-                                                               </div>
-                                                       </form>
-                                               </div>
-                                       </span>
-                               </script>
-
-                               <!-- bottom nav template -->
-                               <script type="text/template" 
id="listStatsNavTemplate">
-                                       <div 
id="mwe-pt-refresh-button-holder"><button id="mwe-pt-refresh-button"><%= 
mw.msg( 'pagetriage-refresh-list' ) %></button></div>
-                                       <div id="mwe-pt-unreviewed-stats">
-                                       <% if ( ptrUnreviewedCount ) { %><%= 
mw.msg( 'pagetriage-unreviewed-article-count', ptrUnreviewedCount, ptrOldest ) 
%><% } %>
+                                                       </div>
+                                                       <div 
class="mwe-pt-control-buttons">
+                                                               <div 
id="mwe-pt-filter-set-button" class="ui-button-green"></div>
+                                                       </div>
+                                               </form>
                                        </div>
-                                       <div id="mwe-pt-reviewed-stats">        
        
-                                       <% if ( ptrReviewedCount ) { %><%= 
mw.msg( 'pagetriage-reviewed-article-count-past-week', ptrReviewedCount ) %><% 
} %>
-                                       </div>
-                               </script>
+                               </span>
+                       </script>
 
+                       <!-- bottom nav template -->
+                       <script type="text/template" id="listStatsNavTemplate">
+                               <div id="mwe-pt-refresh-button-holder">
+                                       <button id="mwe-pt-refresh-button"><%= 
mw.msg( 'pagetriage-refresh-list' ) %></button>
+                               </div>
+                               <div id="mwe-pt-unreviewed-stats">
+                               <% if ( ptrUnreviewedCount ) { %>
+                                       <%= mw.msg( 
'pagetriage-unreviewed-article-count', ptrUnreviewedCount, ptrOldest ) %>
+                               <% } %>
+                               </div>
+                               <div id="mwe-pt-reviewed-stats">
+                               <% if ( ptrReviewedCount ) { %>
+                                       <%= mw.msg( 
'pagetriage-reviewed-article-count-past-week', ptrReviewedCount ) %>
+                               <% } %>
+                               </div>
+                       </script>
 HTML;
 
                // Output the HTML for the triage interface
diff --git a/api/ApiPageTriageAction.php b/api/ApiPageTriageAction.php
index 7cf0d13..1474857 100644
--- a/api/ApiPageTriageAction.php
+++ b/api/ApiPageTriageAction.php
@@ -8,7 +8,10 @@
                $params = $this->extractRequestParams();
 
                if ( !ArticleMetadata::validatePageId( array( $params['pageid'] 
), DB_SLAVE ) ) {
-                       $this->dieUsage( 'The page specified does not exist in 
pagetriage queue', 'bad-pagetriage-page' );
+                       $this->dieUsage(
+                               'The page specified does not exist in 
pagetriage queue',
+                               'bad-pagetriage-page'
+                       );
                }
 
                $article = Article::newFromID( $params['pageid'] );
@@ -29,11 +32,18 @@
 
                // notification on mark as reviewed
                if ( !$params['skipnotif'] && $params['reviewed'] ) {
-                       PageTriageUtil::createNotificationEvent( $article, 
$this->getUser(), 'pagetriage-mark-as-reviewed' );
+                       PageTriageUtil::createNotificationEvent(
+                               $article,
+                               $this->getUser(),
+                               'pagetriage-mark-as-reviewed'
+                       );
                }
 
                // logging
-               $logEntry = new ManualLogEntry( 'pagetriage-curation', 
$params['reviewed'] ? 'reviewed' : 'unreviewed' );
+               $logEntry = new ManualLogEntry(
+                       'pagetriage-curation',
+                       $params['reviewed'] ? 'reviewed' : 'unreviewed'
+               );
                $logEntry->setPerformer( $this->getUser() );
                $logEntry->setTarget( $article->getTitle() );
                $note = $wgContLang->truncate( $params['note'], 150 );
diff --git a/api/ApiPageTriageList.php b/api/ApiPageTriageList.php
index 4a1bdcf..2f10b93 100644
--- a/api/ApiPageTriageList.php
+++ b/api/ApiPageTriageList.php
@@ -12,7 +12,7 @@
                $opts = $this->extractRequestParams();
                $pages = null;
 
-               if( $opts['page_id'] ) {
+               if ( $opts['page_id'] ) {
                        // page id was specified
                        $pages = array( $opts['page_id'] );
                        $pageIdValidated = false;
@@ -37,7 +37,9 @@
                        foreach ( $pages as $page ) {
                                if ( isset( $metaData[$page] ) ) {
                                        $metaData[$page]['creation_date_utc'] = 
$metaData[$page]['creation_date'];
-                                       $metaData[$page]['creation_date'] = 
$this->getContext()->getLanguage()->userAdjust( 
$metaData[$page]['creation_date'] );
+                                       $metaData[$page]['creation_date'] = 
$this->getContext()->getLanguage()->userAdjust(
+                                               
$metaData[$page]['creation_date']
+                                       );
 
                                        // Page creator
                                        $metaData[$page] += 
$this->createUserInfo(
@@ -82,7 +84,7 @@
                $userTalkPage = Title::makeTitle( NS_USER_TALK, $userName );
                $userContribsPage = SpecialPage::getTitleFor( 'Contributions', 
$userName );
 
-               return array (
+               return array(
                        $prefix . '_user_page' => $userPage->getPrefixedText(),
                        $prefix . '_user_page_url' => $userPage->getFullURL(),
                        $prefix . '_user_page_exist' => isset( 
$userPageStatus[$userPage->getPrefixedDBkey()] ),
@@ -117,8 +119,8 @@
                }
 
                // Start building the massive filter which includes meta data
-               $tables   = array( 'pagetriage_page', 'page' );
-               $conds    = array( 'ptrp_page_id = page_id' );
+               $tables = array( 'pagetriage_page', 'page' );
+               $conds  = array( 'ptrp_page_id = page_id' );
 
                // Helpful hint: In the ptrp_reviewed column...
                // 0 = unreviewed
@@ -161,10 +163,18 @@
                $dbr = wfGetDB( DB_SLAVE );
 
                // Offset the list by timestamp
-               if ( array_key_exists( 'offset', $opts ) && is_numeric( 
$opts['offset'] ) && $opts['offset'] > 0 ) {
+               if (
+                       array_key_exists( 'offset', $opts ) &&
+                       is_numeric( $opts['offset'] ) &&
+                       $opts['offset'] > 0
+               ) {
                        $opts['offset'] = $dbr->addQuotes( $dbr->timestamp( 
$opts['offset'] ) );
                        // Offset the list by page ID as well (in case multiple 
pages have the same timestamp)
-                       if ( array_key_exists( 'pageoffset', $opts ) && 
is_numeric( $opts['pageoffset'] ) && $opts['pageoffset'] > 0 ) {
+                       if (
+                               array_key_exists( 'pageoffset', $opts ) &&
+                               is_numeric( $opts['pageoffset'] ) &&
+                               $opts['pageoffset'] > 0
+                       ) {
                                $conds[] = '( ptrp_created' . $offsetOperator . 
$opts['offset'] . ') OR ' .
                                        '( ptrp_created = ' . $opts['offset'] 
.' AND ' .
                                        'ptrp_page_id ' . $offsetOperator . 
$opts['pageoffset'] . ')';
@@ -205,32 +215,35 @@
                $tagConds = '';
 
                $searchableTags = array(
-                                       // no categories assigned
-                                       'no_category' => array( 'name' => 
'category_count', 'op' => '=', 'val' => '0' ),
-                                       // no inbound links
-                                       'no_inbound_links' => array( 'name' => 
'linkcount', 'op' => '=', 'val' => '0' ),
-                                       // non auto confirmed users
-                                       'non_autoconfirmed_users' => array( 
'name' => 'user_autoconfirmed', 'op' => '=', 'val' => '0' ),
-                                       // blocked users
-                                       'blocked_users' => array( 'name' => 
'user_block_status', 'op' => '=', 'val' => '1' ),
-                                       // bots
-                                       'showbots' => array( 'name' => 
'user_bot', 'op' => '=', 'val' => '1' ),
-                                       // user name
-                                       'username' => array( 'name' => 
'user_name', 'op' => '=', 'val' => false ) // false means use the actual value
-                               );
+                       // no categories assigned
+                       'no_category' => array( 'name' => 'category_count', 
'op' => '=', 'val' => '0' ),
+                       // no inbound links
+                       'no_inbound_links' => array( 'name' => 'linkcount', 
'op' => '=', 'val' => '0' ),
+                       // non auto confirmed users
+                       'non_autoconfirmed_users' => array( 'name' => 
'user_autoconfirmed', 'op' => '=', 'val' => '0' ),
+                       // blocked users
+                       'blocked_users' => array( 'name' => 
'user_block_status', 'op' => '=', 'val' => '1' ),
+                       // bots
+                       'showbots' => array( 'name' => 'user_bot', 'op' => '=', 
'val' => '1' ),
+                       // user name
+                       // false means use the actual value
+                       'username' => array( 'name' => 'user_name', 'op' => 
'=', 'val' => false )
+               );
 
                $tags = ArticleMetadata::getValidTags();
 
                // only single tag search is allowed
                foreach ( $searchableTags as $key => $val ) {
                        if ( $opts[$key] ) {
-                               if( $val['val'] === false ) {
+                               if ( $val['val'] === false ) {
                                        // if val is false, use the value that 
was supplied via the api call
-                                       $tagConds = " ptrpt_page_id = 
ptrp_page_id AND ptrpt_tag_id = '" . $tags[$val['name']] . "' AND ptrpt_value " 
.
-                                               $val['op'] . " " . 
$dbr->addQuotes( $opts[$key] );
+                                       $tagConds = " ptrpt_page_id = 
ptrp_page_id AND ptrpt_tag_id = '"
+                                               . $tags[$val['name']] . "' AND 
ptrpt_value "
+                                               . $val['op'] . " " . 
$dbr->addQuotes( $opts[$key] );
                                } else {
-                                       $tagConds = " ptrpt_page_id = 
ptrp_page_id AND ptrpt_tag_id = '" . $tags[$val['name']] . "' AND ptrpt_value " 
.
-                                               $val['op'] . " " . 
$dbr->addQuotes( $val['val'] );
+                                       $tagConds = " ptrpt_page_id = 
ptrp_page_id AND ptrpt_tag_id = '"
+                                               . $tags[$val['name']] . "' AND 
ptrpt_value "
+                                               . $val['op'] . " " . 
$dbr->addQuotes( $val['val'] );
                                }
                                break;
                        }
@@ -302,10 +315,14 @@
                return array(
                        'page_id' => 'Return data for the specified page ids, 
ignoring other parameters',
                        'showbots' => 'Whether to show only bot edits',
-                       'showredirs' => 'Whether to include redirects or not', 
// default is not to show redirects
-                       'showreviewed' => 'Whether to include reviewed or not', 
// default is not to show reviewed
-                       'showunreviewed' => 'Whether to include unreviewed or 
not', // default is not to show unreviewed
-                       'showdeleted' => 'Whether to include "proposed for 
deleted" or not', // default is not to show deleted
+                       // default is not to show redirects
+                       'showredirs' => 'Whether to include redirects or not',
+                       // default is not to show reviewed
+                       'showreviewed' => 'Whether to include reviewed or not',
+                       // default is not to show unreviewed
+                       'showunreviewed' => 'Whether to include unreviewed or 
not',
+                       // default is not to show deleted
+                       'showdeleted' => 'Whether to include "proposed for 
deleted" or not',
                        'limit' => 'The maximum number of results to return',
                        'offset' => 'Timestamp to start from',
                        'pageoffset' => 'Page ID to start from (requires offset 
param to be passed as well)',
diff --git a/api/ApiPageTriageStats.php b/api/ApiPageTriageStats.php
index 256b7f6..136fd59 100644
--- a/api/ApiPageTriageStats.php
+++ b/api/ApiPageTriageStats.php
@@ -48,10 +48,14 @@
        public function getParamDescription() {
                return array(
                        'namespace' => 'What namespace to pull stats from',
-                       'showredirs' => 'Whether to include redirects or not', 
// default is not to show redirects
-                       'showreviewed' => 'Whether to include reviewed or not', 
// default is not to show reviewed
-                       'showunreviewed' => 'Whether to include unreviewed or 
not', // default is not to show unreviewed
-                       'showdeleted' => 'Whether to include "proposed for 
deleted" or not', // default is not to show deleted
+                       // default is not to show redirects
+                       'showredirs' => 'Whether to include redirects or not',
+                       // default is not to show reviewed
+                       'showreviewed' => 'Whether to include reviewed or not',
+                       // default is not to show unreviewed
+                       'showunreviewed' => 'Whether to include unreviewed or 
not',
+                       // default is not to show deleted
+                       'showdeleted' => 'Whether to include "proposed for 
deleted" or not',
                );
        }
 
diff --git a/api/ApiPageTriageTagging.php b/api/ApiPageTriageTagging.php
index df4c0ce..82c9301 100644
--- a/api/ApiPageTriageTagging.php
+++ b/api/ApiPageTriageTagging.php
@@ -8,7 +8,10 @@
                $params = $this->extractRequestParams();
 
                if ( !ArticleMetadata::validatePageId( array( $params['pageid'] 
), DB_SLAVE ) ) {
-                       $this->dieUsage( 'The page specified does not exist in 
pagetriage queue', 'bad-pagetriage-page' );
+                       $this->dieUsage(
+                               'The page specified does not exist in 
pagetriage queue',
+                               'bad-pagetriage-page'
+                       );
                }
 
                $article = Article::newFromID( $params['pageid'] );
@@ -46,16 +49,25 @@
                        if ( isset( $metaData[$params['pageid']] ) ) {
                                foreach ( array( 'csd_status', 'prod_status', 
'blp_prod_status', 'afd_status' ) as $val ) {
                                        if ( $metaData[$params['pageid']][$val] 
== '1' ) {
-                                               $this->dieUsage( 'The page has 
been nominated for deletion', 'pagetriage-tag-deletion-error' );
+                                               $this->dieUsage(
+                                                       'The page has been 
nominated for deletion',
+                                                       
'pagetriage-tag-deletion-error'
+                                               );
                                        }
                                }
                        } else {
-                               $this->dieUsage( 'The page specified does not 
exist in pagetriage queue', 'bad-pagetriage-page' );
+                               $this->dieUsage(
+                                       'The page specified does not exist in 
pagetriage queue',
+                                       'bad-pagetriage-page'
+                               );
                        }
                }
 
                if ( $apiParams ) {
-                       $projectLink = '[[' . $wgPageTriageProjectLink . '|' . 
wfMessage( 'pagetriage-pagecuration' )->plain() . ']]';
+                       $projectLink = '[['
+                               . $wgPageTriageProjectLink . '|'
+                               . wfMessage( 'pagetriage-pagecuration' 
)->plain()
+                               . ']]';
                        if ( $params['deletion'] ) {
                                $editSummary = wfMessage( 
'pagetriage-del-edit-summary', $projectLink, $tags )->plain();
                        } else {
@@ -72,10 +84,10 @@
                                        new DerivativeRequest(
                                                $this->getRequest(),
                                                $apiParams + array(
-                                                       'action'  => 'edit',
-                                                       'title'   => 
$title->getFullText(),
-                                                       'token'   => 
$params['token'],
-                                                       'summary' => 
$editSummary,
+                                                       'action'        => 
'edit',
+                                                       'title'         => 
$title->getFullText(),
+                                                       'token'         => 
$params['token'],
+                                                       'summary'       => 
$editSummary,
                                                ),
                                                true
                                        ),
@@ -93,12 +105,22 @@
                                                'pagetriage-curation' => 
'delete',
                                                'pagetriage-deletion' => 
'delete'
                                        );
-                                       
PageTriageUtil::createNotificationEvent( $article, $this->getUser(), 
'pagetriage-add-deletion-tag', $params['taglist'] );
+                                       PageTriageUtil::createNotificationEvent(
+                                               $article,
+                                               $this->getUser(),
+                                               'pagetriage-add-deletion-tag',
+                                               $params['taglist']
+                                       );
                                } else {
                                        $entry = array(
                                                'pagetriage-curation' => 'tag'
                                        );
-                                       
PageTriageUtil::createNotificationEvent( $article, $this->getUser(), 
'pagetriage-add-maintenance-tag', $params['taglist'] );
+                                       PageTriageUtil::createNotificationEvent(
+                                               $article,
+                                               $this->getUser(),
+                                               
'pagetriage-add-maintenance-tag',
+                                               $params['taglist']
+                                       );
                                }
 
                                foreach ( $entry as $type => $action ) {
diff --git a/api/ApiPageTriageTemplate.php b/api/ApiPageTriageTemplate.php
index 2a89953..29fc85f 100644
--- a/api/ApiPageTriageTemplate.php
+++ b/api/ApiPageTriageTemplate.php
@@ -10,14 +10,14 @@
 class ApiPageTriageTemplate extends ApiBase {
 
        public function execute() {
-               global $ptTemplatePath;
+               global $wgPtTemplatePath;
 
                // Get the API parameters and store them
                $opts = $this->extractRequestParams();
 
                $view = $opts['view'];
                // validate
-               if( preg_match( '/\W/', $view ) ) {
+               if ( preg_match( '/\W/', $view ) ) {
                        $result = array( 'result' => 'error', 'errormsg' => 
'Invalid view' );
                        $this->getResult()->addValue( null, 
$this->getModuleName(), $result );
                        return;
@@ -29,20 +29,23 @@
 
                foreach ( array_unique( $templates ) as $template ) {
                        // validate
-                       if( !preg_match( '/^\w+\.html$/', $template ) ) {
+                       if ( !preg_match( '/^\w+\.html$/', $template ) ) {
                                $result = array( 'result' => 'error', 
'errormsg' => 'Invalid template: ' . $template );
                                $this->getResult()->addValue( null, 
$this->getModuleName(), $result );
                                return;
                        }
 
-                       $localPath = $ptTemplatePath . '/ext.pageTriage.views.' 
. $view . '/ext.pageTriage.' . $template;
+                       $localPath =
+                               $wgPtTemplatePath
+                               . '/ext.pageTriage.views.' . $view
+                               . '/ext.pageTriage.' . $template;
                        if ( !file_exists( $localPath ) ) {
                                $error = "template file not found: 
\"$localPath\"";
                                $result = array( 'result' => 'error', 
'errormsg' => $error );
                                $this->getResult()->addValue( null, 
$this->getModuleName(), $result );
                                return;
                        }
-                       $contents[$template]= file_get_contents( $localPath );
+                       $contents[$template] = file_get_contents( $localPath );
                }
 
                // Output the results
@@ -69,7 +72,7 @@
        public function getParamDescription() {
                return array(
                        'view' => 'The PageTriage view for which you need the 
templates.',
-                       'template' => 'The template to fetch.  Separate 
multiple with the | character',
+                       'template' => 'The template to fetch. Separate multiple 
with the | character',
                );
        }
 
diff --git a/composer.json b/composer.json
index f2883f7..263ca10 100644
--- a/composer.json
+++ b/composer.json
@@ -1,10 +1,12 @@
 {
        "require-dev": {
-               "jakub-onderka/php-parallel-lint": "0.9"
+               "jakub-onderka/php-parallel-lint": "0.9",
+               "mediawiki/mediawiki-codesniffer": "0.3.0"
        },
        "scripts": {
                "test": [
-                       "parallel-lint . --exclude vendor"
+                       "parallel-lint . --exclude vendor",
+                       "phpcs 
--standard=vendor/mediawiki/mediawiki-codesniffer/MediaWiki 
--extensions=php,php5,inc --ignore=vendor -p ."
                ]
        }
 }
diff --git a/cron/updatePageTriageQueue.php b/cron/updatePageTriageQueue.php
index 53fdc49..68f65d5 100644
--- a/cron/updatePageTriageQueue.php
+++ b/cron/updatePageTriageQueue.php
@@ -4,12 +4,12 @@
 if ( $IP === false ) {
        $IP = dirname( __FILE__ ) . '/../../..';
 }
-require_once( "$IP/maintenance/Maintenance.php" );
+require_once ( "$IP/maintenance/Maintenance.php" );
 
 /**
  * A maintenance script that updates expired user metadata
  */
-class updatePageTriageQueue extends Maintenance {
+class UpdatePageTriageQueue extends Maintenance {
 
        /**
         * Max number of article to process at a time
@@ -58,7 +58,7 @@
                while ( $count === $this->batchSize ) {
                        $count = 0;
                        $startTime = $this->dbr->addQuotes( 
$this->dbr->timestamp( $startTime ) );
-                       $startId = ( int )$startId;
+                       $startId = (int)$startId;
 
                        // Remove pages older than 30 days, if
                        // 1. the page has been reviewed, or
@@ -118,5 +118,5 @@
        }
 }
 
-$maintClass = "updatePageTriageQueue";
-require_once( DO_MAINTENANCE );
+$maintClass = "UpdatePageTriageQueue";
+require_once ( DO_MAINTENANCE );
diff --git a/cron/updateUserMetadata.php b/cron/updateUserMetadata.php
index cd846c2..59954d6 100644
--- a/cron/updateUserMetadata.php
+++ b/cron/updateUserMetadata.php
@@ -4,12 +4,12 @@
 if ( $IP === false ) {
        $IP = dirname( __FILE__ ) . '/../../..';
 }
-require_once( "$IP/maintenance/Maintenance.php" );
+require_once ( "$IP/maintenance/Maintenance.php" );
 
 /**
  * A maintenance script that updates expired user metadata
  */
-class updateUserMetadata extends Maintenance {
+class UpdateUserMetadata extends Maintenance {
 
        /**
         * Max number of article to process at a time
@@ -64,7 +64,7 @@
                while ( $count === $this->batchSize ) {
                        $count = 0;
                        $startTime = $this->dbr->addQuotes( 
$this->dbr->timestamp( $startTime ) );
-                       $startId = ( int )$startId;
+                       $startId = (int)$startId;
 
                        $res = $this->dbr->select(
                                array( 'pagetriage_page', 'page' ),
@@ -109,5 +109,5 @@
        }
 }
 
-$maintClass = "updateUserMetadata";
-require_once( DO_MAINTENANCE );
+$maintClass = "UpdateUserMetadata";
+require_once ( DO_MAINTENANCE );
diff --git a/includes/ArticleMetadata.php b/includes/ArticleMetadata.php
index 1efc6d6..e7cef2e 100755
--- a/includes/ArticleMetadata.php
+++ b/includes/ArticleMetadata.php
@@ -27,7 +27,7 @@
         */
        public function deleteMetadata() {
                if ( $this->mPageId ) {
-                       $dbw  = wfGetDB( DB_MASTER );
+                       $dbw = wfGetDB( DB_MASTER );
                        $dbw->delete(
                                'pagetriage_page_tags',
                                array( 'ptrpt_page_id' => $this->mPageId ),
@@ -52,10 +52,10 @@
                $keyPrefix = $this->memcKeyPrefix();
                if ( is_null( $pageId ) ) {
                        foreach ( $this->mPageId as $pageId ) {
-                               $cache->delete(  $keyPrefix . '-' . $pageId );
+                               $cache->delete( $keyPrefix . '-' . $pageId );
                        }
                } else {
-                       $cache->delete(  $keyPrefix . '-' . $pageId );
+                       $cache->delete( $keyPrefix . '-' . $pageId );
                }
        }
 
@@ -67,7 +67,7 @@
        public function setMetadataToCache( $pageId, $singleData ) {
                $cache = ObjectCache::getMainWANInstance();
                $this->flushMetadataFromCache( $pageId );
-               $cache->set(  $this->memcKeyPrefix() . '-' . $pageId, 
$singleData, 86400 ); // 24 hours
+               $cache->set( $this->memcKeyPrefix() . '-' . $pageId, 
$singleData, 86400 ); // 24 hours
        }
 
        /**
@@ -159,7 +159,10 @@
                                        
$pageData[$row->ptrpt_page_id]['patrol_status'] = $row->ptrp_reviewed;
                                        
$pageData[$row->ptrpt_page_id]['is_redirect'] = $row->page_is_redirect;
                                        
$pageData[$row->ptrpt_page_id]['ptrp_last_reviewed_by'] = 
$row->ptrp_last_reviewed_by;
-                                       
$pageData[$row->ptrpt_page_id]['ptrp_reviewed_updated'] = wfTimestamp( TS_MW, 
$row->ptrp_reviewed_updated );
+                                       
$pageData[$row->ptrpt_page_id]['ptrp_reviewed_updated'] = wfTimestamp(
+                                               TS_MW,
+                                               $row->ptrp_reviewed_updated
+                                       );
                                        
$pageData[$row->ptrpt_page_id]['reviewer'] = $row->reviewer;
                                        $title = Title::makeTitle( 
$row->page_namespace, $row->page_title );
                                        if ( $title ) {
@@ -211,14 +214,14 @@
 
                $key = wfMemcKey( 'pagetriage', 'valid', 'tags', 
$wgPageTriageCacheVersion );
                $tags = $wgMemc->get( $key );
-               if ( $tags === false  ) {
+               if ( $tags === false ) {
                        $tags = array();
 
                        $dbr = wfGetDB( DB_SLAVE );
                        $res = $dbr->select(
                                        array( 'pagetriage_tags' ),
                                        array( 'ptrt_tag_id', 'ptrt_tag_name' ),
-                                       array( ),
+                                       array(),
                                        __METHOD__
                        );
 
@@ -246,7 +249,7 @@
 
                $cleanUp = array();
                foreach ( $pageIds as $key => $val ) {
-                       $casted = ( int )$val;
+                       $casted = (int)$val;
                        if ( $casted ) {
                                if ( isset( $cache[$casted] ) ) {
                                        if ( $cache[$casted] ) {
@@ -424,7 +427,7 @@
                if ( in_array( 'CategoryCount', $completed ) ) {
                        $deletionTags = 
ArticleCompileDeletionTag::getDeletionTags();
                        foreach ( $this->metadata as $pageId => $row ) {
-                               foreach( $deletionTags as $val ) {
+                               foreach ( $deletionTags as $val ) {
                                        if ( $this->metadata[$pageId][$val] ) {
                                                
$this->metadata[$pageId]['category_count'] -= 1;
                                        }
@@ -476,14 +479,19 @@
                        $articleMetadata->flushMetadataFromCache();
                        //Make sure either all or none metadata for a single 
page_id
                        $dbw->startAtomic( __METHOD__ );
-                       foreach ( $data as $key => $val) {
+                       foreach ( $data as $key => $val ) {
                                if ( isset( $tags[$key] ) ) {
-                                       $row = array (
+                                       $row = array(
                                                'ptrpt_page_id' => $pageId,
                                                'ptrpt_tag_id' => $tags[$key],
                                                'ptrpt_value' => $val
                                        );
-                                       $dbw->replace( 'pagetriage_page_tags', 
array( 'ptrpt_page_id', 'ptrpt_tag_id' ), $row, __METHOD__ );
+                                       $dbw->replace(
+                                               'pagetriage_page_tags',
+                                               array( 'ptrpt_page_id', 
'ptrpt_tag_id' ),
+                                               $row,
+                                               __METHOD__
+                                       );
                                }
                        }
                        $pt = new PageTriage( $pageId );
@@ -525,7 +533,7 @@
                $this->componentDb = $componentDb;
        }
 
-       public abstract function compile();
+       abstract public function compile();
 
        public function getMetadata() {
                return $this->metadata;
@@ -541,7 +549,13 @@
         * @param $indexName string - the array index name to be saved
         */
        protected function processEstimatedCount( $pageId, $table, $conds, 
$maxNumToProcess, $indexName ) {
-               $res = $this->db->select( $table, '1', $conds, __METHOD__, 
array( 'LIMIT' => $maxNumToProcess + 1 ) );
+               $res = $this->db->select(
+                       $table,
+                       '1',
+                       $conds,
+                       __METHOD__,
+                       array( 'LIMIT' => $maxNumToProcess + 1 )
+               );
 
                $record = $this->db->numRows( $res );
                if ( $record > $maxNumToProcess ) {
@@ -577,10 +591,10 @@
                $count = 0;
                //Process page individually because MIN() GROUP BY is slow
                foreach ( $this->mPageId as $pageId ) {
-                       $table = array ( 'revision', 'page' );
-                       $conds = array ( 'rev_page' => $pageId, 'page_id = 
rev_page' );
+                       $table = array( 'revision', 'page' );
+                       $conds = array( 'rev_page' => $pageId, 'page_id = 
rev_page' );
 
-                       $row = $this->db->selectRow( $table, array ( 
'MIN(rev_timestamp) AS creation_date' ),
+                       $row = $this->db->selectRow( $table, array( 
'MIN(rev_timestamp) AS creation_date' ),
                                                $conds, __METHOD__ );
                        if ( $row ) {
                                $this->metadata[$pageId]['creation_date'] = 
wfTimestamp( TS_MW, $row->creation_date );
@@ -595,15 +609,16 @@
                }
 
                $res = $this->db->select(
-                               array ( 'page', 'pagetriage_page', 'user' ),
-                               array (
+                               array( 'page', 'pagetriage_page', 'user' ),
+                               array(
                                        'page_id', 'page_namespace', 
'page_title', 'page_len',
-                                       'ptrp_reviewed', 'page_is_redirect', 
'ptrp_last_reviewed_by', 'ptrp_reviewed_updated', 'user_name AS reviewer'
+                                       'ptrp_reviewed', 'page_is_redirect', 
'ptrp_last_reviewed_by',
+                                       'ptrp_reviewed_updated', 'user_name AS 
reviewer'
                                ),
-                               array ( 'page_id' => $this->mPageId, 'page_id = 
ptrp_page_id'),
+                               array( 'page_id' => $this->mPageId, 'page_id = 
ptrp_page_id' ),
                                __METHOD__,
-                               array (),
-                               array ( 'user' => array( 'LEFT JOIN', 'user_id 
= ptrp_last_reviewed_by' ) )
+                               array(),
+                               array( 'user' => array( 'LEFT JOIN', 'user_id = 
ptrp_last_reviewed_by' ) )
                );
                foreach ( $res as $row ) {
                        if ( isset( $this->articles[$row->page_id] ) ) {
@@ -617,7 +632,10 @@
                        $this->metadata[$row->page_id]['patrol_status'] = 
$row->ptrp_reviewed;
                        $this->metadata[$row->page_id]['is_redirect'] = 
$row->page_is_redirect;
                        $this->metadata[$row->page_id]['ptrp_last_reviewed_by'] 
= $row->ptrp_last_reviewed_by;
-                       $this->metadata[$row->page_id]['ptrp_reviewed_updated'] 
= wfTimestamp( TS_MW, $row->ptrp_reviewed_updated );
+                       $this->metadata[$row->page_id]['ptrp_reviewed_updated'] 
= wfTimestamp(
+                               TS_MW,
+                               $row->ptrp_reviewed_updated
+                       );
                        $this->metadata[$row->page_id]['reviewer'] = 
$row->reviewer;
                        if ( $title ) {
                                $this->metadata[$row->page_id]['title'] = 
$title->getPrefixedText();
@@ -747,9 +765,11 @@
                        $attempt++;
                }
 
-               $text = trim( strip_tags( htmlspecialchars_decode( 
MessageCache::singleton()->parse( $text )->getText() ) ) );
+               $text = trim( strip_tags( htmlspecialchars_decode(
+                       MessageCache::singleton()->parse( $text )->getText()
+               ) ) );
                // strip out non-useful data for snippet
-               $text = str_replace( array('{', '}', '[edit]' ), '', $text );
+               $text = str_replace( array( '{', '}', '[edit]' ), '', $text );
 
                return $wgLang->truncate( $text, 150 );
        }
@@ -762,11 +782,11 @@
                $closeTag = strpos( $text, '</ref>' );
 
                if ( $closeTag !== false ) {
-                       $openTag = strpos( $text, '<ref ');
-                       if (  $openTag !== false && $openTag < $closeTag ) {
+                       $openTag = strpos( $text, '<ref ' );
+                       if ( $openTag !== false && $openTag < $closeTag ) {
                                return '1';
                        }
-                       $openTag = strpos( $text, '<ref>');
+                       $openTag = strpos( $text, '<ref>' );
                        if ( $openTag !== false && $openTag < $closeTag ) {
                                return '1';
                        }
@@ -830,8 +850,12 @@
                                $this->metadata[$row->page_id]['user_id'] = 
$row->user_id;
                                $this->metadata[$row->page_id]['user_name'] = 
$user->getName();
                                
$this->metadata[$row->page_id]['user_editcount'] = $user->getEditCount();
-                               
$this->metadata[$row->page_id]['user_creation_date'] = wfTimestamp( TS_MW, 
$user->getRegistration() );
-                               
$this->metadata[$row->page_id]['user_autoconfirmed'] = $user->isAllowed( 
'autoconfirmed' ) ? '1' : '0';
+                               
$this->metadata[$row->page_id]['user_creation_date'] = wfTimestamp(
+                                       TS_MW,
+                                       $user->getRegistration()
+                               );
+                               
$this->metadata[$row->page_id]['user_autoconfirmed'] =
+                                       $user->isAllowed( 'autoconfirmed' ) ? 
'1' : '0';
                                $this->metadata[$row->page_id]['user_bot'] = 
$user->isAllowed( 'bot' ) ? '1' : '0';
                                
$this->metadata[$row->page_id]['user_block_status'] = $row->ipb_id ? '1' : '0';
                        // User doesn't exist, etc IP
@@ -862,7 +886,7 @@
        }
 
        public static function getDeletionTags() {
-               return array (
+               return array(
                        'All_articles_proposed_for_deletion' => 'prod_status',
                        'BLP_articles_proposed_for_deletion' => 
'blp_prod_status',
                        'Candidates_for_speedy_deletion' => 'csd_status',
diff --git a/includes/PageTriage.php b/includes/PageTriage.php
index 7c2f7bc..e13c7a9 100755
--- a/includes/PageTriage.php
+++ b/includes/PageTriage.php
@@ -23,7 +23,7 @@
         * @param $pageId int
         */
        public function __construct( $pageId ) {
-               $this->mPageId = ( int )$pageId;
+               $this->mPageId = (int)$pageId;
                $this->mLoaded = false;
        }
 
@@ -118,7 +118,7 @@
                //@Todo - case for marking a page as untriaged and make sure 
this logic is correct
                if ( !$fromRc && $this->mReviewed && !is_null( $user ) ) {
                        $rc = RecentChange::newFromConds( array( 'rc_cur_id' => 
$this->mPageId, 'rc_new' => '1' ) );
-                       if ( $rc && !$rc->getAttribute('rc_patrolled') ) {
+                       if ( $rc && !$rc->getAttribute( 'rc_patrolled' ) ) {
                                $rc->reallyMarkPatrolled();
                                PatrolLog::record( $rc, false, $user );
                        }
@@ -134,7 +134,7 @@
                $articleMetadata = new ArticleMetadata( array( $this->mPageId ) 
);
                $metadataArray = $articleMetadata->getMetadata();
 
-               if( array_key_exists( $this->mPageId, $metadataArray ) ) {
+               if ( array_key_exists( $this->mPageId, $metadataArray ) ) {
                        $articleMetadata->flushMetadataFromCache( 
$this->mPageId );
                }
        }
@@ -144,7 +144,7 @@
         * @param $row array key => value pair to be updated
         * Todo: ptrpt_reviewed should not updated from this function, add 
exception to catch this
         *       or find a better solution
-        */
+                */
        public function update( $row ) {
                if ( !$row ) {
                        return;
@@ -221,7 +221,7 @@
 
        protected function loadArticleMetadata() {
                if ( !$this->mArticleMetadata ) {
-                       $this->mArticleMetadata = new ArticleMetadata( array( 
$this->mPageId ));
+                       $this->mArticleMetadata = new ArticleMetadata( array( 
$this->mPageId ) );
                }
        }
 
@@ -276,8 +276,14 @@
         * @return array
         */
        public static function getValidReviewedStatus() {
-               return array( '0' => 'unreviewed', '1' => 'reviewed', '2' => 
'patrolled', '3' => 'auto-patrolled' );
+               return array(
+                       '0' => 'unreviewed',
+                       '1' => 'reviewed',
+                       '2' => 'patrolled',
+                       '3' => 'auto-patrolled'
+               );
        }
 }
 
-class MWPageTriageMissingRevisionException extends Exception {}
+class MWPageTriageMissingRevisionException extends Exception {
+}
diff --git a/includes/PageTriageLogFormatter.php 
b/includes/PageTriageLogFormatter.php
index 06b6932..0d2889c 100644
--- a/includes/PageTriageLogFormatter.php
+++ b/includes/PageTriageLogFormatter.php
@@ -22,8 +22,9 @@
                        $params['tagnumber'] = count( $parameters['tags'] );
                }
 
-               return wfMessage( 'logentry-' . $this->entry->getType() . '-' . 
$this->entry->getSubtype(), $params );
+               return wfMessage(
+                       'logentry-' . $this->entry->getType() . '-' . 
$this->entry->getSubtype(), $params
+               );
        }
 
 }
-
diff --git a/includes/PageTriageUtil.php b/includes/PageTriageUtil.php
index 0e7af09..bc6c02a 100755
--- a/includes/PageTriageUtil.php
+++ b/includes/PageTriageUtil.php
@@ -65,7 +65,11 @@
 
                $namespace = self::validatePageNamespace( $namespace );
 
-               $key = wfMemcKey( 'pagetriage', 'unreviewed-article-' . 
$namespace, 'stat', self::getCacheVersion() );
+               $key = wfMemcKey(
+                       'pagetriage',
+                       'unreviewed-article-' . $namespace,
+                       'stat', self::getCacheVersion()
+               );
 
                $data = $wgMemc->get( $key );
                if ( $data !== false ) {
@@ -91,7 +95,7 @@
                $data = array( 'count' => 0, 'oldest' => '' );
 
                if ( $res ) {
-                       $data['count'] = ( int )$res->total;
+                       $data['count'] = (int)$res->total;
                        $data['oldest'] = $res->oldest;
                }
 
@@ -114,7 +118,11 @@
 
                $namespace = self::validatePageNamespace( $namespace );
 
-               $key = wfMemcKey( 'pagetriage', 'filter-article-' . implode( 
'-', $filter ) . '-' . $namespace, 'stat', self::getCacheVersion() );
+               $key = wfMemcKey(
+                       'pagetriage',
+                       'filter-article-' . implode( '-', $filter ) . '-' . 
$namespace,
+                       'stat', self::getCacheVersion()
+               );
 
                $data = $wgMemc->get( $key );
                if ( $data !== false ) {
@@ -153,7 +161,7 @@
 
                $total = 0;
                if ( $res ) {
-                       $total = ( int )$res->total;
+                       $total = (int)$res->total;
                }
 
                // make it expire in 10 minutes
@@ -166,7 +174,12 @@
 
                $namespace = self::validatePageNamespace( $namespace );
 
-               $key = wfMemcKey( 'pagetriage', 'reviewed-article-' . 
$namespace, 'stat', self::getCacheVersion() );
+               $key = wfMemcKey(
+                       'pagetriage',
+                       'reviewed-article-' . $namespace,
+                       'stat',
+                       self::getCacheVersion()
+               );
 
                $data = $wgMemc->get( $key );
                if ( $data !== false ) {
@@ -194,7 +207,7 @@
                $data = array( 'reviewed_count' => 0 );
 
                if ( $res ) {
-                       $data['reviewed_count'] = ( int )$res->reviewed_count;
+                       $data['reviewed_count'] = (int)$res->reviewed_count;
                }
 
                // make it expire in 10 minutes
@@ -304,12 +317,16 @@
                        $res = $dbr->select(
                                array( 'page' ),
                                array( 'page_namespace', 'page_title' ),
-                               array( 'page_title' => array_keys( $title ), 
'page_namespace' => array( NS_USER, NS_USER_TALK ) ),
+                               array(
+                                       'page_title' => array_keys( $title ),
+                                       'page_namespace' => array( NS_USER, 
NS_USER_TALK )
+                               ),
                                __METHOD__
                        );
 
                        $dataToCache = array();
-                       // if there is result from the database, that means the 
page exists, set it to the cache array with value 1
+                       // if there is result from the database, that means the 
page exists, set it to the
+                       // cache array with value 1
                        foreach ( $res as $row ) {
                                $user = $title[$row->page_title];
                                if ( $row->page_namespace == NS_USER ) {
@@ -331,7 +348,11 @@
                                } else {
                                        
$return[$value['t']->getPrefixedDBkey()] = 1;
                                }
-                               $wgMemc->set( self::userStatusKey( 
$value['user_name'] ), $dataToCache[$value['user_name']], 3600 );
+                               $wgMemc->set(
+                                       self::userStatusKey( 
$value['user_name'] ),
+                                       $dataToCache[$value['user_name']],
+                                       3600
+                               );
                        }
                }
 
@@ -427,4 +448,5 @@
 
 }
 
-class MWPageTriageUtilInvalidNumberException extends Exception {}
+class MWPageTriageUtilInvalidNumberException extends Exception {
+}
diff --git a/tests/phpunit/ApiPageTriageActionTest.php 
b/tests/phpunit/ApiPageTriageActionTest.php
index c7b07b7..1ad24de 100644
--- a/tests/phpunit/ApiPageTriageActionTest.php
+++ b/tests/phpunit/ApiPageTriageActionTest.php
@@ -85,10 +85,10 @@
 
                $wgUser = self::$users['one']->user;
 
-               list( $result, , $session ) =  $this->doApiRequestWithToken( 
array(
+               list( $result, , $session ) = $this->doApiRequestWithToken( 
array(
                                                                                
'action' => 'pagetriageaction',
                                                                                
'pageid' => 15,
-                                                                               
'reviewed' => '1'), $sessionArray['one'], self::$users['one']->user );
+                                                                               
'reviewed' => '1' ), $sessionArray['one'], self::$users['one']->user );
 
                $this->assertEquals( "success", 
$result['pagetriageaction']['result'] );
        }
@@ -127,7 +127,7 @@
                                array(
                                        'action' => 'pagetriageaction',
                                        'pageid' => 999999999,
-                                       'reviewed' => '1'),
+                                       'reviewed' => '1' ),
                                $sessionArray['one'],
                                self::$users['one']->user
                        );
diff --git a/tests/phpunit/ArticleMetadataTest.php 
b/tests/phpunit/ArticleMetadataTest.php
index 120dead..1aa0044 100644
--- a/tests/phpunit/ArticleMetadataTest.php
+++ b/tests/phpunit/ArticleMetadataTest.php
@@ -52,7 +52,7 @@
        public function testGetValidTags() {
                $tags = ArticleMetadata::getValidTags();
 
-               $validTags = array (
+               $validTags = array(
                                        'linkcount',
                                        'category_count',
                                        'csd_status',
@@ -72,7 +72,7 @@
                                        'reference'
                                );
 
-               $this->assertEmpty( array_diff( array_keys ( $tags ), 
$validTags ) );
+               $this->assertEmpty( array_diff( array_keys( $tags ), $validTags 
) );
        }
 
        /**
@@ -80,20 +80,24 @@
         *
         */
        public function testValidatePageId() {
-               $origPageId = array_merge( $this->pageId, array ( 'cs', 
'99999999', 'abcde', '5ab', '200' ) );
+               $origPageId = array_merge( $this->pageId, array( 'cs', 
'99999999', 'abcde', '5ab', '200' ) );
 
                $pageId = ArticleMetadata::validatePageId( $origPageId );
 
-               $this->assertEquals( count( $origPageId ), count( $pageId ), 
'Article count doesn\'t match after ArticleMetadata::validatePageId()' );
+               $this->assertEquals(
+                       count( $origPageId ),
+                       count( $pageId ),
+                       'Article count doesn\'t match after 
ArticleMetadata::validatePageId()'
+               );
 
                foreach ( $pageId as $val ) {
                        $this->assertEquals( (string)$val, (string)(int)$val );
                }
 
                $res = $this->dbr->select(
-                       array ( 'pagetriage_page' ),
-                       array ( 'ptrp_page_id' ),
-                       array ( 'ptrp_page_id' => $pageId )
+                       array( 'pagetriage_page' ),
+                       array( 'ptrp_page_id' ),
+                       array( 'ptrp_page_id' => $pageId )
                );
                $this->assertEquals( count( $pageId ), $this->dbr->numRows( 
$res ) );
        }
@@ -127,12 +131,12 @@
        /**
         * @depends testGetMetadata
         */
-       public function testDeleteMetadata( ) {
+       public function testDeleteMetadata() {
                $this->articleMetadata->deleteMetadata();
                $res = $this->dbr->select(
-                       array ( 'pagetriage_page_tags' ),
-                       array ( 'ptrpt_page_id' ),
-                       array ( 'ptrpt_page_id' => $this->pageId )
+                       array( 'pagetriage_page_tags' ),
+                       array( 'ptrpt_page_id' ),
+                       array( 'ptrpt_page_id' => $this->pageId )
                );
                $this->assertEquals( 0, $this->dbr->numRows( $res ) );
        }
diff --git a/tests/phpunit/SpecialNewPagesFeedTest.php 
b/tests/phpunit/SpecialNewPagesFeedTest.php
index 8c0351c..b605ecb 100644
--- a/tests/phpunit/SpecialNewPagesFeedTest.php
+++ b/tests/phpunit/SpecialNewPagesFeedTest.php
@@ -104,7 +104,7 @@
                        $alreadyCreated = true;
                }
 
-               if (!$alreadyCreated) {
+               if ( !$alreadyCreated ) {
                        $this->assertEquals( "Success", 
$result['edit']['result'] );
                }
 
diff --git a/tools/cleanupPageTriage.php b/tools/cleanupPageTriage.php
index 4c28d61..72735a2 100644
--- a/tools/cleanupPageTriage.php
+++ b/tools/cleanupPageTriage.php
@@ -5,10 +5,11 @@
  * @ingroup Maintenance
  */
 
-require_once( dirname( __FILE__ ) . '/../../../maintenance/Maintenance.php' );
+require_once ( dirname( __FILE__ ) . '/../../../maintenance/Maintenance.php' );
 
 /**
- * Maintenance script that removes page with namespace other than 
NS_MAIN/NS_USER from pagetriage queue
+ * Maintenance script that removes page with namespace other than 
NS_MAIN/NS_USER
+ * from pagetriage queue
  *
  * @ingroup Maintenance
  */
@@ -37,7 +38,7 @@
                        );
 
                        $page = array();
-                       foreach( $res as $row ) {
+                       foreach ( $res as $row ) {
                                $page[] = $row->page_id;
                                $start  = $row->page_id;
                        };
@@ -75,4 +76,4 @@
 }
 
 $maintClass = 'CleanupPageTriage'; // Tells it to run the class
-require_once( RUN_MAINTENANCE_IF_MAIN );
+require_once ( RUN_MAINTENANCE_IF_MAIN );
diff --git a/tools/cleanupPageTriageLog.php b/tools/cleanupPageTriageLog.php
index 9d631fe..3363ddd 100644
--- a/tools/cleanupPageTriageLog.php
+++ b/tools/cleanupPageTriageLog.php
@@ -6,11 +6,11 @@
  * @ingroup Maintenance
  */
 
-require_once( dirname( __FILE__ ) . '/../../../maintenance/Maintenance.php' );
+require_once ( dirname( __FILE__ ) . '/../../../maintenance/Maintenance.php' );
 
 /**
- * Maintenance script that updates parameter name from '4::tags' to 'tags' in 
pagetriage-curation
- * and pagetriage-deletion log
+ * Maintenance script that updates parameter name from '4::tags' to 'tags' in
+ * pagetriage-curation and pagetriage-deletion log
  *
  * @ingroup Maintenance
  */
@@ -47,7 +47,7 @@
                                );
 
                                $count = 0;
-                               foreach( $res as $row ) {
+                               foreach ( $res as $row ) {
                                        $newLogParams = str_replace( 
's:7:"4::tags";', 's:4:"tags";', $row->log_params );
 
                                        $dbw->update(
@@ -68,4 +68,4 @@
 }
 
 $maintClass = 'CleanupPageTriageLog'; // Tells it to run the class
-require_once( RUN_MAINTENANCE_IF_MAIN );
+require_once ( RUN_MAINTENANCE_IF_MAIN );
diff --git a/tools/cleanupPageTriagePageTags.php 
b/tools/cleanupPageTriagePageTags.php
index c1d2764..093ad28 100644
--- a/tools/cleanupPageTriagePageTags.php
+++ b/tools/cleanupPageTriagePageTags.php
@@ -5,10 +5,11 @@
  * @ingroup Maintenance
  */
 
-require_once( dirname( __FILE__ ) . '/../../../maintenance/Maintenance.php' );
+require_once ( dirname( __FILE__ ) . '/../../../maintenance/Maintenance.php' );
 
 /**
- * Maintenance script that removes data from pagetriage_page_tags with page_id 
not in pagetriage_page
+ * Maintenance script that removes data from pagetriage_page_tags with page_id
+ * not in pagetriage_page
  *
  * @ingroup Maintenance
  */
@@ -38,7 +39,7 @@
 
                        $page = array();
                        $count = 0;
-                       foreach( $res as $row ) {
+                       foreach ( $res as $row ) {
                                if ( !in_array( $row->page_id, $page ) ) {
                                        $page[] = $row->page_id;
                                        $start  = $row->page_id;
@@ -63,4 +64,4 @@
 }
 
 $maintClass = 'CleanupPageTriagePageTags'; // Tells it to run the class
-require_once( RUN_MAINTENANCE_IF_MAIN );
+require_once ( RUN_MAINTENANCE_IF_MAIN );
diff --git a/tools/importNewPages.php b/tools/importNewPages.php
index 997b61e..f178114 100644
--- a/tools/importNewPages.php
+++ b/tools/importNewPages.php
@@ -7,7 +7,9 @@
  *
  * This script can only be run from the command line.
  * The syntax is:
- * php importNewPages.php <# of articles> <username> <password> <source API 
path> <destination API path>
+ *   php importNewPages.php <# of articles> \
+ *     <username> <password> \
+ *     <source API path> <destination API path>
  * The API path parameters are optional.
  **/
 
@@ -66,7 +68,9 @@
 
        function __destruct() {
                curl_close( $this->curlHandle );
-               @unlink('/tmp/cookies'.$this->id.'.dat');
+               MediaWiki\suppressWarnings();
+               unlink( '/tmp/cookies'.$this->id.'.dat' );
+               MediaWiki\restoreWarnings();
        }
 
 }
@@ -133,7 +137,7 @@
         * Get an edit token for the user
         * @return string The token
         **/
-       function getToken () {
+       function getToken() {
                $params = array(
                        'action' => 'query',
                        'format' => 'php',
@@ -163,7 +167,7 @@
                        'rvprop' => 'content'
                );
                $params = http_build_query( $params );
-               $result = $this->get('?'.$params );
+               $result = $this->get( '?'.$params );
                foreach ( $result['query']['pages'] as $page ) {
                        if ( isset( $page['revisions'][0]['*'] ) ) {
                                return $page['revisions'][0]['*'];
@@ -206,7 +210,7 @@
         * @param $text string The text of the new page
         * @return string The result from the API
         **/
-       function createPage ( $title, $text ) {
+       function createPage( $title, $text ) {
                if ( !$this->token ) {
                        $this->token = $this->getToken();
                }
@@ -217,17 +221,20 @@
                        'summary' => 'Importing article from another wiki for 
testing purposes',
                        'createonly' => '1'
                );
-               return $this->post('?action=edit&format=php', $params);
+               return $this->post( '?action=edit&format=php', $params );
        }
 }
 
 if ( isset( $_SERVER ) && isset( $_SERVER['REQUEST_METHOD'] ) ) {
-       print( 'This script must be run from the command line.' );
+       print ( 'This script must be run from the command line.' );
        die();
 }
 
 if ( !isset( $argv[1] ) || !isset( $argv[2] ) || !isset( $argv[3] ) ) {
-       print( "The correct syntax is:\nimportNewPages.php <# of articles> 
<username> <password> <source API path> <destination API path>\n" );
+       print (
+               "The correct syntax is:\nimportNewPages.php <# of articles> 
<username> <password>".
+               "<source API path> <destination API path>\n"
+       );
        die();
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/236581
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I3b3dada4b8cba5386b73a414ca3b8e1eaf4938e6
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/PageTriage
Gerrit-Branch: master
Gerrit-Owner: Jforrester <[email protected]>
Gerrit-Reviewer: Alex Monk <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to