Add link to protect log to action=info
authorMartin Urbanec <martin.urbanec@wikimedia.cz>
Sat, 29 Sep 2018 17:03:12 +0000 (19:03 +0200)
committerMartin Urbanec <martin.urbanec@wikimedia.cz>
Thu, 4 Oct 2018 18:40:35 +0000 (20:40 +0200)
Bug: T52190
Change-Id: Id983d4585a253ebe34e07f07472548f6d1d20bce

includes/actions/InfoAction.php
languages/i18n/en.json
languages/i18n/qqq.json

index 11b8bad..1cc4288 100644 (file)
@@ -132,13 +132,18 @@ class InfoAction extends FormlessAction {
                                "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
@@ -504,6 +509,16 @@ class InfoAction extends FormlessAction {
                                $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;
index 30a9699..1d7f3f5 100644 (file)
        "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",
index eeb0a1c..c4585f3 100644 (file)
        "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}}",