Index: openacs-4/packages/acs-tcl/tcl/application-data-link-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/application-data-link-procs-oracle.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-tcl/tcl/application-data-link-procs-oracle.xql 26 Jul 2005 16:43:57 -0000 1.1.2.2 @@ -0,0 +1,37 @@ + + +oracle8.0 + + + + begin + :1 = acs_rel.new ( + rel_id => null, + rel_type => 'application_data_link', + object_id_one => :this_object_id, + object_id_two => :target_object_id, + context_id => :this_object_id, + creation_user => :user_id, + creation_ip => :id_addr + ); + end; + + + + + + begin + :1 = acs_rel.new ( + rel_id => null, + rel_type => 'application_data_link', + object_id_one => :target_object_id, + object_id_two => :this_object_id, + context_id => :this_object_id, + creation_user => :user_id, + creation_ip => :id_addr + ); + end; + + + + Index: openacs-4/packages/acs-tcl/tcl/application-data-link-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/application-data-link-procs-postgresql.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-tcl/tcl/application-data-link-procs-postgresql.xql 26 Jul 2005 16:43:57 -0000 1.1.2.2 @@ -0,0 +1,33 @@ + + +postgresql7.2 + + + + select acs_rel__new ( + null, + 'application_data_link', + :this_object_id, + :target_object_id, + :this_object_id, + :user_id, + :id_addr + ) + + + + + + select acs_rel__new ( + null, + 'application_data_link', + :target_object_id, + :this_object_id, + :this_object_id, + :user_id, + :id_addr + ) + + + + Index: openacs-4/packages/acs-tcl/tcl/application-data-link-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/application-data-link-procs.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-tcl/tcl/application-data-link-procs.tcl 26 Jul 2005 16:43:57 -0000 1.1.2.2 @@ -0,0 +1,55 @@ +ad_library { + + Procs of application data linking + + @author Timo Hentschel (timo@timohentschel.de) + @creation-date 2005-05-23 +} + +namespace eval application_data_link {} + +ad_proc -public application_data_link::new { + -this_object_id:required + -target_object_id:required +} { + if {[catch {ad_conn user_id} user_id]} { + set user_id 0 + } + + if {[catch {ad_conn peeraddr} id_addr]} { + set id_addr 127.0.0.1 + } + + db_exec_plsql create_forward_link {} + db_exec_plsql create_backward_link {} +} + +ad_proc -public application_data_link::delete_links { + -object_id:required +} { + set rel_ids [db_list linked_objects {}] + + foreach rel_id $rel_ids { + relation_remove $rel_id + } +} + +ad_proc -public application_data_link::get { + -object_id:required +} { + return [db_list linked_objects {}] +} + +ad_proc -public application_data_link::get_linked { + -from_object_id:required + -to_object_type:required +} { + return [db_list linked_object {}] +} + +ad_proc -public application_data_link::get_linked_content { + -from_object_id:required + -to_content_type:required +} { + return [db_list linked_object {}] +} Index: openacs-4/packages/acs-tcl/tcl/application-data-link-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/application-data-link-procs.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-tcl/tcl/application-data-link-procs.xql 26 Jul 2005 16:43:57 -0000 1.1.2.2 @@ -0,0 +1,45 @@ + + + + + + select rel_id + from acs_rels + where rel_type = 'application_data_link' + and (object_id_one = :object_id + or object_id_two = :object_id) + + + + + + select object_id_two + from acs_rels + where object_id_one = :package_id + and rel_type = 'application_data_link' + + + + + + select o.object_id + from acs_rels r, acs_objects o + where r.object_id_one = :from_object_id + and r.object_id_two = o.object_id + and o.object_type = :to_object_type + and r.rel_type = 'application_data_link' + + + + + + select i.item_id + from acs_rels r, cr_items i + where r.object_id_one = :from_object_id + and r.object_id_two = i.item_id + and i.content_type = :to_content_type + and r.rel_type = 'application_data_link' + + + + Index: openacs-4/packages/acs-tcl/tcl/application-link-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/application-link-procs-oracle.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-tcl/tcl/application-link-procs-oracle.xql 26 Jul 2005 16:43:57 -0000 1.1.2.2 @@ -0,0 +1,37 @@ + + +oracle8.0 + + + + begin + :1 = acs_rel.new ( + rel_id => null, + rel_type => 'application_link', + object_id_one => :this_package_id, + object_id_two => :target_package_id, + context_id => :this_package_id, + creation_user => :user_id, + creation_ip => :id_addr + ); + end; + + + + + + begin + :1 = acs_rel.new ( + rel_id => null, + rel_type => 'application_link', + object_id_one => :target_package_id, + object_id_two => :this_package_id, + context_id => :this_package_id, + creation_user => :user_id, + creation_ip => :id_addr + ); + end; + + + + Index: openacs-4/packages/acs-tcl/tcl/application-link-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/application-link-procs-postgresql.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-tcl/tcl/application-link-procs-postgresql.xql 26 Jul 2005 16:43:57 -0000 1.1.2.2 @@ -0,0 +1,33 @@ + + +postgresql7.2 + + + + select acs_rel__new ( + null, + 'application_link', + :this_package_id, + :target_package_id, + :this_package_id, + :user_id, + :id_addr + ) + + + + + + select acs_rel__new ( + null, + 'application_link', + :target_package_id, + :this_package_id, + :this_package_id, + :user_id, + :id_addr + ) + + + + Index: openacs-4/packages/acs-tcl/tcl/application-link-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/application-link-procs.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-tcl/tcl/application-link-procs.tcl 26 Jul 2005 16:45:14 -0000 1.1.2.2 @@ -0,0 +1,62 @@ +ad_library { + + Procs of application linking + + @author Timo Hentschel (timo@timohentschel.de) + @creation-date 2005-05-23 +} + +namespace eval application_link {} + +ad_proc -public application_link::new { + -this_package_id:required + -target_package_id:required +} { + if {[catch {ad_conn user_id} user_id]} { + set user_id 0 + } + + if {[catch {ad_conn peeraddr} id_addr]} { + set id_addr 127.0.0.1 + } + + db_exec_plsql create_forward_link {} + db_exec_plsql create_backward_link {} +} + +ad_proc -public application_link::delete_links { + -package_id:required +} { + set rel_ids [db_list linked_packages {}] + + foreach rel_id $rel_ids { + relation_remove $rel_id + } +} + +ad_proc -public application_link::get { + -package_id:required +} { + return [db_list linked_packages {}] +} + +ad_proc -public application_link::get_linked { + -from_package_id:required + -to_package_key:required +} { + return [db_list linked_package {}] +} + +ad_proc -private ::install::xml::action::application-link { node } { + Create a forum instance from an install.xml file +} { + set this_package_url [apm_required_attribute_value $node this_package_url] + set target_package_url [apm_required_attribute_value $node target_package_url] + + set this_package_id [site_node::get_element -url $this_package_url -element package_id] + set target_package_id [site_node::get_element -url $target_package_url -element package_id] + + application_link::new -this_package_id $this_package_id -target_package_id $target_package_id + +} + Index: openacs-4/packages/acs-tcl/tcl/application-link-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/application-link-procs.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-tcl/tcl/application-link-procs.xql 26 Jul 2005 16:43:57 -0000 1.1.2.2 @@ -0,0 +1,34 @@ + + + + + + select rel_id + from acs_rels + where rel_type = 'application_link' + and (object_id_one = :package_id + or object_id_two = :package_id) + + + + + + select object_id_two + from acs_rels + where object_id_one = :package_id + and rel_type = 'application_link' + + + + + + select p.package_id + from acs_rels r, apm_packages p + where r.object_id_one = :from_package_id + and r.object_id_two = p.package_id + and p.package_key = :to_package_key + and r.rel_type = 'application_link' + + + +