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

Revision: 100324
Author:   jeroendedauw
Date:     2011-10-20 02:17:19 +0000 (Thu, 20 Oct 2011)
Log Message:
-----------
fix rounding issues with votes

Modified Paths:
--------------
    trunk/extensions/Contest/Contest.hooks.php
    trunk/extensions/Contest/Contest.sql
    trunk/extensions/Contest/includes/ContestContestant.php
    trunk/extensions/Contest/includes/ContestantPager.php
    trunk/extensions/Contest/specials/SpecialContestant.php

Added Paths:
-----------
    trunk/extensions/Contest/sql/UpdateContestantRatingField.sql

Modified: trunk/extensions/Contest/Contest.hooks.php
===================================================================
--- trunk/extensions/Contest/Contest.hooks.php  2011-10-20 02:13:19 UTC (rev 
100323)
+++ trunk/extensions/Contest/Contest.hooks.php  2011-10-20 02:17:19 UTC (rev 
100324)
@@ -37,6 +37,12 @@
                        dirname( __FILE__ ) . '/sql/AddContestEmailFields.sql',
                        true
                ) );
+               
+               $updater->addExtensionUpdate( array(
+                       'applyPatch',
+                       dirname( __FILE__ ) . 
'/sql/UpdateContestantRatingField.sql',
+                       true
+               ) );
 
                return true;
        }

Modified: trunk/extensions/Contest/Contest.sql
===================================================================
--- trunk/extensions/Contest/Contest.sql        2011-10-20 02:13:19 UTC (rev 
100323)
+++ trunk/extensions/Contest/Contest.sql        2011-10-20 02:17:19 UTC (rev 
100324)
@@ -41,7 +41,7 @@
 
   contestant_submission        TINYBLOB            NOT NULL, -- URL to the 
users submission
 
-  contestant_rating            TINYINT unsigned    NOT NULL, -- The average 
rating of the contestant
+  contestant_rating            SMALLINT unsigned   NOT NULL, -- The average 
rating of the contestant, multiplied by 100 for precision
   contestant_rating_count      SMALLINT unsigned   NOT NULL, -- The number of 
ratings
   contestant_comments          SMALLINT unsigned   NOT NULL  -- The number of 
comments
 ) /*$wgDBTableOptions*/;

Modified: trunk/extensions/Contest/includes/ContestContestant.php
===================================================================
--- trunk/extensions/Contest/includes/ContestContestant.php     2011-10-20 
02:13:19 UTC (rev 100323)
+++ trunk/extensions/Contest/includes/ContestContestant.php     2011-10-20 
02:17:19 UTC (rev 100324)
@@ -558,7 +558,7 @@
                }
 
                $this->setField( 'rating_count', $amount );
-               $this->setField( 'rating', $amount > 0 ? $total / $amount : 0 );
+               $this->setField( 'rating', $amount > 0 ? $total / $amount * 100 
: 0 );
        }
 
        /**

Modified: trunk/extensions/Contest/includes/ContestantPager.php
===================================================================
--- trunk/extensions/Contest/includes/ContestantPager.php       2011-10-20 
02:13:19 UTC (rev 100323)
+++ trunk/extensions/Contest/includes/ContestantPager.php       2011-10-20 
02:17:19 UTC (rev 100324)
@@ -220,7 +220,7 @@
                                $value = htmlspecialchars( wfMsgExt(
                                        'contest-contestant-rating',
                                        'parsemag',
-                                       $this->getLang()->formatNum( $value ),
+                                       $this->getLang()->formatNum( $value / 
100 ),
                                        $this->getLang()->formatNum( 
$this->mCurrentRow->contestant_rating_count )
                                ) );
                                break;

Modified: trunk/extensions/Contest/specials/SpecialContestant.php
===================================================================
--- trunk/extensions/Contest/specials/SpecialContestant.php     2011-10-20 
02:13:19 UTC (rev 100323)
+++ trunk/extensions/Contest/specials/SpecialContestant.php     2011-10-20 
02:17:19 UTC (rev 100324)
@@ -205,7 +205,7 @@
                $stats['rating'] = htmlspecialchars( wfMsgExt(
                        'contest-contestant-rating',
                        'parsemag',
-                       $this->getLang()->formatNum( $contestant->getField( 
'rating' ) ),
+                       $this->getLang()->formatNum( $contestant->getField( 
'rating' ) / 100 ),
                        $this->getLang()->formatNum( $contestant->getField( 
'rating_count' ) )
                ) );
 

Added: trunk/extensions/Contest/sql/UpdateContestantRatingField.sql
===================================================================
--- trunk/extensions/Contest/sql/UpdateContestantRatingField.sql                
                (rev 0)
+++ trunk/extensions/Contest/sql/UpdateContestantRatingField.sql        
2011-10-20 02:17:19 UTC (rev 100324)
@@ -0,0 +1 @@
+ALTER TABLE /*_*/contest_contestants MODIFY contestant_rating SMALLINT 
unsigned NOT NULL;
\ No newline at end of file


Property changes on: 
trunk/extensions/Contest/sql/UpdateContestantRatingField.sql
___________________________________________________________________
Added: svn:eol-style
   + native


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

Reply via email to