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

Revision: 73811
Author:   thomasv
Date:     2010-09-27 15:08:05 +0000 (Mon, 27 Sep 2010)

Log Message:
-----------
use Resource loader ; adapt scripts

Modified Paths:
--------------
    trunk/extensions/ProofreadPage/ProofreadPage.php
    trunk/extensions/ProofreadPage/ProofreadPage_body.php
    trunk/extensions/ProofreadPage/proofread.js
    trunk/extensions/ProofreadPage/proofread_article.js

Modified: trunk/extensions/ProofreadPage/ProofreadPage.php
===================================================================
--- trunk/extensions/ProofreadPage/ProofreadPage.php    2010-09-27 14:43:15 UTC 
(rev 73810)
+++ trunk/extensions/ProofreadPage/ProofreadPage.php    2010-09-27 15:08:05 UTC 
(rev 73811)
@@ -53,9 +53,6 @@
 $wgSpecialPages['PagesWithoutScans'] = 'PagesWithoutScans';
 $wgSpecialPageGroups['PagesWithoutScans'] = 'maintenance';
 
-# Bump the version number every time you change proofread.js
-$wgProofreadPageVersion = 27;
-
 # Group allowed to modify pagequality
 $wgGroupPermissions['user']['pagequality'] = true;
 

Modified: trunk/extensions/ProofreadPage/ProofreadPage_body.php
===================================================================
--- trunk/extensions/ProofreadPage/ProofreadPage_body.php       2010-09-27 
14:43:15 UTC (rev 73810)
+++ trunk/extensions/ProofreadPage/ProofreadPage_body.php       2010-09-27 
15:08:05 UTC (rev 73811)
@@ -51,11 +51,49 @@
                $wgHooks['LoadExtensionSchemaUpdates'][] = array( &$this, 
'schema_update' );
                $wgHooks['EditPage::importFormData'][] = array( &$this, 
'importFormData' );
                $wgHooks['OutputPageParserOutput'][] = array( &$this, 
'OutputPageParserOutput' );
+               $wgHooks['ResourceLoaderRegisterModules'][] = array( &$this, 
'resourceLoaderRegisterModules' );
                wfLoadExtensionMessages( 'ProofreadPage' );
                $this->page_namespace = preg_quote( wfMsgForContent( 
'proofreadpage_namespace' ), '/' );
                $this->index_namespace = preg_quote( wfMsgForContent( 
'proofreadpage_index_namespace' ), '/' );
        }
 
+ 
+       public static function resourceLoaderRegisterModules() {
+
+               ResourceLoader::register( 'proofreadpage.page', 
+                                         new ResourceLoaderFileModule( 
+                                               array( 'scripts' => 
'extensions/ProofreadPage/proofread.js',
+                                                      'messages' => array( 
'proofreadpage_index', 
+                                                                           
'proofreadpage_nextpage',
+                                                                           
'proofreadpage_prevpage',
+                                                                           
'proofreadpage_image',
+                                                                           
'proofreadpage_header',
+                                                                           
'proofreadpage_body',
+                                                                           
'proofreadpage_footer',
+                                                                           
'proofreadpage_toggleheaders',
+                                                                           
'proofreadpage_page_status',
+                                                                           
'proofreadpage_quality0_category',
+                                                                           
'proofreadpage_quality1_category',
+                                                                           
'proofreadpage_quality2_category',
+                                                                           
'proofreadpage_quality3_category',
+                                                                           
'proofreadpage_quality4_category',
+                                                                           )
+                                                      ) ) );
+
+               ResourceLoader::register( 'proofreadpage.article', 
+                                         new ResourceLoaderFileModule( 
+                                               array( 'scripts' => 
'extensions/ProofreadPage/proofread_article.js',
+                                                      'messages'=> array( 
'proofreadpage_source', 'proofreadpage_source_message' )
+                                                      ) ) );
+
+               ResourceLoader::register( 'proofreadpage.index', 
+                                         new ResourceLoaderFileModule( array( 
'scripts' => 'extensions/ProofreadPage/proofread_index.js' ) ) );
+
+               return true;
+       }
+
+
+
        function schema_update() {
                global $wgExtNewTables;
                $base = dirname(__FILE__);
@@ -306,42 +344,20 @@
                return true;
        }
 
-       
        function prepareArticle( $out ) {
-               global $wgJsMimeType, $wgScriptPath,  $wgRequest, 
$wgProofreadPageVersion;
-               $jsFile = htmlspecialchars( 
"$wgScriptPath/extensions/ProofreadPage/proofread_article.js?$wgProofreadPageVersion"
 );
-               $out->addScript( <<<EOT
-<script type="$wgJsMimeType" src="$jsFile"></script>
-EOT
-                                );
-               $out->addScript( "<script type=\"{$wgJsMimeType}\"> 
-var prp_source = \"" . Xml::escapeJsString( wfMsg( 'proofreadpage_source' ) ) 
. "\";
-var prp_source_message = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_source_message' ) ) . "\";
-</script>\n"
-                                );
+               $out->addModules( 'proofreadpage.article' );
                $this->displayProofreadingStatus( $out );
        }
 
        function prepareIndex( $out ) {
-               global $wgJsMimeType, $wgScriptPath,  $wgRequest, 
$wgProofreadPageVersion;
-               $jsFile = htmlspecialchars( 
"$wgScriptPath/extensions/ProofreadPage/proofread_index.js?$wgProofreadPageVersion"
 );
-
-               $out->addScript( <<<EOT
-<script type="$wgJsMimeType" src="$jsFile"></script>
-
-EOT
-                                );
-               $out->addScript( "<script type=\"{$wgJsMimeType}\"> 
+               $out->addModules( 'proofreadpage.index' );
+               $out->addInlineScript("
 var prp_index_attributes = \"" . Xml::escapeJsString( wfMsgForContent( 
'proofreadpage_index_attributes' ) ) . "\";
 var prp_default_header = \"" . Xml::escapeJsString( wfMsgGetKey( 
'proofreadpage_default_header', true, true, false ) ) . "\";
-var prp_default_footer = \"" . Xml::escapeJsString( wfMsgGetKey( 
'proofreadpage_default_footer', true, true, false ) ) . "\";
-</script>\n"
-                                );
+var prp_default_footer = \"" . Xml::escapeJsString( wfMsgGetKey( 
'proofreadpage_default_footer', true, true, false ) ) . "\";" );
        }
 
-
        function preparePage( $out, $m, $isEdit ) {
-               global $wgJsMimeType, $wgScriptPath,  $wgRequest, 
$wgProofreadPageVersion, $wgProofreadPageMaxWidth;
                global $wgTitle, $wgUser;
 
                if ( !isset( $wgTitle->pr_index_title ) ) {
@@ -372,8 +388,6 @@
 
                list( $index_url, $prev_url, $next_url, $header, $footer, $css, 
$edit_width ) = $this->navigation( $wgTitle );
                
-               $jsFile = htmlspecialchars( 
"$wgScriptPath/extensions/ProofreadPage/proofread.js?$wgProofreadPageVersion" );
-               
                $jsVars = array(
                                'proofreadPageWidth' => intval( $width ),
                                'proofreadPageHeight' => intval( $height ),
@@ -389,32 +403,10 @@
                                'proofreadPageUserName' => $wgUser->getName(),
                                'proofreadPageCss' => $css,
                                );
-               $varScript = Skin::makeVariablesScript( $jsVars );
+               $out->addInlineScript( ResourceLoader::makeConfigSetScript( 
$jsVars ) );
 
-               $out->addScript( <<<EOT
-$varScript
-<script type="$wgJsMimeType" src="$jsFile"></script>
+               $out->addModules( 'proofreadpage.page' );
 
-EOT
-                                );
-
-               // Add messages from i18n
-               $out->addScript( "<script type=\"{$wgJsMimeType}\"> 
-var proofreadPageMessageIndex = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_index' ) ) . "\";
-var proofreadPageMessageNextPage = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_nextpage' ) ) . "\";
-var proofreadPageMessagePrevPage = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_prevpage' ) ) . "\";
-var proofreadPageMessageImage = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_image' ) ) . "\";
-var proofreadPageMessageHeader = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_header' ) ) . "\";
-var proofreadPageMessagePageBody = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_body' ) ) . "\";
-var proofreadPageMessageFooter = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_footer' ) ) . "\";
-var proofreadPageMessageToggleHeaders = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_toggleheaders' ) ) . "\";
-var proofreadPageMessageStatus = \"" . Xml::escapeJsString( wfMsg( 
'proofreadpage_page_status' ) ) . "\";
-var proofreadPageMessageQuality0 = \"" . Xml::escapeJsString( wfMsgForContent( 
'proofreadpage_quality0_category' ) ) . "\";
-var proofreadPageMessageQuality1 = \"" . Xml::escapeJsString( wfMsgForContent( 
'proofreadpage_quality1_category' ) ) . "\";
-var proofreadPageMessageQuality2 = \"" . Xml::escapeJsString( wfMsgForContent( 
'proofreadpage_quality2_category' ) ) . "\";
-var proofreadPageMessageQuality3 = \"" . Xml::escapeJsString( wfMsgForContent( 
'proofreadpage_quality3_category' ) ) . "\";
-var proofreadPageMessageQuality4 = \"" . Xml::escapeJsString( wfMsgForContent( 
'proofreadpage_quality4_category' ) ) . "\";
-</script>\n"    );
                return true;
        }
 

Modified: trunk/extensions/ProofreadPage/proofread.js
===================================================================
--- trunk/extensions/ProofreadPage/proofread.js 2010-09-27 14:43:15 UTC (rev 
73810)
+++ trunk/extensions/ProofreadPage/proofread.js 2010-09-27 15:08:05 UTC (rev 
73811)
@@ -18,7 +18,7 @@
                var view_url = self.proofreadPageThumbURL.replace( '##WIDTH##', 
'' + self.proofreadPageWidth );
                b[0].innerHTML = b[0].innerHTML + '<li id="ca-image">' +
                        '<span><a href="' + escapeQuotesHTML( view_url ) + '">' 
+
-                       escapeQuotesHTML( proofreadPageMessageImage ) + 
'</a></span></li>';
+                       escapeQuotesHTML( mediaWiki.msg.get( 
'proofreadpage_image' ) ) + '</a></span></li>';
        }
 
        if( self.proofreadPageIndexURL ) {
@@ -26,16 +26,16 @@
                        '<span><a href="' + escapeQuotesHTML( 
proofreadPageIndexURL ) +
                        '" title="' + escapeQuotesHTML( 
proofreadPageMessageIndex ) + '">' +
                        '<img src="' + wgScriptPath + 
'/extensions/ProofreadPage/uparrow.png" alt="' +
-                       escapeQuotesHTML( proofreadPageMessageIndex ) +
+                       escapeQuotesHTML( mediaWiki.msg.get( 
'proofreadpage_index' ) ) +
                        '" width="15" height="15" /></a></span></li>';
        }
 
        if( self.proofreadPageNextURL ) {
                b[0].innerHTML = '<li id="ca-next">' +
                        '<span><a href="' + escapeQuotesHTML( 
self.proofreadPageNextURL ) +
-                       '" title="' + escapeQuotesHTML( 
proofreadPageMessageNextPage ) + '">' +
+                       '" title="' + escapeQuotesHTML( mediaWiki.msg.get( 
'proofreadpage_nextpage' ) ) + '">' +
                        '<img src="' + wgScriptPath + 
'/extensions/ProofreadPage/rightarrow.png" alt="' +
-                       escapeQuotesHTML( proofreadPageMessageNextPage ) +
+                       escapeQuotesHTML( mediaWiki.msg.get( 
'proofreadpage_nextpage' ) ) +
                        '" width="15" height="15" /></a></span></li>' +
                        b[0].innerHTML;
        }
@@ -43,9 +43,9 @@
        if( self.proofreadPagePrevURL ) {
                b[0].innerHTML = '<li id="ca-prev">' +
                        '<span><a href="' + escapeQuotesHTML( 
self.proofreadPagePrevURL ) +
-                       '" title="' + escapeQuotesHTML( 
proofreadPageMessagePrevPage ) + '">' +
+                       '" title="' + escapeQuotesHTML( mediaWiki.msg.get( 
'proofreadpage_prevpage' ) ) + '">' +
                        '<img src="' + wgScriptPath + 
'/extensions/ProofreadPage/leftarrow.png" alt="' +
-                       escapeQuotesHTML( proofreadPageMessagePrevPage ) +
+                       escapeQuotesHTML( mediaWiki.msg.get( 
'proofreadpage_prevpage' ) ) +
                        '" width="15" height="15" /></a></span></li>' +
                        b[0].innerHTML;
        }
@@ -95,7 +95,7 @@
                        pageBody = text;
                        pageFooter = proofreadPageFooter;
                        if( document.editform ) {
-                               document.editform.elements['wpSummary'].value = 
'/* ' + proofreadPageMessageQuality1 + ' */ ';
+                               document.editform.elements['wpSummary'].value = 
"/* " + mediaWiki.msg.get( 'proofreadpage_quality1_category' ) + " */ ";
                        }
                }
        }
@@ -166,18 +166,20 @@
        pageHeader = pageHeader.split( '&' ).join( '&amp;' );
        pageFooter = pageFooter.split( '&' ).join( '&amp;' );
 
+       if ( ! self.proofreadpage_show_headers ) headers_style = 
'display:none'; else headers_style='';
+
        container.innerHTML = '' +
-               '<div id="prp_header" style="">' +
+               '<div id="prp_header" style="' + headers_style + '">' +
                '<span style="color:gray;font-size:80%;line-height:100%;">' +
-               escapeQuotesHTML( proofreadPageMessageHeader ) + '</span>' +
+               escapeQuotesHTML( mediaWiki.msg.get( 'proofreadpage_header' ) ) 
+ '</span>' +
                '<textarea name="wpHeaderTextbox" rows="2" cols="80" 
tabindex=1>' + pageHeader + '</textarea><br />' +
                '<span style="color:gray;font-size:80%;line-height:100%;">' +
-               escapeQuotesHTML( proofreadPageMessagePageBody ) + 
'</span></div>' +
+               escapeQuotesHTML( mediaWiki.msg.get( 'proofreadpage_body' ) ) + 
'</span></div>' +
                '<textarea name="wpTextbox1" id="wpTextbox1" tabindex=1 
style="height:' + ( self.DisplayHeight - 6 ) + 'px;">' +
                        pageBody + '</textarea>' +
-               '<div id="prp_footer" style="">' +
+               '<div id="prp_footer" style="' + headers_style + '">' +
                '<span style="color:gray;font-size:80%;line-height:100%;">' +
-               escapeQuotesHTML( proofreadPageMessageFooter ) + '</span><br 
/>' +
+               escapeQuotesHTML( mediaWiki.msg.get( 'proofreadpage_footer' ) ) 
+ '</span><br />' +
                '<textarea name="wpFooterTextbox" rows="2" cols="80" 
tabindex=1>' +
                pageFooter + '</textarea></div>';
 }
@@ -599,7 +601,7 @@
        }
 }
 
-function pr_zoom( delta ) {
+self.pr_zoom = function(delta) {
        if ( delta == 0 ) {
                // reduce width by 20 pixels in order to prevent horizontal 
scrollbar
                // from showing up
@@ -774,7 +776,7 @@
                        pr_container.addEventListener( 'DOMMouseScroll', 
pr_zoom_wheel, false );
                }
                pr_container.onmousewheel = pr_zoom_wheel; // IE, Opera.
-               hookEvent( 'load', function() { pr_load_image( view_url ); } );
+               pr_load_image(view_url);
        }
 
        table.setAttribute( 'id', 'textBoxTable' );
@@ -798,9 +800,6 @@
                pr_make_edit_area( self.text_container, new_text.value );
                var copywarn = document.getElementById( 'editpage-copywarn' );
                f.insertBefore( table, copywarn );
-               if ( !self.proofreadpage_show_headers ) {
-                       hookEvent( 'load', pr_toggle_visibility );
-               }
        } else {
                self.text_container.appendChild( new_text );
                f.appendChild( self.table );
@@ -816,8 +815,8 @@
                image.className = 'mw-toolbar-editbutton';
                image.src = wgScriptPath + 
'/extensions/ProofreadPage/button_category_plus.png';
                image.border = 0;
-               image.alt = proofreadPageMessageToggleHeaders;
-               image.title = proofreadPageMessageToggleHeaders;
+               image.alt = mediaWiki.msg.get( 'proofreadpage_toggleheaders' );
+               image.title = mediaWiki.msg.get( 'proofreadpage_toggleheaders' 
);
                image.style.cursor = 'pointer';
                image.onclick = pr_toggle_visibility;
 
@@ -954,25 +953,25 @@
 hookEvent( 'load', pr_initzoom );
 
 /* Quality buttons */
-function pr_add_quality( form, value ) {
+self.pr_add_quality = function( form, value ) {
        self.proofreadpage_quality = value;
        self.proofreadpage_username = proofreadPageUserName;
        var text = '';
        switch( value ) {
                case 0:
-                       text = proofreadPageMessageQuality0;
+                       text = mediaWiki.msg.get( 
'proofreadpage_quality0_category' ); 
                        break;
                case 1:
-                       text = proofreadPageMessageQuality1;
+                       text = mediaWiki.msg.get( 
'proofreadpage_quality1_category' ); 
                        break;
                case 2:
-                       text = proofreadPageMessageQuality2;
+                       text = mediaWiki.msg.get( 
'proofreadpage_quality2_category' ); 
                        break;
                case 3:
-                       text = proofreadPageMessageQuality3;
+                       text = mediaWiki.msg.get( 
'proofreadpage_quality3_category' ); 
                        break;
                case 4:
-                       text = proofreadPageMessageQuality4;
+                       text = mediaWiki.msg.get( 
'proofreadpage_quality4_category' ); 
                        break;
        }
        form.elements['wpSummary'].value = '/* ' + text + ' */ ';
@@ -1004,7 +1003,7 @@
 +'<span class="quality1"> <input type="radio" name="quality" value=1 
onclick="pr_add_quality(this.form,1)" tabindex=4> </span>'
 +'<span class="quality3"> <input type="radio" name="quality" value=3 
onclick="pr_add_quality(this.form,3)" tabindex=4> </span>'
 +'<span class="quality4"> <input type="radio" name="quality" value=4 
onclick="pr_add_quality(this.form,4)" tabindex=4> </span>';
-       f.innerHTML = f.innerHTML + '&nbsp;' + escapeQuotesHTML( 
proofreadPageMessageStatus );
+       f.innerHTML = f.innerHTML + '&nbsp;' + escapeQuotesHTML( 
mediaWiki.msg.get( 'proofreadpage_page_status' ) );
 
        if( !( ( self.proofreadpage_quality == 4 ) || ( ( 
self.proofreadpage_quality == 3 ) && ( self.proofreadpage_username != 
proofreadPageUserName ) ) ) ) {
                document.editform.quality[4].parentNode.style.cssText = 
'display:none';

Modified: trunk/extensions/ProofreadPage/proofread_article.js
===================================================================
--- trunk/extensions/ProofreadPage/proofread_article.js 2010-09-27 14:43:15 UTC 
(rev 73810)
+++ trunk/extensions/ProofreadPage/proofread_article.js 2010-09-27 15:08:05 UTC 
(rev 73811)
@@ -13,8 +13,8 @@
                        return;
                }
                q.removeChild( href );
-               href.innerHTML = prp_source;
-               href.setAttribute( 'title', prp_source_message );
+               href.innerHTML = mediaWiki.msg.get( 'proofreadpage_source' );
+               href.setAttribute( 'title', mediaWiki.msg.get( 
'proofreadpage_source_message' ) );
                var new_li = document.createElement( 'li' );
                new_li.appendChild( href );
                var new_span = document.createElement( 'span' );



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

Reply via email to