added a more visual interface to the ad manager

This commit is contained in:
JT Smith 2006-04-08 03:24:30 +00:00
parent 22a1338bdb
commit c0225f6b35
2 changed files with 27 additions and 15 deletions

View file

@ -115,20 +115,28 @@ sub DESTROY {
#------------------------------------------------------------------- #-------------------------------------------------------------------
=head2 displayImpression () =head2 displayImpression ( dontCount )
Finds out what the next ad is to display, increments it's impression counter, and returns the HTML to display it. Finds out what the next ad is to display, increments it's impression counter, and returns the HTML to display it.
=head3 dontCount
A boolean that tells the ad system not to count this impression if true.
=cut =cut
sub displayImpression { sub displayImpression {
my $self = shift; my $self = shift;
my $dontCount = 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 ($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; unless ($dontCount) {
if ($clicks >= $clicksBought && $impressions >= $impressionsBought) { my $isActive = 1;
$isActive = 0; if ($clicks >= $clicksBought && $impressions >= $impressionsBought) {
$isActive = 0;
}
$self->session->db->write("update advertisement set impressions=impressions+1, nextInPriority=?, isActive=? where adId=?",
[time()+$priority, $isActive, $id]);
} }
$self->session->db->write("update advertisement set impressions=impressions+1, nextInPriority=?, isActive=? where adId=?", [time()+$priority, $isActive, $id]);
return $ad; return $ad;
} }

View file

@ -321,18 +321,18 @@ sub www_editAdSpace {
); );
$f->submit; $f->submit;
my $ads = ""; my $ads = "";
my $code = "";
if (defined $adSpace) { if (defined $adSpace) {
$ads .= '<p style="padding: 10px; line-height: 30px; text-align: center; border: 3px outset black; width: 250px; float: right;">'.$i18n->get("macro code prompt").'<br /><b>&#94;AdSpace('.$adSpace->get("name").');</b></p>' $code = '<p style="padding: 5px; line-height: 20px; text-align: center; border: 3px outset black; font-family: helvetica; font-size: 11px; width: 200px; float: right;">'.$i18n->get("macro code prompt").'<br /><b>&#94;AdSpace('.$adSpace->get("name").');</b></p>';
."<p>"; my $rs = $session->db->read("select adId, title, renderedAd from advertisement where adSpaceId=?",[$id]);
my $rs = $session->db->read("select adId, title from advertisement where adSpaceId=?",[$id]); while (my ($adId, $title, $ad) = $rs->array) {
while (my ($adId, $title) = $rs->array) { $ads .= '<div style="margin: 15px; float: left;">'.$session->icon->delete("op=deleteAd;adSpaceId=".$id.";adId=".$adId, undef, $i18n->get("confirm ad delete"))
$ads .= $session->icon->delete("op=deleteAd;adSpaceId=".$id.";adId=".$adId, undef, $i18n->get("confirm ad delete"))
.$session->icon->edit("op=editAd;adSpaceId=".$id.";adId=".$adId) .$session->icon->edit("op=editAd;adSpaceId=".$id.";adId=".$adId)
.' '.$title.'<br />'; .' '.$title.'<br />'.$ad.'</div>';
} }
$ads .= "</p>"; $ads .= '<div style="clear: both;"></div>';
} }
$ac->render($f->print.$ads, $i18n->get("edit ad space")); $ac->render($code.$f->print.$ads, $i18n->get("edit ad space"));
} }
@ -380,10 +380,14 @@ sub www_manageAdSpaces {
my $output = ""; my $output = "";
my $rs = $session->db->read("select adSpaceId, title from adSpace order by title"); my $rs = $session->db->read("select adSpaceId, title from adSpace order by title");
while (my ($id, $title) = $rs->array) { while (my ($id, $title) = $rs->array) {
$output .= $session->icon->delete("op=deleteAdSpace;adSpaceId=".$id, undef, $i18n->get("confirm ad space delete")) $output .= '<div style="float: left; margin: 10px;">'
.$session->icon->delete("op=deleteAdSpace;adSpaceId=".$id, undef, $i18n->get("confirm ad space delete"))
.$session->icon->edit("op=editAdSpace;adSpaceId=".$id) .$session->icon->edit("op=editAdSpace;adSpaceId=".$id)
.' '.$title.'<br />'; .' '.$title.'<br />'
.WebGUI::AdSpace->new($session, $id)->displayImpression(1)
.'</div>';
} }
$output .= '<div style="clear: both;"></div>';
$ac->addSubmenuItem($session->url->page("op=editAdSpace"), $i18n->get("add ad space")); $ac->addSubmenuItem($session->url->page("op=editAdSpace"), $i18n->get("add ad space"));
return $ac->render($output); return $ac->render($output);
} }