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

Revision: 76353
Author:   pdhanda
Date:     2010-11-08 23:32:00 +0000 (Mon, 08 Nov 2010)
Log Message:
-----------
Better error handling. Fixed how css and js file are included. Followup to 
r75331

Modified Paths:
--------------
    trunk/extensions/FlaggedRevs/FlaggedArticleView.php
    trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php
    trunk/extensions/FlaggedRevs/FlaggedRevs.php
    trunk/extensions/FlaggedRevs/client/flaggedrevs.js
    trunk/extensions/FlaggedRevs/language/FlaggedRevs.i18n.php

Modified: trunk/extensions/FlaggedRevs/FlaggedArticleView.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedArticleView.php 2010-11-08 23:29:23 UTC 
(rev 76352)
+++ trunk/extensions/FlaggedRevs/FlaggedArticleView.php 2010-11-08 23:32:00 UTC 
(rev 76353)
@@ -1801,13 +1801,13 @@
         * If this is a diff page then replace the article contents with a link 
to the specific revision.
         * This will be replaced with artice content using javascript and an 
api call.
         */
-       public function addCustomHtml( OutputPage &$out ) {
+       public function addCustomHtml( OutputPage $out ) {
                global $wgTitle, $wgScript, $wgRequest;
                $this->load();
                if ( $wgRequest->getVal( 'oldid' ) ) {
                        $oldId = $wgRequest->getVal( 'oldid' );
                        $oldRevisionUrl = $wgScript . '?title=' . $wgTitle . 
'&oldid=' . $oldId;
-                       $out->addHTML( "<div id='mw-fr-revisioncontents'>Click 
<a href='" . $oldRevisionUrl . "' >here</a> to view this revision.</div>" );
+                       $out->addHTML( "<div id='mw-fr-revisioncontents'>" . 
wfMsg( 'revcontents-getcontents', $oldRevisionUrl ) . "</div>" );
                }
                
        }

Modified: trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php  2010-11-08 23:29:23 UTC 
(rev 76352)
+++ trunk/extensions/FlaggedRevs/FlaggedRevs.hooks.php  2010-11-08 23:32:00 UTC 
(rev 76353)
@@ -58,15 +58,15 @@
                $encCssFile = htmlspecialchars( 
"$stylePath/flaggedrevs.css?$wgFlaggedRevStyleVersion" );
                $encJsFile = htmlspecialchars( 
"$stylePath/flaggedrevs.js?$wgFlaggedRevStyleVersion" );
 
-               // TODO fix this to use the correct method
                # Add CSS file
-               $head = "<link rel=\"stylesheet\" 
href=\"{$encCssFile}\"></link>";
+               $linkedStyle = Html::linkedStyle( $encCssFile );
+               $wgOut->addHeadItem( 'FlaggedRevs', $linkedStyle );
                # Add main JS file
-               $wgOut->addScript( "<script type=\"{$wgJsMimeType}\" 
src=\"{$encJsFile}\"></script>" );
+               $wgOut->addScriptFile( $encJsFile );
                # Add review form JS for reviewers
                if ( $wgUser->isAllowed( 'review' ) ) {
                        $encJsFile = htmlspecialchars( 
"$stylePath/review.js?$wgFlaggedRevStyleVersion" );
-                       $wgOut->addScript( "<script type=\"{$wgJsMimeType}\" 
src=\"{$encJsFile}\"></script>" );
+                       $wgOut->addScriptFile( $encJsFile );
                }
                # Set basic messages for all users...
                $msgs = array(
@@ -88,10 +88,9 @@
                                ' ['. wfMsg( 'accesskey-save' ) . ']';
                }
                # Add msgs to JS
-               $wgOut->addScript( "<script type=\"{$wgJsMimeType}\">" .
-                       "FlaggedRevs.messages = " . Xml::encodeJsVar( 
(object)$msgs ) . ";</script>" );
+               $wgOut->addInlineScript( "FlaggedRevs.messages = " . 
Xml::encodeJsVar( (object)$msgs ) . ";" );
 
-               $wgOut->addHeadItem( 'FlaggedRevs', $head );
+               //$wgOut->addHeadItem( 'FlaggedRevs', $head );
                return true;
        }
 
@@ -112,6 +111,11 @@
                $globalVars['wgStableRevisionId'] = $stableId;
                $globalVars['wgLatestRevisionId'] = $fa->getLatest();
                $globalVars['wgPageId'] = $fa->getID();
+               $revisionContents = (object) array(
+                       'error'         => wfMsgHtml( 'revcontents-error' ),
+                       'waiting'       => wfMsgHtml( 'revcontents-waiting' )
+               );
+               $globalVars['wgRevContents'] = $revisionContents;
                if ( $wgUser->isAllowed( 'review' ) ) {
                        $ajaxReview = (object) array(
                                'sendMsg'                => wfMsgHtml( 
'revreview-submit' ),

Modified: trunk/extensions/FlaggedRevs/FlaggedRevs.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedRevs.php        2010-11-08 23:29:23 UTC 
(rev 76352)
+++ trunk/extensions/FlaggedRevs/FlaggedRevs.php        2010-11-08 23:32:00 UTC 
(rev 76353)
@@ -255,7 +255,7 @@
 $wgAvailableRights[] = 'stablesettings';
 
 # Bump this number every time you change flaggedrevs.css/flaggedrevs.js
-$wgFlaggedRevStyleVersion = '79';
+$wgFlaggedRevStyleVersion = 80;
 
 $wgExtensionFunctions[] = 'efLoadFlaggedRevs';
 

Modified: trunk/extensions/FlaggedRevs/client/flaggedrevs.js
===================================================================
--- trunk/extensions/FlaggedRevs/client/flaggedrevs.js  2010-11-08 23:29:23 UTC 
(rev 76352)
+++ trunk/extensions/FlaggedRevs/client/flaggedrevs.js  2010-11-08 23:32:00 UTC 
(rev 76353)
@@ -191,39 +191,44 @@
        if( contentsDiv ) {     
                var diffUIParams = 
document.getElementById("mw-fr-diff-dataform");
                var oldRevId = 
diffUIParams.getElementsByTagName('input')[1].value;
-               contentsDiv.innerHTML = "<span class='loading 
spinner'></span><span class='loading' >Waiting for contents</span>";
+               var origContents = contentsDiv.innerHTML;
+               contentsDiv.innerHTML = "<span class='loading 
spinner'></span><span class='loading' >" + wgRevContents.waiting + "</span>";
                var requestArgs = 'action=parse&prop=text&format=xml';
                if ( window.wgLatestRevisionId == oldRevId ) {
                        requestArgs += '&pageid=' + window.wgPageId;
                } else {
                        requestArgs += '&oldid=' + oldRevId;
                }
-               timeoutId = window.setTimeout( function() {
-                       $.ajax({
+               var call = $.ajax({
                                url             : wgScriptPath + '/api.php',
                                type    : "GET",
                                data    : requestArgs,
                                dataType: "xml",
                                success : function( result ) {
                                        contents = $(result).find("text");
-                                       if ( contents ) {
+                                       if ( contents && contents.text() ) {
                                                contentsDiv.innerHTML = 
contents.text();
+                                       } else {
+                                               contentsDiv.innerHTML = 
wgRevContents.error + " " + origContents;
                                        }
                                },
                                error   : function(xmlHttpRequest, textStatus, 
errThrown) {
-                                       alert("error: " + textStauts); 
+                                       contentsDiv.innerHTML = 
wgRevContents.error + " " + origContents;
                                }
                        });
-               }, 1000 );
        }
-       if ( prevLink && timeoutId ) {
+       if ( prevLink ) {
                prevLink.onclick = function() {
-                       window.clearTimeout( timeoutId );
+                       if ( call ) {
+                               call.abort();
+                       }
                }
        }
-       if ( nextLink && timeoutId ) {
+       if ( nextLink ) {
                nextLink.onclick = function() {
-                       window.clearTimeout( timeoutId );
+                       if ( call ) {
+                               call.abort();
+                       }
                }
        }
 }

Modified: trunk/extensions/FlaggedRevs/language/FlaggedRevs.i18n.php
===================================================================
--- trunk/extensions/FlaggedRevs/language/FlaggedRevs.i18n.php  2010-11-08 
23:29:23 UTC (rev 76352)
+++ trunk/extensions/FlaggedRevs/language/FlaggedRevs.i18n.php  2010-11-08 
23:32:00 UTC (rev 76353)
@@ -41,6 +41,9 @@
        'group-autoreview'             => 'Autochecked users',
        'group-autoreview-member'      => 'autochecked users',
        'grouppage-autoreview'         => '{{ns:project}}:Autochecked users',
+       'revcontents-error'            => 'Unable to get content.',
+       'revcontents-getcontents'      => 'Click <a href="$1" >here</a> to view 
this revision.',
+       'revcontents-waiting'          => 'Waiting for content',
        'revreview-hist-draft'         => 'unchecked revision',
        'revreview-hist-pending'       => 'pending revision',
        'revreview-hist-quality'       => 'quality revision',
@@ -776,6 +779,7 @@
        'group-reviewer-member' => 'Revisador',
        'grouppage-editor' => '{{ns:project}}:Editor',
        'grouppage-reviewer' => '{{ns:project}}:Revisador',
+
        'revreview-hist-draft' => 'versión no verificata',
        'revreview-hist-quality' => 'versión de calidat',
        'revreview-hist-basic' => 'versión verificata',


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

Reply via email to