private function setFirstAndLastClick(Pap_Common_Transaction $transaction, $contextUserId) { $firstAffiliate = $this->visitorAffiliateCollection->getValid(0); $lastAffiliate = $this->visitorAffiliateCollection->getValid($this->visitorAffiliateCollection->getValidSize()-1); try{ $visitorAffiliate = $this->visitorAffiliateCollection->getVisitorAffiliateByUserId($contextUserId); $transaction->setRefererUrl($visitorAffiliate->getReferrerUrl()); } catch(Gpf_Exception $e){ $context->debug($e->getMessage()); $transaction->setRefererUrl($this->_('Unknown')); } $this->setFirstClickData($transaction,$firstAffiliate); if ($firstAffiliate->getUserId() == $contextUserId){ $transaction->setAllowFirstClickData(Gpf::YES); } else{ $transaction->setAllowFirstClickData(Gpf::NO); } $this->setLastClickData($transaction,$lastAffiliate); if ($lastAffiliate->getUserId() == $contextUserId){ $transaction->setAllowLastClickData(Gpf::YES); } else{ $transaction->setAllowLastClickData(Gpf::NO); } }
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; }