use MediaWiki\MediaWikiServices;
use MediaWiki\Shell\Shell;
use Wikimedia\ScopedCallback;
-use Wikimedia\Rdbms\DBReplicationWaitError;
use Wikimedia\WrappedString;
/**
return $langcode;
}
- global $wgContLang, $wgLanguageCode;
+ global $wgLanguageCode;
if ( $langcode === true || $langcode === $wgLanguageCode ) {
# $langcode is the language code of the wikis content language object.
# or it is a boolean and value is true
- return $wgContLang;
+ return MediaWikiServices::getInstance()->getContentLanguage();
}
global $wgLang;
# $langcode is a string, but not a valid language code; use content language.
wfDebug( "Invalid language code passed to wfGetLangObj, falling back to content language.\n" );
- return $wgContLang;
+ return MediaWikiServices::getInstance()->getContentLanguage();
}
/**
return false;
}
-/**
- * @since 1.32
- * @param string[] $data Array with string keys/values to export
- * @param string $header
- * @return string PHP code
- */
-function wfMakeStaticArrayFile( array $data, $header = 'Automatically generated' ) {
- $format = "\t%s => %s,\n";
- $code = "<?php\n"
- . "// " . implode( "\n// ", explode( "\n", $header ) ) . "\n"
- . "return [\n";
- foreach ( $data as $key => $value ) {
- $code .= sprintf(
- $format,
- var_export( $key, true ),
- var_export( $value, true )
- );
- }
- $code .= "];\n";
- return $code;
-}
-
/**
* Make a cache key for the local wiki.
*
* @param float|null $ifWritesSince Only wait if writes were done since this UNIX timestamp
* @param string|bool $wiki Wiki identifier accepted by wfGetLB
* @param string|bool $cluster Cluster name accepted by LBFactory. Default: false.
- * @param int|null $timeout Max wait time. Default: 1 day (cli), ~10 seconds (web)
+ * @param int|null $timeout Max wait time. Default: 60 seconds (cli), 1 second (web)
* @return bool Success (able to connect and no timeouts reached)
* @deprecated since 1.27 Use LBFactory::waitForReplication
*/
function wfWaitForSlaves(
$ifWritesSince = null, $wiki = false, $cluster = false, $timeout = null
) {
- if ( $timeout === null ) {
- $timeout = wfIsCLI() ? 60 : 10;
- }
-
if ( $cluster === '*' ) {
$cluster = false;
$wiki = false;
$wiki = wfWikiID();
}
- try {
- $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
- $lbFactory->waitForReplication( [
- 'wiki' => $wiki,
- 'cluster' => $cluster,
- 'timeout' => $timeout,
- // B/C: first argument used to be "max seconds of lag"; ignore such values
- 'ifWritesSince' => ( $ifWritesSince > 1e9 ) ? $ifWritesSince : null
- ] );
- } catch ( DBReplicationWaitError $e ) {
- return false;
+ $opts = [
+ 'wiki' => $wiki,
+ 'cluster' => $cluster,
+ // B/C: first argument used to be "max seconds of lag"; ignore such values
+ 'ifWritesSince' => ( $ifWritesSince > 1e9 ) ? $ifWritesSince : null
+ ];
+ if ( $timeout !== null ) {
+ $opts['timeout'] = $timeout;
}
- return true;
+ $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
+ return $lbFactory->waitForReplication( $opts );
}
/**
/**
* Get a specific cache object.
*
+ * @deprecated since 1.32, use ObjectCache::getInstance() instead
* @param int|string $cacheType A CACHE_* constants, or other key in $wgObjectCaches
* @return BagOStuff
*/
/**
* Get the main cache object
*
+ * @deprecated since 1.32, use ObjectCache::getLocalClusterInstance() instead
* @return BagOStuff
*/
function wfGetMainCache() {
- global $wgMainCacheType;
- return ObjectCache::getInstance( $wgMainCacheType );
+ return ObjectCache::getLocalClusterInstance();
}
/**