addOption( 'format', 'Custom format ("demo" or "test"), also sets ve-path', false, true ); $this->addOption( 'indent', 'Indentation prefix to use (number of tabs or a string)', false, true ); $this->addOption( 've-path', 'Path to "modules/"', false, true ); } public function execute() { global $wgResourceModules, $wgHtml5, $wgWellFormedXml; $wgHtml5 = true; $wgWellFormedXml = false; $wgResourceModules['Dependencies'] = array( 'scripts' => array( 'jquery/jquery.js', 'jquery/jquery.json.js', 'jquery/jquery.multiSuggest.js', 'rangy/rangy-core.js', 'rangy/rangy-position.js', ), ); $wgResourceModules['Standalone Init'] = array( 'styles' => array( 've/init/sa/styles/ve.init.sa.css', ), 'scripts' => array( 've/init/sa/ve.init.sa.js', 've/init/sa/ve.init.sa.Platform.js', ), ); $format = $this->getOption( 'format', false ); $indent = $this->getOption( 'indent', 2 ); if ( is_numeric( $indent ) ) { $indent = str_repeat( "\t", $indent ); } $vePath = $this->getOption( 've-path', $format === 'demo' // From /demo/index.php ? '../../modules/' // From /modules/ve/index.html : '../../' ); $self = isset( $_SERVER['PHP_SELF'] ) ? $_SERVER['PHP_SELF'] : ( lcfirst( __CLASS__ ) . '.php' ); $head = $body = ""; $modules = array( 'Dependencies', 'ext.visualEditor.base', 'Standalone Init', 'ext.visualEditor.core', ); foreach ( $modules as $module ) { if ( !isset( $wgResourceModules[$module] ) ) { continue; } $headAdd = $bodyAdd = ''; $registry = $wgResourceModules[$module]; if ( isset( $registry['styles'] ) && $format !== 'test' ){ foreach ($registry['styles'] as $style) { $headAdd .= $indent . Html::element( 'link', array( 'rel' => 'stylesheet', 'href' => "$vePath$style" ) ) . "\n"; } } if ( isset( $registry['scripts'] ) ) { foreach ($registry['scripts'] as $script) { $bodyAdd .= $indent . Html::element( 'script', array( 'src' => "$vePath$script" ) ) . "\n"; } } if ( isset( $registry['debugScripts'] ) ) { foreach ($registry['debugScripts'] as $script) { $bodyAdd .= $indent . Html::element( 'script', array( 'src' => "$vePath$script" ) ) . "\n"; } } if ( $headAdd ) { $head .= "$indent\n$headAdd"; } if ( $bodyAdd ) { $body .= "$indent\n$bodyAdd"; } } if ( $head ) { echo "\n\n$indent\n$head\n\n"; } if ( $body ) { echo "\n\n$indent\n$body\n\n\n"; } } } $maintClass = 'MakeStaticLoader'; require_once( RUN_MAINTENANCE_IF_MAIN );