public function schedule($operation, $facts = null) { $scheduler = new SchedulerReportOperation(); $scheduler->setOperation($operation); $scheduler->setInterval('1 hour'); $scheduler->setEndAction($operation->getActivity()->getCampaign()); $this->em->persist($scheduler); $facts[self::METRIC_LIKES] = 0; $facts[self::METRIC_COMMENTS] = 0; $factService = $this->container->get('campaignchain.core.fact'); $factService->addFacts('activity', self::OPERATION_BUNDLE_NAME, $operation, $facts); }
public function schedule($operation, $facts = null) { $scheduler = new SchedulerReportOperation(); $scheduler->setOperation($operation); $scheduler->setInterval('1 hour'); $scheduler->setEndAction($operation->getActivity()->getCampaign()); $this->em->persist($scheduler); // Add initial data to report. $this->newsitem = $this->em->getRepository('CampaignChainOperationLinkedInBundle:NewsItem')->findOneByOperation($operation); if (!$this->newsitem) { throw new \Exception('No Linkedin news item found for an operation with ID: ' . $operation->getId()); } $facts[self::METRIC_LIKES] = 0; $facts[self::METRIC_COMMENTS] = 0; $this->factService->addFacts('activity', self::BUNDLE_NAME, $operation, $facts); }
public function schedule($operation, $facts = null) { $scheduler = new SchedulerReportOperation(); $scheduler->setOperation($operation); $scheduler->setInterval('1 hour'); $scheduler->setEndAction($operation->getActivity()->getCampaign()); $this->em->persist($scheduler); // Add initial data to report. $this->status = $this->em->getRepository('CampaignChainOperationTwitterBundle:Status')->findOneByOperation($operation); if (!$this->status) { throw new \Exception('No status message found for an operation with ID: ' . $operation->getId()); } $facts[self::METRIC_RTS] = 0; $facts[self::METRIC_FAVS] = 0; $factService = $this->container->get('campaignchain.core.fact'); $factService->addFacts('activity', self::BUNDLE_NAME, $operation, $facts); }
public function schedule($operation, $facts = null) { $scheduler = new SchedulerReportOperation(); $scheduler->setOperation($operation); $scheduler->setInterval('1 hour'); $scheduler->setEndAction($operation->getActivity()->getCampaign()); $this->em->persist($scheduler); $facts[self::METRIC_UNSUBSCRIBES] = 0; $facts[self::METRIC_OPENS] = 0; $facts[self::METRIC_UNIQUE_OPENS] = 0; $facts[self::METRIC_CLICKS] = 0; $facts[self::METRIC_UNIQUE_CLICKS] = 0; $facts[self::METRIC_EMAILS_SENT] = 0; $facts[self::METRIC_USERS_WHO_CLICKED] = 0; $factService = $this->container->get('campaignchain.core.fact'); $factService->addFacts('activity', self::OPERATION_BUNDLE_NAME, $operation, $facts); }
public function schedule($operation, $facts = null) { // Create the report scheduler. $scheduler = new SchedulerReportOperation(); $scheduler->setOperation($operation); $datetimeUtil = $this->container->get('campaignchain.core.util.datetime'); $scheduler->setStartDate($datetimeUtil->getUserNow()); $scheduler->setInterval('1 hour'); $scheduler->setEndAction($operation->getActivity()); /* * To get the number of attendees after the Webinar ended, we make sure * the scheduler runs 1 more time after the Webinar is done. */ $scheduler->setProlongation('5 minutes'); $scheduler->setProlongationInterval('4 minutes'); $this->em->persist($scheduler); $factService = $this->container->get('campaignchain.core.fact'); $factService->addFacts('activity', self::OPERATION_BUNDLE_NAME, $operation, $facts); }