http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73947
Revision: 73947
Author: thomasv
Date: 2010-09-29 14:24:59 +0000 (Wed, 29 Sep 2010)
Log Message:
-----------
simplification using jQuery
Modified Paths:
--------------
trunk/extensions/ProofreadPage/ProofreadPage_body.php
trunk/extensions/ProofreadPage/proofread.js
Modified: trunk/extensions/ProofreadPage/ProofreadPage_body.php
===================================================================
--- trunk/extensions/ProofreadPage/ProofreadPage_body.php 2010-09-29
12:48:24 UTC (rev 73946)
+++ trunk/extensions/ProofreadPage/ProofreadPage_body.php 2010-09-29
14:24:59 UTC (rev 73947)
@@ -33,7 +33,7 @@
* Constructor
*/
function ProofreadPage() {
- global $wgParser, $wgHooks;
+ global $wgParser, $wgHooks, $wgScriptPath;
$wgParser->setHook( 'pagelist', array( &$this, 'renderPageList'
) );
$wgParser->setHook( 'pages', array( &$this, 'renderPages' ) );
$wgParser->setHook( 'pagequality', array( &$this, 'pageQuality'
) );
@@ -50,9 +50,25 @@
$wgHooks['EditPage::importFormData'][] = array( &$this,
'importFormData' );
$wgHooks['OutputPageParserOutput'][] = array( &$this,
'OutputPageParserOutput' );
$wgHooks['ResourceLoaderRegisterModules'][] = array( &$this,
'resourceLoaderRegisterModules' );
+
wfLoadExtensionMessages( 'ProofreadPage' );
+
+ /* Namespaces */
$this->page_namespace = preg_quote( wfMsgForContent(
'proofreadpage_namespace' ), '/' );
$this->index_namespace = preg_quote( wfMsgForContent(
'proofreadpage_index_namespace' ), '/' );
+
+ /* Navigation icons */
+ $path = $wgScriptPath . '/extensions/ProofreadPage';
+ $this->prev_icon = Html::element( 'img', array( 'src' => $path
. '/leftarrow.png',
+ 'alt' =>
wfMsg( 'proofreadpage_prevpage' ),
+ 'width' => 15,
'height' => 15 ) );
+ $this->next_icon = Html::element( 'img', array( 'src' => $path
. '/rightarrow.png',
+ 'alt' =>
wfMsg( 'proofreadpage_nextpage' ),
+ 'width' => 15,
'height' => 15 ) );
+ $this->up_icon = Html::element( 'img', array( 'src' => $path
. '/uparrow.png',
+ 'alt' =>
wfMsg( 'proofreadpage_index' ),
+ 'width' => 15,
'height' => 15 ) );
+
}
public static function resourceLoaderRegisterModules() {
@@ -62,10 +78,6 @@
array(
'scripts' =>
'extensions/ProofreadPage/proofread.js',
'messages' => array(
- 'proofreadpage_index',
- 'proofreadpage_nextpage',
- 'proofreadpage_prevpage',
- 'proofreadpage_image',
'proofreadpage_header',
'proofreadpage_body',
'proofreadpage_footer',
@@ -190,18 +202,16 @@
$name = $image->getTitle()->getText();
$prev_name = "$page_namespace:$name/" . ( $pagenr - 1 );
$next_name = "$page_namespace:$name/" . ( $pagenr + 1 );
- $prev_url = ( $pagenr == 1 ) ? '' : Title::newFromText(
$prev_name )->getFullURL();
- $next_url = ( $pagenr == $count ) ? '' :
Title::newFromText( $next_name )->getFullURL();
+ $prev_title = ( $pagenr == 1 ) ? null :
Title::newFromText( $prev_name );
+ $next_title = ( $pagenr == $count ) ? null :
Title::newFromText( $next_name );
} else {
- $prev_url = '';
- $next_url = '';
+ $prev_title = null;
+ $next_title = null;
}
- $index_url = $index_title->getFullURL();
-
if ( !$index_title->exists() ) {
- return array( $index_url, $prev_url, $next_url,
$default_header, $default_footer );
+ return array( $index_title, $prev_title, $next_title,
$default_header, $default_footer );
}
// if the index page exists, find current page number, previous
and next pages
@@ -227,12 +237,6 @@
if( ( $i >= 0 ) && ( $i + 1 < count( $links[1] ) ) ) {
$next_title = Title::newFromText(
$page_namespace . ':' . $links[1][$i + 1] );
}
- if( $prev_title ) {
- $prev_url = $prev_title->getFullURL();
- }
- if( $next_title ) {
- $next_url = $next_title->getFullURL();
- }
}
// Header and Footer
@@ -246,7 +250,7 @@
$css = $attributes['css'] ? $attributes['css'] : '';
$edit_width = $attributes['width'] ? $attributes['width'] : '';
- return array( $index_url, $prev_url, $next_url, $header,
$footer, $css, $edit_width );
+ return array( $index_title, $prev_title, $next_title, $header,
$footer, $css, $edit_width );
}
/**
@@ -390,17 +394,28 @@
$thumbURL = '';
}
- list( $index_url, $prev_url, $next_url, $header, $footer, $css,
$edit_width ) = $this->navigation( $wgTitle );
+ list( $index_title, $prev_title, $next_title, $header, $footer,
$css, $edit_width ) = $this->navigation( $wgTitle );
+ $sk = $wgUser->getSkin();
+ $next_link = $next_title ? $sk->link( $next_title,
$this->next_icon,
+ array( 'title' => wfMsg(
'proofreadpage_nextpage' ) ) ) : '';
+ $prev_link = $prev_title ? $sk->link( $prev_title,
$this->prev_icon,
+ array( 'title' => wfMsg(
'proofreadpage_prevpage' ) ) ): '';
+ $index_link = $index_title ? $sk->link( $index_title,
$this->up_icon,
+ array( 'title' =>
wfMsg( 'proofreadpage_index' ) ) ) : '';
+ $scan_link = $sk->link( $imageTitle, wfMsg(
'proofreadpage_image' ),
+ array( 'title' => wfMsg(
'proofreadpage_image' ) ) );
+
$jsVars = array(
'proofreadPageWidth' => intval( $width ),
'proofreadPageHeight' => intval( $height ),
'proofreadPageEditWidth' => $edit_width,
'proofreadPageThumbURL' => $thumbURL,
'proofreadPageIsEdit' => intval( $isEdit ),
- 'proofreadPageIndexURL' => $index_url,
- 'proofreadPagePrevURL' => $prev_url,
- 'proofreadPageNextURL' => $next_url,
+ 'proofreadPageIndexLink' => $index_link,
+ 'proofreadPageNextLink' => $next_link,
+ 'proofreadPagePrevLink' => $prev_link,
+ 'proofreadPageScanLink' => $scan_link,
'proofreadPageHeader' => $header,
'proofreadPageFooter' => $footer,
'proofreadPageAddButtons' => $wgUser->isAllowed(
'pagequality' ),
@@ -978,7 +993,7 @@
$page_regexp =
"/^<noinclude>(.*?)<\/noinclude>(.*?)<noinclude>(.*?)<\/noinclude>$/s";
if( !preg_match( $page_regexp, $text, $m ) ) {
$this->load_index( $wgTitle );
- list( $index_url, $prev_url, $next_url, $header,
$footer, $css, $edit_width ) = $this->navigation( $wgTitle );
+ list( $index_title, $prev_title, $next_title, $header,
$footer, $css, $edit_width ) = $this->navigation( $wgTitle );
$new_text = "<noinclude><pagequality level=\"1\"
user=\"$username\" />"
."$header\n\n\n</noinclude>$text<noinclude>\n$footer</noinclude>";
return array( -1, null, $new_text );
Modified: trunk/extensions/ProofreadPage/proofread.js
===================================================================
--- trunk/extensions/ProofreadPage/proofread.js 2010-09-29 12:48:24 UTC (rev
73946)
+++ trunk/extensions/ProofreadPage/proofread.js 2010-09-29 14:24:59 UTC (rev
73947)
@@ -1,54 +1,10 @@
// Author : ThomasV - License : GPL
function pr_init_tabs() {
- var a = document.getElementById( 'p-namespaces' );
- if( !a ) {
- a = document.getElementById( 'p-cactions' );
- }
-
- if ( !a ) {
- return;
- }
- var b = a.getElementsByTagName( 'ul' );
- if ( !b ) {
- return;
- }
-
- if( self.proofreadPageThumbURL ) {
- 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( mediaWiki.msg.get(
'proofreadpage_image' ) ) + '</a></span></li>';
- }
-
- if( self.proofreadPageIndexURL ) {
- b[0].innerHTML = b[0].innerHTML + '<li id="ca-index">' +
- '<span><a href="' + escapeQuotesHTML(
proofreadPageIndexURL ) +
- '" title="' + escapeQuotesHTML( mediaWiki.msg.get(
'proofreadpage_index' ) ) + '">' +
- '<img src="' + wgScriptPath +
'/extensions/ProofreadPage/uparrow.png" alt="' +
- 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( mediaWiki.msg.get(
'proofreadpage_nextpage' ) ) + '">' +
- '<img src="' + wgScriptPath +
'/extensions/ProofreadPage/rightarrow.png" alt="' +
- escapeQuotesHTML( mediaWiki.msg.get(
'proofreadpage_nextpage' ) ) +
- '" width="15" height="15" /></a></span></li>' +
- b[0].innerHTML;
- }
-
- if( self.proofreadPagePrevURL ) {
- b[0].innerHTML = '<li id="ca-prev">' +
- '<span><a href="' + escapeQuotesHTML(
self.proofreadPagePrevURL ) +
- '" title="' + escapeQuotesHTML( mediaWiki.msg.get(
'proofreadpage_prevpage' ) ) + '">' +
- '<img src="' + wgScriptPath +
'/extensions/ProofreadPage/leftarrow.png" alt="' +
- escapeQuotesHTML( mediaWiki.msg.get(
'proofreadpage_prevpage' ) ) +
- '" width="15" height="15" /></a></span></li>' +
- b[0].innerHTML;
- }
+ $( '#ca-talk' ).prev().before( '<li id="ca-prev"><span>' +
self.proofreadPagePrevLink + '</span></li>' );
+ $( '#ca-talk' ).prev().before( '<li id="ca-next"><span>' +
self.proofreadPageNextLink + '</span></li>' );
+ $( '#ca-talk' ).after( '<li id="ca-index"><span>' +
self.proofreadPageIndexLink + '</span></li>' );
+ $( '#ca-talk' ).after( '<li id="ca-image"><span>' +
self.proofreadPageScanLink + '</span></li>' );
}
function pr_image_url( requested_width ) {
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs