]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - EVENTS.txt
Merge branch '1.0.x' into people_tags_rebase
[quix0rs-gnu-social.git] / EVENTS.txt
index a3b0804e8f6bc0e3f787d0742faf2ea4459de00c..5fdf7b8b9d2e715d876176e6288f842d1dc3ec5a 100644 (file)
@@ -379,6 +379,14 @@ GetValidDaemons: Just before determining which daemons to run
 HandleQueuedNotice: Handle a queued notice at queue time (or immediately if no queue)
 - &$notice: notice to handle
 
+StartHtmlElement: Reight before outputting the HTML element - allows plugins to add namespaces
+- $action: the current action
+- &$attrs: attributes for the HTML element
+
+EndHtmlElement: Right after outputting the HTML element
+- $action: the current action
+- &$attrs: attributes for the HTML element
+
 StartShowHeadElements: Right after the <head> tag
 - $action: the current action
 
@@ -583,6 +591,12 @@ 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
@@ -748,6 +762,24 @@ StartShowContentLicense: Showing the default license for content
 EndShowContentLicense: Showing the default license for content
 - $action: the current action
 
+GetImTransports: Get IM transports that are available
+- &$transports: append your transport to this array like so: $transports[transportName]=array('display'=>display)
+
+NormalizeImScreenname: Normalize an IM screenname
+- $transport: transport the screenname is on
+- &$screenname: screenname to be normalized
+
+ValidateImScreenname: Validate an IM screenname
+- $transport: transport the screenname is on
+- $screenname: screenname to be validated
+- $valid: is the screenname valid?
+
+SendImConfirmationCode: Send a confirmation code to confirm a user owns an IM screenname
+- $transport: transport the screenname exists on
+- $screenname: screenname being confirmed
+- $code: confirmation code for confirmation URL
+- $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)
@@ -866,233 +898,13 @@ EndDeleteUser: handling the post for deleting a user
 - $action: action being shown
 - $user: user being deleted
 
-StartActivityStart: starting the output for a notice activity <event>
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$attrs: <entry> attributes (mostly namespace declarations, if any)
-
-EndActivityStart: end the opening tag for an activity <event>
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $attrs: <entry> attributes (mostly namespace declarations, if any)
-
-StartActivitySource: before outputting the <source> element for a notice activity
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-
-EndActivitySource: after outputting the <source> element for a notice activity
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-
-StartActivityTitle: before outputting notice activity title
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$title: title of the notice, mutable
-
-EndActivityTitle: after outputting notice activity title
-- $notice: notice being output
-- &$xs: XMLStringer for output
-- $title: title of the notice
-
-StartActivityAuthor: before outputting atom author
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$atomAuthor: string for XML representing atom author
-
-EndActivityAuthor: after outputting atom author
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$atomAuthor: string for XML representing atom author
-
-StartActivityActor: before outputting activity actor element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$actor: string for XML representing activity actor
-
-EndActivityActor: after outputting activity actor element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$actor: string for XML representing activity actor
-
-StartActivityLink: before outputting activity HTML link element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$url: URL for activity HTML link element for a notice activity entry
-
-EndActivityLink: before outputting activity HTML link element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $url:  URL for activity HTML link element for a notice activity entry
-
-StartActivityId: before outputting atom:id element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$id: atom:id (notice URI by default)
-
-EndActivityId: after outputting atom:id element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $id:  atom:id (notice URI by default)
-
-StartActivityPublished: before outputting atom:published element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$published: atom:published value (notice created by default)
-
-EndActivityPublished: before outputting atom:published element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $published:  atom:published value (notice created by default)
-
-StartActivityUpdated: before outputting atom:updated element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$updated: atom:updated value (same as atom:published by default)
-
-EndActivityUpdated: after outputting atom:updated element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $updated: atom:updated value (same as atom:published by default)
-
-StartActivityContent: before outputting atom:content element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$content: atom:content value (notice rendered HTML by default)
-
-EndActivityContent: after outputting atom:content element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $content: atom:content value (notice rendered HTML by default)
-
-StartActivityVerb: before outputting activity:verb element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$verb: activity:verb URI ('http://activitystrea.ms/schema/1.0/post' by default)
-
-EndActivityVerb: after outputting activity:verb element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $verb: activity:verb URI ('http://activitystrea.ms/schema/1.0/post' by default)
-
-StartActivityDefaultObjectType: before outputting activity:object-type element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$type: activity:object-type URI for default object ('http://activitystrea.ms/schema/1.0/note' by default)
-
-EndActivityDefaultObjectType: after outputting activity:verb element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $type: activity:object-type URI for default object ('http://activitystrea.ms/schema/1.0/note' by default)
-
-StartActivityObjects: before outputting activity:object elements for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$objects: array of ActivityObject objects to output (empty by default)
-
-EndActivityObjects: after outputting activity:object elements for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $objects: array of ActivityObject objects to output (empty by default)
-
-StartActivityNoticeInfo: before outputting statusnet:notice-info element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$noticeInfoAttr: array of attributes for notice info element
-
-EndActivityNoticeInfo: after outputting statusnet:notice-info element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $noticeInfoAttr: array of attributes for notice info element
-
-StartActivityInReplyTo: before outputting thr:in-reply-to element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$replyNotice: Notice object the main notice is in-reply-to
-
-EndActivityInReplyTo: after outputting thr:in-reply-to element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $replyNotice: Notice object the main notice is in-reply-to
-
-StartActivityConversation: before outputting ostatus:conversation link element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$conv: Conversation object
-
-EndActivityConversation: after outputting ostatus:conversation link element for a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $conv: Conversation object
-
-StartActivityAttentionProfiles: before outputting ostatus:attention link element for people in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$replyProfiles: array of profiles of people being replied to
-
-EndActivityAttentionProfiles: after outputting ostatus:attention link element for people in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $replyProfiles: array of Profile object of people being replied to
-
-StartActivityAttentionGroups: before outputting ostatus:attention link element for groups in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$groups: array of Group objects of groups being addressed
-
-EndActivityAttentionGroups: after outputting ostatus:attention link element for groups in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $groups: array of Group objects of groups being addressed
-
-StartActivityForward: before outputting ostatus:forward link element in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$repeat: Notice that was repeated
-
-EndActivityForward: after outputting ostatus:forward link element in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $repeat: Notice that was repeated
-
-StartActivityCategories: before outputting atom:category elements in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$tags: array of strings for tags on the notice (used for categories)
-
-EndActivityCategories: after outputting atom:category elements in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $tags: array of strings for tags on the notice (used for categories)
-
-StartActivityEnclosures: before outputting enclosure link elements in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$enclosures: array of enclosure objects (see File::getEnclosure() for details)
-
-EndActivityEnclosures: after outputting enclosure link elements in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $enclosures: array of enclosure objects (see File::getEnclosure() for details)
-
-StartActivityGeo: before outputting geo:rss element in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- &$lat: latitude
-- &$lon: longitude
-
-EndActivityGeo: after outputting geo:rss element in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-- $lat: latitude
-- $lon: longitude
-
-StartActivityEnd: before the closing </entry> in a notice activity entry (last chance for data!)
-- &$notice: notice being output
-- &$xs: XMLStringer for output
-
-EndActivityEnd: after the closing </entry> in a notice activity entry
-- &$notice: notice being output
-- &$xs: XMLStringer for output
+StartNoticeAsActivity: before converting a notice to an activity
+- $notice: notice being converted
+- &$activity: initially empty activity
+
+EndNoticeAsActivity: after converting a notice to an activity (good time to customize!)
+- $notice: notice being converted
+- &$activity: activity, now more-or-less full
 
 StartNoticeSaveWeb: before saving a notice through the Web interface
 - $action: action being executed (instance of NewNoticeAction)
@@ -1175,8 +987,305 @@ 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
+- &$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
 - $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
+
+StartAdminPanelNav: Before displaying the first item in the list of admin panels
+- $nav The AdminPanelNav widget
+
+EndAdminPanelNav: After displaying the last item in the list of admin panels
+- $nav The AdminPanelNav widget
+
+StartActivityObjectFromNotice: When converting a notice to an activity:object
+- $notice: The notice being converted
+- &$object: The resulting object. Fill this and return false to override defaults.
+
+EndActivityObjectFromNotice: After converting a notice to an activity:object
+- $notice: The notice being converted
+- &$object: The resulting object. Can be edited
+
+StartActivityObjectFromProfile: When converting a profile to an activity:object
+- $profile: The profile being converted
+- &$object: The (empty) object. Fill it up and return false to override defaults.
+
+EndActivityObjectFromProfile: After converting a profile to an activity:object
+- $profile: The profile being converted
+- &$object: The finished object. Can be tweaked
+
+StartActivityObjectFromGroup: When converting a group to an activity:object
+- $group: The group being converted
+- &$object: The (empty) object. Fill and return false to override.
+
+EndActivityObjectFromGroup:  After converting a group to an activity:object
+- $group:  The group being converted
+- &$object: The finished object. Tweak as needed.
+
+StartImportActivity: when we start to import an activity
+- $user: User to make the author import
+- $author: Author of the feed; good for comparisons
+- $activity: The current activity
+- $trusted: How "trusted" the process is
+- &$done: Return value; whether to continue
+
+EndImportActivity: when we finish importing an activity
+- $user: User to make the author import
+- $author: Author of the feed; good for comparisons
+- $activity: The current activity
+- $trusted: How "trusted" the process is
+
+StartProfileSettingsActions: when we're showing account-management action list
+- $action: Action being shown (use for output)
+
+EndProfileSettingsActions: when we're showing account-management action list
+- $action: Action being shown (use for output)
+
+StartOpenNoticeListItemElement: Before the opening <li> of a notice list element
+- $nli: The notice list item being shown
+
+EndOpenNoticeListItemElement: After the opening <li> of a notice list element
+- $nli: The notice list item being shown
+
+StartCloseNoticeListItemElement: Before the closing </li> of a notice list element
+- $nli: The notice list item being shown
+
+EndCloseNoticeListItemElement: After the closing </li> of a notice list element
+- $nli: The notice list item being shown
+
+StartGroupEditFormData: Beginning the group edit form entries
+- $form: The form widget being shown
+
+EndGroupEditFormData: Ending the group edit form entries
+- $form: The form widget being shown
+
+StartGroupSave: After initializing but before saving a group
+- &$group: group about to be saved
+
+EndGroupSave: After saving a group, aliases, and first member
+- $group: group that was saved
+
+StartInterpretCommand: Before running a command
+- $cmd: First word in the string, 'foo' in 'foo argument' 
+- $arg: Argument, if any, like 'argument' in 'foo argument'
+- $user: User who issued the command
+- &$result: Resulting command; you can set this!
+
+EndInterpretCommand: Before running a command
+- $cmd: First word in the string, 'foo' in 'foo argument' 
+- $arg: Argument, if any, like 'argument' in 'foo argument'
+- $user: User who issued the command
+- $result: Resulting command
+
+StartGroupActionsList: Start the list of actions on a group profile page (after <ul>, before first <li>)
+- $action: action being executed (for output and params)
+- $group: group for the page
+
+EndGroupActionsList: End the list of actions on a group profile page (before </ul>, after last </li>)
+- $action: action being executed (for output and params)
+- $group: group for the page
+
+StartGroupProfileElements: Start showing stuff about the group on its profile page
+- $action: action being executed (for output and params)
+- $group: group for the page
+                          
+EndGroupProfileElements: Start showing stuff about the group on its profile page
+- $action: action being executed (for output and params)
+- $group: group for the page
+
+StartShowProfileTagContent: When showing a people tag page
+- $action: action being executed (for output and params)
+
+EndShowProfileTagContent: After showing the contents of a people tag page
+- $action: action being executed (for output and params)
+
+StartShowTaggedProfilesMiniList: at the start of mini list of tagged profiles
+- $action: action being executed (for output and params)
+
+EndShowTaggedProfilesMiniList: at the end of mini list of tagged profiles
+- $action: action being executed (for output and params)
+
+StartShowProfileTagSubscribersMiniList: at the start of mini list of people tag subscribers
+- $action: action being executed (for output and params)
+
+EndShowProfileTagSubscribersMiniList: at the end of mini list of people tag subscribers
+- $action: action being executed (for output and params)
+
+StartTagProfileAction: When starting to show profile tagging page
+- $action: action being executed (for output and params)
+- $profile: profile being tagged
+
+EndTagProfileAction: After showing profile tagging page
+- $action: action being executed (for output and params)
+- $profile: profile being tagged
+
+StartProfileCompletionSearch: When starting a profile search for autocompletion
+- $action: action being executed (for output and params)
+- &$profile: result Profile objects
+- $search_engine: the search engine
+
+EndProfileCompletionSearch: After search results for profile autocompletion have been found
+- $action: profilec completion action
+- &$profile: current result Profile objects
+- $search_engine: The search engine object
+
+StartShowTagProfileForm: When showing people tagging form
+- $action: action being executed (for output and params)
+- $profile: profile being tagged
+
+EndShowTagProfileForm: After showing people tagging form
+- $action: action being executed (for output and params)
+- $profile: profile being tagged
+
+StartSavePeopletags: When starting to save people tags
+- $action: action being executed (for output and params)
+- $tagstring: string input, a list of tags
+
+EndSavePeopletags: After saving people tags
+- $action: action being executed (for output and params)
+- $tagstring: string input, a list of tags
+
+StartProfiletagGetUri: when generating the Uri for a people tag
+- $profile_list: the people tag, a Profile_list object
+- &$uri: the URI
+
+EndProfiletagGetUri: after generating the uri for a people tag
+- $profile_list: the people tag, a Profile_list object
+- &$uri: the URI
+
+StartUserPeopletagHomeUrl: when generating the homepage url for a people tag
+- $profile_list: the people tag, a Profile_list object
+- &$url: the URL
+
+EndUserPeopletagHomeUrl: after generating the homepage url for a people tag
+- $profile_list: the people tag, a Profile_list object
+- &$url: the URL
+
+StartProfiletagPermalink: when generating the permalink url for a people tag
+- $profile_list: the people tag, a Profile_list object
+- &$url: the URL
+
+EndProfiletagPermalink: after generating the permalink url for a people tag
+- $profile_list: the people tag, a Profile_list object
+- &$url: the URL
+
+StartTagProfile: when tagging a profile
+- $tagger: profile tagging
+- $tagged: profile being tagged
+- $tag: the tag
+
+EndTagProfile: after tagging a profile
+- $newtag: the newly created Profile_tag object
+
+StartUntagProfile: when deleting a people tag
+- $ptag: the Profile_tag object being deleted
+
+EndUntagProfile: after deleting a people tag
+- $orig: a copy of the deleted Profile_tag object
+
+StartSubscribePeopletag: when subscribing to a people tag
+- $peopletag: Profile_list object being subscribed to
+- $profile: subscriber's profile
+
+EndSubscribePeopletag: after subscribing to a people tag
+- $profile_list: the people tag, a Profile_list object: Profile_list object being subscribed to
+- $profile: subscriber's profile
+
+StartUnsubscribePeopletag: when unsubscribing to a people tag
+- $profile_list: the people tag, a Profile_list object: Profile_list object being subscribed to
+- $profile: subscriber's profile
+
+EndUnsubscribePeopletag: after unsubscribing to a people tag
+- $peopletag: Profile_list object being subscribed to
+- $profile: subscriber's profile
+
+StartActivityObjectFromPeopletag: while starting to create an ActivityObject from a people tag
+- $profile_list: the people tag, a Profile_list object
+- &$object: activity object
+
+EndActivityObjectFromPeopletag: after making an ActivityObject from a people tag
+- $profile_list: the people tag, a Profile_list object
+- &$object: activity object
+
+StartPeopletagGroupNav: Showing the people tag nav menu
+- $menu: the menu widget; use $menu->action for output
+
+EndPeopletagGroupNav: after showing the people tag nav menu
+- $menu: the menu widget; use $menu->action for output
+
+StartShowPeopletagItem: when showing a people tag
+- $widget: PeopletagListItem widget
+
+EndShowPeopletagItem: after showing a people tag
+- $widget: PeopletagListItem widget
+
+StartSubscribePeopletagForm: when showing people tag subscription form
+- $action: action being executed (for output and params)
+- $peopletag: people tag being subscribed to
+
+EndSubscribePeopletagForm: after showing the people tag subscription form
+- $action: action being executed (for output and params)
+- $peopletag: people tag being subscribed to
+
+StartShowPeopletags: when showing a textual list of people tags
+- $widget: PeopletagsWidget; use $widget->out for output
+- $tagger: profile of the tagger
+- $tagged: profile tagged
+
+EndShowPeopletags: after showing a textual list of people tags
+- $widget: PeopletagsWidget; use $widget->out for output
+- $tagger: profile of the tagger
+- $tagged: profile tagged
+
+StartProfileListItemTags: when showing people tags in a profile list item widget
+- $widget: ProfileListItem widget
+
+EndProfileListItemTags: after showing people tags in a profile list item widget
+- $widget: ProfileListItem widget
+
+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)
+- $obj: ActivityObject
+- $out: XMLOutputter to append custom output
+
+EndActivityObjectOutputAtom: Called at end of Atom XML output generation for ActivityObject chunks, just inside the </activity:object>
+- $obj: ActivityObject
+- $out: XMLOutputter to append custom output
+
+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)
+- $obj ActivityObject
+- &$out: array to be serialized; you're free to modify it
+
+EndActivityObjectOutputJson: Called at end of JSON output generation for ActivityObject chunks: the array has not yet been filled out.
+- $obj ActivityObject
+- &$out: array to be serialized; you're free to modify it
+
+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.
+- $notice Notice
+- &$ni: in/out array mapping profile IDs to constants: NOTICE_INBOX_SOURCE_SUB etc
+
+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.
+- $notice Notice
+- &$ni: in/out array mapping profile IDs to constants: NOTICE_INBOX_SOURCE_SUB etc