# Copyright (c) 2003 AdCycle.com All rights reserved.
# http://www.adcycle.com - download the lastest version of adcycle
package AdManager;
use strict;
sub new {
my $this = shift;
my $class = ref($this) || $this;
my $self = {};
bless $self, $class;
return $self;
}
# >> view adtypes
sub view_adtypes{
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;
# print header
$master->{LINK}="groups";
$master->{html}->header($master,"Ad Types");
#get the groups
my (@tidref)=$master->{db}->select_multi_row_hash("SELECT * FROM adtype order by WIDTH");
my $tidtot=@tidref;
print qq~

| Ad Type Name |
Width |
Height |
Default Image URL |
Default Click URL |
|
~;
my $coo;
for(my $k=0;$k<$tidtot;$k++){
my $color="td3";
if($coo==1){
$color="td5";
$coo=0;
}else{
$coo++;
}
$tidref[$k]->{DEFAULT_IMAGE}=$master->{tools}->trim("40",$tidref[$k]->{DEFAULT_IMAGE});
$tidref[$k]->{DEFAULT_CLICK}=$master->{tools}->trim("40",$tidref[$k]->{DEFAULT_CLICK});
if($tidref[$k]->{WIDTH}<10 || $tidref[$k]->{HEIGHT}<10){
$tidref[$k]->{WIDTH}="N/A";
$tidref[$k]->{HEIGHT}="N/A";
}
print qq~
| $tidref[$k]->{NAME} |
$tidref[$k]->{WIDTH} |
$tidref[$k]->{HEIGHT} |
$tidref[$k]->{DEFAULT_IMAGE} |
$tidref[$k]->{DEFAULT_CLICK} |
Edit |
Stats
|
~;
}
print qq~
~;
# add adtype form
print qq~
~;
$master->{html}->footer($master);
}
# << view adtypes
sub view_manager{
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;
#get the campaigns
my $configref=$master->{db}->select_single_row_hash("SELECT * FROM adconfig");
# print header
$master->{LINK}="manager";
$master->{html}->header($master,"Adcycle Manager");
if($master->{query}->param('uid')==0){
print $master->{image}."
";
}
# checkboxes
my %cron; if($configref->{CRON_ENABLED}==1){$cron{1}=" checked ";};
my %earn; if($configref->{DISPLAY_EARNINGS}==1){$earn{1}=" checked ";};
my %delay; if($configref->{DELAYED_INSERT}==1){$delay{1}=" checked ";};
my %ad;if($configref->{DISPLAY_ADVERTISER}==1){$ad{1}=" checked ";};
my %auto;if($configref->{AUTO_ACTIVATE}==1){$auto{1}=" checked ";};
my %drill;if($configref->{DRILL}==1){$drill{1}=" checked ";};
# add campaign form
print qq~
~;
$master->{html}->footer($master);
}
# >> add adtype
sub add_adtype{
my($self,$master)=@_;
# input params
my $name=$master->{query}->param('name')."";
my $width=$master->{query}->param('width')+0;
my $height=$master->{query}->param('height')+0;
my $tempref=$master->{db}->select_single_row_hash("SELECT * FROM adtype WHERE WIDTH=$width AND HEIGHT=$height");
if(!$tempref){
my $tid=$master->{tools}->get_id($master,"TID");
# make insert list
my $insert_list=[
["TID",$tid],
["NAME",$name],
["WIDTH",$width],
["HEIGHT",$height]
];
# insert row
$master->{db}->insert_row("adtype",$insert_list);
}
$master->{message}="AdType has been added";
$master->{manager}->view_manager($master);
}
# << add adtype
# >> adcycle variables
sub update_adcycle_variables{
my($self,$master)=@_;
# input params
my $cron=$master->{query}->param('cron')+0;
my $earn=$master->{query}->param('earn')+0;
my $delay=$master->{query}->param('delay')+0;
my $ad=$master->{query}->param('ad')+0;
my $auto=$master->{query}->param('auto')+0;
my $clear=$master->{query}->param('clear')+0;
my $ad_path=$master->{query}->param('ad_path')."";
my $ad_url=$master->{query}->param('ad_url')."";
my $p3p=$master->{query}->param('p3p')."";
my $drill=$master->{query}->param('drill')+0;
$master->{db}->{adcycle}->do("ALTER TABLE adconfig MODIFY AD_DIR VARCHAR(200) NOT NULL DEFAULT ''");
# generate query list
my $c;
$c=$master->{db}->update_cv($c,"CRON_ENABLED",$cron);
$c=$master->{db}->update_cv($c,"DELAYED_INSERT",$delay);
$c=$master->{db}->update_cv($c,"DISPLAY_ADVERTISER",$ad);
$c=$master->{db}->update_cv($c,"DISPLAY_EARNINGS",$earn);
$c=$master->{db}->update_cv($c,"AUTO_ACTIVATE",$auto);
$c=$master->{db}->update_cv($c,"AD_DIR",$ad_path);
$c=$master->{db}->update_cv($c,"AD_URL",$ad_url);
$c=$master->{db}->update_cv($c,"DRILL",$drill);
$c=$master->{db}->update_cv($c,"P3P",$p3p);
chop($c);
# insert row
$master->{db}->{adcycle}->do("UPDATE adconfig SET $c");
$master->{message}="AdCycle Manager has been updated ";
$master->{manager}->view_manager($master);
}
# << adcycle variables
# >> edit adtype
sub edit_adtype{
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;
# input vars
my $aid=$master->{query}->param('aid');
my $tid=$master->{query}->param('tid');
# print header
$master->{LINK}="manager";
$master->{html}->header($master,"Manager");
#get the campaigns
my $tidref=$master->{db}->select_single_row_hash("SELECT * FROM adtype where TID='$tid'");
# >> geomtery
my $geometry=qq~$tidref->{WIDTH} x $tidref->{HEIGHT} pixels~;
if($tidref->{WIDTH}==1 && $tidref->{HEIGHT}==1){
$geometry="Text Links";
}
if($tidref->{WIDTH}==2 && $tidref->{HEIGHT}==2){
$geometry="Pop Windows";
}
# << geometry
# >> top menu
print qq~
~;
# << top menu
print qq~
~;
if(($tidref->{WIDTH}!=1 && $tidref->{HEIGHT}!=1)&&($tidref->{WIDTH}!=2 && $tidref->{HEIGHT}!=2)){
print qq~
Delete this ad type
~;
}
$master->{html}->footer($master);
}
# >> edit adtype
# >> delete ad types
sub delete_adtype{
my($self,$master)=@_;
# input params
my $tid=$master->{query}->param('tid');
# insert row
my $cp_qty=$master->{db}->single_result("SELECT COUNT(*) from cp WHERE TID='$tid'");
if($cp_qty==0){
$master->{db}->{adcycle}->do("DELETE FROM adtype WHERE TID='$tid'");
$master->{message}="AdType has been DELETED";
}else{
$master->{message}="NOT DELETED. You must first delete all campaigns that are using this ad type proir to deleting!";
}
$master->{manager}->view_manager($master);
}
# << update ad types
# >> update ad types
sub update_adtype{
my($self,$master)=@_;
# input params
my $tid=$master->{query}->param('tid');
my $name=$master->{query}->param('name')."";
my $default_image=$master->{query}->param('default_image')."";
my $default_click=$master->{query}->param('default_click')."";
# generate query list
my $c;
$c=$master->{db}->update_cv($c,"NAME",$name);
$c=$master->{db}->update_cv($c,"DEFAULT_IMAGE",$default_image);
$c=$master->{db}->update_cv($c,"DEFAULT_CLICK",$default_click);
chop($c);
# insert row
$master->{db}->{adcycle}->do("UPDATE adtype SET $c WHERE TID='$tid'");
$master->{message}="AdType has been updated";
$master->{manager}->edit_adtype($master);
}
# << update ad types
# >> update manager
sub update_manager{
my($self,$master)=@_;
# input params
my $uid=$master->{query}->param('uid');
# generate query list
my $c;
$c=$master->{db}->update_cv($c,"USER_ENABLED",$uid);
chop($c);
# insert row
$master->{db}->{adcycle}->do("UPDATE adconfig SET $c");
$master->{message}="AdCycle Manager has been updated";
$master->{manager}->view_manager($master);
}
# << update manager
sub logout{
my($self,$master)=@_;
# 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 $remote=$master->{env}->get_remote;
# get cookie info
my $login_cookie=$master->{query}->cookie('ADCYCLE_LOGIN');
my ($ck_login,$ck_id)=split(/\|/,$login_cookie);
# delete grouping
$master->{db}->{adcycle}->do("DELETE FROM login WHERE ACCOUNT='$ck_login' OR REMOTE='$remote'");
$master->{hide_toolbar}="yes";
$master->{html}->login($master);
}
# Copyright (c) 2003 AdCycle.com All rights reserved.
# http://www.adcycle.com - download the lastest version of adcycle
1;