}
private $fld_ids = false, $fld_flags = false, $fld_timestamp = false, $fld_size = false,
- $fld_comment = false, $fld_user = false, $fld_content = false, $fld_tags = false;
+ $fld_comment = false, $fld_user = false, $fld_content = false;
protected function getTokenFunctions() {
// tokenname => function
}
$db = $this->getDB();
- $this->addTables(array('page', 'revision'));
+ $this->addTables('revision');
$this->addFields(Revision::selectFields());
+ $this->addTables('page');
$this->addWhere('page_id = rev_page');
$prop = array_flip($params['prop']);
$this->fld_timestamp = isset ($prop['timestamp']);
$this->fld_comment = isset ($prop['comment']);
$this->fld_size = isset ($prop['size']);
- $this->fld_tags = isset ($prop['tags']);
$this->fld_user = isset ($prop['user']);
$this->token = $params['token'];
$this->diffto = $params['diffto'];
$this->addFields( Revision::selectPageFields() );
}
- if ($this->fld_tags || !is_null($params['tag'])) {
- $this->addTables('tag_summary');
- $this->addJoinConds(array('tag_summary' => array('LEFT JOIN', array('rev_id=ts_rev_id'))));
- $this->addFields('ts_tags');
- }
-
- if( !is_null($params['tag']) ) {
- $this->addWhereFld('ts_tags', $params['tag']);
- }
-
if (isset ($prop['content'])) {
// For each page we will request, the user must have read rights for that page
$this->setContinueEnumParameter('startid', intval($row->rev_id));
break;
}
-
+ $revision = new Revision( $row );
//
- $fit = $this->addPageSubItem($row->rev_page, $this->extractRowInfo($row), 'rev');
+ $fit = $this->addPageSubItem($revision->getPage(), $this->extractRowInfo($revision), 'rev');
if(!$fit)
{
if($enumRevMode)
$db->freeResult($res);
}
- private function extractRowInfo( $row ) {
- $revision = new Revision( $row );
+ private function extractRowInfo( $revision ) {
$title = $revision->getTitle();
$vals = array ();
}
}
- if ($this->fld_tags && $row->ts_tags)
- $vals['tags'] = $row->ts_tags;
-
if(!is_null($this->token))
{
$tokenFunctions = $this->getTokenFunctions();
'size',
'comment',
'content',
- 'tags'
)
),
'limit' => array (
'excludeuser' => array(
ApiBase :: PARAM_TYPE => 'user'
),
- 'tag' => null,
'expandtemplates' => false,
'generatexml' => false,
'section' => null,
'dir' => 'direction of enumeration - towards "newer" or "older" revisions (enum)',
'user' => 'only include revisions made by user',
'excludeuser' => 'exclude revisions made by user',
- 'tag' => 'only list revisions with this tag',
'expandtemplates' => 'expand templates in revision content',
'generatexml' => 'generate XML parse tree for revision content',
'section' => 'only retrieve the content of this section',