* List for revision table items for a single page
*/
abstract class RevisionListBase extends ContextSource {
- /**
- * @var Title
- */
- var $title;
+ /** @var Title */
+ public $title;
+
+ /** @var array */
+ protected $ids;
- var $ids, $res, $current;
+ /** @var ResultWrapper|bool */
+ protected $res;
+
+ /** @var bool|object */
+ protected $current;
/**
* Construct a revision list for a given title
* Abstract base class for revision items
*/
abstract class RevisionItemBase {
- /** The parent RevisionListBase */
- var $list;
+ /** @var RevisionListBase The parent */
+ protected $list;
- /** The DB result row */
- var $row;
+ /** The database result row */
+ protected $row;
/**
* @param RevisionListBase $list
* Item class for a live revision table row
*/
class RevisionItem extends RevisionItemBase {
- var $revision, $context;
+ /** @var Revision */
+ protected $revision;
+
+ /** @var RequestContext */
+ protected $context;
public function __construct( $list, $row ) {
parent::__construct( $list, $row );
}
public function getAuthorNameField() {
- return 'user_name'; // see Revision::selectUserFields()
+ return 'rev_user_text';
}
public function canView() {
/**
* Get the HTML link to the revision text.
- * Overridden by RevDelArchiveItem.
+ * @todo Essentially a copy of RevDelRevisionItem::getRevisionLink. That class
+ * should inherit from this one, and implement an appropriate interface instead
+ * of extending RevDelItem
* @return string
*/
protected function getRevisionLink() {
- $date = $this->list->getLanguage()->timeanddate( $this->revision->getTimestamp(), true );
+ $date = htmlspecialchars( $this->list->getLanguage()->userTimeAndDate(
+ $this->revision->getTimestamp(), $this->list->getUser() ) );
+
if ( $this->isDeleted() && !$this->canViewContent() ) {
return $date;
}
- return Linker::link(
+ return Linker::linkKnown(
$this->list->title,
$date,
array(),
/**
* Get the HTML link to the diff.
- * Overridden by RevDelArchiveItem
+ * @todo Essentially a copy of RevDelRevisionItem::getDiffLink. That class
+ * should inherit from this one, and implement an appropriate interface instead
+ * of extending RevDelItem
* @return string
*/
protected function getDiffLink() {
if ( $this->isDeleted() && !$this->canViewContent() ) {
return $this->context->msg( 'diff' )->escaped();
} else {
- return Linker::link(
+ return Linker::linkKnown(
$this->list->title,
- $this->context->msg( 'diff' )->escaped(),
+ $this->list->msg( 'diff' )->escaped(),
array(),
array(
'diff' => $this->revision->getId(),
'oldid' => 'prev',
'unhide' => 1
- ),
- array(
- 'known',
- 'noclasses'
)
);
}
}
+ /**
+ * @todo Essentially a copy of RevDelRevisionItem::getHTML. That class
+ * should inherit from this one, and implement an appropriate interface instead
+ * of extending RevDelItem
+ * @return string
+ */
public function getHTML() {
$difflink = $this->context->msg( 'parentheses' )
->rawParams( $this->getDiffLink() )->escaped();