package-new.tcl
Create a new package and mount it in the site map. If new_node_p is false then the package will be mounted at node_id. If new_node_p is true then a new node with name node_name will be created under root_id and the package will be mounted there.
- Location:
- /packages/acs-subsite/www/admin/site-map/package-new.tcl
- Author:
- rhs@mit.edu
- Created:
- 2000-09-13
- CVS ID:
$Id: package-new.tcl,v 1.18.2.2 2023/10/06 12:36:15 gustafn Exp $
Related Files
- packages/acs-subsite/www/admin/site-map/package-new.xql
- packages/acs-subsite/www/admin/site-map/package-new.tcl
[ hide source ] | [ make this the default ]
File Contents
ad_page_contract { Create a new package and mount it in the site map. If new_node_p is false then the package will be mounted at node_id. If new_node_p is true then a new node with name node_name will be created under root_id and the package will be mounted there. @author rhs@mit.edu @creation-date 2000-09-13 @cvs-id $Id: package-new.tcl,v 1.18.2.2 2023/10/06 12:36:15 gustafn Exp $ } { {new_package_id:naturalnum ""} node_id:naturalnum,notnull {new_node_p:boolean,notnull f} {node_name:trim ""} {instance_name ""} package_key:token,notnull {expand:integer,multiple ""} root_id:naturalnum,optional } if {$package_key eq "/new"} { ad_returnredirect "/acs-admin/apm/packages-install" ad_script_abort } if { $instance_name eq "" } { set instance_name [db_string instance_default_name { select pretty_name from apm_package_types where package_key = :package_key }] } db_transaction { # Set the context_id to the object_id of the parent node # If the parent node didn't have anything mounted, use the current package_id as context_id set context_id [ad_conn package_id] array set node [site_node::get -node_id $node_id] if { $node(object_id) ne "" } { set context_id $node(object_id) } if { $new_node_p } { # Create a new node under node_id and mount the package there set package_id [site_node::instantiate_and_mount -package_id $new_package_id \ -package_key $package_key \ -parent_node_id $node_id \ -package_name $instance_name \ -context_id $context_id \ -node_name $node_name] } else { # Mount the new package at node_id set package_id [site_node::instantiate_and_mount -package_id $new_package_id \ -package_key $package_key \ -node_id $node_id \ -package_name $instance_name \ -context_id $context_id ] } } on_error { if {![db_string package_new_doubleclick_ck {} -default 0]} { ad_return_complaint 1 "Error Creating Package: The following error was generated when attempting to create the package <blockquote><pre> [ns_quotehtml $errmsg] </pre></blockquote>" } } ad_returnredirect [export_vars -base . {expand:multiple root_id}] ad_script_abort # Local variables: # mode: tcl # tcl-indent-level: 4 # indent-tabs-mode: nil # End: