public static function compareTwoVisitorAffiliateByDateVisit(Pap_Db_VisitorAffiliate $a,
	Pap_Db_VisitorAffiliate $b) {
		if ($a->getDateVisit() == $b->getDateVisit()) {
			return 0;
		}
		return ($a->getDateVisit() > $b->getDateVisit()) ? +1 : -1;
	}
 public static function getVisitorAffiliateValidity(Pap_Contexts_Tracking $context, Pap_Db_VisitorAffiliate $visitorAffiliate) {
     return Gpf_Common_DateUtils::addDateUnit($visitorAffiliate->getDateVisit(),
         Pap_Tracking_Cookie::getCookieLifeTimeInDays($context),
         Gpf_Common_DateUtils::DAY);
 }
    private function getVisitorAffiliate(Pap_Db_VisitorAffiliate $firstClickVisitorAffiliate,
    Pap_Db_VisitorAffiliate $oldVisitorAffiliate = null, Pap_Tracking_Visit_VisitorAffiliateCache $cache,
    Pap_Contexts_Tracking $context) {

        if ($firstClickVisitorAffiliate->getDateVisit() > $context->getDateCreated()) {
            return $firstClickVisitorAffiliate;
        }

        if ($oldVisitorAffiliate == null) {
            $visitorAffiliate = $cache->createVisitorAffiliate($context->getVisitorId());
            $visitorAffiliate->setDateVisit($context->getDateCreated());
            return $visitorAffiliate;
        }

        if ($oldVisitorAffiliate->getDateVisit() < $context->getDateCreated()) {
            return $oldVisitorAffiliate;
        }

        return null;
    }