'\\\\', '"' => '\\"' ) ); $value = preg_replace_callback( '/[\x01-\x1f\x7f-\x9f]/', function ( $match ) { return '\\' . base_convert( ord( $match[0] ), 10, 16 ) . ' '; }, $value ); return '"' . $value . '"'; } /** * Get language-specific LESS variables for this module. * * @return array */ private function getLessVars( ResourceLoaderContext $context ) { $language = Language::factory( $context->getLanguage() ); // This is very conveniently formatted and we can pass it right through $vars = $language->getImageFiles(); // less.php tries to be helpful and parse our variables as LESS source code foreach ( $vars as $key => &$value ) { $value = self::cssSerializeString( $value ); } return $vars; } /** * @return bool */ public function enableModuleContentVersion() { return true; } /** * Get a LESS compiler instance for this module. * * Set our variables in it. * * @throws MWException * @param ResourceLoaderContext $context * @return Less_Parser */ protected function getLessCompiler( ResourceLoaderContext $context = null ) { $parser = parent::getLessCompiler(); $parser->ModifyVars( $this->getLessVars( $context ) ); return $parser; } }