]> 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 fe36855785caf9dc47a4d6bbfa67409b060f46e4..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
 
@@ -216,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
@@ -255,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
 
@@ -267,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
 
@@ -294,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
@@ -594,12 +615,12 @@ 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
@@ -613,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
@@ -799,40 +820,6 @@ EndGetProfileAcctUri: Last attempts to get the acct: URI for a Profile (or throw
 - $profile: Profile of user we want to get acct: URI for
 - &$acct:   string with the resulting acct: 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
-
-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
-
 StartFindMentions: start finding mentions in a block of text
 - $sender: sender profile
 - $text: plain text version of the notice
@@ -924,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
 
@@ -987,12 +977,12 @@ 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
 
 AdminPanelCheck: When checking whether the current user can access a given admin panel
@@ -1298,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
@@ -1446,6 +1446,14 @@ CreateFileImageThumbnailSource: Hook to create image thumbnail source from a Fil
 - &$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.
@@ -1457,3 +1465,35 @@ EndShowAttachmentRepresentation: Executed after Attachment representation, despi
 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