Index: openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-create.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-create.sql 29 Jun 2001 20:28:38 -0000 1.2 +++ openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-create.sql 9 Mar 2002 02:00:02 -0000 1.3 @@ -94,10 +94,19 @@ ); acs_object_type.create_type ( + supertype => 'acs_message', + object_type => 'bboard_message', + pretty_name => 'BBoard Message', + pretty_plural => 'BBoard Messages', + table_name => 'BBOARD_MESSAGES', + id_column => 'MESSAGE_ID' + ); + + acs_object_type.create_type ( supertype => 'acs_object', object_type => 'bboard_forum', pretty_name => 'BBoard Forum', - pretty_plural => 'BBoard Forum', + pretty_plural => 'BBoard Forums', table_name => 'BBOARD_FORUMS', id_column => 'FORUM_ID', name_method => 'BBOARD_FORUM.NAME' @@ -117,7 +126,19 @@ / show errors +-- bboard messages +-- +-- these are subtypes of acs_message +-- all of the metadata is in acs_messages +create table bboard_messages ( + message_id constraint bboard_messages_msg_id_fk + references acs_messages(message_id) + on delete cascade + constraint bboard_messages_msg_id_pk + primary key +); + -- bboard forums -- -- these act as primary containers for messages @@ -156,7 +177,7 @@ on delete cascade, message_id integer constraint bboard_fmm_message_id_fk - references acs_messages (message_id) + references bboard_messages (message_id) on delete cascade, status varchar(20) constraint bboard_fmm_status_ck @@ -182,6 +203,7 @@ category_id integer constraint bboard_c_category_id_fk references acs_objects (object_id) + on delete cascade constraint bboard_c_category_id_pk primary key, short_name varchar(400) @@ -206,7 +228,7 @@ on delete cascade, message_id integer constraint bboard_cmm_message_id_fk - references acs_messages (message_id) + references bboard_messages (message_id) on delete cascade, constraint bboard_category_message_map_pk primary key (category_id, message_id) @@ -254,7 +276,7 @@ create table bboard_thread_subscribers ( thread_id integer constraint bboard_ts_thread_id_fk - references acs_messages (message_id) + references bboard_messages (message_id) on delete cascade, subscriber_id integer constraint bboard_ts_subscriber_id_fk Index: openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-drop.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-drop.sql 29 Jun 2001 20:28:38 -0000 1.2 +++ openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-drop.sql 9 Mar 2002 02:00:02 -0000 1.3 @@ -57,6 +57,9 @@ delete from bboard_forums; delete from acs_objects where object_type = 'bboard_forum'; +-- Delete mime types we created +delete from cr_mime_types where mime_type='text/plain; format=flowed'; + -- Drop all schema objects drop package bboard_message; drop package bboard_category; @@ -70,11 +73,13 @@ drop table bboard_categories; drop table bboard_forum_message_map; drop table bboard_forums; +drop table bboard_messages; -- Drop object type metadata begin acs_object_type.drop_type ('bboard_forum'); acs_object_type.drop_type ('bboard_category'); + acs_object_type.drop_type ('bboard_message'); end; / show errors Index: openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-packages.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-packages.sql,v diff -u -N -r1.3 -r1.4 --- openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-packages.sql 11 Jan 2002 20:38:36 -0000 1.3 +++ openacs-4/contrib/obsolete-packages/bboard/sql/oracle/bboard-packages.sql 9 Mar 2002 02:00:02 -0000 1.4 @@ -116,7 +116,7 @@ creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null, - object_type in acs_objects.object_type%TYPE default 'acs_message' + object_type in acs_objects.object_type%TYPE default 'bboard_message' ) return acs_objects.object_id%TYPE; function message_p ( @@ -450,14 +450,15 @@ creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, creation_ip in acs_objects.creation_ip%TYPE default null, - object_type in acs_objects.object_type%TYPE default 'acs_message' + object_type in acs_objects.object_type%TYPE default 'bboard_message' ) return acs_objects.object_id%TYPE is v_sent_date acs_messages.sent_date%TYPE; + v_message_id bboard_messages.message_id%TYPE; begin v_sent_date := nvl(sent_date, sysdate); - return acs_message.new ( + v_message_id := acs_message.new ( message_id => message_id, reply_to => reply_to, sent_date => v_sent_date, @@ -472,6 +473,13 @@ creation_ip => creation_ip, object_type => object_type ); + + insert into bboard_messages + (message_id) + values + (v_message_id); + + return v_message_id; end new; function message_p ( @@ -481,7 +489,7 @@ v_check_message_id integer; begin select count(message_id) into v_check_message_id - from acs_messages + from bboard_messages where message_id = message_p.message_id; if v_check_message_id = 1 then return 't'; @@ -641,7 +649,7 @@ image_p number; begin for child_val in messages_children loop - if child_val.object_type = 'acs_message' then + if child_val.object_type = 'bboard_message' then acs_message.delete(child_val.child_id); elsif child_val.object_type = 'content_item' then select count(*) into image_p @@ -672,7 +680,7 @@ image_p number; begin for child_val in messages_children loop - if child_val.object_type = 'acs_message' then + if child_val.object_type = 'bboard_message' then acs_message.delete(child_val.child_id); elsif child_val.object_type = 'content_item' then select count(*) into image_p Index: openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-create.sql,v diff -u -N -r1.3 -r1.4 --- openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-create.sql 29 Nov 2001 22:19:47 -0000 1.3 +++ openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-create.sql 9 Mar 2002 02:00:02 -0000 1.4 @@ -109,7 +109,7 @@ select acs_object_type__create_type ( 'bboard_forum', 'BBoard Forum', - 'BBoard Forum', + 'BBoard Forums', 'acs_object', 'BBOARD_FORUMS', 'FORUM_ID', @@ -132,7 +132,27 @@ 'BBOARD_CATEGORY__NAME' ); +select acs_object_type__create_type ( + 'bboard_message', + 'BBoard Message', + 'BBoard Messages', + 'acs_message', + 'BBOARD_MESSAGES', + 'MESSAGE_ID', + null, + 'f', + null, + null +); +create table bboard_messages ( + message_id integer + constraint bboard_messages_msg_id_fk + references acs_messages(message_id) + on delete cascade + constraint bboard_messages_msg_id_pk + primary key +); -- bboard forums -- @@ -172,7 +192,7 @@ on delete cascade, message_id integer constraint bboard_fmm_message_id_fk - references acs_messages (message_id) + references bboard_messages (message_id) on delete cascade, status varchar(20) constraint bboard_fmm_status_ck @@ -200,6 +220,7 @@ category_id integer constraint bboard_c_category_id_fk references acs_objects (object_id) + on delete cascade constraint bboard_c_category_id_pk primary key, short_name varchar(400) @@ -224,7 +245,7 @@ on delete cascade, message_id integer constraint bboard_cmm_message_id_fk - references acs_messages (message_id) + references bboard_messages (message_id) on delete cascade, constraint bboard_category_message_map_pk primary key (category_id, message_id) @@ -272,7 +293,7 @@ create table bboard_thread_subscribers ( thread_id integer constraint bboard_ts_thread_id_fk - references acs_messages (message_id) + references bboard_messages (message_id) on delete cascade, subscriber_id integer constraint bboard_ts_subscriber_id_fk Index: openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-drop.sql,v diff -u -N -r1.3 -r1.4 --- openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-drop.sql 29 Jun 2001 20:50:17 -0000 1.3 +++ openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-drop.sql 9 Mar 2002 02:00:02 -0000 1.4 @@ -23,9 +23,10 @@ create function inline_0 () returns integer as ' - - raise NOTICE ''currently it is impossible to delete multiple threads within a transaction. please ensure you have removed all forums through the admin interface before you try to drop the package.'' - + begin + raise NOTICE ''currently it is impossible to delete multiple threads within a transaction. please ensure you have removed all forums through the admin interface before you try to drop the package.''; + return 0; + end; ' language 'plpgsql'; select inline_0 (); @@ -47,6 +48,9 @@ delete from bboard_forums; delete from acs_objects where object_type = 'bboard_forum'; +-- Delete mime types we created +delete from cr_mime_types where mime_type='text/plain; format=flowed'; + -- Drop all schema objects drop function bboard_forum__forum_p (integer); @@ -89,11 +93,13 @@ drop table bboard_categories; drop table bboard_forum_message_map; drop table bboard_forums; +drop table bboard_messages; -- Drop object type metadata begin; select acs_object_type__drop_type ('bboard_forum', 'f'); select acs_object_type__drop_type ('bboard_category', 'f'); + select acs_object_type__drop_type ('bboard_message', 'f'); end; Index: openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-packages.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-packages.sql,v diff -u -N -r1.6 -r1.7 --- openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-packages.sql 11 Jan 2002 20:38:36 -0000 1.6 +++ openacs-4/contrib/obsolete-packages/bboard/sql/postgresql/bboard-packages.sql 9 Mar 2002 02:00:02 -0000 1.7 @@ -309,12 +309,13 @@ p_creation_date alias for $11; -- default sysdate p_creation_user alias for $12; -- default null p_creation_ip alias for $13; -- default null - p_object_type alias for $14; -- default ''acs_message'' + p_object_type alias for $14; -- default ''bboard_message'' + v_message_id bboard_messages.message_id%TYPE; v_sent_date timestamp; begin v_sent_date := coalesce(p_sent_date, now()); - return acs_message__new ( + v_message_id := acs_message__new ( p_message_id, p_reply_to, v_sent_date, @@ -332,7 +333,13 @@ p_object_type, ''t'' ); - return 0; + + insert into bboard_messages + (message_id) + values + (v_message_id); + + return v_message_id; end; ' language 'plpgsql'; @@ -344,7 +351,7 @@ v_check_message_id integer; begin select count(message_id) into v_check_message_id - from acs_messages + from bboard_messages where message_id = p_message_id; if v_check_message_id = 1 then return ''t''; @@ -510,7 +517,7 @@ where o.context_id = m.message_id and m.tree_sortkey between v_search_key and tree_right(v_search_key) loop - if child_val.object_type = ''acs_message'' then + if child_val.object_type = ''bboard_message'' then perform acs_message__delete(child_val.child_id); elsif child_val.object_type = ''content_item'' then select count(*) into image_p @@ -549,18 +556,20 @@ from acs_objects where context_id = message_id loop - if child_val.object_type = ''acs_message'' then + if child_val.object_type = ''bboard_message'' then perform acs_message__delete(child_val.child_id); - elsif child_val.object_type = ''content_item'' then + else if child_val.object_type = ''content_item'' then select count(*) into image_p from images where image_id = child_val.child_id; if image_p = 1 then perform acs_message__delete_image(child_val.child_id); + else + perform acs_message__delete_file(child_val.child_id); - end if; end if; + end if; end if; end loop; perform acs_message__delete(message_id); Index: openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs-oracle.xql,v diff -u -N -r1.5 -r1.6 --- openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs-oracle.xql 28 Nov 2001 18:39:39 -0000 1.5 +++ openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs-oracle.xql 9 Mar 2002 02:00:02 -0000 1.6 @@ -328,7 +328,7 @@ update cr_revisions set filename = :filename, - content_length = :size + content_length = :file_size where revision_id = :revision_id @@ -371,7 +371,7 @@ update cr_revisions set filename = :filename, - content_length = :size + content_length = :file_size where revision_id = :revision_id @@ -431,7 +431,7 @@ from acs_objects where object_id in (select object_id from acs_objects - where object_type = 'acs_message' + where object_type = 'bboard_message' start with context_id in (select forum_id from bboard_forums) connect by prior object_id = context_id) Index: openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs-postgresql.xql,v diff -u -N -r1.10 -r1.11 --- openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs-postgresql.xql 9 Dec 2001 04:21:58 -0000 1.10 +++ openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs-postgresql.xql 9 Mar 2002 02:00:02 -0000 1.11 @@ -93,7 +93,7 @@ now(), :creation_user, :creation_ip, - 'acs_message' + 'bboard_message' ); @@ -290,7 +290,7 @@ update cr_revisions set content = :filename, - content_length = :size + content_length = :file_size where revision_id = :revision_id @@ -331,7 +331,7 @@ update cr_revisions set content = :filename, - content_length = :size + content_length = :file_size where revision_id = :revision_id @@ -367,41 +367,36 @@ - + -update cr_items - set latest_revision=null, live_revision=null - where item_id in - (select object_id as message_id - from acs_objects - where object_type = 'acs_message' - and object_id not in (select message_id - from bboard_forum_message_map)); + select object_id as message_id + from acs_objects o + where o.object_type = 'bboard_message' + and not exists (select 1 + from bboard_forum_message_map bfmm, acs_objects o2 + where o2.object_id = bfmm.message_id and + o.tree_sortkey between o2.tree_sortkey and tree_right(o2.tree_sortkey)) - + + -declare - message_rec record; -begin - for message_rec in - select o.object_id as message_id - from acs_objects o - where o.object_type = 'acs_message' - and not exists (select 1 - from bboard_forum_message_map bfmm, acs_objects o2 - where o2.object_id = bfmm.message_id and - o.tree_sortkey between o2.tree_sortkey and tree_right(o2.tree_sortkey)) - loop - perform bboard_message__remove(message_rec.message_id); - end loop; + update cr_items + set latest_revision=null, live_revision=null + where item_id = :message_id - return 0; -end; + + + + + + + + select bboard_message__remove(:message_id); Index: openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs.tcl,v diff -u -N -r1.8 -r1.9 --- openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs.tcl 1 Dec 2001 17:55:16 -0000 1.8 +++ openacs-4/contrib/obsolete-packages/bboard/tcl/bboard-procs.tcl 9 Mar 2002 02:00:02 -0000 1.9 @@ -816,7 +816,7 @@ } set filename [cr_create_content_file $file_id $revision_id $local_filename] - set size [file size $local_filename] + set file_size [file size $local_filename] db_dml set_content_size "" } @@ -855,7 +855,7 @@ } set filename [cr_create_content_file $file_id $revision_id $local_filename] - set size [file size $local_filename] + set file_size [file size $local_filename] db_dml set_content_size "" } @@ -1021,7 +1021,7 @@ db_foreach get_orphans { select object_id as message_id from acs_objects o - where o.object_type = 'acs_message' + where o.object_type = 'bboard_message' and not exists (select 1 from bboard_forum_message_map bfmm, acs_objects o2 where o2.object_id = bfmm.message_id and Index: openacs-4/contrib/obsolete-packages/bboard/www/forum-move-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/www/forum-move-2.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/contrib/obsolete-packages/bboard/www/forum-move-2.tcl 29 Jun 2001 20:37:18 -0000 1.1 +++ openacs-4/contrib/obsolete-packages/bboard/www/forum-move-2.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -21,7 +21,7 @@ update acs_objects set context_id = :dest_forum_id where context_id = :forum_id - and (object_type = 'acs_message' or + and (object_type = 'bboard_message' or object_type = 'bboard_category') } Index: openacs-4/contrib/obsolete-packages/bboard/www/forum-move-2.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/www/forum-move-2.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/contrib/obsolete-packages/bboard/www/forum-move-2.xql 29 Jun 2001 20:37:18 -0000 1.1 +++ openacs-4/contrib/obsolete-packages/bboard/www/forum-move-2.xql 9 Mar 2002 02:00:02 -0000 1.2 @@ -7,7 +7,7 @@ update acs_objects set context_id = :dest_forum_id where context_id = :forum_id - and (object_type = 'acs_message' or + and (object_type = 'bboard_message' or object_type = 'bboard_category') Index: openacs-4/contrib/obsolete-packages/bboard/www/message-move-2-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/www/message-move-2-oracle.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/contrib/obsolete-packages/bboard/www/message-move-2-oracle.xql 29 Jun 2001 20:37:18 -0000 1.1 +++ openacs-4/contrib/obsolete-packages/bboard/www/message-move-2-oracle.xql 9 Mar 2002 02:00:02 -0000 1.2 @@ -9,7 +9,7 @@ update acs_objects set context_id = :dest_forum_id where context_id = :forum_id - and object_type = 'acs_message' + and object_type = 'bboard_message' and object_id in (select message_id from acs_messages m connect by prior message_id = reply_to Index: openacs-4/contrib/obsolete-packages/bboard/www/message-move-2-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/www/message-move-2-postgresql.xql,v diff -u -N -r1.3 -r1.4 --- openacs-4/contrib/obsolete-packages/bboard/www/message-move-2-postgresql.xql 8 Dec 2001 01:17:59 -0000 1.3 +++ openacs-4/contrib/obsolete-packages/bboard/www/message-move-2-postgresql.xql 9 Mar 2002 02:00:02 -0000 1.4 @@ -9,7 +9,7 @@ update acs_objects set context_id = :dest_forum_id where context_id = :forum_id - and object_type = 'acs_message' + and object_type = 'bboard_message' and object_id in (select m.message_id from acs_messages m, acs_messages m2 Index: openacs-4/contrib/obsolete-packages/bboard/www/message-move-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/bboard/www/message-move-2.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/contrib/obsolete-packages/bboard/www/message-move-2.tcl 29 Jun 2001 20:37:18 -0000 1.1 +++ openacs-4/contrib/obsolete-packages/bboard/www/message-move-2.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -22,7 +22,7 @@ update acs_objects set context_id = :dest_forum_id where context_id = :forum_id - and object_type = 'acs_message' + and object_type = 'bboard_message' and object_id in (select message_id from acs_messages m connect by prior message_id = reply_to Index: openacs-4/contrib/obsolete-packages/ticket-tracker/sql/oracle/ticket-tracker-packages.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/ticket-tracker/sql/oracle/ticket-tracker-packages.sql,v diff -u -N -r1.8 -r1.9 --- openacs-4/contrib/obsolete-packages/ticket-tracker/sql/oracle/ticket-tracker-packages.sql 9 Feb 2002 02:33:36 -0000 1.8 +++ openacs-4/contrib/obsolete-packages/ticket-tracker/sql/oracle/ticket-tracker-packages.sql 9 Mar 2002 02:00:02 -0000 1.9 @@ -181,9 +181,9 @@ task_id in number, custom_arg in varchar2, party_to in integer, - party_from in out integer, - subject in out varchar2, - body in out varchar2 + party_from in integer, + subject in varchar2, + body in varchar2 ); -- unassigned callback Index: openacs-4/contrib/obsolete-packages/ticket-tracker/sql/oracle/ttracker-workflow-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/ticket-tracker/sql/oracle/ttracker-workflow-create.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/contrib/obsolete-packages/ticket-tracker/sql/oracle/ttracker-workflow-create.sql 19 Nov 2001 22:26:34 -0000 1.2 +++ openacs-4/contrib/obsolete-packages/ticket-tracker/sql/oracle/ttracker-workflow-create.sql 9 Mar 2002 02:00:02 -0000 1.3 @@ -570,8 +570,8 @@ 2, 'What to do', '/packages/ticket-tracker/wf-templates/clarify', -:overrides_action_p, -:only_display_when_started_p); +'f', +'f'); insert into wf_context_task_panels (context_key, Index: openacs-4/contrib/obsolete-packages/wap/wap.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/contrib/obsolete-packages/wap/wap.info,v diff -u -N -r1.2 -r1.3 --- openacs-4/contrib/obsolete-packages/wap/wap.info 9 May 2001 18:53:37 -0000 1.2 +++ openacs-4/contrib/obsolete-packages/wap/wap.info 9 Mar 2002 02:00:02 -0000 1.3 @@ -9,7 +9,6 @@ oracle - postgresql Shan Shan Huang Provides easy support for WAP applications built on ACS4.0 Index: openacs-4/packages/acs-admin/www/users/become.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/become.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-admin/www/users/become.tcl 13 Mar 2001 22:59:26 -0000 1.1 +++ openacs-4/packages/acs-admin/www/users/become.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -11,9 +11,6 @@ set return_url [ad_pvt_home] # Get the password and user ID -# as of Oracle 8.1 we'll have upper(email) constrained to be unique -# in the database (could do it now with a trigger but there is really -# no point since users only come in via this form) if ![db_0or1row password "select password from users where user_id=$user_id"] { ad_return_error "Couldn't find user $user_id" "Couldn't find user $user_id." Index: openacs-4/packages/acs-admin/www/users/complex-search.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/complex-search.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-admin/www/users/complex-search.tcl 12 May 2001 05:07:52 -0000 1.2 +++ openacs-4/packages/acs-admin/www/users/complex-search.tcl 9 Mar 2002 02:00:02 -0000 1.3 @@ -104,7 +104,7 @@ if { [exists_and_not_null email] } { set sql_email "%[string tolower $email]%" - lappend where_clause "lower(email) like :sql_email" + lappend where_clause "email like :sql_email" incr rowcount set criteria:[set rowcount](data) "Email contains '$email'" } Index: openacs-4/packages/acs-admin/www/users/search.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/search.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-admin/www/users/search.tcl 13 Mar 2001 22:59:26 -0000 1.1 +++ openacs-4/packages/acs-admin/www/users/search.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -78,11 +78,11 @@ if { [info exists keyword] } { set search_type "keyword" set sql_keyword "%[string tolower $keyword]%" - lappend where_clause "(lower(email) like :sql_keyword or lower(first_names || ' ' || last_name) like :sql_keyword)" + lappend where_clause "(email like :sql_keyword or lower(first_names || ' ' || last_name) like :sql_keyword)" } elseif { [info exists email] && ![empty_string_p $email] } { set search_type "email" set sql_email "%[string tolower $email]%" - lappend where_clause "lower(email) like :sql_email" + lappend where_clause "email like :sql_email" } else { set search_type "last" set sql_last_name "%[string tolower $last_name]%" @@ -155,4 +155,4 @@ set export_authorize [export_ns_set_vars {url} {only_authorized_p}] -ad_return_template \ No newline at end of file +ad_return_template Index: openacs-4/packages/acs-admin/www/users/user-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/user-add-2.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-admin/www/users/user-add-2.tcl 12 Jan 2002 10:31:29 -0000 1.2 +++ openacs-4/packages/acs-admin/www/users/user-add-2.tcl 9 Mar 2002 02:00:02 -0000 1.3 @@ -48,9 +48,8 @@ " } else { - set upper_email [string toupper $email] set email_count [db_string unused "select count(email) -from parties where upper(email) = :upper_email +from parties where email = lower(:email) and party_id <> :user_id"] # note, we dont' produce an error if this is a double click Index: openacs-4/packages/acs-admin/www/users/user-add-2.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/users/Attic/user-add-2.xql,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-admin/www/users/user-add-2.xql 29 Apr 2001 00:47:48 -0000 1.3 +++ openacs-4/packages/acs-admin/www/users/user-add-2.xql 9 Mar 2002 02:00:02 -0000 1.4 @@ -4,28 +4,10 @@ select count(email) -from parties where upper(email) = :upper_email +from parties where email = lower(:email) and party_id <> :user_id - - - select count(email) -from parties where upper(email) = :upper_email -and party_id <> :user_id - - - - - - - select count(email) -from parties where upper(email) = :upper_email -and party_id <> :user_id - - - - Index: openacs-4/packages/acs-bootstrap-installer/installer/create-administrator-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-bootstrap-installer/installer/Attic/create-administrator-2.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-bootstrap-installer/installer/create-administrator-2.tcl 16 Apr 2001 05:20:10 -0000 1.2 +++ openacs-4/packages/acs-bootstrap-installer/installer/create-administrator-2.tcl 9 Mar 2002 02:00:02 -0000 1.3 @@ -23,7 +23,7 @@ } if { ![db_string user_exists { - select count(*) from parties where email = :email + select count(*) from parties where email = lower(:email) }] } { db_transaction { @@ -59,4 +59,4 @@ } } -ns_returnredirect "site-info?[ad_export_vars email]" \ No newline at end of file +ns_returnredirect "site-info?[ad_export_vars email]" Index: openacs-4/packages/acs-bootstrap-installer/tcl/40-db-query-dispatcher-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-bootstrap-installer/tcl/40-db-query-dispatcher-procs.tcl,v diff -u -N -r1.23 -r1.24 --- openacs-4/packages/acs-bootstrap-installer/tcl/40-db-query-dispatcher-procs.tcl 8 Feb 2002 03:59:31 -0000 1.23 +++ openacs-4/packages/acs-bootstrap-installer/tcl/40-db-query-dispatcher-procs.tcl 9 Mar 2002 02:00:02 -0000 1.24 @@ -174,7 +174,7 @@ set proc_name [info level [expr "-2 - $added_stack_num"]] } - set list_of_source_procs {ns_sourceproc apm_source template::adp_parse rp_handle_tcl_request} + set list_of_source_procs {ns_sourceproc apm_source template::adp_parse template::frm_page_handler rp_handle_tcl_request} # We check if we're running the special ns_ proc that tells us # whether this is an URL or a Tcl proc. @@ -216,6 +216,12 @@ regsub {^/?packages} $url {} url } + template::frm_page_handler { + db_qd_log Debug "We are in the template system's form page debugger!" + set real_url_p 1 + regsub {\.frm} [ad_conn url] {} url + } + default { db_qd_log Debug "We are in a WWW page sourced by apm_source, woohoo!" set real_url_p 0 Index: openacs-4/packages/acs-interface/acs-interface.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-interface/acs-interface.info,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-interface/acs-interface.info 19 Oct 2001 03:08:11 -0000 1.3 +++ openacs-4/packages/acs-interface/acs-interface.info 9 Mar 2002 02:00:02 -0000 1.4 @@ -21,9 +21,9 @@ - - - + + + Index: openacs-4/packages/acs-kernel/acs-kernel.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/acs-kernel.info,v diff -u -N -r1.9 -r1.10 --- openacs-4/packages/acs-kernel/acs-kernel.info 22 Jan 2002 20:08:00 -0000 1.9 +++ openacs-4/packages/acs-kernel/acs-kernel.info 9 Mar 2002 02:00:02 -0000 1.10 @@ -16,7 +16,7 @@ 2001-03-06 OpenACS - + Index: openacs-4/packages/acs-kernel/sql/oracle/acs-kernel-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/oracle/acs-kernel-create.sql,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-kernel/sql/oracle/acs-kernel-create.sql 25 Feb 2002 16:46:36 -0000 1.4 +++ openacs-4/packages/acs-kernel/sql/oracle/acs-kernel-create.sql 9 Mar 2002 02:00:02 -0000 1.5 @@ -8,7 +8,7 @@ -- @cvs-id $Id$ -- -set feedback off +-- set feedback off @@ acs-logs-create @@ acs-metadata-create @@ -33,4 +33,4 @@ -- added by Ben for OpenACS @@ acs-create-2 -set feedback on +-- set feedback on Index: openacs-4/packages/acs-kernel/sql/oracle/community-core-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/oracle/community-core-create.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-kernel/sql/oracle/community-core-create.sql 23 Feb 2002 02:37:36 -0000 1.2 +++ openacs-4/packages/acs-kernel/sql/oracle/community-core-create.sql 9 Mar 2002 02:00:02 -0000 1.3 @@ -227,6 +227,19 @@ without joining to any other table. '; +-- DRB: I added this trigger to enforce the storing of e-mail in lower case. +-- party.new() already did so but I found an update that didn't... + +create or replace trigger parties_in_up_tr +before insert or update on parties +for each row +begin + :new.email := lower(:new.email); +end; +/ +show errors + + ------------------- -- PARTY PACKAGE -- ------------------- Index: openacs-4/packages/acs-lang/tcl/localization-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/localization-procs-oracle.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-lang/tcl/localization-procs-oracle.xql 2 May 2001 20:15:34 -0000 1.1 +++ openacs-4/packages/acs-lang/tcl/localization-procs-oracle.xql 9 Mar 2002 02:00:02 -0000 1.2 @@ -7,7 +7,7 @@ begin - :1 := to_char(timezone.utc_to_local(:tz, to_date(:time_value, 'YYYY-MM-DD HH24:MI:SS')), 'YYYY-MM-DD HH24:MI:SS'); + :1 := to_char(timezone.utc_to_local(timezone.get_id(:tz), to_date(:time_value, 'YYYY-MM-DD HH24:MI:SS')), 'YYYY-MM-DD HH24:MI:SS'); end; @@ -18,7 +18,7 @@ begin - :1 := to_char(timezone.local_to_utc(:tz, to_date(:time_value, 'YYYY-MM-DD HH24:MI:SS')), 'YYYY-MM-DD HH24:MI:SS'); + :1 := to_char(timezone.local_to_utc(timezone.get_id(:tz), to_date(:time_value, 'YYYY-MM-DD HH24:MI:SS')), 'YYYY-MM-DD HH24:MI:SS'); end; Index: openacs-4/packages/acs-lang/tcl/localization-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/localization-procs-postgresql.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-lang/tcl/localization-procs-postgresql.xql 4 May 2001 19:29:07 -0000 1.2 +++ openacs-4/packages/acs-lang/tcl/localization-procs-postgresql.xql 9 Mar 2002 02:00:02 -0000 1.3 @@ -6,7 +6,7 @@ - select to_char(timezone__utc_to_local(:tz, to_date(:time_value, 'YYYY-MM-DD HH24:MI:SS')), 'YYYY-MM-DD HH24:MI:SS'); + select to_char(timezone__utc_to_local(timezone__get_id(:tz), to_date(:time_value, 'YYYY-MM-DD HH24:MI:SS')), 'YYYY-MM-DD HH24:MI:SS'); @@ -15,7 +15,7 @@ - select to_char(timezone__local_to_utc(:tz, to_date(:time_value, 'YYYY-MM-DD HH24:MI:SS')), 'YYYY-MM-DD HH24:MI:SS'); + select to_char(timezone__local_to_utc(timezone__get_id(:tz), to_date(:time_value, 'YYYY-MM-DD HH24:MI:SS')), 'YYYY-MM-DD HH24:MI:SS'); Index: openacs-4/packages/acs-ldap-authentication/acs-ldap-authentication.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-ldap-authentication/acs-ldap-authentication.info,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-ldap-authentication/acs-ldap-authentication.info 20 Apr 2001 20:51:09 -0000 1.1 +++ openacs-4/packages/acs-ldap-authentication/acs-ldap-authentication.info 9 Mar 2002 02:00:02 -0000 1.2 @@ -9,7 +9,6 @@ oracle - postgresql Dennis Gregorovic Authentication across multiple servers via LDAP Index: openacs-4/packages/acs-subsite/www/register/user-login.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/register/Attic/user-login.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-subsite/www/register/user-login.xql 15 Feb 2002 00:14:14 -0000 1.2 +++ openacs-4/packages/acs-subsite/www/register/user-login.xql 9 Mar 2002 02:00:02 -0000 1.3 @@ -6,7 +6,7 @@ select user_id, member_state, email_verified_p from cc_users - where lower(email) = :email + where email = lower(:email) Index: openacs-4/packages/acs-subsite/www/shared/whos-online-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/shared/Attic/whos-online-postgresql.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-subsite/www/shared/whos-online-postgresql.xql 22 Apr 2001 16:13:15 -0000 1.1 +++ openacs-4/packages/acs-subsite/www/shared/whos-online-postgresql.xql 9 Mar 2002 02:00:02 -0000 1.2 @@ -7,7 +7,7 @@ select user_id, first_names, last_name, email from cc_users where last_visit > now() - '[ad_parameter LastVisitUpdateInterval "" 600] seconds'::interval -order by upper(last_name), upper(first_names), upper(email) +order by upper(last_name), upper(first_names), email Index: openacs-4/packages/acs-subsite/www/shared/whos-online.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/shared/whos-online.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-subsite/www/shared/whos-online.tcl 13 Mar 2001 22:59:26 -0000 1.1 +++ openacs-4/packages/acs-subsite/www/shared/whos-online.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -15,7 +15,7 @@ db_multirow users grab_users "select user_id, first_names, last_name, email from cc_users where last_visit > sysdate - [ad_parameter LastVisitUpdateInterval "" 600]/86400 -order by upper(last_name), upper(first_names), upper(email)" +order by upper(last_name), upper(first_names), email" db_release_unused_handles @@ -28,4 +28,4 @@ # set chat_system_name [chat_system_name] #} -ad_return_template \ No newline at end of file +ad_return_template Index: openacs-4/packages/acs-subsite/www/user/basic-info-update-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/user/Attic/basic-info-update-2.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-subsite/www/user/basic-info-update-2.tcl 13 Mar 2001 22:59:26 -0000 1.1 +++ openacs-4/packages/acs-subsite/www/user/basic-info-update-2.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -86,7 +86,7 @@ return } -if { [db_string email_unique_count "select count(party_id) from parties where upper(email) = upper(:email) and party_id <> :user_id"] > 0 } { +if { [db_string email_unique_count "select count(party_id) from parties where email = lower(:email) and party_id <> :user_id"] > 0 } { ad_return_error "$email already in database" "The email address \"$email\" is already in the database. If this is your email address, perhaps you're trying to combine two accounts? If so, please email - select count(party_id) from parties where upper(email) = upper(:email) and party_id <> :user_id + select count(party_id) from parties where email = lower(:email) and party_id <> :user_id Index: openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl 22 Feb 2002 19:00:58 -0000 1.10 +++ openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl 9 Mar 2002 02:00:02 -0000 1.11 @@ -21,11 +21,11 @@ } ad_proc db_package_supports_rdbms_p { db_type_list } { - Returns 1 if db_type_list is empty (needs no database support) or - contains the current RDBMS type. The list is typically built from - the XML database-support node in a packages .info file. + Returns 1 if db_type_list contains the current RDMBS type. A package + intended to run with a given RDBMS must note this in it's package info + file regardless of whether or not it actually uses the database. } { - if { [llength $db_type_list] == 0 || [lsearch $db_type_list [db_type]] != -1 } { + if { [lsearch $db_type_list [db_type]] != -1 } { return 1 } Index: openacs-4/packages/acs-tcl/tcl/community-core-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/community-core-procs.tcl,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/acs-tcl/tcl/community-core-procs.tcl 18 Feb 2002 22:00:17 -0000 1.6 +++ openacs-4/packages/acs-tcl/tcl/community-core-procs.tcl 9 Mar 2002 02:00:02 -0000 1.7 @@ -25,7 +25,7 @@ ad_proc -private cc_lookup_email_user { email } { return [db_string user_select { - select user_id from cc_users where upper(email) = upper(:email) + select user_id from cc_users where email = lower(:email) } -default ""] } Index: openacs-4/packages/acs-tcl/tcl/defs-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/defs-procs.tcl,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/acs-tcl/tcl/defs-procs.tcl 22 Jan 2002 20:08:00 -0000 1.8 +++ openacs-4/packages/acs-tcl/tcl/defs-procs.tcl 9 Mar 2002 02:00:02 -0000 1.9 @@ -568,7 +568,6 @@ return } if {[info exists set]} { - ns_log Notice "Caching $parameter_name for $package_id to $set" nsv_set "ad_param_$package_id" $parameter_name $set return $set } elseif { [nsv_exists ad_param_$package_id $parameter_name] } { Index: openacs-4/packages/acs-tcl/tcl/deprecated-utilities-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/deprecated-utilities-procs.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-tcl/tcl/deprecated-utilities-procs.tcl 13 Mar 2001 22:59:26 -0000 1.1 +++ openacs-4/packages/acs-tcl/tcl/deprecated-utilities-procs.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -29,7 +29,7 @@ # and you will find the Tcl var $n_rows set # You can also use this in a multi-row loop -# set selection [ns_db select $db "select *,upper(email) from mailing_list order by upper(email)"] +# set selection [ns_db select $db "select *,email from mailing_list order by email"] # while { [ns_db getrow $db $selection] } { # set_variables_after_query # ... your code here ... Index: openacs-4/packages/acs-tcl/tcl/utilities-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/utilities-procs.xql,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-tcl/tcl/utilities-procs.xql 20 Jan 2002 21:42:55 -0000 1.3 +++ openacs-4/packages/acs-tcl/tcl/utilities-procs.xql 9 Mar 2002 02:00:02 -0000 1.4 @@ -30,7 +30,7 @@ from dual where not exists (select 1 from parties - where upper(email) = upper(:email)) + where email = lower(:email)) Index: openacs-4/packages/acs-templating/acs-templating.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/acs-templating.info,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/acs-templating/acs-templating.info 20 Feb 2002 21:07:13 -0000 1.6 +++ openacs-4/packages/acs-templating/acs-templating.info 9 Mar 2002 02:00:02 -0000 1.7 @@ -324,8 +324,8 @@ - - + + Index: openacs-4/packages/acs-templating/resources/messages/datasources.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/resources/messages/datasources.adp,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-templating/resources/messages/datasources.adp 13 Mar 2001 22:59:27 -0000 1.1 +++ openacs-4/packages/acs-templating/resources/messages/datasources.adp 9 Mar 2002 02:00:02 -0000 1.2 @@ -1,4 +1,4 @@ -Datasource for @code_stub@.acs +Datasource for @code_stub@

Data sources for @code_stub@.acs

Index: openacs-4/packages/acs-templating/tcl/filter-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/filter-procs.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-templating/tcl/filter-procs.tcl 5 Sep 2001 05:17:19 -0000 1.4 +++ openacs-4/packages/acs-templating/tcl/filter-procs.tcl 9 Mar 2002 02:00:02 -0000 1.5 @@ -9,83 +9,18 @@ # License. Full text of the license is available from the GNU Project: # http://www.fsf.org/copyleft/gpl.html - -# Sample filter for handling pages with the ADP to Tcl compiler - -ad_proc -public acs_page_filter { why } { - - # Check for updates to Tcl library files - # watch_files - - set url [template::util::resolve_directory_url [ns_conn url]] - - if { ! [regsub {.acs$} $url {} url_stub] } { return filter_ok } - - if { [catch { - - #set url [template::util::resolve_directory_url [ad_conn url]] - set root_path [ns_info pageroot] - - template::filter exec url_stub root_path - - set file_stub $root_path/$url_stub - - ns_log Notice $file_stub - - set beginTime [clock clicks] - - set output [template::adp_parse $file_stub {}] - - set timeElapsed [expr ([clock clicks] - $beginTime) / 1000] - ns_log Notice "Time elapsed: $timeElapsed" - - } errMsg] } { - - if { [string equal FILTER_ABORT $errMsg] } { return filter_return } - - # truncate ADP buffer - ns_adp_trunc - - global errorInfo - # truncate the error trace (no problem for debugging ?) - regsub {\(procedure \"code::tcl.*$} $errorInfo {} errorInfo - - set output " -

An internal error ocurred while preparing a template $url_stub:

-
$errorInfo
- " - } - - if { [string length $output] } { - ns_return 200 text/html $output - } - - return filter_return -} - # Redirect and abort processing ad_proc -public template::forward { url } { - if { ! [string match http://* $url] } { - - if { [string index $url 0] != "/" } { - set url [util::get_url_directory [ns_conn url]]$url - } - set host_name [ns_set iget [ns_conn headers] Host] - set url http://$host_name$url - } + # DRB: The code that was here before didn't preserve the protocol, always + # using HTTP even if HTTPS was used to establish the connection. Besides + # which ad_returnredirect has funky checks for even funkier browsers, and + # is therefore not only the standard way to redirect in OpenACS 4 but + # more robust as well. - global errorInfo - - ns_returnredirect $url - - # (DanW OpenACS, dcwickstrom@earthlink.net) - commented this out since the - # rp doesn't seem to support this processing method. It appears that this - # is used as a mechanism to abort further processing of a page, but the rp - # doesn't have the catch and continue code as implied by acs_page_filter - # example shown above. - #error FILTER_ABORT + ad_returnredirect $url + ad_script_abort } # Run any filter procedures that have been registered with the @@ -113,14 +48,22 @@ } } +# DRB: The following debugging filters weren't integrated with OpenACS. +# I fixed them but not very elegantly - they assume you're trying to debug +# a template within a package, not at the top www level. As it turns out +# the query processor makes similar assumptions so making these work for +# "/foo"-style URLs would require fixing it, too. Also ACS 4.2 had these +# debugging filters enabled by default. I've turned them off by default. + # Show the compiled template (for debugging) ad_proc -public cmp_page_filter { why } { if { [catch { - set url [ad_conn url] - regsub {.cmp$} $url {} url_stub - set file_stub [ns_url2file $url_stub] + set url [ns_conn url] + regsub {.cmp} $url {} url_stub + regexp {^/([^/]*)(.*)} $url_stub all package_key rest + set file_stub "[acs_root_dir]/packages/$package_key/www$rest" set beginTime [clock clicks] @@ -145,9 +88,10 @@ ad_proc -public dat_page_filter { why } { if { [catch { - set url [ad_conn url] - regsub {.dat$} $url {} url_stub - set code_stub [ns_url2file $url_stub] + set url [ns_conn url] + regsub {.dat} $url {} url_stub + regexp {^/([^/]*)(.*)} $url_stub all package_key rest + set code_stub "[acs_root_dir]/packages/$package_key/www$rest" set beginTime [clock clicks] @@ -170,17 +114,19 @@ # Return the auto-generated template for a form -ad_proc -public frm_page_filter { why } { - namespace eval template { +namespace eval template { - if { [catch { + ad_proc -private frm_page_handler { } { + Build the form information for the form page filter. This was + originally handled inline but doing so screwed up the query + processor. + } { set url [ns_conn url] regsub {.frm} $url {} url_stub - set __adp_stub [ns_url2file $url_stub] + regexp {^/([^/]*)(.*)} $url_stub all package_key rest + set __adp_stub "[acs_root_dir]/packages/$package_key/www$rest" - set beginTime [clock clicks] - # Set the parse level variable parse_level lappend parse_level [info level] @@ -189,9 +135,17 @@ adp_prepare # get the form template - set output [form::template \ - [ns_queryget form_id] [ns_queryget form_style]] + return [form::template [ns_queryget form_id] [ns_queryget form_style]] + } +} +ad_proc -public frm_page_filter { why } { + if { [catch { + + set beginTime [clock clicks] + + set output [template::frm_page_handler] + set timeElapsed [expr ([clock clicks] - $beginTime) / 1000.] ns_log Notice "Time elapsed: $timeElapsed" @@ -204,7 +158,6 @@
[ns_quotehtml $output]
" - } return filter_return } Index: openacs-4/packages/acs-templating/tcl/template-init.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/template-init.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-templating/tcl/template-init.tcl 13 Mar 2001 22:59:27 -0000 1.1 +++ openacs-4/packages/acs-templating/tcl/template-init.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -10,21 +10,13 @@ # XXX (bquinn): This file should not be here. -# Register filters if ATS is installed as a Tcl "module". -# Actually, acs-templating is a package. - -# ns_register_filter postauth GET *.acs acs_page_filter -# ns_register_filter postauth POST *.acs acs_page_filter -# ns_register_filter postauth GET */ acs_page_filter -# ns_register_filter postauth POST */ acs_page_filter - set pkg_id [apm_package_id_from_key acs-templating] if { [ad_parameter -package_id $pkg_id ShowCompiledTemplatesP dummy 0] } { - ns_register_filter postauth GET *.cmp cmp_page_filter + ad_register_filter postauth GET *.cmp cmp_page_filter } -if { [ad_parameter -package_id $pkg_id ShowDataDictionariesP dummy 1] } { - ns_register_filter postauth GET *.dat dat_page_filter - ns_register_filter postauth GET *.frm frm_page_filter +if { [ad_parameter -package_id $pkg_id ShowDataDictionariesP dummy 0] } { + ad_register_filter postauth GET *.dat dat_page_filter + ad_register_filter postauth GET *.frm frm_page_filter } Index: openacs-4/packages/address-book/address-book.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/address-book/address-book.info,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/address-book/address-book.info 4 Sep 2001 00:01:28 -0000 1.4 +++ openacs-4/packages/address-book/address-book.info 9 Mar 2002 02:00:02 -0000 1.5 @@ -9,8 +9,6 @@ - oracle - postgresql John Mileham Application to collaboratively view and edit addresses and contact information. Index: openacs-4/packages/bookmarks/sql/oracle/bookmarks-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bookmarks/sql/oracle/bookmarks-create.sql,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/bookmarks/sql/oracle/bookmarks-create.sql 26 Jun 2001 01:37:24 -0000 1.3 +++ openacs-4/packages/bookmarks/sql/oracle/bookmarks-create.sql 9 Mar 2002 02:00:02 -0000 1.4 @@ -82,10 +82,15 @@ -- We use these index for sorting the bookmarks tree -create index bm_bookmarks_local_title_idx on bm_bookmarks (parent_id, lower(local_title), bookmark_id); -create index bm_bookmarks_access_date_idx on bm_bookmarks (parent_id, last_access_date, bookmark_id); +-- DRB: Functional indexes are an Enterprise Edition feature, so this is disabled. What should +-- we use? I'm not sure at the moment because most of the queries seem to use UPPER not LOWER +-- on local title, at least in LIKE clauses! Making this index fairly useless (besides it is +-- only useful if parent_id is included as a qualifier in such cases). +-- create index bm_bookmarks_local_title_idx on bm_bookmarks (parent_id, lower(local_title), bookmark_id); +create index bm_bookmarks_access_date_idx on bm_bookmarks (parent_id, last_access_date, bookmark_id); + -- For connect by queries create index bm_bookmarks_idx1 on bm_bookmarks(bookmark_id, parent_id); create index bm_bookmarks_idx2 on bm_bookmarks(parent_id, bookmark_id); Index: openacs-4/packages/chat/chat.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/chat/chat.info,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/chat/chat.info 20 Apr 2001 20:51:08 -0000 1.1 +++ openacs-4/packages/chat/chat.info 9 Mar 2002 02:00:02 -0000 1.2 @@ -9,7 +9,6 @@ oracle - postgresql David Dao This is a chat application Index: openacs-4/packages/cms/sql/oracle/cms-publishing-wf.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/sql/oracle/cms-publishing-wf.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms/sql/oracle/cms-publishing-wf.sql 19 Nov 2001 18:39:05 -0000 1.2 +++ openacs-4/packages/cms/sql/oracle/cms-publishing-wf.sql 9 Mar 2002 02:00:02 -0000 1.3 @@ -11,7 +11,7 @@ /* * Cases table */ -create table cr_workflows ( +create table publishing_wf_cases ( case_id integer primary key references wf_cases on delete cascade ); @@ -29,7 +29,7 @@ pretty_plural => 'Simple Publishing Workflows', description => 'A simple linear workflow for authoring, editing and scheduling content items.', - table_name => 'cr_workflows' + table_name => 'publishing_wf_cases' ); end; / Index: openacs-4/packages/cms/sql/postgresql/cms-publishing-wf.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/sql/postgresql/cms-publishing-wf.sql,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/cms/sql/postgresql/cms-publishing-wf.sql 19 Nov 2001 18:38:19 -0000 1.5 +++ openacs-4/packages/cms/sql/postgresql/cms-publishing-wf.sql 9 Mar 2002 02:00:02 -0000 1.6 @@ -11,7 +11,7 @@ /* * Cases table */ -create table cr_workflows ( +create table publishing_wf_cases ( case_id integer primary key references wf_cases on delete cascade ); @@ -29,7 +29,7 @@ ''Simple Publishing Workflows'', ''A simple linear workflow for authoring, editing and scheduling content items.'', - ''cr_workflows'', + ''publishing_wf_cases'', ''case_id'' ); Index: openacs-4/packages/cms-news-demo/cms-news-demo.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms-news-demo/cms-news-demo.info,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/cms-news-demo/cms-news-demo.info 24 Aug 2001 19:58:33 -0000 1.2 +++ openacs-4/packages/cms-news-demo/cms-news-demo.info 9 Mar 2002 02:00:02 -0000 1.3 @@ -9,7 +9,6 @@ oracle - postgresql Michael Pih A demo news site built using CMS. Index: openacs-4/packages/directory/www/index.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/directory/www/index.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/directory/www/index.xql 21 Oct 2001 21:44:46 -0000 1.2 +++ openacs-4/packages/directory/www/index.xql 9 Mar 2002 02:00:02 -0000 1.3 @@ -37,7 +37,7 @@ - order by lower(email) + order by email @@ -49,15 +49,15 @@ - order by lower(email) desc + order by email desc and (lower(first_names) like '%' || lower(:search) || '%' or lower(last_name) like '%' || lower(:search) || '%' - or lower(email) like '%' || lower(:search) || '%') + or email like '%' || lower(:search) || '%') Index: openacs-4/packages/ecommerce/ecommerce.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/ecommerce.info,v diff -u -N -r1.18 -r1.19 --- openacs-4/packages/ecommerce/ecommerce.info 16 Feb 2002 23:32:06 -0000 1.18 +++ openacs-4/packages/ecommerce/ecommerce.info 9 Mar 2002 02:00:02 -0000 1.19 @@ -118,8 +118,6 @@ - - @@ -140,8 +138,6 @@ - - @@ -160,8 +156,6 @@ - - @@ -271,8 +265,6 @@ - - @@ -334,8 +326,6 @@ - - @@ -349,14 +339,10 @@ - - - - @@ -388,8 +374,6 @@ - - @@ -408,8 +392,6 @@ - - @@ -524,8 +506,6 @@ - - @@ -548,8 +528,6 @@ - - @@ -576,8 +554,6 @@ - - @@ -661,8 +637,6 @@ - - @@ -703,8 +677,6 @@ - - @@ -747,8 +719,6 @@ - - @@ -792,8 +762,6 @@ - - @@ -896,12 +864,8 @@ - - - - @@ -985,57 +949,57 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.tcl 31 Jan 2002 22:43:54 -0000 1.4 +++ openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.tcl 9 Mar 2002 02:00:02 -0000 1.5 @@ -447,7 +447,7 @@ set user_id [db_string user_id_select " select user_id from cc_users - where upper(email)=upper(:email) + where email=lower(:email) " -default ""] db_transaction { @@ -458,7 +458,7 @@ set user_identification_id [lindex $user_identification_and_issue_id 0] } else { # check if the recipient is an unregistered user of the system - set user_identification_id [db_string user_identification_id_select "select user_identification_id from ec_user_identification where upper(email)=upper(:email)" -default ""] + set user_identification_id [db_string user_identification_id_select "select user_identification_id from ec_user_identification where email=lower(:email)" -default ""] if { [empty_string_p $user_identification_id] } { set user_identification_id [db_nextval ec_user_ident_id_sequence] Index: openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.xql 18 Jul 2001 23:46:14 -0000 1.2 +++ openacs-4/packages/ecommerce/tcl/ecommerce-email-procs.xql 9 Mar 2002 02:00:02 -0000 1.3 @@ -154,15 +154,15 @@ select user_id from cc_users - where upper(email)=upper(:email) + where email=lower(:email) - select user_identification_id from ec_user_identification where upper(email)=upper(:email) + select user_identification_id from ec_user_identification where email=lower(:email) Index: openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.tcl 29 Jan 2002 00:11:46 -0000 1.2 +++ openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.tcl 9 Mar 2002 02:00:02 -0000 1.3 @@ -232,7 +232,7 @@ # if their email address was filled in, see if they're a registered user if { ![empty_string_p $email] } { set email [string toupper $email] - if { [db_0or1row get_does_row_exist_p "select first_names as d_first_names, last_name as d_last_name, user_id as d_user_id from cc_users where upper(email) =:email "]==1 } { + if { [db_0or1row get_does_row_exist_p "select first_names as d_first_names, last_name as d_last_name, user_id as d_user_id from cc_users where email =lower(:email) "]==1 } { append doc_body "
  • This is a registered user of the system: $d_first_names $d_last_name. @@ -276,7 +276,7 @@ set already_selected_user_identification_id_list [list] if { ![empty_string_p $email] } { - set sql "select user_identification_id as d_user_identification_id from ec_user_identification where upper(email)=upper(:email) and user_id is null" + set sql "select user_identification_id as d_user_identification_id from ec_user_identification where email=lower(:email) and user_id is null" db_foreach get_user_identification $sql { Index: openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.xql 10 Jul 2001 20:33:53 -0000 1.1 +++ openacs-4/packages/ecommerce/www/admin/customer-service/interaction-add-2.xql 9 Mar 2002 02:00:02 -0000 1.2 @@ -17,7 +17,7 @@ - select first_names as d_first_names, last_name as d_last_name, user_id as d_user_id from cc_users where upper(email) =:email + select first_names as d_first_names, last_name as d_last_name, user_id as d_user_id from cc_users where email =lower(:email) Index: openacs-4/packages/ecommerce/www/admin/customer-service/user-identification-search.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/user-identification-search.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/ecommerce/www/admin/customer-service/user-identification-search.tcl 26 Aug 2001 23:40:49 -0000 1.2 +++ openacs-4/packages/ecommerce/www/admin/customer-service/user-identification-search.tcl 9 Mar 2002 02:00:02 -0000 1.3 @@ -29,7 +29,7 @@ # keyword can refer to email, first_names, last_name, postal_code, or other_id_info set keyword [string tolower $keyword] set sql "select user_identification_id from ec_user_identification -where (lower(email) like :keyword or lower(first_names || ' ' || last_name) like :keyword or lower(postal_code) like :keyword or lower(other_id_info) like :keyword) +where (email like :keyword or lower(first_names || ' ' || last_name) like :keyword or lower(postal_code) like :keyword or lower(other_id_info) like :keyword) and user_id is null " Index: openacs-4/packages/ecommerce/www/admin/customer-service/user-identification.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/user-identification.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/ecommerce/www/admin/customer-service/user-identification.tcl 20 Apr 2001 20:51:14 -0000 1.1 +++ openacs-4/packages/ecommerce/www/admin/customer-service/user-identification.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -110,7 +110,7 @@ # if their email address was filled in, see if they're a registered user if { ![empty_string_p $email] } { set email [string toupper $email] - set row_exists_p [db_0or1row get_row_exists_name "select first_names as d_first_names, last_name as d_last_name, user_id as d_user_id from cc_users where upper(email) = :email"] + set row_exists_p [db_0or1row get_row_exists_name "select first_names as d_first_names, last_name as d_last_name, user_id as d_user_id from cc_users where email = lower(:email)"] if { [info exists d_user_id] } { append doc_body "
  • This is a registered user of the system: $d_first_names $d_last_name. Index: openacs-4/packages/ecommerce/www/admin/customer-service/user-identification.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/customer-service/user-identification.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/ecommerce/www/admin/customer-service/user-identification.xql 10 Jul 2001 20:33:53 -0000 1.1 +++ openacs-4/packages/ecommerce/www/admin/customer-service/user-identification.xql 9 Mar 2002 02:00:02 -0000 1.2 @@ -10,7 +10,7 @@ - select first_names as d_first_names, last_name as d_last_name, user_id as d_user_id from cc_users where upper(email) = :email + select first_names as d_first_names, last_name as d_last_name, user_id as d_user_id from cc_users where email = lower(:email) Index: openacs-4/packages/ecommerce/www/admin/mailing-lists/member-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ecommerce/www/admin/mailing-lists/member-add.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/ecommerce/www/admin/mailing-lists/member-add.tcl 20 Apr 2001 20:51:14 -0000 1.1 +++ openacs-4/packages/ecommerce/www/admin/mailing-lists/member-add.tcl 9 Mar 2002 02:00:02 -0000 1.2 @@ -33,9 +33,9 @@ append page_html "

    Users whose last name contains '$last_name':

    \n" set last_bit_of_query "upper(last_name) like :u_last_name" } else { - set u_email %[string toupper $email]% + set l_email %[string tolower $email]% append page_html "

    Users whose email contains '$email':

    \n" - set last_bit_of_query "upper(email) like :u_email" + set last_bit_of_query "email like :l_email" } append page_html "