public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); if ($context === 'task') { $queryBuilder = $this->factory->getDatabase()->createQueryBuilder(); $queryBuilder->from('tasks', 't')->leftJoin('t', 'users', 'u', 'u.id = t.assign_user_id'); $event->addLeadLeftJoin($queryBuilder, 't'); $event->setQueryBuilder($queryBuilder); } if ($context === 'opportunity') { $queryBuilder = $this->factory->getDatabase()->createQueryBuilder(); $queryBuilder->from('opportunities', 'op')->leftJoin('op', 'users', 'u', 'u.id = op.owner_user_id'); $event->addLeadLeftJoin($queryBuilder, 'op'); $event->setQueryBuilder($queryBuilder); } }
/** * Initialize the QueryBuilder object to generate reports from * * @param ReportGeneratorEvent $event * * @return void */ public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); $queryBuilder = $event->getQueryBuilder(); if ($context == 'assets') { $queryBuilder->from(MAUTIC_TABLE_PREFIX . 'assets', 'a'); $event->addCategoryLeftJoin($queryBuilder, 'a'); } elseif ($context == 'asset.downloads') { $event->applyDateFilters($queryBuilder, 'date_download', 'ad'); $queryBuilder->from(MAUTIC_TABLE_PREFIX . 'asset_downloads', 'ad')->leftJoin('ad', MAUTIC_TABLE_PREFIX . 'assets', 'a', 'a.id = ad.asset_id'); $event->addCategoryLeftJoin($queryBuilder, 'a'); $event->addLeadLeftJoin($queryBuilder, 'ad'); $event->addIpAddressLeftJoin($queryBuilder, 'ad'); } $event->setQueryBuilder($queryBuilder); }
/** * Initialize the QueryBuilder object to generate reports from * * @param ReportGeneratorEvent $event * * @return void */ public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); if ($context == 'emails') { $qb = $this->factory->getEntityManager()->getConnection()->createQueryBuilder(); $qb->from(MAUTIC_TABLE_PREFIX . 'emails', 'e')->leftJoin('e', MAUTIC_TABLE_PREFIX . 'emails', 'vp', 'vp.id = e.variant_parent_id'); $event->addCategoryLeftJoin($qb, 'e'); $event->setQueryBuilder($qb); } elseif ($context == 'email.stats') { $qb = $this->factory->getEntityManager()->getConnection()->createQueryBuilder(); $qb->from(MAUTIC_TABLE_PREFIX . 'email_stats', 'es')->leftJoin('es', MAUTIC_TABLE_PREFIX . 'emails', 'e', 'e.id = es.email_id')->leftJoin('e', MAUTIC_TABLE_PREFIX . 'emails', 'vp', 'vp.id = e.variant_parent_id'); $event->addCategoryLeftJoin($qb, 'e'); $event->addLeadLeftJoin($qb, 'es'); $event->addIpAddressLeftJoin($qb, 'es'); $event->setQueryBuilder($qb); } }
/** * Initialize the QueryBuilder object to generate reports from * * @param ReportGeneratorEvent $event * * @return void */ public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); if ($context == 'forms') { $qb = $this->factory->getEntityManager()->getConnection()->createQueryBuilder(); $qb->from(MAUTIC_TABLE_PREFIX . 'forms', 'f'); $event->addCategoryLeftJoin($qb, 'f'); $event->setQueryBuilder($qb); } elseif ($context == 'form.submissions') { $qb = $this->factory->getEntityManager()->getConnection()->createQueryBuilder(); $qb->from(MAUTIC_TABLE_PREFIX . 'form_submissions', 'fs')->leftJoin('fs', MAUTIC_TABLE_PREFIX . 'forms', 'f', 'f.id = fs.form_id')->leftJoin('fs', MAUTIC_TABLE_PREFIX . 'pages', 'p', 'p.id = fs.page_id'); $event->addCategoryLeftJoin($qb, 'f'); $event->addLeadLeftJoin($qb, 'fs'); $event->addIpAddressLeftJoin($qb, 'fs'); $event->setQueryBuilder($qb); } }
/** * Initialize the QueryBuilder object to generate reports from * * @param ReportGeneratorEvent $event * * @return void */ public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); if ($context == 'assets') { $queryBuilder = $this->factory->getEntityManager()->getConnection()->createQueryBuilder(); $queryBuilder->from(MAUTIC_TABLE_PREFIX . 'assets', 'a'); $event->addCategoryLeftJoin($queryBuilder, 'a'); $event->setQueryBuilder($queryBuilder); } elseif ($context == 'asset.downloads') { $queryBuilder = $this->factory->getEntityManager()->getConnection()->createQueryBuilder(); $queryBuilder->from(MAUTIC_TABLE_PREFIX . 'asset_downloads', 'ad')->leftJoin('ad', MAUTIC_TABLE_PREFIX . 'assets', 'a', 'a.id = ad.asset_id'); $event->addCategoryLeftJoin($queryBuilder, 'a'); $event->addLeadLeftJoin($queryBuilder, 'ad'); $event->addIpAddressLeftJoin($queryBuilder, 'ad'); $event->setQueryBuilder($queryBuilder); } }
/** * Initialize the QueryBuilder object to generate reports from. * * @param ReportGeneratorEvent $event */ public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); $qb = $event->getQueryBuilder(); switch ($context) { case 'forms': $qb->from(MAUTIC_TABLE_PREFIX . 'forms', 'f'); $event->addCategoryLeftJoin($qb, 'f'); break; case 'form.submissions': $event->applyDateFilters($qb, 'date_submitted', 'fs'); $qb->from(MAUTIC_TABLE_PREFIX . 'form_submissions', 'fs')->leftJoin('fs', MAUTIC_TABLE_PREFIX . 'forms', 'f', 'f.id = fs.form_id')->leftJoin('fs', MAUTIC_TABLE_PREFIX . 'pages', 'p', 'p.id = fs.page_id'); $event->addCategoryLeftJoin($qb, 'f'); $event->addLeadLeftJoin($qb, 'fs'); $event->addIpAddressLeftJoin($qb, 'fs'); break; } $event->setQueryBuilder($qb); }
/** * Initialize the QueryBuilder object to generate reports from. * * @param ReportGeneratorEvent $event */ public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); $qb = $event->getQueryBuilder(); switch ($context) { case 'emails': $qb->from(MAUTIC_TABLE_PREFIX . 'emails', 'e')->leftJoin('e', MAUTIC_TABLE_PREFIX . 'emails', 'vp', 'vp.id = e.variant_parent_id'); $event->addCategoryLeftJoin($qb, 'e'); break; case 'email.stats': $event->applyDateFilters($qb, 'date_sent', 'es'); $qb->from(MAUTIC_TABLE_PREFIX . 'email_stats', 'es')->leftJoin('es', MAUTIC_TABLE_PREFIX . 'emails', 'e', 'e.id = es.email_id')->leftJoin('e', MAUTIC_TABLE_PREFIX . 'emails', 'vp', 'vp.id = e.variant_parent_id'); $event->addCategoryLeftJoin($qb, 'e'); $event->addLeadLeftJoin($qb, 'es'); $event->addIpAddressLeftJoin($qb, 'es'); break; } $event->setQueryBuilder($qb); }
/** * Initialize the QueryBuilder object to generate reports from * * @param ReportGeneratorEvent $event * * @return void */ public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); if ($context == 'pages') { $qb = $this->factory->getEntityManager()->getConnection()->createQueryBuilder(); $qb->from(MAUTIC_TABLE_PREFIX . 'pages', 'p')->leftJoin('p', MAUTIC_TABLE_PREFIX . 'pages', 'tp', 'p.id = tp.id')->leftJoin('p', MAUTIC_TABLE_PREFIX . 'pages', 'vp', 'p.id = vp.id'); $event->addCategoryLeftJoin($qb, 'p'); $event->setQueryBuilder($qb); } elseif ($context == 'page.hits') { $qb = $this->factory->getEntityManager()->getConnection()->createQueryBuilder(); $qb->from(MAUTIC_TABLE_PREFIX . 'page_hits', 'ph')->leftJoin('ph', MAUTIC_TABLE_PREFIX . 'pages', 'p', 'ph.page_id = p.id')->leftJoin('p', MAUTIC_TABLE_PREFIX . 'pages', 'tp', 'p.id = tp.id')->leftJoin('p', MAUTIC_TABLE_PREFIX . 'pages', 'vp', 'p.id = vp.id')->leftJoin('ph', MAUTIC_TABLE_PREFIX . 'emails', 'e', 'e.id = ph.email_id')->leftJoin('ph', MAUTIC_TABLE_PREFIX . 'page_redirects', 'r', 'r.id = ph.redirect_id'); $event->addIpAddressLeftJoin($qb, 'ph'); $event->addCategoryLeftJoin($qb, 'p'); $event->addLeadLeftJoin($qb, 'ph'); $event->setQueryBuilder($qb); } }
/** * Initialize the QueryBuilder object to generate reports from * * @param ReportGeneratorEvent $event * * @return void */ public function onReportGenerate(ReportGeneratorEvent $event) { $context = $event->getContext(); $qb = $event->getQueryBuilder(); switch ($context) { case 'pages': $qb->from(MAUTIC_TABLE_PREFIX . 'pages', 'p')->leftJoin('p', MAUTIC_TABLE_PREFIX . 'pages', 'tp', 'p.id = tp.id')->leftJoin('p', MAUTIC_TABLE_PREFIX . 'pages', 'vp', 'p.id = vp.id'); $event->addCategoryLeftJoin($qb, 'p'); break; case 'page.hits': $event->applyDateFilters($qb, 'date_hit', 'ph'); $qb->from(MAUTIC_TABLE_PREFIX . 'page_hits', 'ph')->leftJoin('ph', MAUTIC_TABLE_PREFIX . 'pages', 'p', 'ph.page_id = p.id')->leftJoin('p', MAUTIC_TABLE_PREFIX . 'pages', 'tp', 'p.id = tp.id')->leftJoin('p', MAUTIC_TABLE_PREFIX . 'pages', 'vp', 'p.id = vp.id')->leftJoin('ph', MAUTIC_TABLE_PREFIX . 'page_redirects', 'r', 'r.id = ph.redirect_id')->leftJoin('ph', MAUTIC_TABLE_PREFIX . 'lead_devices', 'ds', 'ds.id = ph.device_id'); $event->addIpAddressLeftJoin($qb, 'ph'); $event->addCategoryLeftJoin($qb, 'p'); $event->addLeadLeftJoin($qb, 'ph'); break; } $event->setQueryBuilder($qb); }