PranavK has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/263850

Change subject: Make Special:Redirect page ridirect to log events by ID
......................................................................

Make Special:Redirect page ridirect to log events by ID

Bug: T71107
Change-Id: I48bc6ae31e9f841f1cfeed6167c0c13c58e53f4a
---
M includes/specials/SpecialRedirect.php
M languages/i18n/en.json
M languages/i18n/qqq.json
3 files changed, 38 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/50/263850/1

diff --git a/includes/specials/SpecialRedirect.php 
b/includes/specials/SpecialRedirect.php
index 553e2b1..0037961 100644
--- a/includes/specials/SpecialRedirect.php
+++ b/includes/specials/SpecialRedirect.php
@@ -158,6 +158,37 @@
                ) );
        }
 
+       function dispatchLog() {
+               $logid = $this->mValue;
+               if ( !ctype_digit( $logid ) ) {
+                       return null;
+               }
+               $logid = (int)$logid;
+
+               $logparams = array( 'log_type', 'log_action', 'log_user', 
'log_namespace', 'log_title' );
+
+               $dbr = wfGetDB( DB_SLAVE );
+               $res = $dbr->select(
+                       'logging',
+                       array( 'log_timestamp' ),
+                       'log_id = $logid'
+               );
+               $i = 0;
+               while ( count( $res ) > 1 && $i < 5 ) {
+                       $res = $dbr->select(
+                               'logging',
+                               array( $logparams[$i] ),
+                               'log_id = $logid'
+                       );
+                       $i = $i + 1;
+               }
+
+               return wfAppendQuery( wfScript( 'index' ), array(
+                       'title' => 'Special:Log',
+                       'offset' => $res[0]
+               ) );
+       }
+
        /**
         * Use appropriate dispatch* method to obtain a redirection URL,
         * and either: redirect, set a 404 error code and error message,
@@ -180,6 +211,9 @@
                                break;
                        case 'page':
                                $url = $this->dispatchPage();
+                               break;
+                       case 'logid':
+                               $url = $this->dispatchLog();
                                break;
                        default:
                                $this->getOutput()->setStatusCode( 404 );
@@ -212,6 +246,7 @@
                        'page' => $mp . '-page',
                        'revision' => $mp . '-revision',
                        'file' => $mp . '-file',
+                       'logid' => $mp . '-logid',
                );
                $a = array();
                $a['type'] = array(
@@ -273,6 +308,7 @@
                        'page',
                        'revision',
                        'user',
+                       'logid'
                );
        }
 
diff --git a/languages/i18n/en.json b/languages/i18n/en.json
index e8d4c01..2d5855c 100644
--- a/languages/i18n/en.json
+++ b/languages/i18n/en.json
@@ -3445,6 +3445,7 @@
        "redirect-page": "Page ID",
        "redirect-revision": "Page revision",
        "redirect-file": "Filename",
+       "redirect-logid": "Log ID",
        "redirect-not-exists": "Value not found",
        "fileduplicatesearch": "Search for duplicate files",
        "fileduplicatesearch-summary": "Search for duplicate files based on 
hash values.",
diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json
index 99877e9..e0ea568 100644
--- a/languages/i18n/qqq.json
+++ b/languages/i18n/qqq.json
@@ -3620,6 +3620,7 @@
        "redirect-page": "Description of lookup type for 
[[Special:Redirect]].\n{{Identical|Page ID}}",
        "redirect-revision": "Description of lookup type for 
[[Special:Redirect]].\n\nThis means \"Page revision '''ID'''\".",
        "redirect-file": "Description of lookup type for 
[[Special:Redirect]].\n{{Identical|Filename}}",
+       "redirect-logid": "Description of lookup type for 
[[Special:Redirect]].\n{{Identical|Log ID}}",
        "redirect-not-exists": "Used as error message in [[Special:Redirect]]",
        "fileduplicatesearch": "Name of special page 
[[Special:FileDuplicateSearch]].",
        "fileduplicatesearch-summary": "Summary of 
[[Special:FileDuplicateSearch]]",

-- 
To view, visit https://gerrit.wikimedia.org/r/263850
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I48bc6ae31e9f841f1cfeed6167c0c13c58e53f4a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: PranavK <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to