http://www.mediawiki.org/wiki/Special:Code/MediaWiki/88300

Revision: 88300
Author:   dale
Date:     2011-05-17 12:52:31 +0000 (Tue, 17 May 2011)
Log Message:
-----------
fixed the i8ln usage of uploadwizard message parser
fixed the warning overlay when the user has no in-browser player support

Modified Paths:
--------------
    
trunk/extensions/MwEmbedSupport/MwEmbedModules/MwEmbedSupport/mediawiki/mediawiki.language.parser.js
    
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.EmbedPlayer.js
    
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/mw.PlayerControlBuilder.js

Modified: 
trunk/extensions/MwEmbedSupport/MwEmbedModules/MwEmbedSupport/mediawiki/mediawiki.language.parser.js
===================================================================
--- 
trunk/extensions/MwEmbedSupport/MwEmbedModules/MwEmbedSupport/mediawiki/mediawiki.language.parser.js
        2011-05-17 12:45:54 UTC (rev 88299)
+++ 
trunk/extensions/MwEmbedSupport/MwEmbedModules/MwEmbedSupport/mediawiki/mediawiki.language.parser.js
        2011-05-17 12:52:31 UTC (rev 88300)
@@ -39,7 +39,7 @@
         * @return {Function} function suitable for assigning to window.gM
         */
        mw.language.getMessageFunction = function( options ) { 
-               var parser = new mw.language.parser( options ); 
+               var parser = new mw.language.parser( options );
                /** 
                 * Note replacements are gleaned from 2nd parameter, or 
variadic args starting with 2nd parameter.
                 * @param {String} message key
@@ -611,6 +611,17 @@
                }
                
        };
+       
+       
+       // Alias gM to getMessageFunction ( note in upload wizard this is done 
on the page but we need
+       // to have it globally available, it should not affect other messages 
because it acts the same 
+       // as mediaWiki.message.get
+       var options = { 
+               magic: { 
+                       'SITENAME' : mw.config.get('wgSitename') 
+               }
+       };
+       window.gM = mediaWiki.language.getMessageFunction( options );
+       $j.fn.msg = mediaWiki.language.getJqueryMessagePlugin( options );
 
-
 } )( mediaWiki, jQuery );

Modified: 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.EmbedPlayer.js
===================================================================
--- 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.EmbedPlayer.js
   2011-05-17 12:45:54 UTC (rev 88299)
+++ 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/mw.EmbedPlayer.js
   2011-05-17 12:52:31 UTC (rev 88300)
@@ -827,7 +827,9 @@
                } else {
                        this.selectedPlayer = 
mw.EmbedTypes.getMediaPlayers().defaultPlayer( 
this.mediaElement.selectedSource.mimeType );
                }
-
+               
+               this.selectedPlayer = null;
+               
                if ( this.selectedPlayer ) {
                        // Inherit the playback system of the selected player:
                        this.inheritEmbedPlayer();
@@ -1232,21 +1234,23 @@
         */
        showPluginMissingHTML: function( ) {
                mw.log("EmbedPlayer::showPluginMissingHTML");
+               // Hide loader
+               $('#loadingSpinner_' + this.id ).remove();
+               
+               // Set the top level container to relative position: 
+               $(this).css('position', 'relative');
+               
                // Control builder ( for play button )
-               this.controlBuilder = new mw.PlayerControlBuilder( this );      
                                
-               
+               this.controlBuilder = new mw.PlayerControlBuilder( this );      
        
+               // Update the poster and html:
+               this.updatePosterHTML();
+               // Add the warning
                this.controlBuilder.doWarningBindinng( 
'EmbedPlayer.DirectFileLinkWarning',
                        gM( 'mwe-embedplayer-download-warn', 
mw.getConfig('EmbedPlayer.FirefoxLink') )
                );
-               // Hide loader
-               $('#loadingSpinner_' + this.id ).remove();
-               $(this).css('position', 'relative');
                
-               // Get mime type for un-supported formats:
-               this.updatePosterHTML();                
-               
                // Set the play button to the first available source: 
-               $(this).find('.play-btn-large')
+               $( this ).find('.play-btn-large')
                .unbind('click')
                .wrap(
                        $('<a />').attr( {
@@ -1255,9 +1259,8 @@
                        } )
                );
 
-               // TODO we should have a smart doneLoading system that 
registers player states
+               // TODO we should have a smart done Loading system that 
registers player states
                // 
http://www.whatwg.org/specs/web-apps/current-work/#media-element
-               // does not really handle errors
                this.doneLoading = true;
                $(this).trigger('playerReady');
        },

Modified: 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/mw.PlayerControlBuilder.js
===================================================================
--- 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/mw.PlayerControlBuilder.js
    2011-05-17 12:45:54 UTC (rev 88299)
+++ 
trunk/extensions/TimedMediaHandler/MwEmbedModules/EmbedPlayer/resources/skins/mw.PlayerControlBuilder.js
    2011-05-17 12:52:31 UTC (rev 88300)
@@ -651,7 +651,7 @@
                var bindFirstPlay = false;              
                
                // Bind into play.ctrl namespace ( so we can unbind without 
affecting other play bindings )
-               $(embedPlayer).unbind('play.ctrl').bind('play.ctrl', function() 
{ //Only bind once played
+               $( embedPlayer ).unbind( 'play.ctrl' ).bind( 'play.ctrl', 
function() { //Only bind once played
                        if(bindFirstPlay) {
                                return ;
                        }
@@ -683,7 +683,6 @@
                                                }
                                        }
                                }, dblClickTime );
-                               
                        });             
                });
                
@@ -710,7 +709,6 @@
                        // Add a special absolute overlay for hover 
                        _this.addControlBarHover();                     
                }
-
                // Add recommend firefox if we have non-native playback:
                if ( _this.checkNativeWarning( ) ) {
                        _this.doWarningBindinng( 
'EmbedPlayer.ShowNativeWarning',
@@ -927,7 +925,7 @@
        *
        */
        doWarningBindinng: function( preferenceId, warningMsg ) {
-               mw.log( 'controlBuilder: doWarningBindinng: ' + preferenceId + 
' wm: ' + warningMsg);
+               mw.log( 'mw.PlayerControlBuilder:: doWarningBindinng: ' + 
preferenceId + ' wm: ' + warningMsg);
                // Set up local pointer to the embedPlayer
                var embedPlayer = this.embedPlayer;
                var _this = this;
@@ -936,14 +934,13 @@
                        return false;
                }
                // Add the targetWarning: 
-               $targetWarning = $('<div />')
+               var $targetWarning = $('<div />')
                .attr( {
                        'id': "warningOverlay_" + embedPlayer.id
                } )
-               .addClass( 'ui-state-highlight ui-corner-all' )
+               .addClass( 'warningOverlay ui-state-highlight ui-corner-all' )
                .css({
                        'position' : 'absolute',
-                       'display' : 'none',
                        'background' : '#FFF',
                        'color' : '#111',
                        'top' : '10px',
@@ -953,10 +950,6 @@
                })
                .html( warningMsg )
        
-               $( embedPlayer ).append(
-                       $targetWarning 
-               );
-       
                $targetWarning.append(
                        $('<br />')
                );
@@ -984,23 +977,25 @@
                        .text( gM( 'mwe-embedplayer-do_not_warn_again' ) )
                        .attr( 'for', 'ffwarn_' + embedPlayer.id )
                );
-               $targetWarning.hide();
                
+               $targetWarning.appendTo( embedPlayer ).hide();
+               
                $( embedPlayer ).hoverIntent({
                        'timeout': 2000,
                        'over': function() {
-                               // don't do the overlay if already playing
-                               if( embedPlayer.isPlaying() ){
+                               // don't do the overlay if already playing and 
we have a player selected
+                               if( embedPlayer.isPlaying() && 
embedPlayer.selectedPlayer ){
                                        return ;
                                }
                                
                                // Check the global config before showing the 
warning
                                if ( mw.getConfig( preferenceId ) === true && 
$.cookie( preferenceId ) != 'hidewarning' ){
-                                       mw.log("WarningBindinng:: show warning 
" + mw.getConfig( preferenceId ) + ' cookie: '+ $.cookie( preferenceId ) + 
'typeof:' + typeof $.cookie( preferenceId ));
+                                       mw.log("WarningBindinng:: show warning 
" + mw.getConfig( preferenceId ) + ' cookie: '+ $.cookie( preferenceId ) + 
'typeof: ' + typeof $.cookie( preferenceId ) + ' tw:' + $targetWarning.length );
                                        $targetWarning.fadeIn( 'slow' );
                                };
                        },
                        'out': function() {
+                               mw.log( 'mw.PlayerControlBuilder:: hide ' );
                                $targetWarning.fadeOut( 'slow' );
                        }
                });


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to