addInternal( $event, $user ); } /** * @param EchoEvent $event * @param User $user */ private function addInternal( EchoEvent $event, User $user ) { $uid = $user->getId(); if ( isset( $this->events[$uid] ) ) { $this->events[$uid]['eventIds'][] = $event->getId(); } else { $this->events[$uid] = array( 'user' => $user, 'eventIds' => array( $event->getId() ), ); } } /** * Mark's all queue'd notifications as read. * Satisfies DeferrableUpdate interface */ public function doUpdate() { foreach ( $this->events as $data ) { MWEchoNotifUser::newFromUser( $data['user'] )->markRead( $data['eventIds'] ); } $this->events = array(); } }