jenkins-bot has submitted this change and it was merged.
Change subject: (bug 44219) Avoid fatal errors when a revision doesn't exist in
action=info
......................................................................
(bug 44219) Avoid fatal errors when a revision doesn't exist in action=info
WikiPage::getRevision() and WikiPage::getOldestRevision() may return null
when a revision does not exist; catch this in InfoAction::pageInfo().
Change-Id: If141213aedfe7c55e935105abf4415b6feced57c
---
M includes/actions/InfoAction.php
1 file changed, 46 insertions(+), 38 deletions(-)
Approvals:
Anomie: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/actions/InfoAction.php b/includes/actions/InfoAction.php
index acb8c00..b990490 100644
--- a/includes/actions/InfoAction.php
+++ b/includes/actions/InfoAction.php
@@ -394,53 +394,61 @@
$lastRev = $this->page->getRevision();
$batch = new LinkBatch;
- $firstRevUser = $firstRev->getUserText( Revision::FOR_THIS_USER
);
- if ( $firstRevUser !== '' ) {
- $batch->add( NS_USER, $firstRevUser );
- $batch->add( NS_USER_TALK, $firstRevUser );
+ if ( $firstRev ) {
+ $firstRevUser = $firstRev->getUserText(
Revision::FOR_THIS_USER );
+ if ( $firstRevUser !== '' ) {
+ $batch->add( NS_USER, $firstRevUser );
+ $batch->add( NS_USER_TALK, $firstRevUser );
+ }
}
- $lastRevUser = $lastRev->getUserText( Revision::FOR_THIS_USER );
- if ( $lastRevUser !== '' ) {
- $batch->add( NS_USER, $lastRevUser );
- $batch->add( NS_USER_TALK, $lastRevUser );
+ if ( $lastRev ) {
+ $lastRevUser = $lastRev->getUserText(
Revision::FOR_THIS_USER );
+ if ( $lastRevUser !== '' ) {
+ $batch->add( NS_USER, $lastRevUser );
+ $batch->add( NS_USER_TALK, $lastRevUser );
+ }
}
$batch->execute();
- // Page creator
- $pageInfo['header-edits'][] = array(
- $this->msg( 'pageinfo-firstuser' ),
- Linker::revUserTools( $firstRev )
- );
+ if ( $firstRev ) {
+ // Page creator
+ $pageInfo['header-edits'][] = array(
+ $this->msg( 'pageinfo-firstuser' ),
+ Linker::revUserTools( $firstRev )
+ );
- // Date of page creation
- $pageInfo['header-edits'][] = array(
- $this->msg( 'pageinfo-firsttime' ),
- Linker::linkKnown(
- $title,
- $lang->userTimeAndDate(
$firstRev->getTimestamp(), $user ),
- array(),
- array( 'oldid' => $firstRev->getId() )
- )
- );
+ // Date of page creation
+ $pageInfo['header-edits'][] = array(
+ $this->msg( 'pageinfo-firsttime' ),
+ Linker::linkKnown(
+ $title,
+ $lang->userTimeAndDate(
$firstRev->getTimestamp(), $user ),
+ array(),
+ array( 'oldid' => $firstRev->getId() )
+ )
+ );
+ }
- // Latest editor
- $pageInfo['header-edits'][] = array(
- $this->msg( 'pageinfo-lastuser' ),
- Linker::revUserTools( $lastRev )
- );
+ if ( $lastRev ) {
+ // Latest editor
+ $pageInfo['header-edits'][] = array(
+ $this->msg( 'pageinfo-lastuser' ),
+ Linker::revUserTools( $lastRev )
+ );
- // Date of latest edit
- $pageInfo['header-edits'][] = array(
- $this->msg( 'pageinfo-lasttime' ),
- Linker::linkKnown(
- $title,
- $lang->userTimeAndDate(
$this->page->getTimestamp(), $user ),
- array(),
- array( 'oldid' => $this->page->getLatest() )
- )
- );
+ // Date of latest edit
+ $pageInfo['header-edits'][] = array(
+ $this->msg( 'pageinfo-lasttime' ),
+ Linker::linkKnown(
+ $title,
+ $lang->userTimeAndDate(
$this->page->getTimestamp(), $user ),
+ array(),
+ array( 'oldid' =>
$this->page->getLatest() )
+ )
+ );
+ }
// Total number of edits
$pageInfo['header-edits'][] = array(
--
To view, visit https://gerrit.wikimedia.org/r/49017
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: If141213aedfe7c55e935105abf4415b6feced57c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: IAlex <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: Alex Monk <[email protected]>
Gerrit-Reviewer: Anomie <[email protected]>
Gerrit-Reviewer: IAlex <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits