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 StartShowStatusNetStyles: Showing StatusNet Style links
24 - $action: the current action
26 EndShowStatusNetStyles: End showing StatusNet Style links; good place to add handheld or JavaScript dependant styles
27 - $action: the current action
29 StartShowLaconicaStyles: backwards compatibility; deprecated
30 - $action: the current action
32 EndShowLaconicaStyles: backwards compatibility; deprecated
33 - $action: the current action
35 StartShowUAStyles: Showing custom User-Agent style links
36 - $action: the current action
38 EndShowUAStyles: End showing custom User-Agent links; good place to add user-agent (e.g., filter, -webkit, -moz) specific styles
39 - $action: the current action
41 StartShowScripts: Showing JavaScript links
42 - $action: the current action
44 EndShowScripts: End showing JavaScript links; good place to add custom
45 links like Google Analytics
46 - $action: the current action
48 StartShowJQueryScripts: Showing JQuery script links (use this to link to e.g. Google mirrors)
49 - $action: the current action
51 EndShowJQueryScripts: End showing JQuery script links
52 - $action: the current action
54 StartShowStatusNetScripts: Showing StatusNet script links (use this to link to a CDN or something)
55 - $action: the current action
57 EndShowStatusNetScripts: End showing StatusNet script links
58 - $action: the current action
60 StartShowLaconicaScripts: backwards compatibility; deprecated
61 - $action: the current action
63 EndShowLaconicaScripts: backwards compatibility; deprecated
64 - $action: the current action
66 StartShowSections: Start the list of sections in the sidebar
67 - $action: the current action
69 EndShowSections: End the list of sections in the sidebar
70 - $action: the current action
72 StartShowHeader: Showing before the header container
73 - $action: the current action
75 EndShowHeader: Showing after the header container
76 - $action: the current action
78 StartShowFooter: Showing before the footer container
79 - $action: the current action
81 EndShowFooter: Showing after the footer container
82 - $action: the current action
84 StartShowContentBlock: Showing before the content container
85 - $action: the current action
87 EndShowContentBlock: Showing after the content container
88 - $action: the current action
90 StartShowAside: Showing before the Aside container
91 - $action: the current action
93 EndShowAside: Showing after the Aside container
94 - $action: the current action
96 StartShowNoticeFormData: Showing before the notice form data
97 - $action: the current action
99 EndShowNoticeFormData: Showing after the notice form data
100 - $action: the current action
102 StartNoticeSave: before inserting a notice (good place for content filters)
103 - $notice: notice being saved (no ID or URI)
105 EndNoticeSave: after inserting a notice and related code
106 - $notice: notice that was saved (with ID and URI)
108 StartShowLocalNavBlock: Showing the local nav menu
109 - $action: the current action
111 EndShowLocalNavBlock: At the end of the local nav menu
112 - $action: the current action
114 StartShowHTML: Chance to set document headers (e.g., content type, charset, language), DOCTYPE and html element properties
115 - $action: the current action
117 EndShowHTML: Showing after the html element
118 - $action: the current action
120 StartPublicGroupNav: Showing the public group nav menu
121 - $action: the current action
123 EndPublicGroupNav: At the end of the public group nav menu
124 - $action: the current action
126 StartSubGroupNav: Showing the subscriptions group nav menu
127 - $action: the current action
129 EndSubGroupNav: At the end of the subscriptions group nav menu
130 - $action: the current action
132 StartInitializeRouter: Before the router instance has been initialized; good place to add routes
133 - $m: the Net_URL_Mapper that has just been set up
135 RouterInitialized: After the router instance has been initialized
136 - $m: the Net_URL_Mapper that has just been set up
138 StartLogout: Before logging out
139 - $action: the logout action
141 EndLogout: After logging out
142 - $action: the logout action
144 ArgsInitialized: After the argument array has been initialized
145 - $args: associative array of arguments, can be modified
147 StartAddressData: Allows the site owner to provide additional information about themselves for contact (e.g., tagline, email, location)
148 - $action: the current action
150 EndAddressData: At the end of <address>
151 - $action: the current action
153 StartShowSiteNotice: Before showing site notice
154 - $action: the current action
156 EndShowSiteNotice: After showing site notice
157 - $action: the current action
159 StartLoginGroupNav: Before showing the login and register navigation menu
160 - $action: the current action
162 EndLoginGroupNav: After showing the login and register navigation menu
163 - $action: the current action
165 StartAccountSettingsNav: Before showing the account settings menu
166 - $action: the current action
168 EndAccountSettingsNav: After showing the account settings menu
169 - $action: the current action
171 StartAccountSettingsProfileMenuItem: Before showing the Profile menu item
172 - $widget: AccountSettingsNav instance being shown
174 EndAccountSettingsProfileMenuItem: After showing the Profile menu item
175 - $widget: AccountSettingsNav instance being shown
177 StartAccountSettingsAvatarMenuItem: Before showing the Avatar menu item
178 - $widget: AccountSettingsNav instance being shown
180 EndAccountSettingsAvatarMenuItem: After showing the Avatar menu item
181 - $widget: AccountSettingsNav instance being shown
183 StartAccountSettingsPasswordMenuItem: Before showing the Password menu item
184 - $widget: AccountSettingsNav instance being shown
186 EndAccountSettingsPasswordMenuItem: After showing the Password menu item
187 - $widget: AccountSettingsNav instance being shown
189 StartAccountSettingsEmailMenuItem: Before showing the Email menu item
190 - $widget: AccountSettingsNav instance being shown
192 EndAccountSettingsEmailMenuItem: After showing the Email menu item
193 - $widget: AccountSettingsNav instance being shown
195 StartAccountSettingsDesignMenuItem: Before showing the Design menu item
196 - $widget: AccountSettingsNav instance being shown
198 EndAccountSettingsDesignMenuItem: After showing the Design menu item
199 - $widget: AccountSettingsNav instance being shown
201 StartAccountSettingsOtherMenuItem: Before showing the Other menu item
202 - $widget: AccountSettingsNav instance being shown
204 EndAccountSettingsOtherMenuItem: After showing the Other menu item
205 - $widget: AccountSettingsNav instance being shown
207 Autoload: When trying to autoload a class
208 - $cls: the class being sought. A plugin might require_once the file for the class.
210 SensitiveAction: determines if an action is 'sensitive' and should use SSL
211 - $action: name of the action, like 'login'
212 - $sensitive: flag for whether this is a sensitive action
214 LoginAction: determines if an action is a 'login' action (OK for public view in private mode)
215 - $action: name of the action, like 'register'
216 - $login: flag for whether this is a login action
218 StartShowHead: called before showing the <head> element and children
219 - $action: action object being show
221 EndShowHead: called after showing the <head> element (and </head>)
222 - $action: action object being shown
224 StartShowBody: called before showing the <body> element and children
225 - $action: action object being shown
227 EndShowBody: called after showing the <body> element (and </body>)
228 - $action: action object being shown
230 StartPersonalGroupNav: beginning of personal group nav menu
231 - $action: action object being shown
233 EndPersonalGroupNav: end of personal group nav menu (good place to add a menu item)
234 - $action: action object being shown
236 StartGroupGroupNav: Showing the group nav menu
237 - $action: the current action
239 EndGroupGroupNav: At the end of the group nav menu
240 - $action: the current action
242 StartEndHTML: just before the </html> tag
243 - $action: action object being shown
245 EndEndHTML: just after the </html> tag
246 - $action: action object being shown
248 StartShowDesign: just before showing a site, user, or group design
249 - $action: action object being shown
251 EndShowDesign: just after showing a site, user, or group design
252 - $action: action object being shown
254 StartShowExportData: just before showing the <div> with export data (feeds)
255 - $action: action object being shown
257 EndShowExportData: just after showing the <div> with export data (feeds)
258 - $action: action object being shown
260 StartShowNoticeItem: just before showing the notice item
261 - $action: action object being shown
263 EndShowNoticeItem: just after showing the notice item
264 - $action: action object being shown
266 StartShowPageNotice: just before showing the page notice (instructions or error)
267 - $action: action object being shown
269 EndShowPageNotice: just after showing the page notice (instructions or error)
270 - $action: action object being shown
272 StartShowPageTitle: just before showing the main h1 title of a page (only for registration)
273 - $action: action object being shown
275 StartProfileFormData: just before showing text entry fields on profile settings page
276 - $action: action object being shown
278 EndProfileFormData: just after showing text entry fields on profile settings page
279 - $action: action object being shown
281 StartProfileSaveForm: before starting to save a profile settings form
282 - $action: action object being shown
284 EndProfileSaveForm: after saving a profile settings form (after commit, no profile or user object!)
285 - $action: action object being shown
287 StartRegistrationFormData: just before showing text entry fields on registration page
288 - $action: action object being shown
290 EndRegistrationFormData: just after showing text entry fields on registration page
291 - $action: action object being shown
293 StartRegistrationTry: before validating and saving a new user
294 - $action: action object being shown
296 EndRegistrationTry: after saving a new user (note: no profile or user object!)
297 - $action: action object being shown
299 StartAvatarFormData: before displaying avatar form
300 - $action: action object being shown
302 EndAvatarFormData: after displaying avatar form
303 - $action: action object being shown
305 StartAvatarSaveForm: before saving the avatar
306 - $action: action object being shown
308 EndAvatarSaveForm: after saving the avatar
309 - $action: action object being shown
311 StartNewQueueManager: before trying to start a new queue manager; good for plugins implementing new queue manager classes
312 - $qm: empty queue manager to set
314 RedirectToLogin: event when we force a redirect to login (like when going to a settings page on a remembered login)
315 - $action: action object being shown
316 - $user: current user
318 StartLoadDoc: before loading a help doc (hook this to show your own documentation)
319 - $title: title of the document
320 - $output: HTML output to show
322 EndLoadDoc: after loading a help doc (hook this to modify other documentation)
323 - $title: title of the document
324 - $output: HTML output to show
326 StartApiRss: after the rss <channel> element is started
327 - $action: action object being shown
329 StartApiAtom: after the <feed> element is started
330 - $action: action object being shown
332 StartEnqueueNotice: about to add a notice to the queues (good place to add a new transport)
333 - $notice: the notice being added
334 - &$transports: modifiable list of transports (as strings) to queue for
336 EndEnqueueNotice: after adding a notice to the queues
337 - $notice: the notice being added
338 - $transports: modifiable list of transports to use
340 UnqueueHandleNotice: Handle a notice when no queue manager is available
341 - $notice: the notice to handle
342 - $queue: the "queue" that is being executed
344 GetValidDaemons: Just before determining which daemons to run
345 - &$daemons: modifiable list of daemon scripts to run, filenames relative to scripts/
347 HandleQueuedNotice: Handle a queued notice at queue time (or immediately if no queue)
348 - &$notice: notice to handle
350 StartShowHeadElements: Right after the <head> tag
351 - $action: the current action
353 EndShowHeadElements: Right before the </head> tag; put <script>s here if you need them in <head>
354 - $action: the current action
356 CheckSchema: chance to check the schema
358 StartProfileRemoteSubscribe: Before showing the link to remote subscription
359 - $userprofile: UserProfile widget
360 - &$profile: the profile being shown
362 EndProfileRemoteSubscribe: After showing the link to remote subscription
363 - $userprofile: UserProfile widget
364 - &$profile: the profile being shown
366 StartProfilePageProfileSection: Starting to show the section of the
367 profile page with the actual profile data;
368 hook to prevent showing the profile (e.g.)
369 - $userprofile: UserProfile widget
370 - &$profile: the profile being shown
372 StartProfilePageProfileElements: inside the section, before the first
373 element; prepend elements here
374 - $userprofile: UserProfile widget
375 - &$profile: the profile being shown
377 EndProfilePageProfileElements: inside the section, after the last element;
379 - $userprofile: UserProfile widget
380 - &$profile: the profile being shown
382 EndProfilePageProfileSection: After showing the section of the profile
383 page with the profile elements
384 - $userprofile: UserProfile widget
385 - &$profile: the profile being shown
387 StartProfilePageActionsSection: Starting to show the section of the
388 profile page with action links; hook
389 to hide them (for example)
390 - $userprofile: UserProfile widget
391 - &$profile: the profile being shown
393 StartProfilePageActionsElements: inside the list, before the first
394 element; prepend elements here
395 - $userprofile: UserProfile widget
396 - &$profile: the profile being shown
398 EndProfilePageActionsElements: inside the list, after the last element;
400 - $userprofile: UserProfile widget
401 - &$profile: the profile being shown
403 EndProfilePageActionsSection: After showing the section of the profile
404 page with the entity actions
405 - $userprofile: UserProfile widget
406 - &$profile: the profile being shown
408 StartProfilePageAvatar: before showing the avatar on the profile page
409 - $userprofile: UserProfile widget
410 - &$profile: the profile being shown
412 EndProfilePageAvatar: after showing the avatar on the profile page
413 - $userprofile: UserProfile widget
414 - &$profile: the profile being shown
416 StartProfilePageNickname: before showing the nickname on the profile page
417 - $userprofile: UserProfile widget
418 - &$profile: the profile being shown
420 EndProfilePageNickname: after showing the nickname on the profile page
421 - $userprofile: UserProfile widget
422 - &$profile: the profile being shown
424 StartProfilePageFullName: before showing the fullname on the profile page
425 - $userprofile: UserProfile widget
426 - &$profile: the profile being shown
428 EndProfilePageFullName: after showing the fullname on the profile page
429 - $userprofile: UserProfile widget
430 - &$profile: the profile being shown
432 StartProfilePageLocation: before showing the location on the profile page
433 - $userprofile: UserProfile widget
434 - &$profile: the profile being shown
436 EndProfilePageLocation: after showing the location on the profile page
437 - $userprofile: UserProfile widget
438 - &$profile: the profile being shown
440 StartProfilePageHomepage: before showing the homepage link on the profile page
441 - $userprofile: UserProfile widget
442 - &$profile: the profile being shown
444 EndProfilePageHomepage: after showing the homepage on the profile page
445 - $userprofile: UserProfile widget
446 - &$profile: the profile being shown
448 StartProfilePageBio: before showing the bio on the profile page
449 - $userprofile: UserProfile widget
450 - &$profile: the profile being shown
452 EndProfilePageBio: after showing the bio on the profile page
453 - $userprofile: UserProfile widget
454 - &$profile: the profile being shown
456 StartProfilePageProfileTags: before showing the tags on the profile page
457 - $userprofile: UserProfile widget
458 - &$profile: the profile being shown
460 EndProfilePageProfileTags: after showing the tags on the profile page
461 - $userprofile: UserProfile widget
462 - &$profile: the profile being shown
464 StartProfileList: when starting a list of profiles (before <ul>)
465 - $profilelist: ProfileList widget, with $profile, $action, and $out
467 EndProfileList: when ending a list of profiles (after </ul>)
468 - $profilelist: ProfileList widget
470 StartProfileListItem: when starting to show a profile list item
471 - $item: ProfileListItem widget
473 EndProfileListItem: after showing a profile list item
474 - $item: ProfileListItem widget
476 StartProfileListItemProfile: the profile data part of the item
477 - $item: ProfileListItem widget
479 EndProfileListItemProfile: the profile data part of the item
480 - $item: ProfileListItem widget
482 StartProfileListItemActions: the actions (buttons) for an item
483 - $item: ProfileListItem widget
485 EndProfileListItemActions: the actions (buttons) for an item
486 - $item: ProfileListItem widget
488 StartProfileListItemProfileElements: inside the <div>
489 - $item: ProfileListItem widget
491 EndProfileListItemProfileElements: inside the <div>
492 - $item: ProfileListItem widget
494 StartProfileListItemAvatar: Showing a profile list avatar
495 - $item: ProfileListItem widget
497 EndProfileListItemAvatar: Showing a profile list avatar
498 - $item: ProfileListItem widget
500 StartProfileListItemFullName: Showing the profile list full name
501 - $item: ProfileListItem widget
503 EndProfileListItemFullName: Showing the profile list full name
504 - $item: ProfileListItem widget
506 StartProfileListItemLocation: Showing the profile list location
507 - $item: ProfileListItem widget
509 EndProfileListItemLocation: Showing the profile list location
510 - $item: ProfileListItem widget
512 StartProfileListItemHomepage: Showing the profile list homepage
513 - $item: ProfileListItem widget
515 EndProfileListItemHomepage: Showing the profile list homepage
516 - $item: ProfileListItem widget
518 StartProfileListItemBio: Showing the profile list bio
519 - $item: ProfileListItem widget
521 EndProfileListItemBio: Showing the profile list bio
522 - $item: ProfileListItem widget
524 StartProfileListItemActionElements: Showing the profile list actions (prepend a button here, or replace all buttons)
525 - $item: ProfileListItem widget
527 EndProfileListItemActionElements: Showing profile list actions (append a button here)
528 - $item: ProfileListItem widget
530 StartUserXRDS: Start XRDS output (right after the opening XRDS tag)
531 - $action: the current action
532 - &$xrdsoutputter - XRDSOutputter object to write to
534 EndUserXRDS: End XRDS output (right before the closing XRDS tag)
535 - $action: the current action
536 - &$xrdsoutputter - XRDSOutputter object to write to
538 StartPublicXRDS: Start XRDS output (right after the opening XRDS tag)
539 - $action: the current action
540 - &$xrdsoutputter - XRDSOutputter object to write to
542 EndPublicXRDS: End XRDS output (right before the closing XRDS tag)
543 - $action: the current action
544 - &$xrdsoutputter - XRDSOutputter object to write to
546 StartCheckPassword: Check a username/password
547 - $nickname: The nickname to check
548 - $password: The password to check
549 - &$authenticatedUser: set to User object if credentials match a user.
551 EndCheckPassword: After checking a username/password pair
552 - $nickname: The nickname that was checked
553 - $password: The password that was checked
554 - $authenticatedUser: User object if credentials match a user, else null.
556 StartChangePassword: Before changing a password
558 - $oldpassword: the user's old password
559 - $newpassword: the desired new password
561 EndChangePassword: After changing a password
564 StartSetUser: Before setting the currently logged in user
567 EndSetUser: After setting the currently logged in user
570 StartSetApiUser: Before setting the current API user
573 EndSetApiUser: After setting the current API user
576 StartHasRole: Before determing if the a profile has a given role
577 - $profile: profile in question
578 - $name: name of the role in question
579 - &$has_role: does this profile have the named role?
581 EndHasRole: Before determing if the a profile has a given role
582 - $profile: profile in question
583 - $name: name of the role in question
584 - $has_role: does this profile have the named role?
586 UserDeleteRelated: Specify additional tables to delete entries from when deleting users
588 - &$related: array of DB_DataObject class names to delete entries on matching user_id.
590 GetUrlShorteners: Specify URL shorteners that are available for use
591 - &$shorteners: append your shortener to this array like so: $shorteners[shortenerName]=array('display'=>display, 'freeService'=>boolean)
593 StartShortenUrl: About to shorten a URL
594 - $url: url to be shortened
595 - $shortenerName: name of the requested shortener
596 - &$shortenedUrl: short version of the url
598 EndShortenUrl: After a URL has been shortened
599 - $url: url to be shortened
600 - $shortenerName: name of the requested shortener
601 - $shortenedUrl: short version of the url
603 StartCssLinkElement: Before a <link rel="stylesheet"..> element is written
609 EndCssLinkElement: After a <link rel="stylesheet"..> element is written
615 StartStyleElement: Before a <style...> element is written
621 EndStyleElement: After a <style...> element is written
627 StartScriptElement: Before a <script...> element is written
632 EndScriptElement: After a <script...> element is written
637 StartInlineScriptElement: Before a <script...> element is written
642 EndInlineScriptElement: After a <script...> element is written
647 StartLog: Before writing to the logs
652 EndLog: After writing to the logs
657 StartBlockProfile: when we're about to block
658 - $user: the person doing the block
659 - $profile: the person getting blocked, can be remote
661 EndBlockProfile: when a block has succeeded
662 - $user: the person doing the block
663 - $profile: the person blocked, can be remote
665 StartUnblockProfile: when we're about to unblock
666 - $user: the person doing the unblock
667 - $profile: the person getting unblocked, can be remote
669 EndUnblockProfile: when an unblock has succeeded
670 - $user: the person doing the unblock
671 - $profile: the person unblocked, can be remote
673 StartSubscribe: when a subscription is starting
674 - $user: the person subscribing
675 - $other: the person being subscribed to
677 EndSubscribe: when a subscription is finished
678 - $user: the person subscribing
679 - $other: the person being subscribed to
681 StartUnsubscribe: when an unsubscribe is starting
682 - $user: the person unsubscribing
683 - $other: the person being unsubscribed from
685 EndUnsubscribe: when an unsubscribe is done
686 - $user: the person unsubscribing
687 - $other: the person being unsubscribed to
689 StartJoinGroup: when a user is joining a group
690 - $group: the group being joined
691 - $user: the user joining
693 EndJoinGroup: when a user finishes joining a group
694 - $group: the group being joined
695 - $user: the user joining
697 StartLeaveGroup: when a user is leaving a group
698 - $group: the group being left
699 - $user: the user leaving
701 EndLeaveGroup: when a user has left a group
702 - $group: the group being left
703 - $user: the user leaving
705 StartShowContentLicense: Showing the default license for content
706 - $action: the current action
708 EndShowContentLicense: Showing the default license for content
709 - $action: the current action
711 GetImTransports: Get IM transports that are available
712 - &$transports: append your transport to this array like so: $transports[transportName]=array('display'=>display)
714 NormalizeImScreenname: Normalize an IM screenname
715 - $transport: transport the screenname is on
716 - &$screenname: screenname to be normalized
718 ValidateImScreenname: Validate an IM screenname
719 - $transport: transport the screenname is on
720 - $screenname: screenname to be validated
721 - $valid: is the screenname valid?
723 SendImConfirmationCode: Send a confirmation code to confirm a user owns an IM screenname
724 - $transport: transport the screenname exists on
725 - $screenname: screenname being confirmed
726 - $code: confirmation code for confirmation URL
727 - $user: user requesting the confirmation
729 StartUserRegister: When a new user is being registered
730 - &$profile: new profile data (no ID)
731 - &$user: new user account (no ID or URI)
733 EndUserRegister: When a new user has been registered
734 - &$profile: new profile data
735 - &$user: new user account
737 StartRobotsTxt: Before outputting the robots.txt page
738 - &$action: RobotstxtAction being shown
740 EndRobotsTxt: After the default robots.txt page (good place for customization)
741 - &$action: RobotstxtAction being shown
743 StartGetProfileUri: When determining the canonical URI for a given profile
744 - $profile: the current profile
747 EndGetProfileUri: After determining the canonical URI for a given profile
748 - $profile: the current profile
751 StartFavorNotice: Saving a notice as a favorite
752 - $profile: profile of the person faving (can be remote!)
753 - $notice: notice being faved
754 - &$fave: Favor object; null to start off with, but feel free to override.
756 EndFavorNotice: After saving a notice as a favorite
757 - $profile: profile of the person faving (can be remote!)
758 - $notice: notice being faved
760 StartDisfavorNotice: Saving a notice as a favorite
761 - $profile: profile of the person faving (can be remote!)
762 - $notice: notice being faved
763 - &$result: result of the disfavoring (if you override)
765 EndDisfavorNotice: After saving a notice as a favorite
766 - $profile: profile of the person faving (can be remote!)
767 - $notice: notice being faved
769 StartFindMentions: start finding mentions in a block of text
770 - $sender: sender profile
771 - $text: plain text version of the notice
772 - &$mentions: mentions found so far. Array of arrays; each array
773 has 'mentioned' (array of mentioned profiles), 'url' (url to link as),
774 'title' (title of the link), 'position' (position of the text to
775 replace), 'text' (text to replace)
777 EndFindMentions: end finding mentions in a block of text
778 - $sender: sender profile
779 - $text: plain text version of the notice
780 - &$mentions: mentions found so far. Array of arrays; each array
781 has 'mentioned' (array of mentioned profiles), 'url' (url to link as),
782 'title' (title of the link), 'position' (position of the text to
783 replace), 'text' (text to replace)
785 StartShowSubscriptionsContent: before showing the subscriptions content
786 - $action: the current action
788 EndShowSubscriptionsContent: after showing the subscriptions content
789 - $action: the current action