93 lines
2.9 KiB
PHP
93 lines
2.9 KiB
PHP
<?php
|
|
/**
|
|
* Helper class for the index.php entry point.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*
|
|
* @file
|
|
*/
|
|
|
|
use MediaWiki\Context\IContextSource;
|
|
use MediaWiki\Context\RequestContext;
|
|
use MediaWiki\EntryPointEnvironment;
|
|
use MediaWiki\MediaWikiEntryPoint;
|
|
use MediaWiki\MediaWikiServices;
|
|
|
|
/**
|
|
* Backwards compatibility shim for use by extensions that created a MediaWiki object just in order to call
|
|
* doPostOutputShutdown().
|
|
*
|
|
* @deprecated since 1.42, use MediaWikiEntryPoint instead
|
|
*/
|
|
class MediaWiki extends MediaWikiEntryPoint {
|
|
|
|
public function __construct(
|
|
?IContextSource $context = null,
|
|
?EntryPointEnvironment $environment = null
|
|
) {
|
|
$context ??= RequestContext::getMain();
|
|
$environment ??= new EntryPointEnvironment();
|
|
|
|
parent::__construct( $context, $environment, MediaWikiServices::getInstance() );
|
|
}
|
|
|
|
/**
|
|
* @return never
|
|
*/
|
|
protected function execute() {
|
|
throw new LogicException(
|
|
'The backwards-compat MediaWiki class does not implement the execute() method'
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Overwritten to make public, for backwards compatibility
|
|
*
|
|
* @deprecated since 1.42, extensions should have no need to call this.
|
|
* Subclasses of MediaWikiEntryPoint in core should generally
|
|
* call postOutputShutdown() instead.
|
|
*/
|
|
public function restInPeace() {
|
|
parent::restInPeace();
|
|
}
|
|
|
|
/**
|
|
* Overwritten to make public, for backwards compatibility.
|
|
*
|
|
* @deprecated since 1.42, extensions should have no need to call this.
|
|
*/
|
|
public function doPostOutputShutdown() {
|
|
parent::doPostOutputShutdown();
|
|
}
|
|
|
|
/**
|
|
* This function commits all DB and session changes as needed *before* the
|
|
* client can receive a response (in case DB commit fails) and thus also before
|
|
* the response can trigger a subsequent related request by the client.
|
|
*
|
|
* @param IContextSource $context
|
|
*
|
|
* @since 1.27
|
|
* @deprecated since 1.42, extensions should have no need to call this.
|
|
* Subclasses of MediaWikiEntryPoint in core should generally
|
|
* call prepareForOutput() instead.
|
|
*/
|
|
public static function preOutputCommit( IContextSource $context ) {
|
|
$entryPoint = new static( $context );
|
|
$entryPoint->prepareForOutput();
|
|
}
|
|
|
|
}
|