This page is yet unfinished. It may contain remarks of what should be written here. If you’d like to help writing this page, please ask in the forum for details.

Plug-ins

TODO: Plug-ins can be used to extend the application’s functionality. They are independent units that can be added, disabled and copied with ease.

API functions

Hooks

Hook key
Data type
Description
database.preopen no data Database will now be opened.
database.postopen no data Database was just opened.
session.prelogin no data Login phase is about to be entered. The session can be prepared here to allow external authentication through plugins.
session.newuser array Login has been externally authorised but the user is yet unknown. Chance for plugins to initially copy the user profile to the UNB database.
userid : int User ID to be created
session.postlogin no data Login phase is completed. Users are now logged in.
abbc.userconfig no data Add custom ABBC configuration here
resolvemimetype array The MIME content type of a file should be determined. There are some types built-in. This hook is only called for unknown files. [TODO: extend for any request]
file : string Full filename
ext : string Filename extension
out type : string MIME type
acl.customaction array Access for a custom user action should be determined.
action : string User action’s key
forum : int Object’s (thread’s/post’s) forum ID
thread : int Object’s thread ID
user : int Object’s (post’s) user ID (author)
date : int Object’s (post’s) timestamp
isLastPost : bool Is this the last post of a thread?
read_only : bool Is the board currently in global rad-only mode?
out grant : bool/int Result of the query. True or a numeric value for access, false for denial.
acl.customaction.specific array Is a custom user action thread- or forum-specific?
action : int User action’s numeric ID
in/out specific : bool Action is specific
acl.customaction.numeric array Is a custom user action a numeric restriction?
action : int User action’s numeric ID
in/out numeric : bool Action is a numeric restriction
page.httpheader no data Output additional HTTP headers now.
page.htmlhead out string Add additional HTML head elements.
page.addcss in/out array(string) Add additional CSS references.
link : string Link URL
image : string Image tag
imageUrl : string Image name URL
title : string Link title to display
active : bool Highlight this link
page.prelogo.simple out string Add additional output before the top logo, also on “simple” pages.
page.postnavi out string Add additional output after the navigation line.
page.postnavi.simple out string Add additional output after the navigation line, also on “simple” pages.
page.postwarnings out string Add additional output after information and error messages.
page.prefootline out string Add additional output before the footer line.
page.footline out string Add additional output at the end of the footer line.
page.postfootline out string Add additional output after the footer line.
page.postfootline.simple out string Add additional output after the footer line, also on “simple” pages.
page.custom.handlerequest array Handle custom page requests.
request : string Request name
out include : string File to include
out handled : bool Request was handled by a plug-in
in/out url : string in: shortcut, out: resolved URL
out request : string Request URL parameter for the default base URL
in/out params : array All URL parameters
in/out params : array URL parameters
out link : string Base filename URL
out handled : bool Request was handled by a plug-in
post.subject in/out string Modify the subject of a post for display.
post.preparse array Called before a post message is parsed.
user : IUser Author user object
post : IPost Post object
thread : IThread Thread object
in/out message : string Message content
post.postparse array Called after a post message is parsed.
user : IUser Author user object
post : IPost Post object
thread : IThread Thread object
in/out message : string Message content in HTML format
signature.preparse array Called before a user signature after a post is parsed.
user : IUser Author user object
post : IPost Post object
thread : IThread Thread object
in/out signature : string Signature content
signature.postparse array Called after a user signature after a post is parsed.
user : IUser Author user object
post : IPost Post object
thread : IThread Thread object
in/out signature : string Signature content in HTML format
announce.preparse array Called before an announcement is parsed.
announce : IAnnounce Announcement object
in/out message : string Message content
announce.postparse array Called after an announcement is parsed.
announce : IAnnounce Announcement object
in/out message : string Message content in HTML format
cp.user.setgroup array Notifies when a user was added to or removed from a user group.
in userid : int User ID
in groupid : int Group ID
in member : bool true, if the user was added to the group; false, if the user was removed from the group
cp.addcategory array Lets plug-ins add new categories to the control panel.
out title : string Translation key for the category title
out link : string URL to link to
out cpcat : string Category key
cp.categorypage array Lets plug-ins handle their new categories to the control panel.
in cat : string Currently selected category key
threadlist.presubject array Add additional output before the subject in the threads list.
in thread : IThread Thread object
in threadid : int Thread ID
out output : string Text to insert
threadlist.editfields array Add additional fields to the edit thread form.
in thread : IThread Thread object
in threadid : int Thread ID
out output : string Text to insert
threadlist.handleeditfields array Handle additional fields added to the edit thread form.
in thread : IThread Thread object
in threadid : int Thread ID
threadview.presubject array Add additional output before the subject in the thread view.
in thread : null unused
in threadid : int Thread ID
out output : string Text to insert
threadview.postsubject array Add additional output after the subject in the thread view.
in thread : null unused
in threadid : int Thread ID
out output : string Text to insert
thread.removed int The thread with given ID has just been removed.
forumlist.preforumlist out string Return HTML code to be displayed before the forums list.
post.postthreadcreate in thread : IThread Called after the thread of a new post is created. Passing the newly created thread object as parameter.
post.removedlastpost int Called after the thread of a deleted post is deleted. Passing the old thread ID as parameter.
post.postedit int Called after a post is edited. Passing the post ID as parameter.
posteditor.postoptions array Add more options to the post editor.
thread : IThread Thread object
out posteditorOptions : string HTML text to append to the options
announcement : IAnnouncement Edited announcement
post.verifyaccept array Allow plug-ins to reject the post before it is saved. (I.e. spam filter)
out error : string Set a non-empty error message to reject the post
subject : string The new post’s subject
body : string The new post’s message body
forumid : int The forum ID to post in
userid : int The user who is posting (0 for guests, as usual)
cf.rebuild in/out array Configuration data array which can be modified.
page.logincontrol in array/out any Input: Previous page parameters. Output: If a string, this replaces the entire login control form, otherwise it’s ignored.
page.showpath in array/out any Input: Information about the path to be displayed. Output: If a string, this replaces the entire path output, otherwise it’s ignored.
user.verifyregister array Allow plug-ins to reject the registration before it is accepted. (I.e. spam filter)
out error : string Set a non-empty error message to reject the post
username : string The new user’s name
email : string The new user’s e-mail address
© 2003–2017 by Yves Goergen web1@unclassified.de
Content last updated on 2011-05-27 17:50 UTC
dotforward webhosting Get Firefox XHTML 1.1 CSS