MediaWiki REL1_34
RevDelArchiveList.php
Go to the documentation of this file.
1<?php
23
28 public function getType() {
29 return 'archive';
30 }
31
32 public static function getRelationType() {
33 return 'ar_timestamp';
34 }
35
40 public function doQuery( $db ) {
41 $timestamps = [];
42 foreach ( $this->ids as $id ) {
43 $timestamps[] = $db->timestamp( $id );
44 }
45
46 $arQuery = Revision::getArchiveQueryInfo();
47 $tables = $arQuery['tables'];
48 $fields = $arQuery['fields'];
49 $conds = [
50 'ar_namespace' => $this->title->getNamespace(),
51 'ar_title' => $this->title->getDBkey(),
52 'ar_timestamp' => $timestamps,
53 ];
54 $join_conds = $arQuery['joins'];
55 $options = [ 'ORDER BY' => 'ar_timestamp DESC' ];
56
58 $tables,
59 $fields,
60 $conds,
61 $join_conds,
62 $options,
63 ''
64 );
65
66 return $db->select( $tables,
67 $fields,
68 $conds,
69 __METHOD__,
70 $options,
71 $join_conds
72 );
73 }
74
75 public function newItem( $row ) {
76 return new RevDelArchiveItem( $this, $row );
77 }
78
79 public function doPreCommitUpdates() {
80 return Status::newGood();
81 }
82
83 public function doPostCommitUpdates( array $visibilityChangeMap ) {
84 return Status::newGood();
85 }
86}
static modifyDisplayQuery(&$tables, &$fields, &$conds, &$join_conds, &$options, $filter_tag='')
Applies all tags-related changes to a query.
Item class for a archive table row.
List for archive table items, i.e.
doPreCommitUpdates()
A hook for setVisibility(): do batch updates pre-commit.
newItem( $row)
Create an item object from a DB result row.
static getRelationType()
Get the DB field name associated with the ID list.
doPostCommitUpdates(array $visibilityChangeMap)
A hook for setVisibility(): do any necessary updates post-commit.
getType()
Get the internal type name of this list.
List for revision table items.
Basic database interface for live and lazy-loaded relation database handles.
Definition IDatabase.php:38