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

Reply via email to