package WebGUI::Affiliate; use strict; =head1 LEGAL ------------------------------------------------------------------- WebGUI is Copyright 2001-2009 Plain Black Corporation. ------------------------------------------------------------------- Please read the legal notices (docs/legal.txt) and the license (docs/license.txt) that came with this distribution before using this software. ------------------------------------------------------------------- http://www.plainblack.com info@plainblack.com ------------------------------------------------------------------- =cut =head1 NAME Package WebGUI::Affiliate =head1 DESCRIPTION Tracks where users come from. B This package is experimental as is not officially supported yet. =head1 SYNOPSIS use WebGUI::Affiliate; WebGUI::Affiliate::grabReferral(); =head1 FUNCTIONS These functions are available from this package: =cut #------------------------------------------------------------------- =head2 grabReferral ( session ) Grabs referral information out of the session and adds it to the user's account if possible. =head2 session A reference to the current session. =cut sub grabReferral { my $session = shift; if ($session->user->isRegistered && $session->user->referringAffiliate) { return ""; } elsif ($session->user->isRegistered && (($session->user->referringAffiliate eq "0" && $session->form->process("referringAffiliate")) || $session->form->process("affiliateId"))) { $session->user->referringAffiliate($session->scratch->get("referringAffiliate")); } elsif ($session->user->isRegistered) { $session->user->referringAffiliate(1); } elsif ($session->form->process("affiliateId") ne "") { $session->scratch->set("referringAffiliate",$session->form->process("affiliateId")); } } 1;