# 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~
~; 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~ ~; } print qq~
Ad Type Name Width Height Default Image URL Default Click URL  
 $tidref[$k]->{NAME} $tidref[$k]->{WIDTH} $tidref[$k]->{HEIGHT} $tidref[$k]->{DEFAULT_IMAGE} $tidref[$k]->{DEFAULT_CLICK} Edit | Stats
 
 
~; # add adtype form print qq~
Create a New Ad Type
Description:
Geometry: x pixels

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

 AdCycle Setup   ~;print $master->{html}->question("manager");print qq~
Software Key: $configref->{USER_ENABLED}  Enter/Update Software Key
Earnings Display: Display earnings on the campaigns page
Delayed Insert: Use MySQL delayed insert
Cron Enabled: Cron activated for background tasks
Advertiser Display: Display advertisers on the campaigns page
Auto-Activate: Auto-activate campaigns within a group
Toolbar Drilldown: Enable toolbar drilldown
P3P Header: (optional)
Ad Folder Path: (optional)
Ad Folder URL: (optional)
Ad Types: Edit

 
~; $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~
View Ad Types : Edit $tidref->{NAME}
~; # << top menu print qq~  
~; if(($tidref->{WIDTH}!=1 && $tidref->{HEIGHT}!=1)&&($tidref->{WIDTH}!=2 && $tidref->{HEIGHT}!=2)){ print qq~ ~; } print qq~
Edit Ad Type Information
 Description: {medium} class="ft1">
 Geometry: $geometry
 Default Image URL: {long} class="ft1">
 Default Click URL: {long} class="ft1">

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