MediaWiki  1.34.0
RevDelArchiveItem.php
Go to the documentation of this file.
1 <?php
26  protected static function initRevision( $list, $row ) {
28  [ 'page' => $list->title->getArticleID() ] );
29  }
30 
31  public function getIdField() {
32  return 'ar_timestamp';
33  }
34 
35  public function getTimestampField() {
36  return 'ar_timestamp';
37  }
38 
39  public function getAuthorIdField() {
40  return 'ar_user';
41  }
42 
43  public function getAuthorNameField() {
44  return 'ar_user_text';
45  }
46 
47  public function getAuthorActorField() {
48  return 'ar_actor';
49  }
50 
51  public function getId() {
52  # Convert DB timestamp to MW timestamp
53  return $this->revision->getTimestamp();
54  }
55 
56  public function setBits( $bits ) {
57  $dbw = wfGetDB( DB_MASTER );
58  $dbw->update( 'archive',
59  [ 'ar_deleted' => $bits ],
60  [
61  'ar_namespace' => $this->list->title->getNamespace(),
62  'ar_title' => $this->list->title->getDBkey(),
63  // use timestamp for index
64  'ar_timestamp' => $this->row->ar_timestamp,
65  'ar_rev_id' => $this->row->ar_rev_id,
66  'ar_deleted' => $this->getBits()
67  ],
68  __METHOD__ );
69 
70  return (bool)$dbw->affectedRows();
71  }
72 
73  protected function getRevisionLink() {
74  $date = $this->list->getLanguage()->userTimeAndDate(
75  $this->revision->getTimestamp(), $this->list->getUser() );
76 
77  if ( $this->isDeleted() && !$this->canViewContent() ) {
78  return htmlspecialchars( $date );
79  }
80 
81  return $this->getLinkRenderer()->makeLink(
82  SpecialPage::getTitleFor( 'Undelete' ),
83  $date,
84  [],
85  [
86  'target' => $this->list->title->getPrefixedText(),
87  'timestamp' => $this->revision->getTimestamp()
88  ]
89  );
90  }
91 
92  protected function getDiffLink() {
93  if ( $this->isDeleted() && !$this->canViewContent() ) {
94  return $this->list->msg( 'diff' )->escaped();
95  }
96 
97  return $this->getLinkRenderer()->makeLink(
98  SpecialPage::getTitleFor( 'Undelete' ),
99  $this->list->msg( 'diff' )->text(),
100  [],
101  [
102  'target' => $this->list->title->getPrefixedText(),
103  'diff' => 'prev',
104  'timestamp' => $this->revision->getTimestamp()
105  ]
106  );
107  }
108 }
Revision\newFromArchiveRow
static newFromArchiveRow( $row, $overrides=[])
Make a fake revision object from an archive table row.
Definition: Revision.php:172
RevDelRevisionItem\getBits
getBits()
Get the current deletion bitfield value.
Definition: RevDelRevisionItem.php:81
RevDelRevisionItem\isDeleted
isDeleted()
Definition: RevDelRevisionItem.php:118
RevDelArchiveItem\getId
getId()
Get the ID, as it would appear in the ids URL parameter.
Definition: RevDelArchiveItem.php:51
RevDelArchiveItem\getAuthorActorField
getAuthorActorField()
Get the DB field name storing actor ids.
Definition: RevDelArchiveItem.php:47
SpecialPage\getTitleFor
static getTitleFor( $name, $subpage=false, $fragment='')
Get a localised Title object for a specified special page name If you don't need a full Title object,...
Definition: SpecialPage.php:83
RevDelArchiveItem\getIdField
getIdField()
Get the DB field name associated with the ID list.
Definition: RevDelArchiveItem.php:31
RevisionItemBase\$list
RevisionListBase $list
The parent.
Definition: RevisionItemBase.php:30
RevDelRevisionItem\canViewContent
canViewContent()
Returns true if the current user can view the item text/file.
Definition: RevDelRevisionItem.php:75
RevisionItemBase\getLinkRenderer
getLinkRenderer()
Returns an instance of LinkRenderer.
Definition: RevisionItemBase.php:174
RevDelArchiveItem\getAuthorIdField
getAuthorIdField()
Get the DB field name storing user ids.
Definition: RevDelArchiveItem.php:39
wfGetDB
wfGetDB( $db, $groups=[], $wiki=false)
Get a Database object.
Definition: GlobalFunctions.php:2575
DB_MASTER
const DB_MASTER
Definition: defines.php:26
RevDelArchiveItem
Item class for a archive table row.
Definition: RevDelArchiveItem.php:25
RevisionItemBase\$row
$row
The database result row.
Definition: RevisionItemBase.php:33
RevDelArchiveItem\getTimestampField
getTimestampField()
Get the DB field name storing timestamps.
Definition: RevDelArchiveItem.php:35
RevDelArchiveItem\initRevision
static initRevision( $list, $row)
Create revision object from $row sourced from $list.
Definition: RevDelArchiveItem.php:26
RevDelRevisionItem
Definition: RevDelRevisionItem.php:29
RevDelArchiveItem\setBits
setBits( $bits)
Set the visibility of the item.
Definition: RevDelArchiveItem.php:56
RevDelArchiveItem\getRevisionLink
getRevisionLink()
Get the HTML link to the revision text.
Definition: RevDelArchiveItem.php:73
RevDelArchiveItem\getDiffLink
getDiffLink()
Get the HTML link to the diff.
Definition: RevDelArchiveItem.php:92
RevDelArchiveItem\getAuthorNameField
getAuthorNameField()
Get the DB field name storing user names.
Definition: RevDelArchiveItem.php:43