Index: openacs-4/packages/adserver/adserver.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/adserver/adserver.info,v
diff -u -r1.6 -r1.6.2.1
--- openacs-4/packages/adserver/adserver.info 11 Dec 2003 21:39:57 -0000 1.6
+++ openacs-4/packages/adserver/adserver.info 23 Dec 2004 07:07:18 -0000 1.6.2.1
@@ -7,7 +7,7 @@
f
t
-
+
oracle
postgresql
@@ -17,9 +17,12 @@
Serve banner ads to users and monitor clickthroughs
2001-07-09
furfly.net, LLC
+ GPL
+ 1
+
Create ad groups and ads and server banners in random rotation with display and clickthrough statistics recorded
-
+
Index: openacs-4/packages/adserver/sql/postgresql/adserver-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/adserver/sql/postgresql/adserver-create.sql,v
diff -u -r1.2 -r1.2.10.1
--- openacs-4/packages/adserver/sql/postgresql/adserver-create.sql 6 Mar 2002 20:04:45 -0000 1.2
+++ openacs-4/packages/adserver/sql/postgresql/adserver-create.sql 23 Dec 2004 07:07:18 -0000 1.2.10.1
@@ -238,13 +238,13 @@
-- statement level trigger to perform the swaps.
create function advs_count_afr_del_fun() returns opaque as '
declare
- next integer;
+ nextval integer;
s record;
begin
-- find the highest numbered ad
-- advs_properties is guaranteed to exist.
select adv_count
- into next
+ into nextval
from advs_properties;
-- for update; -- do I need the for update?
@@ -254,19 +254,19 @@
-- find the ad that has that number and renumber it
update advs
set adv_number = s.swap
- where adv_number = next - 1;
+ where adv_number = nextval - 1;
-- delete the row
delete
from advs_swaps
where swap = s.swap;
- next := next - 1;
+ nextval := nextval - 1;
end loop;
-- update the highest number
update advs_properties
- set adv_count = next;
+ set adv_count = nextval;
return new;
end;
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/adserver/sql/postgresql/upgrade/upgrade-4.2-4.3d1.sql'.
Fisheye: No comparison available. Pass `N' to diff?
Index: openacs-4/packages/adserver/tcl/adserver-procs-postgresql.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/adserver/tcl/adserver-procs-postgresql.xql,v
diff -u -r1.2 -r1.2.4.1
--- openacs-4/packages/adserver/tcl/adserver-procs-postgresql.xql 6 Nov 2003 17:26:55 -0000 1.2
+++ openacs-4/packages/adserver/tcl/adserver-procs-postgresql.xql 23 Dec 2004 07:07:19 -0000 1.2.4.1
@@ -54,24 +54,34 @@
- select map.adv_key, track_clickthru_p, target_url, display_count
- from adv_group_map map, advs_todays_log log, advs
- where group_key = :group_key
- and map.adv_key = advs.adv_key
- and map.adv_key = log.adv_key
- UNION
+ select
+ map.adv_key, track_clickthru_p, target_url, display_count
+ from
+ adv_group_map map, adv_log log , advs
+ where
+ group_key = :group_key
+ and map.adv_key = advs.adv_key
+ and map.adv_key = log.adv_key
+ and log.entry_date=now()::date
- select map.adv_key, track_clickthru_p, target_url, 0 as display_count
- from adv_group_map map, advs
- where group_key = :group_key
- and map.adv_key = advs.adv_key
- and (select count(*) from adv_log where advs.adv_key=adv_log.adv_key)=0
+ UNION
- order by display_count asc
+ select
+ map.adv_key, track_clickthru_p, target_url,
+ case when
+ display_count is null then 0 else display_count end as display_count
+ from
+ adv_group_map map, advs
+ left join adv_log on (advs.adv_key=adv_log.adv_key and adv_log.entry_date=now()::date)
+ where
+ group_key = :group_key
+ and map.adv_key = advs.adv_key
- limit 1
+ order by display_count asc
+ limit 1
+
Index: openacs-4/packages/adserver/tcl/adserver-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/adserver/tcl/adserver-procs.tcl,v
diff -u -r1.4 -r1.4.4.1
--- openacs-4/packages/adserver/tcl/adserver-procs.tcl 6 Nov 2003 17:26:55 -0000 1.4
+++ openacs-4/packages/adserver/tcl/adserver-procs.tcl 23 Dec 2004 07:07:19 -0000 1.4.4.1
@@ -98,7 +98,7 @@
If method is not supplied, it uses the natural ad
selection method of the group. Otherwise, it follows method,
- which may be one of least-exposure-first, user-sequential,
+ which may be one of least-exposure-first, sequential,
or random.
if the ad_number is not blank, it should be an integer specifying
@@ -176,6 +176,7 @@
order by nvl (display_count, 0)"
}
user-sequential {
+# note -- logging must be on, and this switch should be sequential
set query_name adserver_get_ad_by_ad_key
if {[string equal "" $user_id]} {
set user_id [ad_get_user_id]
@@ -375,7 +376,7 @@
set selection [db_0or1row adserver_adv_key {
select adv_group_number as last,
- ag.adv_count max_adv_group_number
+ ag.adv_count, '0' as max_adv_group_number
from adv_group_map grp, adv_groups ag, adv_user_map map
where user_id=:user_id
and event_time = (
Index: openacs-4/packages/adserver/tcl/adserver-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/adserver/tcl/adserver-procs.xql,v
diff -u -r1.1 -r1.1.10.1
--- openacs-4/packages/adserver/tcl/adserver-procs.xql 30 Jan 2002 11:25:25 -0000 1.1
+++ openacs-4/packages/adserver/tcl/adserver-procs.xql 23 Dec 2004 07:07:19 -0000 1.1.10.1
@@ -45,8 +45,9 @@
- select adv_count
- from advs_properties
+ select adv_count
+ from adv_groups
+ where group_key = :group_key
@@ -68,7 +69,7 @@
select adv_group_number as last,
- ag.adv_count max_adv_group_number
+ ag.adv_count, '0' as max_adv_group_number
from adv_group_map grp, adv_groups ag, adv_user_map map
where user_id=:user_id
and event_time = (
Index: openacs-4/packages/adserver/www/admin/add-adv-to-group.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/adserver/www/admin/add-adv-to-group.tcl,v
diff -u -r1.3 -r1.3.4.1
--- openacs-4/packages/adserver/www/admin/add-adv-to-group.tcl 6 Nov 2003 17:26:56 -0000 1.3
+++ openacs-4/packages/adserver/www/admin/add-adv-to-group.tcl 23 Dec 2004 07:07:19 -0000 1.3.4.1
@@ -14,7 +14,7 @@
}
set title "Add an ad to a group"
-set context "Add an ad to a group"
+set context {"Add an ad to a group"}
set admin_link "
Index: openacs-4/packages/adserver/www/admin/one-adv-group.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/adserver/www/admin/one-adv-group.tcl,v
diff -u -r1.3 -r1.3.4.1
--- openacs-4/packages/adserver/www/admin/one-adv-group.tcl 6 Nov 2003 17:26:56 -0000 1.3
+++ openacs-4/packages/adserver/www/admin/one-adv-group.tcl 23 Dec 2004 07:07:19 -0000 1.3.4.1
@@ -13,7 +13,7 @@
}
set title "Adserver Administration One Group"
-set context {one ad group}
+set context {"one ad group"}
set admin_link "
Index: openacs-4/packages/adserver/www/admin/one-adv.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/adserver/www/admin/one-adv.tcl,v
diff -u -r1.3 -r1.3.4.1
--- openacs-4/packages/adserver/www/admin/one-adv.tcl 6 Nov 2003 17:26:56 -0000 1.3
+++ openacs-4/packages/adserver/www/admin/one-adv.tcl 23 Dec 2004 07:07:19 -0000 1.3.4.1
@@ -13,7 +13,7 @@
admin_link:onevalue
}
-set context {one ad}
+set context {"one ad"}
set title "One Ad: $adv_key"
set admin_link "