it's hard out here for a pimp, but the ad rotation system doesn't skimp = it's done!

This commit is contained in:
JT Smith 2006-04-07 02:58:14 +00:00
parent 540523d6dd
commit 91a620a9f5
2 changed files with 11 additions and 6 deletions

View file

@ -47,10 +47,11 @@ The unique ID of the ad that was clicked.
=cut
sub countClick {
my $self = shift;
my $class = shift;
my $session = shift;
my $id = shift;
my ($url) = $self->session->db->quickArray("select url from advertisement where adId=?",[$id]);
$self->session->db->write("update advertisement set clicks=clicks+1 where adId=?",[$id]);
my ($url) = $session->db->quickArray("select url from advertisement where adId=?",[$id]);
$session->db->write("update advertisement set clicks=clicks+1 where adId=?",[$id]);
return $url;
}
@ -124,10 +125,10 @@ sub displayImpression {
my $self = shift;
my ($id, $ad, $priority, $clicks, $clicksBought, $impressions, $impressionsBought) = $self->session->db->quickArray("select adId, renderedAd, priority, clicks, clicksBought, impressions, impressionsBought from advertisement where adSpaceId=? and isActive=1 order by nextInPriority asc limit 1",[$self->getId]);
my $isActive = 1;
if ($clicks > $clicksBought && $impressions > $impressionsBought) {
if ($clicks >= $clicksBought && $impressions >= $impressionsBought) {
$isActive = 0;
}
$self->session->db->write("update advertisement set impressions=impressions+1, nextInPriority=?, isActive=? where adId=?", [time()+$priority, $id, $isActive]);
$self->session->db->write("update advertisement set impressions=impressions+1, nextInPriority=?, isActive=? where adId=?", [time()+$priority, $isActive, $id]);
return $ad;
}

View file

@ -38,7 +38,7 @@ Handles a click on an advertisement.
sub www_clickAd {
my $session = shift;
my $id = $session->form->param("adId");
my $id = $session->form->param("id");
return undef unless $id;
my $url = WebGUI::AdSpace->countClick($session, $id);
$session->http->setRedirect($url);
@ -196,6 +196,10 @@ sub www_editAd {
hoverHelp=>$i18n->get("image help"),
name=>"image"
);
if (defined $ad && $ad->get("storageId")) {
my $storage = WebGUI::Storage::Image->get($session, $ad->get("storageId"));
$f->readOnly(value=>'<img src="'.$storage->getUrl($storage->getFiles->[0]).'" style="border: 0px;" />');
}
$f->fieldSetEnd;
$f->fieldSetStart($i18n->get("rich"));
my $value = $ad->get("richMedia") if defined $ad;