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 "