Mediawiki (1.26) - Как получить доступ к HTTP-состоянию 404 изнутри страницы - PullRequest
0 голосов
/ 08 марта 2019

при вызове несуществующей вики-страницы MediaWiki доставляет 404 в заголовке.

Есть ли способ уловить это со своей страницы (по причинам регистрации)?

Есть

public function getStatusCode()

в WebResponse.php и в HttpError.php

и в OutputPage.php, например, существует

public function setStatusCode( $statusCode )

Изнутри MonoBookTemplate.php iу меня есть экземпляр MonoBookTemplate.

Но как мне узнать из этого места статус 404?

Я читал о $context->getOutput(), но не знаю, как получить доступ к переменной состояния.


Part-Solution:

В качестве обходного пути я добавил $wgMyStatusCode к LocalSettings.php и в WebResponse.php:

public function statusHeader( $code ) {
    HttpStatus::header( $code );

    //added
    global $wgMyStatusCode;
    $wgMyStatusCode = $code;
}

В любом случае - если бы кто-то мог мнепознакомить с секретами объектной ориентации в mediawiki - спасибо.

1 Ответ

0 голосов
/ 09 марта 2019
!RequestContext::getTitle()->exists()

, вероятно, достаточно близко.

...