1 InitializePlugin: a chance to initialize a plugin in a complete environment
3 CleanupPlugin: a chance to cleanup a plugin at the end of a program
5 StartPrimaryNav: Showing the primary nav menu
6 - $action: the current action
8 EndPrimaryNav: At the end of the primary nav menu
9 - $action: the current action
11 StartSecondaryNav: Showing the secondary nav menu
12 - $action: the current action
14 EndSecondaryNav: At the end of the secondary nav menu
15 - $action: the current action
17 StartShowStyles: Showing Style links; good place to add UA style resets
18 - $action: the current action
20 EndShowStyles: End showing Style links; good place to add custom styles
21 - $action: the current action
23 StartShowStylesheets: Showing stylesheet links
24 - $action: the current action
26 EndShowStylesheets: End showing stylesheet links; good place to add handheld or JavaScript dependant styles
27 - $action: the current action
29 StartShowUAStyles: Showing custom User-Agent style links
30 - $action: the current action
32 EndShowUAStyles: End showing custom User-Agent links; good place to add user-agent (e.g., filter, -webkit, -moz) specific styles
33 - $action: the current action
35 StartShowScripts: Showing JavaScript links
36 - $action: the current action
38 EndShowScripts: End showing JavaScript links; good place to add custom
39 links like Google Analytics
40 - $action: the current action
42 StartShowJQueryScripts: Showing JQuery script links (use this to link to e.g. Google mirrors)
43 - $action: the current action
45 EndShowJQueryScripts: End showing JQuery script links
46 - $action: the current action
48 StartShowStatusNetScripts: Showing StatusNet script links (use this to link to a CDN or something)
49 - $action: the current action
51 EndShowStatusNetScripts: End showing StatusNet script links
52 - $action: the current action
54 StartShowLaconicaScripts: backwards compatibility; deprecated
55 - $action: the current action
57 EndShowLaconicaScripts: backwards compatibility; deprecated
58 - $action: the current action
60 StartShowSections: Start the list of sections in the sidebar
61 - $action: the current action
63 EndShowSections: End the list of sections in the sidebar
64 - $action: the current action
66 StartShowHeader: Showing before the header container
67 - $action: the current action
69 EndShowHeader: Showing after the header container
70 - $action: the current action
72 StartShowFooter: Showing before the footer container
73 - $action: the current action
75 EndShowFooter: Showing after the footer container
76 - $action: the current action
78 StartShowContentBlock: Showing before the content container
79 - $action: the current action
81 EndShowContentBlock: Showing after the content container
82 - $action: the current action
84 StartShowAside: Showing before the Aside container
85 - $action: the current action
87 EndShowAside: Showing after the Aside container
88 - $action: the current action
90 StartShowNoticeFormData: Showing before the notice form data
91 - $action: the current action
93 EndShowNoticeFormData: Showing after the notice form data
94 - $action: the current action
96 StartNoticeSave: before inserting a notice (good place for content filters)
97 - $notice: notice being saved (no ID or URI)
99 EndNoticeSave: after inserting a notice and related code
100 - $notice: notice that was saved (with ID and URI)
102 StartShowLocalNavBlock: Showing the local nav menu
103 - $action: the current action
105 EndShowLocalNavBlock: At the end of the local nav menu
106 - $action: the current action
108 StartShowHTML: Chance to set document headers (e.g., content type, charset, language), DOCTYPE and html element properties
109 - $action: the current action
111 EndShowHTML: Showing after the html element
112 - $action: the current action
114 StartPublicGroupNav: Showing the public group nav menu
115 - $menu: the menu widget; use $menu->action for output
117 EndPublicGroupNav: At the end of the public group nav menu
118 - $menu: the menu widget; use $menu->action for output
120 StartSubGroupNav: Showing the subscriptions group nav menu
121 - $menu: the menu widget; use $menu->action for output
123 EndSubGroupNav: At the end of the subscriptions group nav menu
124 - $menu: the menu widget; use $menu->action for output
126 StartInitializeRouter: Before the router instance has been initialized; good place to add routes
127 - $m: the Net_URL_Mapper that has just been set up
129 RouterInitialized: After the router instance has been initialized
130 - $m: the Net_URL_Mapper that has just been set up
132 StartLogout: Before logging out
133 - $action: the logout action
135 EndLogout: After logging out
136 - $action: the logout action
138 ArgsInitialize: After the argument array has been initialized
139 - $args: associative array of arguments, can be modified
141 StartAddressData: Allows the site owner to provide additional information about themselves for contact (e.g., tagline, email, location)
142 - $action: the current action
144 EndAddressData: At the end of <address>
145 - $action: the current action
147 StartShowSiteNotice: Before showing site notice
148 - $action: the current action
150 EndShowSiteNotice: After showing site notice
151 - $action: the current action
153 StartLoginGroupNav: Before showing the login and register navigation menu
154 - $action: the current action
156 EndLoginGroupNav: After showing the login and register navigation menu
157 - $action: the current action
159 StartAccountSettingsNav: Before showing the account settings menu
160 - $action: the current action
162 EndAccountSettingsNav: After showing the account settings menu
163 - $action: the current action
165 StartAccountSettingsProfileMenuItem: Before showing the Profile menu item
166 - $widget: AccountSettingsNav instance being shown
168 EndAccountSettingsProfileMenuItem: After showing the Profile menu item
169 - $widget: AccountSettingsNav instance being shown
171 StartAccountSettingsAvatarMenuItem: Before showing the Avatar menu item
172 - $widget: AccountSettingsNav instance being shown
174 EndAccountSettingsAvatarMenuItem: After showing the Avatar menu item
175 - $widget: AccountSettingsNav instance being shown
177 StartAccountSettingsPasswordMenuItem: Before showing the Password menu item
178 - $widget: AccountSettingsNav instance being shown
180 EndAccountSettingsPasswordMenuItem: After showing the Password menu item
181 - $widget: AccountSettingsNav instance being shown
183 StartAccountSettingsEmailMenuItem: Before showing the Email menu item
184 - $widget: AccountSettingsNav instance being shown
186 EndAccountSettingsEmailMenuItem: After showing the Email menu item
187 - $widget: AccountSettingsNav instance being shown
189 StartAccountSettingsDesignMenuItem: Before showing the Design menu item
190 - $widget: AccountSettingsNav instance being shown
192 EndAccountSettingsDesignMenuItem: After showing the Design menu item
193 - $widget: AccountSettingsNav instance being shown
195 StartAccountSettingsOtherMenuItem: Before showing the Other menu item
196 - $widget: AccountSettingsNav instance being shown
198 EndAccountSettingsOtherMenuItem: After showing the Other menu item
199 - $widget: AccountSettingsNav instance being shown
201 Autoload: When trying to autoload a class
202 - $cls: the class being sought. A plugin might require_once the file for the class.
204 SensitiveAction: determines if an action is 'sensitive' and should use SSL
205 - $action: name of the action, like 'login'
206 - $sensitive: flag for whether this is a sensitive action
208 LoginAction: determines if an action is a 'login' action (OK for public view in private mode)
209 - $action: name of the action, like 'register'
210 - $login: flag for whether this is a login action
212 StartShowHead: called before showing the <head> element and children
213 - $action: action object being show
215 EndShowHead: called after showing the <head> element (and </head>)
216 - $action: action object being shown
218 StartShowBody: called before showing the <body> element and children
219 - $action: action object being shown
221 EndShowBody: called after showing the <body> element (and </body>)
222 - $action: action object being shown
224 StartPersonalGroupNav: beginning of personal group nav menu
225 - $action: action object being shown
227 EndPersonalGroupNav: end of personal group nav menu (good place to add a menu item)
228 - $action: action object being shown
230 StartGroupGroupNav: Showing the group nav menu
231 - $action: the current action
233 EndGroupGroupNav: At the end of the group nav menu
234 - $action: the current action
236 StartEndHTML: just before the </html> tag
237 - $action: action object being shown
239 EndEndHTML: just after the </html> tag
240 - $action: action object being shown
242 StartShowDesign: just before showing a site, user, or group design
243 - $action: action object being shown
245 EndShowDesign: just after showing a site, user, or group design
246 - $action: action object being shown
248 StartShowExportData: just before showing the <div> with export data (feeds)
249 - $action: action object being shown
251 EndShowExportData: just after showing the <div> with export data (feeds)
252 - $action: action object being shown
254 StartShowNoticeItem: just before showing the notice item
255 - $item: The NoticeListItem object being shown
257 EndShowNoticeItem: just after showing the notice item
258 - $item: the NoticeListItem object being shown
260 StartShowNoticeInfo: just before showing notice info
261 - $item: The NoticeListItem object being shown
263 EndShowNoticeInfo: just after showing notice info
264 - $item: The NoticeListItem object being shown
266 StartShowNoticeOptions: just before showing notice options like fave, repeat, etc.
267 - $item: the NoticeListItem object being shown
269 EndShowNoticeOptions: just after showing notice options like fave, repeat, etc.
270 - $item: the NoticeListItem object being shown
272 StartShowFaveForm: just before showing the fave form
273 - $item: the NoticeListItem object being shown
275 EndShowFaveForm: just after showing the fave form
276 - $item: the NoticeListItem object being shown
278 StartShowPageNotice: just before showing the page notice (instructions or error)
279 - $action: action object being shown
281 EndShowPageNotice: just after showing the page notice (instructions or error)
282 - $action: action object being shown
284 StartShowPageTitle: just before showing the main h1 title of a page (only for registration)
285 - $action: action object being shown
287 StartProfileFormData: just before showing text entry fields on profile settings page
288 - $action: action object being shown
290 EndProfileFormData: just after showing text entry fields on profile settings page
291 - $action: action object being shown
293 StartProfileSaveForm: before starting to save a profile settings form
294 - $action: action object being shown
296 EndProfileSaveForm: after saving a profile settings form (after commit, no profile or user object!)
297 - $action: action object being shown
299 StartEmailFormData: just before showing text entry fields on email settings page
300 - $action: action object being shown
302 EndEmailFormData: just after showing text entry fields on email settings page
303 - $action: action object being shown
305 StartEmailSaveForm: before starting to save a email settings form
306 - $action: action object being shown
307 - &$user: user being saved
309 EndEmailSaveForm: after saving a email settings form (after commit)
310 - $action: action object being shown
311 - &$user: user being saved
313 StartRegistrationFormData: just before showing text entry fields on registration page
314 - $action: action object being shown
316 EndRegistrationFormData: just after showing text entry fields on registration page
317 - $action: action object being shown
319 StartRegistrationTry: before validating and saving a new user
320 - $action: action object being shown
322 EndRegistrationTry: after saving a new user (note: no profile or user object!)
323 - $action: action object being shown
325 StartAvatarFormData: before displaying avatar form
326 - $action: action object being shown
328 EndAvatarFormData: after displaying avatar form
329 - $action: action object being shown
331 StartAvatarSaveForm: before saving the avatar
332 - $action: action object being shown
334 EndAvatarSaveForm: after saving the avatar
335 - $action: action object being shown
337 StartNewQueueManager: before trying to start a new queue manager; good for plugins implementing new queue manager classes
338 - $qm: empty queue manager to set
340 RedirectToLogin: event when we force a redirect to login (like when going to a settings page on a remembered login)
341 - $action: action object being shown
342 - $user: current user
344 StartLoadDoc: before loading a help doc (hook this to show your own documentation)
345 - $title: title of the document
346 - $output: HTML output to show
348 EndLoadDoc: after loading a help doc (hook this to modify other documentation)
349 - $title: title of the document
350 - $output: HTML output to show
352 StartApiRss: after the rss <channel> element is started
353 - $action: action object being shown
355 StartApiAtom: after the <feed> element is started
356 - $action: action object being shown
358 StartEnqueueNotice: about to add a notice to the queues (good place to add a new transport)
359 - $notice: the notice being added
360 - &$transports: modifiable list of transports (as strings) to queue for
362 EndEnqueueNotice: after adding a notice to the queues
363 - $notice: the notice being added
364 - $transports: modifiable list of transports to use
366 UnqueueHandleNotice: Handle a notice when no queue manager is available
367 - $notice: the notice to handle
368 - $queue: the "queue" that is being executed
370 GetValidDaemons: Just before determining which daemons to run
371 - &$daemons: modifiable list of daemon scripts to run, filenames relative to scripts/
373 HandleQueuedNotice: Handle a queued notice at queue time (or immediately if no queue)
374 - &$notice: notice to handle
376 StartHtmlElement: Reight before outputting the HTML element - allows plugins to add namespaces
377 - $action: the current action
378 - &$attrs: attributes for the HTML element
380 EndHtmlElement: Right after outputting the HTML element
381 - $action: the current action
382 - &$attrs: attributes for the HTML element
384 StartShowHeadElements: Right after the <head> tag
385 - $action: the current action
387 EndShowHeadElements: Right before the </head> tag; put <script>s here if you need them in <head>
388 - $action: the current action
390 CheckSchema: chance to check the schema
392 StartProfileRemoteSubscribe: Before showing the link to remote subscription
393 - $userprofile: UserProfile widget
394 - &$profile: the profile being shown
396 EndProfileRemoteSubscribe: After showing the link to remote subscription
397 - $userprofile: UserProfile widget
398 - &$profile: the profile being shown
400 StartGroupSubscribe: Before showing the link to remote subscription
401 - $action: the current action
402 - $group: the group being shown
404 EndGroupSubscribe: After showing the link to remote subscription
405 - $action: the current action
406 - $group: the group being shown
408 StartProfilePageProfileSection: Starting to show the section of the
409 profile page with the actual profile data;
410 hook to prevent showing the profile (e.g.)
411 - $userprofile: UserProfile widget
412 - &$profile: the profile being shown
414 StartProfilePageProfileElements: inside the section, before the first
415 element; prepend elements here
416 - $userprofile: UserProfile widget
417 - &$profile: the profile being shown
419 EndProfilePageProfileElements: inside the section, after the last element;
421 - $userprofile: UserProfile widget
422 - &$profile: the profile being shown
424 EndProfilePageProfileSection: After showing the section of the profile
425 page with the profile elements
426 - $userprofile: UserProfile widget
427 - &$profile: the profile being shown
429 StartProfilePageActionsSection: Starting to show the section of the
430 profile page with action links; hook
431 to hide them (for example)
432 - $userprofile: UserProfile widget
433 - &$profile: the profile being shown
435 StartProfilePageActionsElements: inside the list, before the first
436 element; prepend elements here
437 - $userprofile: UserProfile widget
438 - &$profile: the profile being shown
440 EndProfilePageActionsElements: inside the list, after the last element;
442 - $userprofile: UserProfile widget
443 - &$profile: the profile being shown
445 EndProfilePageActionsSection: After showing the section of the profile
446 page with the entity actions
447 - $userprofile: UserProfile widget
448 - &$profile: the profile being shown
450 StartProfilePageAvatar: before showing the avatar on the profile page
451 - $userprofile: UserProfile widget
452 - &$profile: the profile being shown
454 EndProfilePageAvatar: after showing the avatar on the profile page
455 - $userprofile: UserProfile widget
456 - &$profile: the profile being shown
458 StartProfilePageNickname: before showing the nickname on the profile page
459 - $userprofile: UserProfile widget
460 - &$profile: the profile being shown
462 EndProfilePageNickname: after showing the nickname on the profile page
463 - $userprofile: UserProfile widget
464 - &$profile: the profile being shown
466 StartProfilePageFullName: before showing the fullname on the profile page
467 - $userprofile: UserProfile widget
468 - &$profile: the profile being shown
470 EndProfilePageFullName: after showing the fullname on the profile page
471 - $userprofile: UserProfile widget
472 - &$profile: the profile being shown
474 StartProfilePageLocation: before showing the location on the profile page
475 - $userprofile: UserProfile widget
476 - &$profile: the profile being shown
478 EndProfilePageLocation: after showing the location on the profile page
479 - $userprofile: UserProfile widget
480 - &$profile: the profile being shown
482 StartProfilePageHomepage: before showing the homepage link on the profile page
483 - $userprofile: UserProfile widget
484 - &$profile: the profile being shown
486 EndProfilePageHomepage: after showing the homepage on the profile page
487 - $userprofile: UserProfile widget
488 - &$profile: the profile being shown
490 StartProfilePageBio: before showing the bio on the profile page
491 - $userprofile: UserProfile widget
492 - &$profile: the profile being shown
494 EndProfilePageBio: after showing the bio on the profile page
495 - $userprofile: UserProfile widget
496 - &$profile: the profile being shown
498 StartProfilePageProfileTags: before showing the tags on the profile page
499 - $userprofile: UserProfile widget
500 - &$profile: the profile being shown
502 EndProfilePageProfileTags: after showing the tags on the profile page
503 - $userprofile: UserProfile widget
504 - &$profile: the profile being shown
506 StartProfileList: when starting a list of profiles (before <ul>)
507 - $profilelist: ProfileList widget, with $profile, $action, and $out
509 EndProfileList: when ending a list of profiles (after </ul>)
510 - $profilelist: ProfileList widget
512 StartProfileListItem: when starting to show a profile list item
513 - $item: ProfileListItem widget
515 EndProfileListItem: after showing a profile list item
516 - $item: ProfileListItem widget
518 StartProfileListItemProfile: the profile data part of the item
519 - $item: ProfileListItem widget
521 EndProfileListItemProfile: the profile data part of the item
522 - $item: ProfileListItem widget
524 StartProfileListItemActions: the actions (buttons) for an item
525 - $item: ProfileListItem widget
527 EndProfileListItemActions: the actions (buttons) for an item
528 - $item: ProfileListItem widget
530 StartProfileListItemProfileElements: inside the <div>
531 - $item: ProfileListItem widget
533 EndProfileListItemProfileElements: inside the <div>
534 - $item: ProfileListItem widget
536 StartProfileListItemAvatar: Showing a profile list avatar
537 - $item: ProfileListItem widget
539 EndProfileListItemAvatar: Showing a profile list avatar
540 - $item: ProfileListItem widget
542 StartProfileListItemFullName: Showing the profile list full name
543 - $item: ProfileListItem widget
545 EndProfileListItemFullName: Showing the profile list full name
546 - $item: ProfileListItem widget
548 StartProfileListItemLocation: Showing the profile list location
549 - $item: ProfileListItem widget
551 EndProfileListItemLocation: Showing the profile list location
552 - $item: ProfileListItem widget
554 StartProfileListItemHomepage: Showing the profile list homepage
555 - $item: ProfileListItem widget
557 EndProfileListItemHomepage: Showing the profile list homepage
558 - $item: ProfileListItem widget
560 StartProfileListItemBio: Showing the profile list bio
561 - $item: ProfileListItem widget
563 EndProfileListItemBio: Showing the profile list bio
564 - $item: ProfileListItem widget
566 StartProfileListItemActionElements: Showing the profile list actions (prepend a button here, or replace all buttons)
567 - $item: ProfileListItem widget
569 EndProfileListItemActionElements: Showing profile list actions (append a button here)
570 - $item: ProfileListItem widget
572 StartUserXRDS: Start XRDS output (right after the opening XRDS tag)
573 - $action: the current action
574 - &$xrdsoutputter - XRDSOutputter object to write to
576 EndUserXRDS: End XRDS output (right before the closing XRDS tag)
577 - $action: the current action
578 - &$xrdsoutputter - XRDSOutputter object to write to
580 StartPublicXRDS: Start XRDS output (right after the opening XRDS tag)
581 - $action: the current action
582 - &$xrdsoutputter - XRDSOutputter object to write to
584 EndPublicXRDS: End XRDS output (right before the closing XRDS tag)
585 - $action: the current action
586 - &$xrdsoutputter - XRDSOutputter object to write to
588 StartCheckPassword: Check a username/password
589 - $nickname: The nickname to check
590 - $password: The password to check
591 - &$authenticatedUser: set to User object if credentials match a user.
593 EndCheckPassword: After checking a username/password pair
594 - $nickname: The nickname that was checked
595 - $password: The password that was checked
596 - $authenticatedUser: User object if credentials match a user, else null.
598 StartChangePassword: Before changing a password
600 - $oldpassword: the user's old password
601 - $newpassword: the desired new password
603 EndChangePassword: After changing a password
606 StartHashPassword: Generate a hashed version of the password (like a salted crypt)
607 - &$hashed: Hashed version of the password, later put in the database
608 - $password: The password that should be hashed
609 - $profile: Profile that this password and hash belongs to. Can be null.
611 StartSetUser: Before setting the currently logged in user
614 EndSetUser: After setting the currently logged in user
617 StartSetApiUser: Before setting the current API user
620 EndSetApiUser: After setting the current API user
623 StartHasRole: Before determing if the a profile has a given role
624 - $profile: profile in question
625 - $name: name of the role in question
626 - &$has_role: does this profile have the named role?
628 EndHasRole: Before determing if the a profile has a given role
629 - $profile: profile in question
630 - $name: name of the role in question
631 - $has_role: does this profile have the named role?
633 UserDeleteRelated: Specify additional tables to delete entries from when deleting users
635 - &$related: array of DB_DataObject class names to delete entries on matching user_id.
637 GetUrlShorteners: Specify URL shorteners that are available for use
638 - &$shorteners: append your shortener to this array like so: $shorteners[shortenerName]=array('display'=>display, 'freeService'=>boolean)
640 StartShortenUrl: About to shorten a URL
641 - $url: url to be shortened
642 - $shortenerName: name of the requested shortener
643 - &$shortenedUrl: short version of the url
645 EndShortenUrl: After a URL has been shortened
646 - $url: url to be shortened
647 - $shortenerName: name of the requested shortener
648 - $shortenedUrl: short version of the url
650 StartCssLinkElement: Before a <link rel="stylesheet"..> element is written
656 EndCssLinkElement: After a <link rel="stylesheet"..> element is written
662 StartStyleElement: Before a <style...> element is written
668 EndStyleElement: After a <style...> element is written
674 StartScriptElement: Before a <script...> element is written
679 EndScriptElement: After a <script...> element is written
684 StartInlineScriptElement: Before a <script...> element is written
689 EndInlineScriptElement: After a <script...> element is written
694 StartLog: Before writing to the logs
699 EndLog: After writing to the logs
704 StartBlockProfile: when we're about to block
705 - $user: the person doing the block
706 - $profile: the person getting blocked, can be remote
708 EndBlockProfile: when a block has succeeded
709 - $user: the person doing the block
710 - $profile: the person blocked, can be remote
712 StartUnblockProfile: when we're about to unblock
713 - $user: the person doing the unblock
714 - $profile: the person getting unblocked, can be remote
716 EndUnblockProfile: when an unblock has succeeded
717 - $user: the person doing the unblock
718 - $profile: the person unblocked, can be remote
720 StartSubscribe: when a subscription is starting
721 - $profile: Profile that is subscribing
722 - $other: Profile that is being subscribed to
724 EndSubscribe: when a subscription is finished
725 - $profile: Profile that is subscribing
726 - $other: Profile that is being subscribed to
728 StartUnsubscribe: when an unsubscribe is starting
729 - $profile: Profile that is unsubscribing
730 - $other: Profile that is being unsubscribed from
732 EndUnsubscribe: when an unsubscribe is done
733 - $profile: Profile that is unsubscribing
734 - $other: Profile that is being unsubscribed from
736 StartJoinGroup: when a user is joining a group
737 - $group: the group being joined
738 - $profile: the local or remote user joining
740 EndJoinGroup: when a user finishes joining a group
741 - $group: the group being joined
742 - $profile: the local or remote user joining
744 StartLeaveGroup: when a user is leaving a group
745 - $group: the group being left
746 - $profile: the local or remote user leaving
748 EndLeaveGroup: when a user has left a group
749 - $group: the group being left
750 - $profile: the local or remote user leaving
752 StartShowContentLicense: Showing the default license for content
753 - $action: the current action
755 EndShowContentLicense: Showing the default license for content
756 - $action: the current action
758 GetImTransports: Get IM transports that are available
759 - &$transports: append your transport to this array like so: $transports[transportName]=array('display'=>display)
761 NormalizeImScreenname: Normalize an IM screenname
762 - $transport: transport the screenname is on
763 - &$screenname: screenname to be normalized
765 ValidateImScreenname: Validate an IM screenname
766 - $transport: transport the screenname is on
767 - $screenname: screenname to be validated
768 - $valid: is the screenname valid?
770 SendImConfirmationCode: Send a confirmation code to confirm a user owns an IM screenname
771 - $transport: transport the screenname exists on
772 - $screenname: screenname being confirmed
773 - $code: confirmation code for confirmation URL
774 - $user: user requesting the confirmation
776 StartUserRegister: When a new user is being registered
777 - $profile: Profile object with new profile data (no ID yet)
779 EndUserRegister: When a new user has been registered
780 - $profile: Profile object with new profile data
782 StartRobotsTxt: Before outputting the robots.txt page
783 - &$action: RobotstxtAction being shown
785 EndRobotsTxt: After the default robots.txt page (good place for customization)
786 - &$action: RobotstxtAction being shown
788 StartGetProfileUri: When determining the canonical URI for a given profile
789 - $profile: the current profile
792 EndGetProfileUri: After determining the canonical URI for a given profile
793 - $profile: the current profile
796 StartFavorNotice: Saving a notice as a favorite
797 - $profile: profile of the person faving (can be remote!)
798 - $notice: notice being faved
799 - &$fave: Favor object; null to start off with, but feel free to override.
801 EndFavorNotice: After saving a notice as a favorite
802 - $profile: profile of the person faving (can be remote!)
803 - $notice: notice being faved
805 StartDisfavorNotice: Saving a notice as a favorite
806 - $profile: profile of the person faving (can be remote!)
807 - $notice: notice being faved
808 - &$result: result of the disfavoring (if you override)
810 EndDisfavorNotice: After saving a notice as a favorite
811 - $profile: profile of the person faving (can be remote!)
812 - $notice: notice being faved
814 StartFavorNoticeForm: starting the data in the form for favoring a notice
815 - $FavorForm: the favor form being shown
816 - $notice: notice being favored
818 EndFavorNoticeForm: Ending the data in the form for favoring a notice
819 - $FavorForm: the favor form being shown
820 - $notice: notice being favored
822 StartDisFavorNoticeForm: starting the data in the form for disfavoring a notice
823 - $DisfavorForm: the disfavor form being shown
824 - $notice: notice being difavored
826 EndDisFavorNoticeForm: Ending the data in the form for disfavoring a notice
827 - $DisfavorForm: the disfavor form being shown
828 - $notice: notice being disfavored
830 StartFindMentions: start finding mentions in a block of text
831 - $sender: sender profile
832 - $text: plain text version of the notice
833 - &$mentions: mentions found so far. Array of arrays; each array
834 has 'mentioned' (array of mentioned profiles), 'url' (url to link as),
835 'title' (title of the link), 'position' (position of the text to
836 replace), 'text' (text to replace)
838 EndFindMentions: end finding mentions in a block of text
839 - $sender: sender profile
840 - $text: plain text version of the notice
841 - &$mentions: mentions found so far. Array of arrays; each array
842 has 'mentioned' (array of mentioned profiles), 'url' (url to link as),
843 'title' (title of the link), 'position' (position of the text to
844 replace), 'text' (text to replace)
846 StartShowSubscriptionsContent: before showing the subscriptions content
847 - $action: the current action
849 EndShowSubscriptionsContent: after showing the subscriptions content
850 - $action: the current action
852 StartShowUserGroupsContent: before showing the user groups content
853 - $action: the current action
855 EndShowUserGroupsContent: after showing the user groups content
856 - $action: the current action
858 StartShowAllContent: before showing the all (you and friends) content
859 - $action: the current action
861 EndShowAllContent: after showing the all (you and friends) content
862 - $action: the current action
864 StartShowSubscriptionsMiniList: at the start of subscriptions mini list
865 - $action: the current action
867 EndShowSubscriptionsMiniList: at the end of subscriptions mini list
868 - $action: the current action
870 StartShowGroupsMiniList: at the start of groups mini list
871 - $action: the current action
873 EndShowGroupsMiniList: at the end of groups mini list
874 - $action: the current action
876 StartDeleteUserForm: starting the data in the form for deleting a user
877 - $action: action being shown
878 - $user: user being deleted
880 EndDeleteUserForm: Ending the data in the form for deleting a user
881 - $action: action being shown
882 - $user: user being deleted
884 StartDeleteUser: handling the post for deleting a user
885 - $action: action being shown
886 - $user: user being deleted
888 EndDeleteUser: handling the post for deleting a user
889 - $action: action being shown
890 - $user: user being deleted
892 StartNoticeAsActivity: before converting a notice to an activity
893 - $notice: notice being converted
894 - &$activity: initially empty activity
896 EndNoticeAsActivity: after converting a notice to an activity (good time to customize!)
897 - $notice: notice being converted
898 - &$activity: activity, now more-or-less full
900 StartNoticeSaveWeb: before saving a notice through the Web interface
901 - $action: action being executed (instance of NewNoticeAction)
902 - &$authorId: integer ID of the author
903 - &$text: text of the notice
904 - &$options: additional options (location, replies, etc.)
906 EndNoticeSaveWeb: after saving a notice through the Web interface
907 - $action: action being executed (instance of NewNoticeAction)
908 - $notice: notice that was saved
910 StartRssEntryArray: at the start of copying a notice to an array
911 - $notice: the notice being copied
912 - &$entry: the entry (empty at beginning)
914 EndRssEntryArray: at the end of copying a notice to an array
915 - $notice: the notice being copied
916 - &$entry: the entry, with all the fields filled up
918 NoticeDeleteRelated: at the beginning of deleting related fields to a notice
919 - $notice: notice being deleted
921 StartShowHeadTitle: when beginning to show the <title> element
922 - $action: action being shown
924 EndShowHeadTitle: when done showing the <title>
925 - $action: action being shown
927 StartShowPageTitle: when beginning to show the page title <h1>
928 - $action: action being shown
930 EndShowPageTitle: when done showing the page title <h1>
931 - $action: action being shown
933 StartDeleteOwnNotice: when a user starts to delete their own notice
934 - $user: the user doing the delete
935 - $notice: the notice being deleted
937 EndDeleteOwnNotice: when a user has deleted their own notice
938 - $user: the user doing the delete
939 - $notice: the notice being deleted
941 StartShowFeedLinkList: before showing the feed list in the sidebar
942 - $action: action being executed
943 - $feeds: list of feeds to show
945 EndShowFeedLinkList: after showing the feed list in the sidebar
946 - $action: action being executed
947 - $feeds: list of feeds shown
949 StartShowFeedLink: before showing an individual feed item
950 - $action: action being executed
951 - $feed: feed to show
953 EndShowFeedLink: after showing an individual feed
954 - $action: action being executed
955 - $feed: feed to show
957 StartShowNoticeForm: before showing the notice form (before <form>)
958 - $action: action being executed
960 EndShowNoticeForm: after showing the notice form (after <form>)
961 - $action: action being executed
963 StartGrantRole: when a role is being assigned
964 - $profile: profile that will have the role
965 - $role: string name of the role
967 EndGrantRole: when a role has been successfully assigned
968 - $profile: profile that will have the role
969 - $role: string name of the role
971 StartRevokeRole: when a role is being revoked
972 - $profile: profile that will lose the role
973 - $role: string name of the role
975 EndRevokeRole: when a role has been revoked
976 - $profile: profile that lost the role
977 - $role: string name of the role
979 StartAtomPubNewActivity: When a new activity comes in through Atom Pub API
980 - &$activity: received activity
981 - $user: user publishing the entry
982 - &$notice: notice created; initially null, can be set
984 EndAtomPubNewActivity: When a new activity comes in through Atom Pub API
985 - $activity: received activity
986 - $user: user publishing the entry
987 - $notice: notice that was created
989 AdminPanelCheck: When checking whether the current user can access a given admin panel
990 - $name: Name of the admin panel
991 - &$isOK: Boolean whether the user is allowed to use the panel
993 StartAdminPanelNav: Before displaying the first item in the list of admin panels
994 - $nav The AdminPanelNav widget
996 EndAdminPanelNav: After displaying the last item in the list of admin panels
997 - $nav The AdminPanelNav widget
999 StartActivityObjectFromNotice: When converting a notice to an activity:object
1000 - $notice: The notice being converted
1001 - &$object: The resulting object. Fill this and return false to override defaults.
1003 EndActivityObjectFromNotice: After converting a notice to an activity:object
1004 - $notice: The notice being converted
1005 - &$object: The resulting object. Can be edited
1007 StartActivityObjectFromProfile: When converting a profile to an activity:object
1008 - $profile: The profile being converted
1009 - &$object: The (empty) object. Fill it up and return false to override defaults.
1011 EndActivityObjectFromProfile: After converting a profile to an activity:object
1012 - $profile: The profile being converted
1013 - &$object: The finished object. Can be tweaked
1015 StartActivityObjectFromGroup: When converting a group to an activity:object
1016 - $group: The group being converted
1017 - &$object: The (empty) object. Fill and return false to override.
1019 EndActivityObjectFromGroup: After converting a group to an activity:object
1020 - $group: The group being converted
1021 - &$object: The finished object. Tweak as needed.
1023 StartImportActivity: when we start to import an activity
1024 - $user: User to make the author import
1025 - $author: Author of the feed; good for comparisons
1026 - $activity: The current activity
1027 - $trusted: How "trusted" the process is
1028 - &$done: Return value; whether to continue
1030 EndImportActivity: when we finish importing an activity
1031 - $user: User to make the author import
1032 - $author: Author of the feed; good for comparisons
1033 - $activity: The current activity
1034 - $trusted: How "trusted" the process is
1036 StartProfileSettingsActions: when we're showing account-management action list
1037 - $action: Action being shown (use for output)
1039 EndProfileSettingsActions: when we're showing account-management action list
1040 - $action: Action being shown (use for output)
1042 StartOpenNoticeListItemElement: Before the opening <li> of a notice list element
1043 - $nli: The notice list item being shown
1045 EndOpenNoticeListItemElement: After the opening <li> of a notice list element
1046 - $nli: The notice list item being shown
1048 StartCloseNoticeListItemElement: Before the closing </li> of a notice list element
1049 - $nli: The notice list item being shown
1051 EndCloseNoticeListItemElement: After the closing </li> of a notice list element
1052 - $nli: The notice list item being shown
1054 StartGroupEditFormData: Beginning the group edit form entries
1055 - $form: The form widget being shown
1057 EndGroupEditFormData: Ending the group edit form entries
1058 - $form: The form widget being shown
1060 StartGroupSave: After initializing but before saving a group
1061 - &$group: group about to be saved
1063 EndGroupSave: After saving a group, aliases, and first member
1064 - $group: group that was saved
1066 StartInterpretCommand: Before running a command
1067 - $cmd: First word in the string, 'foo' in 'foo argument'
1068 - $arg: Argument, if any, like 'argument' in 'foo argument'
1069 - $user: User who issued the command
1070 - &$result: Resulting command; you can set this!
1072 EndInterpretCommand: Before running a command
1073 - $cmd: First word in the string, 'foo' in 'foo argument'
1074 - $arg: Argument, if any, like 'argument' in 'foo argument'
1075 - $user: User who issued the command
1076 - $result: Resulting command
1078 StartGroupActionsList: Start the list of actions on a group profile page (after <ul>, before first <li>)
1079 - $action: action being executed (for output and params)
1080 - $group: group for the page
1082 EndGroupActionsList: End the list of actions on a group profile page (before </ul>, after last </li>)
1083 - $action: action being executed (for output and params)
1084 - $group: group for the page
1086 StartGroupProfileElements: Start showing stuff about the group on its profile page
1087 - $action: action being executed (for output and params)
1088 - $group: group for the page
1090 EndGroupProfileElements: Start showing stuff about the group on its profile page
1091 - $action: action being executed (for output and params)
1092 - $group: group for the page
1094 StartShowProfileTagContent: When showing a people tag page
1095 - $action: action being executed (for output and params)
1097 EndShowProfileTagContent: After showing the contents of a people tag page
1098 - $action: action being executed (for output and params)
1100 StartShowTaggedProfilesMiniList: at the start of mini list of tagged profiles
1101 - $action: action being executed (for output and params)
1103 EndShowTaggedProfilesMiniList: at the end of mini list of tagged profiles
1104 - $action: action being executed (for output and params)
1106 StartShowProfileTagSubscribersMiniList: at the start of mini list of people tag subscribers
1107 - $action: action being executed (for output and params)
1109 EndShowProfileTagSubscribersMiniList: at the end of mini list of people tag subscribers
1110 - $action: action being executed (for output and params)
1112 StartTagProfileAction: When starting to show profile tagging page
1113 - $action: action being executed (for output and params)
1114 - $profile: profile being tagged
1116 EndTagProfileAction: After showing profile tagging page
1117 - $action: action being executed (for output and params)
1118 - $profile: profile being tagged
1120 StartProfileCompletionSearch: When starting a profile search for autocompletion
1121 - $action: action being executed (for output and params)
1122 - &$profile: result Profile objects
1123 - $search_engine: the search engine
1125 EndProfileCompletionSearch: After search results for profile autocompletion have been found
1126 - $action: profilec completion action
1127 - &$profile: current result Profile objects
1128 - $search_engine: The search engine object
1130 StartShowTagProfileForm: When showing people tagging form
1131 - $action: action being executed (for output and params)
1132 - $profile: profile being tagged
1134 EndShowTagProfileForm: After showing people tagging form
1135 - $action: action being executed (for output and params)
1136 - $profile: profile being tagged
1138 StartSavePeopletags: When starting to save people tags
1139 - $action: action being executed (for output and params)
1140 - $tagstring: string input, a list of tags
1142 EndSavePeopletags: After saving people tags
1143 - $action: action being executed (for output and params)
1144 - $tagstring: string input, a list of tags
1146 StartProfiletagGetUri: when generating the Uri for a people tag
1147 - $profile_list: the people tag, a Profile_list object
1150 EndProfiletagGetUri: after generating the uri for a people tag
1151 - $profile_list: the people tag, a Profile_list object
1154 StartUserPeopletagHomeUrl: when generating the homepage url for a people tag
1155 - $profile_list: the people tag, a Profile_list object
1158 EndUserPeopletagHomeUrl: after generating the homepage url for a people tag
1159 - $profile_list: the people tag, a Profile_list object
1162 StartProfiletagPermalink: when generating the permalink url for a people tag
1163 - $profile_list: the people tag, a Profile_list object
1166 EndProfiletagPermalink: after generating the permalink url for a people tag
1167 - $profile_list: the people tag, a Profile_list object
1170 StartTagProfile: when tagging a profile
1171 - $tagger: profile tagging
1172 - $tagged: profile being tagged
1175 EndTagProfile: after tagging a profile
1176 - $newtag: the newly created Profile_tag object
1178 StartUntagProfile: when deleting a people tag
1179 - $ptag: the Profile_tag object being deleted
1181 EndUntagProfile: after deleting a people tag
1182 - $orig: a copy of the deleted Profile_tag object
1184 StartSubscribePeopletag: when subscribing to a people tag
1185 - $peopletag: Profile_list object being subscribed to
1186 - $profile: subscriber's profile
1188 EndSubscribePeopletag: after subscribing to a people tag
1189 - $profile_list: the people tag, a Profile_list object: Profile_list object being subscribed to
1190 - $profile: subscriber's profile
1192 StartUnsubscribePeopletag: when unsubscribing to a people tag
1193 - $profile_list: the people tag, a Profile_list object: Profile_list object being subscribed to
1194 - $profile: subscriber's profile
1196 EndUnsubscribePeopletag: after unsubscribing to a people tag
1197 - $peopletag: Profile_list object being subscribed to
1198 - $profile: subscriber's profile
1200 StartActivityObjectFromPeopletag: while starting to create an ActivityObject from a people tag
1201 - $profile_list: the people tag, a Profile_list object
1202 - &$object: activity object
1204 EndActivityObjectFromPeopletag: after making an ActivityObject from a people tag
1205 - $profile_list: the people tag, a Profile_list object
1206 - &$object: activity object
1208 StartPeopletagGroupNav: Showing the people tag nav menu
1209 - $menu: the menu widget; use $menu->action for output
1211 EndPeopletagGroupNav: after showing the people tag nav menu
1212 - $menu: the menu widget; use $menu->action for output
1214 StartShowPeopletagItem: when showing a people tag
1215 - $widget: PeopletagListItem widget
1217 EndShowPeopletagItem: after showing a people tag
1218 - $widget: PeopletagListItem widget
1220 StartSubscribePeopletagForm: when showing people tag subscription form
1221 - $action: action being executed (for output and params)
1222 - $peopletag: people tag being subscribed to
1224 EndSubscribePeopletagForm: after showing the people tag subscription form
1225 - $action: action being executed (for output and params)
1226 - $peopletag: people tag being subscribed to
1228 StartShowPeopletags: when showing a textual list of people tags
1229 - $widget: PeopletagsWidget; use $widget->out for output
1230 - $tagger: profile of the tagger
1231 - $tagged: profile tagged
1233 EndShowPeopletags: after showing a textual list of people tags
1234 - $widget: PeopletagsWidget; use $widget->out for output
1235 - $tagger: profile of the tagger
1236 - $tagged: profile tagged
1238 StartProfileListItemTags: when showing people tags in a profile list item widget
1239 - $widget: ProfileListItem widget
1241 EndProfileListItemTags: after showing people tags in a profile list item widget
1242 - $widget: ProfileListItem widget
1244 StartActivityObjectOutputAtom: Called at start of Atom XML output generation for ActivityObject chunks, just inside the <activity:object>. Cancel the event to take over its output completely (you're responsible for calling the matching End event if so)
1245 - $obj: ActivityObject
1246 - $out: XMLOutputter to append custom output
1248 EndActivityObjectOutputAtom: Called at end of Atom XML output generation for ActivityObject chunks, just inside the </activity:object>
1249 - $obj: ActivityObject
1250 - $out: XMLOutputter to append custom output
1252 StartActivityObjectOutputJson: Called at start of JSON output generation for ActivityObject chunks: the array has not yet been filled out. Cancel the event to take over its output completely (you're responsible for calling the matching End event if so)
1253 - $obj ActivityObject
1254 - &$out: array to be serialized; you're free to modify it
1256 EndActivityObjectOutputJson: Called at end of JSON output generation for ActivityObject chunks: the array has not yet been filled out.
1257 - $obj ActivityObject
1258 - &$out: array to be serialized; you're free to modify it
1260 StartNoticeWhoGets: Called at start of inbox delivery prep; plugins can schedule notices to go to particular profiles that would otherwise not have reached them. Canceling will take over the entire addressing operation. Be aware that output can be cached or used several times, so should remain idempotent.
1262 - &$ni: in/out array mapping profile IDs to constants: NOTICE_INBOX_SOURCE_SUB etc
1264 EndNoticeWhoGets: Called at end of inbox delivery prep; plugins can filter out profiles from receiving inbox delivery here. Be aware that output can be cached or used several times, so should remain idempotent.
1266 - &$ni: in/out array mapping profile IDs to constants: NOTICE_INBOX_SOURCE_SUB etc
1268 StartDefaultLocalNav: When showing the default local nav
1270 - $user: current user
1272 EndDefaultLocalNav: When showing the default local nav
1274 - $user: current user
1276 StartShowAccountProfileBlock: When showing the profile block for an account
1277 - $out: XMLOutputter to append custom output
1278 - $profile: the profile being shown
1280 EndShowAccountProfileBlock: After showing the profile block for an account
1281 - $out: XMLOutputter to append custom output
1282 - $profile: the profile being shown
1284 StartShowGroupProfileBlock: When showing the profile block for a group
1285 - $out: XMLOutputter to append custom output
1286 - $profile: the profile being shown
1288 EndShowGroupProfileBlock: After showing the profile block for a group
1289 - $out: XMLOutputter to append custom output
1290 - $group: the group being shown
1292 StartShowThreadedNoticeTail: when showing the replies etc. to a notice
1293 - $nli: parent noticelistitem
1294 - $notice: parent notice
1295 - &$children: list of children
1297 EndShowThreadedNoticeTail: when showing the replies etc. to a notice
1298 - $nli: parent noticelistitem
1299 - $notice: parent notice
1300 - $children: list of children
1302 StartShowThreadedNoticeSub: when showing a reply to a notice
1303 - $nli: parent noticelistitem
1304 - $parent: parent notice
1305 - $child: child notice
1307 EndShowThreadedNoticeSub: when showing a reply to a notice
1308 - $nli: parent noticelistitem
1309 - $parent: parent notice
1310 - $child: child notice
1312 StartAddEmailAddress: when adding an email address through the Web UI
1313 - $user: user getting the new address
1314 - $email: email being added
1316 EndAddEmailAddress: done adding an email address through the Web UI
1317 - $user: user getting the new address
1318 - $email: email being added
1320 StartValidateEmailInvite: when validating an email address for invitations
1321 - $user: user doing the invite
1322 - $email: email address
1323 - &$valid: flag for if it's valid; can be modified
1325 EndValidateEmailInvite: after validating an email address for invitations
1326 - $user: user doing the invite
1327 - $email: email address
1328 - &$valid: flag for if it's valid; can be modified
1330 StartLocalURL: before resolving a local url for an action
1331 - &$action: action to find a path for
1332 - &$paramsi: parameters to pass to the action
1333 - &$fragment: any url fragement
1334 - &$addSession: whether to add session variable
1335 - &$url: resulting URL to local resource
1337 EndLocalURL: before resolving a local url for an action
1338 - &$action: action to find a path for
1339 - &$paramsi: parameters to pass to the action
1340 - &$fragment: any url fragement
1341 - &$addSession: whether to add session variable
1342 - &$url: resulting URL to local resource
1344 StartProfileGetAvatar: When getting an avatar for a profile
1346 - $size: size of the avatar
1349 EndProfileGetAvatar: After getting an avatar for a profile
1351 - $size: size of the avatar
1354 StartRegisterSuccess: Before showing the registration success message
1355 - $action: the registration action
1357 StartRegisterSuccess: After showing the registration success message
1358 - $action: the registration action
1360 StartDocFileForTitle: Before searching for a doc or mail template
1361 - $title: Title we're looking for
1362 - &$paths: Paths we're searching
1363 - &$filename: Filename so far (set this if you want)
1365 EndDocFileForTitle: After searching for a doc or mail template
1366 - $title: Title we looked for
1367 - $paths: Paths we searched
1368 - &$filename: Filename so far (set this if you want)
1370 StartReadWriteTables: when noting which tables must be read-write, even on read-only actions
1371 - &$tables: list of table names
1372 - &$rwdb: read-write database URI
1374 EndReadWriteTables: after noting which tables must be read-write, even on read-only actions
1375 - $tables: list of table names
1376 - $rwdb: read-write database URI
1378 StartShowInviteForm: Right before displaying the invitations form
1379 - $action: invitation action
1381 EndShowInviteForm: After displaying the invitations form
1382 - $action: invitation action
1384 StartSendInvitations: Right before sending invitations
1385 - $action: invitation action
1387 EndSendInvitations: Right after sending invitations
1388 - $action: invitation action
1390 StartShowInvitationSuccess: Right before showing invitations success msg
1391 - $action: invitation action
1393 EndShowInvitationSuccess: After showing invitations success msg
1394 - $action: invitation action
1396 StartUpgrade: when starting a site upgrade
1398 EndUpgrade: when ending a site upgrade; good place to do your own upgrades
1400 HaveIMPlugin: is there an IM plugin loaded?
1401 - &$haveIMPlugin: set me to true if you're loaded!
1403 StartShowNoticeOptionItems: Before showing first controls in a notice list item; inside the div
1404 - $nli: NoticeListItem being shown
1406 EndShowNoticeOptionItems: After showing last controls in a notice list item; inside the div
1407 - $nli: NoticeListItem being shown
1409 StartNoticeInScope: Before checking if a notice should be visible to a user
1410 - $notice: The notice to check
1411 - $profile: The profile to check for scope
1412 - &$bResult: The boolean result; fill this in if you want to skip
1414 EndNoticeInScope: After checking if a notice should be visible to a user
1415 - $notice: The notice to check
1416 - $profile: The profile to check for scope
1417 - &$bResult: The boolean result; overwrite this if you so desire
1419 StartNoticeListPrefill: Before pre-filling a list of notices with extra data
1420 - &$notices: Notices to be pre-filled
1421 - $avatarSize: The avatar size for the list
1423 EndNoticeListPrefill: After pre-filling a list of notices with extra data
1424 - &$notices: Notices that were pre-filled
1425 - &$profiles: Profiles that were pre-filled
1426 - $avatarSize: The avatar size for the list
1428 OtherAccountProfiles: Hook to add account profiles to a user account profile block
1429 - $profile: the Profile being shown
1430 - &$others: Modifiable array of profile info arrays. Each one has the following fields:
1431 href: link to the profile
1432 text: text for the profile
1433 image: mini image for the profile