public function checkCompatibility($visitorId, Pap_Tracking_Visit_VisitorAffiliateCache $cache) { $rows = $cache->getVisitorAffiliateAllRows($visitorId); if ($this->isVisitorAffiliatesCollectionValid($rows)) { return; } if ($rows->getSize() == 1) { $rows->get(0)->setActual(); return; } Pap_Tracking_Visit_VisitorAffiliateCache::sortVisitorAffiliatesByDateVisit($rows); $rows->correctIndexes(); for ($i=1, $size = $rows->getSize();$i<$size-1;$i++) { $cache->removeVisitorAffiliate($rows->get($i)->getId()); $rows->remove($i); } $rows->correctIndexes(); $campaign = $this->getCampaignById($rows->get(1)->getCampaignId()); $user = $this->getUserById($rows->get(1)->getUserId()); if ($this->cookieObject->isOverwriteEnabled($campaign, $user)) { $rows->get(1)->setActual(); } else { $rows->get(0)->setActual(); } }
private function deleteCookies(Pap_Contexts_Action $context) { if (Gpf_Settings::get(Pap_Settings::DELETE_COOKIE) != Gpf::YES) { return; } $visitorAffiliates = $this->visitorAffiliateCache->getVisitorAffiliateAllRows($context->getVisitorId()); foreach ($visitorAffiliates as $visitorAffiliate) { $this->visitorAffiliateCache->removeVisitorAffiliate($visitorAffiliate->getId()); } }
private function checkTwoVisitorAffiliateAreSameAndRemove($index1, $index2, Pap_Tracking_Common_VisitorAffiliateCollection $rows, Pap_Db_VisitorAffiliate $firstClickVisitorAffiliate, Pap_Tracking_Visit_VisitorAffiliateCache $cache) { if ($rows->getValid($index1)->getUserId() != $rows->getValid($index2)->getUserId()) { return false; } if ($rows->getValid($index1)->getUserId() == $firstClickVisitorAffiliate->getUserId()) { return false; } $cache->removeVisitorAffiliate($rows->getValid($index2)->getId()); $rows->remove($index2); $rows->correctIndexes(); $this->cloneVisitorAffiliate($firstClickVisitorAffiliate, $rows, false); return true; }