コード例 #1
0
ファイル: PopupInitiator.php プロジェクト: artkonekt/kampaign
 /**
  * Returns the JQuery snippet which should be rendered in every the page the campaign popup should appear.
  *
  * @param TrackableCampaignInterface $campaign The campaign to be presented
  * @param int                        $timeout  How many seconds after page load should the popup appear
  *
  * @return string
  */
 public function getJsSnippet(TrackableCampaignInterface $campaign, $timeout)
 {
     $impressions = $this->impressionsOperator->loadOrCreateFor($campaign);
     if ($this->impressionsOperator->areImpressionsEnabled() && $impressions->canBeIncreasedToday() || $this->isDebugModeEnabled) {
         return $this->jsGenerator->getScript($campaign, $timeout);
     } else {
         return '';
     }
 }
コード例 #2
0
ファイル: PopupRenderer.php プロジェクト: artkonekt/kampaign
 /**
  * @param TrackableCampaignInterface $campaign
  *
  * @return bool|string
  */
 public function render(TrackableCampaignInterface $campaign)
 {
     $impressions = $this->impressionsOperator->loadOrCreateFor($campaign);
     $template = '';
     if ($this->impressionsOperator->areImpressionsEnabled() && $impressions->canBeIncreasedToday()) {
         $template = $this->newsletterFormTransformer->transform($campaign, $impressions, $campaign->getContent());
     }
     if ($this->transformer) {
         $content = $this->transformer->transform($campaign, $impressions, $template);
     } else {
         $content = $template;
     }
     $this->impressionsOperator->increase($impressions);
     return $content;
 }