Example #1
0
 /**
  * Notify to the System the user is connected
  * 
  * @param Presence $presence 
  */
 public function ping(Presence $presence)
 {
     if (!isset($presence) || !$presence instanceof Presence) {
         throw new EyeInvalidArgumentException('Missing or invalid $presence');
     }
     $searchPresence = self::retrievePresencesByUsersId(array($presence->getUserId()));
     if ($searchPresence !== null && is_array($searchPresence) && count($searchPresence) == 1) {
         $searchPresence = current($searchPresence);
         $searchPresence->setLastSeen($presence->getLastSeen());
         $this->getProvider()->updatePresence($searchPresence);
     } else {
         $this->getProvider()->storePresence($presence);
         $this->notifyNewPresence($presence);
     }
 }