# Copyright (c) 2003 AdCycle.com All rights reserved. # http://www.adcycle.com - download the lastest version of adcycle package AdTarget; use strict; sub new { my $this = shift; my $class = ref($this) || $this; my $self = {}; bless $self, $class; return $self; } sub edit_targeting{ my($self,$master)=@_; # get config and env vars my $images_url=$master->{config}->get_images_url; my $cgi_bin_url=$master->{config}->get_cgi_bin_url; my $cache=$master->{env}->get_cache; my $cid=$master->{query}->param('cid'); # print header $master->{LINK}="campaigns"; $master->{html}->header($master,"Edit Targeting"); #get the campaign ref my $cidref=$master->{db}->select_single_row_hash("SELECT * FROM cp where CID='$cid'"); #get the values my(@targetref)=$master->{db}->select_multi_row_hash("SELECT * FROM target WHERE CID='$cid' ORDER BY STATUS DESC,TARGET_ID"); my $targettot=@targetref; # >> top menu print qq~
Campaign Manager : $cidref->{CAMPAIGN_NAME} : Targeting
 
~; # << top menu print qq~
~; for(my $k=0;$k<$targettot;$k++){ my $num=$k+1; my $select; if($targetref[$k]->{STATUS}==1){ $select=" checked "; } print qq~ ~; } print qq~
 Campaign Targeting for: $cidref->{CAMPAIGN_NAME}
  Type Value On/Off Functions
$num $targetref[$k]->{NAME}   $targetref[$k]->{VALUE} Delete

~; print qq~  
 
Add a new Targeting Criteria ~;print $master->{html}->question("targeting");print qq~
Type:
  Value:


~; $master->{html}->footer($master); } sub add_target{ my($self,$master)=@_; # input params my $cid=$master->{query}->param('cid'); my $type=$master->{query}->param('type'); my $val=$master->{query}->param('val'); my $idx=$master->{tools}->get_id($master,"IDX"); my ($name,$id)=split(/\|/,$type); # make insert list my $insert_list=[ ["IDX","$idx"], ["CID","$cid"], ["NAME","$name"], ["TARGET_ID",$id], ["VALUE",$val], ["STATUS","1"] ]; # insert row $master->{db}->insert_row("target",$insert_list); $master->{db}->{adcycle}->do("UPDATE cp SET TARGET=1 WHERE CID='$cid'"); $master->{db}->{adcycle}->do("alter table ids modify IDX MEDIUMINT UNSIGNED NOT NULL DEFAULT 0"); $master->{db}->{adcycle}->do("alter table target modify IDX MEDIUMINT UNSIGNED NOT NULL DEFAULT 0"); $master->{message}="Targeting Criteria Added"; $master->{target}->edit_targeting($master); } sub update_targeting{ my($self,$master)=@_; # input params my $cid=$master->{query}->param('cid'); #get the values my(@targetref)=$master->{db}->select_multi_row_hash("SELECT * FROM target WHERE CID='$cid' ORDER BY STATUS DESC,TARGET_ID"); my $targettot=@targetref; for(my $k=0;$k<$targettot;$k++){ my $idx=$targetref[$k]->{IDX}; my $temp=$master->{query}->param("S|$idx|"); $temp+=0; $master->{db}->{adcycle}->do("UPDATE target SET STATUS='$temp' WHERE IDX='$idx'"); } #get the campaign ref my $sumref=$master->{db}->select_single_row_hash("SELECT SUM(STATUS) as STATUS FROM target where CID='$cid'"); if($sumref->{STATUS}>0){ $master->{db}->{adcycle}->do("UPDATE cp SET TARGET=1 WHERE CID='$cid'"); }else{ $master->{db}->{adcycle}->do("UPDATE cp SET TARGET=0 WHERE CID='$cid'"); } $master->{message}="Targeting has been updated"; $master->{target}->edit_targeting($master); } sub delete_targeting{ my($self,$master)=@_; # input params my $cid=$master->{query}->param('cid'); my $idx=$master->{query}->param('idx'); # delete advertiser $master->{db}->{adcycle}->do("DELETE FROM target WHERE IDX='$idx'"); $master->{message}="Item has been deleted"; $master->{target}->edit_targeting($master); } # Copyright (c) 2003 AdCycle.com All rights reserved. # http://www.adcycle.com - download the lastest version of adcycle 1;