/**
  * Exclude object from result
  *
  * @param   ChildConnection $connection Object to remove from the list of results
  *
  * @return $this|ChildConnectionQuery The current query, for fluid interface
  */
 public function prune($connection = null)
 {
     if ($connection) {
         $this->addUsingAlias(ConnectionTableMap::COL_ID, $connection->getId(), Criteria::NOT_EQUAL);
     }
     return $this;
 }
Exemplo n.º 2
0
 /**
  * @param ChildConnection $connection The ChildConnection object to add.
  */
 protected function doAddConnection(ChildConnection $connection)
 {
     $this->collConnections[] = $connection;
     $connection->setInstance($this);
 }
 /**
  * Filter the query by a related \Jalle19\StatusManager\Database\Connection object
  *
  * @param \Jalle19\StatusManager\Database\Connection|ObjectCollection $connection the related object to use as filter
  * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return ChildInstanceQuery The current query, for fluid interface
  */
 public function filterByConnection($connection, $comparison = null)
 {
     if ($connection instanceof \Jalle19\StatusManager\Database\Connection) {
         return $this->addUsingAlias(InstanceTableMap::COL_NAME, $connection->getInstanceName(), $comparison);
     } elseif ($connection instanceof ObjectCollection) {
         return $this->useConnectionQuery()->filterByPrimaryKeys($connection->getPrimaryKeys())->endUse();
     } else {
         throw new PropelException('filterByConnection() only accepts arguments of type \\Jalle19\\StatusManager\\Database\\Connection or Collection');
     }
 }
 /**
  * @param ConnectionSeenEvent $event
  */
 public function onConnectionSeen(ConnectionSeenEvent $event)
 {
     $instanceName = $event->getInstance();
     $connectionStatus = $event->getConnection();
     if (ConnectionQuery::create()->hasConnection($instanceName, $connectionStatus)) {
         return;
     }
     $user = null;
     // Find the user object when applicable
     if (!$connectionStatus->isAnonymous()) {
         $this->onUserSeen($instanceName, $connectionStatus->user);
         $user = UserQuery::create()->filterByInstanceName($instanceName)->filterByName($connectionStatus->user)->findOne();
     }
     $connection = new Connection();
     $connection->setInstanceName($instanceName)->setPeer($connectionStatus->peer)->setUser($user)->setStarted($connectionStatus->started)->setType($connectionStatus->type)->save();
     $this->logger->info('Stored new connection (instance: {instanceName}, peer: {peer})', ['instanceName' => $instanceName, 'peer' => $connectionStatus->peer]);
 }