# 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~
~;
# << top menu
print qq~
~;
print qq~

~;
$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;