http://www.mediawiki.org/wiki/Special:Code/MediaWiki/70106
Revision: 70106
Author: mah
Date: 2010-07-28 20:00:02 +0000 (Wed, 28 Jul 2010)
Log Message:
-----------
Since script ordering matters, follow up r70100 with a way to load js files
after the LQT support has been loaded.
Modified Paths:
--------------
trunk/extensions/LiquidThreads/classes/View.php
trunk/extensions/LiquidThreads/pages/NewUserMessagesView.php
Modified: trunk/extensions/LiquidThreads/classes/View.php
===================================================================
--- trunk/extensions/LiquidThreads/classes/View.php 2010-07-28 19:38:59 UTC
(rev 70105)
+++ trunk/extensions/LiquidThreads/classes/View.php 2010-07-28 20:00:02 UTC
(rev 70106)
@@ -25,7 +25,7 @@
protected $sort_order = LQT_NEWEST_CHANGES;
- static $stylesAndScriptsDone = false;
+ static $stylesAndScriptsDone = array();
function __construct( &$output, &$article, &$title, &$user, &$request )
{
$this->article = $article;
@@ -1182,8 +1182,19 @@
* Output methods *
*************************/
- static function addJSandCSS() {
- if ( self::$stylesAndScriptsDone ) {
+ static function sendMoreScripts( $scripts = array() ) {
+ global $wgOut;
+ foreach( $scripts as $file ) {
+ if( !in_array( $file, self::$stylesAndScriptsDone ) ) {
+ $wgOut->addScriptFile( $file );
+ self::$stylesAndScriptsDone[] = $file;
+ }
+ }
+ }
+
+ static function addJSandCSS( $scripts = array() ) {
+ if ( count( self::$stylesAndScriptsDone ) ) {
+ self::sendMoreScripts( $scripts );
return;
}
@@ -1193,22 +1204,22 @@
LqtHooks::$scriptVariables['wgLqtMessages'] =
self::exportJSLocalisation();
+
+ $wgOut->addExtensionStyle(
"$wgLiquidThreadsExtensionPath/jquery/jquery-ui-1.7.2.css" );
+ $wgOut->addExtensionStyle(
"$wgLiquidThreadsExtensionPath/lqt.css?{$wgStyleVersion}" );
+
+ array_unshift( $scripts,
"$wgLiquidThreadsExtensionPath/js/lqt.toolbar.js" );
+ array_unshift( $scripts,
"$wgLiquidThreadsExtensionPath/jquery/jquery.autogrow.js" );
+ array_unshift( $scripts, "$wgLiquidThreadsExtensionPath/lqt.js"
);
+
if ( method_exists( $wgOut, 'includeJQuery' ) ) {
$wgOut->includeJQuery();
- $wgOut->addScriptFile(
"$wgLiquidThreadsExtensionPath/jquery/plugins.js" );
+ array_unshift( $scripts,
"$wgLiquidThreadsExtensionPath/jquery/plugins.js" );
} else {
- $wgOut->addScriptFile(
"$wgLiquidThreadsExtensionPath/jquery/js2.combined.js" );
+ array_unshift( $scripts,
"$wgLiquidThreadsExtensionPath/jquery/js2.combined.js" );
}
- $wgOut->addExtensionStyle(
"$wgLiquidThreadsExtensionPath/jquery/jquery-ui-1.7.2.css" );
-
- $wgOut->addScriptFile(
"$wgLiquidThreadsExtensionPath/jquery/jquery.autogrow.js" );
-
- $wgOut->addScriptFile( "$wgLiquidThreadsExtensionPath/lqt.js" );
- $wgOut->addScriptFile(
"$wgLiquidThreadsExtensionPath/js/lqt.toolbar.js" );
- $wgOut->addExtensionStyle(
"$wgLiquidThreadsExtensionPath/lqt.css?{$wgStyleVersion}" );
-
- self::$stylesAndScriptsDone = true;
+ self::sendMoreScripts( $scripts );
}
static function exportJSLocalisation() {
@@ -1888,7 +1899,8 @@
$html = '';
if ( wfRunHooks( 'EditPageBeforeEditToolbar', array( &$html ) )
) {
- self::addJSandCSS();
+ $scripts = isset( $options['addScripts'] ) ?
$options['addScripts'] : array();
+ self::addJSandCSS( $scripts );
}
$class = $this->threadDivClass( $thread );
Modified: trunk/extensions/LiquidThreads/pages/NewUserMessagesView.php
===================================================================
--- trunk/extensions/LiquidThreads/pages/NewUserMessagesView.php
2010-07-28 19:38:59 UTC (rev 70105)
+++ trunk/extensions/LiquidThreads/pages/NewUserMessagesView.php
2010-07-28 20:00:02 UTC (rev 70106)
@@ -85,13 +85,6 @@
function showOnce() {
NewMessages::recacheMessageCount( $this->user->getId() );
- static $scriptDone = false;
-
- if ( !$scriptDone ) {
- global $wgOut, $wgLiquidThreadsExtensionPath;
- $wgOut->addScriptFile(
"$wgLiquidThreadsExtensionPath/newmessages.js" );
- }
-
$this->user->setNewtalk( false );
if ( $this->methodApplies( 'mark_as_unread' ) ) {
@@ -207,8 +200,9 @@
$mustShowThreads = $this->targets[$t->id()];
- $this->showThread( $t, 1, 1, array( 'mustShowThreads' =>
$mustShowThreads ) );
-
+ global $wgLiquidThreadsExtensionPath;
+ $this->showThread( $t, 1, 1, array( 'mustShowThreads' =>
$mustShowThreads,
+ 'addScripts' => array(
"$wgLiquidThreadsExtensionPath/newmessages.js" ) ) );
$this->output->addHTML( "</td></tr>" );
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs