예제 #1
0
 /**
  * @param MaintenanceEvent $event
  */
 public function onDataCleanup(MaintenanceEvent $event)
 {
     $qb = $this->db->createQueryBuilder()->setParameter('date', $event->getDate()->format('Y-m-d H:i:s'));
     if ($event->isDryRun()) {
         $rows = $qb->select('count(*) as records')->from(MAUTIC_TABLE_PREFIX . 'leads', 'l')->where($qb->expr()->andX($qb->expr()->lte('l.last_active', ':date'), $qb->expr()->isNull('l.date_identified')))->execute()->fetchColumn();
     } else {
         $rows = $qb->delete(MAUTIC_TABLE_PREFIX . 'leads')->where($qb->expr()->andX($qb->expr()->lte('last_active', ':date'), $qb->expr()->isNull('date_identified')))->execute();
     }
     $event->setStat($this->translator->trans('mautic.maintenance.visitors'), $rows, $qb->getSQL(), $qb->getParameters());
 }
예제 #2
0
 /**
  * @param $isDryRun
  * @param $date
  *
  * @return int
  */
 private function cleanupData(MaintenanceEvent $event, $table)
 {
     $qb = $this->db->createQueryBuilder()->setParameter('date', $event->getDate()->format('Y-m-d H:i:s'));
     if ($event->isDryRun()) {
         $rows = (int) $qb->select('count(*) as records')->from(MAUTIC_TABLE_PREFIX . $table, 'log')->where($qb->expr()->lte('log.date_added', ':date'))->execute()->fetchColumn();
     } else {
         $rows = (int) $qb->delete(MAUTIC_TABLE_PREFIX . $table)->where($qb->expr()->lte('date_added', ':date'))->execute();
     }
     $event->setStat($this->translator->trans('mautic.maintenance.' . $table), $rows, $qb->getSQL(), $qb->getParameters());
 }
예제 #3
0
 private function cleanData(MaintenanceEvent $event, $table)
 {
     $qb = $this->db->createQueryBuilder()->setParameter('date', $event->getDate()->format('Y-m-d H:i:s'));
     if ($event->isDryRun()) {
         $rows = $qb->select('count(*) as records')->from(MAUTIC_TABLE_PREFIX . $table, 'h')->join('h', MAUTIC_TABLE_PREFIX . 'leads', 'l', 'h.lead_id = l.id')->where($qb->expr()->andX($qb->expr()->lte('l.last_active', ':date'), $qb->expr()->isNull('l.date_identified')))->execute()->fetchColumn();
     } else {
         $subQb = $this->db->createQueryBuilder();
         $subQb->select('id')->from(MAUTIC_TABLE_PREFIX . 'leads', 'l')->where($qb->expr()->andX($qb->expr()->lte('l.last_active', ':date'), $qb->expr()->isNull('l.date_identified')));
         $rows = $qb->delete(MAUTIC_TABLE_PREFIX . $table)->where($qb->expr()->in('lead_id', $subQb->getSQL()))->execute();
     }
     $event->setStat($this->translator->trans('mautic.maintenance.' . $table), $rows, $qb->getSQL(), $qb->getParameters());
 }