35 $this->file = static::initFile(
$list,
$row );
50 return 'oi_archive_name';
54 return 'oi_timestamp';
62 return 'oi_user_text';
70 $parts = explode(
'!', $this->row->oi_archive_name );
84 return $this->file->getVisibility();
89 # @todo FIXME: Move to LocalFile.php
95 $key = $this->file->getStorageKey();
96 $srcRel = $this->file->repo->getDeletedHashPath( $key ) . $key;
97 $this->list->storeBatch[] = [
98 $this->file->repo->getVirtualUrl(
'deleted' ) .
'/' . $srcRel,
100 $this->file->getRel()
102 $this->list->cleanupBatch[] = $key;
106 $key = $this->file->getStorageKey();
107 $dstRel = $this->file->repo->getDeletedHashPath( $key ) . $key;
108 $this->list->deleteBatch[] = [ $this->file->getRel(), $dstRel ];
111 # Do the database operations
113 $dbw->update(
'oldimage',
114 [
'oi_deleted' => $bits ],
116 'oi_name' => $this->row->oi_name,
117 'oi_timestamp' => $this->row->oi_timestamp,
118 'oi_deleted' => $this->getBits()
123 return (
bool)$dbw->affectedRows();
136 $date = $this->list->getLanguage()->userTimeAndDate(
137 $this->file->getTimestamp(), $this->list->getUser() );
141 return Html::element(
'a', [
'href' => $this->file->getUrl() ], $date );
146 $link = htmlspecialchars( $date );
153 'target' => $this->list->title->getPrefixedText(),
154 'file' => $this->file->getArchiveName(),
155 'token' => $this->list->getUser()->getEditToken(
156 $this->file->getArchiveName() )
161 return '<span class="history-deleted">' . $link .
'</span>';
169 if ( $this->file->userCan( RevisionRecord::DELETED_USER, $this->list->getUser() ) ) {
170 $uid = $this->file->getUser(
'id' );
171 $name = $this->file->getUser(
'text' );
174 $link = $this->list->msg(
'rev-deleted-user' )->escaped();
176 if ( $this->file->isDeleted( RevisionRecord::DELETED_USER ) ) {
177 return '<span class="history-deleted">' . $link .
'</span>';
193 $block =
' ' . $this->list->msg(
'rev-deleted-comment' )->escaped();
196 return "<span class=\"history-deleted\">$block</span>";
204 $this->list->msg(
'widthheight' )->numParams(
205 $this->file->getWidth(), $this->file->getHeight() )->text() .
206 ' (' . $this->list->msg(
'nbytes' )->numParams( $this->file->getSize() )->text() .
')';
214 $user = $this->list->
getUser();
216 'title' => $this->list->title->getPrefixedText(),
222 'userhidden' => (bool)
$file->
isDeleted( RevisionRecord::DELETED_USER ),
223 'commenthidden' => (bool)
$file->
isDeleted( RevisionRecord::DELETED_COMMENT ),
224 'contenthidden' => (bool)$this->
isDeleted(),
234 'target' => $this->list->title->getPrefixedText(),
241 if (
$file->
userCan( RevisionRecord::DELETED_USER, $user ) ) {
243 'userid' =>
$file->user,
244 'user' =>
$file->user_text,
247 if (
$file->
userCan( RevisionRecord::DELETED_COMMENT, $user ) ) {
249 'comment' =>
$file->description,
257 return $this->file->acquireFileLock();
261 return $this->file->releaseFileLock();