user-extensions-procs.tcl
Does not contain a contract.
- Location:
- /packages/acs-tcl/tcl/user-extensions-procs.tcl
Related Files
[ hide source ] | [ make this the default ]
File Contents
ad_library { Procs to manage extensions to user data. This calls the UserData service contract for allowing packages to be notified of changes in user information. @author ben@openforce.net @creation-date 2002-01-22 @cvs-id $Id: user-extensions-procs.tcl,v 1.9 2024/09/11 06:15:48 gustafn Exp $ } namespace eval acs_user_extension { d_proc -private dispatch { {-op:required} {-list_of_args:required} {-impl ""} } { Dispatches (calls the service contract routines) the requested method so that the operation gets executed, and packages are notified of changes in user information. } { if {$impl eq ""} { set extensions [list_extensions] } else { set extensions [list $impl] } # Loop through the extensions foreach extension $extensions { set r [acs_sc::invoke -contract UserData -operation $op -call_args $list_of_args -impl $extension] } } ad_proc -public list_extensions {} { List the extensions (User Data contract) } { return [db_list select_extensions {}] } d_proc -public user_new { {-user_id:required} } { Notifies packages when a new user is added to the system. @see dispatch } { dispatch -op UserNew -list_of_args [list $user_id] } d_proc -public user_approve { {-user_id:required} } { Notifies packages when a user is approved. @see dispatch } { dispatch -op UserApprove -list_of_args [list $user_id] } d_proc -public user_deapprove { {-user_id:required} } { Notifies packages when a user is deapproved. @see dispatch } { dispatch -op UserDeapprove -list_of_args [list $user_id] } d_proc -public user_modify { {-user_id:required} } { Notifies packages when a user is modified. @see dispatch } { dispatch -op UserModify -list_of_args [list $user_id] } d_proc -public user_delete { {-user_id:required} } { Notifies packages when a user is deleted. @see dispatch } { dispatch -op UserDelete -list_of_args [list $user_id] } } # Local variables: # mode: tcl # tcl-indent-level: 4 # indent-tabs-mode: nil # End: