subsite::callback (public)
subsite::callback [ -object_type object_type ] event_type object_id
Defined in packages/acs-subsite/tcl/subsite-callback-procs.tcl
Executes any registered callbacks for this object.
Example:
# Execute any callbacks registered for this object type or one of # its parent object types subsite::callback -object_type $object_type $object_id
- Switches:
- -object_type (optional)
- The object's type. We look this up in the db if not specified
- Parameters:
- event_type (required)
- object_id (required)
- Author:
- Michael Bryzek <mbryzek@arsdigita.com>
- Created:
- 12/2000
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: set node_id [ad_conn node_id] set package_id [ad_conn package_id] # Check to see if we have any callbacks registered for this object # type or one of its parent object types. Put the callbacks into # a list as each callback may itself require a database # handle. Note that we need the distinct in case two callbacks are # registered for an object and its parent object type. db_foreach get_callbacks {} { switch -- $type { tcl { # Execute the Tcl procedure $callback -object_id $object_id -node_id $node_id -package_id $package_id } default { error "Callbacks of type $type not supported" } } }Generic XQL file: packages/acs-subsite/tcl/subsite-callback-procs.xql
PostgreSQL XQL file: <fullquery name="subsite::callback.get_callbacks"> <querytext> with recursive object_hierarchy(object_type, supertype) as ( select object_type, supertype from acs_object_types where object_type = coalesce(:object_type, (select object_type from acs_objects where object_id = :object_id)) union all select t.object_type, t.supertype from acs_object_types t, object_hierarchy s where t.object_type = s.supertype ) select distinct callback, callback_type as type from subsite_callbacks where event_type = :event_type and object_type in (select object_type from object_hierarchy) </querytext> </fullquery>packages/acs-subsite/tcl/subsite-callback-procs-postgresql.xql
Oracle XQL file: <fullquery name="subsite::callback.get_callbacks"> <querytext> with object_hierarchy(object_type, supertype) as ( select object_type, supertype from acs_object_types where object_type = coalesce(:object_type, (select object_type from acs_objects where object_id = :object_id)) union all select t.object_type, t.supertype from acs_object_types t, object_hierarchy s where t.object_type = s.supertype ) select distinct callback, callback_type as type from subsite_callbacks where event_type = :event_type and object_type in (select object_type from object_hierarchy) </querytext> </fullquery>packages/acs-subsite/tcl/subsite-callback-procs-oracle.xql