Class forum_driver_aef

Description

Located in /sources/forum/aef.php (line 21)

forum_driver_base
   |
   --forum_driver_aef
Method Summary
boolean check_db ()
array find_emoticons ()
array forum_authorise_login (?SHORT_TEXT $username, MEMBER $userid, MD5 $password_hashed, string $password_raw, [boolean $cookie_login = false])
void forum_create_cookie (MEMBER $id, ?SHORT_TEXT $name, string $password)
?LANGUAGE_NAME forum_get_lang (MEMBER $member)
integer forum_id_from_name (SHORT_TEXT $forum_name)
string forum_md5 (string $string, [SHORT_TEXT $member = ''], [SHORT_TEXT $salt = ''])
string generateRandStr (integer $length)
?array get_custom_fields (MEMBER $member)
tempcode get_emoticon_chooser ([string $field_name = 'post'])
URLPATH get_emo_dir ()
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])
MEMBER get_guest_id ()
?array get_matching_members (string $pattern, [?integer $limit = NULL])
integer get_members ()
URLPATH get_member_avatar_url (MEMBER $member)
boolean get_member_email_allowed (MEMBER $member)
MEMBER get_member_from_username (SHORT_TEXT $name)
IP get_member_ip (MEMBER $member)
TIME get_member_join_timestamp (MEMBER $member)
URLPATH get_member_photo_url (MEMBER $member)
?array get_member_row (MEMBER $member)
mixed get_member_row_field (MEMBER $member, string $field)
?MEMBER get_next_member (MEMBER $member)
integer get_num_forum_posts ()
integer get_post_count (MEMBER $member)
?MEMBER get_previous_member (MEMBER $member)
array get_skin_list ()
integer get_tid_from_topic (SHORT_TEXT $topic, string $forum, [SHORT_TEXT $description = ''])
integer get_topics ()
integer get_topic_count (MEMBER $member)
array get_top_posters (integer $limit)
boolean install_create_custom_field (string $name, integer $length)
boolean install_test_load_from (PATH $path)
boolean is_banned (MEMBER $member)
boolean is_hashed ()
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])
?array member_group_query (array $groups, [?integer $max = NULL], [integer $start = 0])
URLPATH member_home_link (MEMBER $id)
?array pget_row (SHORT_TEXT $name)
void pin_topic (AUTO_LINK $id)
TIME pnamelast_visit (array $r)
SHORT_TEXT pname_email (array $r)
GROUP pname_group (array $r)
MEMBER pname_id (array $r)
string pname_name (array $r)
URLPATH post_link (integer $id, string $forum)
array probe_ip (IP $ip)
void set_custom_field (MEMBER $member, string $field, string $amount)
?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 = ''])
URLPATH topic_link (integer $id, string $forum)
URLPATH _forum_link (integer $id)
array _get_members_groups (MEMBER $member)
SHORT_TEXT _get_member_email_address (MEMBER $member)
ID_TEXT _get_theme ([boolean $skip_member_specific = false])
?SHORT_TEXT _get_username (MEMBER $member)
boolean _is_staff (MEMBER $member)
boolean _is_super_admin (MEMBER $member)
URLPATH _join_link ()
URLPATH _member_pm_link (MEMBER $id)
URLPATH _member_profile_link (MEMBER $id)
URLPATH _online_link ()
string _phpbb_ip (IP $ip)
IP _un_phpbb_ip (string $ip)
Variables
Methods
check_db (line 29)

Check the connected DB is valid for this forum driver.

  • return: Whether it is valid
boolean check_db ()
find_emoticons (line 962)

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.

  • return: The map
array find_emoticons ()
forum_authorise_login (line 1318)

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.

  • return: A map of 'id' and 'error'. If 'id' is NULL, an error occured and 'error' is set
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
forum_create_cookie (line 1240)

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
forum_get_lang (line 52)

Attempt to to find the member's language from their forum profile. It converts between language-identifiers using a map (lang/map.ini).

  • return: The member's language (NULL: unknown)
?LANGUAGE_NAME forum_get_lang (MEMBER $member)
  • MEMBER $member: The member who's language needs to be fetched
forum_id_from_name (line 432)

Get the forum id from a forum name.

  • return: The forum id
integer forum_id_from_name (SHORT_TEXT $forum_name)
  • SHORT_TEXT $forum_name: The forum name
forum_md5 (line 1293)

Get a custom md5 for a string

  • return: The md5-ed string
string forum_md5 (string $string, [SHORT_TEXT $member = ''], [SHORT_TEXT $salt = ''])
  • string $string: The inputted string
  • SHORT_TEXT $member: The username
  • SHORT_TEXT $salt: The salt
generateRandStr (line 1209)

generates random strings

  • return: The generated string
string generateRandStr (integer $length)
  • integer $length: The length of the generated string
get_custom_fields (line 238)

Get custom profile fields values for all 'ocp_' prefixed keys.

  • return: A map of the custom profile fields, key_suffix=>value (NULL: no fields)
?array get_custom_fields (MEMBER $member)
  • MEMBER $member: The member id
get_drivered_table_prefix (line 92)

Get the forums' table prefix for the database.

  • return: The forum database table prefix
string get_drivered_table_prefix ()
get_emoticon_chooser (line 196)

Get an emoticon chooser template.

  • return: The 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
get_emo_dir (line 952)

Find the base URL to the emoticons.

  • return: The base URL
URLPATH get_emo_dir ()
get_forum_topic_posts (line 548)

Get an array of maps for the topic in the given forum.

  • return: The array of maps (Each map is: title, message, member, date) (-1 for no such forum, -2 for no such topic)
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
get_guest_id (line 82)

Find the member id of the forum guest member.

  • return: The member id of the forum guest member
MEMBER get_guest_id ()
get_matching_members (line 892)

Find all members with a name matching the given SQL LIKE string.

  • return: The array of matched members (NULL: none found)
?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_members (line 1091)

Get the number of members registered on the forum.

  • return: The number of members
integer get_members ()
get_member_avatar_url (line 353)

Get the avatar URL for the specified member id.

  • return: The URL (blank: none)
URLPATH get_member_avatar_url (MEMBER $member)
  • MEMBER $member: The member id
get_member_email_allowed (line 867)

Find if this member may have e-mails sent to them

  • return: Whether the member may have e-mails sent to them
boolean get_member_email_allowed (MEMBER $member)
  • MEMBER $member: The member id
get_member_from_username (line 1132)

Get a member id from the given member's username.

  • return: The member id
MEMBER get_member_from_username (SHORT_TEXT $name)
  • SHORT_TEXT $name: The member name
get_member_ip (line 1384)

Get a first known IP address of the given member.

  • return: The IP address
IP get_member_ip (MEMBER $member)
  • MEMBER $member: The member id
get_member_join_timestamp (line 880)

Get the timestamp of a member's join date.

  • return: The timestamp
TIME get_member_join_timestamp (MEMBER $member)
  • MEMBER $member: The member id
get_member_photo_url (line 335)

Get the photo URL for the specified member id.

  • return: The URL (blank: none)
URLPATH get_member_photo_url (MEMBER $member)
  • MEMBER $member: The member id
get_member_row (line 1397)

Gets a whole member row from the database.

  • return: The member row (NULL: no such member)
?array get_member_row (MEMBER $member)
  • MEMBER $member: The member id
get_member_row_field (line 1414)

Gets a named field of a member row from the database.

  • return: The field
mixed get_member_row_field (MEMBER $member, string $field)
  • MEMBER $member: The member id
  • string $field: The field identifier
get_next_member (line 820)

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.

  • return: The next member id (NULL: no next member)
?MEMBER get_next_member (MEMBER $member)
  • MEMBER $member: The member id to increment
get_num_forum_posts (line 1111)

Get the total posts ever made on the forum.

  • return: The number of posts
integer get_num_forum_posts ()
get_num_users_forums (line 1081)

Get the number of members currently online on the forums.

  • return: The number of members
integer get_num_users_forums ()
get_post_count (line 907)

Get the given member's post count.

  • return: The post count
integer get_post_count (MEMBER $member)
  • MEMBER $member: The member id
get_previous_member (line 807)

This is the opposite of the get_next_member function.

  • return: The previous member id (NULL: no previous member)
?MEMBER get_previous_member (MEMBER $member)
  • MEMBER $member: The member id to decrement
get_skin_list (line 985)

Find a list of all forum skins (aka themes).

  • return: The list of skins
array get_skin_list ()
get_tid_from_topic (line 621)

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.

  • return: The topic id
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_topics (line 1101)

Get the total topics ever made on the forum.

  • return: The number of topics
integer get_topics ()
get_topic_count (line 918)

Get the given member's topic count.

  • return: The topic count
integer get_topic_count (MEMBER $member)
  • MEMBER $member: The member id
get_top_posters (line 41)

Get the rows for the top given number of posters on the forum.

  • return: The rows for the given number of top posters in the forum
array get_top_posters (integer $limit)
  • integer $limit: The limit to the number of top posters to fetch
install_create_custom_field (line 105)

Add the specified custom field to the forum (some forums implemented this using proper custom profile fields, others through adding a new field).

  • return: Whether the custom field was created successfully
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
install_get_path_search_list (line 166)

Get an array of paths to search for config at.

  • return: The paths in which to search for the forum config
array install_get_path_search_list ()
install_specifics (line 122)

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

  • return: The attributes for the forum
array install_specifics ()
install_test_load_from (line 139)

Searches for forum auto-config at this path.

  • return: Whether the forum auto-config could be found
boolean install_test_load_from (PATH $path)
  • PATH $path: The path in which to search
is_banned (line 929)

Find out if the given member id is banned.

  • return: Whether the member is banned
boolean is_banned (MEMBER $member)
  • MEMBER $member: The member id
is_cookie_login_name (line 62)

Find if the login cookie contains the login name instead of the member id.

  • return: Whether the login cookie contains a login name or a member id
boolean is_cookie_login_name ()
is_hashed (line 72)

Find if login cookie is md5-hashed.

  • return: Whether the login cookie is md5-hashed
boolean is_hashed ()
make_post_forum_topic (line 483)

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)
member_group_query (line 786)

Get an array of members who are in at least one of the given array of groups.

  • return: The array of members (NULL: no members)
?array member_group_query (array $groups, [?integer $max = NULL], [integer $start = 0])
  • array $groups: The array of groups
  • ?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
member_home_link (line 323)

Get a URL to the specified member's home (control panel).

  • return: The URL to the members home
URLPATH member_home_link (MEMBER $id)
  • MEMBER $id: The member id
pget_row (line 255)

Get a member profile-row for the member of the given name.

  • return: The profile-row (NULL: not found)
?array pget_row (SHORT_TEXT $name)
  • SHORT_TEXT $name: The member name
pin_topic (line 215)

Pin a topic.

void pin_topic (AUTO_LINK $id)
  • AUTO_LINK $id: The topic id
pnamelast_visit (line 290)

From a member profile-row, get the member's last visit date.

  • return: The last visit date
TIME pnamelast_visit (array $r)
  • array $r: The profile-row
pname_email (line 312)

From a member profile-row, get the member's e-mail address.

  • return: The member e-mail address
SHORT_TEXT pname_email (array $r)
  • array $r: The profile-row
pname_group (line 268)

From a member profile-row, get the member's primary usergroup.

  • return: The member's primary usergroup
GROUP pname_group (array $r)
  • array $r: The profile-row
pname_id (line 279)

From a member profile-row, get the member's member id.

  • return: The member id
MEMBER pname_id (array $r)
  • array $r: The profile-row
pname_name (line 301)

From a member profile-row, get the member's name.

  • return: The member name
string pname_name (array $r)
  • array $r: The profile-row
post_link (line 604)

Get a URL to the specified post id.

  • return: The URL to the post
URLPATH post_link (integer $id, string $forum)
  • integer $id: The post id
  • string $forum: The forum id
probe_ip (line 832)

Try to find a member with the given IP address

  • return: The distinct rows found
array probe_ip (IP $ip)
  • IP $ip: The IP address
set_custom_field (line 227)

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
show_forum_topics (line 659)

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)

  • return: The array of topics (NULL: error)
?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
topic_link (line 591)

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.

  • return: The URL to the topic
URLPATH topic_link (integer $id, string $forum)
  • integer $id: The topic id
  • string $forum: The forum id
_disable_staff_filter (line 1071)

If we can't get a list of admins via a usergroup query, we have to disable the staff filter - else the staff filtering can cause disaster at the point of being turned on (because it can't automatically sync).

  • return: Whether to disable the staff filter
boolean _disable_staff_filter ()
_forum_link (line 421)

Get a URL to the specified forum.

  • return: The URL to the specified forum
URLPATH _forum_link (integer $id)
  • integer $id: The forum id
_get_members_groups (line 1185)

Get the forum usergroup relating to the specified member id.

  • return: The array of forum usergroups
array _get_members_groups (MEMBER $member)
  • MEMBER $member: The member id
_get_member_email_address (line 856)

Get the e-mail address for the specified member id.

  • return: The e-mail address
SHORT_TEXT _get_member_email_address (MEMBER $member)
  • MEMBER $member: The member id
_get_moderator_groups (line 1155)

Get the ids of the moderator groups.

It should not be assumed that a member only has one group - this depends upon the forum the driver works for. It also does not take the staff site filter into account.

  • return: The moderator group ids
array _get_moderator_groups ()
_get_num_new_forum_posts (line 1121)

Get the number of new forum posts.

  • return: The number of posts
integer _get_num_new_forum_posts ()
_get_super_admin_groups (line 1142)

Get the ids of the admin groups.

  • return: The admin group ids
array _get_super_admin_groups ()
_get_theme (line 1001)

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.

  • return: The theme
ID_TEXT _get_theme ([boolean $skip_member_specific = false])
  • boolean $skip_member_specific: Whether to avoid member-specific lookup
_get_usergroup_list (line 1167)

Get the forum usergroup list.

  • return: The usergroup list
array _get_usergroup_list ()
_get_username (line 844)

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.

  • return: The member name (NULL: member deleted)
?SHORT_TEXT _get_username (MEMBER $member)
  • MEMBER $member: The member id
_is_staff (line 1046)

Find if the specified member id is marked as staff or not.

  • return: Whether the member is staff
boolean _is_staff (MEMBER $member)
  • MEMBER $member: The member id
_is_super_admin (line 1059)

Find if the specified member id is marked as a super admin or not.

  • return: Whether the member is a super admin
boolean _is_super_admin (MEMBER $member)
  • MEMBER $member: The member id
_join_link (line 389)

Get a URL to the registration page (for people to create member accounts).

  • return: The URL to the registration page
URLPATH _join_link ()
_member_pm_link (line 410)

Get a URL to send a private/personal message to the given member.

  • return: The URL to the private/personal message page
URLPATH _member_pm_link (MEMBER $id)
  • MEMBER $id: The member id
_member_profile_link (line 378)

Get a URL to the specified member's profile.

  • return: The URL to the member profile
URLPATH _member_profile_link (MEMBER $id)
  • MEMBER $id: The member id
_online_link (line 399)

Get a URL to the members-online page.

  • return: The URL to the members-online page
URLPATH _online_link ()
_phpbb_ip (line 446)

Convert an IP address into phpBB hexadecimal string format.

  • return: The phpBB IP address
string _phpbb_ip (IP $ip)
  • IP $ip: The normal IP address
_un_phpbb_ip (line 459)

Convert an IP address from phpBB hexadecimal string format.

  • return: The normal IP address
IP _un_phpbb_ip (string $ip)
  • string $ip: The phpBB IP address

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()

Documentation generated on Sun, 02 Jan 2011 23:08:21 +0000 by phpDocumentor 1.4.3