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( '&' );
pageFooter = pageFooter.split( '&' ).join( '&' );
+ 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 + ' ' + escapeQuotesHTML(
proofreadPageMessageStatus );
+ f.innerHTML = f.innerHTML + ' ' + 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