X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/bilan.php?a=blobdiff_plain;f=includes%2Fcontext%2FRequestContext.php;h=93adde1fee87cbea5c9a2179465eef4a0387df30;hb=174f34a86de3162bc673fd3bc6bed815cccf0edc;hp=76b5e52582ff44198c8ee82f5e7a745ccf19a1d3;hpb=586effc0b7a0307ded8a7a587adca44b9b3febf9;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/context/RequestContext.php b/includes/context/RequestContext.php index 76b5e52582..36c644aa08 100644 --- a/includes/context/RequestContext.php +++ b/includes/context/RequestContext.php @@ -22,6 +22,8 @@ * @file */ +use MediaWiki\Logger\LoggerFactory; + /** * Group all the pieces relevant to the context of a request into one instance */ @@ -62,10 +64,15 @@ class RequestContext implements IContextSource, MutableContext { private $skin; /** - * @var StatsdDataFactory + * @var \Liuggio\StatsdClient\Factory\StatsdDataFactory */ private $stats; + /** + * @var Timing + */ + private $timing; + /** * @var Config */ @@ -116,8 +123,13 @@ class RequestContext implements IContextSource, MutableContext { */ public function getRequest() { if ( $this->request === null ) { - global $wgRequest; # fallback to $wg till we can improve this - $this->request = $wgRequest; + global $wgCommandLineMode; + // create the WebRequest object on the fly + if ( $wgCommandLineMode ) { + $this->request = new FauxRequest( array() ); + } else { + $this->request = new WebRequest(); + } } return $this->request; @@ -130,15 +142,26 @@ class RequestContext implements IContextSource, MutableContext { */ public function getStats() { if ( $this->stats === null ) { - $config = $this->getConfig(); - $prefix = $config->get( 'StatsdMetricPrefix' ) - ? rtrim( $config->get( 'StatsdMetricPrefix' ), '.' ) - : 'MediaWiki'; + $prefix = rtrim( $this->getConfig()->get( 'StatsdMetricPrefix' ), '.' ); $this->stats = new BufferingStatsdDataFactory( $prefix ); } return $this->stats; } + /** + * Get the timing object + * + * @return Timing + */ + public function getTiming() { + if ( $this->timing === null ) { + $this->timing = new Timing( array( + 'logger' => LoggerFactory::getInstance( 'Timing' ) + ) ); + } + return $this->timing; + } + /** * Set the Title object * @@ -159,7 +182,10 @@ class RequestContext implements IContextSource, MutableContext { if ( $this->title === null ) { global $wgTitle; # fallback to $wg till we can improve this $this->title = $wgTitle; - wfDebugLog( 'GlobalTitleFail', __METHOD__ . ' called by ' . wfGetAllCallers( 5 ) . ' with no title set.' ); + wfDebugLog( + 'GlobalTitleFail', + __METHOD__ . ' called by ' . wfGetAllCallers( 5 ) . ' with no title set.' + ); } return $this->title; @@ -427,6 +453,7 @@ class RequestContext implements IContextSource, MutableContext { * Get a Message object with context set * Parameters are the same as wfMessage() * + * @param mixed ... * @return Message */ public function msg() {