예제 #1
0
    def process_request(self, request):
        if not hasattr(request, "session"):
            raise RuntimeError(
                "No session information! Do you use SessionMiddleware" " and have it loaded before AffiliateMiddleware?"
            )

        # don't process AJAX requests
        if request.is_ajax():
            return
        # only process GET requests with an 'aff' parameter
        if (request.method != "GET") or ("aff" not in request.GET):
            return

        session_key = request.session.session_key
        campagin_designator = request.GET["aff"]
        campaigns = Campaign.objects.filter(designator__iexact=campagin_designator)
        if not len(campaigns):
            # invalid Campaign
            return

        campaign = campaigns[0]
        request.session["campaign"] = campaign.designator
        # register inflow
        ip_address = get_ip(request)
        user_agent = request.META.get("HTTP_USER_AGENT", "")[:255]
        referer = request.META.get("HTTP_REFERER", "")[:255]
        Inflow.objects.create(
            campaign_designator=campaign.designator, ip_address=ip_address, user_agent=user_agent, referer=referer
        )
        return
예제 #2
0
    def process_request(self, request):
        if not hasattr(request, 'session'):
            raise RuntimeError('No session information! Do you use SessionMiddleware'
                               ' and have it loaded before AffiliateMiddleware?')

        # don't process AJAX requests
        if request.is_ajax():
            return
        # only process GET requests with an 'aff' parameter
        if (request.method != 'GET') or ('aff' not in request.GET):
            return
        
        session_key = request.session.session_key
        campagin_designator = request.GET['aff']
        campaigns = Campaign.objects.filter(designator__iexact=campagin_designator)
        if not len(campaigns):
            # invalid Campaign
            return
        
        campaign = campaigns[0]
        request.session['campaign'] = campaign.designator
        # register inflow
        ip_address = get_ip(request)
        user_agent = request.META.get('HTTP_USER_AGENT', '')[:255]
        referer = request.META.get('HTTP_REFERER', '')[:255]
        Inflow.objects.create(campaign_designator=campaign.designator, ip_address=ip_address,
                              user_agent=user_agent, referer=referer)
        return
예제 #3
0
def regcon_by_request(request, value, reference='', text=''):
    """Register a conversion."""
    ip_address = get_ip(request)
    user_agent = request.META.get('HTTP_USER_AGENT', '')
    referer = request.META.get('HTTP_REFERER', '')
    campaign_designator = request.session.get('campaign', None)
    if campaign_designator:
        regcon(campaign_designator, int(value), reference, text, ip_address=ip_address,
               user_agent=user_agent, referer=referer)
예제 #4
0
def regcon_by_request(request, value, reference='', text=''):
    """Register a conversion."""
    ip_address = get_ip(request)
    user_agent = request.META.get('HTTP_USER_AGENT', '')
    referer = request.META.get('HTTP_REFERER', '')
    campaign_designator = request.session.get('campaign', None)
    if campaign_designator:
        regcon(campaign_designator,
               int(value),
               reference,
               text,
               ip_address=ip_address,
               user_agent=user_agent,
               referer=referer)