Index: openacs-4/packages/acs-kernel/sql/postgresql/acs-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/acs-create.sql,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-kernel/sql/postgresql/acs-create.sql 17 Apr 2001 23:41:36 -0000 1.4 +++ openacs-4/packages/acs-kernel/sql/postgresql/acs-create.sql 24 May 2001 01:30:52 -0000 1.5 @@ -313,5 +313,24 @@ drop function inline_3 (); + +select acs_group__new ( + -3, + 'group', + now(), + null, + null, + null, + null, + 'Default Context', + null, + null + ); + insert into acs_magic_objects + (name, object_id) + values + ('default_context', -3); + + -- show errors Index: openacs-4/packages/cms/www/head.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/head.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/head.tcl 20 Apr 2001 20:51:09 -0000 1.1 +++ openacs-4/packages/cms/www/head.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -4,7 +4,7 @@ ns_log Notice $user_id -template::query name onevalue " +template::query get_name name onevalue " select first_names || ' ' || last_name from persons where person_id = :user_id" Index: openacs-4/packages/cms/www/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/index.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/index.tcl 20 Apr 2001 20:51:09 -0000 1.1 +++ openacs-4/packages/cms/www/index.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -4,7 +4,7 @@ if { ! $user_id } { template::forward "signin" } -template::query name onevalue " +template::query get_name name onevalue " select first_names || ' ' || last_name from Index: openacs-4/packages/cms/www/register.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/Attic/register.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/register.tcl 20 Apr 2001 20:51:09 -0000 1.1 +++ openacs-4/packages/cms/www/register.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -23,16 +23,12 @@ if { [form is_request register_user] } { - set db [template::get_db_handle] - - template::query user_id onevalue " + template::query get_user_id user_id onevalue " select acs_object_id_seq.nextval from dual - " -db $db + " - set cms_admin_exists [User::cms_admin_exists $db] + set cms_admin_exists [User::cms_admin_exists] - template::release_db_handle - if { $cms_admin_exists == 0 } { set is_admin t } else { Index: openacs-4/packages/cms/www/modules/categories/create.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/categories/create.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/categories/create.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/categories/create.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -18,7 +18,7 @@ -label "Description" -datatype text -widget textarea -html { rows 5 cols 60 } if { [form is_request add_keyword] } { - template::query keyword_id onevalue " + template::query get_keyword_id keyword_id onevalue " select acs_object_id_seq.nextval from dual " element set_properties add_keyword keyword_id -value $keyword_id @@ -30,27 +30,24 @@ set user_id [User::getID] set ip [ns_conn peeraddr] - set db [template::begin_db_transaction] + db_transaction { - set sql " + if { ![template::util::is_nil parent_id] } { + set pid ", + parent_id => :parent_id" + } else { + set pid "" + } + + set keyword_id [db_exec_plsql new_keyword " begin :1 := content_keyword.new( heading => :heading, description => :description, keyword_id => :keyword_id, creation_user => :user_id, - creation_ip => :ip" - - if { ![template::util::is_nil parent_id] } { - append sql ", - parent_id => :parent_id" + creation_ip => :ip$pid); end;"] } - append sql "); end;" - - ns_ora exec_plsql_bind $db $sql [list 1] keyword_id - template::end_db_transaction - template::release_db_handle - template::forward "refresh-tree?id=_all_&goto_id=$parent_id&mount_point=$mount_point" } Index: openacs-4/packages/cms/www/modules/categories/delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/categories/delete.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/categories/delete.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/categories/delete.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -6,7 +6,7 @@ request set_param mount_point -datatype keyword -optional -value categories # Determine if the folder is empty -template::query is_empty onevalue " +template::query get_empty_status is_empty onevalue " select content_keyword.is_leaf(:id) from dual " @@ -20,13 +20,10 @@ } else { - # Otherwise, delete the folder - set db [template::begin_db_transaction] - template::query delete_keyword dml " - begin content_keyword.delete(:id); end; - " - template::end_db_transaction - template::release_db_handle + db_transaction { + # Otherwise, delete the folder + set delete_keyword [db_exec_plsql delete_keyword "begin content_keyword.delete(:id); end;"] + } # Remove it from the clipboard, if it exists set clip [clipboard::parse_cookie] @@ -36,4 +33,4 @@ template::forward "refresh-tree?id=_all_&goto_id=$parent_id&mount_point=$mount_point" } - \ No newline at end of file + Index: openacs-4/packages/cms/www/modules/categories/edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/categories/edit.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/categories/edit.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/categories/edit.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -6,7 +6,7 @@ request set_param mount_point -datatype keyword -optional -value categories # Get existing data -template::query info onerow " +template::query get_info info onerow " select content_keyword.get_heading(:id) heading, content_keyword.get_description(:id) description, @@ -31,15 +31,14 @@ form get_values edit_keyword keyword_id heading description - set db [template::begin_db_transaction] - template::query edit_keyword dml " + db_transaction { + db_exec_plsql edit_keyword { begin content_keyword.set_heading(:keyword_id, :heading); content_keyword.set_description(:keyword_id, :description); end; - " - template::end_db_transaction - template::release_db_handle + } + } template::forward "refresh-tree?id=$keyword_id&goto_id=$parent_id&mount_point=$mount_point" } Index: openacs-4/packages/cms/www/modules/categories/keyword-assign.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/categories/keyword-assign.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/categories/keyword-assign.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/categories/keyword-assign.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -17,16 +17,18 @@ set clip [clipboard::parse_cookie] set db [template::begin_db_transaction] -clipboard::map_code $clip categories { - if { [catch { - template::query assign_keyword dml " +db_transaction { + clipboard::map_code $clip categories { + if { [catch { + db_exec_plsql assign_keyword { + begin content_keyword.item_assign(:resolved_id, :item_id); end; - " - } errmsg] } { - } + + } + } errmsg] } { + } + } } -template::end_db_transaction -template::release_db_handle clipboard::free $clip Index: openacs-4/packages/cms/www/modules/categories/keyword-unassign.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/categories/keyword-unassign.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/categories/keyword-unassign.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/categories/keyword-unassign.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -13,8 +13,8 @@ set resolved_id $item_id } -template::query unassign_keyword dml " +db_exec_plsql unassign_keyword { begin content_keyword.item_unassign(:resolved_id, :keyword_id); end; -" +} template::forward "../items/index?item_id=$item_id&mount_point=$mount_point" Index: openacs-4/packages/cms/www/modules/categories/move.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/categories/move.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/categories/move.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/categories/move.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -17,26 +17,25 @@ set clip [clipboard::parse_cookie] -set db [template::begin_db_transaction] +db_transaction { -clipboard::map_code $clip $mount_point { - if { [catch { - template::query move_keyword_item dml " + clipboard::map_code $clip $mount_point { + if { [catch { + db_dml move_keyword_item " update cr_items set parent_id = $update_value where item_id = $item_id and exists ( select 1 from cr_keywords where keyword_id = item_id )" - template::query move_keyword_keyword dml " + + db_dml move_keyword_keyword " update cr_keywords set parent_id = $update_value where keyword_id = $item_id" - } errmsg] } { - } + } errmsg] } { + } + } } -template::end_db_transaction -template::release_db_handle - clipboard::free $clip # Specify a null id so that the entire branch will be refreshed Index: openacs-4/packages/cms/www/modules/items/attributes-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/attributes-edit.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/attributes-edit.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/attributes-edit.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -3,12 +3,10 @@ request create request set_param item_id -datatype integer -set db [template::get_db_handle] - # check permissions - user must have cm_write on the item content::check_access $item_id cm_write -user_id [User::getID] -template::query one_item onerow " +template::query get_item one_item onerow " select i.content_type, i.name, nvl(r.title, i.name) title, i.latest_revision from @@ -21,8 +19,6 @@ template::util::array_to_vars one_item -template::release_db_handle - # flush the sitemap folder listing cache in anticipation # of the new item cms_folder::flush sitemap $item_id Index: openacs-4/packages/cms/www/modules/items/attributes.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/attributes.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/attributes.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/attributes.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -7,9 +7,8 @@ # query the content type and table so we know which view to examine -set db [template::get_db_handle] -template::query type_info onerow " +template::query get_type_info type_info onerow " select o.object_type, t.table_name from @@ -22,15 +21,14 @@ -persistent -timeout 86400 if { ! [info exists type_info(table_name)] } { - template::release_db_handle adp_abort request error revision_id "Invalid Revision ID $revision_id" return } # query the row from the standard view -template::query info onerow " +template::query get_info info onerow " select content_item.get_revision_count(x.item_id) revision_count, content_revision.get_number(:revision_id) revision_number, @@ -42,7 +40,6 @@ object_id = :revision_id" if { ! [info exists info(item_id)] } { - template::release_db_handle request error revision_id "Attributes for Revision ID $revision_id appear to be incomplete. Each revision must have a @@ -62,7 +59,7 @@ set content_type $type_info(object_type) -set query " +template::query attributes multirow " select types.pretty_name object_label, types.table_name, @@ -85,9 +82,7 @@ where attr.object_type = types.object_type order by - types.inherit_level desc" - -template::query attributes multirow $query -eval { + types.inherit_level desc" -eval { if { [catch { set value $info($row(attribute_name)) } errmsg] } { # catch - value doesn't exist @@ -99,4 +94,3 @@ set row(attribute_value) $value } -template::release_db_handle Index: openacs-4/packages/cms/www/modules/items/comment-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/comment-add.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/comment-add.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/comment-add.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -4,7 +4,7 @@ item_id -datatype integer } -template::query item_title onevalue " +template::query get_title item_title onevalue " select content_item.get_title(:item_id) from dual " @@ -18,7 +18,7 @@ " if { [form is_request add_comment] } { - template::query journal_id onevalue " + template::query get_journal_id journal_id onevalue " select acs_object_id_seq.nextval from dual " element set_properties add_comment journal_id -value $journal_id @@ -31,21 +31,20 @@ set user_id [User::getID] set ip_address [ns_conn peeraddr] - set db [template::begin_db_transaction] + db_transaction { + set journal_id [db_exec_plsql new_entry " + begin + :1 = journal_entry.new( + journal_id => :journal_id, + object_id => :object_id, + action => 'comment', + action_pretty => 'Comment', + creation_user => :user_id, + creation_ip => :ip_address, + msg => :msg ); + end;"] - ns_ora exec_plsql_bind $db "begin - :journal_id := journal_entry.new( - journal_id => :journal_id, - object_id => :object_id, - action => 'comment', - action_pretty => 'Comment', - creation_user => :user_id, - creation_ip => :ip_address, - msg => :msg ); - end;" journal_id + } - template::end_db_transaction - template::release_db_handle - template::forward "index?item_id=$object_id" -} \ No newline at end of file +} Index: openacs-4/packages/cms/www/modules/items/comments.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/comments.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/comments.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/comments.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -13,7 +13,8 @@ # The creation_user may be null, in which case 'System' is substituted -set query " + +template::query get_comments comments multirow " select journal_id, action_pretty, msg, decode(NVL(p.person_id, 0), @@ -36,6 +37,4 @@ msg is not null order by o.creation_date desc -" - -template::query comments multirow $query -maxrows 10 +" -maxrows 10 Index: openacs-4/packages/cms/www/modules/items/content-add-1.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/content-add-1.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/content-add-1.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/content-add-1.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -4,9 +4,8 @@ request create request set_param revision_id -datatype integer -set db [template::get_db_handle] -template::query one_revision onerow " +template::query get_revision one_revision onerow " select i.item_id, content_type, title as name, mime_type from @@ -15,22 +14,17 @@ i.item_id = r.item_id and r.revision_id = :revision_id -" -db $db +" template::util::array_to_vars one_revision # permissions check - must have cm_write on the item content::check_access $item_id cm_write -user_id [User::getID] -db $db -template::release_db_handle - - - # check for custom content-add-1 form if { [file exists [ns_url2file \ "custom/$content_type/content-add-1.tcl"]] } { - template::release_db_handle template::forward "custom/$content_type/content-add-1?revision_id=$revision_id" } Index: openacs-4/packages/cms/www/modules/items/content-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/content-add-2.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/content-add-2.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/content-add-2.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -4,9 +4,7 @@ request set_param content_method -datatype keyword request set_param revision_id -datatype integer -set db [template::get_db_handle] - -template::query one_revision onerow " +template::query get_revision one_revision onerow " select item_id, title as name from @@ -20,7 +18,6 @@ # permissions check - must have cm_write on the item content::check_access $item_id cm_write -user_id [User::getID] -template::release_db_handle # if we have an invalid revision_id, then redirect if { [template::util::is_nil name] } { Index: openacs-4/packages/cms/www/modules/items/content-download.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/content-download.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/content-download.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/content-download.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -10,9 +10,7 @@ set user_id [User::getID] -set db [template::get_db_handle] - -template::query iteminfo onerow " +template::query get_iteminfo iteminfo onerow " select item_id, mime_type, content_revision.is_live( revision_id ) is_live from @@ -29,7 +27,7 @@ content::check_access $item_id cm_read -user_id $user_id } -template::query file_name onevalue " +template::query get_filename file_name onevalue " select name from @@ -43,7 +41,6 @@ revision_id = :revision_id ) " -template::release_db_handle set headers_so_far "HTTP/1.0 200 OK @@ -60,9 +57,7 @@ append entire_string_to_write $headers_so_far "\n" ns_write $entire_string_to_write -set db [template::get_db_handle] - -ns_ora write_blob $db " +db_write_blob write_content " select content from @@ -71,6 +66,5 @@ revision_id = $revision_id " -template::release_db_handle Index: openacs-4/packages/cms/www/modules/items/create-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/create-2.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/create-2.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/create-2.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -22,12 +22,10 @@ request set_param page_title -datatype text -optional request set_param is_wizard -datatype keyword -value f -set db [template::get_db_handle] - # permissions check - need cm_new on the parent item content::check_access $parent_id cm_new -user_id [User::getID] -template::query new_item onerow " +template::query get_item new_item onerow " select NVL(content_item.get_path(:parent_id), '/') as item_path, pretty_name as content_type_name @@ -37,8 +35,6 @@ object_type = :content_type " -template::release_db_handle - # validate content_type and parent_id if { [template::util::is_nil new_item] } { template::request::error create_item_form_generation_error \ Index: openacs-4/packages/cms/www/modules/items/export-xml.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/export-xml.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/export-xml.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/export-xml.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -2,18 +2,16 @@ revision_id -datatype integer } -set db [template::get_db_transaction] +db_transaction { + set doc_id [db_exec_plsql export_revision " + begin + :1 := content_revision.export_xml(:revision_id); + end;"] -ns_ora exec_plsql_bind $db "begin - :doc_id := content_revision.export_xml(:revision_id); -end;" doc_id + template::query get_xml_doc xml_doc onevalue " + select doc from cr_xml_docs where doc_id = :doc_id + " +} -template::query xml_doc onevalue " - select doc from cr_xml_docs where doc_id = :doc_id -" - -template::end_db_transaction -template::release_db_handle - ns_return 200 text/xml $xml_doc Index: openacs-4/packages/cms/www/modules/items/publish-status.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/publish-status.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/publish-status.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/publish-status.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -4,14 +4,12 @@ request create request set_param item_id -datatype integer -set db [template::get_db_handle] - # permissions check - requires cm_item_workflow content::check_access $item_id cm_examine -user_id [User::getID] # Query for publish status and release schedule, if any -set query " +template::query get_info info onerow " select NVL(initcap(publish_status), 'Production') publish_status, NVL(to_char(start_when, 'MM/DD/YY HH:MI AM'), 'Immediate') start_when, @@ -25,8 +23,6 @@ and i.item_id = r.item_id (+)" -template::query info onerow $query - # Build a sentence describing the publishing status set actions [list] @@ -64,7 +60,7 @@ # determine whether the item is publishable or not -template::query publish_info onerow " +template::query get_publish_info publish_info onerow " select content_item.is_publishable( item_id ) is_publishable, live_revision @@ -84,15 +80,15 @@ # determine if there is an unfinished workflow -template::query unfinished_workflow_exists onevalue " +template::query unfinished_exists unfinished_workflow_exists onevalue " select content_workflow.unfinished_workflow_exists( :item_id ) from dual " # determine if child type constraints have been satisfied set unpublishable_child_types 0 -template::query child_types multirow " +template::query get_child_types child_types multirow " select child_type, relation_tag, min_n, o.pretty_name as child_type_pretty, @@ -152,7 +148,7 @@ set unpublishable_rel_types 0 -template::query rel_types multirow " +template::query get_rel_types rel_types multirow " select target_type, relation_tag, min_n, o.pretty_name as target_type_pretty, @@ -206,6 +202,4 @@ } -template::release_db_handle - Index: openacs-4/packages/cms/www/modules/items/publish.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/publish.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/publish.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/publish.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -7,8 +7,9 @@ set root_path [ns_info pageroot] set db [template::begin_db_transaction] +db_transaction { -template::query iteminfo onerow " + template::query get_iteminfo iteminfo onerow " select item_id, content_item.is_publishable( item_id ) as publish_p @@ -19,36 +20,33 @@ " -template::util::array_to_vars iteminfo -# item_id, publish_p + template::util::array_to_vars iteminfo + # item_id, publish_p -if { [string equal $publish_p t] } { + if { [string equal $publish_p t] } { - # publish::publish_revision $revision_id + # publish::publish_revision $revision_id - template::query set_live_revision dml " + db_exec_plsql set_live_revision " begin content_item.set_live_revision( revision_id => :revision_id ); end;" - publish::unpublish_item $item_id - -} else { + publish::unpublish_item $item_id + + } else { - ns_ora dml $db "abort transaction" - template::release_db_handle + db_dml abort "abort transaction" - set msg "This item is not in a publishable state" - set return_url "index?item_id=$item_id" - set passthrough { { item_id $item_id } } + set msg "This item is not in a publishable state" + set return_url "index?item_id=$item_id" + set passthrough { { item_id $item_id } } - content::show_error $msg $return_url $passthrough + content::show_error $msg $return_url $passthrough + } } -template::end_db_transaction -template::release_db_handle - template::forward "index?item_id=$item_id" Index: openacs-4/packages/cms/www/modules/items/relate-child-order.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/relate-child-order.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/relate-child-order.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/relate-child-order.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -7,66 +7,62 @@ request set_param return_url -datatype text -optional -value "index" request set_param passthrough -datatype text -optional -value [content::assemble_passthrough mount_point] -set db [template::begin_db_transaction] - -# Get the irelated items -template::query rel_info onerow " +db_transaction { + # Get the irelated items + template::query get_rel_info onerow " select parent_id as item_id, order_n from cr_child_rels where rel_id = :rel_id" -if { ![info exists rel_info] } { - ns_db dml $db "abort transaction" - template::release_db_handle - request::error no_such_rel "The relationship $rel_id does not exist." - return -} + if { ![info exists rel_info] } { + db_dml abort "abort transaction" + request::error no_such_rel "The relationship $rel_id does not exist." + return + } -template::util::array_to_vars rel_info -lappend passthrough [list item_id $item_id] + template::util::array_to_vars rel_info + lappend passthrough [list item_id $item_id] -# Move the relation up: + # Move the relation up: -if { [string equal $order up] } { - # Get the previous item's order - template::query swap_rel onerow " + if { [string equal $order up] } { + # Get the previous item's order + template::query get_prev_swap_rel swap_rel onerow " select rel_id, order_n from cr_child_rels r1 where r1.parent_id = :item_id and r1.order_n < :order_n and not exists (select order_n from cr_child_rels r2 where r2.parent_id = :item_id and r2.order_n < :order_n and r2.order_n > r1.order_n)" -} else { - # Get the next item's order - template::query swap_rel onerow " + } else { + # Get the next item's order + template::query get_next_swap_rel swap_rel onerow " select rel_id, order_n from cr_child_rels r1 where r1.parent_id = :item_id and r1.order_n > :order_n and not exists (select order_n from cr_child_rels r2 where r2.parent_id = :item_id and r2.order_n > :order_n and r2.order_n < r1.order_n)" -} + } -# Only need to perform DML if the rel is not already at the top/bottom -if { [info exists swap_rel] } { + # Only need to perform DML if the rel is not already at the top/bottom + if { [info exists swap_rel] } { - set swap_id $swap_rel(rel_id) - set swap_order $swap_rel(order_n) + set swap_id $swap_rel(rel_id) + set swap_order $swap_rel(order_n) - template::query child_swap_1 dml " + db_dml child_swap_1 " update cr_child_rels set order_n = :swap_order where rel_id = :rel_id " - template::query child_swap_2 dml " + db_dml child_swap_2 " update cr_child_rels set order_n = :order_n where rel_id = :swap_id " -} else { - ns_log notice "ORDER: Relation cannot be moved further" + } else { + ns_log notice "ORDER: Relation cannot be moved further" + } } -template::end_db_transaction -template::release_db_handle - template::forward "$return_url?[content::url_passthrough $passthrough]" Index: openacs-4/packages/cms/www/modules/items/relate-items-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/relate-items-2.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/relate-items-2.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/relate-items-2.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -33,9 +33,8 @@ upvar 0 "rel_attrs:rowcount" index set index 0 -set db [template::get_db_handle] -template::query item_title onevalue " +template::query get_title item_title onevalue " select content_item.get_title(:item_id) from dual" # Create the main multirow datasource @@ -60,8 +59,9 @@ set row(dmls) [list] # Get all elements, if any + # FIXME: set content_type $relation_type - content::query_form_metadata $db params multirow { + content::query_form_metadata params multirow { object_type <> 'cr_item_rel' } @@ -70,7 +70,7 @@ set form_complete 0 # Get the header - template::query rel_info onerow " + template::query get_rel_info onerow " select content_item.get_title(:item_id) as item_title, content_item.get_title(:related_id) as related_title, @@ -131,7 +131,7 @@ # Insert at the end if no order if { [template::util::is_nil order_n] } { - template::query order_n onevalue " + template::query get_order order_n onevalue " select NVL(max(order_n) + 1, 1) from @@ -142,7 +142,7 @@ } # Perform the insertion - ns_ora exec_plsql_bind $db "begin + db_exec_plsql "begin :rel_id := content_item.relate ( item_id => :item_id, object_id => :related_id, Index: openacs-4/packages/cms/www/modules/items/relate-items.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/relate-items.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/relate-items.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/relate-items.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -55,7 +55,10 @@ append sql_items [join $items "','"] append sql_items "')" - set query " + + + + template::query get_clip_items clip_items multirow " select i.item_id as related_id, content_item.get_title(i.item_id) as title, @@ -81,9 +84,6 @@ order by path, i.item_id, tr.relation_tag" - - template::query clip_items multirow $query - if { ${clip_items:rowcount} < 1} { set no_valid_items t return Index: openacs-4/packages/cms/www/modules/items/relate-order.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/relate-order.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/relate-order.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/relate-order.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -23,44 +23,43 @@ } -set db [template::begin_db_transaction] +db_transaction { -# Get item_id the related/child item -template::query item_id onevalue " + # Get item_id the related/child item + template::query get_item_id item_id onevalue " select $rel_parent_column from $rel_table where rel_id = :rel_id" -if { [template::util::is_nil item_id] } { - ns_db dml $db "abort transaction" - template::release_db_handle - request::error no_such_rel "The relationship $rel_id does not exist." - return -} + if { [template::util::is_nil item_id] } { + db_dml abort "abort transaction" + request::error no_such_rel "The relationship $rel_id does not exist." + return + } -template::util::array_to_vars rel_info -lappend passthrough [list item_id $item_id] + template::util::array_to_vars rel_info + lappend passthrough [list item_id $item_id] -# Check permissions - must have cm_relate on the item -content::check_access $item_id cm_relate \ - -mount_point $mount_point \ - -return_url "modules/sitemap/index" + # Check permissions - must have cm_relate on the item + content::check_access $item_id cm_relate \ + -mount_point $mount_point \ + -return_url "modules/sitemap/index" -# Sort the related/child items order to ensure unique order_n -if { [string equal $relation_type child] } { - cms_rel::sort_child_item_order $item_id -} else { - cms_rel::sort_related_item_order $item_id -} + # Sort the related/child items order to ensure unique order_n + if { [string equal $relation_type child] } { + cms_rel::sort_child_item_order $item_id + } else { + cms_rel::sort_related_item_order $item_id + } -# grab the (sorted) order of the original related/child item -template::query order_n onevalue " + # grab the (sorted) order of the original related/child item + template::query get_order order_n onevalue " select order_n from @@ -69,11 +68,11 @@ rel_id = :rel_id" -# Move the relation up or down -if { [string equal $order "up"] } { + # Move the relation up or down + if { [string equal $order "up"] } { - # Get the previous related/child - template::query swap_rel onerow " + # Get the previous related/child + template::query get_prev_swap_rel swap_rel onerow " select rel_id, order_n from @@ -83,10 +82,10 @@ and order_n = :order_n - 1" -} else { + } else { - # Get the next related/child item - template::query swap_rel onerow " + # Get the next related/child item + template::query get_next_swap_rel swap_rel onerow " select rel_id, order_n from @@ -96,29 +95,27 @@ and order_n = :order_n + 1" -} + } -# Only need to perform DML if the rel is not already at the top/bottom -if { ![template::util::is_nil swap_rel] } { - set swap_id $swap_rel(rel_id) - set swap_order $swap_rel(order_n) + # Only need to perform DML if the rel is not already at the top/bottom + if { ![template::util::is_nil swap_rel] } { + set swap_id $swap_rel(rel_id) + set swap_order $swap_rel(order_n) - template::query relate_swap_1 dml " + db_dml relate_swap_1 " update $rel_table set order_n = :swap_order where rel_id = :rel_id" - template::query relate_swap_2 dml " + db_dml relate_swap_2 " update $rel_table set order_n = :order_n where rel_id = :swap_id" -} else { - ns_log notice "relate-order.tcl: $relation_type cannot be moved further" + } else { + ns_log notice "relate-order.tcl: $relation_type cannot be moved further" + } } -template::end_db_transaction -template::release_db_handle - template::forward "$return_url?[content::url_passthrough $passthrough]" Index: openacs-4/packages/cms/www/modules/items/relationship-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/relationship-view.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/relationship-view.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/relationship-view.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -7,7 +7,7 @@ # Get misc info -template::query rel_info onerow " +template::query get_rel_info rel_info onerow " select t.pretty_name as type_name, t.object_type, r.item_id, r.related_object_id,\ @@ -34,7 +34,7 @@ # Get extra attributes -template::query rel_attrs multirow " +template::query get_rel_attrs rel_attrs multirow " select types.table_name, types.id_column, attr.attribute_name, attr.pretty_name as attribute_label, attr.datatype, @@ -69,7 +69,7 @@ set what "$a_row(attribute_name) as value" } - template::query value onevalue " + template::query get_value value onevalue " select $what from $a_row(table_name) where $a_row(id_column) = :rel_id" Index: openacs-4/packages/cms/www/modules/items/rename.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/rename.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/rename.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/rename.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -5,12 +5,11 @@ request set_param item_id -datatype integer request set_param mount_point -datatype keyword -value sitemap -set db [template::get_db_handle] # permissions check - cm_write required to rename an item content::check_access $item_id cm_write -user_id [User::getID] -template::query item_name onevalue " +template::query get_item_name item_name onevalue " select name from @@ -19,12 +18,6 @@ item_id = :item_id " -template::query item_name onevalue " - select name from cr_items where item_id = :item_id -" - -template::release_db_handle - set page_title "Rename $item_name" form create rename_item @@ -56,26 +49,24 @@ mount_point item_id name set db [template::begin_db_transaction] - template::query rename_item dml " + db_transaction { + db_exec_plsql rename_item " begin content_item.rename ( item_id => :item_id, name => :name ); end;" - template::query parent_id onevalue " + template::query get_parent_id parent_id onevalue " select parent_id from cr_items where - item_id = :item_id - " + item_id = :item_id" + } - template::end_db_transaction - template::release_db_handle - # flush cache cms_folder::flush $mount_point $parent_id Index: openacs-4/packages/cms/www/modules/items/revision-add-1.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/revision-add-1.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/revision-add-1.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/revision-add-1.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -5,17 +5,15 @@ request create request set_param item_id -datatype integer -set db [template::get_db_handle] - # check permissions content::check_access $item_id cm_write -user_id [User::getID] -db $db -template::query content_type onevalue " +template::query get_content_type content_type onevalue " select content_item.get_content_type( :item_id ) from dual -" -db $db +" # flush the sitemap folder listing cache in anticipation @@ -26,24 +24,19 @@ if { [file exists [ns_url2file \ "custom/$content_type/revision-add-1.tcl"]] } { - template::release_db_handle template::forward "custom/$content_type/revision-add-1?item_id=$item_id" } -template::query name onevalue " +template::query get_name name onevalue " select name from cr_items where - item_id = :item_id" -db $db + item_id = :item_id" -template::release_db_handle - - - # if we have an invalid item_id, then throw error if { [template::util::is_nil name] } { template::request::error bad_item_id \ Index: openacs-4/packages/cms/www/modules/items/revision-add-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/revision-add-2.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/revision-add-2.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/revision-add-2.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -4,14 +4,11 @@ request set_param item_id -datatype integer request set_param content_method -datatype keyword -value no_content - -set db [template::get_db_handle] - # check permissions - user must have cm_write on the item content::check_access $item_id cm_write -user_id [User::getID] # get content_type and name of item -template::query one_item onerow " +template::query get_one_item one_item onerow " select content_type, name from @@ -20,8 +17,6 @@ item_id = :item_id " -template::release_db_handle - template::util::array_to_vars one_item # validate item_id Index: openacs-4/packages/cms/www/modules/items/revision-upload.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/revision-upload.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/revision-upload.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/revision-upload.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -26,8 +26,7 @@ template::forward "../sitemap/index" } - set db [template::get_db_handle] - template::query new_item onerow " + template::query get_new_item new_item onerow " select NVL(content_item.get_path(:parent_id), '/') as item_path, pretty_name as content_type_name @@ -36,9 +35,7 @@ where object_type = :content_type " - template::release_db_handle - if { [template::util::is_nil new_item] } { ns_log Notice "revision-upload.tcl - ERROR: BAD PARENT_ID OR CONTENT_TYPE - $parent_id, $content_type" template::forward "../sitemap/index" Index: openacs-4/packages/cms/www/modules/items/revision.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/revision.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/revision.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/revision.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -8,9 +8,8 @@ # flag indicating this is the live revision set live_revision_p 0 -set db [template::get_db_handle] -query one_revision onerow " +template::query get_revision one_revision onerow " select revision_id, title, description, item_id, mime_type, content_revision.get_number( revision_id ) revision_number, @@ -41,21 +40,20 @@ # validate revision if { [template::util::is_nil item_id] } { - template::release_db_handle template::request::error invalid_revision \ "revision - Invalid revision - $revision_id" return } # check if the item is publishable (but does not need live revision) -template::query is_publishable onevalue " +template::query get_status is_publishable onevalue " select content_item.is_publishable( :item_id ) from dual " # get total number of revision for this item -template::query revision_count onevalue " +template::query get_count revision_count onevalue " select count(*) from cr_revisions where item_id = :item_id " @@ -66,7 +64,7 @@ set is_image_mime_type f if { [regexp {text/} $mime_type] } { set is_text_mime_type t - template::query content onevalue " + template::query get_content content onevalue " select blob_to_string(content) from @@ -88,7 +86,7 @@ # get item info -query one_content_item onerow " +template::query get_one_item one_content_item onerow " select name, locale, live_revision as live_revision_id, ( @@ -121,7 +119,7 @@ # if column_name is null, then use the attribute_name # if id_column is null, then use 'attribute_id' and 'acs_attribute_values' -template::query meta_attributes multilist " +template::query get_meta_attrs meta_attributes multilist " select attribute_id, pretty_name, (select pretty_name from acs_object_types @@ -194,18 +192,15 @@ if { ![string equal $attr_columns ""] } { - set sql " + template::query get_attr_values attribute_values multilist " select [join $attr_columns ", "] from [join $attr_tables ", "] where [join $column_id_cons " and "]" - #ns_log Notice "Mike's Dynamic SQL = $sql" - template::query attribute_values multilist $sql - # write the body of the attribute display table to $revision_attr_html set revision_attr_html "" set i 0 Index: openacs-4/packages/cms/www/modules/items/revisions.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/revisions.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/revisions.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/revisions.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -9,16 +9,14 @@ # pagination vars template::request set_param page -datatype integer -value 1 -set db [template::get_db_handle] - # Check permissions content::check_access $item_id cm_examine \ -mount_point $mount_point \ -return_url "modules/sitemap/index" \ -request_error # add content html -template::query content_type onevalue " +template::query get_content_type content_type onevalue " select content_item.get_content_type( :item_id ) from @@ -27,21 +25,21 @@ # get item info -set query " + +template::query get_iteminfo iteminfo onerow " select item_id, name, locale, live_revision, publish_status, content_item.is_publishable(item_id) as is_publishable from cr_items where item_id = :item_id" - -template::query iteminfo onerow $query -db $db template::util::array_to_vars iteminfo # get all revisions -set sql " + +template::query get_revisions revisions multirow [pagination::paginate_query " select revision_id, trim(title) as title, @@ -52,12 +50,8 @@ where r.item_id = :item_id order by - revision_number desc" + revision_number desc" $page] -template::query revisions multirow [pagination::paginate_query $sql $page] - set total_pages [pagination::get_total_pages $db] -template::release_db_handle - set pagination_html [pagination::page_number_links $page $total_pages] Index: openacs-4/packages/cms/www/modules/items/status-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/status-edit.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/status-edit.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/status-edit.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -17,7 +17,7 @@ if { [form is_request publish_status] } { # Determine whether the item has a live revision - template::query live_revision onevalue " + template::query get_live_rewision live_revision onevalue " select live_revision from cr_items where item_id = :item_id " Index: openacs-4/packages/cms/www/modules/items/templates.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/templates.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/templates.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/templates.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -25,7 +25,7 @@ key = 'types' " -template::query iteminfo onerow " +template::query get_iteminfo iteminfo onerow " select object_type, pretty_name, content_item.get_title(:item_id) name @@ -39,7 +39,7 @@ # templates registered to this item -template::query registered_templates multirow " +template::query get_reg_templates registered_templates multirow " select template_id, use_context, content_item.get_path( template_id ) path, @@ -54,7 +54,7 @@ " # templates registered to this content type -template::query type_templates multirow " +template::query get_type_templates type_templates multirow " select template_id, use_context, is_default, content_item.get_path( template_id ) path, @@ -77,6 +77,4 @@ path, use_context " -template::release_db_handle - set return_url "index?item_id=$item_id&mount_point=sitemap" Index: openacs-4/packages/cms/www/modules/items/unpublish.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/unpublish.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/unpublish.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/unpublish.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -4,15 +4,12 @@ request create request set_param item_id -datatype integer -set sql "begin +publish::unpublish_item $item_id + +db_transaction { + db_exec_plsql unset_live_revision "begin content_item.unset_live_revision( :item_id ); end;" +} -publish::unpublish_item $item_id - -set db [template::begin_db_transaction] -template::query unset_live_revision dml $sql -template::end_db_transaction -template::release_db_handle - -template::forward "index?item_id=$item_id" \ No newline at end of file +template::forward "index?item_id=$item_id" Index: openacs-4/packages/cms/www/modules/items/unrelate-item.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/unrelate-item.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/unrelate-item.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/unrelate-item.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -6,35 +6,31 @@ request set_param return_url -datatype text -value "index" request set_param passthrough -datatype text -value [content::assemble_passthrough mount_point] -set db [template::begin_db_transaction] - -# Get the item_id; determine if the relationship exists -template::query item_id onevalue " +db_transaction { + # Get the item_id; determine if the relationship exists + template::query get_item_id item_id onevalue " select item_id from cr_item_rels where rel_id = :rel_id" -if { [template::util::is_nil item_id] } { - ns_db dml $db "abort transaction" - template::release_db_handle - request::error no_such_rel "The relationship $rel_id does not exist." - return -} + if { [template::util::is_nil item_id] } { + db_dml abort "abort transaction" + request::error no_such_rel "The relationship $rel_id does not exist." + return + } -# Check permissions -content::check_access $item_id cm_relate \ - -mount_point $mount_point \ - -return_url "modules/sitemap/index" \ - -db $db + # Check permissions + content::check_access $item_id cm_relate \ + -mount_point $mount_point \ + -return_url "modules/sitemap/index" \ + -db $db -lappend passthrough [list item_id $item_id] + lappend passthrough [list item_id $item_id] -template::query unrelate_item dml " + db_exec_plsql unrelate_item " begin content_item.unrelate ( rel_id => :rel_id ); end;" +} -template::end_db_transaction -template::release_db_handle - template::forward "$return_url?[content::url_passthrough $passthrough]" Index: openacs-4/packages/cms/www/modules/items/custom/cr_demo_article_image/create-1.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/items/custom/cr_demo_article_image/create-1.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/items/custom/cr_demo_article_image/create-1.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/items/custom/cr_demo_article_image/create-1.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -14,28 +14,20 @@ } -set db [ns_db gethandle] # permissions check - need cm_new on the parent item -content::check_access $parent_id cm_new -user_id [User::getID] -db $db -ns_db releasehandle $db +content::check_access $parent_id cm_new -user_id [User::getID] - - - -set db [ns_db gethandle] - -template::query content_type_name onevalue " +template::query get_content_type content_type_name onevalue " select pretty_name from acs_object_types where object_type = :content_type -" -db $db +" -ns_db releasehandle $db if { [template::util::is_nil content_type_name] } { ns_log Notice "ERROR: create-1.tcl - BAD CONTENT_TYPE - $content_type" Index: openacs-4/packages/cms/www/modules/permissions/permission-alter.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/permissions/permission-alter.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/permissions/permission-alter.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/permissions/permission-alter.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -7,9 +7,7 @@ set user_id [User::getID] -set db [template::get_db_handle] - -template::query info onerow " +template::query get_info info onerow " select acs_object.name(:object_id) as object_name, acs_object.name(:grantee_id) as grantee_name, @@ -26,9 +24,7 @@ if { [form is_valid own_permissions] && ![util::is_nil return_url] } { template::query::flush_cache "content::check_access ${grantee_id}*" - template::release_db_handle template::forward "$return_url?[content::url_passthrough $ext_passthrough]" } } -template::release_db_handle \ No newline at end of file Index: openacs-4/packages/cms/www/modules/search/search-results.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/search/search-results.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/search/search-results.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/search/search-results.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -29,7 +29,7 @@ set rows_per_page 10 # Perform the query, get results - template::query results multirow " + template::query get_results results multirow " select * from ($sql_query) where row_index >= :start_row and row_index < (:start_row + :rows_per_page) order by search_score desc, title Index: openacs-4/packages/cms/www/modules/sitemap/ancestors.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/ancestors.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/sitemap/ancestors.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/sitemap/ancestors.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -25,10 +25,9 @@ # sets this_item(bookmark) as the icon #set bookmark [clipboard::get_bookmark_icon $clip $mount_point $item_id] -set db [template::get_db_handle] - # get the context bar info -set query " + +template::query get_context context multirow " select t.tree_level, t.parent_id, content_folder.is_folder(i.item_id) is_folder, @@ -52,9 +51,7 @@ order by tree_level desc" -template::query context multirow $query - # pass in index_page_id to improve efficiency if { ![template::util::is_nil index_page_id] } { @@ -70,7 +67,8 @@ } # get the path of the item -set query " + +template::query get_preview_info preview_info onerow " select $index_page_sql -- does it have a template @@ -86,8 +84,6 @@ where item_id = :item_id" -template::query preview_info onerow $query - template::util::array_to_vars preview_info @@ -128,7 +124,7 @@ } # an item cannot be previewed if it has no associated template if { [string equal $has_index_page t] } { - template::query template_id onevalue " + template::query get_template_id template_id onevalue " select content_item.get_template( nvl( content_folder.get_index_page( :item_id ), 0), 'public' ) @@ -141,4 +137,3 @@ set preview_p f } -template::release_db_handle Index: openacs-4/packages/cms/www/modules/sitemap/copy.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/copy.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/sitemap/copy.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/sitemap/copy.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -12,9 +12,6 @@ set folder_id $id } - -set db [template::get_db_handle] - # permission check - must have cm_new on the current folder set user_id [User::getID] content::check_access $folder_id cm_new -user_id $user_id @@ -29,15 +26,15 @@ set no_items_on_clipboard "f" } -template::query path onevalue " +template::query get_path path onevalue " select content_item.get_path( :folder_id ) from dual " # get relevant marked items -template::query marked_items multirow " +template::query get_marked marked_items multirow " select content_item.get_title(item_id) title, content_item.get_path(item_id,:root_id) name, @@ -51,9 +48,6 @@ cms_permission.permission_p(item_id, :user_id, 'cm_examine') = 't' " -template::release_db_handle - - form create copy element create copy mount_point \ -datatype keyword \ @@ -104,17 +98,17 @@ foreach cp_item_id $copied_items { set parent_id [element get_values copy "parent_id_$cp_item_id"] - set sql " + set sql + + if { [catch {db_exec_plsql copy_item " begin content_item.copy( item_id => :cp_item_id, target_folder_id => :folder_id, creation_user => :user_id, creation_ip => :ip ); - end;" - - if { [catch {template::query copy_item dml $sql} errmsg] } { + end;"} errmsg] } { # possibly a duplicate name ns_log notice "ERROR: copy.tcl - while copying $errmsg" } Index: openacs-4/packages/cms/www/modules/sitemap/delete-items.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cms/www/modules/sitemap/delete-items.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/cms/www/modules/sitemap/delete-items.tcl 20 Apr 2001 20:51:10 -0000 1.1 +++ openacs-4/packages/cms/www/modules/sitemap/delete-items.tcl 24 May 2001 01:30:52 -0000 1.2 @@ -86,18 +86,18 @@ set deleted_items [element get_values delete deleted_items] - set db [template::begin_db_transaction] + db_transaction { - set parents [list] - foreach del_item_id $deleted_items { - set is_symlink [element get_values delete "is_symlink_$del_item_id"] - set is_folder [element get_values delete "is_folder_$del_item_id"] - set is_template [element get_values delete "is_template_$del_item_id"] + set parents [list] + foreach del_item_id $deleted_items { + set is_symlink [element get_values delete "is_symlink_$del_item_id"] + set is_folder [element get_values delete "is_folder_$del_item_id"] + set is_template [element get_values delete "is_template_$del_item_id"] - # get all the parent_id's of the items being deleted - # because we need to flush the paginator cache for each of - # these folders - template::query flush_list onelist " + # get all the parent_id's of the items being deleted + # because we need to flush the paginator cache for each of + # these folders + template::query get_list flush_list onelist " select parent_id from @@ -107,59 +107,55 @@ " - # set up the call to the proper PL/SQL delete procedure - if { [string equal $is_symlink "t"] } { - set delete_proc "content_symlink.delete" - set delete_key "symlink_id" - } elseif { [string equal $is_folder "t"] } { - set delete_proc "content_folder.delete" - set delete_key "folder_id" - } elseif { [string equal $is_template "t"] } { - set delete_proc "content_template.delete" - set delete_key "template_id" - } else { - set delete_proc "content_item.delete" - set delete_key "item_id" - } + # set up the call to the proper PL/SQL delete procedure + if { [string equal $is_symlink "t"] } { + set delete_proc "content_symlink.delete" + set delete_key "symlink_id" + } elseif { [string equal $is_folder "t"] } { + set delete_proc "content_folder.delete" + set delete_key "folder_id" + } elseif { [string equal $is_template "t"] } { + set delete_proc "content_template.delete" + set delete_key "template_id" + } else { + set delete_proc "content_item.delete" + set delete_key "item_id" + } - # the following SQL will have this form: - # content_something.delete( - # something_id => :del_item_id - # ); - set sql " + # the following SQL will have this form: + # content_something.delete( + # something_id => :del_item_id + # ); + + if { [catch { db_dml delete_items " begin $delete_proc ( $delete_key => :del_item_id ); - end;" + end;" } errmsg] } { + ns_log notice \ + "../../sitemap/delete.tcl caught error in dml: $sql - $errmsg" + ns_log notice \ + "../../sitemap/delete.tcl - Item $del_item_id was not deleted" + } + # build a list of parent items whose paginator cache needs flushing + foreach parent_id $flush_list { + # flush as few times as necessary + if { [lsearch -exact $parents $parent_id] == -1 } { + # flush cache + lappend parents $parent_id - if { [catch { template::query delete_items dml $sql } errmsg] } { - ns_log notice \ - "../../sitemap/delete.tcl caught error in dml: $sql - $errmsg" - ns_log notice \ - "../../sitemap/delete.tcl - Item $del_item_id was not deleted" - } + if { $parent_id == [cm::modules::${mount_point}::getRootFolderID] } { + set parent_id "" + } + cms_folder::flush $mount_point $parent_id - # build a list of parent items whose paginator cache needs flushing - foreach parent_id $flush_list { - # flush as few times as necessary - if { [lsearch -exact $parents $parent_id] == -1 } { - # flush cache - lappend parents $parent_id - - if { $parent_id == [cm::modules::${mount_point}::getRootFolderID] } { - set parent_id "" - } - cms_folder::flush $mount_point $parent_id - - } - } + } + } + } } - template::end_db_transaction - template::release_db_handle - clipboard::free $clip # Specify a null id so that the entire branch will be refreshed