/** * Called everytime on login * @return bool */ public static function updateStatus() { global $wgUser; if (OnlineStatusBar::isValid( $wgUser )) { // Update status OnlineStatusBar_StatusCheck::updateStatus(); // Purge user page (optional) OnlineStatusBar::purge( $wgUser ); } return true; }
/** * Update status of user * @return bool */ public static function updateStatus() { global $wgUser, $wgOnlineStatusBarDefaultOffline; // if anon users are not tracked and user is anon leave it if (!OnlineStatusBar::isValid( $wgUser )) { return false; } $user_status = self::getStatus( $wgUser, true ); if ( $user_status == $wgOnlineStatusBarDefaultOffline ) { self::updateDB(); return true; } if ( $user_status == 'write' ) { $dbw = wfGetDB( DB_MASTER ); $timestamp = $dbw->timestamp(); $dbw->update( 'online_status', array( 'timestamp' => $timestamp ), array( 'username' => $wgUser->getName() ), __METHOD__ ); self::setCache( $wgUser->getName(), $timestamp, ONLINESTATUSBAR_NORMAL_CACHE ); self::deleteOld(); } return true; }