/** * @return Pap_Db_VisitorAffiliate */ private function getLatestVisitorAffiliate(Pap_Tracking_Common_VisitorAffiliateCollection $visitorAffiliates) { if ($visitorAffiliates->getSize() == 0) { return null; } $latest = null; foreach ($visitorAffiliates as $visitorAffiliate) { if (($latest == null || $latest->getDateVisit() < $visitorAffiliate->getDateVisit()) && $visitorAffiliate->isValid()) { $latest = $visitorAffiliate; } } return $latest; }
private function checkActualSelected(Pap_Tracking_Common_VisitorAffiliateCollection $rows) { $actual = false; foreach ($rows as $row) { $actual = $actual || $row->isActual(); } if (!$actual) { $rows->get($rows->getSize()-1)->setActual(); } }
protected function setFirstAndLastClick(Pap_Common_Transaction $transaction, Pap_Tracking_Common_VisitorAffiliateCollection $collection) { if ($collection->getSize() == 0) { throw new Gpf_Exception('VisitorAffiliates for this visitor are empty'); } $firstVisitorAffiliate = $collection->get(0); $transaction->setFirstClickTime($firstVisitorAffiliate->getDateVisit()); $transaction->setFirstClickReferer($firstVisitorAffiliate->getReferrerUrl()); $transaction->setFirstClickIp($firstVisitorAffiliate->getIp()); $transaction->setFirstClickData1($firstVisitorAffiliate->getData1()); $transaction->setFirstClickData2($firstVisitorAffiliate->getData2()); $lastVisitorAffiliate = $collection->get($collection->getSize()-1); $transaction->setLastClickTime($lastVisitorAffiliate->getDateVisit()); $transaction->setLastClickReferer($lastVisitorAffiliate->getReferrerUrl()); $transaction->setLastClickIp($lastVisitorAffiliate->getIp()); $transaction->setLastClickData1($lastVisitorAffiliate->getData1()); $transaction->setLastClickData2($lastVisitorAffiliate->getData2()); }
private function isVisitorAffiliatesCollectionValid(Pap_Tracking_Common_VisitorAffiliateCollection $rows) { if ($rows->getSize() == 0) { return true; } if ($rows->getSize() > 3) { return false; } foreach ($rows as $row) { if ($row->isActual()) { return true; } } return false; }