]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - EVENTS.txt
Always naming it 'plugin' is not good, it can easily confuse. So better name it
[quix0rs-gnu-social.git] / EVENTS.txt
index 922b79a865ea24d0bb85ce7347f2717a68525883..2f91a305f0cce8eaec4ac19c21f4f898a855af4c 100644 (file)
@@ -2,6 +2,13 @@ InitializePlugin: a chance to initialize a plugin in a complete environment
 
 CleanupPlugin: a chance to cleanup a plugin at the end of a program
 
+StartActionExecute: Right before the "prepare" call of the current Action
+- $action:  the current Action object
+- &$args:   array of arguments, referenced so you can modify the array
+
+EndActionExecute:   Right after the "handle" call of the current Action
+- $action:      the current Action object
+
 StartPrimaryNav: Showing the primary nav menu
 - $action: the current action
 
@@ -20,16 +27,10 @@ StartShowStyles: Showing Style links; good place to add UA style resets
 EndShowStyles: End showing Style links; good place to add custom styles
 - $action: the current action
 
-StartShowStatusNetStyles: Showing StatusNet Style links
-- $action: the current action
-
-EndShowStatusNetStyles: End showing StatusNet Style links;  good place to add handheld or JavaScript dependant styles
-- $action: the current action
-
-StartShowLaconicaStyles: backwards compatibility; deprecated
+StartShowStylesheets: Showing stylesheet links
 - $action: the current action
 
-EndShowLaconicaStyles: backwards compatibility; deprecated
+EndShowStylesheets: End showing stylesheet links;  good place to add handheld or JavaScript dependant styles
 - $action: the current action
 
 StartShowUAStyles: Showing custom User-Agent style links
@@ -57,12 +58,6 @@ StartShowStatusNetScripts: Showing StatusNet script links (use this to link to a
 EndShowStatusNetScripts: End showing StatusNet script links
 - $action: the current action
 
-StartShowLaconicaScripts: backwards compatibility; deprecated
-- $action: the current action
-
-EndShowLaconicaScripts: backwards compatibility; deprecated
-- $action: the current action
-
 StartShowSections: Start the list of sections in the sidebar
 - $action: the current action
 
@@ -228,7 +223,9 @@ EndShowBody: called after showing the <body> element (and </body>)
 - $action: action object being shown
 
 StartPersonalGroupNav: beginning of personal group nav menu
-- $action: action object being shown
+- $menu: Menu list object being shown
+- $target: Profile for whom it is shown
+- $scoped: Profile of currently logged in user (or null)
 
 EndPersonalGroupNav: end of personal group nav menu (good place to add a menu item)
 - $action: action object being shown
@@ -245,6 +242,10 @@ StartEndHTML: just before the </html> tag
 EndEndHTML: just after the </html> tag
 - $action: action object being shown
 
+FinalAction: After prepare() (and possible handle) in Action class.
+- $status: result of "prepare" call on action
+- $action: Action that is currently running
+
 StartShowDesign: just before showing a site, user, or group design
 - $action: action object being shown
 
@@ -263,6 +264,22 @@ StartShowNoticeItem: just before showing the notice item
 EndShowNoticeItem: just after showing the notice item
 - $item: the NoticeListItem object being shown
 
+StartShowNoticeItemNotice: just before outputting the "top" notice part of a NoticeListItem to HTML
+- $item: The NoticeListItem object being shown
+
+EndShowNoticeItemNotice: just after outputting the "top" notice part of a NoticeListItem to HTML
+- $item: The NoticeListItem object being shown
+
+StartShowNoticeContent: just before outputting the content part of a Notice
+- $stored: The Notice object
+- $out: HTMLOutputter for writing to
+- $scoped: optional Profile object for permission scoping
+
+EndShowNoticeContent: just after outputting the content part of a Notice, plugins must call this manually
+- $stored: The Notice object
+- $out: HTMLOutputter for writing to
+- $scoped: optional Profile object for permission scoping
+
 StartShowNoticeInfo: just before showing notice info
 - $item: The NoticeListItem object being shown
 
@@ -275,12 +292,6 @@ StartShowNoticeOptions: just before showing notice options like fave, repeat, et
 EndShowNoticeOptions: just after showing notice options like fave, repeat, etc.
 - $item: the NoticeListItem object being shown
 
-StartShowFaveForm: just before showing the fave form
-- $item: the NoticeListItem object being shown
-
-EndShowFaveForm: just after showing the fave form
-- $item: the NoticeListItem object being shown
-
 StartShowPageNotice: just before showing the page notice (instructions or error)
 - $action: action object being shown
 
@@ -302,19 +313,21 @@ StartProfileSaveForm: before starting to save a profile settings form
 EndProfileSaveForm: after saving a profile settings form (after commit, no profile or user object!)
 - $action: action object being shown
 
-StartEmailFormData: just before showing text entry fields on email settings page
-- $action: action object being shown
+StartEmailFormData: just before showing form input fields on email settings page
+- $action: Action object being shown
+- $scoped: Profile for whom settings are being configured
 
-EndEmailFormData: just after showing text entry fields on email settings page
+EndEmailFormData: just after showing form input fields on email settings page
 - $action: action object being shown
+- $scoped: Profile for whom settings are being configured
 
 StartEmailSaveForm: before starting to save a email settings form
 - $action: action object being shown
-- &$user: user being saved
+- $scoped: Profile user having their email settings saved
 
 EndEmailSaveForm: after saving a email settings form (after commit)
 - $action: action object being shown
-- &$user: user being saved
+- $scoped: Profile user having their email settings saved
 
 StartRegistrationFormData: just before showing text entry fields on registration page
 - $action: action object being shown
@@ -591,12 +604,6 @@ EndPublicXRDS: End XRDS output (right before the closing XRDS tag)
 - $action: the current action
 - &$xrdsoutputter - XRDSOutputter object to write to
 
-StartHostMetaLinks: Start /.well-known/host-meta links
-- &links: array containing the links elements to be written
-
-EndHostMetaLinks: End /.well-known/host-meta links
-- &links: array containing the links elements to be written
-
 StartCheckPassword: Check a username/password
 - $nickname: The nickname to check
 - $password: The password to check
@@ -608,12 +615,17 @@ EndCheckPassword: After checking a username/password pair
 - $authenticatedUser: User object if credentials match a user, else null.
 
 StartChangePassword: Before changing a password
-- $user: user
+- Profile $target: The profile of the User that is changing password
 - $oldpassword: the user's old password
 - $newpassword: the desired new password
 
 EndChangePassword: After changing a password
-- $user: user
+- Profile $target: The profile of the User that just changed its password
+
+StartHashPassword: Generate a hashed version of the password (like a salted crypt)
+- &$hashed: Hashed version of the password, later put in the database
+- $password: The password that should be hashed
+- $profile: Profile that this password and hash belongs to. Can be null.
 
 StartSetUser: Before setting the currently logged in user
 - $user: user
@@ -622,10 +634,10 @@ EndSetUser: After setting the currently logged in user
 - $user: user
 
 StartSetApiUser: Before setting the current API user
-- $user: user
+- &$user: user, can be set during event handling (return false to stop processing)
 
 EndSetApiUser: After setting the current API user
-- $user: user
+- $user: user, only called if this is an actual user
 
 StartHasRole: Before determing if the a profile has a given role
 - $profile: profile in question
@@ -725,20 +737,20 @@ EndUnblockProfile: when an unblock has succeeded
 - $profile: the person unblocked, can be remote
 
 StartSubscribe: when a subscription is starting
-- $user: the person subscribing
-- $other: the person being subscribed to
+- $profile: Profile that is subscribing
+- $other: Profile that is being subscribed to
 
 EndSubscribe: when a subscription is finished
-- $user: the person subscribing
-- $other: the person being subscribed to
+- $profile: Profile that is subscribing
+- $other: Profile that is being subscribed to
 
 StartUnsubscribe: when an unsubscribe is starting
-- $user: the person unsubscribing
-- $other: the person being unsubscribed from
+- $profile: Profile that is unsubscribing
+- $other: Profile that is being unsubscribed from
 
 EndUnsubscribe: when an unsubscribe is done
-- $user: the person unsubscribing
-- $other: the person being unsubscribed to
+- $profile: Profile that is unsubscribing
+- $other: Profile that is being unsubscribed from
 
 StartJoinGroup: when a user is joining a group
 - $group: the group being joined
@@ -781,12 +793,10 @@ SendImConfirmationCode: Send a confirmation code to confirm a user owns an IM sc
 - $user: user requesting the confirmation
 
 StartUserRegister: When a new user is being registered
-- &$profile: new profile data (no ID)
-- &$user: new user account (no ID or URI)
+- $profile: Profile object with new profile data (no ID yet)
 
 EndUserRegister: When a new user has been registered
-- &$profile: new profile data
-- &$user: new user account
+- $profile: Profile object with new profile data
 
 StartRobotsTxt: Before outputting the robots.txt page
 - &$action: RobotstxtAction being shown
@@ -802,39 +812,13 @@ EndGetProfileUri: After determining the canonical URI for a given profile
 - $profile: the current profile
 - &$uri: the URI
 
-StartFavorNotice: Saving a notice as a favorite
-- $profile: profile of the person faving (can be remote!)
-- $notice: notice being faved
-- &$fave: Favor object; null to start off with, but feel free to override.
-
-EndFavorNotice: After saving a notice as a favorite
-- $profile: profile of the person faving (can be remote!)
-- $notice: notice being faved
-
-StartDisfavorNotice: Saving a notice as a favorite
-- $profile: profile of the person faving (can be remote!)
-- $notice: notice being faved
-- &$result: result of the disfavoring (if you override)
-
-EndDisfavorNotice: After saving a notice as a favorite
-- $profile: profile of the person faving (can be remote!)
-- $notice: notice being faved
+StartGetProfileAcctUri: Get the acct: URI for a Profile (or throw ProfileNoAcctUriException)
+- $profile: Profile of user we want to get acct: URI for
+- &$acct:   string with the resulting acct: uri
 
-StartFavorNoticeForm: starting the data in the form for favoring a notice
-- $FavorForm: the favor form being shown
-- $notice: notice being favored
-
-EndFavorNoticeForm: Ending the data in the form for favoring a notice
-- $FavorForm: the favor form being shown
-- $notice: notice being favored
-
-StartDisFavorNoticeForm: starting the data in the form for disfavoring a notice
-- $DisfavorForm: the disfavor form being shown
-- $notice: notice being difavored
-
-EndDisFavorNoticeForm: Ending the data in the form for disfavoring a notice
-- $DisfavorForm: the disfavor form being shown
-- $notice: notice being disfavored
+EndGetProfileAcctUri: Last attempts to get the acct: URI for a Profile (or throw ProfileNoAcctUriException)
+- $profile: Profile of user we want to get acct: URI for
+- &$acct:   string with the resulting acct: uri
 
 StartFindMentions: start finding mentions in a block of text
 - $sender: sender profile
@@ -927,6 +911,9 @@ EndRssEntryArray: at the end of copying a notice to an array
 NoticeDeleteRelated: at the beginning of deleting related fields to a notice
 - $notice: notice being deleted
 
+FileDeleteRelated: at the beginning of deleting related fields to a File
+- $notice: File being deleted
+
 StartShowHeadTitle: when beginning to show the <title> element
 - $action: action being shown
 
@@ -969,6 +956,9 @@ StartShowNoticeForm: before showing the notice form (before <form>)
 EndShowNoticeForm: after showing the notice form (after <form>)
 - $action: action being executed
 
+StartShowEntryForms: microapp entry form tab data
+- &$tabs: tab assoc array with 'tag' => (title, href to create new entry)
+
 StartGrantRole: when a role is being assigned
 - $profile: profile that will have the role
 - $role: string name of the role
@@ -987,30 +977,14 @@ EndRevokeRole: when a role has been revoked
 
 StartAtomPubNewActivity: When a new activity comes in through Atom Pub API
 - &$activity: received activity
-- $user: user publishing the entry
+- $profile: profile of the user publishing the entry
 - &$notice: notice created; initially null, can be set
 
 EndAtomPubNewActivity: When a new activity comes in through Atom Pub API
 - $activity: received activity
-- $user: user publishing the entry
+- $profile: profile of the user publishing the entry
 - $notice: notice that was created
 
-StartXrdActionAliases: About to set aliases for the XRD object for a user
-- &$xrd: XRD object being shown
-- $user: User being shown
-
-EndXrdActionAliases: Done with aliases for the XRD object for a user
-- &$xrd: XRD object being shown
-- $user: User being shown
-
-StartXrdActionLinks: About to set links for the XRD object for a user
-- &$xrd: XRD object being shown
-- $user: User being shown
-
-EndXrdActionLinks: Done with links for the XRD object for a user
-- &$xrd: XRD object being shown
-- $user: User being shown
-
 AdminPanelCheck: When checking whether the current user can access a given admin panel
 - $name:  Name of the admin panel
 - &$isOK: Boolean whether the user is allowed to use the panel
@@ -1314,6 +1288,16 @@ EndShowGroupProfileBlock: After showing the profile block for a group
 - $out: XMLOutputter to append custom output
 - $group: the group being shown
 
+StartShowConversation: start the listing of a conversation
+- $action: Action object (used mainly as HTMLOutputter)
+- $conv: Conversation object, has functions to retrieve relevant notices
+- $scoped: Profile for scoping (null if not logged in)
+
+EndShowConversation: after the listing of a conversation
+- $action: Action object (used mainly as HTMLOutputter)
+- $conv: Conversation object, has functions to retrieve relevant notices
+- $scoped: Profile for scoping (null if not logged in)
+
 StartShowThreadedNoticeTail: when showing the replies etc. to a notice
 - $nli: parent noticelistitem
 - $notice: parent notice
@@ -1422,3 +1406,94 @@ StartUpgrade: when starting a site upgrade
 
 EndUpgrade: when ending a site upgrade; good place to do your own upgrades
 
+HaveIMPlugin: is there an IM plugin loaded?
+- &$haveIMPlugin: set me to true if you're loaded!
+
+StartShowNoticeOptionItems: Before showing first controls in a notice list item; inside the div
+- $nli: NoticeListItem being shown
+
+EndShowNoticeOptionItems: After showing last controls in a notice list item; inside the div
+- $nli: NoticeListItem being shown
+
+StartNoticeInScope: Before checking if a notice should be visible to a user
+- $notice: The notice to check
+- $profile: The profile to check for scope
+- &$bResult: The boolean result; fill this in if you want to skip
+
+EndNoticeInScope: After checking if a notice should be visible to a user
+- $notice: The notice to check
+- $profile: The profile to check for scope
+- &$bResult: The boolean result; overwrite this if you so desire
+
+StartNoticeListPrefill: Before pre-filling a list of notices with extra data
+- &$notices: Notices to be pre-filled
+- $avatarSize: The avatar size for the list
+
+EndNoticeListPrefill: After pre-filling a list of notices with extra data
+- &$notices: Notices that were pre-filled
+- &$profiles: Profiles that were pre-filled 
+- $avatarSize: The avatar size for the list
+
+OtherAccountProfiles: Hook to add account profiles to a user account profile block
+- $profile: the Profile being shown
+- &$others: Modifiable array of profile info arrays. Each one has the following fields:
+            href: link to the profile
+            text: text for the profile
+            image: mini image for the profile
+
+CreateFileImageThumbnailSource: Hook to create image thumbnail source from a File
+- $file:    'File' object to source the image from
+- &$imgPath: Path to image file which can be used as source for our thumbnail algorithm.
+- $media:   MIME media type ('image', 'video', 'audio' etc.)
+
+StartResizeImageFile: Hook to resize an image and output it to a file. No matching End event yet.
+- $imagefile: ImageFile object we're resizing.
+- $outpath:   string with output filepath
+- $box:       array with size ('width', 'height') and boundary box('x', 'y', 'w', 'h').
+
+FillImageFileMetadata: Get more metadata about the ImageFile if it is perhaps not a real local file
+- $imagefile    ImageFile object which we're getting metadata for (such as animated status, width/height etc.)
+
+StartShowAttachmentRepresentation: Attachment representation, full file (or in rare cases thumbnails/previews).
+- $out:     HTMLOutputter class to use for outputting HTML.
+- $file:    'File' object which we're going to show representation for.
+
+EndShowAttachmentRepresentation: Executed after Attachment representation, despite perhaps being unsupported media.
+- $out:     HTMLOutputter class to use for outputting HTML.
+- $file:    'File' object which we're going to show representation for.
+
+ShowUnsupportedAttachmentRepresentation: Attachment representation, full file (or in rare cases thumbnails/previews).
+- $out:     HTMLOutputter class to use for outputting HTML.
+- $file:    'File' object which we're going to show representation for.
+
+StartNotifyMentioned: During notice distribution, we send notifications (email, im...) to the profiles who were somehow mentioned.
+- $stored:         Notice object that is being distributed.
+- &$mentioned_ids: Array of profile IDs (not just for local users) who got mentioned by the notice.
+
+EndNotifyMentioned: During notice distribution, we send notifications (email, im...) to the profiles who were somehow mentioned.
+- $stored:         Notice object that is being distributed.
+- $mentioned_ids:  Array of profile IDs (not just for local users) who got mentioned by the notice.
+
+StartHomeStubNavItems: Go back Home nav items. Default includes just one item 'home'
+- $out:     HTMLOutputter used to output (usually an Action, but not always!)
+- &$items:  Referenced array of items in the nav (add if desired)
+
+EndHomeStubNavItems:
+- $out:     HTMLOutputter used to output (usually an Action, but not always!)
+- $items:   array of menu items
+
+StartSubMenu: Before outputting a submenu (including enclosing tags) to HTML
+- $out:     HTMLOutputter used to output (usually an Action, but not always!)
+- $menu:    The Menu object outputted as a submenu.
+- $label:   Localized text which represents the menu item.
+
+EndSubMenu: After outputting a submenu (including enclosing tags) to HTML
+- $out:     HTMLOutputter used to output (usually an Action, but not always!)
+- $menu:    The Menu object outputted as a submenu.
+- $label:   Localized text which represents the menu item.
+
+StartDocNav: Before outputting the docs Nav
+- $nav: The DoclNav widget
+
+EndDocNav: After outputting the docs Nav
+- $nav: The DoclNav widget