/** * Loads the needed JavaScript. * Takes care of non-RL compatibility. * * @since 0.1 * * @param array $parameters */ protected function loadJs( array $parameters ) { static $loadedJs = false; if ( $loadedJs ) { return; } $loadedJs = true; $this->addJSWikiData( $parameters ); // For backward compatibility with MW < 1.17. if ( is_callable( array( $this->parser->getOutput(), 'addModules' ) ) ) { $this->parser->getOutput()->addModules( 'ext.ratings.stars' ); } else { global $egRatingsScriptPath, $wgStylePath, $wgStyleVersion; $this->addJSLocalisation(); $this->parser->getOutput()->addHeadItem( Html::linkedScript( "$wgStylePath/common/jquery.min.js?$wgStyleVersion" ), 'jQuery' ); Ratings::loadJs( $this->parser ); $this->parser->getOutput()->addHeadItem( Html::linkedScript( $egRatingsScriptPath . '/starrating/star-rating/jquery.rating.js' ) . Html::linkedStyle( $egRatingsScriptPath . '/starrating/star-rating/jquery.rating.css' ), 'ext.ratings.stars.jquery' ); $this->parser->getOutput()->addHeadItem( Html::linkedScript( $egRatingsScriptPath . '/starrating/ext.ratings.stars.js' ), 'ext.ratings.stars' ); } }