https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114431
Revision: 114431 Author: bsitu Date: 2012-03-22 23:06:18 +0000 (Thu, 22 Mar 2012) Log Message: ----------- provided metadata to provided page list Modified Paths: -------------- trunk/extensions/PageTriage/SpecialPageTriage.php trunk/extensions/PageTriage/api/ApiPageTriageList.php Modified: trunk/extensions/PageTriage/SpecialPageTriage.php =================================================================== --- trunk/extensions/PageTriage/SpecialPageTriage.php 2012-03-22 20:34:20 UTC (rev 114430) +++ trunk/extensions/PageTriage/SpecialPageTriage.php 2012-03-22 23:06:18 UTC (rev 114431) @@ -25,13 +25,14 @@ */ public function execute( $sub ) { global $wgOut; - + // Initialize variable to hold list view options $opts = new FormOptions(); // Set the defaults for the list view options $opts->add( 'showbots', true ); $opts->add( 'showredirs', false ); + $opts->add( 'showtriaged', false ); $opts->add( 'limit', (int)$this->getUser()->getOption( 'rclimit' ) ); $opts->add( 'offset', '' ); $opts->add( 'namespace', '0' ); @@ -96,9 +97,13 @@ $htmlOut = ''; if ( $pageList ) { + $articleMetadata = new ArticleMetadata( $pageList ); + $metaData = $articleMetadata->getMetadata(); foreach ( $pageList as $pageId ) { - $formattedRow = $this->buildRow( $pageId ); - $htmlOut .= $formattedRow; + if ( isset( $metaData[$pageId] ) ) { + $formattedRow = $this->buildRow( $pageId, $metaData[$pageId] ); + $htmlOut .= $formattedRow; + } } } else { $htmlOut .= wfMessage( 'specialpage-empty' ); @@ -110,14 +115,18 @@ /** * Builds a single row for the article list. * @param $pageId integer ID for a single page + * @param $metaData array the meta data for $pageId * @return string HTML for the row */ - protected function buildRow( $pageId ) { + protected function buildRow( $pageId, $metaData ) { - // TODO: get all the metadata for the page + // TODO: Build the row from metadata provided + return '<div>' + . $pageId . ' ' + . htmlspecialchars( $metaData['title'] ) . ' ' + . htmlspecialchars( $metaData['user_name'] ) . + '</div>'; - return '<div>'.$pageId.'</div>'; - } } Modified: trunk/extensions/PageTriage/api/ApiPageTriageList.php =================================================================== --- trunk/extensions/PageTriage/api/ApiPageTriageList.php 2012-03-22 20:34:20 UTC (rev 114430) +++ trunk/extensions/PageTriage/api/ApiPageTriageList.php 2012-03-22 23:06:18 UTC (rev 114431) @@ -27,7 +27,7 @@ * @return an array of ids */ public static function getPageIds( $opts = array() ) { - + // Initialize required variables $pages = array(); $conds = array(); @@ -42,10 +42,32 @@ } // TODO: Handle filtering options + $tables = array( 'pagetriage_page', 'page' ); + $conds[] = 'ptrp_page_id = page_id'; + + if ( $opts['namespace'] ) { + $conds['page_namespace'] = $opts['namespace']; + } + if ( $opts['showredirs'] ) { + $conds['page_is_redirect'] = 1; + } + if ( $opts['showbots'] ) { + $conds[] = 'ptrp_page_id = ptrpt_page_id AND ptrpt_tag_id = ptrt_tag_id'; + $conds['ptrt_tag_name'] = 'user_bot'; + $conds['ptrpt_value'] = '1'; + $tables[] = 'pagetriage_page_tags'; + $tables[] = 'pagetriage_tags'; + } + if ( $opts['showtriaged'] ) { + $conds['ptrp_triaged'] = array( 0, 1 ); + } else { + $conds['ptrp_triaged'] = 0; + } + // Pull page IDs from database $res = $dbr->select( - 'pagetriage_page', + $tables, 'ptrp_page_id', $conds, __METHOD__, @@ -68,6 +90,9 @@ 'showredirs' => array( ApiBase::PARAM_TYPE => 'boolean', ), + 'showtriaged'=> array( + ApiBase::PARAM_TYPE => 'boolean', + ), 'limit' => array( ApiBase::PARAM_DFLT => '5000', ApiBase::PARAM_TYPE => 'integer', @@ -83,6 +108,7 @@ return array( 'showbots' => 'Whether to include bot edits or not', 'showredirs' => 'Whether to include redirects or not', + 'showtriaged' => 'Whether to include triaged or not', 'limit' => 'The maximum number of results to return', 'namespace' => 'What namespace to pull pages from', ); _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs