public function deletePresence(Presence $presence) { try { $searchPresence = new Presence(); $searchPresence->setUserId($presence->getUserId()); $results = $this->dao->search($searchPresence); if (isset($results) && is_array($results) && count($results)) { $deletePresence = current($results); $this->dao->delete($deletePresence); } } catch (Exception $e) { throw new EyeDAOException('Unable to delete the Presence', 0, $e); } }
/** * Notify to the System the user is disconnected * * @param Presence $presence */ public function close(Presence $presence) { if (!isset($presence) || !$presence instanceof Presence) { throw new EyeInvalidArgumentException('Missing or invalid $presence'); } //var_dump($presence->getUserId()); $searchPresence = self::retrievePresencesByUsersId(array($presence->getUserId())); if ($searchPresence !== null && is_array($searchPresence) && count($searchPresence) == 1) { $searchPresence = current($searchPresence); // var_dump($searchPresence); $this->getProvider()->deletePresence($searchPresence); $this->notifyClosedPresence($searchPresence); } }