"mw-pageinfo-${header}"
) . "\n";
$table = "\n";
+ $below = "";
foreach ( $infoTable as $infoRow ) {
+ if ( $infoRow[0] == "below" ) {
+ $below = $infoRow[1] . "\n";
+ continue;
+ }
$name = ( $infoRow[0] instanceof Message ) ? $infoRow[0]->escaped() : $infoRow[0];
$value = ( $infoRow[1] instanceof Message ) ? $infoRow[1]->escaped() : $infoRow[1];
$id = ( $infoRow[0] instanceof Message ) ? $infoRow[0]->getKey() : null;
$table = $this->addRow( $table, $name, $value, $id ) . "\n";
}
- $content = $this->addTable( $content, $table ) . "\n";
+ $content = $this->addTable( $content, $table ) . "\n" . $below;
}
// Page footer
$this->msg( "restriction-$restrictionType" ), $message
];
}
+ $protectLog = SpecialPage::getTitleFor( 'Log' );
+ $pageInfo['header-restrictions'][] = [
+ 'below',
+ $linkRenderer->makeKnownLink(
+ $protectLog,
+ $this->msg( 'pageinfo-view-protect-log' )->text(),
+ [],
+ [ 'type' => 'protect', 'page' => $title->getPrefixedText() ]
+ ),
+ ];
if ( !$this->page->exists() ) {
return $pageInfo;
"pageinfo-category-files": "Number of files",
"pageinfo-user-id": "User ID",
"pageinfo-file-hash": "Hash value",
+ "pageinfo-view-protect-log": "View the protection log for this page.",
"markaspatrolleddiff": "Mark as patrolled",
"markaspatrolledlink": "[$1]",
"markaspatrolledtext": "Mark this page as patrolled",
"pageinfo-category-files": "See also:\n* {{msg-mw|Pageinfo-category-pages}}\n* {{msg-mw|Pageinfo-category-subcats}}",
"pageinfo-user-id": "The numeric ID for a user\n{{Identical|User ID}}",
"pageinfo-file-hash": "Base-16 SHA-1 value of the file",
+ "pageinfo-view-protect-log": "Contain link to protection link for the current page.",
"markaspatrolleddiff": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolledtext}}\n{{Identical|Mark as patrolled}}",
"markaspatrolledlink": "{{notranslate}}\nParameters:\n* $1 - link which has text {{msg-mw|Markaspatrolledtext}}",
"markaspatrolledtext": "{{doc-actionlink}}\nSee also:\n* {{msg-mw|Markaspatrolleddiff}}",