Elgg Event Triggers for Idiots and Experts Alike

Here's a interesting list of various Elgg event triggers, extracted from the Google Elgg Dev group postings of 2008. Should be useful for PlugIn coders. The credits are listed at the bottom.

 

Elgg Events Listing

I frequently find myself looking for a list of the Elgg event triggers that I can hook into with plug-ins. I can't ever find one, so I'm starting a list for everyone.


'Event', 'Object Type', Data - trigger_elgg_event($event, $object_type, $object = null)

/********* SYSTEM **************/
'boot', 'system', null - the very first event that is triggered on every page load
'plugins_boot', 'system', null - after all plug-ins have been loaded
'init, 'system', null - right before the view is created for each page, after plug-ins and the system have booted
'pagesetup', 'system', null - occurs before ONLY the first to elgg_view on every page load
'execute_privileged_codeblock', 'all', null - called before privileged codeblock execution. See engine/lib/elgglib.php for more.

/********* LOGIN/LOGOUT ********/
NOTE: in all of these, $user is the ElggUser object of the user
'login', 'user', $user - whenever a user logs in
'logout', 'user', $user - whenever a user logs out

/********* RELATIONSHIPS ************/
NOTE: in all of these, $obj is the id of the relationship database row
'create', 'friend', $obj - anytime a user friends another user
'create', 'member', $obj - anytime a user becomes a member of a group
'create', 'member_of_site', $obj - anytime a user is added to a site (Maybe this only happens if there are multiple Elgg sites?)
'create', 'share', $obj - anytime a user shares a bookmark with another user (in the db, it's guid of bookmark that is shared with guid of user)

/********* ENTITIES ******/
NOTE: in all of these, $entity is the ElggEntity object
NOTE2: YOU'LL HAVE TO MODIFY engine/lib/entities.php to reflect 'enable/disable' in these calls instead of 'delete', that you'll find when you search
- See my Trac ticket: http://trac.elgg.org/elgg/ticket/346 for more information
'update', $entity->type, $entity - anytime an entity is updated
'delete', $entity->type, $entity - anytime an entity is deleted
'disable', $entity->type, $entity - anytime an entity is disabled
'enable', $entity->type, $entity - anytime an entity is enabled

/********* OBJECTS *******/ ( files, user status, bookmarks, page, widget, etc...)
NOTE: in all of these, $object
'create', $entity->type, $entity - anytime an object is created
'update', $entity->type, $entity - anytime an object is updated

/********* USERS *********/
NOTE: in all of these, $user is the ElggUser object of the new user
'create', 'user', $user - anytime a user is created/registered
'update', 'user', $user - anytime a user is udpated (e.g. they change their e-mail address)
'delete', 'user', $user - anytime a user is deleted

/********* GROUPS ********/
NOTE: in all of these, $entity is the ElggGroup object, $user is the ElggUser object
'create', 'group', $entity - anytime a group is create
'update', 'group', $entity - anytime a group is updated
'join', 'group', array($entity, $user) - anytime a user joins a group
'leave', 'group', array($entity, $user) - anytime a user leaves a group

/********* ANNOTATIONS *******/ (these are like blog comments, ratings, etc...)
NOTE: in all of these, $obj is the ElggAnnotation object
NOTE2: YOU'LL HAVE TO MODIFY engine/lib/annotations.php to reflect 'annotation' in these calls instead of $name, that you'll find when you search
- See my Trac ticket: http://trac.elgg.org/elgg/ticket/338 for more information
'create', 'annotation', $obj - anytime an annotation is created
'update', 'annotation', $obj - anytime an annotation is updated

/********* METADATA *******/
NOTE: in all of these, $obj is the ElggMetadata object
NOTE2: YOU'LL HAVE TO MODIFY engine/lib/metadata.php to reflect 'metadata' in these calls instead of $name, that you'll find when you search
- See my Trac ticket: http://trac.elgg.org/elgg/ticket/338 for more information
'create', 'metadata', $obj - anytime metadata is created
'update', 'metadata', $obj - anytime metadata is updated

/********* PROFILE ******/
NOTE: in all of these, $user is the ElggUser object of the user
'profileupdate', 'user', $user - anytime a user updates their profile settings (except icon)
'profileiconupdate', 'user', $user - anytime a user updates their profile icon

CREDITS:

Version:

999. Current allegraoudekirkbuckhorn - Oct 25 2008
137. vittorinomckensiekn51 - Oct 25 2008
136. franciskaknickerbacker1985 - Oct 25 2008
135. sherillbownebw43 - Oct 25 2008
134. laurinefolliothanover - Oct 25 2008
133. dunlevyvickie2250 - Oct 25 2008
132. onderdonkaithne0663 - Oct 25 2008
131. hristovelay3069 - Oct 25 2008
130. arnieamescommercialpoint - Oct 25 2008
129. abastiaanaragon - Oct 25 2008
128. martiriorcn72 - Oct 25 2008
127. hb1359 - Oct 25 2008
126. cooeyeveline1995 - Oct 25 2008
125. gillespiebernard3171 - Oct 25 2008
124. ackerseldredprescottvalley - Oct 25 2008
123. rickieholsapplesaugerties - Oct 25 2008
122. sheppybonifacioeu40 - Oct 25 2008
121. thammel1962 - Oct 25 2008
120. cairbrealicelt61 - Oct 25 2008
119. cairbrealicelt61 - Oct 25 2008
118. cairbrealicelt61 - Oct 25 2008
117. cairbrealicelt61 - Oct 25 2008
116. natanwsouthkortright - Oct 25 2008
115. camuswcanyoncountry - Oct 25 2008
114. ldgaithersburg - Oct 25 2008
113. fifieldyaromir2376 - Oct 25 2008
112. gairdenkevin1976 - Oct 25 2008
111. ccmelmore - Oct 25 2008
110. emmetkatariinamd36 - Oct 25 2008
109. hydec0732 - Oct 25 2008
108. tnatille1981 - Oct 25 2008
107. antonydyonysius1961 - Oct 25 2008
106. abelonebeauchampfk87 - Oct 25 2008
105. abelonebeauchampfk87 - Oct 25 2008
104. abelonebeauchampfk87 - Oct 25 2008
103. saminarobertsropesville - Oct 25 2008
102. sushilabakercu85 - Oct 25 2008
101. bfaggtenaha - Oct 25 2008
100. strykermorris3783 - Oct 25 2008
99. vienneg0369 - Oct 25 2008
98. robertsawstinhu19 - Oct 25 2008
97. godenotjamesina0352 - Oct 25 2008
96. douglassbyronnc31 - Oct 25 2008
95. henryteresa2249 - Oct 25 2008
94. henryteresa2249 - Oct 25 2008
93. henryteresa2249 - Oct 25 2008
92. henryteresa2249 - Oct 25 2008
91. henryteresa2249 - Oct 25 2008
90. dimitrijew3032 - Oct 25 2008
89. gteveretts - Oct 25 2008
88. gteveretts - Oct 25 2008
87. gteveretts - Oct 25 2008
86. gteveretts - Oct 25 2008
85. jordanh3926 - Oct 25 2008
84. fparry1996 - Oct 25 2008
83. salalactonoologah - Oct 25 2008
82. mohammedbleecker0445 - Oct 25 2008
81. ashliecawcoolidge - Oct 25 2008
80. hp3265 - Oct 25 2008
79. minewcumberland - Oct 25 2008
78. priscillasisko1971 - Oct 25 2008
77. falklandike1050 - Oct 25 2008
76. wentworthelenora1913 - Oct 25 2008
75. tatemetafx28 - Oct 25 2008
74. sebastianmcdowellmz67 - Oct 25 2008
73. tsrockmart - Oct 25 2008
72. hannefalklandnp36 - Oct 25 2008
71. hullz3775 - Oct 25 2008
70. mccreehelene4233 - Oct 25 2008
69. hnoel1316 - Oct 25 2008
68. bpeter1460 - Oct 25 2008
67. bskeffington0229 - Oct 25 2008
66. parsifalmacaula2835 - Oct 25 2008
65. gaetanorichmondsouthhadley - Oct 25 2008
64. edithlexineleckkill - Oct 25 2008
63. rollinathol3963 - Oct 25 2008
62. oswaldfcatharpin - Oct 25 2008
61. nluciuslowake - Oct 25 2008
60. mckibbenria0433 - Oct 25 2008
59. frisoh2267 - Oct 25 2008
58. kyleighberkeleya217 - Oct 25 2008
57. pdunstandj55 - Oct 25 2008
56. bmorejesup - Oct 25 2008
55. gobanwhittakervc83 - Oct 25 2008
54. sannesheldonsumner - Oct 25 2008
53. moredouglas1990 - Oct 25 2008
52. tibbyberkeleynewmanlake - Oct 25 2008
51. hubbellkatarina1962 - Oct 25 2008
50. bchevonnethornhill - Oct 25 2008
49. adamsl3811 - Oct 25 2008
48. shirleebudd1973 - Oct 25 2008
47. salisburye0658 - Oct 25 2008
46. shannontre54 - Oct 25 2008
45. wemyssilongvalley - Oct 24 2008
44. blazea4488 - Oct 24 2008
43. autumnc1766 - Oct 24 2008
42. ewaldamakertz66 - Oct 24 2008
41. gaetanorichmondsouthhadley - Oct 24 2008
40. dibinrebeckah2371 - Oct 24 2008
39. cuttingl0767 - Oct 24 2008
38. desideriaroderick1982 - Oct 24 2008
37. kyrstenwimundvu70 - Oct 24 2008
36. eray1243 - Oct 24 2008
35. almaperceynorthwhiteplains - Oct 24 2008
34. walterjpray - Oct 24 2008
33. chattertonsteftf81 - Oct 24 2008
32. pancrasargyleschillerpark - Oct 24 2008
31. farquharplonerock - Oct 24 2008
30. jimibuxton0225 - Oct 24 2008
29. kellyaverill1971 - Oct 24 2008
28. priscillasisko1971 - Oct 24 2008
27. safiraisrael1339 - Oct 24 2008
26. agmn78 - Oct 24 2008
25. oswaldakemanapo2 - Oct 24 2008
24. destineecharles4277 - Oct 24 2008
23. campbellkaw79 - Oct 24 2008
22. mhinckley2348 - Oct 24 2008
21. carolinenevillebi44 - Oct 24 2008
20. mrochuk34 - Oct 24 2008
19. lflemming0316 - Oct 24 2008
18. nrino1966 - Oct 24 2008
17. vassertwoodstockvalley - Oct 24 2008
16. torbenl0414 - Oct 24 2008
15. clogan1985 - Oct 24 2008
14. bromfieldbastiangardengrove - Oct 24 2008
13. olyviasalisbury1268 - Oct 24 2008
12. reinardhorange - Oct 24 2008
11. badorinda1973 - Oct 24 2008
10. zsanettsunderlander53 - Oct 24 2008
9. edwardromeopaumavalley - Oct 24 2008
8. rmanjushaza19 - Oct 24 2008
7. eatonastawestchester - Oct 24 2008
6. B00MER - Oct 15 2008
5. B00MER - Oct 15 2008
4. B00MER - Oct 15 2008
3. caractacusaminacc20 - Oct 12 2008
2. Chad @ NCR - Sep 9 2008
1. Created Chad @ NCR - Sep 9 2008

 

  • Just for more fun stuff.. I grep'ed and got this list

     

    ENGINE:


    engine/lib/access.php
        register_elgg_event_handler ( 'init','system','access_init',9999 )
    engine/lib/actions.php
        register_elgg_event_handler ( "init","system","actions_init" )
    engine/lib/admin.php
        register_elgg_event_handler ( 'init','system','admin_init' )
        register_elgg_event_handler ( 'pagesetup','system','admin_pagesetup' )
    engine/lib/api.php
        register_elgg_event_handler ( 'init','system','api_init' )
    engine/lib/configuration.php
        register_elgg_event_handler ( 'boot','system','configuration_init',10 )
    engine/lib/cron.php
        register_elgg_event_handler ( 'init','system','cron_init' )
    engine/lib/database.php
        register_elgg_event_handler ( 'boot','system','init_db',0 )
    engine/lib/elgglib.php
        event_handler_function($event, $object_type, $object )
        register_elgg_event_handler ( $event, $object_type, $function_name [, $priority = 500] )
        register_elgg_event_handler ( $event, $object_type, $function, $priority = 500 ) {"]
        register_elgg_event_handler ( 'init','system','elgg_init' )
        register_elgg_event_handler ( 'boot','system','elgg_boot',1000 )
    engine/lib/entities.php
        register_elgg_event_handler ( 'init','system','entities_init' )
    engine/lib/export.php
        register_elgg_event_handler ( 'init','system','export_init',100 )
    engine/lib/filestore.php
        register_elgg_event_handler ( 'init','system','filestore_init',100 )
    engine/lib/group.php
        register_elgg_event_handler ( 'init','system','group_init' )
    engine/lib/input.php
        register_elgg_event_handler ( 'init','system','input_init' )
    engine/lib/install.php
        register_elgg_event_handler ( "boot","system","install_init" )
    engine/lib/metadata.php
        register_elgg_event_handler ( 'update','all','metadata_update' )
    engine/lib/notification.php
        register_elgg_event_handler ( 'init','system','notification_init',0 )
        register_elgg_event_handler ( 'create','object','object_notifications' )
    engine/lib/plugins.php
        register_elgg_event_handler ( 'init','system','plugin_init' )
    engine/lib/relationships.php
        register_elgg_event_handler ( 'create','friend','relationship_notification_hook' )
    engine/lib/sessions.php
        register_elgg_event_handler ( "boot","system","session_init",20 )
    engine/lib/sites.php
        register_elgg_event_handler ( 'boot','system','sites_init',2 )
    engine/lib/social.php
        register_elgg_event_handler ( "init","system","social_init" )
    engine/lib/statistics.php
        register_elgg_event_handler ( 'init','system','statistics_init' )
    engine/lib/system_log.php
        register_elgg_event_handler ( 'all','all','system_log_listener', 400 )
    engine/lib/users.php
        register_elgg_event_handler ( 'init','system','users_init',0 )
        register_elgg_event_handler ( 'pagesetup','system','users_pagesetup',0 )
    engine/lib/usersettings.php
        register_elgg_event_handler ( 'init','system','usersettings_init' )
        register_elgg_event_handler ( 'pagesetup','system','usersettings_pagesetup' )
    engine/lib/widgets.php
        register_elgg_event_handler ( 'init','system','widgets_init' )

    MODS:

     

    mod/aaudio/start.php
        register_elgg_event_handler ( 'init','system','aaudio_init' )
    mod/blog/start.php
        register_elgg_event_handler ( 'create', 'object', 'blog_incoming_ping' )
        register_elgg_event_handler ( 'init','system','blog_init' )
        register_elgg_event_handler ( 'pagesetup','system','blog_pagesetup' )
    mod/bookmarks/start.php
        register_elgg_event_handler ( 'init','system','bookmarks_init' )
    mod/categories/start.php
        register_elgg_event_handler ( 'init','system','categories_init' )
        register_elgg_event_handler ( 'pagesetup','system','categories_pagesetup' )
        register_elgg_event_handler ( 'update','all','categories_save' )
        register_elgg_event_handler ( 'create','all','categories_save' )
    mod/crontrigger/start.php
        register_elgg_event_handler ( 'shutdown', 'system', 'crontrigger_shutdownhook' )
        register_elgg_event_handler ( 'init','system','crontrigger_init' )
    mod/custom_index/start.php
        register_elgg_event_handler ( 'init','system','indexCustom_init' )
    mod/defaultwidgets/start.php
        register_elgg_event_handler ( 'create', 'user', 'defaultwidgets_newusers'  )
        register_elgg_event_handler ( 'validate', 'user', 'defaultwidgets_reset_access' )
        register_elgg_event_handler ( 'init', 'system', 'defaultwidgets_init'  )
        register_elgg_event_handler ( 'pagesetup', 'system', 'defaultwidgets_pagesetup'  )
    mod/diagnostics/start.php
        register_elgg_event_handler ( 'init','system','diagnostics_init' )
        register_elgg_event_handler ( 'pagesetup','system','diagnostics_pagesetup' )
    mod/elggmoodler/start.php
        register_elgg_event_handler ( 'pagesetup','system','elggmoodler_pagesetup' )
        register_elgg_event_handler ( 'init','system','elggmoodler_init' )
    mod/embed/start.php
        register_elgg_event_handler ( 'init','system','embed_init',10 )
    mod/externalpages/start.php
        register_elgg_event_handler ( 'init','system','expages_init' )
        register_elgg_event_handler ( 'pagesetup','system','expages_pagesetup' )
    mod/file/start.php
        register_elgg_event_handler ( 'init','system','file_init' )
        register_elgg_event_handler ( 'pagesetup','system','file_submenus' )
    mod/friends/start.php
        register_elgg_event_handler ( 'init','system','friends_init' )
    mod/garbagecollector/start.php
        register_elgg_event_handler ( 'init','system','garbagecollector_init' )
    mod/groups/start.php
        register_elgg_event_handler ( 'create', 'group', 'groups_create_event_listener' )
        register_elgg_event_handler ( 'delete', 'group', 'groups_delete_event_listener' )
        register_elgg_event_handler ( 'init','system','groups_init' )
        register_elgg_event_handler ( 'init','system','groups_fields_setup', 10000 ); // Ensure this runs after other plugins"]
        register_elgg_event_handler ( 'join','group','groups_user_join_event_listener' )
        register_elgg_event_handler ( 'leave','group','groups_user_leave_event_listener' )
        register_elgg_event_handler ( 'pagesetup','system','groups_submenus' )
        register_elgg_event_handler ( 'annotate','all','group_object_notifications' )
    mod/invitefriends/start.php
        register_elgg_event_handler ( 'pagesetup','system','invitefriends_pagesetup',1000 )
    mod/logbrowser/start.php
        register_elgg_event_handler ( 'init','system','logbrowser_init' )
        register_elgg_event_handler ( 'pagesetup','system','logbrowser_pagesetup' )
    mod/logrotate/start.php
        register_elgg_event_handler ( 'init','system','logrotate_init' )
    mod/members/start.php
        register_elgg_event_handler ( 'pagesetup','system','members_pagesetup' )
        register_elgg_event_handler ( 'init','system','members_init' )
    mod/members2/start.php
        register_elgg_event_handler ( 'pagesetup','system','members2_pagesetup' )
        register_elgg_event_handler ( 'init','system','members2_init' )
    mod/messageboard/start.php
        register_elgg_event_handler ( 'init','system','messageboard_init' )
    mod/messages/start.php
        register_elgg_event_handler ( 'init','system','messages_init' )
    mod/notifications/start.php
        register_elgg_event_handler ( 'pagesetup','system','notifications_plugin_pagesetup',1000 )
        register_elgg_event_handler ( 'init','system','notifications_plugin_init',1000 )
    mod/pages/start.php
        register_elgg_event_handler ( 'init','system','pages_init' )
        register_elgg_event_handler ( 'pagesetup','system','pages_submenus' )
    mod/payments/start.php
        register_elgg_event_handler ( 'pagesetup','system','payments_pagesetup' )
        register_elgg_event_handler ( 'init','system','payments_init' )
    mod/profile/start.php
        register_elgg_event_handler ( 'init','system','profile_init',1 )
        register_elgg_event_handler ( 'init','system','profile_fields_setup', 10000 ); // Ensure this runs after other plugins"]
        register_elgg_event_handler ( 'pagesetup','system','profile_pagesetup' )
        register_elgg_event_handler ( 'profileupdate','all','object_notifications' )
    mod/reportedcontent/start.php
        register_elgg_event_handler ( 'init','system','reportedcontent_init' )
        register_elgg_event_handler ( 'pagesetup','system','reportedcontent_pagesetup' )
    mod/riverdashboard/start.php
        register_elgg_event_handler ( 'init','system','riverdashboard_init' )
    mod/socializeme/start.php
        register_elgg_event_handler ( 'init','system','socializeme_init' )
    mod/thewire/start.php
        register_elgg_event_handler ( 'create','object','thewire_incoming_sms' )
        register_elgg_event_handler ( 'init','system','thewire_init' )
        register_elgg_event_handler ( 'pagesetup','system','thewire_pagesetup' )
    mod/tidypics/start.php
        register_elgg_event_handler ( 'init','system','tidypics_init' )
        register_elgg_event_handler ( 'pagesetup','system','tidypics_submenus' )
    mod/tinymce/start.php
        register_elgg_event_handler ( 'init','system','tinymce_init',9999 )
    mod/twitter/start.php
        register_elgg_event_handler ( 'init','system','twitter_init' )
    mod/twitterservice/start.php
        register_elgg_event_handler ( 'create','object','twitterservice_wire_listener' )
        register_elgg_event_handler ( 'init','system','twitterservice_init' )
    mod/uservalidationbyemail/start.php
        register_elgg_event_handler ( 'validate', 'user', 'uservalidationbyemail_email_validation' )
        register_elgg_event_handler ( 'init','system','uservalidationbyemail_init' )
    mod/vazco_mainpage/start.php
        register_elgg_event_handler ( 'init','system','vazco_mainpage_init' )
    mod/zaudio/start.php
        register_elgg_event_handler ( 'init','system','zaudio_init',999 )
    mod/zextender/start.php
        register_elgg_event_handler ( 'init','system','zextender_init' )

  • Same for triggered events ;-)

    ENGINE:


    actions/plugins/settings/save.php
        trigger_elgg_event( 'plugin_settings_save', $plugin, find_plugin_settings( $plugin) )
    actions/plugins/usersettings/save.php
        trigger_elgg_event( 'plugin_usersettings_save', $plugin, find_plugin_settings( $plugin) )
    actions/user/requestnewpassword.php
        trigger_elgg_event( 'validate', 'user', $user )
    actions/login.php
        trigger_elgg_event( 'validate', 'user', $user )
    engine/lib/annotations.php
        trigger_elgg_event( 'annotate',$entity->type,$entity)) {
        trigger_elgg_event( 'create', 'annotation', $obj)) {
        trigger_elgg_event( 'update', 'annotation', $obj)) {
    engine/lib/elgglib.php
        trigger_elgg_event( 'pagesetup','system' )
        trigger_elgg_event( $event, $object_type [, $object] )
        trigger_elgg_event( $event, $object_type, $object = null) {
        trigger_elgg_event( 'shutdown', 'system' )
    engine/lib/entities.php
        trigger_elgg_event( 'update',$entity->type,$entity)) {
        trigger_elgg_event( 'disable',$entity->type,$entity)) {
        trigger_elgg_event( 'enable',$entity->type,$entity)) {
        trigger_elgg_event( 'delete',$entity->type,$entity)) {
    engine/lib/group.php
        trigger_elgg_event( 'update',$entity->type,$entity)) {
        trigger_elgg_event( 'create',$entity->type,$entity)) {
        trigger_elgg_event( 'join','group',array( 'group' => get_entity( $group_guid), 'user' => get_entity( $user_guid)) )
        trigger_elgg_event( 'leave','group',array( 'group' => get_entity( $group_guid), 'user' => get_entity( $user_guid)) )
    engine/lib/metadata.php
        trigger_elgg_event( 'create', 'metadata', $obj)) {
        trigger_elgg_event( 'update', 'metadata', $obj)) {
    engine/lib/objects.php
        trigger_elgg_event( 'update',$entity->type,$entity)) {
        trigger_elgg_event( 'create',$entity->type,$entity)) {
    engine/lib/relationships.php
        trigger_elgg_event( 'create', $relationship, $obj)) {
        trigger_elgg_event( 'delete', $relationship, $obj)) {
    engine/lib/sessions.php
        trigger_elgg_event( 'login','user',$user)) {
        trigger_elgg_event( 'logout','user',$_SESSION['user'])) return false;
    engine/lib/sites.php
        trigger_elgg_event( 'update',$entity->type,$entity)) {
        trigger_elgg_event( 'create',$entity->type,$entity)) {
    engine/lib/users.php
        trigger_elgg_event( 'update',$entity->type,$entity)) {
        trigger_elgg_event( 'create',$entity->type,$entity)) {
        trigger_elgg_event( 'disable',$entity->type,$entity)) {
        trigger_elgg_event( 'validate', 'user', $user )
    engine/start.php
        trigger_elgg_event( 'boot', 'system' )
        trigger_elgg_event( 'plugins_boot', 'system' )
        trigger_elgg_event( 'init', 'system' )

    MODS:

    mod/profile/actions/edit.php
        trigger_elgg_event( 'profileupdate',$user->type,$user )
    mod/profile/actions/iconupload.php
        trigger_elgg_event( 'profileiconupdate',$_SESSION['user']->type,$_SESSION['user'] )
    mod/tidypics/actions/upload.php
        trigger_elgg_event( 'upload', 'tp_album', $album )
    tidypics/actions/addalbum.php
        trigger_elgg_event( 'add', 'tp_album', $album )
    tidypics/actions/delete.php
        trigger_elgg_event( 'upload', 'tp_album', $entity )
        trigger_elgg_event( 'upload', 'tp_album', $entity )
    tidypics/actions/edit.php
        trigger_elgg_event( 'update', 'tp_album', $entity )
        trigger_elgg_event( 'update', 'tp_album', $entity )
    tidypics/actions/upload.php
        trigger_elgg_event( 'upload', 'tp_album', $album )