![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/PointBundle/Entity/ |
<?php namespace Mautic\PointBundle\Entity; use Mautic\CoreBundle\Entity\CommonRepository; /** * @extends CommonRepository<Point> */ class PointRepository extends CommonRepository { public function getEntities(array $args = []) { $q = $this->_em ->createQueryBuilder() ->select($this->getTableAlias().', cat') ->from(Point::class, $this->getTableAlias()) ->leftJoin($this->getTableAlias().'.category', 'cat') ->leftJoin($this->getTableAlias().'.group', 'pl'); $args['qb'] = $q; return parent::getEntities($args); } public function getTableAlias(): string { return 'p'; } /** * Get array of published actions based on type. * * @param string $type * * @return array */ public function getPublishedByType($type) { $q = $this->createQueryBuilder('p') ->select('partial p.{id, type, name, delta, repeatable, properties}') ->setParameter('type', $type); // make sure the published up and down dates are good $expr = $this->getPublishedByDateExpression($q); $expr->add($q->expr()->eq('p.type', ':type')); $q->where($expr); return $q->getQuery()->getResult(); } /** * @param string $type * @param int $leadId */ public function getCompletedLeadActions($type, $leadId): array { $q = $this->_em->getConnection()->createQueryBuilder() ->select('p.*') ->from(MAUTIC_TABLE_PREFIX.'point_lead_action_log', 'x') ->innerJoin('x', MAUTIC_TABLE_PREFIX.'points', 'p', 'x.point_id = p.id'); // make sure the published up and down dates are good $q->where( $q->expr()->and( $q->expr()->eq('p.type', ':type'), $q->expr()->eq('x.lead_id', (int) $leadId) ) ) ->setParameter('type', $type); $results = $q->executeQuery()->fetchAllAssociative(); $return = []; foreach ($results as $r) { $return[$r['id']] = $r; } return $return; } /** * @param int $leadId */ public function getCompletedLeadActionsByLeadId($leadId): array { $q = $this->_em->getConnection()->createQueryBuilder() ->select('p.*') ->from(MAUTIC_TABLE_PREFIX.'point_lead_action_log', 'x') ->innerJoin('x', MAUTIC_TABLE_PREFIX.'points', 'p', 'x.point_id = p.id'); // make sure the published up and down dates are good $q->where( $q->expr()->and( $q->expr()->eq('x.lead_id', (int) $leadId) ) ); $results = $q->executeQuery()->fetchAllAssociative(); $return = []; foreach ($results as $r) { $return[$r['id']] = $r; } return $return; } protected function addCatchAllWhereClause($q, $filter): array { return $this->addStandardCatchAllWhereClause($q, $filter, [ 'p.name', 'p.description', ]); } protected function addSearchCommandWhereClause($q, $filter): array { return $this->addStandardSearchCommandWhereClause($q, $filter); } /** * @return string[] */ public function getSearchCommands(): array { return $this->getStandardSearchCommands(); } }