Revision: 52553
Author:   werdna
Date:     2009-06-29 16:35:41 +0000 (Mon, 29 Jun 2009)

Log Message:
-----------
Replace weird SQL with a single abstracted replace call, and remove unnecessary 
globals.

Modified Paths:
--------------
    trunk/extensions/LiquidThreads/classes/LqtNewMessages.php

Modified: trunk/extensions/LiquidThreads/classes/LqtNewMessages.php
===================================================================
--- trunk/extensions/LiquidThreads/classes/LqtNewMessages.php   2009-06-29 
16:34:54 UTC (rev 52552)
+++ trunk/extensions/LiquidThreads/classes/LqtNewMessages.php   2009-06-29 
16:35:41 UTC (rev 52553)
@@ -12,28 +12,28 @@
        }
 
        private static function writeUserMessageState( $thread, $user, 
$timestamp ) {
-               global $wgDBprefix;
-               if ( is_object( $thread ) ) $thread_id = $thread->id();
-               else if ( is_integer( $thread ) ) $thread_id = $thread;
-               else throw new MWException( "writeUserMessageState expected 
Thread or integer but got $thread" );
+               if ( is_object( $thread ) ) {
+                       $thread_id = $thread->id();
+               } else if ( is_integer( $thread ) ) {
+                       $thread_id = $thread;
+               } else {
+                       throw new MWException( "writeUserMessageState expected 
Thread or integer but got $thread" );
+               }
 
-               if ( is_object( $user ) ) $user_id = $user->getID();
-               else if ( is_integer( $user ) ) $user_id = $user;
-               else throw new MWException( "writeUserMessageState expected 
User or integer but got $user" );
+               if ( is_object( $user ) ) {
+                       $user_id = $user->getID();
+               } else if ( is_integer( $user ) ) {
+                       $user_id = $user;
+               } else {
+                       throw new MWException( "writeUserMessageState expected 
User or integer but got $user" );
+               }
 
-               if ( $timestamp === null ) $timestamp = "NULL";
-
                // use query() directly to pass in 'true' for 
don't-die-on-errors.
-               $dbr =& wfGetDB( DB_MASTER );
-               $success = $dbr->query( "insert into 
{$wgDBprefix}user_message_state values ($user_id, $thread_id, $timestamp)",
-                       __METHOD__, true );
-
-               if ( !$success ) {
-                       // duplicate key; update.
-                       $dbr->query( "update {$wgDBprefix}user_message_state 
set ums_read_timestamp = $timestamp" .
-                               " where ums_thread = $thread_id and ums_user = 
$user_id",
-                               __METHOD__ );
-               }
+               $dbw = wfGetDB( DB_MASTER );
+               
+               $dbw->replace( 'user_message_state', array( array( 'ums_user', 
'ums_thread' ) ),
+                                               array( 'ums_user' => $user_id, 
'ums_thread' => $thread_id,
+                                                               
'ums_read_timestamp' => $timestamp ), __METHOD__ );
        }
 
        /**
@@ -41,7 +41,7 @@
         * If the thread is on a user's talkpage, set that user's newtalk.
        */
        static function writeMessageStateForUpdatedThread( $t, $type, 
$changeUser ) {
-               global $wgDBprefix, $wgUser;
+               global $wgUser;
                
                wfDebugLog( 'LiquidThreads', 'Doing notifications' );
 



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to