die( "This file is part of MediaWiki, it is not a valid entry point" );
}
-use Liuggio\StatsdClient\Sender\SocketSender;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\ProcOpenError;
use MediaWiki\Session\SessionManager;
* like "subdir/foo.html", etc.
*
* @param string $url Either fully-qualified or a local path + query
- * @param string $defaultProto One of the PROTO_* constants. Determines the
+ * @param string|int|null $defaultProto One of the PROTO_* constants. Determines the
* protocol to use if $url or $wgServer is protocol-relative
* @return string|false Fully-qualified URL, current-path-relative URL or false if
* no valid URL can be constructed
/**
* Check whether a given URL has a domain that occurs in a given set of domains
- * @param string $url URL
+ * @param string $url
* @param array $domains Array of domains (strings)
* @return bool True if the host part of $url ends in one of the strings in $domains
*/
/**
* @todo document
+ * @todo Move logic to MediaWiki.php
*/
function wfLogProfilingData() {
global $wgDebugLogGroups, $wgDebugRawPage;
$profiler->setContext( $context );
$profiler->logData();
- $config = $context->getConfig();
- $stats = MediaWikiServices::getInstance()->getStatsdDataFactory();
- if ( $config->get( 'StatsdServer' ) && $stats->hasData() ) {
- try {
- $statsdServer = explode( ':', $config->get( 'StatsdServer' ) );
- $statsdHost = $statsdServer[0];
- $statsdPort = isset( $statsdServer[1] ) ? $statsdServer[1] : 8125;
- $statsdSender = new SocketSender( $statsdHost, $statsdPort );
- $statsdClient = new SamplingStatsdClient( $statsdSender, true, false );
- $statsdClient->setSamplingRates( $config->get( 'StatsdSamplingRates' ) );
- $statsdClient->send( $stats->getData() );
- } catch ( Exception $ex ) {
- MWExceptionHandler::logException( $ex );
- }
- }
+ // Send out any buffered statsd metrics as needed
+ MediaWiki::emitBufferedStatsdData(
+ MediaWikiServices::getInstance()->getStatsdDataFactory(),
+ $context->getConfig()
+ );
- # Profiling must actually be enabled...
+ // Profiling must actually be enabled...
if ( $profiler instanceof ProfilerStub ) {
return;
}
* Restore error level to previous value
*/
function wfRestoreWarnings() {
- MediaWiki\suppressWarnings( true );
+ MediaWiki\restoreWarnings();
}
/**
return defined( 'HHVM_VERSION' );
}
+/**
+ * Check if we are running from the commandline
+ *
+ * @since 1.31
+ * @return bool
+ */
+function wfIsCLI() {
+ return PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg';
+}
+
/**
* Tries to get the system directory for temporary files. First
* $wgTmpDirectory is checked, and then the TMPDIR, TMP, and TEMP
* Find a file.
* Shortcut for RepoGroup::singleton()->findFile()
*
- * @param string $title String or Title object
+ * @param string|Title $title String or Title object
* @param array $options Associative array of options (see RepoGroup::findFile)
* @return File|bool File, or false if the file does not exist
*/
$ifWritesSince = null, $wiki = false, $cluster = false, $timeout = null
) {
if ( $timeout === null ) {
- $timeout = ( PHP_SAPI === 'cli' ) ? 86400 : 10;
+ $timeout = wfIsCLI() ? 86400 : 10;
}
if ( $cluster === '*' ) {