Check the connected DB is valid for this forum driver.
boolean
check_db
()
Get a map between smiley codes and templates representing the HTML-image-code for this smiley. The smilies present of course depend on the forum involved.
array
find_emoticons
()
Find if the given member id and password is valid. If username is NULL, then the member id is used instead.
All authorisation, cookies, and form-logins, are passed through this function. Some forums do cookie logins differently, so a Boolean is passed in to indicate whether it is a cookie login.
array
forum_authorise_login
(?SHORT_TEXT $username, MEMBER $userid, MD5 $password_hashed, string $password_raw, [boolean $cookie_login = false])
-
?SHORT_TEXT
$username: The member username (NULL: don't use this in the authentication - but look it up using the ID if needed)
-
MEMBER
$userid: The member id
-
MD5
$password_hashed: The md5-hashed password
-
string
$password_raw: The raw password
-
boolean
$cookie_login: Whether this is a cookie login
Create a member login cookie.
void
forum_create_cookie
(MEMBER $id, ?SHORT_TEXT $name, string $password)
-
MEMBER
$id: The member id
-
?SHORT_TEXT
$name: The username (NULL: lookup)
-
string
$password: The password
Attempt to to find the member's language from their forum profile. It converts between language-identifiers using a map (lang/map.ini).
?LANGUAGE_NAME
forum_get_lang
(MEMBER $member)
-
MEMBER
$member: The member who's language needs to be fetched
Get the forum id from a forum name.
integer
forum_id_from_name
(SHORT_TEXT $forum_name)
-
SHORT_TEXT
$forum_name: The forum name
Get custom profile fields values for all 'ocp_' prefixed keys.
?array
get_custom_fields
(MEMBER $member)
-
MEMBER
$member: The member id
Get the forums' table prefix for the database.
string
get_drivered_table_prefix
()
Get an emoticon chooser template.
tempcode
get_emoticon_chooser
([string $field_name = 'post'])
-
string
$field_name: The ID of the form field the emoticon chooser adds to
Find the base URL to the emoticons.
URLPATH
get_emo_dir
()
Get an array of maps for the topic in the given forum.
mixed
get_forum_topic_posts
(SHORT_TEXT $forum_name, SHORT_TEXT $topic_name, SHORT_TEXT $topic_description, integer &$count, [integer $max = 100], [integer $start = 0])
-
SHORT_TEXT
$forum_name: The forum name
-
SHORT_TEXT
$topic_name: The topic name
-
SHORT_TEXT
$topic_description: The topic description. If this is non-blank, this is used for the search rather than the title
-
integer
&$count: The comment count will be returned here by reference
-
integer
$max: Maximum comments to returned
-
integer
$start: Comment to start at
Find the member id of the forum guest member.
MEMBER
get_guest_id
()
Find all members with a name matching the given SQL LIKE string.
?array
get_matching_members
(string $pattern, [?integer $limit = NULL])
-
string
$pattern: The pattern
-
?integer
$limit: Maximum number to return (limits to the most recent active) (NULL: no limit)
Get the number of members registered on the forum.
integer
get_members
()
Get the avatar URL for the specified member id.
URLPATH
get_member_avatar_url
(MEMBER $member)
-
MEMBER
$member: The member id
Find if this member may have e-mails sent to them
boolean
get_member_email_allowed
(MEMBER $member)
-
MEMBER
$member: The member id
Get a member id from the given member's username.
MEMBER
get_member_from_username
(SHORT_TEXT $name)
-
SHORT_TEXT
$name: The member name
Get a first known IP address of the given member.
IP
get_member_ip
(MEMBER $member)
-
MEMBER
$member: The member id
Get the timestamp of a member's join date.
TIME
get_member_join_timestamp
(MEMBER $member)
-
MEMBER
$member: The member id
Get the photo URL for the specified member id.
URLPATH
get_member_photo_url
(MEMBER $member)
-
MEMBER
$member: The member id
Gets a whole member row from the database.
?array
get_member_row
(MEMBER $member)
-
MEMBER
$member: The member id
Gets a named field of a member row from the database.
mixed
get_member_row_field
(MEMBER $member, string $field)
-
MEMBER
$member: The member id
-
string
$field: The field identifier
Get the member id of the next member after the given one, or NULL.
It cannot be assumed there are no gaps in member ids, as members may be deleted.
?MEMBER
get_next_member
(MEMBER $member)
-
MEMBER
$member: The member id to increment
Get the total posts ever made on the forum.
integer
get_num_forum_posts
()
Get the number of members currently online on the forums.
integer
get_num_users_forums
()
Get the given member's post count.
integer
get_post_count
(MEMBER $member)
-
MEMBER
$member: The member id
This is the opposite of the get_next_member function.
?MEMBER
get_previous_member
(MEMBER $member)
-
MEMBER
$member: The member id to decrement
Find a list of all forum skins (aka themes).
array
get_skin_list
()
Get the topic id from a topic name in the specified forum. It is used by comment topics, which means that the unique-topic-name assumption holds valid.
integer
get_tid_from_topic
(SHORT_TEXT $topic, string $forum, [SHORT_TEXT $description = ''])
-
SHORT_TEXT
$topic: The topic name
-
string
$forum: The forum id
-
SHORT_TEXT
$description: The topic description
Get the total topics ever made on the forum.
integer
get_topics
()
Get the given member's topic count.
integer
get_topic_count
(MEMBER $member)
-
MEMBER
$member: The member id
Get the rows for the top given number of posters on the forum.
array
get_top_posters
(integer $limit)
-
integer
$limit: The limit to the number of top posters to fetch
Add the specified custom field to the forum (some forums implemented this using proper custom profile fields, others through adding a new field).
boolean
install_create_custom_field
(string $name, integer $length)
-
string
$name: The name of the new custom field
-
integer
$length: The length of the new custom field
Get an array of paths to search for config at.
array
install_get_path_search_list
()
Get an array of attributes to take in from the installer. Almost all forums require a table prefix, which the requirement there-of is defined through this function.
The attributes have 4 values in an array
- name, the name of the attribute for info.php
- default, the default value (perhaps obtained through autodetection from forum config)
- description, a textual description of the attributes
- title, a textual title of the attribute
array
install_specifics
()
Searches for forum auto-config at this path.
boolean
install_test_load_from
(PATH $path)
-
PATH
$path: The path in which to search
Find out if the given member id is banned.
boolean
is_banned
(MEMBER $member)
-
MEMBER
$member: The member id
Find if the login cookie contains the login name instead of the member id.
boolean
is_cookie_login_name
()
Find if login cookie is md5-hashed.
boolean
is_hashed
()
Makes a post in the specified forum, in the specified topic according to the given specifications. If the topic doesn't exist, it is created along with a spacer-post.
Spacer posts exist in order to allow staff to delete the first true post in a topic. Without spacers, this would not be possible with most forum systems. They also serve to provide meta information on the topic that cannot be encoded in the title (such as a link to the content being commented upon). Note that $post should be in HTML, and some forums do not store posts as HTML. This is unfortunate, but there are some limits to just how far you can reasonably integrate with all these different forum systems without making a programatic mess.
void
make_post_forum_topic
(SHORT_TEXT $forum_name, SHORT_TEXT $topic_name, MEMBER $member, LONG_TEXT $post, LONG_TEXT $title, tempcode $_topic_for, [?TIME $time = NULL], [?IP $ip = NULL], [?BINARY $validated = NULL], [?BINARY $topic_validated = 1], [boolean $skip_post_checks = false], [?array $extra_info = NULL])
-
SHORT_TEXT
$forum_name: The forum name
-
SHORT_TEXT
$topic_name: The topic name
-
MEMBER
$member: The member id
-
LONG_TEXT
$post: The post content in Comcode format
-
LONG_TEXT
$title: The post title
-
tempcode
$_topic_for: The content title the topic is related to
-
?TIME
$time: The post time (NULL: use current time)
-
?IP
$ip: The post IP address (NULL: use current members IP address)
-
?BINARY
$validated: Whether the post is validated (NULL: unknown, find whether it needs to be marked unvalidated initially). This only works with the OCF driver.
-
?BINARY
$topic_validated: Whether the topic is validated (NULL: unknown, find whether it needs to be marked unvalidated initially). This only works with the OCF driver.
-
boolean
$skip_post_checks: Whether to skip post checks
-
?array
$extra_info: Array of extra information for the topic ($topic_title,$topic_description,$description_link) (NULL: no extra information)
Get an array of members who are in at least one of the given array of usergroups.
?array
member_group_query
(array $groups, [?integer $max = NULL], [integer $start = 0])
-
array
$groups: The array of usergroups
-
?integer
$max: Return up to this many entries for primary members and this many entries for secondary members (NULL: no limit, only use no limit if querying very restricted usergroups!)
-
integer
$start: Return primary members after this offset and secondary members after this offset
Get a URL to the specified member's home (control panel).
URLPATH
member_home_link
(MEMBER $id)
-
MEMBER
$id: The member id
Get a URL to the specified member's profile, from the username.
URLPATH
member_profile_link_name
(SHORT_TEXT $name)
-
SHORT_TEXT
$name: The username
Get a member profile-row for the member of the given name.
?array
pget_row
(SHORT_TEXT $name)
-
SHORT_TEXT
$name: The member name
Pin a topic.
void
pin_topic
(AUTO_LINK $id)
-
AUTO_LINK
$id: The topic id
From a member profile-row, get the member's last visit date.
TIME
pnamelast_visit
(array $r)
-
array
$r: The profile-row
From a member profile-row, get the member's e-mail address.
SHORT_TEXT
pname_email
(array $r)
-
array
$r: The profile-row
From a member profile-row, get the member's primary usergroup.
GROUP
pname_group
(array $r)
-
array
$r: The profile-row
From a member profile-row, get the member's member id.
MEMBER
pname_id
(array $r)
-
array
$r: The profile-row
From a member profile-row, get the member's name.
string
pname_name
(array $r)
-
array
$r: The profile-row
Get a URL to the specified post id.
URLPATH
post_link
(integer $id, string $forum)
-
integer
$id: The post id
-
string
$forum: The forum id
Try to find a member with the given IP address
array
probe_ip
(IP $ip)
Set a custom profile fields value. It should not be called directly.
void
set_custom_field
(MEMBER $member, string $field, string $amount)
-
MEMBER
$member: The member id
-
string
$field: The field name
-
string
$amount: The value
Get an array of topics in the given forum. Each topic is an array with the following attributes:
- id, the topic id
- title, the topic title
- lastusername, the username of the last poster
- lasttime, the timestamp of the last reply
- closed, a Boolean for whether the topic is currently closed or not
- firsttitle, the title of the first post
- firstpost, the first post (only set if $show_first_posts was true)
?array
show_forum_topics
(mixed $name, integer $limit, integer $start, integer &$max_rows, [SHORT_TEXT $filter_topic_name = ''], [boolean $show_first_posts = false], [string $date_key = 'lasttime'], [boolean $hot = false], [SHORT_TEXT $filter_topic_description = ''])
-
mixed
$name: The forum name or an array of forum IDs
-
integer
$limit: The limit
-
integer
$start: The start position
-
integer
&$max_rows: The total rows (not a parameter: returns by reference)
-
SHORT_TEXT
$filter_topic_name: The topic name filter
-
boolean
$show_first_posts: Whether to show the first posts
-
string
$date_key: The date key to sort by
-
boolean
$hot: Whether to limit to hot topics
-
SHORT_TEXT
$filter_topic_description: The topic description filter
Get a URL to the specified topic id. Most forums don't require the second parameter, but some do, so it is required in the interface.
URLPATH
topic_link
(integer $id, string $forum)
-
integer
$id: The topic id
-
string
$forum: The forum id
Convert a wowbb date to a timestamp.
TIME
_date_to_timestamp
(string $date)
-
string
$date: The wowbb date
Get a URL to the specified forum.
URLPATH
_forum_link
(integer $id)
-
integer
$id: The forum id
Get the forum usergroup relating to the specified member id.
array
_get_members_groups
(MEMBER $member)
-
MEMBER
$member: The member id
Get the e-mail address for the specified member id.
SHORT_TEXT
_get_member_email_address
(MEMBER $member)
-
MEMBER
$member: The member id
Get the ids of the moderator usergroups.
It should not be assumed that a member only has one usergroup - this depends upon the forum the driver works for. It also does not take the staff site filter into account.
array
_get_moderator_groups
()
Get the number of new forum posts.
integer
_get_num_new_forum_posts
()
Get the ids of the admin usergroups.
array
_get_super_admin_groups
()
Try to find the theme that the logged-in/guest member is using, and map it to an ocPortal theme.
The themes/map.ini file functions to provide this mapping between forum themes, and ocPortal themes, and has a slightly different meaning for different forum drivers. For example, some drivers map the forum themes theme directory to the ocPortal theme name, whilst others made the humanly readeable name.
ID_TEXT
_get_theme
([boolean $skip_member_specific = false])
-
boolean
$skip_member_specific: Whether to avoid member-specific lookup
Get the forum usergroup list.
array
_get_usergroup_list
()
Get the name relating to the specified member id.
If this returns NULL, then the member has been deleted. Always take potential NULL output into account.
?SHORT_TEXT
_get_username
(MEMBER $member)
-
MEMBER
$member: The member id
Find if the specified member id is marked as staff or not.
boolean
_is_staff
(MEMBER $member)
-
MEMBER
$member: The member id
Find if the specified member id is marked as a super admin or not.
boolean
_is_super_admin
(MEMBER $member)
-
MEMBER
$member: The member id
Get a URL to the registration page (for people to create member accounts).
URLPATH
_join_link
()
Get a URL to send a private/personal message to the given member.
URLPATH
_member_pm_link
(MEMBER $id)
-
MEMBER
$id: The member id
Get a URL to the specified member's profile.
URLPATH
_member_profile_link
(MEMBER $id)
-
MEMBER
$id: The member id
Get a URL to the members-online page.
URLPATH
_online_link
()
Convert a timestamp to a wowbb date.
string
_timestamp_to_date
(TIME $timestamp)
-
TIME
$timestamp: The timestamp
Inherited Methods
Inherited From forum_driver_base
forum_driver_base::disable_staff_filter()
forum_driver_base::forum_link()
forum_driver_base::get_guest_group()
forum_driver_base::get_members_groups()
forum_driver_base::get_member_email_address()
forum_driver_base::get_moderator_groups()
forum_driver_base::get_num_new_forum_posts()
forum_driver_base::get_super_admin_groups()
forum_driver_base::get_theme()
forum_driver_base::get_usergroup_list()
forum_driver_base::get_username()
forum_driver_base::is_staff()
forum_driver_base::is_super_admin()
forum_driver_base::join_link()
forum_driver_base::member_pm_link()
forum_driver_base::member_profile_hyperlink()
forum_driver_base::member_profile_link()
forum_driver_base::online_link()