add Last-Modified header
[lhc/web/wiklou.git] / includes / UserTalkUpdate.php
index 011a7ba..66ea7a9 100644 (file)
@@ -1,4 +1,4 @@
-<?
+<?php
 # See deferred.doc
 
 class UserTalkUpdate {
@@ -15,7 +15,7 @@ class UserTalkUpdate {
        function doUpdate()
        {
        
-               global $wgUser, $wgLang;
+               global $wgUser, $wgLang, $wgMemc, $wgDBname;
                $fname = "UserTalkUpdate::doUpdate";
 
                # If namespace isn't User_talk:, do nothing.
@@ -27,36 +27,32 @@ class UserTalkUpdate {
                # If the user talk page is our own, clear the flag
                # whether we are reading it or writing it.
                if ( 0 == strcmp( $this->mTitle, $wgUser->getName() ) ) {
-                       
                        $wgUser->setNewtalk( 0 );                       
                        $wgUser->saveSettings();
 
                } else {
                        # Not ours.  If writing, mark it as modified.
 
+                       $sql = false;
                        if ( 1 == $this->mAction ) {
                                $user = new User();                             
                                $user->setID(User::idFromName($this->mTitle));
                                if ($id=$user->getID()) {                                                                       
                                        $sql = "INSERT INTO user_newtalk (user_id) values ({$id})";
-                                       
-                               } else { #anon
-                                       
+                                       $wgMemc->delete( "$wgDBname:user:id:$id" );
+                               } else {
+                                       #anon
                                        if(preg_match("/^\d{1,3}\.\d{1,3}.\d{1,3}\.\d{1,3}$/",$this->mTitle)) { #real anon (user:xxx.xxx.xxx.xxx)
-                                       
                                                $sql = "INSERT INTO user_newtalk (user_id,user_ip) values (0,\"{$this->mTitle}\")";             
-                                               
-                                       }                                       
-                               
+                                               $wgMemc->delete( "$wgDBname:newtalk:ip:$this->mTitle" );
+                                       }
                                }
                                
                                if($sql && !$user->getNewtalk()) { # only insert if real user and it's not already there
-                                       wfQuery( $sql, $fname );
+                                       wfQuery( $sql, DB_WRITE, $fname );
                                }
                        }
                }
-               
-       
        }
 }