blob: 0cea396a9ea7fdc6e7169655a8e4ef72b51716ff [file] [log] [blame]
<?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();
}
}
  NODES
os 6
text 14