/**
	 * 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;
	}