row, RevisionRecord::DELETED_RESTRICTED, $this->list->getUser() ); } public function canViewContent() { return true; // none } public function getBits() { return (int)$this->row->log_deleted; } public function setBits( $bits ) { $dbw = wfGetDB( DB_MASTER ); $dbw->update( 'logging', [ 'log_deleted' => $bits ], [ 'log_id' => $this->row->log_id, 'log_deleted' => $this->getBits() // cas ], __METHOD__ ); if ( !$dbw->affectedRows() ) { // Concurrent fail! return false; } $dbw->update( 'recentchanges', [ 'rc_deleted' => $bits, 'rc_patrolled' => RecentChange::PRC_AUTOPATROLLED ], [ 'rc_logid' => $this->row->log_id, 'rc_timestamp' => $this->row->log_timestamp // index ], __METHOD__ ); return true; } public function getHTML() { $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate( $this->row->log_timestamp, $this->list->getUser() ) ); $title = Title::makeTitle( $this->row->log_namespace, $this->row->log_title ); $formatter = LogFormatter::newFromRow( $this->row ); $formatter->setContext( $this->list->getContext() ); $formatter->setAudience( LogFormatter::FOR_THIS_USER ); // Log link for this page $loglink = $this->getLinkRenderer()->makeLink( SpecialPage::getTitleFor( 'Log' ), $this->list->msg( 'log' )->text(), [], [ 'page' => $title->getPrefixedText() ] ); $loglink = $this->list->msg( 'parentheses' )->rawParams( $loglink )->escaped(); // User links and action text $action = $formatter->getActionText(); $comment = CommentStore::getStore()->getComment( 'log_comment', $this->row )->text; $comment = $this->list->getLanguage()->getDirMark() . Linker::commentBlock( $comment ); if ( LogEventsList::isDeleted( $this->row, LogPage::DELETED_COMMENT ) ) { $comment = '' . $comment . ''; } return "