Classes Summary
SMF_BackgroundTask Class SMF_BackgroundTask
ProxyServer Class ProxyServer
xcache_cache Our Cache API class
zend_cache Our Cache API class
search_api Class search_api
cache_api Class cache_api
Punycode Punycode implementation as described in RFC 3492
curl_fetch_web_data Class curl_fetch_web_data Simple cURL class to fetch a web page Properly redirects even with safe mode and basedir restrictions Can provide simple post options to a page Load class Initiate as - $fetch_data = new cURL_fetch_web_data(); - optionally pass an array of cURL options and redirect count - cURL_fetch_web_data(cURL options array, Max redirects); - $fetch_data = new cURL_fetch_web_data(array(CURLOPT_SSL_VERIFYPEER => 1), 5); Make the call - $fetch_data(''); // fetch a page - $fetch_data('', array('user' => 'name', 'password' => 'password')); // post to a page - $fetch_data('', parameter1&parameter2&parameter3); // post to a page Get the data - $fetch_data->result('body'); // just the page content - $fetch_data->result(); // an array of results, body, header, http result codes - $fetch_data->result_raw(); // show all results of all calls (in the event of a redirect) - $fetch_data->result_raw(0); // show all results of call x
standard_search Standard non full index, non custom index search
apcu_cache Our Cache API class
Mentions This file contains core of the code for Mentions Simple Machines Forum (SMF)
fulltext_search Class fulltext_search Used for fulltext index searching
paypal_display Class for returning available form data for this gateway
paypal_payment Class of functions to validate a IPN response and provide details of the payment
memcache_cache Our Cache API class
apc_cache Our Cache API class
postgres_cache PostgreSQL Cache API class
Likes_Notify_Background This task handles notifying users when something is liked. Simple Machines Forum (SMF)
ApprovePost_Notify_Background This file contains background notification code for moderators to approve posts. Simple Machines Forum (SMF)
GroupReq_Notify_Background This taks handles notifying someone that a user has requested to join a group they moderate. Simple Machines Forum (SMF)
CreatePost_Notify_Background This file contains background notification code for any create post action Simple Machines Forum (SMF)
ApproveReply_Notify_Background This file contains background notification code for members to reply to posts made by moderators in their own unapproved topics. Simple Machines Forum (SMF)
CreateAttachment_Notify_Background This file contains background notification code for moderators to approve attachments. Simple Machines Forum (SMF)
GroupAct_Notify_Background This taks handles notifying someone that a user has requested to join a group they moderate. Simple Machines Forum (SMF)
MemberReportReply_Notify_Background This task handles notifying users when they've commented to a moderation report and someone else replies to them. Simple Machines Forum (SMF)
EventNew_Notify_Background This taks handles notifying someone that a new event has been added to the calendar - but only when no topic has been created. Simple Machines Forum (SMF)
Buddy_Notify_Background This task handles notifying someone that an user has added him/her as his/her buddy. Simple Machines Forum (SMF)
Update_TLD_Regex This file initiates updates of $modSettings['tld_regex'] Simple Machines Forum (SMF)
Birthday_Notify_Background This file contains background notification code Simple Machines Forum (SMF)
Register_Notify_Background This task handles notifying users when someone new signs up. Simple Machines Forum (SMF)
MsgReport_Notify_Background This task handles notifying users when a message gets reported. Simple Machines Forum (SMF)
MsgReportReply_Notify_Background This task handles notifying users when they've commented to a moderation report and someone else replies to them. Simple Machines Forum (SMF)
MemberReport_Notify_Background This task handles notifying users when another member's profile gets reported. Simple Machines Forum (SMF)
custom_search Used for the "custom search index" option Class custom_search
browser_detector Class browser_detector This class is an experiment for the job of correctly detecting browsers and settings needed for them. - Detects the following browsers - Opera, Webkit, Firefox, Web_tv, Konqueror, IE, Gecko - Webkit variants: Chrome, iphone, blackberry, android, safari, ipad, ipod - Opera Versions: 6, 7, 8 ... 10 ... and mobile mini and mobi - Firefox Versions: 1, 2, 3 .... 11 ... - Chrome Versions: 1 ... 18 ... - IE Versions: 4, 5, 5.5, 6, 7, 8, 9, 10 ... mobile and Mac - MS Edge - Nokia
memcached_cache Our Cache API class
xmlArray Class xmlArray Represents an XML array
ftp_connection Class ftp_connection Simple FTP protocol implementation.
smf_cache Our Cache API class
Likes Class Likes
sqlite_cache SQLite Cache API class
gif_lzw_compression Class gif_lzw_compression An implementation of the LZW compression algorithm
Interfaces Summary
search_api_interface Simple Machines Forum (SMF)
cache_api_interface Interface cache_api_interface
Functions Summary
loadSession Attempt to start the session, unless it already has been.
sessionClose Implementation of sessionClose() replacing the standard close handler. It simply returns true.
sessionDestroy Implementation of sessionDestroy() replacing the standard destroy handler.
sessionGC Implementation of sessionGC() replacing the standard gc handler. Callback for garbage collection.
sessionOpen Implementation of sessionOpen() replacing the standard open handler. It simply returns true.
sessionRead Implementation of sessionRead() replacing the standard read handler.
sessionWrite Implementation of sessionWrite() replacing the standard write handler.
AlignURLsWithSSLSetting Align URLs with SSL Setting. If force_ssl has changed, ensure all URLs are aligned with the new setting. This includes: - $boardurl - $modSettings['smileys_url'] - $modSettings['avatar_url'] - $modSettings['custom_avatar_url'] - if found - theme_url - all entries in the themes table - images_url - all entries in the themes table This function will NOT overwrite URLs that are not subfolders of $boardurl. The admin must have pointed those somewhere else on purpose, so they must be updated manually. A word of caution: You can't trust the http/https scheme reflected for these URLs in $globals (e.g., $boardurl) or in $modSettings. This is because SMF may change them in memory to comply with the force_ssl setting - a soft redirect may be in effect... Thus, conditional updates to these values do not work. You gotta just brute force overwrite them based on force_ssl.
BoardurlMatch $boardurl Match. Helper function to see if the url being checked is based off of $boardurl. If not, it was overridden by the admin to some other value on purpose, and should not be stepped on by SMF when aligning URLs with the force_ssl setting. The site admin must change URLs that are not aligned with $boardurl manually.
ModifyCacheSettings Simply modifying cache functions
ModifyCookieSettings This function handles cookies settings modifications.
ModifyDatabaseSettings Basic database and paths settings - database name, host, etc. - It shows an interface for the settings in Settings.php to be changed. - It contains the actual array of settings to show from Settings.php. - Requires the admin_forum permission. - Uses the edit_settings administration area. - Accessed from ?action=admin;area=serversettings;sa=database.
ModifyGeneralSecuritySettings Settings really associated with general security aspects.
ModifyGeneralSettings General forum settings - forum name, maintenance mode, etc. Practically, this shows an interface for the settings in Settings.php to be changed. - Requires the admin_forum permission. - Uses the edit_settings administration area. - Contains the actual array of settings to show from Settings.php. - Accessed from ?action=admin;area=serversettings;sa=general.
ModifyLoadBalancingSettings Allows to edit load balancing settings.
ModifySettings This is the main dispatcher. Sets up all the available sub-actions, all the tabs and selects the appropriate one based on the sub-action. Requires the admin_forum permission. Redirects to the appropriate function based on the sub-action. uses edit_settings adminIndex.
ShowPHPinfoSettings Allows us to see the servers php settings - loads the settings into an array for display in a template - drops cookie values just in case
loadCacheAPIs Get the installed Cache API implementations.
prepareDBSettingContext Helper function, it sets up the context for database settings.
prepareServerSettingsContext Helper function, it sets up the context for the manage server settings. - The basic usage of the six numbered key fields are - array (0 ,1, 2, 3, 4, 5 0 variable name - the name of the saved variable 1 label - the text to show on the settings page 2 saveto - file or db, where to save the variable name - value pair 3 type - type of data to save, int, float, text, check 4 size - false or field size 5 help - '' or helptxt variable name ) the following named keys are also permitted 'disabled' => A string of code that will determine whether or not the setting should be disabled 'postinput' => Text to display after the input field 'preinput' => Text to display before the input field 'subtext' => Additional descriptive text to display under the field's label 'min' => minimum allowed value (for int/float). Defaults to 0 if not set. 'max' => maximum allowed value (for int/float) 'step' => how much to increment/decrement the value by (only for int/float - mostly used for float values).
registerSMStats Registers the site with the Simple Machines Stat collection. This function purposely does not use updateSettings.php as it will be called shortly after this process completes by the saveSettings() function. See Stats.php SMStats() for more information.
saveDBSettings Helper function for saving database settings.
saveSettings Helper function. Saves settings by putting them in Settings.php or saving them in the settings table. - Saves those settings set from ?action=admin;area=serversettings. - Requires the admin_forum permission. - Contains arrays of the types of data to save into Settings.php.
RecentPosts Find the ten most recent posts.
UnreadTopics Find unread topics and replies.
getLastPost Get the latest post made on the system - respects approved, recycled, and board permissions - @todo is this even used anywhere?
AdminBoardRecount Recount many forum totals that can be recounted automatically without harm. it requires the admin_forum permission. It shows the maintain_forum admin area. Totals recounted: - fixes for topics with wrong num_replies. - updates for num_posts and num_topics of all boards. - recounts instant_messages but not unread_messages. - repairs messages pointing to boards with topics pointing to other boards. - updates the last message posted in boards and children. - updates member count, latest member, topic count, and message count. The function redirects back to ?action=admin;area=maintain when complete. It is accessed via ?action=admin;area=maintain;sa=database;activity=recount.
ConvertEntities Converts HTML-entities to their UTF-8 character equivalents. This requires the admin_forum permission. Pre-condition: UTF-8 has been set as database and global character set. It is divided in steps of 10 seconds. This action is linked from the maintenance screen (if applicable). It is accessed by ?action=admin;area=maintain;sa=database;activity=convertentities. uses Admin template, convert_entities sub-template.
ConvertMsgBody Convert the column "body" of the table {db_prefix}messages from TEXT to MEDIUMTEXT and vice versa. It requires the admin_forum permission. This is needed only for MySQL. During the conversion from MEDIUMTEXT to TEXT it check if any of the posts exceed the TEXT length and if so it aborts. This action is linked from the maintenance screen (if it's applicable). Accessed by ?action=admin;area=maintain;sa=database;activity=convertmsgbody. uses the convert_msgbody sub template of the Admin template.
Destroy Oh noes! I'd document this but that would give it away
MaintainCleanCache Wipes the whole cache directory. This only applies to SMF's own cache directory, though.
MaintainDatabase Supporting function for the database maintenance area.
MaintainEmptyUnimportantLogs Empties all uninmportant logs
MaintainFindFixErrors Find and fix all errors on the forum.
MaintainMassMoveTopics Moves topics from one board to another. uses not_done template to pause the process.
MaintainMembers Supporting function for the members maintenance area.
MaintainPurgeInactiveMembers Removing old members. Done and out!
MaintainReattributePosts Re-attribute posts.
MaintainRecountPosts Recalculate all members post counts it requires the admin_forum permission. - recounts all posts for members found in the message table - updates the members post count record in the members table - honors the boards post count flag - does not count posts in the recycle bin - zeros post counts for all members with no posts in the message table - runs as a delayed loop to avoid server overload - uses the not_done template in Admin.template The function redirects back to action=admin;area=maintain;sa=members when complete. It is accessed via ?action=admin;area=maintain;sa=members;activity=recountposts
MaintainRemoveOldDrafts Removing old drafts
MaintainRemoveOldPosts Removing old posts doesn't take much as we really pass through.
MaintainRoutine Supporting function for the routine maintenance area.
MaintainTopics Supporting function for the topics maintenance area.
ManageMaintenance Main dispatcher, the maintenance access point. This, as usual, checks permissions, loads language files, and forwards to the actual workers.
OptimizeTables Optimizes all tables in the database and lists how much was saved. It requires the admin_forum permission. It shows as the maintain_forum admin area. It is accessed from ?action=admin;area=maintain;sa=database;activity=optimize. It also updates the optimize scheduled task such that the tables are not automatically optimized again too soon. uses the optimize sub template
VersionDetail Perform a detailed version check. A very good thing ;). The function parses the comment headers in all files for their version information, and outputs that for some javascript to check with It does not connect directly with, but rather expects the client to. It requires the admin_forum permission. Uses the view_versions admin area. Accessed through ?action=admin;area=maintain;sa=routine;activity=version. uses Admin template, view_versions sub-template.
fixchardb__callback Converts html entities to utf8 equivalents special db wrapper for mysql based on the limitation of mysql/mb3 Callback function for preg_replace_callback Uses capture group 1 in the supplied array Does basic checks to keep characters inside a viewable range.
get_files_recursive Gets all of the files in a directory and its children directories
get_hook_info_from_raw Parses each hook data and returns an array.
get_integration_hooks Parses modSettings to create integration hook array
get_integration_hooks_count Simply returns the total count of integration hooks Used by the integration hooks list function (list_integration_hooks)
get_integration_hooks_data Callback function for the integration hooks list (list_integration_hooks) Gets all of the hooks in the system and their status
list_integration_hooks Generates a list of integration hooks for display Accessed through ?action=admin;area=maintain;sa=hooks; Allows for removal or disabling of selected hooks
ViewQuery Show the database queries for debugging What this does: - Toggles the session variable 'view_queries'. - Views a list of queries and analyzes them. - Requires the admin_forum permission. - Is accessed via ?action=viewquery. - Strings in this function have not been internationalized.
PlushSearch1 Ask the user what they want to search for. What it does: - shows the screen to search forum posts (action=search) - uses the main sub template of the Search template. - uses the Search language file. - requires the search_posts permission. - decodes and loads search parameters given in the URL (if any). - the form redirects to index.php?action=search2.
PlushSearch2 Gather the results and show them. What it does: - checks user input and searches the messages table for messages matching the query. - requires the search_posts permission. - uses the results sub template of the Search template. - uses the Search language file. - stores the results into the search cache. - show the results of the search query.
findSearchAPI Creates a search API and returns the object.
prepareSearchContext Callback to return messages - saves memory. What it does: - callback function for the results sub template. - loads the necessary contextual data to show a search result.
searchSort This function compares the length of two strings plus a little. What it does: - callback function for usort used to sort the fulltext results. - passes sorting duty to the current API.
MergeDone Shows a 'merge completed' screen. is accessed with ?action=mergetopics;sa=done. uses 'merge_done' sub template of the SplitTopics template.
MergeExecute set merge options and do the actual merge of two or more topics. the merge options screen: * shows topics to be merged and allows to set some merge options. * is accessed by ?action=mergetopics;sa=options.and can also internally be called by QuickModeration() (Subs-Boards.php). * uses 'merge_extra_options' sub template of the MoveTopic template. the actual merge: * is accessed with ?action=mergetopics;sa=execute. * updates the statistics to reflect the merge. * logs the action in the moderation log. * sends a notification is sent to all users monitoring this topic. * redirects to ?action=mergetopics;sa=done.
MergeIndex allows to pick a topic to merge the current topic with. is accessed with ?action=mergetopics;sa=index default sub action for ?action=mergetopics. uses 'merge' sub template of the MoveTopic template. allows to set a different target board.
MergeTopics merges two or more topics into one topic. delegates to the other functions (based on the URL parameter sa). loads the SplitTopics template. requires the merge_any permission. is accessed with ?action=mergetopics.
SplitExecute do the actual split. is accessed with ?action=splittopics;sa=execute. uses the main SplitTopics template. supports three ways of splitting: (1) only one message is split off. (2) all messages after and including a given message are split off. (3) select topics to split (redirects to SplitSelectTopics()). uses splitTopic function to do the actual splitting.
SplitIndex screen shown before the actual split. is accessed with ?action=splittopics;sa=index. default sub action for ?action=splittopics. uses 'ask' sub template of the SplitTopics template. redirects to SplitSelectTopics if the message given turns out to be the first message of a topic. shows the user three ways to split the current topic.
SplitSelectTopics allows the user to select the messages to be split. is accessed with ?action=splittopics;sa=selectTopics. uses 'select' sub template of the SplitTopics template or (for XMLhttp) the 'split' sub template of the Xml template. supports XMLhttp for adding/removing a message to the selection. uses a session variable to store the selected topics. shows two independent page indexes for both the selected and not-selected messages (;topic=1.x;start2=y).
SplitSelectionExecute do the actual split of a selection of topics. is accessed with ?action=splittopics;sa=splitSelection. uses the main SplitTopics template. uses splitTopic function to do the actual splitting.
SplitTopics splits a topic into two topics. delegates to the other functions (based on the URL parameter 'sa'). loads the SplitTopics template. requires the split_any permission. is accessed with ?action=splittopics.
splitTopic general function to split off a topic. creates a new topic and moves the messages with the IDs in array messagesToBeSplit to the new topic. the subject of the newly created topic is set to 'newSubject'. marks the newly created message as read for the user splitting it. updates the statistics to reflect a newly created topic. logs the action in the moderation log. a notification is sent to all users monitoring this topic.
getMembersOnlineStats Retrieve a list and several other statistics of the users currently online. Used by the board index and SSI. Also returns the membergroups of the users that are currently online. (optionally) hides members that chose to hide their online presence.
trackStatsUsersOnline Check if the number of users online is a record and store it.
RemindMe This is the controlling delegator uses Profile language files and Reminder template
RemindPick Allows the user to pick how they wish to be reminded
SecretAnswer2 Validates the secret answer input by the user
SecretAnswerInput Allows the user to enter their secret answer
setPassword Allows the user to set their new password
setPassword2 Actually sets the new password
EditComment Shows a textarea for editing a moderator comment. Handles the edited comment and stores it on the DB.
HandleComment Creates/Deletes moderator comments.
HandleReport Performs closing/ignoring actions for a given report.
ReportDetails Shows detailed information about a report. such as report comments and moderator comments. Shows a list of moderation actions for the specific report.
ReportedContent Sets and call a function based on the given subaction. Acts as a dispatcher function. It requires the moderate_forum permission. uses ModerationCenter template. uses ModerationCenter language file.
ShowClosedReports Shows all currently closed reported posts.
ShowReports Shows all currently open reported posts. Handles closing multiple reports
createWaveFile Creates a wave file that spells the letters of $word. Tries the user's language first, and defaults to english. Used by VerificationCode() (Register.php).
get_all_themes Loads and returns all installed themes. Stores all themes on $context['themes'] for easier use.
get_file_listing Generates a file listing for a given directory
get_single_theme Gets a single theme's info.
get_theme_info Reads an .xml file and returns the data as an array Removes the entire theme if the .xml file couldn't be found or read.
remove_dir Removes a directory from the themes dir. This is a recursive function, it will call itself if there are subdirs inside the main directory.
remove_theme Removes a theme from the DB, includes all possible places where the theme might be used.
theme_install Inserts a theme's data to the DataBase. Ends execution with fatal_lang_error() if an error appears.
GetJumpTo Get a list of boards and categories used for the jumpto dropdown.
ListMessageIcons Gets a list of available message icons and sends the info to the template for display
RetrievePreview Handles retrieving previews of news items, newsletters, signatures and warnings. Calls the appropriate function based on $_POST['item']
XMLhttpMain The main handler and designator for AJAX stuff - jumpto, message icons and previews
newsletterpreview Handles previewing newsletters
newspreview Handles previewing news items
sig_preview Handles previewing signatures
warning_preview Handles previewing user warnings
EditBoard Modify a specific board. .. screen for editing and repositioning a board. called by ?action=admin;area=manageboards;sa=board uses the modify_board sub-template of the ManageBoards template. requires manage_boards permission. also used to show the confirm deletion of category screen (sub-template confirm_board_delete).
EditBoard2 Make changes to/delete a board. (function for handling a submitted form saving the board.) It also handles deletion of a board. Called by ?action=admin;area=manageboards;sa=board2 Redirects to ?action=admin;area=manageboards. It requires manage_boards permission.
EditBoardSettings A screen to set a few general board and category settings. uses modify_general_settings sub-template.
EditCategory Modify a specific category. (screen for editing and repositioning a category.) Also used to show the confirm deletion of category screen (sub-template confirm_category_delete). Called by ?action=admin;area=manageboards;sa=cat Requires manage_boards permission. uses ManageBoards template, modify_category sub-template.
EditCategory2 Function for handling a submitted form saving the category. (complete the modifications to a specific category.) It also handles deletion of a category. It requires manage_boards permission. Called by ?action=admin;area=manageboards;sa=cat2 Redirects to ?action=admin;area=manageboards.
ManageBoards The main dispatcher; doesn't do anything, just delegates. This is the main entry point for all the manageboards admin screens. Called by ?action=admin;area=manageboards. It checks the permissions, based on the sub-action, and calls a function based on the sub-action. uses ManageBoards language file.
ManageBoardsMain The main control panel thing, the screen showing all boards and categories. Called by ?action=admin;area=manageboards or ?action=admin;area=manageboards;sa=move. Requires manage_boards permission. It also handles the interface for moving boards. uses ManageBoards template, main sub-template.
ModifyCat Used to retrieve data for modifying a board category
EditPermissionProfiles Add/Edit/Delete profiles.
GeneralPermissionSettings A screen to set some general settings for permissions.
ModifyMembergroup Initializes the necessary to modify a membergroup's permissions.
ModifyMembergroup2 This function actually saves modifications to a membergroup's board permissions.
ModifyPermissions Dispatches to the right function based on the given subaction. Checks the permissions, based on the sub-action. Called by ?action=managepermissions. uses ManagePermissions language file.
ModifyPostModeration Present a nice way of applying post moderation.
PermissionByBoard Handle permissions by board. .. more or less. :P
PermissionIndex Sets up the permissions by membergroup index page. Called by ?action=managepermissions Creates an array of all the groups with the number of members and permissions. uses ManagePermissions language file. uses ManagePermissions template file. uses ManageBoards template, permission_index sub-template.
SetQuickGroups Handles permission modification actions from the upper part of the permission manager index.
loadIllegalBBCHtmlGroups Loads a list of membergroups who cannot be granted the bbc_html permission. Stores the groups in $context['permissions_excluded']['bbc_html'].
loadIllegalGuestPermissions Loads the permissions that can not be given to guests. Stores the permissions in $context['non_guest_permissions']. Also populates $context['permissions_excluded'] with the info.
loadIllegalPermissions Load permissions someone cannot grant.
loadPermissionProfiles Load permissions profiles.
removeIllegalBBCHtmlPermission Removes the bbc_html permission from anyone who shouldn't have it
theme_inline_permissions Show a collapsible box to set a specific permission. The function is called by templates to show a list of permissions settings. Calls the template function template_inline_permissions().
updateChildPermissions This function updates the permissions of any groups based off this group.
ModBlockGroupRequests Show a list of all the group requests they can see.
ModBlockNotes Show an area for the moderator to type into.
ModBlockReportedMembers Show a list of the most recent reported posts.
ModBlockReportedPosts Show a list of the most recent reported posts.
ModBlockWatchedUsers Show a list of the most active watched users.
ModEndSession This ends a moderator session, requiring authentication to access the MCP again.
ModerateGroups Act as an entrace for all group related activity.
ModerationHome This function basically is the home page of the moderation center.
ModerationMain Entry point for the moderation center.
ModerationSettings Change moderation preferences.
ModifyWarningTemplate Edit a warning template.
ReportedMembers Browse all the reported users. ..
ShowNotice Show a notice sent to a user.
ViewWarningLog Simply put, look at the warning log!
ViewWarningTemplates Load all the warning templates.
ViewWarnings Entry point for viewing warning related stuff.
ViewWatchedUsers View watched users.
list_getWarningCount Callback for createList().
list_getWarningTemplateCount Callback for createList().
list_getWarningTemplates Callback for createList().
list_getWarnings Callback for createList().
list_getWatchedUserCount Callback for createList().
list_getWatchedUserPosts Callback for createList().
list_getWatchedUserPostsCount Callback for createList().
list_getWatchedUsers Callback for createList().
countReports Counts how many reports are in total. Used for creating pagination.
deleteModComment Deletes a moderator comment from the DB.
editModComment Saves the new information whenever a moderator comment is edited.
getCommentModDetails Gets specific details about a moderator comment. It also adds a permission for editing/deleting the comment, by default only admins and the author of the comment can edit/delete it.
getReportComments Gets both report comments as well as any moderator comment.
getReportDetails Gets additional information for a specific report.
getReports Get all possible reports the current user can see.
recountOpenReports Recount all open reports. Sets a SESSION var with the updated info.
saveModComment Inserts a new moderator comment to the DB.
updateReport Updates a report with the given parameters. Logs each action via logAction()
DisplayStats Display some useful/interesting board statistics. gets all the statistics in order and puts them in. uses the Stats template and language file. (and main sub template.) requires the view_stats permission. accessed from ?action=stats.
SMStats This is the function which returns stats to IF enabled! called by only returns anything if stats was enabled during installation. can also be accessed by the admin, to show what stats collects. does not return any data directly to, instead starts a new request for security.
getDailyStats Loads the statistics on a daily basis in $context. called by DisplayStats().
AdminApprove This function handles the approval, rejection, activation or deletion of members. Called by ?action=admin;area=viewmembers;sa=approve. Requires the moderate_forum permission. Redirects to ?action=admin;area=viewmembers;sa=browse with the same parameters as the calling page.
GetMemberActivationCounts Fetches all the activation counts for ViewMembers.
MembersAwaitingActivation List all members who are awaiting approval / activation, sortable on different columns. It allows instant approval or activation of (a selection of) members. Called by ?action=admin;area=viewmembers;sa=browse;type=approve or ?action=admin;area=viewmembers;sa=browse;type=activate. The form submits to ?action=admin;area=viewmembers;sa=approve. Requires the moderate_forum permission. uses the admin_browse sub template of the ManageMembers template.
SearchMembers Search the member list, using one or more criteria. Called by ?action=admin;area=viewmembers;sa=search. Requires the moderate_forum permission. form is submitted to action=admin;area=viewmembers;sa=query. uses the search_members sub template of the ManageMembers template.
ViewMemberlist View all members list. It allows sorting on several columns, and deletion of selected members. It also handles the search query sent by ?action=admin;area=viewmembers;sa=search. Called by ?action=admin;area=viewmembers;sa=all or ?action=admin;area=viewmembers;sa=query. Requires the moderate_forum permission. uses the view_members sub template of the ManageMembers template.
ViewMembers The main entrance point for the Manage Members screen. As everyone else, it calls a function based on the given sub-action. Called by ?action=admin;area=viewmembers. Requires the moderate_forum permission. uses ManageMembers template uses ManageMembers language file.
jeffsdatediff Nifty function to calculate the number of days ago a given date was. Requires a unix timestamp as input, returns an integer. Named in honour of Jeff Lewis, the original creator of...this function.
getMemberGroups Returns a list of member groups. Used to upgrade 1.0 and 1.1.
makeFilesWritable Make files writable. First try to use regular chmod, but if that fails, try to use FTP.
print_error Prints an error to stderr.
quickFileWritable The quick version of makeFilesWritable, which does not support FTP.
smf_mysql_fetch_assoc Database functions below here.
smf_strtolower UTF-8 aware strtolower function.
throw_error Throws a graphical error message.
upgrade_clean_cache Clean the cache using the SMF 2.1 CacheAPI. If coming from SMF 2.0 and below it should wipe the cache using the SMF backend.
template_add_language Add a new language
template_download_language Simple Machines Forum (SMF)
template_modify_language_entries Edit language entries. Note that this doesn't always work because of PHP's max_post_vars setting.
template_by_board THe page that shows which permissions profile applies to each board
template_edit_profiles Edit permission profiles (predefined).
template_inline_permissions A form for displaying inline permissions, such as on a settings page.
template_modify_group Modify a group's permissions
template_modify_group_display The way of looking at permissions.
template_permission_index Simple Machines Forum (SMF)
template_postmod_permissions Edit post moderation permissions.
ssi_boardNews Show the latest news, with a template. .. by board.
ssi_boardStats Show some basic stats: Total This: XXXX, etc.
ssi_checkPassword Checks whether the specified password is correct for the specified user.
ssi_copyright Show the forum copyright. Only used in our ssi_examples files.
ssi_fetchGroupMembers Get al members in the specified group
ssi_fetchMember Fetch specific members
ssi_fetchPosts Fetches one or more posts by ID.
ssi_full_version Show the full SMF version string.
ssi_latestMember Show a link to the latest member: Please welcome, Someone, our latest member.
ssi_logOnline Just like whosOnline except it also logs the online presence.
ssi_login Shows a login box
ssi_logout Show a logout link.
ssi_menubar Display a menu bar, like is displayed at the top of the forum.
ssi_news Show a random forum news item
ssi_pollVote Handles voting in a poll (done automatically)
ssi_queryMembers Pulls info about members based on the specified parameters. Used by other functions to eliminate duplication.
ssi_queryPosts This handles actually pulling post info. Called from other functions to eliminate duplication.
ssi_quickSearch Shows a search box
ssi_randomMember Fetches a random member.
ssi_recentAttachments Shows the most recent attachments that the user can see
ssi_recentEvents Show the most recent events
ssi_recentPoll Shows the most recent poll
ssi_recentPosts Recent post list: [board] Subject by Poster Date
ssi_recentTopics Recent topic list: [board] Subject by Poster Date
ssi_showPoll Shows the poll from the specified topic
ssi_shutdown This shuts down the SSI and shows the footer.
ssi_software_year Show the SMF software year.
ssi_todaysBirthdays Show today's birthdays.
ssi_todaysCalendar Shows today's calendar items (events, birthdays and holidays)
ssi_todaysHolidays Shows today's holidays.
ssi_topBoards Shows a list of top boards based on activity
ssi_topPoll Show the top poll based on votes
ssi_topPoster Shows a list of top posters
ssi_topTopics Shows a list of top topics based on views or replies
ssi_topTopicsReplies Top topics based on replies
ssi_topTopicsViews Top topics based on views
ssi_version Show the SMF version.
ssi_welcome Display a welcome message, like: Hey, User, you have 0 messages, 0 are new.
ssi_whosOnline Shows a list of online users: YY Guests, ZZ Users and then a list. ..
ConvertUtf8 Handles converting your database to UTF-8
MySQLConvertOldIp Convert MySQL (var)char ip col to binary
detectSettingsFileMigrationNeeded Determine if we should auto select the migrate Settings file. This is determined by a variety of missing settings. Prior to checking these settings, we look for advanced setups such as integrations or if variables have been moved to another file. If these are detected, we abort.
fix_serialized_data Attempts to repair corrupted serialized data strings
migrateSettingsFile Takes the changes to be made during the upgradeOptions step, grabs all known Settings data from Settings.php, then runs through a process to rebuild onto a brand new Settings template. This should only be done if detection believes the settings file isn't using any advanced configuration setups in the Settings.php file. A copy is made as Settings_org.php to preserve all changes prior to migration.
move_db_last_error_to_cachedir As of 2.1, we want to store db_last_error.php in the cache To make that happen, Settings.php needs to ensure the $cachedir path is correct before trying to write to db_last_error.php
textfield_alter Alter a text column definition preserving its character set.
upgradeGetColumnInfo Get the column info. This is basically the same as smf_db_list_columns but we get 1 column, force detail and other checks.
utf8_strtolower Converts the given UTF-8 string into lowercase. equivalent to mb_strtolower($string, 'UTF-8')
utf8_strtoupper Convert the given UTF-8 string to uppercase. equivalent to mb_strtoupper($string, 'UTF-8')
deleteNotifyPrefs Deletes notification preference
getNotifyPrefs Fetches the list of preferences (or a single/subset of preferences) for notifications for one or more users.
setNotifyPrefs Sets the list of preferences for a single user.
getBoardList Generates the query to determine the list of available boards for a user Executes the query and returns the list
TrackIP Handles tracking a particular IP address
TrackLogins Tracks a user's logins.
fetch_alerts Fetch the alerts a member currently has.
list_getAttachments Get a list of attachments for a member. Callback for the list in showAttachments()
list_getGroupRequests Loads up information about a user's group requests. Callback for the list in trackGroupReq()
list_getGroupRequestsCount How many edits?
list_getIPMessageCount Gets the number of posts made from a particular IP
list_getIPMessages Gets all the posts made from a particular IP
list_getLoginCount Finds the total number of tracked logins for a particular user
list_getLogins Callback for the list in trackLogins.
list_getNumAttachments Gets the total number of attachments for a member
list_getNumUnwatched Count the number of topics in the unwatched list
list_getProfileEditCount How many edits?
list_getProfileEdits Loads up information about a user's profile edits. Callback for the list in trackEdits()
list_getUnwatched Gets information about unwatched (disregarded) topics. Callback for the list in show_unwatched
list_getUserErrorCount Get the number of user errors
list_getUserErrors Gets all of the errors generated by a user's actions. Callback for the list in track_activity
showAlerts Shows all alerts for a member
showAttachments Show all the attachments belonging to a member.
showPermissions Shows which permissions a user has
showPosts Show all posts by a member
showUnwatched Show all the unwatched topics.
statPanel Gets the user stats for display
summary View a summary.
trackActivity Handles tracking a user's activity
trackEdits Tracks a user's profile edits
trackGroupReq Display the history of group requests made by the user whose profile we are viewing.
tracking Loads up the information for the "track user" section of the profile
viewWarning View a member's warnings
CreateMessageIndex Create a custom search index for the messages table. Called by ?action=admin;area=managesearch;sa=createmsgindex. Linked from the EditSearchMethod screen. Requires the admin_forum permission. Depending on the size of the message table, the process is divided in steps. uses ManageSearch template, 'create_index', 'create_index_progress', and 'create_index_done' sub-templates.
EditSearchMethod Edit the search method and search index used. Calculates the size of the current search indexes in use. Allows to create and delete a fulltext index on the messages table. Allows to delete a custom index (that CreateMessageIndex() created). Called by ?action=admin;area=managesearch;sa=method. Requires the admin_forum permission. uses ManageSearch template, 'select_search_method' sub-template.
EditSearchSettings Edit some general settings related to the search function. Called by ?action=admin;area=managesearch;sa=settings. Requires the admin_forum permission.
EditWeights Edit the relative weight of the search factors. Called by ?action=admin;area=managesearch;sa=weights. Requires the admin_forum permission. uses ManageSearch template, 'modify_weights' sub-template.
ManageSearch Main entry point for the admin search settings screen. It checks permissions, and it forwards to the appropriate function based on the given sub-action. Defaults to sub-action 'settings'. Called by ?action=admin;area=managesearch. Requires the admin_forum permission. uses ManageSearch template. uses Search language file.
detectFulltextIndex Checks if the message table already has a fulltext index created and returns the key name Determines if a db is capable of creating a fulltext index
loadSearchAPIs Get the installed Search API implementations. This function checks for patterns in comments on top of the Search-API files! In addition to filenames pattern. It loads the search API classes if identified. This function is used by EditSearchMethod to list all installed API implementations.
DeleteMessage Remove just a single post. On completion redirect to the topic or to the board.
RemoveOldTopics2 So long as you are sure. .. all old posts will be gone. Used in ManageMaintenance.php to prune old topics.
RemoveTopic2 Completely remove an entire topic. Redirects to the board when completed.
RestoreTopic Move back a topic from the recycle board to its original board.
mergePosts Take a load of messages from one place and stick them in a topic
removeDeleteConcurrence Try to determine if the topic has already been deleted by another user.
removeMessage Remove a specific message (including permission checks). - normally, local and global should be the localCookies and globalCookies settings, respectively. - uses boardurl to determine these two things.
removeTopics Removes the passed id_topic's. (permissions are NOT checked here!).
ReportToModerator Report a post or profile to the moderator. .. ask for a comment. Gathers data from the user to report abuse to the moderator(s). Uses the ReportToModerator template, main sub template. Requires the report_any permission. Uses ReportToModerator2() if post data was sent. Accessed through ?action=reporttm.
ReportToModerator2 Send the emails. Sends off emails to all the moderators. Sends to administrators and global moderators. (1 and 2) Called by ReportToModerator(), and thus has the same permission and setting requirements as it does. Accessed through ?action=reporttm when posting.
reportPost Actually reports a post using information specified from a form
reportUser Actually reports a user's profile using information specified from a form
AnnounceTopic Handle the announce topic function (action=announce). checks the topic announcement permissions and loads the announcement template. requires the announce_topic permission. uses the ManageMembers template and Post language file. call the right function based on the sub-action.
AnnouncementSelectMembergroup Allow a user to chose the membergroups to send the announcement to. lets the user select the membergroups that will receive the topic announcement.
AnnouncementSend Send the announcement in chunks. splits the members to be sent a topic announcement into chunks. composes notification messages in all languages needed. does the actual sending of the topic announcements in chunks. calculates a rough estimate of the percentage items sent.
JavaScriptModify Used to edit the body or subject of a message inline called from action=jsmodify from script and topic js
Post Handles showing the post screen, loading the post to be modified, and loading any post quoted. - additionally handles previews of posts. - uses the Post template and language file, main sub template. - requires different permissions depending on the actions, but most notably post_new, post_reply_own, and post_reply_any. - shows options for the editing and posting of calendar events and attachments, as well as the posting of polls. - accessed from ?action=post.
Post2 Posts or saves the message composed with Post(). requires various permissions depending on the action. handles attachment, post, and calendar saving. sends off notifications, and allows for announcements and moderation. accessed from ?action=post2.
QuoteFast Loads a post an inserts it into the current editing text box. uses the Post language file. uses special (sadly browser dependent) javascript to parse entities for internationalization reasons. accessed with ?action=quotefast.
getTopic Get the topic for display purposes. gets a summary of the most recent posts in a topic. depends on the topicSummaryPosts setting. if you are editing a post, only shows posts previous to that post.
ViewBacktrace View a backtrace specified in $_REQUEST['backtrace'], with php highlighting on it Preconditions: - user must have admin_forum permission.
ViewErrorLog View the forum's error log. This function sets all the context up to show the error log for maintenance. It requires the maintain_forum permission. It is accessed from ?action=admin;area=logs;sa=errorlog. uses the Errors template and error_log sub template.
ViewFile View a file specified in $_REQUEST['file'], with php highlighting on it Preconditions: - file must be readable, - full file path must be base64 encoded, - user must have admin_forum permission. The line number number is specified by $_REQUEST['line']... The function will try to get the 20 lines before and after the specified line.
deleteErrors Delete all or some of the errors in the error log. It applies any necessary filters to deletion. This should only be called by ViewErrorLog(). It attempts to TRUNCATE the table to reset the auto_increment. Redirects back to the error log when done.
ViewModlog Prepares the information from the moderation log for viewing. Show the moderation log. If clearing the log, leaves a message in the log to indicate it was cleared, by whom and when. Requires the admin_forum permission. Accessed via ?action=moderate;area=modlog. uses Modlog template, main sub-template.
list_getModLogEntries Gets the moderation log entries that match the specified parameters. Callback for createList() in ViewModlog().
list_getModLogEntryCount Get the number of mod log entries. Callback for createList() in ViewModlog().
display_db_error Show an error message for the connection problems. It shows a complete page independent of language files or themes. It is used only if there's no way to connect to the database. It stops further execution of the script.
display_loadavg_error Show an error message for load average blocking problems. It shows a complete page independent of language files or themes. It is used only if the load averages are too high to continue execution. It stops further execution of the script.
display_maintenance_message Show a message for the (full block) maintenance mode. It shows a complete page independent of language files or themes. It is used only if $maintenance = 2 in Settings.php. It stops further execution of the script.
fatal_error An irrecoverable error. This function stops execution and displays an error message. It logs the error message if $log is specified.
fatal_lang_error Shows a fatal error with a message stored in the language file. This function stops execution and displays an error message by key. - uses the string with the error_message_key key. - logs the error in the forum's default language while displaying the error message in the user's language. - uses Errors language file and applies the $sprintf information if specified. - the information is logged if log is specified.
log_error Log an error, if the error logging is enabled. filename and line should be __FILE__ and __LINE__, respectively. Example use: die(log_error($msg));
log_error_online Small utility function for fatal error pages. Used by fatal_error(), fatal_lang_error()
set_fatal_error_headers Small utility function for fatal error pages. Used by @link display_db_error() @link display_loadavg_error() and
setup_fatal_error_context It is called by @link fatal_error() and @link fatal_lang_error(). uses Errors template, fatal_error sub template.
smf_error_handler Handler for standard error messages, standard PHP error handler replacement. It dies with fatal_error() if the error_level matches with error_reporting.
BoardIndex This function shows the board index. It uses the BoardIndex template, and main sub template. It updates the most online statistics. It is accessed by ?action=boardindex.
EditHoliday This function is used for adding/editing a specific holiday
ManageCalendar The main controlling function doesn't have much to do. .. yet. Just check permissions and delegate to the rest. uses ManageCalendar language file.
ModifyCalendarSettings Show and allow to modify calendar settings. Obviously.
ModifyHolidays The function that handles adding, and deleting holiday data
CopyTemplate Makes a copy of a template file in a new location uses Themes template, copy_template sub-template.
EditTheme Shows an interface for editing the templates. - uses the Themes template and edit_template/edit_style sub template. - accessed via ?action=admin;area=theme;sa=edit
EnableTheme Handles enabling/disabling a theme from the admin center
InstallCopy Makes a copy from the default theme, assigns a name for it and installs it. Creates a new .xml file containing all the theme's info.
InstallDir Install a theme from a specific dir Assumes the dir is located on the main Themes dir. Ends execution with fatal_lang_error() on any error.
InstallFile Installs a theme from a theme package. Stores the theme files on a temp dir, on success it renames the dir to the new theme's name. Ends execution with fatal_lang_error() on any error.
PickTheme Choose a theme from a list. allows an user or administrator to pick a new theme with an interface. - can edit everyone's (u = 0), guests' (u = -1), or a specific user's. - uses the Themes template. (pick sub template.) - accessed with ?action=admin;area=theme;sa=pick.
RemoveTheme Remove a theme from the database. - removes an installed theme. - requires an administrator. - accessed with ?action=admin;area=theme;sa=remove.
SetJavaScript Set an option via javascript. - sets a theme option without outputting anything. - can be used with javascript, via a dummy image... (which doesn't require the page to reload.) - requires someone who is logged in. - accessed via ?action=jsoption;var=variable;val=value;session_var=sess_id. - does not log access to the Who's Online log. (in index.php..)
SetThemeOptions Administrative global settings.
SetThemeSettings Administrative global settings. - saves and requests global theme settings. ($settings) - loads the Admin language file. - calls ThemeAdmin() if no theme is specified. (the theme center.) - requires admin_forum permission. - accessed with ?action=admin;area=theme;sa=list&th=xx.
ThemeAdmin This function allows administration of themes and their settings, as well as global theme settings. - sets the settings theme_allow, theme_guests, and knownThemes. - requires the admin_forum permission. - accessed with ?action=admin;area=theme;sa=admin. uses Themes template uses Admin language file
ThemeInstall Installs new themes, calls the respective function according to the install type. - puts themes in $boardurl/Themes. - assumes the gzip has a root directory in it. (ie default.) Requires admin_forum. Accessed with ?action=admin;area=theme;sa=install.
ThemeList This function lists the available themes and provides an interface to reset the paths of all the installed themes.
ThemesMain Subaction handler - manages the action and delegates control to the proper sub-action. It loads both the Themes and Settings language files. Checks the session by GET or POST to verify the sent data. Requires the user not be a guest. (@todo what?) Accessed via ?action=admin;area=theme.
WrapAction Possibly the simplest and best example of how to use the template system. - allows the theme to take care of actions. - happens if $settings['catch_action'] is set and action isn't found in the action array. - can use a template, layers, sub_template, filename, and/or function.
displayDebug This function shows the debug information tracked when $db_show_debug = true in Settings.php
logAction This function logs an action in the respective log. (database log) You should use @link logActions() instead.
logActions Log changes to the forum, such as moderation events or administrative changes. This behaves just like logAction() in SMF 2.0, except that it is designed to log multiple actions at once.
logLastDatabaseError Logs the last database error into a file. Attempts to use the backup file first, to store the last database error and only update db_last_error.php if the first was successful.
trackStats Track Statistics. Caches statistics changes, and flushes them if you pass nothing. If '+' is used as a value, it will be incremented. It does not actually commit the changes until the end of the page view. It depends on the trackStats setting.
truncateArray Truncate the GET array to a specified length
writeLog Put this user in the online log.
EditTask Function for editing a task. uses ManageScheduledTasks template, edit_scheduled_tasks sub-template
ManageScheduledTasks Scheduled tasks management dispatcher. This function checks permissions and delegates to the appropriate function based on the sub-action. Everything here requires admin_forum permission. uses ManageScheduledTasks template file uses ManageScheduledTasks language file
ScheduledTasks List all the scheduled task in place on the forum. uses ManageScheduledTasks template, view_scheduled_tasks sub-template
TaskLog Show the log of all tasks that have taken place. uses ManageScheduledTasks language file
list_getNumTaskLogEntries Callback function for createList() in TaskLog().
list_getScheduledTasks Callback function for createList() in ScheduledTasks().
list_getTaskLogEntries Callback function for createList() in TaskLog().
cache_getLastPosts Callback-function for the cache for getLastPosts().
getLastPosts Get the latest posts of a forum.
createList Create a new list
createMenu Create a menu.
destroyMenu Delete a menu.
ManagePaidSubscriptions The main entrance point for the 'Paid Subscription' screen, calling the right function based on the given sub-action. It defaults to sub-action 'view'. Accessed from ?action=admin;area=paidsubscribe. It requires admin_forum permission for admin based actions.
ModifySubscription Adding, editing and deleting subscriptions. Accessed from ?action=admin;area=paidsubscribe;sa=modify.
ModifySubscriptionSettings Set any setting related to paid subscriptions, i.e. modify which payment methods are to be used. It requires the moderate_forum permission Accessed from ?action=admin;area=paidsubscribe;sa=settings.
ModifyUserSubscription Edit or add a user subscription. Accessed from ?action=admin;area=paidsubscribe;sa=modifyuser.
ViewSubscribedUsers View all the users subscribed to a particular subscription. Requires the admin_forum permission. Accessed from ?action=admin;area=paidsubscribe;sa=viewsub. Subscription ID is required, in the form of $_GET['sid'].
ViewSubscriptions View a list of all the current subscriptions Requires the admin_forum permission. Accessed from ?action=admin;area=paidsubscribe;sa=view.
addSubscription Add or extend a subscription of a user.
list_getSubscribedUserCount Returns how many people are subscribed to a paid subscription.
list_getSubscribedUsers Return the subscribed users list, for the given parameters.
loadPaymentGateways Load all the payment gateways. Checks the Sources directory for any files fitting the format of a payment gateway, loads each file to check it's valid, includes each file and returns the function name and whether it should work with this version of SMF.
loadSubscriptions This just kind of caches all the subscription data.
reapplySubscriptions Reapplies all subscription rules for each of the users.
removeSubscription Removes a subscription from a user, as in removes the groups.
ManagePostSettings The main entrance point for the 'Posts and topics' screen. Like all others, it checks permissions, then forwards to the right function based on the given sub-action. Defaults to sub-action 'posts'. Accessed from ?action=admin;area=postsettings. Requires (and checks for) the admin_forum permission.
ModifyDraftSettings Modify any setting related to drafts. Requires the admin_forum permission. Accessed from ?action=admin;area=postsettings;sa=drafts
ModifyPostSettings Modify any setting related to posts and posting. Requires the admin_forum permission. Accessed from ?action=admin;area=postsettings;sa=posts.
ModifyTopicSettings Modify any setting related to topics. Requires the admin_forum permission. Accessed from ?action=admin;area=postsettings;sa=topics.
SetCensor Shows an interface to set and test censored words. It uses the censor_vulgar, censor_proper, censorWholeWord, and censorIgnoreCase settings. Requires the admin_forum permission. Accessed from ?action=admin;area=postsettings;sa=censor. uses the Admin template and the edit_censored sub template.
DeleteDraft Deletes one or many drafts from the DB Validates the drafts are from the user is supplied an array of drafts will attempt to remove all of them
ReadDraft Reads a draft in from the user_drafts table Validates that the draft is the user''s draft Optionally loads the draft in to context or superglobal for loading in to the form
SaveDraft Saves a post draft in the user_drafts table The core draft feature must be enabled, as well as the post draft option Determines if this is a new or an existing draft Returns errors in $post_errors for display in the template
SavePMDraft Saves a PM draft in the user_drafts table The core draft feature must be enabled, as well as the pm draft option Determines if this is a new or and update to an existing pm draft
ShowDrafts Loads in a group of drafts for the user of a given type (0/posts, 1/pm's) loads a specific draft for forum use if selected. Used in the posting screens to allow draft selection Will load a draft if selected is supplied via post
XmlDraft Returns an xml response to an autosave ajax request provides the id of the draft saved and the time it was saved
showPMDrafts Show all PM drafts of the current user Uses the showpmdraft template Allows for the deleting and loading/editing of drafts
showProfileDrafts Show all drafts of a given type by the current user Uses the showdraft template Allows for the deleting and loading/editing of drafts
Ban Ban center. The main entrance point for all ban center functions. It is accesssed by ?action=admin;area=ban. It choses a function based on the 'sa' parameter, like many others. The default sub-action is BanList(). It requires the ban_members permission. It initializes the admin tabs. uses ManageBans template.
BanBrowseTriggers This handles the screen for showing the banned entities It is accessed by ?action=admin;area=ban;sa=browse It uses sub-tabs for browsing by IP, hostname, email or username. uses ManageBans template, browse_triggers sub template.
BanEdit This function is behind the screen for adding new bans and modifying existing ones. Adding new bans: - is accessed by ?action=admin;area=ban;sa=add. - uses the ban_edit sub template of the ManageBans template. Modifying existing bans: - is accessed by ?action=admin;area=ban;sa=edit;bg=x - uses the ban_edit sub template of the ManageBans template. - shows a list of ban triggers for the specified ban.
BanEditTrigger This function handles the ins and outs of the screen for adding new ban triggers or modifying existing ones. Adding new ban triggers: - is accessed by ?action=admin;area=ban;sa=edittrigger;bg=x - uses the ban_edit_trigger sub template of ManageBans. Editing existing ban triggers: - is accessed by ?action=admin;area=ban;sa=edittrigger;bg=x;bi=y - uses the ban_edit_trigger sub template of ManageBans.
BanList Shows a list of bans currently set. It is accessed by ?action=admin;area=ban;sa=list. It removes expired bans. It allows sorting on different criteria. It also handles removal of selected ban items. uses the main ManageBans template.
BanLog This handles the listing of ban log entries, and allows their deletion. Shows a list of logged access attempts by banned users. It is accessed by ?action=admin;area=ban;sa=log. How it works: - allows sorting of several columns. - also handles deletion of (a selection of) log entries.
addTriggers This function actually inserts the ban triggers into the database Errors in $context['ban_errors']
banEdit2 This function handles submitted forms that add, modify or remove ban triggers.
banLoadAdditionalIPs Finds additional IPs related to a certain user
checkExistingTriggerIP Checks whether a given IP range already exists in the trigger list. If yes, it returns an error message. Otherwise, it returns an array optimized for the database.
getMemberData Gets basic member data for the ban
insertBanGroup Creates a new ban group If the group is successfully created the ID is returned On error the error code is returned or false Errors in $context['ban_errors']
list_getBanItems Retrieves all the ban items belonging to a certain ban group
list_getBanLogEntries Load a list of ban log entries from the database. (no permissions check). Callback for $listOptions['get_items'] in BanLog()
list_getBanTriggers Get ban triggers for the given parameters. Callback from $listOptions['get_items'] in BanBrowseTriggers()
list_getBans Get bans, what else? For the given options.
list_getNumBanItems Gets the number of ban items belonging to a certain ban group
list_getNumBanLogEntries This returns the total count of ban log entries. Callback for $listOptions['get_count'] in BanLog().
list_getNumBanTriggers This returns the total number of ban triggers of the given type. Callback for $listOptions['get_count'] in BanBrowseTriggers().
list_getNumBans Get the total number of ban from the ban group table
logTriggersUpdates A small function to unify logging of triggers (updates and new)
range2ip Convert a range of given IP number into a single string. It's practically the reverse function of ip2range().
removeBanGroups This function removes a bunch of ban groups based on ids Doesn't clean the inputs
removeBanLogs Removes logs - by default truncate the table Doesn't clean the inputs
removeBanTriggers This function removes a bunch of triggers based on ids Doesn't clean the inputs
saveTriggers Saves one or more ban triggers into a ban item: according to the suggestions checks the $_POST variable to verify if the trigger is present
updateBanGroup Updates an existing ban group Errors in $context['ban_errors']
updateBanMembers As it says. .. this tries to review the list of banned members, to match new bans. Note: is_activated >= 10: a member is banned.
updateTriggers This function updates an existing ban trigger into the database Errors in $context['ban_errors']
validateTriggers This function validates the ban triggers Errors in $context['ban_errors']
EditSpider Here we can add, and edit, spider info!
ManageSearchEngineSettings This is really just the settings page.
SearchEngines Entry point for this section.
SpiderCheck Do we think the current user is a spider?
SpiderLogs See what spiders have been up to.
SpiderStats Show the spider statistics.
ViewSpiders View a list of all the spiders we know about.
consolidateSpiderStats This function takes any unprocessed hits and turns them into stats.
list_getNumSpiderLogs Callback function for createList()
list_getNumSpiderStats Callback function for createList() Get the number of spider stat rows from the log spider stats table
list_getNumSpiders Callback function for createList()
list_getSpiderLogs Callback function for createList()
list_getSpiderStats Callback function for createList() Get a list of spider stats from the log_spider table
list_getSpiders Callback function for createList()
logSpider Log the spider presence online.
recacheSpiderNames Recache spider names?
db_packages_init Add the file functions to the $smcFunc array.
smf_db_add_column This function adds a column.
smf_db_add_index Add an index.
smf_db_calculate_type Get the schema formatted name for a type.
smf_db_change_column Change a column.
smf_db_create_table This function can be used to create a table without worrying about schema compatibilities across supported database systems. - If the table exists will, by default, do nothing. - Builds table with columns as passed to it - at least one column must be sent. The columns array should have one sub-array for each column - these sub arrays contain: 'name' = Column name 'type' = Type of column - values from (smallint, mediumint, int, text, varchar, char, tinytext, mediumtext, largetext) 'size' => Size of column (If applicable) - for example 255 for a large varchar, 10 for an int etc. If not set SMF will pick a size. - 'default' = Default value - do not set if no default required. - 'null' => Can it be null (true or false) - if not set default will be false. - 'auto' => Set to true to make it an auto incrementing column. Set to a numerical value to set from what it should begin counting. - Adds indexes as specified within indexes parameter. Each index should be a member of $indexes. Values are: - 'name' => Index name (If left empty SMF will generate). - 'type' => Type of index. Choose from 'primary', 'unique' or 'index'. If not set will default to 'index'. - 'columns' => Array containing columns that form part of key - in the order the index is to be created. - parameters: (None yet) - if_exists values: - 'ignore' will do nothing if the table exists. (And will return true) - 'overwrite' will drop any existing table of the same name. - 'error' will return false if the table already exists. - 'update' will update the table if the table already exists (no change of ai field and only colums with the same name keep the data)
smf_db_drop_table Drop a table and its associated sequences.
smf_db_list_columns Return column information for a table.
smf_db_list_indexes Get index information.
smf_db_remove_column Removes a column.
smf_db_remove_index Remove an index.
smf_db_table_structure Get table structure.
smf_db_create_query_column Creates a query for a column
db_search_init Add the file functions to the $smcFunc array.
smf_db_create_word_search Highly specific function, to create the custom word index table.
smf_db_search_support This function will tell you whether this database type supports this search type.
smf_db_search_language Return the language for the textsearch index
smf_db_search_query Returns the correct query for this search type.
addMembersToGroup Add one or more members to a membergroup Requires the manage_membergroups permission. Function has protection against adding members to implicit groups. Non-admins are not able to add members to the admin group.
cache_getMembergroupList Retrieve a list of (visible) membergroups used by the cache.
deleteMembergroups Delete one of more membergroups. Requires the manage_membergroups permission. Returns true on success or false on failure. Has protection against deletion of protected membergroups. Deletes the permissions linked to the membergroup. Takes members out of the deleted membergroups.
listMembergroupMembers_Href Gets the members of a supplied membergroup Returns them as a link for display
list_getMembergroups Helper function to generate a list of membergroups for display
removeMembersFromGroups Remove one or more members from one or more membergroups. Requires the manage_membergroups permission. Function includes a protection against removing from implicit groups. Non-admins are not able to remove members from the admin group.
emailAdmins Send all the administrators a lovely email. - loads all users who are admins or have the admin forum permission. - uses the email template and replacements passed in the parameters. - sends them an email.
getFileVersions Search through source, theme and language files to determine their version. Get detailed version information about the physical SMF files on the server. - the input parameter allows to set whether to include SSI.php and whether the results should be sorted. - returns an array containing information on source files, templates and language files found in the default theme directory (grouped by language).
getServerVersions Get a list of versions that are currently installed on the server.
updateAdminPreferences Saves the admin's current preferences to the database.
updateDbLastError Saves the time of the last db error for the error log - Done separately from updateSettingsFile to avoid race conditions which can occur during a db error - If it fails Settings.php will assume 0
updateSettingsFile Update the Settings.php file. The most important function in this file for mod makers happens to be the updateSettingsFile() function, but it shouldn't be used often anyway. - updates the Settings.php file with the changes supplied in config_vars. - expects config_vars to be an associative array, with the keys as the variable names in Settings.php, and the values the variable values. - does not escape or quote values. - preserves case, formatting, and additional options in file. - writes nothing if the resulting file would be less than 10 lines in length (sanity check for read lock.) - check for changes to db_last_error and passes those off to a separate handler - attempts to create a backup file and will use it should the writing of the new settings file fail
PrintTopic Format a topic to be printer friendly. Must be called with a topic specified. Accessed via ?action=printpage. uses Printpage template, main sub-template. uses print_above/print_below later without the main layer.
BoardNotify Turn off/on notification for a particular board. Must be called with a board specified in the URL. Only uses the template if no sub action is used. (on/off) Redirects the user back to the board after it is done. Accessed via ?action=notifyboard. uses Notify template, notify_board sub-template.
TopicNotify Turn off/on unread replies subscription for a topic as well as sets individual topic's alert preferences Must be called with a topic specified in the URL. The mode can be from 0 to 3 0 => unwatched, 1 => no alerts/emails, 2 => alerts, 3 => emails/alerts Upon successful completion of action will direct user back to topic. Accessed via ?action=unwatchtopic.
BookOfUnknown What's this? I dunno, what are you talking about? Never seen this before, nope. No sir.
db_extra_init Add the functions implemented in this file to the $smcFunc array.
smf_db_allow_persistent Figures out if persistent connection is allowed
smf_db_backup_table Backup $table to $backup_table.
smf_db_get_vendor Return PostgreSQL
smf_db_get_version Get the version number.
smf_db_list_tables This function lists all tables in the database. The listing could be filtered according to $filter.
smf_db_optimize_table This function optimizes a table.
smf_db_table_sql Dumps the schema (CREATE) for a table.
buildEventDatetimes Helper function for getEventRange, getEventProperties, getNewEventDatetimes, etc.
cache_getOffsetIndependentEvents Retrieve all events for the given days, independently of the users offset. cache callback function used to retrieve the birthdays, holidays, and events between now and now + days_to_index. widens the search range by an extra 24 hours to support time offset shifts. used by the cache_getRecentEvents function to get the information needed to calculate the events taking the users time offset into account.
cache_getRecentEvents cache callback function used to retrieve the upcoming birthdays, holidays, and events within the given period, taking into account the users time offset. Called from the BoardIndex to display the current day's events on the board index used by the board index and SSI to show the upcoming events.
canLinkEvent Does permission checks to see if an event can be linked to a board/topic. checks if the current user can link the current topic to the calendar, permissions et al. this requires the calendar_post permission, a forum moderator, or a topic starter. expects the $topic and $board variables to be set. if the user doesn't have proper permissions, an error will be shown.
getBirthdayRange Get all birthdays within the given time range. finds all the birthdays in the specified range of days. works with birthdays set for no year, or any other year, and respects month and year boundaries.
getCalendarGrid Provides information (link, month, year) about the previous and next month.
getCalendarList Returns the information needed to show a list of upcoming events, birthdays, and holidays on the calendar.
getCalendarWeek Returns the information needed to show a calendar for the given week.
getEventPoster Get the event's poster.
getEventProperties Gets all the events properties
getEventRange Get all calendar events within the given time range. - finds all the posted calendar events within a date range. - both the earliest_date and latest_date should be in the standard YYYY-MM-DD format. - censors the posted event titles. - uses the current user's permissions if use_permissions is true, otherwise it does nothing "permission specific"
getHolidayRange Get all holidays within the given time range.
getNewEventDatetimes Gets an initial set of date and time values for creating a new event.
getTodayInfo Returns date information about 'today' relative to the users time offset. returns an array with the current date, day, month, and year. takes the users time offset into account.
getUserTimezone Gets a member's selected timezone identifier directly from the database
insertEvent Consolidating the various INSERT statements into this function. Inserts the passed event information into the calendar table. Allows to either set a time span (in days) or an end_date. Does not check any permissions of any sort.
list_getHolidays Gets all of the holidays for the listing
list_getNumHolidays Helper function to get the total number of holidays
modifyEvent modifies an event. allows to either set a time span (in days) or an end_date. does not check any permissions of any sort.
removeEvent Remove an event removes an event. does no permission checks.
removeHolidays Remove a holiday from the calendar
setEventStartEnd Set the start and end dates and times for a posted event for insertion into the database. Validates all date and times given to it. Makes sure events do not exceed the maximum allowed duration (if any). If passed an array that defines any time or date parameters, they will be used. Otherwise, gets the values from $_POST.
validateEventPost Makes sure the calendar post is valid.
BuddyListToggle This simple function adds/removes the passed user from the current users buddy list. Requires profile_identity_own permission. Called by ?action=buddy;u=x;session_id=y. Redirects to ?action=profile;u=x.
deleteMembers Delete one or more members. Requires profile_remove_own or profile_remove_any permission for respectively removing your own account or any account. Non-admins cannot delete admins. The function: - changes author of messages, topics and polls to guest authors. - removes all log entries concerning the deleted members, except the error logs, ban logs and moderation logs. - removes these members' personal messages (only the inbox), avatars, ban entries, theme settings, moderator positions, poll and votes. - updates member statistics afterwards.
generateValidationCode Generate a random validation code.
groupsAllowedTo Retrieves a list of membergroups that are allowed to do the given permission. (on the given board) If board_id is not null, a board permission is assumed. The function takes different permission settings into account.
isReservedName Check if a name is in the reserved words list. (name, current member id, name/username?.) - checks if name is a reserved name or username. - if is_name is false, the name is assumed to be a username. - the id_member variable is used to ignore duplicate matches with the current member.
list_getMembers Callback for createList().
list_getNumMembers Callback for createList().
membersAllowedTo Retrieves a list of members that have a given permission (on a given board). If board_id is not null, a board permission is assumed. Takes different permission settings into account. Takes possible moderators (on board 'board_id') into account.
populateDuplicateMembers Find potential duplicate registration members based on the same IP address
reattributePosts This function is used to reassociate members with relevant posts. Reattribute guest posts to a specified member. Does not check for any permissions. If add_to_post_count is set, the member's post count is increased.
registerMember Registers a member to the forum. Allows two types of interface: 'guest' and 'admin'. The first includes hammering protection, the latter can perform the registration silently. The strings used in the options array are assumed to be escaped. Allows to perform several checks on the input, e.g. reserved names. The function will adjust member statistics. If an error is detected will fatal error on all errors unless return_errors is true.
ShowXmlFeed Outputs xml data representing recent information or a profile. Can be passed 4 subactions which decide what is output: 'recent' for recent posts, 'news' for news topics, 'members' for recently registered members, 'profile' for a member's profile. To display a member's profile, a user id has to be given. (;u=1) Outputs an rss feed instead of a proprietary one if the 'type' $_GET parameter is 'rss' or 'rss2'. Accessed via ?action=.xml. Does not use any templates, sub templates, or template layers. uses Stats language file.
cdata_parse Ensures supplied data is properly encapsulated in cdata xml tags Called from getXmlProfile in News.php
dumpTags Formats data retrieved in other functions into xml format. Additionally formats data based on the specific format passed. This function is recursively called to handle sub arrays of data.
fix_possible_url Called from dumpTags to convert data to xml Finds urls for local site and sanitizes them
getXmlMembers Retrieve the list of members from database. The array will be generated to match the format.
getXmlNews Get the latest topics information from a specific board, to display later. The returned array will be generated to match the xml_format.
getXmlProfile Get the profile information for member into an array, which will be generated to match the xml_format.
getXmlRecent Get the recent topics to display. The returned array will be generated to match the xml_format.
MLAll List all members, page by page, with sorting. Called from MemberList(). Can be passed a sort parameter, to order the display of members. Calls printMemberListRows to retrieve the results of the query.
MLSearch Search for members, or display search results. - Called by MemberList(). - If variable 'search' is empty displays search dialog box, using the search sub template. - Calls printMemberListRows to retrieve the results of the query.
Memberlist Shows a listing of registered members. - If a subaction is not specified, lists all registered members. - It allows searching for members with the 'search' sub action. - It calls MLAll or MLSearch depending on the sub action. - Requires the view_mlist permission. - Accessed via ?action=mlist. uses Memberlist template, main sub template.
getCustFieldsMList Sets the label, sort and join info for every custom field column.
printMemberListRows Retrieves results of the request passed to it Puts results of request into the context for the sub template.
EditPoll Display screen for editing or adding a poll. Must be called with a topic specified in the URL. If the user is adding a poll to a topic, must contain the variable 'add' in the url. User must have poll_edit_any/poll_add_any permission for the relevant action, otherwise must be poll starter with poll_edit_own permission for editing, or be topic starter with poll_add_any permission for adding. Accessed via ?action=editpoll. uses Post language file. uses Poll template, main sub-template.
EditPoll2 Update the settings for a poll, or add a new one. Must be called with a topic specified in the URL. The user must have poll_edit_any/poll_add_any permission for the relevant action. Otherwise they must be poll starter with poll_edit_own permission for editing, or be topic starter with poll_add_any permission for adding. In the case of an error, this function will redirect back to EditPoll and display the relevant error message. Upon successful completion of action will direct user back to topic. Accessed via ?action=editpoll2.
LockVoting Lock the voting for a poll. Must be called with a topic specified in the URL. An admin always has over riding permission to lock a poll. If not an admin must have poll_lock_any permission, otherwise must be poll starter with poll_lock_own permission. Upon successful completion of action will direct user back to topic. Accessed via ?action=lockvoting.
RemovePoll Remove a poll from a topic without removing the topic. Must be called with a topic specified in the URL. Requires poll_remove_any permission, unless it's the poll starter with poll_remove_own permission. Upon successful completion of action will direct user back to topic. Accessed via ?action=removepoll.
Vote Allow the user to vote. It is called to register a vote in a poll. Must be called with a topic and option specified. Requires the poll_vote permission. Upon successful completion of action will direct user back to topic. Accessed via ?action=vote. uses Post language file.
MoveTopic This function allows to move a topic, making sure to ask the moderator to give reason for topic move. It must be called with a topic specified. (that is, global $topic must be set... @todo fix this thing.) If the member is the topic starter requires the move_own permission, otherwise the move_any permission. Accessed via ?action=movetopic. uses the MoveTopic template, main sub-template.
MoveTopic2 Execute the move of a topic. It is called on the submit of MoveTopic. This function logs that topics have been moved in the moderation log. If the member is the topic starter requires the move_own permission, otherwise requires the move_any permission. Upon successful completion redirects to message index. Accessed via ?action=movetopic2. uses Subs-Post.php.
moveTopicConcurrence Called after a topic is moved to update $board_link and $topic_link to point to new location
moveTopics Moves one or more topics to a specific board. (doesn't check permissions.) Determines the source boards for the supplied topics Handles the moving of mark_read data Updates the posts count of the affected boards
createCategory Create a new category. general function to create a new category and set its position. allows (almost) the same options as the modifyCat() function. returns the ID of the newly created category.
deleteCategories Remove one or more categories. general function to delete one or more categories. allows to move all boards in the categories to a different category before deleting them. if moveChildrenTo is set to null, all boards inside the given categories will be deleted. deletes all information that's associated with the given categories. updates the statistics to reflect the new situation.
modifyCategory Edit the position and properties of a category. general function to modify the settings and position of a category. used by ManageBoards.php to change the settings of a category.
AddMailQueue Add an email to the mail queue.
SpellCheck Spell checks the post for typos ;). It uses the pspell or enchant library, one of which MUST be installed. It has problems with internationalization. It is accessed via ?action=spellcheck.
adminNotify This simple function gets a list of all administrators and sends them an email to let them know a new member has joined. Called by registerMember() function in Subs-Members.php. Email is sent to all groups that have the moderate_forum permission. The language set by each member is being used (if available).
approvePosts Approve (or not) some posts. .. without permission checks...
approveTopics Approve topics?
createPost Create a post, either as new topic (id_topic = 0) or in an existing one. The input parameters of this function assume: - Strings have been escaped. - Integers have been cast to integer. - Mandatory parameters are set.
fixTag Fix a specific class of tag - ie. url with =. Used by fixTags, fixes a specific tag's links.
fixTags Fix any URLs posted - ie. remove 'javascript:'. Used by preparsecode, fixes links in message and returns nothing.
loadEmailTemplate Load a template from EmailTemplates language file.
mimespecialchars Prepare text strings for sending as email body or header. In case there are higher ASCII characters in the given string, this function will attempt the transport method 'quoted-printable'. Otherwise the transport method '7bit' is used.
modifyPost Modifying a post. ..
preparsecode Takes a message and parses it, returning nothing. Cleans up links (javascript, etc.) and code/quote sections. Won't convert \n's and a few other things if previewing is true.
sendNotifications Sends a notification to members who have elected to receive emails when things happen to a topic, such as replies are posted. The function automatically finds the subject and its board, and checks permissions for each member who is "signed up" for notifications. It will not send 'reply' notifications more than once in a row.
sendmail This function sends an email to the specified recipient(s). It uses the mail_type settings and webmaster_email variable.
sendpm Sends an personal message from the specified person to the specified people ($from defaults to the user)
spell_check spell_check() Determines whether or not the specified word is spelled correctly
spell_init spell_init() Sets up a dictionary resource handle. Tries enchant first then falls through to pspell.
spell_suggest spell_suggest() Returns an array of suggested replacements for the specified word
un_preparsecode This is very simple, and just removes things done by preparsecode.
updateLastMessages Takes an array of board IDs and updates their last messages. If the board has a parent, that parent board is also automatically updated. The columns updated are id_last_msg and last_updated. Note that id_last_msg should always be updated using this function, and is not automatically updated upon other changes.
user_info_callback Callback function for loademaitemplate on subject and body Uses capture group 1 in array
AutoSuggestHandler This keeps track of all registered handling functions for auto suggest functionality and passes execution to them.
AutoSuggest_Search_Member Search for a member - by real_name or member_name by default.
AutoSuggest_Search_MemberGroups Search for a membergroup by name
AutoSuggest_Search_SMFVersions Provides a list of possible SMF versions to use in emulation
bbc_to_html As of SMF 2.1, this is unused. But it is available if any mod wants to use it. Convert only the BBC that can be edited in HTML mode for the (old) editor.
create_control_richedit Creates a box that can be used for richedit stuff like BBC, Smileys etc.
create_control_verification Create a anti-bot verification control?
fetchTagAttributes Returns an array of attributes associated with a tag.
getMessageIcons Retrieves a list of message icons. - Based on the settings, the array will either contain a list of default message icons or a list of custom message icons retrieved from the database. - The board_id is needed for the custom message icons (which can be set for each board individually).
html_to_bbc Converts HTML to BBC As of SMF 2.1, only used by ManageBoards.php (and possibly mods)
legalise_bbc Attempt to clean up illegal BBC caused by browsers like Opera which don't obey the rules
loadLocale Creates the javascript code for localization of the editor (SCEditor)
GroupList This very simply lists the groups, nothing snazy.
GroupRequests Show and manage all group requests.
Groups Entry point function, permission checks, admin bars, etc. It allows moderators and users to access the group showing functions. It handles permission checks, and puts the moderation bar on as required.
MembergroupMembers Display members of a group, and allow adding of members to a group. Silly function name though ;) It can be called from ManageMembergroups if it needs templating within the admin environment. It shows a list of members that are part of a given membergroup. It is called by ?action=moderate;area=viewgroups;sa=members;group=x It requires the manage_membergroups permission. It allows to add and remove members from the selected membergroup. It allows sorting on several columns. It redirects to itself. uses ManageMembergroups template, group_members sub template.
list_getGroupRequestCount Callback function for createList().
getBoardIndex Fetches a list of boards and (optional) categories including statistical information, child boards and moderators. - Used by both the board index (main data) and the message index (child boards). - Depending on the include_categories setting returns an associative array with categories->boards->child_boards or an associative array with boards->child_boards.
checkGD Sets a global $gd2 variable needed by some functions to determine whether the GD2 library is present.
checkImageContents Searches through the file to see if there's potentially harmful non-binary content. - if extensiveCheck is true, searches for asp/php short tags as well.
checkImagick Checks whether the Imagick class is present.
checkMagickWand Checks whether the MagickWand extension is present.
createThumbnail Create a thumbnail of the given source. uses resizeImageFile() function to achieve the resize.
downloadAvatar downloads a file from a url and stores it locally for avatar use by id_member. - supports GIF, JPG, PNG, BMP and WBMP formats. - detects if GD2 is available. - uses resizeImageFile() to resize to max_width by max_height, and saves the result to a file. - updates the database info for the member's avatar. - returns whether the download and resize was successful.
gif_outputAsPng Writes a gif file to disk as a png file.
imageMemoryCheck See if we have enough memory to thumbnail an image
imagecopyresamplebicubic Copy image. Used when imagecopyresample() is not available.
imagecreatefrombmp It is set only if it doesn't already exist (for forwards compatiblity.) It only supports uncompressed bitmaps.
reencodeImage Used to re-econodes an image to a specified image format - creates a copy of the file at the same location as fileName. - the file would have the format preferred_format if possible, otherwise the default format is jpeg. - the function makes sure that all non-essential image contents are disposed.
resizeImage Resizes src_img proportionally to fit within max_width and max_height limits if it is too large. If GD2 is present, it'll use it to achieve better quality. It saves the new image to destination_filename, as preferred_format if possible, default is jpeg. uses Imagemagick (IMagick or MagickWand extension) or GD
resizeImageFile Resizes an image from a remote location or a local file. Puts the resized image at the destination location. The file would have the format preferred_format if possible, otherwise the default format is jpeg.
showCodeImage Show an image containing the visual verification code for registration. Requires the GD extension. Uses a random font for each letter from default_theme_dir/fonts. Outputs a gif or a png (depending on whether gif ix supported).
showLetterImage Show a letter for the visual verification code. Alternative function for showCodeImage() in case GD is missing. Includes an image from a random sub directory of default_theme_dir/fonts.
JavaScriptEscape Escapes (replaces) characters in strings to make them safe for use in javascript
cleanRequest Clean the request variables - add html entities to GET and slashes if magic_quotes_gpc is Off. What it does: - cleans the request variables (ENV, GET, POST, COOKIE, SERVER) and - makes sure the query string was parsed correctly. - handles the URLs passed by the queryless URLs option. - makes sure, regardless of php.ini, everything has slashes. - sets up $board, $topic, and $scripturl and $_REQUEST['start']. - determines, or rather tries to determine, the client's IP.
cleanXml Clean up the XML to make sure it doesn't contain invalid characters. What it does: - removes invalid XML characters to assure the input string being - parsed properly.
escapestring__recursive Adds slashes to the array/variable. What it does: - returns the var, as an array or string, with escapes as required. - importantly escapes all keys and values! - calls itself recursively if necessary.
expandIPv6 Expands a IPv6 address to its full form.
htmlspecialchars__recursive Adds html entities to the array/variable. Uses two underscores to guard against overloading. What it does: - adds entities (", <, >) to the array or string var. - importantly, does not effect keys, only values. - calls itself recursively if necessary.
htmltrim__recursive Trim a string including the HTML space, character 160. Uses two underscores to guard against overloading. What it does: - trims a string or an the var array using html characters as well. - does not effect keys, only values. - may call itself recursively if needed.
isValidIPv6 Validates a IPv6 address. returns true if it is ipv6.
matchIPtoCIDR Detect if a IP is in a CIDR address - returns true or false
ob_sessrewrite Rewrite URLs to include the session ID. What it does: - rewrites the URLs outputted to have the session ID, if the user is not accepting cookies and is using a standard web browser. - handles rewriting URLs for the queryless URLs option. - can be turned off entirely by setting $scripturl to an empty string, ''. (it wouldn't work well like that anyway.) - because of bugs in certain builds of PHP, does not function in versions lower than 4.3.0 - please upgrade if this hurts you.
stripslashes__recursive Remove slashes recursively. Uses two underscores to guard against overloading. What it does: - removes slashes, recursively, from the array or string var. - effects both keys and values of arrays. - calls itself recursively to handle arrays of arrays.
unescapestring__recursive Unescapes any array or variable. Uses two underscores to guard against overloading. What it does: - unescapes, recursively, from the array or string var. - effects both keys and values of arrays. - calls itself recursively to handle arrays of arrays.
urldecode__recursive Removes url stuff from the array/variable. Uses two underscores to guard against overloading. What it does: - takes off url encoding (%20, etc.) from the array or string var. - importantly, does it to keys too! - calls itself recursively if there are any sub arrays.
ApproveAttach Called from a mouse click, works out what we want to do with attachments and actions it.
ApproveAttachments Approve an attachment, or maybe even more - no permission check!
BrowseFiles Show a list of attachment or avatar files. Called by ?action=admin;area=manageattachments;sa=browse for attachments and ?action=admin;area=manageattachments;sa=browse;avatars for avatars. Allows sorting by name, date, size and member. Paginates results.
MaintainFiles Show several file maintenance options. Called by ?action=admin;area=manageattachments;sa=maintain. Calculates file statistics (total file size, number of attachments, number of avatars, attachment space available). uses the 'maintain' sub template.
ManageAttachmentPaths This function lists and allows updating of multiple attachments paths.
ManageAttachmentSettings Allows to show/change attachment settings. This is the default sub-action of the 'Attachments and Avatars' center. Called by index.php?action=admin;area=manageattachments;sa=attachments.
ManageAttachments The main 'Attachments and Avatars' management function. This function is the entry point for index.php?action=admin;area=manageattachments and it calls a function based on the sub-action. It requires the manage_attachments permission. uses ManageAttachments template. uses Admin language file. uses template layer 'manage_files' for showing the tab bar.
ManageAvatarSettings This allows to show/change avatar settings. Called by index.php?action=admin;area=manageattachments;sa=avatars. Show/set permissions for permissions: 'profile_server_avatar', 'profile_upload_avatar' and 'profile_remote_avatar'.
RemoveAllAttachments Removes all attachments in a single click Called from the maintenance screen by ?action=admin;area=manageattachments;sa=removeall.
RemoveAttachment Remove a selection of attachments or avatars. Called from the browse screen as submitted form by ?action=admin;area=manageattachments;sa=remove
RemoveAttachmentByAge Remove attachments older than a given age. Called from the maintenance screen by ?action=admin;area=manageattachments;sa=byAge. It optionally adds a certain text to the messages the attachments were removed from.
RemoveAttachmentBySize Remove attachments larger than a given size. Called from the maintenance screen by ?action=admin;area=manageattachments;sa=bySize. Optionally adds a certain text to the messages the attachments were removed from.
RepairAttachments This function should find attachments in the database that no longer exist and clear them, and fix filesize issues.
TransferAttachments Maintance function to move attachments from one directory to another
attachDirStatus Checks the status of an attachment directory and returns an array of the status key, if that status key signifies an error, and the file count.
list_getAttachDirs Prepare the actual attachment directories to be displayed in the list.
list_getBaseDirs Prepare the base directories to be displayed in a list.
list_getFiles Returns the list of attachments files (avatars or not), recorded in the database, per the parameters received.
list_getNumFiles Return the number of files of the specified type recorded in the database. (the specified type being attachments or avatars).
pauseAttachmentMaintenance Function called in-between each round of attachments and avatar repairs. Called by repairAttachments(). If repairAttachments() has more steps added, this function needs updated!
activateAccount Activate an account.
deleteAccount Present a screen to make sure the user wants to be deleted
deleteAccount2 Actually delete an account.
issueWarning Issue/manage an user's warning status.
list_getUserWarningCount Get the number of warnings a user has. Callback for $listOptions['get_count'] in issueWarning()
list_getUserWarnings Get the data about a user's warnings. Callback function for the list in issueWarning()
subscriptions Function for doing all the paid subscription stuff - kinda.
showAttachment Downloads an avatar or attachment based on $_GET['attach'], and increments the download count. It requires the view_attachments permission. It disables the session parser, and clears any previous output. It depends on the attachmentUploadDir setting being correct. It is accessed via the query string ?action=dlattach. Views to attachments do not increase hits and are not logged in the "Who's Online" log.
AddLanguage Interface for adding a new language uses ManageLanguages template, add_language sub-template.
DownloadLanguage Download a language file from the Simple Machines website. Requires a valid download ID ("did") in the URL. Also handles installing language files. Attempts to chmod things as needed. Uses a standard list to display information about all the files and where they'll be put. uses ManageLanguages template, download_language sub-template. uses Admin template, show_list sub-template.
ManageLanguages This is the main function for the languages area. It dispatches the requests. Loads the ManageLanguages template. (sub-actions will use it)
ModifyLanguage Edit a particular set of language entries.
ModifyLanguageSettings Edit language related settings.
ModifyLanguages This lists all the current languages and allows editing of them.
cleanLangString This function cleans language entries to/from display.
list_getLanguages Fetch the actual language information. Callback for $listOptions['get_items']['function'] in ManageLanguageSettings. Determines which languages are available by looking for the "index.{language}.php" file. Also figures out how many users are using a particular language.
list_getLanguagesList Gets a list of available languages from the mother ship Will return a subset if searching, otherwise all avaialble
list_getNumLanguages How many languages? Callback for the list in ManageLanguageSettings().
PackageDownload Download a package.
PackageGBrowse Browse a server's list of packages.
PackageGet Browse the list of package servers, add servers. ..
PackageServerAdd Add a package server to the list.
PackageServerRemove Remove a server from the list.
PackageServers Load a list of package servers.
PackageUpload Upload a new package to the directory.
assignAttachments Assigns the given attachments to the given message ID.
attachmentChecks Performs various checks on an uploaded file. - Requires that $_SESSION['temp_attachments'][$attachID] be properly populated.
attachments_init_dir Return the first part of a path (i.e. c:\ or / + the first directory), used by automanage_attachments_create_directory
automanage_attachments_by_space Called when a directory space limit is reached. Creates a new directory and increments the directory suffix number.
automanage_attachments_check_directory Check if the current directory is still valid or not. If not creates the new directory
automanage_attachments_create_directory Creates a directory
createAttachment Create an attachment, with the given array of parameters. - Adds any additional or missing parameters to $attachmentOptions. - Renames the temporary file. - Creates a thumbnail if the file is an image and the option enabled.
getAttachMsgInfo Gets all needed message data associated with an attach ID
getAttachsByMsg Gets attachment info associated with a message ID
getRawAttachInfo Gets raw info directly from the attachments table.
get_directory_tree_elements Split a path into a list of all directories and subdirectories
loadAttachmentContext This loads an attachment's contextual data including, most importantly, its size if it is an image. It requires the view_attachments permission to calculate image size. It attempts to keep the "aspect ratio" of the posted image in line, even if it has to be resized by the max_image_width and max_image_height settings.
parseAttachBBC Gets an attach ID and tries to load all its info.
processAttachments Moves an attachment to the proper directory and set the relevant data into $_SESSION['temp_attachments']
db_extend Extend the database functionality. It calls the respective file's init to add the implementations in that file to $smcFunc array.
db_fix_prefix Fix up the prefix so it doesn't require the database to be selected.
smf_db_affected_rows affected_rows
smf_db_cte_support Function which return the information if the database supports cte with recursive
smf_db_custom_order Function which constructs an optimize custom order string as an improved alternative to find_in_set()
smf_db_error Database error! Backtrace, log, try to fix.
smf_db_error_backtrace This function tries to work out additional error information from a back trace.
smf_db_error_insert Function to save errors in database in a safe way
smf_db_escape_string Function which return the escaped string
smf_db_escape_wildcard_string Escape the LIKE wildcards so that they match the character and not the wildcard.
smf_db_fetch_all Fetches all rows from a result as an array
smf_db_get_server_info Wrap mysqli_get_server_info so the connection does not need to be specified
smf_db_initiate Maps the implementations in this file (smf_db_function_name) to the $smcFunc['db_function_name'] variable.
smf_db_insert Inserts data into a table
smf_db_insert_id Gets the ID of the most recently inserted row.
smf_db_native_replace Function which return the information if the database supports native replace inserts
smf_db_query Do a query. Takes care of errors too.
smf_db_quote Just like the db_query, escape and quote a string, but not executing the query.
smf_db_replacement__callback Callback for preg_replace_callback on the query. It allows to replace on the fly a few pre-defined strings, for convenience ('query_see_board', 'query_wanna_see_board', etc), with their current values from $user_info. In addition, it performs checks and sanitization on the values sent to the database.
smf_db_select Wrap mysqli_select_db so the connection does not need to be specified
smf_db_transaction Do a transaction.
smf_is_resource Validates whether the resource is a valid mysqli instance. Mysqli uses objects rather than resource.
smf_db_select_db Dummy function really. Doesn't do anything on PostgreSQL.
smf_db_version Get the current version.
_safe_serialize Safe serialize() and unserialize() replacements
_safe_unserialize Safe unserialize() replacement - accepts a strict subset of PHP's native serialized representation - does not unserialize objects
add_integration_function Add a function for integration hook. does nothing if the function is already added.
build_query_board Build query_wanna_see_board and query_see_board for a userid Returns array with keys query_wanna_see_board and query_see_board
build_regex Creates optimized regular expressions from an array of strings. An optimized regex built using this function will be much faster than a simple regex built using `implode('|', $strings)` --- anywhere from several times to several orders of magnitude faster. However, the time required to build the optimized regex is approximately equal to the time it takes to execute the simple regex. Therefore, it is only worth calling this function if the resulting regex will be used more than once. Because PHP places an upper limit on the allowed length of a regex, very large arrays of $strings may not fit in a single regex. Normally, the excess strings will simply be dropped. However, if the $returnArray parameter is set to true, this function will build as many regexes as necessary to accommodate everything in $strings and return them in an array. You will need to iterate through all elements of the returned array in order to test all possible matches.
call_helper Receives a string and tries to figure it out if its a method or a function. If a method is found, it looks for a "#" which indicates SMF should create a new instance of the given class. Checks the string/array for is_callable() and return false/fatal_lang_error is the given value results in a non callable string/array. Prepare and returns a callable depending on the type of method/function found.
call_integration_hook Process functions of an integration hook. calls all functions of the given hook. supports static class method calls.
check_cron Ensures SMF's scheduled tasks are being run as intended If the admin activated the cron_is_real_cron setting, but the cron job is not running things at least once per day, we need to go back to SMF's default behaviour using "web cron" JavaScript calls.
comma_format - Formats a number. - uses the format of number_format to decide how to format the number. for example, it might display "1 234,50". - caches the formatting data from the setting for optimization.
constructPageIndex Constructs a page list. - builds the page list, e.g. 1 ... 6 7 [8] 9 10 ... 15. - flexible_start causes it to use "" instead of "url;start=page". - very importantly, cleans up the start value passed, and forces it to be a multiple of num_per_page. - checks that start is not more than max_value. - base_url should be the URL without any start parameter on it. - uses the compactTopicPagesEnable and compactTopicPagesContiguous settings to decide how to display the menu. an example is available near the function definition. $pageindex = constructPageIndex($scripturl . '?board=' . $board, $_REQUEST['start'], $num_messages, $maxindex, true);
create_button Creates an image/text button
custMinify Get an array of previously defined files and adds them to our main minified files. Sets a one day cache to avoid re-creating a file on every request.
deleteAllMinified Clears out old minimized CSS and JavaScript files and ensures $modSettings['browser_cache'] is up to date
entity_fix__callback Strips out invalid html entities, replaces others with html style { codes Callback function used of preg_replace_callback in smcFunc $ent_checks, for example strpos, strlen, substr etc
fetch_web_data Get the contents of a URL, irrespective of allow_url_fopen. - reads the contents of an http or ftp address and returns the page in a string - will accept up to 3 page redirections (redirectio_level in the function call is private) - if post_data is supplied, the value and length is posted to the given url as form data - URL must be supplied in lowercase
fixchar__callback Converts html entities to utf8 equivalents Callback function for preg_replace_callback Uses capture group 1 in the supplied array Does basic checks to keep characters inside a viewable range.
forum_time Gets the current time with offset. - always applies the offset in the time_offset setting.
getAttachmentFilename Get an attachment's encrypted filename. If $new is true, won't check for file existence.
get_gravatar_url Return a Gravatar URL based on - the supplied email address, - the global maximum rating, - the global default fallback, - maximum sizes as set in the admin panel. It is SSL aware, and caches most of the parameters.
get_proxied_url Gets the appropriate URL to use for images (or whatever) when using SSL The returned URL may or may not be a proxied URL, depending on the situation. Mods can implement alternative proxies using the 'integrate_proxy' hook.
highlight_php_code Highlight any code. Uses PHP's highlight_string() to highlight PHP syntax does special handling to keep the tabs in the code available. used to parse PHP code from inside [code] and [php] tags.
host_from_ip Lookup an IP; try shell_exec first because we can do a timeout on it.
httpsOn Check if the connection is using https.
https_redirect_active Check if the passed url has a redirect to https:// by querying headers. Returns true if a redirect was found & false if not. Note that when force_ssl = 2, SMF issues its own redirect... So if this returns true, it may be caused by SMF, not necessarily an .htaccess redirect.
ip2range Convert a single IP to a ranged IP. internal function used to convert a user-readable format to a format suitable for the database.
iri_to_url Converts a URL with international characters (an IRI) into a pure ASCII URL Uses Punycode to encode any non-ASCII characters in the domain name, and uses standard URL encoding on the rest.
isValidIP Check the given String if he is a valid IPv4 or IPv6 return true or false
load_file Receives a string and tries to figure it out if it contains info to load a file. Checks for a | (pipe) symbol and tries to load a file with the info given. The string should be format as follows File.php|. You can use the following wildcards: $boarddir, $sourcedir and if available at the moment of execution, $themedir.
memoryReturnBytes Helper function to convert memory string settings to bytes
obExit Ends execution. Takes care of template loading and remembering the previous URL.
parse_bbc Parse bulletin board code in a string, as well as smileys optionally. - only parses bbc tags which are not disabled in disabledBBC. - handles basic HTML, if enablePostHTML is on. - caches the from/to replace regular expressions so as not to reload them every time a string is parsed. - only parses smileys if smileys is true. - does nothing if the enableBBC setting is off. - uses the cache_id as a unique identifier to facilitate any caching it may do. - returns the modified message.
parsesmileys Parse smileys in the passed message. The smiley parsing function which makes pretty faces appear :). If custom smiley sets are turned off by smiley_enable, the default set of smileys will be used. These are specifically not parsed in code tags [] Caches the smileys from the database or array in memory. Doesn't return anything, but rather modifies message directly.
permute Calculates all the possible permutations (orders) of array. should not be called on huge arrays (bigger than like 10 elements.) returns an array containing each permutation.
prepareLikesContext Prepares an array of "likes" info for the topic specified by $topic
redirectexit Make sure the browser doesn't come back and repost the form data. Should be used whenever anything is posted.
remove_integration_function Remove an integration hook function. Removes the given function from the given hook. Does nothing if the function is not available.
replaceEntities__callback Decode numeric html entities to their ascii or UTF8 equivalent character. Callback function for preg_replace_callback in subs-members Uses capture group 2 in the supplied array Does basic scan to ensure characters are inside a valid range
safe_serialize Wrapper for _safe_serialize() that handles exceptions and multibyte encoding issues.
safe_unserialize Wrapper for _safe_unserialize() that handles exceptions and multibyte encoding issue
sanitizeMSCutPaste Microsoft uses their own character set Code Page 1252 (CP1252), which is a superset of ISO 8859-1, defining several characters between DEC 128 and 159 that are not normally displayable. This converts the popular ones that appear from a cut and paste from windows.
sanitize_iri A wrapper for `filter_var($url, FILTER_SANITIZE_URL)` that can handle URLs with international characters (a.k.a. IRIs) Note: The returned value will still be an IRI, not a URL. To convert to URL, feed the result of this function to iri_to_url()
send_http_status Sends an appropriate HTTP status header based on a given status code
sentence_list Concatenates an array of strings into a grammatically correct sentence list Uses formats defined in the language files to build the list appropropriately for the currently loaded language.
setMemoryLimit Helper function to set the system memory to a needed value - If the needed memory is greater than current, will attempt to get more - if in_use is set to true, will also try to take the current memory usage in to account
set_tld_regex Creates an optimized regex to match all known top level domains. The optimized regex is stored in $modSettings['tld_regex']. To update the stored version of the regex to use the latest list of valid TLDs from, set the $update parameter to true. Updating can take some time, based on network connectivity, so it should normally only be done by calling this function from a background or scheduled task. If $update is not true, but the regex is missing or invalid, the regex will be regenerated from a hard-coded list of TLDs. This regenerated regex will be overwritten on the next scheduled update.
setupMenuContext Sets up all of the top menu buttons Saves them in the cache if it is available and on Places the results in $context
setupThemeContext Sets up the basic theme context stuff.
shorten_subject Shorten a subject + internationalization concerns. - shortens a subject so that it is either shorter than length, or that length plus an ellipsis. - respects internationalization characters and entities as one character. - avoids trailing entities. - returns the shortened string.
smf_chmod Tries different modes to make file/dirs writable. Wrapper function for chmod()
smf_json_decode Wrapper function for json_decode() with error handling.
smf_list_timezones Get a list of timezones.
smf_seed_generator Generate a random seed and ensure it's stored in settings.
smf_serverResponse Outputs a response. It assumes the data is already a string.
ssl_cert_found Check if the passed url has an SSL certificate. Returns true if a cert was found & false if not.
template_css Output the CSS files
template_footer The template footer
template_header The header template
template_javascript Output the Javascript files - tabbing in this function is to make the HTML source look good and proper - if deferred is set function will output all JS set to load at page end
text2words Chops a string into words and prepares them to be inserted into (or searched from) the database.
theme_copyright Show the copyright.
timeformat Format a time to make it look purdy. - returns a pretty formatted version of time based on the user's format in $user_info['time_format']. - applies all necessary time offsets to the timestamp, unless offset_type is set. - if todayMod is set and show_today was not not specified or true, an alternate format string is used to show the date with something to show it is "today" or "yesterday". - performs localization (more than just strftime would do alone.)
un_htmlspecialchars Replaces special entities in strings with the real characters. Functionally equivalent to htmlspecialchars_decode(), except that this also replaces ' ' with a simple space character.
updateMemberData Updates the columns in the members table. Assumes the data has been htmlspecialchar'd. this function should be used whenever member data needs to be updated in place of an UPDATE query. id_member is either an int or an array of ints to be updated. data is an associative array of the columns to be updated and their respective values. any string values updated should be quoted and slashed. the value of any column can be '+' or '-', which mean 'increment' and decrement, respectively. if the member's post number is updated, updates their post groups.
updateSettings Updates the settings table as well as $modSettings. .. only does one at a time if $update is true. - updates both the settings table and $modSettings array. - all of changeArray's indexes and values are assumed to have escaped apostrophes (')! - if a variable is already set to what you want to change it to, that variable will be skipped over; it would be unnecessary to reset. - When use_update is true, UPDATEs will be used instead of REPLACE. - when use_update is true, the value can be true or false to increment or decrement it, respectively.
updateStats Update some basic statistics. 'member' statistic updates the latest member, the total member count, and the number of unapproved members. 'member' also only counts approved members when approval is on, but is much more efficient with it off. 'message' changes the total number of messages, and the highest message id by id_msg - which can be parameters 1 and 2, respectively. 'topic' updates the total number of topics, or if parameter1 is true simply increments them. 'subject' updates the log_search_subjects in the event of a topic being moved, removed or split. parameter1 is the topicid, parameter2 is the new subject 'postgroups' case updates those members who match condition's post-based membergroups in the database (restricted by parameter1).
url_image_size Get the size of a specified image with better error handling.
url_to_iri Decodes a URL containing encoded international characters to UTF-8 Decodes any Punycode encoded characters in the domain name, then uses standard URL decoding on the rest.
validate_iri A wrapper for `filter_var($url, FILTER_VALIDATE_URL)` that can handle URLs with international characters (a.k.a. IRIs)
InMaintenance Display a message about the forum being in maintenance mode. - display a login screen with sub template 'maintenance'. - sends a 503 header, so search engines don't bother indexing while we're in maintenance mode.
JSMembers Called by index.php?action=findmember. - is used as a popup for searching members. - uses sub template find_members of the Help template. - also used to add members for PM's sent using wap2/imode protocol.
KickGuest Throws guests out to the login screen when guest access is off. - sets $_SESSION['login_url'] to $_SERVER['REQUEST_URL']. - uses the 'kick_guest' sub template found in Login.template.php.
RequestMembers Outputs each member name on its own line. - used by javascript to find members matching the request.
adminLogin Question the verity of the admin by asking for his or her password. - loads Login.template.php and uses the admin_login sub template. - sends data to template so the admin is sent on to the page they wanted if their password is correct, otherwise they can try again.
adminLogin_outputPostVars Used by the adminLogin() function. if 'value' is an array, the function is called recursively.
construct_query_string Properly urlencodes a string to be used in a query
findMembers Finds members by email address, username, or real name. - searches for members whose username, display name, or e-mail address match the given pattern of array names. - searches only buddies if buddies_only is set.
hash_benchmark Benchmarks the server to figure out an appropriate cost factor (minimum 9)
hash_length Returns the length for current hash
hash_password Hashes username with password
hash_salt Hashes password with salt, this is solely used for cookies.
hash_verify_password Verifies a raw SMF password against the bcrypt'd string
rebuildModCache Quickly find out what moderation authority this user has - builds the moderator, group and board level querys for the user - stores the information on the current users moderation powers in $user_info['mod_cache'] and $_SESSION['mc']
resetPassword Generates a random password for a user and emails it to them. - called by Profile.php when changing someone's username. - checks the validity of the new username. - generates and sets a new password for the given user. - mails the new password to the email address of the user. - if username is not set, only a new password is generated and sent.
setLoginCookie Sets the SMF-style login cookie and session based on the id_member and password passed. - password should be already encrypted with the cookie salt. - logs the user out if id_member is zero. - sets the cookie and session to last the number of seconds specified by cookie_length, or ends them if cookie_length is less than 0. - when logging out, if the globalCookies setting is enabled, attempts to clear the subdomain's cookie too.
setTFACookie Sets Two Factor Auth cookie
smf_setcookie A wrapper for setcookie that gives integration hook access to it
url_parts Get the domain and path for the cookie - normally, local and global should be the localCookies and globalCookies settings, respectively. - uses boardurl to determine these two things.
validatePassword Checks whether a password meets the current forum rules - called when registering/choosing a password. - checks the password obeys the current forum settings for password strength. - if password checking is enabled, will check that none of the words in restrict_in appear in the password. - returns an error identifier if the password is invalid, or null.
validateUsername Checks a username obeys a load of rules
CalendarMain Show the calendar. It loads the specified month's events, holidays, and birthdays. It requires the calendar_view permission. It depends on the cal_enabled setting, and many of the other cal_ settings. It uses the calendar_start_day theme option. (Monday/Sunday) It uses the main sub template in the Calendar template. It goes to the month and year passed in 'month' and 'year' by get or post. It is accessed through ?action=calendar.
CalendarPost This function processes posting/editing/deleting a calendar event. - calls @link Post.php|Post() function if event is linked to a post. - calls @link Subs-Calendar.php|insertEvent() to insert the event if not linked to post. It requires the calendar_post permission to use. It uses the event_post sub template in the Calendar template. It is accessed with ?action=calendar;sa=post.
clock Nothing to see here. Move along.
iCalDownload This function offers up a download of an event in iCal 2.0 format. Follows the conventions in @link RFC5546 Sets events as all day events since we don't have hourly events Will honor and set multi day events Sets a sequence number if the event has been modified
addInlineCss Add a block of inline css code to be executed later - only use this if you have to, generally external css files are better, but for very small changes or for scripts that require help from PHP/whatever, this can be useful. - all code added with this function is added to the same <style> tag so do make sure your css is valid!
addInlineJavaScript Add a block of inline Javascript code to be executed later - only use this if you have to, generally external JS files are better, but for very small scripts or for scripts that require help from PHP/whatever, this can be useful. - all code added with this function is added to the same <script> tag so do make sure your JS is clean!
addJavaScriptVar Add a Javascript variable for output later (for feeding text strings and similar to JS) Cleaner and easier (for modders) than to use the function below.
cache_get_data Gets the value from the cache specified by key, so long as it is not older than ttl seconds. - It may often "miss", so shouldn't be depended on. - It supports the same as cache_put_data().
cache_put_data Puts value in the cache under key for ttl seconds. - It may "miss" so shouldn't be depended on - Uses the cache engine chosen in the ACP and saved in settings.php - It supports: Xcache: memcache: APC: APCu: Zend: Zend:
cache_quick_get Try to retrieve a cache entry. On failure, call the appropriate function.
censorText Replace all vulgar words with respective proper words. (substring or whole words. .) What this function does: - it censors the passed string. - if the theme setting allow_no_censored is on, and the theme option show_no_censored is enabled, does not censor, unless force is also set. - it caches the list of censored words to reduce parsing.
clean_cache Empty out the cache in use as best it can It may only remove the files of a certain type (if the $type parameter is given) Type can be user, data or left blank - user clears out user data - data clears out system / opcode data - If no type is specified will perform a complete cache clearing For cache engines that do not distinguish on types, a full cache flush will be done
detectBrowser Loads information about what browser the user is viewing with and places it in $context - uses the class from @link Class-BrowserDetect.php
getBoardParents Get all parent boards (requires first parent as parameter) It finds all the parents of id_parent, and that board itself. Additionally, it detects the moderators of said boards.
getLanguages Attempt to reload our known languages. It will try to choose only utf8 or non-utf8 languages.
isBrowser Are we using this browser? Wrapper function for detectBrowser
loadBoard Check for moderators and see if they have access to the board. What it does: - sets up the $board_info array for current board information. - if cache is enabled, the $board_info array is stored in cache. - redirects to appropriate post if only message id is requested. - is only used when inside a topic or board. - determines the local moderators for the board. - adds group id 3 if the user is a local moderator for the board they are in. - prevents access if user is not in proper group nor a local moderator of the board.
loadCSSFile Add a CSS file for output later
loadCacheAccelerator Try to load up a supported caching method. This is saved in $cacheAPI if we are not overriding it.
loadDatabase Initialize a database connection.
loadJavaScriptFile Add a Javascript file for output later
loadLanguage Load a language file. Tries the current and default themes as well as the user and global languages.
loadMemberContext Loads the user's basic values. .. meant for template/theme usage.
loadMemberCustomFields Loads the user's custom profile fields
loadMemberData Loads an array of users' data by ID or member_name.
loadPermissions Load this user's permissions.
loadSubTemplate Load a sub-template. What it does: - loads the sub template specified by sub_template_name, which must be in an already-loaded template. - if ?debug is in the query string, shows administrators a marker after every sub template for debugging purposes.
loadTemplate Load a template - if the theme doesn't include it, use the default. What this function does: - loads a template file with the name template_name from the current, default, or base theme. - detects a wrong default theme directory and tries to work around it. uses the template_include() function to include the file.
loadTheme Load a theme, by ID.
loadUserSettings Load all the important user information. What it does: - sets up the $user_info array - assigns $user_info['query_wanna_see_board'] for what boards the user can see. - first checks for cookie or integration validation. - uses the current session if no integration function or cookie is found. - checks password length, if member is activated and the login span isn't over. - if validation fails for the user, $id_member is set to 0. - updates the last visit time when needed.
reloadSettings Load the $modSettings array.
set_avatar_data Helper function to set an array of data for an user's avatar. Makes assumptions based on the data provided, the following keys are required: - avatar The raw "avatar" column in members table - email The user's email. Used to get the gravatar info - filename The attachment filename
template_include Load the template/language file using require - loads the template or language file specified by filename. - uses eval unless disableTemplateEval is enabled. - outputs a parse error if the file did not exist or contained errors. - attempts to detect the error and line, and show detailed information.
HelpIndex The main page for the Help section
HelpRules Displays forum rules
ShowAdminHelp Show some of the more detailed help to give the admin an idea. .. It shows a popup for administrative or user help. It uses the help parameter to decide what string to display and where to get the string from. ($helptxt or $txt?) It is accessed via ?action=helpadmin;help=?. uses ManagePermissions language file, if the help starts with permissionhelp. uses Help template, popup sub template, no layers.
ShowHelp Redirect to the user help ;). It loads information needed for the help section. It is accessed by ?action=help. uses Help template and Manual language file.
account Handles the account section of the profile
alert_configuration Handles configuration of alert preferences
alert_count Counts how many alerts a user has - either unread or all depending on $unread We can't use db_num_rows here, as we have to determine what boards the user can see Possibly in future versions as database support for json is mainstream, we can simplify this.
alert_delete Deletes a single or a group of alerts by ID
alert_mark Marks a group of alerts as un/read
alert_markread Marks all alerts as read for the specified user
alert_notifications_boards Handles preferences related to board-level notifications
alert_notifications_topics Handles alerts related to topics and posts
editBuddies Show all the users buddies, as well as a add/delete interface.
editBuddyIgnoreLists Show all the users buddies, as well as a add/delete interface.
editIgnoreList Allows the user to view their ignore list, as well as the option to manage members on it.
forumProfile Handles the main "Forum Profile" section of the profile
getAvatars Recursive function to retrieve server-stored avatar files
groupMembership Function to allow the user to choose group membership etc. ..
groupMembership2 This function actually makes all the group changes
ignoreboards Handles the "ignored boards" section of the profile (if enabled)
list_getBoardNotifications Gets information about all the boards a user has requested notifications for. Callback for the list in alert_notifications_boards
list_getTopicNotificationCount Determins how many topics a user has requested notifications for
list_getTopicNotifications Gets information about all the topics a user has requested notifications for. Callback for the list in alert_notifications_topics
loadProfileFields This defines every profile field known to man.
loadThemeOptions Loads the theme options for a user
makeCustomFieldChanges Save any changes to the custom profile fields
makeNotificationChanges Make any notification changes that need to be made.
makeThemeChanges Make any theme changes that are sent with the profile.
notification Display the notifications and settings for changes.
profileLoadAvatarData Load avatar context data.
profileLoadGroups Handles the "manage groups" section of the profile
profileLoadLanguages Load all the languages for the profile .
profileLoadSignatureData Load key signature context data.
profileReloadUser Reload a user's settings.
profileSaveAvatarData The avatar is incredibly complicated, what with the options. .. and what not.
profileSaveGroups Save a members group.
profileSendActivation Send the user a new activation email if they need to reactivate!
profileValidateEmail Validate an email address.
profileValidateSignature Validate the signature
saveProfileChanges Save the profile changes
saveProfileFields Save the profile changes.
setupProfileContext Setup the context for a page load!
tfadisable Provides interface to disable two-factor authentication in SMF
tfasetup Provides interface to setup Two Factor Auth in SMF
theme Handles the "Look and Layout" section of the profile
ModifyProfile The main designating function for modifying profiles. Loads up info, determins what to do, etc.
alerts_popup Set up the requirements for the alerts popup - the area that shows all the alerts just quickly for the current user.
loadCustomFields Load any custom fields for this area. .. no area means load all, 'summary' loads all public ones.
profile_popup Set up the requirements for the profile popup - the area that is shown as the popup menu for the current user.
allowedTo Check the user's permissions. checks whether the user is allowed to do permission. (ie. post_new.) If boards is specified, checks those boards instead of the current one. If any is true, will return true if the user has the permission on any of the specified boards Always returns true if the user is an administrator.
banPermissions Fix permissions according to ban status. Applies any states of banning by removing permissions the user cannot have.
boardsAllowedTo Return the boards a user has a certain (board) permission on. (array(0) if all.) - returns a list of boards on which the user is allowed to do the specified permission. - returns an array with only a 0 in it if the user has permission to do this on every board. - returns an empty array if he or she cannot do this on any board. If check_access is true will also make sure the group has proper access to that board.
checkConfirm Check if a specific confirm parameter was given.
checkSession Make sure the user's correct session was passed, and they came from here. Checks the current session, verifying that the person is who he or she should be. Also checks the referrer to make sure they didn't get sent here. Depends on the disableCheckUA setting, which is usually missing. Will check GET, POST, or REQUEST depending on the passed type. Also optionally checks the referring action if passed. (note that the referring action must be by GET.)
checkSubmitOnce Check whether a form has been submitted twice. Registers a sequence number for a form. Checks whether a submitted sequence number is registered in the current session. Depending on the value of is_fatal shows an error or returns true or false. Frees a sequence number from the stack after it's been checked. Frees a sequence number without checking if action == 'free'.
cleanTokens Removes old unused tokens from session defaults to 3 hours before a token is considered expired if $complete = true will remove all tokens
createToken Lets give you a token of our appreciation.
frameOptionsHeader This sets the X-Frame-Options header.
isAllowedTo Fatal error if they cannot. Uses allowedTo() to check if the user is allowed to do permission. Checks the passed boards or current board for the permission. If $any is true, the user only needs permission on at least one of the boards to pass If they are not, it loads the Errors language file and shows an error using $txt['cannot_' . $permission]. If they are a guest and cannot do it, this calls is_not_guest().
isBannedEmail Checks if a given email address might be banned. Check if a given email is banned. Performs an immediate ban if the turns turns out positive.
is_not_banned Do banning related stuff. (ie. disallow access. ...) Checks if the user is banned, and if so dies with an error. Caches this information for optimization purposes.
is_not_guest Require a user who is logged in. (not a guest.) Checks if the user is currently a guest, and if so asks them to login with a message telling them why. Message is what to tell them when asking them to login.
log_ban Log a ban in the database. Log the current user in the ban logs. Increment the hit counters for the specified ban ID's (if any.)
secureDirectory A generic function to create a pair of index.php and .htaccess files in a directory
spamProtection This function attempts to protect from spammed messages and the like. The time taken depends on error_type - generally uses the modSetting.
validateSession Check if the user is who he/she says he is Makes sure the user is who they claim to be by requiring a password to be typed in every hour. Is turned on and off by the securityDisable setting. Uses the adminLogin() function of Subs-Auth.php if they need to login, which saves all request (post and get) data.
validateToken Only patrons with valid tokens can ride this ride.
Activate Activate an users account. Checks for mail changes, resends password if needed.
CoppaForm This function will display the contact information for the forum, as well a form to fill in.
Register Begin the registration process.
Register2 Actually register the member.
RegisterCheckUsername See if a username already exists.
SendActivation It doesn't actually send anything, this action just shows a message for a guest.
VerificationCode Show the verification code or let it be heard.
AdminRegister This function allows the admin to register a new member by hand. It also allows assigning a primary group to the member being registered. Accessed by ?action=admin;area=regcenter;sa=register Requires the moderate_forum permission. uses Register template, admin_register sub-template.
EditAgreement Allows the administrator to edit the registration agreement, and choose whether it should be shown or not. It writes and saves the agreement to the agreement.txt file. Accessed by ?action=admin;area=regcenter;sa=agreement. Requires the admin_forum permission. uses Admin template and the edit_agreement sub template.
ModifyRegistrationSettings This function handles registration settings, and provides a few pretty stats too while it's at it. General registration settings and Coppa compliance settings. Accessed by ?action=admin;area=regcenter;sa=settings. Requires the admin_forum permission.
RegCenter Entrance point for the registration center, it checks permissions and forwards to the right function based on the subaction. Accessed by ?action=admin;area=regcenter. Requires either the moderate_forum or the admin_forum permission. uses Login language file uses Register template.
SetReserved Set the names under which users are not allowed to register. Accessed by ?action=admin;area=regcenter;sa=reservednames. Requires the admin_forum permission. uses Register template, reserved_words sub-template.
BrowseMailQueue Display the mail queue. ..
ClearMailQueue This function clears the mail queue of all emails, and at the end redirects to browse.
ManageMail Main dispatcher. This function checks permissions and passes control through to the relevant section.
ModifyMailSettings Allows to view and modify the mail settings.
TestMailSend Test mail sending ability.
list_getMailQueue This function grabs the mail queue items from the database, according to the params given. Callback for $listOptions['get_items'] in BrowseMailQueue()
list_getMailQueueSize Returns the total count of items in the mail queue. Callback for $listOptions['get_count'] in BrowseMailQueue
pauseMailQueueClear Used for pausing the mail queue.
time_since Little utility function to calculate how long ago a time was.
AutoTask This function works out what to do!
CalculateNextTrigger Calculate the next time the passed tasks should be triggered.
ReduceMailQueue Send a group of emails from the mail queue.
loadEssentialThemeData This loads the bare minimum data to allow us to load language files!
next_time Simply returns a time stamp of the next instance of these time parameters.
scheduled_birthdayemails Happy birthday!!
scheduled_daily_digest Send out a daily email of all subscribed topics.
scheduled_daily_maintenance Do some daily cleaning up.
scheduled_fetchSMfiles This retieves data (e.g. last version of SMF) from
scheduled_paid_subscriptions Perform the standard checks on expiring/near expiring subscriptions.
scheduled_remove_old_drafts Check for old drafts and remove them
scheduled_remove_temp_attachments Check for un-posted attachments is something we can do once in a while :P This function uses opendir cycling through all the attachments
scheduled_remove_topic_redirect Check for move topic notices that have past their best by date
scheduled_weekly_digest Like the daily stuff - just seven times less regular ;)
scheduled_weekly_maintenance Weekly maintenance
DoLogin Perform the logging in. (set cookie, call hooks, etc)
Login Ask them for their login information. (shows a page for the user to type in their username and password.) It caches the referring URL in $_SESSION['login_url']. It is accessed from ?action=login. uses Login template and language file with the login sub-template.
Login2 Actually logs you in. What it does: - checks credentials and checks that login was successful. - it employs protection against a specific IP or user trying to brute force a login to an account. - upgrades password encryption on login, if necessary. - after successful login, redirects you to $_SESSION['login_url']. - accessed from ?action=login2, by forms. On error, uses the same templates Login() uses.
LoginTFA Allows the user to enter their Two-Factor Authentication code
Logout Logs the current user out of their account. It requires that the session hash is sent as well, to prevent automatic logouts by images or javascript. It redirects back to $_SESSION['logout_url'], if it exists. It is accessed via ?action=logout;session_var=...
checkActivation Check activation status of the current user.
md5_hmac MD5 Encryption used for older passwords. (SMF 1.0.x/YaBB SE 1.5.x hashing)
phpBB3_password_check Custom encryption for phpBB3 based passwords.
validatePasswordFlood This protects against brute force attacks on a member's password. Importantly, even if the password was right we DON'T TELL THEM!
AddMembergroup This function handles adding a membergroup and setting some initial properties. Called by ?action=admin;area=membergroups;sa=add. It requires the manage_membergroups permission. Allows to use a predefined permission profile or copy one from another group. Redirects to action=admin;area=membergroups;sa=edit;group=x. uses the new_group sub template of ManageMembergroups.
DeleteMembergroup Deleting a membergroup by URL (not implemented). Called by ?action=admin;area=membergroups;sa=delete;group=x;session_var=y. Requires the manage_membergroups permission. Redirects to ?action=admin;area=membergroups.
EditMembergroup Editing a membergroup. Screen to edit a specific membergroup. Called by ?action=admin;area=membergroups;sa=edit;group=x. It requires the manage_membergroups permission. Also handles the delete button of the edit form. Redirects to ?action=admin;area=membergroups. uses the edit_group sub template of ManageMembergroups.
MembergroupIndex Shows an overview of the current membergroups. Called by ?action=admin;area=membergroups. Requires the manage_membergroups permission. Splits the membergroups in regular ones and post count based groups. It also counts the number of members part of each membergroup. uses ManageMembergroups template, main.
ModifyMembergroups Main dispatcher, the entrance point for all 'Manage Membergroup' actions. It forwards to a function based on the given subaction, default being subaction 'index', or, without manage_membergroup permissions, then 'settings'. Called by ?action=admin;area=membergroups. Requires the manage_membergroups or the admin_forum permission. uses ManageMembergroups template. uses ManageMembers language file.
ModifyMembergroupsettings Set some general membergroup settings and permissions. Called by ?action=admin;area=membergroups;sa=settings Requires the admin_forum permission (and manage_permissions for changing permissions) Redirects to itself. uses membergroup_settings sub template of ManageMembergroups.
BoardPermissionsReport Generate a report on the current permissions by board and membergroup. functions ending with "Report" are responsible for generating data for reporting. they are all called from ReportsMain. never access the context directly, but use the data handling functions to do so.
BoardReport Standard report about what settings the boards have. functions ending with "Report" are responsible for generating data for reporting. they are all called from ReportsMain. never access the context directly, but use the data handling functions to do so.
GroupPermissionsReport Show the large variety of group permissions assigned to each membergroup. functions ending with "Report" are responsible for generating data for reporting. they are all called from ReportsMain. never access the context directly, but use the data handling functions to do so.
MemberGroupsReport Show what the membergroups are made of. functions ending with "Report" are responsible for generating data for reporting. they are all called from ReportsMain. never access the context directly, but use the data handling functions to do so.
ReportsMain Handling function for generating reports. Requires the admin_forum permission. Loads the Reports template and language files. Decides which type of report to generate, if this isn't passed through the querystring it will set the report_type sub-template to force the user to choose which type. When generating a report chooses which sub_template to use. Depends on the cal_enabled setting, and many of the other cal_ settings. Will call the relevant report generation function. If generating report will call finishTables before returning. Accessed through ?action=admin;area=reports.
StaffReport Report for showing all the forum staff members - quite a feat! functions ending with "Report" are responsible for generating data for reporting. they are all called from ReportsMain. never access the context directly, but use the data handling functions to do so.
addData Adds an array of data into an existing table. if there are no existing tables, will create one with default attributes. if custom_table isn't specified, it will use the last table created, if it is specified and doesn't exist the function will return false. if a set of keys have been specified, the function will check each required key is present in the incoming data. If this data is missing the current tables default value will be used. if any key in the incoming data begins with '#sep#', the function will add a separator across the table at this point. once the incoming data has been sanitized, it is added to the table.
addSeparator Add a separator row, only really used when adding data by rows.
finishTables This does the necessary count of table data before displaying them. is (unfortunately) required to create some useful variables for templates. foreach data table created, it will count the number of rows and columns in the table. will also create a max_width variable for the table, to give an estimate width for the whole table * * if it can.
newTable This function creates a new table of data, most functions will only use it once. The core of this file, it creates a new, but empty, table of data in context, ready for filling using addData(). Fills the context variable current_table with the ID of the table created. Keeps track of the current table count using context variable table_count.
setKeys Set the keys in use by the tables - these ensure entries MUST exist if the data isn't sent. sets the current set of "keys" expected in each data array passed to addData. It also sets the way we are adding data to the data table. method specifies whether the data passed to addData represents a new column, or a new row. keys is an array whose keys are the keys for data being passed to addData(). if reverse is set to true, then the values of the variable "keys" are used as opposed to the keys(!
EditCustomProfiles Edit some profile fields?
ModifyAlertsSettings Handles modifying the alerts settings
ModifyAntispamSettings Let's try keep the spam to a minimum ah Thantos?
ModifyBBCSettings Set a few Bulletin Board Code settings. It loads a list of Bulletin Board Code tags to allow disabling tags. Requires the admin_forum permission. Accessed from ?action=admin;area=featuresettings;sa=bbc.
ModifyBasicSettings Config array for changing the basic forum settings Accessed from ?action=admin;area=featuresettings;sa=basic;
ModifyFeatureSettings This function passes control through to the relevant tab.
ModifyGeneralModSettings If you have a general mod setting to add stick it here.
ModifyLayoutSettings Allows modifying the global layout settings in the forum Accessed through ?action=admin;area=featuresettings;sa=layout;
ModifyLikesSettings Config array for changing like settings Accessed from ?action=admin;area=featuresettings;sa=likes;
ModifyLogSettings Allow to edit the settings on the pruning screen.
ModifyMentionsSettings Config array for changing like settings Accessed from ?action=admin;area=featuresettings;sa=mentions;
ModifyModSettings This my friend, is for all the mod authors out there.
ModifySignatureSettings You'll never guess what this function does. ..
ModifyWarningSettings Moderation type settings - although there are fewer than we have you believe ;)
ShowCustomProfiles Show all the custom profile fields available to the user.
custFieldsMaxOrder Returns the maximum field_order value for the custom fields
list_getProfileFieldSize Callback for createList().
list_getProfileFields Callback for createList().
loadGeneralSettingParameters This function makes sure the requested subaction does exists, if it doesn't, it sets a default action or.
pauseSignatureApplySettings Just pause the signature applying thing.
MarkRead Mark one or more boards as read.
createBoard Create a new board and set its properties and position. Allows (almost) the same options as the modifyBoard() function. With the option inherit_permissions set, the parent board permissions will be inherited.
deleteBoards Remove one or more boards. Allows to move the children of the board before deleting it if moveChildrenTo is set to null, the child boards will be deleted. Deletes: - all topics that are on the given boards; - all information that's associated with the given boards; updates the statistics to reflect the new situation.
fixChildren Fixes the children of a board by setting their child_levels to new values. Used when a board is deleted or moved, to affect its children.
getBoardModeratorGroups Returns board's moderator groups with their names and link
getBoardModerators Returns the given board's moderators, with their names and links
getBoardTree Load a lot of useful information regarding the boards and categories. The information retrieved is stored in globals: $boards properties of each board. $boardList a list of boards grouped by category ID. $cat_tree properties of each category.
getMsgMemberID Get the id_member associated with the specified message.
getTreeOrder Tries to load up the entire board order and category very very quickly Returns an array with two elements, cats and boards
isChildOf Returns whether the child board id is actually a child of the parent (recursive).
markBoardsRead Mark a board or multiple boards read.
modifyBoard Modify the settings and position of a board. Used by ManageBoards.php to change the settings of a board.
recursiveBoards Recursively get a list of boards. Used by getBoardTree
reorderBoards Put all boards in the right order and sorts the records of the boards table. Used by modifyBoard(), deleteBoards(), modifyCategory(), and deleteCategories() functions
sortBoards Takes a board array and sorts it
sortCategories Takes a category array and sorts it
Credits It prepares credit and copyright information for the credits page or the admin page
Who Who's online, and what are they doing? This function prepares the who's online data for the Who template. It requires the who_view permission. It is enabled with the who_enabled setting. It is accessed via ?action=who. uses Who template, main sub-template uses Who language file.
determineActions This function determines the actions of the members passed in urls. Adding actions to the Who's Online list: Adding actions to this list is actually relatively easy... - for actions anyone should be able to see, just add a string named whoall_ACTION. (where ACTION is the action used in index.php.) - for actions that have a subaction which should be represented differently, use whoall_ACTION_SUBACTION. - for actions that include a topic, and should be restricted, use whotopic_ACTION. - for actions that use a message, by msg or quote, use whopost_ACTION. - for administrator-only actions, use whoadmin_ACTION. - for actions that should be viewable only with certain permissions, use whoallow_ACTION and add a list of possible permissions to the $allowedActions array, using ACTION as the key.
ApplyRules This will apply rules to all unread messages. If all_messages is set will, clearly, do it to all!
LoadRules Load up all the rules for the current user.
ManageLabels This function handles adding, deleting and editing labels on messages.
ManageRules List all rules, and allow adding/entering etc. ..
MessageActionsApply This function performs all additional stuff. ..
MessageDrafts This function allows the user to view their PM drafts
MessageFolder A folder, ie. inbox/sent etc.
MessageKillAll Delete ALL the messages!
MessageKillAllQuery Are you sure you want to PERMANENTLY (mostly) delete ALL your messages?
MessageMain This helps organize things. ..
MessagePopup The popup for when we ask for the popup from the user.
MessagePost Send a new message?
MessagePost2 Send it!
MessagePrune This function allows the user to delete all messages older than so many days.
MessageSearch Allows searching through personal messages.
MessageSearch2 Actually do the search of personal messages.
MessageSettings Allows to edit Personal Message Settings. uses Profile.php uses Profile-Modify.php uses Profile template. uses Profile language file.
ReportMessage Allows the user to report a personal message to an administrator. - In the first instance requires that the ID of the message to report is passed through $_GET. - It allows the user to report to either a particular administrator - or the whole admin team. - It will forward on a copy of the original message without allowing the reporter to make changes. uses report_message sub-template.
deleteMessages Delete the specified personal messages.
isAccessiblePM Check if the PM is available to the current user.
markMessages Mark the specified personal messages read.
messageIndexBar A menu to easily access different areas of the PM section
messagePostError An error in the message. ..
prepareMessageContext Get a personal message for the theme. (used to save memory.)
generateSubscriptionError Log an error then exit
ExamineFile Display one of the files in a package.
PackageBrowse Browse a list of installed packages.
PackageFTPTest Test an FTP connection.
PackageInstall Apply another type of (avatar, language, etc.) package.
PackageInstallTest Test install a package.
PackageList List the files in a package.
PackageOptions Used when a temp FTP access is needed to package functions
PackagePermissions Allow the admin to reset permissions on files.
PackagePermissionsAction Actually action the permission changes they want.
PackageRemove Delete a package.
Packages This is the notoriously defunct package manager. .... :/.
ViewOperations List operations
build_special_files__recursive Builds a list of special files recursively for a given path
count_directories__recursive Counts all the directories under a given path
fetchPerms__recursive Checkes the permissions of all the areas that will be affected by the package
list_getPackages Get a listing of all the packages Determines if the package is a mod, avatar, language package Determines if the package has been installed or not
sort_table_first Table sorting function used in usort
MessageIndex Show the list of topics in this board, along with any child boards.
QuickModeration Handles moderation from the message index.
ComposeMailing Shows a form to edit a forum mailing and its recipients. Called by ?action=admin;area=news;sa=mailingcompose. Requires the send_mail permission. Form is submitted to ?action=admin;area=news;sa=mailingsend. uses ManageNews template, email_members_compose sub-template.
EditNews Let the administrator(s) edit the news items for the forum. It writes an entry into the moderation log. This function uses the edit_news administration area. Called by ?action=admin;area=news. Requires the edit_news permission. Can be accessed with ?action=admin;sa=editnews. uses ManageNews template, edit_news sub template.
ManageNews The news dispatcher; doesn't do anything, just delegates. This is the entrance point for all News and Newsletter screens. Called by ?action=admin;area=news. It does the permission checks, and calls the appropriate function based on the requested sub-action.
ModifyNewsSettings Set general news and newsletter settings and permissions. Called by ?action=admin;area=news;sa=settings. Requires the forum_admin permission. uses ManageNews template, news_settings sub-template.
SelectMailingMembers This function allows a user to select the membergroups to send their mailing to. Called by ?action=admin;area=news;sa=mailingmembers. Requires the send_mail permission. Form is submitted to ?action=admin;area=news;mailingcompose. uses the ManageNews template and email_members sub template.
SendMailing Handles the sending of the forum mailing in batches. Called by ?action=admin;area=news;sa=mailingsend Requires the send_mail permission. Redirects to itself when more batches need to be sent. Redirects to ?action=admin;area=news;sa=mailingmembers after everything has been sent.
list_getNews Prepares an array of the forum news items for display in the template
prepareMailingForPreview Prepare subject and message of an email for the preview box Used in ComposeMailing and RetrievePreview (Xml.php)
sha1_core This is the core SHA-1 calculation routine, used by sha1().
sha1_ft Helper function for the core SHA-1 calculation
sha1_kt Helper function for the core SHA-1 calculation
sha1_raw Available since: (PHP 5) If the optional raw_output is set to TRUE, then the sha1 digest is instead returned in raw binary format with a length of 20, otherwise the returned value is a 40-character hexadecimal number.
sha1_rol Helper function for the core SHA-1 calculation
sha1_smf Define the old SMF sha1 function. Uses mhash if available
LockTopic Locks a topic. .. either by way of a moderator or the topic starter. What this does: - locks a topic, toggles between locked/unlocked/admin locked. - only admins can unlock topics locked by other admins. - requires the lock_own or lock_any permission. - logs the action to the moderator log. - returns to the topic after it is done. - it is accessed via ?action=lock.
Sticky Sticky a topic. Can't be done by topic starters - that would be annoying! What this does: - stickies a topic - toggles between sticky and normal. - requires the make_sticky permission. - adds an entry to the moderator log. - when done, sends the user back to the topic. - accessed via ?action=sticky.
AddSmiley Add a smiley, that's right.
EditMessageIcons Handles editing message icons
EditSmileyOrder Allows to edit smileys order.
EditSmileySets List, add, remove, modify smileys sets.
EditSmileySettings Handles modifying smileys settings.
EditSmileys Add, remove, edit smileys.
ImportSmileys A function to import new smileys from an existing directory into the database.
InstallSmileySet Install a smiley set.
ManageSmileys This is the dispatcher of smileys administration.
list_getMessageIcons Callback function for createList().
list_getNumSmileySets Callback function for createList().
list_getNumSmileys Callback function for createList().
list_getSmileySets Callback function for createList().
list_getSmileys Callback function for createList().
compareVersions Compares two versions and determines if one is newer, older or the same, returns - (-1) if version1 is lower than version2 - (0) if version1 is equal to version2 - (1) if version1 is higher than version2
copytree Copies one directory structure over to another. requires the destination to be writable.
create_chmod_control Create a chmod control for chmoding files.
deltree Deletes a directory, and all the files and direcories inside it. requires access to delete these files.
getPackageInfo Loads a package's information and returns a representative array. - expects the file to be a package in Packages/. - returns a error string if the package-info is invalid. - otherwise returns a basic array of id, version, filename, and similar information. - an xmlArray is available in 'xml'.
list_restoreFiles Get a listing of files that will need to be set back to the original state
listtree Create a tree listing for a given directory path
loadInstalledPackages Loads and returns an array of installed packages. - returns the array of data. - default sort order is package_installed time
matchHighestPackageVersion Checks if version matches any of the versions in versions. - supports comma separated version numbers, with or without whitespace. - supports lower and upper bounds. (1.0-1.2) - returns true if the version matched.
matchPackageVersion Checks if the forum version matches any of the available versions from the package install xml. - supports comma separated version numbers, with or without whitespace. - supports lower and upper bounds. (1.0-1.2) - returns true if the version matched.
mktree Creates the specified tree structure with the mode specified. creates every directory in path until it finds one that already exists.
packageRequireFTP Use FTP functions to work with a package download/install
package_chmod Try to make a file writable.
package_create_backup Creates a backup of forum files prior to modifying them
package_crypt Used to crypt the supplied ftp password in this session
package_flush_cache Flushes the cache from memory to the filesystem
package_get_contents Get the physical contents of a packages file
package_put_contents Writes data to a file, almost exactly like the file_put_contents() function. uses FTP to create/chmod the file when necessary and available. uses text mode for text mode file extensions. returns the number of bytes written.
parseBoardMod Parses a boardmod-style (.mod) modification file
parseModification Parses a xml-style modification file (file).
parsePackageInfo Parses the actions in package-info.xml file from packages. - package should be an xmlArray with package-info as its base. - testing_only should be true if the package should not actually be applied. - method can be upgrade, install, or uninstall. Its default is install. - previous_version should be set to the previous installed version of this package, if any. - does not handle failure terribly well; testing first is always better.
parse_path Parses special identifiers out of the specified path.
read_tgz_data Extracts a file or files from the .tar.gz contained in data. detects if the file is really a .zip file, and if so returns the result of read_zip_data if destination is null - returns a list of files in the archive. if single_file is true - returns the contents of the file specified by destination, if it exists, or false. - destination can start with * and / to signify that the file may come from any directory. - destination should not begin with a / if single_file is true. overwrites existing files with newer modification times if and only if overwrite is true. creates the destination directory if it doesn't exist, and is is specified. requires zlib support be built into PHP. returns an array of the files extracted. if files_to_extract is not equal to null only extracts file within this array.
read_tgz_file Reads a .tar.gz file, filename, in and extracts file(s) from it. essentially just a shortcut for read_tgz_data().
read_zip_data Extract zip data. . If single_file is true, destination can start with * and / to signify that the file may come from any directory. Destination should not begin with a / if single_file is true.
read_zip_file Extract zip data. A functional copy of {@list read_zip_data()}.
smf_crc32 crc32 doesn't work as expected on 64-bit functions - make our own.
url_exists Checks the existence of a remote file since file_exists() does not do remote. will return false if the file is "moved permanently" or similar.
ApproveMessage Approve a post, just the one.
PostModerationMain This is a handling function for all things post moderation.
UnapprovedAttachments View all unapproved attachments.
UnapprovedPosts View all unapproved posts.
approveAllData This is a helper function - basically approve everything!
approveMessages Approve a batch of posts (or topics in their own right)
list_getNumUnapprovedAttachments Callback function for UnapprovedAttachments count all the attachments waiting for approval that this approver can approve
list_getUnapprovedAttachments Callback function for UnapprovedAttachments retrieve all the attachments waiting for approval the approver can approve
removeMessages Remove a batch of messages (or topics)
AdminEndSession This ends a admin session, requiring authentication to access the ACP again.
AdminHome The main administration section. It prepares all the data necessary for the administration front page. It uses the Admin template along with the admin sub template. It requires the moderate_forum, manage_membergroups, manage_bans, admin_forum, manage_permissions, manage_attachments, manage_smileys, manage_boards, edit_news, or send_mail permission. It uses the index administrative area. It can be found by going to ?action=admin.
AdminLogs This function decides which log to load.
AdminMain The main admin handling function.<br> It initialises all the basic context required for the admin center.<br> It passes execution onto the relevant admin section.<br> If the passed section is not found it shows the admin home page.
AdminSearch This function allocates out all the search stuff.
AdminSearchInternal A complicated but relatively quick internal search.
AdminSearchMember All this does is pass through to manage members. {@see \ViewMembers()}
AdminSearchOM This file allows the user to search the SM online manual for a little of help.
DisplayAdminFile Get one of the admin information files from Simple Machines.
cleanRequest_cron Cleans up the request variables
fetch_task The heart of this cron handler. ..
obExit_cron The exit function
perform_task This actually handles the task
smf_error_handler_cron The error handling function
RepairBoards Finds or repairs errors in the database to fix possible problems. Requires the admin_forum permission. Calls createSalvageArea() to create a new board, if necessary. Accessed by ?action=admin;area=repairboards. uses repair_boards sub-template.
createSalvageArea Create a salvage area for repair purposes, if one doesn't already exist. Uses the forum's default language, and checks based on that name.
findForumErrors Checks for errors in steps, until 5 seconds have passed. It keeps track of the errors it did find, so that the actual repair won't have to recheck everything.
loadForumTests Load up all the tests we might want to do ;)
pauseRepairProcess Show the not_done template to avoid CGI timeouts and similar. Called when 3 or more seconds have passed while searching for errors. If max_substep is set, $_GET['substep'] / $max_substep is the percent done this step is.
Display The central part of the board - topic display. This function loads the posts in a topic up so they can be displayed. It uses the main sub template of the Display template. It requires a topic, and can go to the previous or next topic from it. It jumps to the correct post depending on a number/time/IS_MSG passed. It depends on the messages_per_page, defaultMaxMessages and enableAllMessages settings. It is accessed by ?topic=id_topic.START.
Download Once upon a time, this function handled downloading attachments. Now it's just an alias retained for the sake of backwards compatibility.
QuickInTopicModeration In-topic quick moderation.
approved_attach_sort A sort function for putting unapproved attachments first.
prepareDisplayContext Callback for the message display. It actually gets and prepares the message context. This function will start over from the beginning if reset is set to true, which is useful for showing an index before or after the posts.
smf_main The main dispatcher. This delegates to each area.
random_int Random_* Compatibility Library for using the new PHP 7 random_* API in PHP 5 projects The MIT License (MIT) Copyright (c) 2015 - 2018 Paragon Initiative Enterprises Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
random_bytes Unless open_basedir is enabled, use /dev/urandom for random numbers in accordance with best practices Why we use /dev/urandom and not /dev/random
RandomCompat_intval Cast to an integer if we can, safely. If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX) (non-inclusive), it will sanely cast it to an int. If you it's equal to ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats lose precision, so the <= and => operators might accidentally let a float through.
RandomCompat_strlen strlen() implementation that isn't brittle to mbstring.func_overload This version just used the default strlen()
RandomCompat_substr substr() implementation that isn't brittle to mbstring.func_overload This version just uses the default substr()
template_body_above The upper part of the main template layer. This is the stuff that shows above the main forum content.
template_body_below The stuff shown immediately below the main content, including the footer
template_button_strip Generate a strip of buttons.
template_html_above The main sub template above the content.
template_html_below This shows any deferred JavaScript and closes out the HTML
template_init Simple Machines Forum (SMF)
template_maint_warning_above The upper part of the maintenance warning box
template_maint_warning_below The lower part of the maintenance warning box.
template_menu Show the menu up top. Something like [home] [help] [profile] [logout]. ..
theme_linktree Show a linktree. This is that thing that shows "My Community | General Category | General Discussion". .
template_check_username The XML for instantly showing whether a username is valid on the registration page
template_generic_xml This prints XML in its most generic form.
template_generic_xml_recursive Recursive function for displaying generic XML data.
template_jump_to The XML for the Jump To box
template_message_icons The XML for displaying a column of message icons and selecting one via AJAX
template_modifydone The XML for handling things when you're done editing a post inline
template_modifyfast This defines the XML for the inline edit feature
template_modifytopicdone This handles things when editing a topic's subject from the messageindex.
template_pm All the XML for previewing a PM
template_post The massive XML for previewing posts.
template_sendbody Simple Machines Forum (SMF)
template_split The XML for selecting items to split
template_stats The XML for hiding/showing stats sections via AJAX
template_warning The XML for previewing a warning
template_ban_edit Simple Machines Forum (SMF)
template_ban_edit_trigger Add or edit a ban trigger
template_admin_register The template for the form allowing an admin to register a user from the admin center.
template_after After registration. .. all done ;).
template_coppa Template for giving instructions about COPPA activation.
template_coppa_form An easily printable form for giving permission to access the forum for a minor.
template_edit_agreement Form for editing the agreement shown for people registering to the forum.
template_edit_reserved_words Template for editing reserved words.
template_registration_agreement Simple Machines Forum (SMF)
template_registration_form Before registering - get their information.
template_verification_sound Show a window containing the spoken verification code.
template_print The main print page
template_print_above Header of the print page!
template_print_below Footer of the print page.
template_report_type Simple Machines Forum (SMF)
template_edit_comment Template for editing a mod comment.
template_reported_members Lists all reported members
template_reported_members_block A block to show the current top reported member profiles.
template_reported_posts Simple Machines Forum (SMF)
template_reported_posts_block A block to show the current top reported posts.
template_viewmemberreport Template for viewing and managing a specific report about a user's profile
template_viewmodreport Handles viewing details of and managing a specific report
template_edit_holiday Simple Machines Forum (SMF)
template_alert_configuration The template for configuring alerts
template_alert_notifications_boards Template for showing which boards you're subscribed to
template_alert_notifications_topics Template for showing which topics you're subscribed to
template_alerts_all_read A simple template to say "You don't have any unread alerts".
template_alerts_popup The "popup" showing the user's alerts
template_deleteAccount Template to show for deleting a user's account - now with added delete post capability!
template_editBuddies Template for showing and managing the buddy list.
template_editIgnoreList Template for showing the ignore list of the current user.
template_edit_options Template for editing profile options.
template_error_message Small template for showing an error message upon a save problem in the profile.
template_groupMembership Template for choosing group membership.
template_ignoreboards Template for managing ignored boards
template_load_warning_variables Simply loads some theme variables common to several warning templates.
template_max_size This is just a really little helper to avoid duplicating code unnecessarily
template_profile_above Simple Machines Forum (SMF)
template_profile_avatar_select Template for selecting an avatar
template_profile_below Template for any HTML needed below the profile (closing off divs/tables, etc.)
template_profile_birthdate Callback function for entering a birthdate!
template_profile_group_manage Display a load of drop down selectors for allowing the user to change group.
template_profile_pm_settings Personal Message settings.
template_profile_popup Template for showing off the spiffy popup of the menu
template_profile_save Template for the password box/save button stuck at the bottom of every profile page.
template_profile_signature_modify Show the signature editing box?
template_profile_smiley_pick Smiley set picker.
template_profile_tfa Simple template for showing the 2FA area when editing a profile.
template_profile_theme_pick Template for picking a theme
template_profile_theme_settings Template for showing theme settings. Note: template_options() actually adds the theme specific options.
template_profile_timeformat_modify Select the time format!
template_showAlerts Template for showing alerts within the alerts popup
template_showDrafts Template for showing all of a user's drafts
template_showPermissions This template shows an admin which permissions a user have and which group(s) give them each permission.
template_showPosts Template for showing all the posts of the user, in chronological order.
template_statPanel Template for user statistics, showing graphs and the like.
template_summary This template displays a user's details without any option to edit them.
template_tfadisable Template for disabling two-factor authentication.
template_tfasetup Template for setting up and managing Two-Factor Authentication.
template_tfasetup_backup Template for setting up 2FA backup code
template_trackActivity This template shows an admin information on a users IP addresses used and errors attributed to them.
template_trackIP The template for trackIP, allowing the admin to see where/who a certain IP has been used.
template_create_index Create a search index.
template_create_index_done Done creating a search index.
template_create_index_progress Display a progress page while creating a search index.
template_modify_weights Simple Machines Forum (SMF)
template_select_search_method Select the search method.
template_show_spider_logs Show. .. spider... logs...
template_show_spider_stats Show. .. spider... stats...
template_spider_edit Add or edit a search engine spider.
template_calendar_top Calendar controls under the title Creates the view selector (list, month, week), the date selector (either a select menu or a date range chooser, depending on the circumstances), and the "Post Event" button.
template_event_post Template for posting a calendar event.
template_show_month_grid Display a monthly calendar grid.
template_show_upcoming_list Display a list of upcoming events, birthdays, and holidays.
template_show_week_grid Shows a weekly grid
template_merge Merge topic page.
template_merge_done Confirmation page shown when finished merging topics.
template_merge_extra_options Extra options related to merging topics.
template_move Simple Machines Forum (SMF)
template_redirect_options Redirection topic options
template_addsmiley Adding a new smiley.
template_editicon Editing an individual message icon
template_editicons Editing Message Icons
template_editsets Simple Machines Forum (SMF)
template_modifyset Modifying a smiley set.
template_modifysmiley Editing an individual smiley
template_setorder Ordering smileys.
template_browse Simple Machines Forum (SMF)
template_mailtest Template for testing mail send.
template_edit_scheduled_tasks A template for, you guessed it, editing a task!
template_view_scheduled_tasks Simple Machines Forum (SMF)
template_confirm_board_delete A template used when a user is deleting a board with child boards in it - to see what they want to do with them.
template_confirm_category_delete A template to confirm if a user wishes to delete a category - and whether they want to save the boards.
template_modify_board Below is the template for adding/editing a board on the forum.
template_modify_category Template for editing/adding a category on the forum.
template_recent Simple Machines Forum (SMF)
template_replies Template for showing unread replies (eg new replies to topics you've posted in)
template_unread Template for showing unread posts
template_convert_entities Template for converting entities to UTF-8 characters
template_convert_msgbody Template for converting posts to UTF-8.
template_maintain_database Simple Machines Forum (SMF)
template_maintain_members Template for the member maintenance tasks.
template_maintain_routine Template for the routine maintenance tasks.
template_maintain_topics Template for the topic maintenance tasks.
template_optimize Simple template for showing results of our optimization. ..
template_admin_browse The admin member list.
template_search_members Simple Machines Forum (SMF)
template_select The form for selecting which posts to split.
template_ask The page that asks a user to answer their secret question
template_reminder_pick The page to pick an option - secret question/answer (if set) or email
template_sent Just a simple "We sent you an email. Click the link in it to continue." message
template_set_password Template for setting the new password
template_topic_legend Shows a legend for topic icons.
template_group_requests_block Show all the group requests the user can see.
template_moderation_center Simple Machines Forum (SMF)
template_moderation_settings The moderation settings page.
template_notes Little section for making. .. notes.
template_reported_users_block A list of reported users
template_show_notice Show a notice sent to a user.
template_unapproved_posts Show a list of all the unapproved posts
template_user_watch_post_callback Callback function for showing a watched users post in the table.
template_warn_template Add or edit a warning template.
template_watched_users A list of watched users
template_notify_board Board notification bar.
template_add_edit_group_boards_list The template for determining which boards a group has access to.
template_edit_group Edit an existing membergroup.
template_group_members Template for viewing the members of a group.
template_group_request_reason Allow the moderator to enter a reason to each user being rejected.
template_new_group Add a new membergroup.
template_results The search results page.
template_copy_template The page allowing you to copy a template from one theme to another.
template_edit_browse This lets you browse a list of files in a theme so you can choose which one to edit.
template_edit_file This allows you to edit a file
template_edit_list The page for editing themes.
template_edit_style Wanna edit the stylesheet?
template_edit_template This edits the template. ..
template_installed Okay, that theme was installed/updated successfully!
template_list_themes This lists all themes
template_pick This template allows for the selection of different themes ;)
template_reset_list This lets you reset themes
template_set_options This displays the form for setting theme options
template_set_settings The page for setting and managing theme settings.
template_action_permissions A progress page showing what permissions changes are being applied
template_control_chmod CHMOD control form
template_downloaded Confirmation page showing a package was uploaded/downloaded successfully.
template_examine Examine a single file within a package
template_extract_package Extract package contents
template_file_permissions The file permissions page.
template_ftp_required Wrapper for the above template function showing that FTP is required
template_install_options Installation options - FTP info and backup settings
template_list List files in a package
template_package_confirm Confirm package operation
template_package_list List packages.
template_permission_show_contents Shows permissions for items within a directory (called from template_file_permissions)
template_servers List package servers
template_view_operations View operation details.
template_view_package View package details when installing/uninstalling
template_announce The form for sending out an announcement
template_announcement_send The confirmation/progress page, displayed after the admin has clicked the button to send the announcement.
template_post_header Prints the input fields in the form's header (subject, message icon, guest name & email, etc.) Mod authors can use the 'integrate_post_end' hook to modify or add to these (see Post.php). Theme authors can customize the output in a couple different ways: 1. Change specific values in the $context['posting_fields'] array. 2. Add an 'html' element to the 'label' and/or 'input' elements of the field they want to change. This should contain the literal HTML string to be printed.
template_quotefast The template for the AJAX quote feature
template_spellcheck The template for the spellchecker.
template_choose_payment The "choose payment" dialog.
template_delete_subscription The page for deleting a subscription.
template_modify_subscription Simple Machines Forum (SMF)
template_modify_user_subscription Add or edit an existing subscriber.
template_paid_done The "thank you" bit. ..
template_user_subscription Template for a user to edit/pick their subscriptions.
template_email_members Simple Machines Forum (SMF)
template_email_members_compose The form for composing a newsletter
template_email_members_send The page shown while the newsletter is being sent
template_news_lists The settings page.
template_bi_board_children Outputs the board children for a standard board.
template_bi_board_icon Outputs the board icon for a standard board.
template_bi_board_info Outputs the board info for a standard board or redirect.
template_bi_board_lastpost Outputs the board lastposts for a standard board or a redirect. When on a mobile device, this may be hidden if no last post exists.
template_bi_board_stats Outputs the board stats for a standard board.
template_bi_redirect_icon Outputs the board icon for a redirect.
template_bi_redirect_stats Outputs the board stats for a redirect.
template_boardindex_outer_above Simple Machines Forum (SMF)
template_boardindex_outer_below The lower part of the outer layer of the board index
template_ic_block_calendar The calendar section of the info center
template_ic_block_online The who's online section of the admin center
template_ic_block_recent The recent posts section of the info center
template_ic_block_stats The stats section of the info center
template_info_center Displays the info center
template_newsfader This shows the newsfader
template_generic_menu_dropdown_above Simple Machines Forum (SMF)
template_generic_menu_dropdown_below Part of the admin layer - used with generic_menu_dropdown_above to close the admin content div.
template_generic_menu_tabs The code for displaying the menu
template_find_members The template for the popup for finding members
template_manual The main help page
template_popup Simple Machines Forum (SMF)
template_terms The rules page
template_control_richedit Simple Machines Forum (SMF)
template_control_richedit_buttons This template shows the form buttons at the bottom of the editor
template_control_verification This template displays a verification form
template_credits This displays a nice credits page
template_add_rule Template for adding/editing a rule.
template_ask_delete This template asks the user whether they wish to empty out their folder/messages.
template_folder Shows a particular folder (eg inbox or outbox), all the PMs in it, etc.
template_labels Here we allow the user to setup labels, remove labels and change rules for labels (i.e, do quite a bit)
template_pm_above Simple Machines Forum (SMF)
template_pm_below Just the end of the index bar, nothing special.
template_prune This template asks the user what messages they want to prune.
template_report_message Template for reporting a personal message.
template_report_message_complete Little template just to say "Yep, it's been submitted"
template_rules Manage rules.
template_search The form for the PM search feature
template_search_results Displays results from a PM search
template_send The form for sending a new PM
template_showPMDrafts Template for showing all of a user's PM drafts.
template_subject_list Just list all the personal message subjects - to make templates easier.
template_admin_login This is for the security stuff - makes administrators login every so often.
template_kick_guest Tell a guest to get lost or login!
template_login Simple Machines Forum (SMF)
template_login_tfa TFA authentication form
template_resend The form for resending the activation code.
template_retry_activate Activate your account manually?
template_admin Simple Machines Forum (SMF)
template_admin_quick_search This shows the admin search form
template_admin_search_results Results page for an admin search.
template_callback_question_answer_list This little beauty shows questions and answer from the captcha type feature.
template_clean_cache_button_below Content shown below the clean cache button?
template_edit_censored Form for stopping people using naughty words, etc.
template_not_done This is the page shown when we've temporarily paused things such as during maintenance tasks, sending newsletters, etc.
template_php_info Retrieves info from the php_info function, scrubs and preps it for display
template_repair_boards Repairing boards.
template_show_custom_profile Template for showing custom profile fields.
template_show_settings Template for showing settings (Of any kind really!)
template_view_versions Displays information about file versions installed, and compares them to current version.
template_options Simple Machines Forum (SMF)
template_settings This pseudo-template defines all the available theme settings (but not their actual values)
template_generic A generic template that outputs any data passed to it. ..
template_like Display a like button and info about how many people liked something
template_additional_rows This template displays additional rows above or below the list.
template_create_list_menu This function creates a menu
template_show_list Simple Machines Forum (SMF)
template_quickreply The template for displaying the quick reply box.
template_single_post Template for displaying a single post.
template_attachment_paths The page that handles managing attachment paths.
template_attachment_repair The file repair page
template_avatar_settings_above Simple Machines Forum (SMF)
template_avatar_settings_below JavaScript to be output below the simple settings page
template_maintenance The attachment maintenance page
template_attachment_errors This template handles showing attachment-related errors
template_error_log This template handles the error log in the admin center.
template_fatal_error Simple Machines Forum (SMF)
template_show_backtrace This template shows a backtrace of the given error
template_show_file This template shows a snippet of code from a file and highlights which line caused the error.
template_main Simple Machines Forum (SMF)
password_get_info Get information about the password hash. Returns an array of the information that was used to generate the password hash. array( 'algo' => 1, 'algoName' => 'bcrypt', 'options' => array( 'cost' => 10, ), )
password_hash Hash the password using the specified algorithm Limits the maximum length of password to 72, if a longer string is supplied the first 72 characters are used
password_needs_rehash Determine if the password hash needs to be rehashed according to the options provided If the answer is true, after validating the password using password_verify, rehash it.
password_verify Verify a password against a hash using a timing attack resistant approach
Exceptions Summary