/** * @param QueryBuilder $qb */ protected function applySentFilter(QueryBuilder $qb) { $qb->leftJoin('e.fromEmailAddress', '_fea')->leftJoin(sprintf('_fea.%s', $this->getUserOwnerFieldName()), '_fo')->leftJoin('eu.owner', '_eo')->andWhere($qb->expr()->orX($qb->expr()->in('f.type', ':outcoming_types'), $qb->expr()->andX($qb->expr()->notIn('f.type', ':incoming_types'), $qb->expr()->isNotNull('_eo.id'), $qb->expr()->eq('_fo.id', '_eo.id'))))->setParameter('outcoming_types', FolderType::outcomingTypes())->setParameter('incoming_types', FolderType::incomingTypes()); }
/** * @return string */ public function getDirection() { if (in_array($this->type, FolderType::outcomingTypes())) { return static::DIRECTION_OUTGOING; } if (in_array($this->type, FolderType::incomingTypes())) { return static::DIRECTION_INCOMING; } return static::DIRECTION_BOTH; }