approve_ip_script
bump_password_change_date
bump_password_times_forward
check_joining_allowed
check_password_complexity
cns_add_member_to_group
cns_authusername_is_bound_via_httpauth
cns_ban_member
cns_button_screen_wrap
cns_check_make_private_topic
cns_check_name_valid
cns_check_post
cns_create_selection_list_forum_groupings
cns_create_selection_list_topic_tree
cns_create_selection_list_usergroups
cns_decache_cms_blocks
cns_delete_custom_field
cns_delete_emoticon
cns_delete_forum
cns_delete_forum_grouping
cns_delete_group
cns_delete_member
cns_delete_multi_moderation
cns_delete_poll
cns_delete_post_template
cns_delete_posts_topic
cns_delete_topic
cns_delete_warning
cns_delete_welcome_email
cns_display_spacer_post
cns_edit_custom_field
cns_edit_emoticon
cns_edit_forum
cns_edit_forum_grouping
cns_edit_group
cns_edit_member
cns_edit_multi_moderation
cns_edit_poll
cns_edit_post
cns_edit_post_template
cns_edit_topic
cns_edit_warning
cns_edit_welcome_email
cns_ensure_forum_exists
cns_ensure_forum_grouping_exists
cns_ensure_groups_cached
cns_field_editable
cns_find_birthdays
cns_force_update_forum_caching
cns_force_update_member_post_count
cns_force_update_topic_caching
cns_forum_breadcrumbs
cns_get_all_custom_fields_match
cns_get_all_custom_fields_match_member
cns_get_all_default_groups
cns_get_all_subordinate_forums
cns_get_best_group_property
cns_get_custom_field_mappings
cns_get_custom_fields_member
cns_get_filter_cats
cns_get_forum_multi_code_field
cns_get_forum_parent_or_list
cns_get_forum_tree
cns_get_forums_stats
cns_get_group_link
cns_get_group_members_raw
cns_get_group_members_raw_count
cns_get_group_name
cns_get_group_property
cns_get_member_best_group_property
cns_get_member_fields
cns_get_member_fields_profile
cns_get_member_fields_settings
cns_get_member_primary_group
cns_get_members_groups
cns_get_post_templates
cns_get_pp_rows
cns_get_safe_specified_poster_name
cns_get_topic_tree
cns_get_topic_where
cns_get_warnings
cns_group_absorb_privileges_of
cns_has_read_topic
cns_has_replied_topic
cns_has_special_pt_access
cns_invite_to_pt
cns_is_httpauth_member
cns_is_ldap_member
cns_join_actual
cns_join_form
cns_list_multi_moderations
cns_make_boiler_custom_field
cns_make_custom_field
cns_make_emoticon
cns_make_forum
cns_make_forum_grouping
cns_make_group
cns_make_member
cns_make_multi_moderation
cns_make_poll
cns_make_post
cns_make_post_template
cns_make_topic
cns_make_warning
cns_make_welcome_email
cns_may_attach_poll
cns_may_control_group
cns_may_delete_poll_by
cns_may_delete_post_by
cns_may_delete_topics_by
cns_may_edit_poll_by
cns_may_edit_post_by
cns_may_edit_topics_by
cns_may_make_private_topic
cns_may_moderate_forum
cns_may_perform_multi_moderation
cns_may_post_in_topic
cns_may_post_topic
cns_may_report_post
cns_may_warn_members
cns_may_whisper
cns_member_ask_join_group
cns_member_choose_avatar
cns_member_choose_photo
cns_member_choose_photo_concrete
cns_member_choose_signature
cns_member_choose_title
cns_member_external_linker
cns_member_external_linker_ask
cns_member_handle_promotion
cns_member_leave_group
cns_member_validate_into_group
cns_mod_log_it
cns_move_posts
cns_move_topics
cns_organise_into_tree
cns_perform_multi_moderation
cns_ping_forum_read_all
cns_ping_forum_unread_all
cns_ping_topic_read
cns_poll_get_results
cns_read_in_custom_fields
cns_read_in_member_profile
cns_send_topic_notification
cns_set_context_forum
cns_set_custom_field
cns_unban_member
cns_validate_post
cns_vote_in_poll
create_selection_list_forum_tree
create_selection_list_timezone_list
find_cpf_field_id
find_usergroup_id
generate_notifications
get_cpf_storage_for
get_first_default_group
get_forum_access_sql
get_group_colour
get_member_title
get_username_from_human_name
handle_topic_ticket_reply
import_custom_emoticons
install_cns
member_field_is_required
member_get_csv_headings
member_password_expired
member_password_too_old
not_like_spacer_posts
render_forum_box
render_group_box
render_member_box
render_post_box
render_profile_tabset
render_topic_box
rules_script
send_pt_notification
uninstall_cns
update_member_username_caching
warnings_script
approve_ip_script()
| package | core_cns |
|---|
bump_password_change_date(\MEMBER $member_id, string $password, string $password_salted, string $salt, boolean $skip_checks= false, \?TIME $time= null)
| package | core_cns |
|---|
\MEMBERThe member this is for
stringNew password
stringHashed password
stringPassword salt
booleanWhether to skip enforcement checks
\?TIMEThe time this is logged to be happening at (null: now)
bump_password_times_forward()
| package | core_cns |
|---|
check_joining_allowed()
| package | core_cns |
|---|
check_password_complexity(\ID_TEXT $username, string $password, boolean $return_errors = false) : \?Tempcode
| package | core_cns |
|---|
\ID_TEXTThe username this is for
stringNew password
booleanWhether to return errors instead of dieing on them.
\?TempcodeError (null: none).cns_add_member_to_group(\MEMBER $member_id, \GROUP $id, \BINARY $validated = 1)
| package | core_cns |
|---|
\MEMBERThe member.
\GROUPThe usergroup.
\BINARYWhether the member is validated into the usergroup.
cns_authusername_is_bound_via_httpauth(string $authusername) : \?integer
| package | core_cns |
|---|
stringThe username.
\?integerThe member ID, if it is (null: not bound).cns_ban_member(\AUTO_LINK $member_id)
cns_check_name_valid(\?SHORT_TEXT $username, \?MEMBER $member_id= null, \?SHORT_TEXT $password= null, boolean $return_errors= false) : \?Tempcode
| package | core_cns |
|---|
\?SHORT_TEXTThe username (may get altered) (null: nothing to check).
\?MEMBERThe member (null: member not actually added yet; this ID is only given for the duplication check, to make sure it doesn't think we are duplicating with ourself).
\?SHORT_TEXTThe password (null: nothing to check).
booleanWhether to return errors instead of dieing on them.
\?TempcodeError (null: none).cns_check_post(\LONG_TEXT $post, \?AUTO_LINK $topic_id= null, \?MEMBER $poster= null) : \?array
| package | core_cns |
|---|
\LONG_TEXTThe post.
\?AUTO_LINKThe ID of the topic the post would be in (null: don't check with regard to any particular topic).
\?MEMBERThe poster (null: current member).
\?arrayRow of the existing post if a double post (single row map-element in a list of rows) (null: not a double post).cns_create_selection_list_forum_groupings(\?AUTO_LINK $avoid= null, \?AUTO_LINK $it= null) : \Tempcode
| package | core_cns |
|---|
\?AUTO_LINKCategory to avoid putting in the list (null: don't avoid any).
\?AUTO_LINKCategory selected by default (null: no specific default).
\TempcodeThe list.cns_create_selection_list_topic_tree(\?AUTO_LINK $it = null) : \Tempcode
| package | core_cns |
|---|
\?AUTO_LINKThe currently selected topic (null: none selected)
\TempcodeThe list of topicscns_create_selection_list_usergroups(\?AUTO_LINK $it = null) : \Tempcode
| package | core_cns |
|---|
\?AUTO_LINKUsergroup selected by default (null: no specific default).
\TempcodeThe list.cns_decache_cms_blocks(\AUTO_LINK $updated_forum_id, \?string $forum_name= null, \?MEMBER $member= null)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum.
\?stringThe name of the forum (null: find it from the DB).
\?MEMBERThe member (null: do no member decaching).
cns_delete_custom_field(\AUTO_LINK $id)
cns_delete_emoticon(\SHORT_TEXT $code)
cns_delete_forum(\AUTO_LINK $forum_id, \?AUTO_LINK $target_forum_id= null, \BINARY $delete_topics= 0)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum we are deleting.
\?AUTO_LINKThe ID of the forum that topics will be moved to (null: root forum).
\BINARYWhether to delete topics instead of moving them to the target forum.
cns_delete_forum_grouping(\AUTO_LINK $forum_grouping_id, \?AUTO_LINK $target_forum_grouping_id = null)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum grouping we are editing.
\?AUTO_LINKThe ID of the forum grouping that we will move all the contained forum to (null: the first one).
cns_delete_group(\AUTO_LINK $group_id, \?GROUP $target_group = null)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the usergroup to delete.
\?GROUPThe usergroup to move primary members to (null: main members).
cns_delete_member(\AUTO_LINK $member_id)
cns_delete_multi_moderation(\AUTO_LINK $id)
cns_delete_poll(\AUTO_LINK $poll_id, \LONG_TEXT $reason= '', boolean $check_perms= true) : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the poll we're deleting.
\LONG_TEXTThe reason for deleting the poll.
booleanWhether to check permissions.
\AUTO_LINKThe ID of the topic the poll is on.cns_delete_post_template(\AUTO_LINK $id)
cns_delete_posts_topic(\AUTO_LINK $topic_id, array $posts, \LONG_TEXT $reason= '', boolean $check_perms= true, boolean $cleanup= true) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic we're deleting posts from.
arrayA list of posts to delete.
\LONG_TEXTThe reason for this action.
booleanWhether to check permissions.
booleanWhether to do a cleanup: delete the topic if there will be no posts left in it.
booleanWhether the topic was deleted, due to all posts in said topic being deleted.cns_delete_topic(\AUTO_LINK $topic_id, \LONG_TEXT $reason= '', \?AUTO_LINK $post_target_topic_id= null, boolean $check_perms= true) : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic to delete.
\LONG_TEXTThe reason for this action .
\?AUTO_LINKWhere topic to move posts in this topic to (null: delete the posts).
booleanWhether to check permissions.
\AUTO_LINKThe forum ID the topic is in (could be found without calling the function, but as we've looked it up, it is worth keeping).cns_delete_warning(\AUTO_LINK $warning_id) : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the formal warning we are deleting.
\AUTO_LINKThe member ID the warning was for.cns_delete_welcome_email(\AUTO_LINK $id)
cns_display_spacer_post(\ID_TEXT $linked_type, \ID_TEXT $linked_id) : array
| package | core_cns |
|---|
\ID_TEXTContent type.
\ID_TEXTContent ID.
arrayA pair: better description (may be NULL), better post (may be NULL).cns_edit_custom_field(\AUTO_LINK $id, \SHORT_TEXT $name, \SHORT_TEXT $description, \LONG_TEXT $default, \BINARY $public_view, \BINARY $owner_view, \BINARY $owner_set, \BINARY $encrypted, \BINARY $required, \BINARY $show_in_posts, \BINARY $show_in_post_previews, integer $order, \LONG_TEXT $only_group, \ID_TEXT $type, \BINARY $show_on_join_form, \SHORT_TEXT $options)
| package | core_cns |
|---|---|
| set | short_text long_text short_trans long_trans integer upload picture url list tick float |
\AUTO_LINKThe ID of the custom profile field.
\SHORT_TEXTName of the field.
\SHORT_TEXTDescription of the field.
\LONG_TEXTThe default value for the field.
\BINARYWhether the field is publicly viewable.
\BINARYWhether the field is viewable by the owner.
\BINARYWhether the field may be set by the owner.
\BINARYWhether the field should be encrypted.
\BINARYWhether the field is to be shown on the join form
\BINARYWhether this field is shown in posts and places where member details are highlighted (such as an image in a member gallery).
\BINARYWhether this field is shown in preview places, such as in the forum member tooltip.
integerThe order of this field relative to other fields.
\LONG_TEXTThe usergroups that this field is confined to (comma-separated list).
\ID_TEXTThe type of the field.
\BINARYWhether it is required that every member have this field filled in.
\SHORT_TEXTField options
cns_edit_emoticon(\SHORT_TEXT $old_code, \SHORT_TEXT $code, \ID_TEXT $theme_img_code, integer $relevance_level, \BINARY $use_topics, \BINARY $is_special = 0)
| package | core_cns |
|---|---|
| range | 0 4 |
\SHORT_TEXTThe textual code entered to make the emoticon appear.
\SHORT_TEXTThe old textual code.
\ID_TEXTThe image code used for the emoticon.
integerThe relevance level.
\BINARYWhether this may be used as a topic emoticon.
\BINARYWhether this may only be used by privileged members
cns_edit_forum(\AUTO_LINK $forum_id, \SHORT_TEXT $name, \SHORT_TEXT $description, \AUTO_LINK $forum_grouping_id, \?AUTO_LINK $new_parent, integer $position, \BINARY $post_count_increment, \BINARY $order_sub_alpha, \LONG_TEXT $intro_question, \SHORT_TEXT $intro_answer, \SHORT_TEXT $redirection= '', \ID_TEXT $order= 'last_post', \BINARY $is_threaded= 0, boolean $reset_intro_acceptance= false)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum we are editing.
\SHORT_TEXTThe name of the forum.
\SHORT_TEXTThe description for the forum.
\AUTO_LINKWhat forum grouping the forum will be filed with.
\?AUTO_LINKThe ID of the parent forum (null: this is the root forum).
integerThe position of this forum relative to other forums viewable on the same screen (if parent forum hasn't specified automatic ordering).
\BINARYWhether post counts will be incremented if members post in the forum.
\BINARYWhether the ordering of subforums is done automatically, alphabetically).
\LONG_TEXTThe question that is shown for newbies to the forum (blank: none).
\SHORT_TEXTThe answer to the question (blank: no specific answer.. if there's a 'question', it just requires a click-through).
\SHORT_TEXTEither blank for no redirection, the ID of another forum we are mirroring, or a URL to redirect to.
\ID_TEXTThe order the topics are shown in, by default.
\BINARYWhether the forum is threaded.
booleanWhether to force forum rules to be re-agreed to, if they've just been changed.
cns_edit_forum_grouping(\AUTO_LINK $forum_grouping_id, \SHORT_TEXT $title, \SHORT_TEXT $description, \BINARY $expanded_by_default)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum grouping we are editing.
\SHORT_TEXTThe title of the forum grouping.
\SHORT_TEXTThe description of the forum grouping.
\BINARYWhether the forum grouping will be shown expanded by default (as opposed to contracted, where contained forums will not be shown until expansion).
cns_edit_group(\AUTO_LINK $group_id, \?SHORT_TEXT $name, \?BINARY $is_default, \?BINARY $is_super_admin, \?BINARY $is_super_moderator, \?SHORT_TEXT $title, \?URLPATH $rank_image, \?GROUP $promotion_target, \?integer $promotion_threshold, \?MEMBER $group_leader, \?integer $flood_control_submit_secs, \?integer $flood_control_access_secs, \?integer $max_daily_upload_mb, \?integer $max_attachments_per_post, \?integer $max_avatar_width, \?integer $max_avatar_height, \?integer $max_post_length_comcode, \?integer $max_sig_length_comcode, \?integer $gift_points_base, \?integer $gift_points_per_day, \?BINARY $enquire_on_new_ips, \?BINARY $is_presented_at_install, \?BINARY $hidden, \?integer $order, \?BINARY $rank_image_pri_only, \?BINARY $open_membership, \?BINARY $is_private_club, boolean $uniqify = false)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the usergroup to edit.
\?SHORT_TEXTThe name of the usergroup. (null: do not change)
\?BINARYWhether members are automatically put into the when they join. (null: do not change)
\?BINARYWhether members of this usergroup are all super administrators. (null: do not change)
\?BINARYWhether members of this usergroup are all super moderators. (null: do not change)
\?SHORT_TEXTThe title for primary members of this usergroup that don't have their own title. (null: do not change)
\?URLPATHThe rank image for this. (null: do not change)
\?GROUPThe that members of this usergroup get promoted to at point threshold (null: no promotion prospects).
\?integerThe point threshold for promotion (null: no promotion prospects).
\?MEMBERThe leader of this usergroup (null: none).
\?integerThe number of seconds that members of this usergroup must endure between submits (group 'best of' applies). (null: do not change)
\?integerThe number of seconds that members of this usergroup must endure between accesses (group 'best of' applies). (null: do not change)
\?integerThe number of megabytes that members of this usergroup may attach per day (group 'best of' applies). (null: do not change)
\?integerThe number of attachments that members of this usergroup may attach to something (group 'best of' applies). (null: do not change)
\?integerThe maximum avatar width that members of this usergroup may have (group 'best of' applies). (null: do not change)
\?integerThe maximum avatar height that members of this usergroup may have (group 'best of' applies). (null: do not change)
\?integerThe maximum post length that members of this usergroup may make (group 'best of' applies). (null: do not change)
\?integerThe maximum signature length that members of this usergroup may make (group 'best of' applies). (null: do not change)
\?integerThe number of gift points that members of this usergroup start with (group 'best of' applies). (null: do not change)
\?integerThe number of gift points that members of this usergroup get per day (group 'best of' applies). (null: do not change)
\?BINARYWhether e-mail confirmation is needed for new IP addresses seen for any member of this usergroup (group 'best of' applies). (null: do not change)
\?BINARYWhether the is presented for joining at joining (implies anyone may be in the, but only choosable at joining) (null: do not change)
\?BINARYWhether the name and membership of the is hidden (null: do not change)
\?integerThe display order this will be given, relative to other usergroups. Lower numbered usergroups display before higher numbered usergroups. (null: do not change)
\?BINARYWhether the rank image will not be shown for secondary membership (null: do not change)
\?BINARYWhether members may join this usergroup without requiring any special permission (null: do not change)
\?BINARYWhether this usergroup is a private club. Private clubs may be managed in the CMS zone, and do not have any special permissions - except over their own associated forum. (null: do not change)
booleanWhether to force the title as unique, if there's a conflict
cns_edit_member(\AUTO_LINK $member_id, \?SHORT_TEXT $email_address, \?BINARY $preview_posts, \?integer $dob_day, \?integer $dob_month, \?integer $dob_year, \?ID_TEXT $timezone, \?GROUP $primary_group, array $custom_fields, \?ID_TEXT $theme, \?BINARY $reveal_age, \?BINARY $views_signatures, \?BINARY $auto_monitor_contrib_content, \?LANGUAGE_NAME $language, \?BINARY $allow_emails, \?BINARY $allow_emails_from_staff, \?BINARY $validated= null, \?string $username= null, \?string $password= null, \?BINARY $highlighted_name= null, \?SHORT_TEXT $pt_allow= '*', \?LONG_TEXT $pt_rules_text= '', \?TIME $on_probation_until= null, \?TIME $join_time= null, \?URLPATH $avatar_url= null, \?LONG_TEXT $signature= null, \?BINARY $is_perm_banned= null, \?URLPATH $photo_url= null, \?URLPATH $photo_thumb_url= null, \?SHORT_TEXT $salt= null, \?ID_TEXT $password_compatibility_scheme= null, boolean $skip_checks= false)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the member.
\?SHORT_TEXTThe e-mail address. (null: don't change)
\?BINARYWhether posts are previewed before they are made. (null: don't change)
\?integerDay of date of birth. (null: don't change) (-1: deset)
\?integerMonth of date of birth. (null: don't change) (-1: deset)
\?integerYear of date of birth. (null: don't change) (-1: deset)
\?ID_TEXTThe member timezone. (null: don't change)
\?GROUPThe members primary (null: don't change).
arrayA map of custom fields values (field-id=>value).
\?ID_TEXTThe members default theme. (null: don't change)
\?BINARYWhether the members age may be shown. (null: don't change)
\?BINARYWhether the member sees signatures in posts. (null: don't change)
\?BINARYWhether the member automatically is enabled for notifications for content they contribute to. (null: don't change)
\?LANGUAGE_NAMEThe members language. (null: don't change)
\?BINARYWhether the member allows e-mails via the site. (null: don't change)
\?BINARYWhether the member allows e-mails from staff via the site. (null: don't change)
\?BINARYWhether the profile has been validated (null: do not change this). (null: don't change)
\?stringThe username. (null: don't change)
\?stringThe password. (null: don't change)
\?BINARYWhether the member username will be highlighted. (null: don't change)
\?SHORT_TEXTUsergroups that may PT the member. (null: don't change)
\?LONG_TEXTRules that other members must agree to before they may start a PT with the member. (null: don't change)
\?TIMEWhen the member is on probation until (null: don't change)
\?TIMEWhen the member joined (null: don't change)
\?URLPATHAvatar (null: don't change)
\?LONG_TEXTSignature (null: don't change)
\?BINARYBanned status (null: don't change)
\?URLPATHPhoto URL (null: don't change)
\?URLPATHURL of thumbnail of photo (null: don't change)
\?SHORT_TEXTPassword salt (null: don't change)
\?ID_TEXTPassword compatibility scheme (null: don't change)
booleanWhether to skip security checks and most of the change-triggered emails
cns_edit_multi_moderation(\AUTO_LINK $id, \SHORT_TEXT $name, \LONG_TEXT $post_text, \?AUTO_LINK $move_to, \?BINARY $pin_state, \?BINARY $sink_state, \?BINARY $open_state, \SHORT_TEXT $forum_multi_code, \SHORT_TEXT $title_suffix)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the multi moderation we are editing.
\SHORT_TEXTThe name of the multi moderation.
\LONG_TEXTThe default post text to add when applying (may be blank).
\?AUTO_LINKThe forum to move the topic when applying (null: do not move).
\?BINARYThe pin state after applying (null: unchanged).
\?BINARYThe sink state after applying (null: unchanged).
\?BINARYThe open state after applying (null: unchanged).
\SHORT_TEXTThe forum multi code for where this multi moderation may be applied.
\SHORT_TEXTThe title suffix.
cns_edit_poll(\AUTO_LINK $poll_id, \SHORT_TEXT $question, \BINARY $is_private, \BINARY $is_open, integer $minimum_selections, integer $maximum_selections, \BINARY $requires_reply, array $answers, \LONG_TEXT $reason = '') : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the poll we're editing.
\SHORT_TEXTThe question.
\BINARYWhether the result tallies are kept private until the poll is made non-private.
\BINARYWhether the poll is open for voting.
integerThe minimum number of selections that may be made.
integerThe maximum number of selections that may be made.
\BINARYWhether members must have a post in the topic before they made vote.
arrayA list of the potential voteable answers.
\LONG_TEXTThe reason for editing the poll.
\AUTO_LINKThe ID of the topic the poll is on.cns_edit_post(\AUTO_LINK $post_id, \BINARY $validated, \SHORT_TEXT $title, \LONG_TEXT $post, \BINARY $skip_sig, \BINARY $is_emphasised, \?MEMBER $intended_solely_for, boolean $show_as_edited, boolean $mark_as_unread, \LONG_TEXT $reason, boolean $check_perms= true, \?TIME $edit_time= null, \?TIME $add_time= null, \?MEMBER $submitter= null, boolean $null_is_literal= false, boolean $run_checks= true) : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the post that we're editing.
\BINARYWhether the post is validated (null: decide based on permissions).
\SHORT_TEXTThe title of the post (may be blank).
\LONG_TEXTThe post.
\BINARYWhether to skip showing the posters signature in the post.
\BINARYWhether the post is marked emphasised.
\?MEMBERThe member that this post is intended solely for (null: none).
booleanWhether to show the post as edited.
booleanWhether to mark the topic as unread by those previous having read this post.
\LONG_TEXTThe reason for this action.
booleanWhether to check permissions.
\?TIMEEdit time (null: either means current time, or if $null_is_literal, means reset to to NULL)
\?TIMEAdd time (null: do not change)
\?MEMBERSubmitter (null: do not change)
booleanDetermines whether some NULLs passed mean 'use a default' or literally mean 'set to NULL'
booleanWhether to run checks
\AUTO_LINKThe ID of the topic (whilst this could be known without calling this function, as we've gone to effort and grabbed it from the DB, it might turn out useful for something).cns_edit_post_template(\AUTO_LINK $id, \SHORT_TEXT $title, \LONG_TEXT $text, \SHORT_TEXT $forum_multi_code, \BINARY $use_default_forums)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the post template to edit.
\SHORT_TEXTThe title for the template.
\LONG_TEXTThe text of the template.
\SHORT_TEXTThe multi code specifying which forums this is applicable in.
\BINARYWhether to use this as the default post in applicable forum.
cns_edit_topic(\?AUTO_LINK $topic_id, \?SHORT_TEXT $description= null, \?SHORT_TEXT $emoticon= null, \?BINARY $validated= null, \?BINARY $open= null, \?BINARY $pinned= null, \?BINARY $sunk= null, \?BINARY $cascading= null, \LONG_TEXT $reason= '', \?string $title= null, \?SHORT_TEXT $description_link= null, boolean $check_perms= true, \?integer $views= null, boolean $null_is_literal= false)
| package | core_cns |
|---|
\?AUTO_LINKThe ID of the topic to edit (null: Private Topic).
\?SHORT_TEXTDescription of the topic (null: do not change).
\?SHORT_TEXTThe image code of the emoticon for the topic (null: do not change).
\?BINARYWhether the topic is validated (null: do not change).
\?BINARYWhether the topic is open (null: do not change).
\?BINARYWhether the topic is pinned (null: do not change).
\?BINARYWhether the topic is sunk (null: do not change).
\?BINARYWhether the topic is cascading (null: do not change).
\LONG_TEXTThe reason for this action.
\?stringNew title for the topic (null: do not change).
\?SHORT_TEXTLink related to the topic (e.g. link to view a ticket) (null: do not change).
booleanWhether to check permissions.
\?integerNumber of views (null: do not change)
booleanDetermines whether some NULLs passed mean 'use a default' or literally mean 'set to NULL'
cns_edit_warning(\AUTO_LINK $warning_id, \LONG_TEXT $explanation, \BINARY $is_warning = 1) : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the formal warning we are editing.
\LONG_TEXTAn explanation for why the member is being warned.
\BINARYWhether this counts as a warning
\AUTO_LINKThe member ID the warning was for.cns_edit_welcome_email(\AUTO_LINK $id, \SHORT_TEXT $name, \SHORT_TEXT $subject, \LONG_TEXT $text, integer $send_time, \?AUTO_LINK $newsletter, \?AUTO_LINK $usergroup, \ID_TEXT $usergroup_type)
| package | core_cns |
|---|---|
| set | primary secondary |
\AUTO_LINKThe ID
\SHORT_TEXTA name for the Welcome E-mail
\SHORT_TEXTThe subject of the Welcome E-mail
\LONG_TEXTThe message body of the Welcome E-mail
integerThe number of hours before sending the e-mail
\?AUTO_LINKWhat newsletter to send out to instead of members (null: none)
\?AUTO_LINKThe usergroup to tie to (null: none)
\ID_TEXTHow to send regarding usergroups (blank: indiscriminately)
cns_ensure_forum_exists(\AUTO_LINK $forum_id) : \SHORT_TEXT
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum.
\SHORT_TEXTThe name of the forum.cns_ensure_forum_grouping_exists(\AUTO_LINK $forum_grouping_id)
cns_ensure_groups_cached(mixed $groups)
cns_field_editable(\ID_TEXT $field_name, \ID_TEXT $special_type) : boolean
Called for fields that have a fair chance of being set to auto-sync, and hence be locked to local edits.
| package | core_cns |
|---|
\ID_TEXTField name
\ID_TEXTThe special type of the user (built-in types are:
booleanWhether the field is editablecns_find_birthdays(\?TIME $time = null) : array
| package | core_cns |
|---|
\?TIMEA timestamps that exists in the certain day (null: now).
arrayList of maps describing the members whose birthday it is on the certain day.cns_force_update_forum_caching(\AUTO_LINK $forum_id, \?integer $num_topics_increment= null, \?integer $num_posts_increment= null, \?AUTO_LINK $last_topic_id= null, \?string $last_title= null, \?TIME $last_time= null, \?string $last_username= null, \?MEMBER $last_member_id= null, \?AUTO_LINK $last_forum_id= null)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum to update the cached details of.
\?integerHow much to increment the topic count by (null: It has to be completely recalculated).
\?integerHow much to increment the post count by (null: It has to be completely recalculated).
\?AUTO_LINKThe ID of the last topic (null: Unknown, it will have to be looked up).
\?stringThe title of the last topic (null: Unknown, it will have to be looked up).
\?TIMEThe last post time of the last topic (null: Unknown, it will have to be looked up).
\?stringThe last post username of the last topic (null: Unknown, it will have to be looked up).
\?MEMBERThe last post member of the last topic (null: Unknown, it will have to be looked up).
\?AUTO_LINKThe forum the last post was in (note this makes sense, because there may be subforums under this forum that we have to take into account). (null: Unknown, it will have to be looked up).
cns_force_update_member_post_count(\MEMBER $member_id, \?integer $member_post_count_dif = null)
| package | core_cns |
|---|
\MEMBERThe member.
\?integerThe amount to add to the post count (null: fully recalculate the post count).
cns_force_update_topic_caching(\AUTO_LINK $topic_id, \?integer $post_count_dif= null, boolean $last= true, boolean $first= false, \?AUTO_LINK $last_post_id= null, \?TIME $last_time= null, \?string $last_title= null, \?AUTO_LINK $last_post= null, \?string $last_username= null, \?MEMBER $last_member_id= null)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic to update caching of.
\?integerThe post count difference we know the topic has undergone (null: we'll need to work out from scratch how many posts are in the topic)
booleanWhether this is the latest post in the topic.
booleanWhether this is the first post in the topic.
\?AUTO_LINKThe ID of the last post in the topic (null: unknown).
\?TIMEThe time of the last post in the topic (null: unknown).
\?stringThe title of the last post in the topic (null: unknown).
\?AUTO_LINKThe ID of the last posts language string for the topic (null: unknown).
\?stringThe last username to post in the topic (null: unknown).
\?MEMBERThe ID of the last member to post in the topic (null: unknown).
cns_get_all_custom_fields_match(\?array $groups= null, \?BINARY $public_view= null, \?BINARY $owner_view= null, \?BINARY $owner_set= null, \?BINARY $required= null, \?BINARY $show_in_posts= null, \?BINARY $show_in_post_previews= null, \BINARY $special_start= 0, \?boolean $show_on_join_form= null) : array
| package | core_cns |
|---|
\?arrayThat are applicable only to one of the usergroups in this list (empty: CPFs with no restriction) (null: disregard restriction).
\?BINARYThat are publicly viewable (null: don't care).
\?BINARYThat are owner viewable (null: don't care).
\?BINARYThat are owner settable (null: don't care).
\?BINARYThat are required (null: don't care).
\?BINARYThat are to be shown in posts (null: don't care).
\?BINARYThat are to be shown in post previews (null: don't care).
\BINARYThat start 'cms_'
\?booleanThat are to go on the join form (null: don't care).
arrayA list of rows of such fields.cns_get_all_custom_fields_match_member(\MEMBER $member_id, \?BINARY $public_view= null, \?BINARY $owner_view= null, \?BINARY $owner_set= null, \?BINARY $encrypted= null, \?BINARY $required= null, \?BINARY $show_in_posts= null, \?BINARY $show_in_post_previews= null, \BINARY $special_start= 0, \?boolean $show_on_join_form= null) : array
| package | core_cns |
|---|
\MEMBERThe member.
\?BINARYThat are publicly viewable (null: don't care).
\?BINARYThat are owner viewable (null: don't care).
\?BINARYThat are owner settable (null: don't care).
\?BINARYThat are encrypted (null: don't care).
\?BINARYThat are required (null: don't care).
\?BINARYThat are to be shown in posts (null: don't care).
\?BINARYThat are to be shown in post previews (null: don't care).
\BINARYThat start 'cms_'
\?booleanThat are to go on the join form (null: don't care).
arrayA mapping of field title to a map of details: 'RAW' as the raw field value, 'RENDERED' as the rendered field value, 'FIELD_ID' to the field ID, 'EDITABILITY' defining if fractional editing can work on thiscns_get_all_default_groups(boolean $include_primary= false, boolean $include_all_configured_default_groups= false) : array
| package | core_cns |
|---|
booleanWhether to include the default primary (at the end of the list).
booleanThe functionality does not usually consider configured default groups [unless there's just one], because this is a layer of uncertainity (the user PICKS one of these). If you want to return all configured default groups, set this parameter to true.
arrayThe list of default IDs.cns_get_all_subordinate_forums(\AUTO_LINK $forum_id, \?string $create_or_list= null, \?array $tree= null, boolean $ignore_permissions= false) : mixed
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum we are finding subordinate forums of.
\?stringThe field name to use in the OR list (null: do not make an OR list, return an array).
\?arrayThe forum tree structure (null: unknown, it will be found using cns_organise_into_tree).
booleanWhether to ignore permissions in this.
mixedThe list (is either a true list, or an OR list).cns_get_best_group_property(array $groups, \ID_TEXT $property) : mixed
| package | core_cns |
|---|
arrayThe list of usergroups.
\ID_TEXTThe identifier of the property.
mixedThe best property value ('best' is dependant on the property we are looking at).cns_get_custom_field_mappings(\MEMBER $member_id) : array
| package | core_cns |
|---|
\MEMBERThe member.
arrayThe mapping, field_cns_get_custom_fields_member(\MEMBER $member_id) : array
cns_get_filter_cats(boolean $only_exists_now = false) : array
| package | core_cns |
|---|
booleanWhether to only show ones that already have things in (i.e. not default ones)
arrayList of filter categoriescns_get_forum_multi_code_field(\SHORT_TEXT $forum_multi_code) : \Tempcode
| package | core_cns |
|---|
\SHORT_TEXTThe multi code.
\TempcodeThe form field.cns_get_forum_parent_or_list(\AUTO_LINK $forum_id, \?AUTO_LINK $parent_id = -1) : string
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum.
\?AUTO_LINKThe ID of the parent forum (-1: get it from the DB) (null: there is no parent, as it is the root forum).
stringThe OR list.cns_get_forum_tree(\?MEMBER $member_id= null, \?AUTO_LINK $base_forum= null, string $breadcrumbs= '', \?AUTO_LINK $skip= null, \?array $forum_details= null, boolean $use_compound_list= false, \?integer $levels= null, boolean $do_stats= false, \?TIME $updated_since= null) : array
| package | core_cns |
|---|
\?MEMBERThe member that the view privileges are done for (null: current member).
\?AUTO_LINKThe forum we are starting from (null: capture the whole tree).
stringThe breadcrumbs at this point of the recursion (blank for the start).
\?AUTO_LINKID of a forum to skip display/recursion for (null: none).
\?arrayDetails of the current forum in the recursion (null: find from DB).
booleanWhether to generate a compound list (a list of all the ancesters, for each point in the forum tree) as well as the tree.
\?integerThe number of recursive levels to search (null: all)
booleanWhether to generate tree statistics.
\?TIMETime from which content must be updated (null: no limit).
arrayA list of maps, OR (if $use_compound_list) a pair of the Tempcode and the compound list.cns_get_forums_stats() : array
cns_get_group_link(\GROUP $id, boolean $hide_hidden = true) : \Tempcode
| package | core_cns |
|---|
\GROUPThe ID of the group.
booleanWhether to hide the name if it is a hidden group.
\TempcodeThe link.cns_get_group_members_raw(\GROUP $group_id, boolean $include_primaries= true, boolean $non_validated= false, boolean $include_secondaries= true, boolean $include_unvalidated_members= true, \?integer $max= null, integer $start= 0) : array
| package | core_cns |
|---|
\GROUPThe ID of the group.
booleanWhether to include those in the as a primary member.
booleanWhether to include those applied to join the, but not validated in (also causes it to return maps that contain this info).
booleanWhether to include those in the as a secondary member.
booleanWhether to include those members who are not validated as site members at all yet (parameter currently ignored).
\?integerReturn up to this many entries for primary members and this many entries for secondary members and all LDAP members (null: no limit, only use no limit if querying very restricted usergroups!)
integerReturn primary members after this offset and secondary members after this offset
arrayThe list.cns_get_group_members_raw_count(\GROUP $group_id, boolean $include_primaries= true, boolean $non_validated= false, boolean $include_secondaries= true, boolean $include_unvalidated_members= true) : integer
| package | core_cns |
|---|
\GROUPThe ID of the group.
booleanWhether to include those in the as a primary member.
booleanWhether to include those applied to join the, but not validated in.
booleanWhether to include those in the as a secondary member.
booleanWhether to include those members who are not validated as site members at all yet (parameter currently ignored).
integerThe count.cns_get_group_name(\GROUP $group, boolean $hide_hidden = true) : string
| package | core_cns |
|---|
\GROUPThe ID of the group.
booleanWhether to hide the name if it is a hidden group.
stringThe usergroup name.cns_get_group_property(\GROUP $group, \ID_TEXT $property, boolean $hide_hidden = true) : mixed
| package | core_cns |
|---|
\GROUPThe ID of the group.
\ID_TEXTThe identifier of the property.
booleanWhether to hide the name if it is a hidden group.
mixedThe property value.cns_get_member_best_group_property(\MEMBER $member_id, \ID_TEXT $property) : mixed
| package | core_cns |
|---|
\MEMBERThe ID of the member.
\ID_TEXTThe identifier of the property.
mixedThe property value.cns_get_member_fields(boolean $mini_mode= true, \?MEMBER $member_id= null, \?array $groups= null, \SHORT_TEXT $email_address= '', \BINARY $preview_posts= 0, \?integer $dob_day= null, \?integer $dob_month= null, \?integer $dob_year= null, \?ID_TEXT $timezone= null, \?array $custom_fields= null, \?ID_TEXT $theme= null, \BINARY $reveal_age= 1, \BINARY $views_signatures= 1, \?BINARY $auto_monitor_contrib_content= null, \?LANGUAGE_NAME $language= null, \BINARY $allow_emails= 1, \BINARY $allow_emails_from_staff= 1, \BINARY $validated= 1, \?GROUP $primary_group= null, \SHORT_TEXT $username= '', \BINARY $is_perm_banned= 0, \ID_TEXT $special_type= '', \BINARY $highlighted_name= 0, \SHORT_TEXT $pt_allow= '*', \LONG_TEXT $pt_rules_text= '', \?TIME $on_probation_until= null) : array
| package | core_cns |
|---|
booleanWhether we are only handling the essential details of a profile.
\?MEMBERThe ID of the member we are handling (null: new member).
\?arrayA list of usergroups (null: default/current usergroups).
\SHORT_TEXTThe e-mail address.
\BINARYWhether posts are previewed before they are made.
\?integerDay of date of birth (null: not known).
\?integerMonth of date of birth (null: not known).
\?integerYear of date of birth (null: not known).
\?ID_TEXTThe member timezone (null: site default).
\?arrayA map of custom fields values (field-id=>value) (null: not known).
\?ID_TEXTThe members default theme (null: not known).
\BINARYWhether the members age may be shown.
\BINARYWhether the member sees signatures in posts.
\?BINARYWhether the member automatically is enabled for notifications for content they contribute to (null: get default from config).
\?LANGUAGE_NAMEThe members language (null: auto detect).
\BINARYWhether the member allows e-mails via the site.
\BINARYWhether the member allows e-mails from staff via the site.
\BINARYWhether the profile has been validated.
\?GROUPThe members primary (null: not known).
\SHORT_TEXTThe username.
\BINARYWhether the member is permanently banned.
\ID_TEXTThe special type of profile this is (blank: not a special type).
\BINARYWhether the member username will be highlighted.
\SHORT_TEXTUsergroups that may PT the member.
\LONG_TEXTRules that other members must agree to before they may start a PT with the member.
\?TIMEWhen the member is on probation until (null: just finished probation / or effectively was never on it)
arrayA pair: The form fields, Hidden fields (both Tempcode).cns_get_member_fields_profile(boolean $mini_mode= true, \?MEMBER $member_id= null, \?array $groups= null, \?array $custom_fields= null) : array
| package | core_cns |
|---|
booleanWhether we are only handling the essential details of a profile.
\?MEMBERThe ID of the member we are handling (null: new member).
\?arrayA list of usergroups (null: default/current usergroups).
\?arrayA map of custom fields values (field-id=>value) (null: not known).
arrayA pair: The form fields, Hidden fields (both Tempcode).cns_get_member_fields_settings(boolean $mini_mode= true, \?MEMBER $member_id= null, \?array $groups= null, \SHORT_TEXT $email_address= '', \?BINARY $preview_posts= null, \?integer $dob_day= null, \?integer $dob_month= null, \?integer $dob_year= null, \?ID_TEXT $timezone= null, \?ID_TEXT $theme= null, \BINARY $reveal_age= 1, \BINARY $views_signatures= 1, \?BINARY $auto_monitor_contrib_content= null, \?LANGUAGE_NAME $language= null, \BINARY $allow_emails= 1, \BINARY $allow_emails_from_staff= 1, \BINARY $validated= 1, \?GROUP $primary_group= null, \SHORT_TEXT $username= '', \BINARY $is_perm_banned= 0, \ID_TEXT $special_type= '', \BINARY $highlighted_name= 0, \SHORT_TEXT $pt_allow= '*', \LONG_TEXT $pt_rules_text= '', \?TIME $on_probation_until= null) : array
| package | core_cns |
|---|
booleanWhether we are only handling the essential details of a profile.
\?MEMBERThe ID of the member we are handling (null: new member).
\?arrayA list of usergroups (null: default/current usergroups).
\SHORT_TEXTThe e-mail address.
\?BINARYWhether posts are previewed before they are made (null: calculate statistically).
\?integerDay of date of birth (null: not known).
\?integerMonth of date of birth (null: not known).
\?integerYear of date of birth (null: not known).
\?ID_TEXTThe member timezone (null: site default).
\?ID_TEXTThe members default theme (null: not known).
\BINARYWhether the members age may be shown.
\BINARYWhether the member sees signatures in posts.
\?BINARYWhether the member automatically is enabled for notifications for content they contribute to (null: get default from config).
\?LANGUAGE_NAMEThe members language (null: auto detect).
\BINARYWhether the member allows e-mails via the site.
\BINARYWhether the member allows e-mails from staff via the site.
\BINARYWhether the profile has been validated.
\?GROUPThe members primary (null: not known).
\SHORT_TEXTThe username.
\BINARYWhether the member is permanently banned.
\ID_TEXTThe special type of profile this is (blank: not a special type).
\BINARYWhether the member username will be highlighted.
\SHORT_TEXTUsergroups that may PT the member.
\LONG_TEXTRules that other members must agree to before they may start a PT with the member.
\?TIMEWhen the member is on probation until (null: just finished probation / or effectively was never on it)
arrayA pair: The form fields, Hidden fields (both Tempcode).cns_get_member_primary_group(\MEMBER $member_id) : \GROUP
cns_get_members_groups(\?MEMBER $member_id= null, boolean $skip_secret= false, boolean $handle_probation= true, boolean $include_implicit= true) : array
| package | core_cns |
|---|
\?MEMBERThe member to find the usergroups of (null: current member).
booleanWhether to skip looking at secret usergroups.
booleanWhether to take probation into account
booleanWhether to include implicit groups
arrayReverse list (e.g. array(1=>true,2=>true,3=>true) for someone in (1,2,3)).cns_get_post_templates(\AUTO_LINK $forum_id) : array
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum.
arrayThe list of applicable post templates.cns_get_pp_rows(\?integer $limit= 5, boolean $unread= true, boolean $include_inline= true, \?TIME $time_barrier= null) : array
| package | core_cns |
|---|
\?integerThe maximum number of rows to get (gets newest first) (null: no limit).
booleanWhether to only get unread ones.
booleanWhether to include inline personal posts.
\?TIMEOnly since this date (null: no limit).
arrayThe personal post rows (with corresponding topic details).cns_get_safe_specified_poster_name(boolean $is_required_field = null) : string
| package | core_cns |
|---|
booleanIf it is a required field (null: typically no, but look at hidden option for it).
stringPoster name.cns_get_topic_tree(\?AUTO_LINK $forum_id= null, \?string $breadcrumbs= null, \?ID_TEXT $title= null, \?integer $levels= null) : array
| package | core_cns |
|---|
\?AUTO_LINKThe forum being at the root of our recursion (null: true root forum)
\?stringThe breadcrumbs up to this point in the recursion (null: blank, as we are starting the recursion)
\?ID_TEXTThe forum name of the $forum_id we are currently going through (null: look it up). This is here for efficiency reasons, as finding children IDs to recurse to also reveals the childs title
\?integerThe number of recursive levels to search (null: all)
arrayA list of maps for all forums. Each map entry containins the fields 'id' (forum ID) and 'breadcrumbs' (path to the forum, including the forums own title), and more.cns_get_topic_where(\AUTO_LINK $topic_id, \?MEMBER $member_id = null) : string
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic we are getting details of.
\?MEMBERThe member doing the lookup (null: current member).
stringThe WHERE clause.cns_get_warnings(\MEMBER $member_id) : array
cns_group_absorb_privileges_of(\GROUP $to, \GROUP $from)
| package | core_cns |
|---|
\GROUPThe that is having it's permissions replaced.
\GROUPThe that the permissions are being drawn from.
cns_has_read_topic(\AUTO_LINK $topic_id, \?TIME $topic_last_time= null, \?MEMBER $member_id= null, \?TIME $member_last_time= null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic.
\?TIMEThe time of the last post in the topic (null: get it from the DB).
\?MEMBERThe member (null: current member).
\?TIMEThe time the member last viewed the topic (null: get it from the DB).
booleanThey have read it as such, yes.cns_has_replied_topic(\AUTO_LINK $topic_id, \?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe topic.
\?MEMBERThe member (null: current member).
booleanThe answer.cns_has_special_pt_access(\AUTO_LINK $topic_id, \?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic.
\?MEMBERThe member (null: current member).
booleanWhether they have special access.cns_invite_to_pt(\MEMBER $member_id, \AUTO_LINK $topic_id)
cns_is_httpauth_member(\MEMBER $member_id) : boolean
cns_is_ldap_member(\MEMBER $member_id) : boolean
cns_join_actual(boolean $captcha_if_enabled= true, boolean $intro_message_if_enabled= true, boolean $invites_if_enabled= true, boolean $one_per_email_address_if_enabled= true, boolean $confirm_if_enabled= true, boolean $validate_if_enabled= true, boolean $coppa_if_enabled= true, boolean $instant_login= true, \?ID_TEXT $username= null, \?EMAIL $email_address= null, \?string $password= null, \?array $actual_custom_fields= null) : array
| package | core_cns |
|---|
booleanWhether to handle CAPTCHA (if enabled at all)
booleanWhether to ask for intro messages (if enabled at all)
booleanWhether to check for invites (if enabled at all)
booleanWhether to check email-address restrictions (if enabled at all)
booleanWhether to require staff confirmation (if enabled at all)
booleanWhether to force email address validation (if enabled at all)
booleanWhether to do COPPA checks (if enabled at all)
booleanWhether to instantly log the user in
\?ID_TEXTUsername (null: read from environment)
\?EMAILE-mail address (null: read from environment)
\?stringPassword (null: read from environment)
\?arrayCustom fields to save (null: read from environment)
arrayA tuple: Messages to show, member ID of new membercns_join_form(\Tempcode $url, boolean $captcha_if_enabled= true, boolean $intro_message_if_enabled= true, boolean $invites_if_enabled= true, boolean $one_per_email_address_if_enabled= true) : array
| package | core_cns |
|---|
\TempcodeURL to direct to
booleanWhether to handle CAPTCHA (if enabled at all)
booleanWhether to ask for intro messages (if enabled at all)
booleanWhether to check for invites (if enabled at all)
booleanWhether to check email-address restrictions (if enabled at all)
arrayA tuple: Necessary JavaScript code, the formcns_list_multi_moderations(\AUTO_LINK $forum_id) : array
| package | core_cns |
|---|
\AUTO_LINKThe forum we are listing for.
arrayList of multi moderations.cns_make_boiler_custom_field(\ID_TEXT $type) : \AUTO_LINK
| package | core_cns |
|---|
\ID_TEXTThe identifier of the boiler custom profile field.
\AUTO_LINKThe ID of the new custom profile field.cns_make_custom_field(\SHORT_TEXT $name, \BINARY $locked= 0, \SHORT_TEXT $description= '', \LONG_TEXT $default= '', \BINARY $public_view= 0, \BINARY $owner_view= 0, \BINARY $owner_set= 0, \BINARY $encrypted= 0, \ID_TEXT $type= 'long_text', \BINARY $required= 0, \BINARY $show_in_posts= 0, \BINARY $show_in_post_previews= 0, \?integer $order= null, \LONG_TEXT $only_group= '', \BINARY $show_on_join_form= 0, \SHORT_TEXT $options= '', boolean $no_name_dupe= false) : \AUTO_LINK
| package | core_cns |
|---|---|
| set | short_text long_text short_trans long_trans integer upload picture url list tick float |
\SHORT_TEXTName of the field.
\BINARYWhether the field is locked (i.e. cannot be deleted from the system).
\SHORT_TEXTDescription of the field.
\LONG_TEXTThe default value for the field.
\BINARYWhether the field is publicly viewable.
\BINARYWhether the field is viewable by the owner.
\BINARYWhether the field may be set by the owner.
\BINARYWhether the field is encrypted.
\ID_TEXTThe type of the field.
\BINARYWhether it is required that every member have this field filled in.
\BINARYWhether this field is shown in posts and places where member details are highlighted (such as an image in a member gallery).
\BINARYWhether this field is shown in preview places, such as in the forum member tooltip.
\?integerThe order of this field relative to other fields (null: next).
\LONG_TEXTThe usergroups that this field is confined to (comma-separated list).
\BINARYWhether the field is to be shown on the join form
\SHORT_TEXTField options
booleanWhether to check that no field has this name already.
\AUTO_LINKThe ID of the new custom profile field.cns_make_emoticon(\SHORT_TEXT $code, \ID_TEXT $theme_img_code, integer $relevance_level= 1, \BINARY $use_topics= 1, \BINARY $is_special= 0)
| package | core_cns |
|---|---|
| range | 0 4 |
\SHORT_TEXTThe textual code entered to make the emoticon appear.
\ID_TEXTThe image code used for the emoticon.
integerThe relevance level. 0 is core, shown immediately.
\BINARYWhether this may be used as a topic emoticon.
\BINARYWhether this may only be used by privileged members
cns_make_forum(\SHORT_TEXT $name, \SHORT_TEXT $description, \?AUTO_LINK $forum_grouping_id, \?array $access_mapping, \?AUTO_LINK $parent_forum, integer $position= 1, \BINARY $post_count_increment= 1, \BINARY $order_sub_alpha= 0, \LONG_TEXT $intro_question= '', \SHORT_TEXT $intro_answer= '', \SHORT_TEXT $redirection= '', \ID_TEXT $order= 'last_post', \BINARY $is_threaded= 0) : \AUTO_LINK
| package | core_cns |
|---|
\SHORT_TEXTThe name of the forum.
\SHORT_TEXTThe description for the forum.
\?AUTO_LINKWhat forum grouping the forum will be filed with (null: this is the root forum).
\?arrayPermission map (null: do it the standard way, outside of this function). This parameter is for import/compatibility only and works upon an emulation of 'access levels' (ala Composr 2.5/2.6), and it is recommended to use the normal crud_module functionality for permissions setting.
\?AUTO_LINKThe ID of the parent forum (null: this is the root forum).
integerThe position of this forum relative to other forums viewable on the same screen (if parent forum hasn't specified automatic ordering).
\BINARYWhether post counts will be incremented if members post in the forum.
\BINARYWhether the ordering of subforums is done automatically, alphabetically).
\LONG_TEXTThe question that is shown for newbies to the forum (blank: none).
\SHORT_TEXTThe answer to the question (blank: no specific answer.. if there's a 'question', it just requires a click-through).
\SHORT_TEXTEither blank for no redirection, the ID of another forum we are mirroring, or a URL to redirect to.
\ID_TEXTThe order the topics are shown in, by default.
\BINARYWhether the forum is threaded.
\AUTO_LINKThe ID of the newly created forum.cns_make_forum_grouping(\SHORT_TEXT $title, \SHORT_TEXT $description, \BINARY $expanded_by_default = 1) : \AUTO_LINK
| package | core_cns |
|---|
\SHORT_TEXTThe title of the forum grouping.
\SHORT_TEXTThe description of the forum grouping.
\BINARYWhether the forum grouping will be shown expanded by default (as opposed to contracted, where contained forums will not be shown until expansion).
\AUTO_LINKThe ID of the forum grouping just added.cns_make_group(\SHORT_TEXT $name, \BINARY $is_default= 0, \BINARY $is_super_admin= 0, \BINARY $is_super_moderator= 0, \SHORT_TEXT $title= '', \URLPATH $rank_image= '', \?GROUP $promotion_target= null, \?integer $promotion_threshold= null, \?MEMBER $group_leader= null, \?integer $flood_control_submit_secs= null, \?integer $flood_control_access_secs= null, \?integer $max_daily_upload_mb= null, \?integer $max_attachments_per_post= null, \?integer $max_avatar_width= null, \?integer $max_avatar_height= null, \?integer $max_post_length_comcode= null, \?integer $max_sig_length_comcode= null, \?integer $gift_points_base= null, \?integer $gift_points_per_day= null, \BINARY $enquire_on_new_ips= 0, \BINARY $is_presented_at_install= 0, \BINARY $hidden= 0, \?integer $order= null, \BINARY $rank_image_pri_only= 1, \BINARY $open_membership= 0, \BINARY $is_private_club= 0, boolean $uniqify= false, boolean $comes_with_permissions= true) : \AUTO_LINK
| package | core_cns |
|---|
\SHORT_TEXTThe name of the usergroup.
\BINARYWhether members are automatically put into the when they join.
\BINARYWhether members of this usergroup are all super administrators.
\BINARYWhether members of this usergroup are all super moderators.
\SHORT_TEXTThe title for primary members of this usergroup that don't have their own title.
\URLPATHThe rank image for this.
\?GROUPThe that members of this usergroup get promoted to at point threshold (null: no promotion prospects).
\?integerThe point threshold for promotion (null: no promotion prospects).
\?MEMBERThe leader of this usergroup (null: none).
\?integerThe number of seconds that members of this usergroup must endure between submits (group 'best of' applies). 0 means N/A. (null: average for existing usergroups)
\?integerThe number of seconds that members of this usergroup must endure between accesses (group 'best of' applies). 0 means N/A. (null: average for existing usergroups)
\?integerThe number of megabytes that members of this usergroup may attach per day (group 'best of' applies). (null: average for existing usergroups)
\?integerThe number of attachments that members of this usergroup may attach to something (group 'best of' applies). (null: average for existing usergroups)
\?integerThe maximum avatar width that members of this usergroup may have (group 'best of' applies). (null: average for existing usergroups)
\?integerThe maximum avatar height that members of this usergroup may have (group 'best of' applies). (null: average for existing usergroups)
\?integerThe maximum post length that members of this usergroup may make (group 'best of' applies). (null: average for existing usergroups)
\?integerThe maximum signature length that members of this usergroup may make (group 'best of' applies). (null: average for existing usergroups)
\?integerThe number of gift points that members of this usergroup start with (group 'best of' applies). (null: average for existing usergroups)
\?integerThe number of gift points that members of this usergroup get per day (group 'best of' applies). (null: average for existing usergroups)
\BINARYWhether e-mail confirmation is needed for new IP addresses seen for any member of this usergroup (group 'best of' applies).
\BINARYWhether the usergroup is presented for joining at joining (implies anyone may be in the, but only choosable at joining)
\BINARYWhether the name and membership of the is hidden
\?integerThe display order this will be given, relative to other usergroups. Lower numbered usergroups display before higher numbered usergroups (null: next).
\BINARYWhether the rank image will not be shown for secondary membership
\BINARYWhether members may join this usergroup without requiring any special permission
\BINARYWhether this usergroup is a private club. Private clubs may be managed in the CMS zone, and do not have any special permissions - except over their own associated forum.
booleanWhether to force the title as unique, if there's a conflict
booleanWhether permissions should be auto-copied
\AUTO_LINKThe ID of the new.cns_make_member(\SHORT_TEXT $username, \SHORT_TEXT $password, \SHORT_TEXT $email_address, \?array $secondary_groups, \?integer $dob_day, \?integer $dob_month, \?integer $dob_year, array $custom_fields, \?ID_TEXT $timezone= null, \?GROUP $primary_group= null, \BINARY $validated= 1, \?TIME $join_time= null, \?TIME $last_visit_time= null, \ID_TEXT $theme= '', \?URLPATH $avatar_url= null, \LONG_TEXT $signature= '', \BINARY $is_perm_banned= 0, \?BINARY $preview_posts= null, \BINARY $reveal_age= 0, \SHORT_TEXT $title= '', \URLPATH $photo_url= '', \URLPATH $photo_thumb_url= '', \BINARY $views_signatures= 1, \?BINARY $auto_monitor_contrib_content= null, \?LANGUAGE_NAME $language= null, \BINARY $allow_emails= 1, \BINARY $allow_emails_from_staff= 1, \?IP $ip_address= null, \SHORT_TEXT $validated_email_confirm_code= '', boolean $check_correctness= true, \?ID_TEXT $password_compatibility_scheme= null, \SHORT_TEXT $salt= '', \?TIME $last_submit_time= null, \?AUTO_LINK $id= null, \BINARY $highlighted_name= 0, \SHORT_TEXT $pt_allow= '*', \LONG_TEXT $pt_rules_text= '', \?TIME $on_probation_until= null) : \AUTO_LINK
| package | core_cns |
|---|
\SHORT_TEXTThe username.
\SHORT_TEXTThe password.
\SHORT_TEXTThe e-mail address.
\?arrayA list of secondary usergroups (null: default/current usergroups).
\?integerDay of date of birth (null: unknown).
\?integerMonth of date of birth (null: unknown).
\?integerYear of date of birth (null: unknown).
arrayA map of custom field values (fieldID=>value).
\?ID_TEXTThe member timezone (null: auto-detect).
\?GROUPThe member's primary (null: default).
\BINARYWhether the profile has been validated.
\?TIMEWhen the member joined (null: now).
\?TIMEWhen the member last visited (null: now).
\ID_TEXTThe member's default theme.
\?URLPATHThe URL to the member's avatar (blank: none) (null: choose one automatically).
\LONG_TEXTThe member's signature (blank: none).
\BINARYWhether the member is permanently banned.
\?BINARYWhether posts are previewed before they are made (null: calculate automatically).
\BINARYWhether the member's age may be shown.
\SHORT_TEXTThe member's title (blank: get from primary).
\URLPATHThe URL to the member's photo (blank: none).
\URLPATHThe URL to the member's photo thumbnail (blank: none).
\BINARYWhether the member sees signatures in posts.
\?BINARYWhether the member automatically is enabled for notifications for content they contribute to (null: get default from config).
\?LANGUAGE_NAMEThe member's language (null: auto detect).
\BINARYWhether the member allows e-mails via the site.
\BINARYWhether the member allows e-mails from staff via the site.
\?IPThe member's IP address (null: IP address of current user).
\SHORT_TEXTThe code required before the account becomes active (blank: already entered).
booleanWhether to check details for correctness.
\?ID_TEXTThe compatibility scheme that the password operates in (blank: none) (null: none [meaning normal Composr salted style] or plain, depending on whether passwords are encrypted).
\SHORT_TEXTThe password salt (blank: password compatibility scheme does not use a salt / auto-generate).
\?TIMEThe time the member last made a submission (null: set to now).
\?AUTO_LINKForce an ID (null: don't force an ID)
\BINARYWhether the member username will be highlighted.
\SHORT_TEXTUsergroups that may PT the member.
\LONG_TEXTRules that other members must agree to before they may start a PT with the member.
\?TIMEWhen the member is on probation until (null: not on probation)
\AUTO_LINKThe ID of the new member.cns_make_multi_moderation(\SHORT_TEXT $name, \LONG_TEXT $post_text, \?AUTO_LINK $move_to, \?BINARY $pin_state, \?BINARY $sink_state, \?BINARY $open_state, \SHORT_TEXT $forum_multi_code= '*', \SHORT_TEXT $title_suffix= '') : \AUTO_LINK
| package | core_cns |
|---|
\SHORT_TEXTThe name of the multi moderation.
\LONG_TEXTThe post text to add when applying (blank: don't add a post).
\?AUTO_LINKThe forum to move the topic when applying (null: do not move).
\?BINARYThe pin state after applying (null: unchanged).
\?BINARYThe sink state after applying (null: unchanged).
\?BINARYThe open state after applying (null: unchanged).
\SHORT_TEXTThe forum multi code for where this multi moderation may be applied.
\SHORT_TEXTThe title suffix.
\AUTO_LINKThe ID of the multi moderation just added.cns_make_poll(\AUTO_LINK $topic_id, \SHORT_TEXT $question, \BINARY $is_private, \BINARY $is_open, integer $minimum_selections, integer $maximum_selections, \BINARY $requires_reply, array $answers, boolean $check_permissions = true) : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic to add the poll to.
\SHORT_TEXTThe question.
\BINARYWhether the result tallies are kept private until the poll is made non-private.
\BINARYWhether the poll is open for voting.
integerThe minimum number of selections that may be made.
integerThe maximum number of selections that may be made.
\BINARYWhether members must have a post in the topic before they made vote.
arrayA list of pairs of the potential voteable answers and the number of votes.
booleanWhether to check there are permissions to make the poll.
\AUTO_LINKThe ID of the newly created forum poll.cns_make_post(\AUTO_LINK $topic_id, \SHORT_TEXT $title, \LONG_TEXT $post, \BINARY $skip_sig= 0, \?boolean $is_starter= false, \?BINARY $validated= null, \BINARY $is_emphasised= 0, \?string $poster_name_if_guest= null, \?IP $ip_address= null, \?TIME $time= null, \?MEMBER $poster= null, \?MEMBER $intended_solely_for= null, \?TIME $last_edit_time= null, \?MEMBER $last_edit_by= null, boolean $check_permissions= true, boolean $update_caching= true, \?AUTO_LINK $forum_id= null, boolean $support_attachments= true, \?string $topic_title= '', \BINARY $sunk= 0, \?AUTO_LINK $id= null, boolean $anonymous= false, boolean $skip_post_checks= false, \?boolean $is_pt= false, boolean $insert_comcode_as_admin= false, \?AUTO_LINK $parent_id= null, boolean $send_notification= true) : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic to add the post to.
\SHORT_TEXTThe title of the post (may be blank).
\LONG_TEXTThe post.
\BINARYWhether to skip showing the posters signature in the post.
\?booleanWhether the post is the first in the topic (null: work it out).
\?BINARYWhether the post is validated (null: unknown, find whether it needs to be marked unvalidated initially).
\BINARYWhether the post is marked emphasised.
\?stringThe name of the person making the post (null: username of current member).
\?IPThe IP address the post is to be made under (null: IP of current user).
\?TIMEThe time of the post (null: now).
\?MEMBERThe poster (null: current member).
\?MEMBERThe member that this post is intended solely for (null: public).
\?TIMEThe last edit time of the post (null: never edited).
\?MEMBERThe member that was last to edit the post (null: never edited).
booleanWhether to check permissions for whether the post may be made as it is given.
booleanWhether to update the caches after making the post.
\?AUTO_LINKThe forum the post will be in (null: find out from the DB).
booleanWhether to allow attachments in this post.
\?stringThe title of the topic (null: find from the DB).
\BINARYWhether the topic is a sunk topic.
\?AUTO_LINKForce an ID (null: don't force an ID)
booleanWhether to make the post anonymous
booleanWhether to skip post checks
\?booleanWhether this is for a new Private Topic (null: work it out)
booleanWhether to explicitly insert the Comcode with admin privileges
\?AUTO_LINKParent post ID (null: none-threaded/root-of-thread)
booleanWhether to send out notifications
\AUTO_LINKThe ID of the new post.cns_make_post_template(\SHORT_TEXT $title, \LONG_TEXT $text, \SHORT_TEXT $forum_multi_code, \BINARY $use_default_forums) : \AUTO_LINK
| package | core_cns |
|---|
\SHORT_TEXTThe title for the template.
\LONG_TEXTThe text of the template.
\SHORT_TEXTThe multi code specifying which forums this is applicable in.
\BINARYWhether to use this as the default post in applicable forum.
\AUTO_LINKThe added IDcns_make_topic(\?AUTO_LINK $forum_id, \SHORT_TEXT $description= '', \SHORT_TEXT $emoticon= '', \?BINARY $validated= null, \BINARY $open= 1, \BINARY $pinned= 0, \BINARY $sunk= 0, \BINARY $cascading= 0, \?MEMBER $pt_from= null, \?MEMBER $pt_to= null, boolean $check_perms= true, integer $num_views= 0, \?AUTO_LINK $id= null, \SHORT_TEXT $description_link= '') : \AUTO_LINK
This does not create the first post, you need to do an cns_make_post call for that. Conversr allows topics with zero posts.
| package | core_cns |
|---|
\?AUTO_LINKThe ID of the forum the topic will be in (null: Private Topic).
\SHORT_TEXTDescription of the topic.
\SHORT_TEXTThe theme image code of the emoticon for the topic.
\?BINARYWhether the topic is validated (null: detect whether it should be).
\BINARYWhether the topic is open.
\BINARYWhether the topic is pinned.
\BINARYWhether the topic is sunk.
\BINARYWhether the topic is cascading.
\?MEMBERIf it is a Private Topic, who is it 'from' (null: not a Private Topic).
\?MEMBERIf it is a Private Topic, who is it 'to' (null: not a Private Topic).
booleanWhether to check the poster has permissions for the given topic settings.
integerThe number of times the topic has been viewed.
\?AUTO_LINKForce an ID (null: don't force an ID)
\SHORT_TEXTLink related to the topic (e.g. link to view a ticket).
\AUTO_LINKThe ID of the newly created topic.cns_make_warning(\MEMBER $member_id, \LONG_TEXT $explanation, \?MEMBER $by= null, \?TIME $time= null, \BINARY $is_warning= 1, \?AUTO_LINK $silence_from_topic= null, \?AUTO_LINK $silence_from_forum= null, integer $probation= 0, \IP $banned_ip= '', integer $charged_points= 0, \BINARY $banned_member= 0, \?GROUP $changed_usergroup_from= null) : \AUTO_LINK
| package | core_cns |
|---|
\MEMBERThe member being warned.
\LONG_TEXTAn explanation for why the member is being warned.
\?MEMBERThe member doing the warning (null: current member).
\?TIMEThe time of the warning (null: now).
\BINARYWhether this counts as a warning
\?AUTO_LINKThe topic being silenced from (null: none)
\?AUTO_LINKThe forum being silenced from (null: none)
integerNumber of extra days for probation
\IPThe IP address being banned (blank: none)
integerThe points being charged
\BINARYWhether the member is being banned
\?GROUPThe usergroup being changed from (null: no change)
\AUTO_LINKThe ID of the newly created warning.cns_make_welcome_email(\SHORT_TEXT $name, \SHORT_TEXT $subject, \LONG_TEXT $text, integer $send_time, \?AUTO_LINK $newsletter= null, \?AUTO_LINK $usergroup= null, \ID_TEXT $usergroup_type= '') : \AUTO_LINK
| package | core_cns |
|---|---|
| set | primary secondary "" |
\SHORT_TEXTA name for the Welcome E-mail
\SHORT_TEXTThe subject of the Welcome E-mail
\LONG_TEXTThe message body of the Welcome E-mail
integerThe number of hours before sending the e-mail
\?AUTO_LINKWhat newsletter to send out to instead of members (null: none)
\?AUTO_LINKThe usergroup to tie to (null: none)
\ID_TEXTHow to send regarding usergroups (blank: indiscriminately)
\AUTO_LINKThe IDcns_may_attach_poll(\AUTO_LINK $topic_id, \?MEMBER $topic_owner= null, \?boolean $has_poll_already= null, \?MEMBER $forum_id= null, \?MEMBER $member_id= null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe topic.
\?MEMBERThe topic owner (null: ask the DB for it).
\?booleanWhether the topic already has a poll (null: ask the DB for it).
\?MEMBERThe forum the topic is in (null: ask the DB for it).
\?MEMBERThe member we are checking for (null: current member).
booleanThe answer.cns_may_control_group(\GROUP $group_id, \MEMBER $member_id) : boolean
| package | core_cns |
|---|
\GROUPThe usergroup.
\MEMBERThe member.
booleanThe answer.cns_may_delete_poll_by(\AUTO_LINK $forum_id, \MEMBER $poll_owner, \?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe forum.
\MEMBERThe poll owner.
\?MEMBERThe member we are checking for (null: current member).
booleanThe answer.cns_may_delete_post_by(\AUTO_LINK $post_id, \?TIME $post_time= null, \?MEMBER $resource_owner, \?AUTO_LINK $forum_id, \?MEMBER $member_id= null, \?boolean $topic_is_closed= null, \?string $reason= null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe post ID.
\?TIMEThe time of the post (null: lookup).
\?MEMBERThe owner of the post (null: lookup).
\?AUTO_LINKThe forum the post is in (null: is a Private Topic, unless $post_time is NULL in which case we look this up too).
\?MEMBERThe member (null: current member).
\?booleanWhether the topic the post is in is closed (null: don't consider this, maybe we're not considering any one specific case, unless $post_time is NULL in which case we look this up to).
\?stringThe reason for the topic being closed is put here (null: no interesting reason).
booleanThe answer.cns_may_delete_topics_by(\AUTO_LINK $forum_id, \MEMBER $member_id, \MEMBER $resource_owner) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe forum the topic would be in.
\MEMBERThe member checking access for.
\MEMBERThe member that owns this resource
booleanThe answer.cns_may_edit_poll_by(\AUTO_LINK $forum_id, \MEMBER $poll_owner, \?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe forum.
\MEMBERThe poll owner.
\?MEMBERThe member we are checking for (null: current member).
booleanThe answer.cns_may_edit_post_by(\AUTO_LINK $post_id, \?TIME $post_time, \?MEMBER $resource_owner, \?AUTO_LINK $forum_id, \?MEMBER $member_id= null, \?boolean $topic_is_closed= null, \?string $reason= null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe post ID.
\?TIMEThe time of the post (null: lookup).
\?MEMBERThe owner of the post (null: lookup).
\?AUTO_LINKThe forum the post is in (null: is a Private Topic, unless $post_time is NULL in which case we look this up too).
\?MEMBERThe member (null: current member).
\?booleanWhether the topic the post is in is closed (null: don't consider this, maybe we're not considering any one specific case, unless $post_time is NULL in which case we look this up to).
\?stringThe reason for the topic being closed is put here (null: no interesting reason).
booleanThe answer.cns_may_edit_topics_by(\AUTO_LINK $forum_id, \MEMBER $member_id, \MEMBER $resource_owner) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe forum the topic would be in.
\MEMBERThe member checking access for.
\MEMBERThe member that owns this resource
booleanThe answer.cns_may_make_private_topic(\?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\?MEMBERThe member (null: current member).
booleanThe answer.cns_may_moderate_forum(\AUTO_LINK $forum_id, \?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe ID of the forum.
\?MEMBERThe member ID (null: current member).
booleanThe answer.cns_may_perform_multi_moderation(\AUTO_LINK $forum_id, \?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe forum.
\?MEMBERThe member (null: current member).
booleanAnswer.cns_may_post_in_topic(\AUTO_LINK $forum_id, \AUTO_LINK $topic_id, \?MEMBER $last_member_id= null, boolean $closed= false, \?MEMBER $member_id= null, boolean $will_be_private_post= false) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe forum ID of the forum the topic is in.
\AUTO_LINKThe topic ID is in.
\?MEMBERThe last poster in the topic (null: do not check for double posting).
booleanWhether this topic is closed.
\?MEMBERThe member (null: current member).
booleanWhether this post will be private.
booleanThe answer.cns_may_post_topic(\AUTO_LINK $forum_id, \?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe forum the topic would be in.
\?MEMBERThe member (null: current member).
booleanThe answer.cns_may_report_post(\?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\?MEMBERThe member (null: current member).
booleanThe answer.cns_may_warn_members(\?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\?MEMBERThe member (null: current member).
booleanAnswer.cns_may_whisper(\MEMBER $target, \?MEMBER $member_id = null) : boolean
| package | core_cns |
|---|
\MEMBERMember to be PT'd
\?MEMBERMember to PT. (null: current member)
booleanWhether the PT may be createdcns_member_ask_join_group(\GROUP $group_id, \?MEMBER $member_id = null)
| package | core_cns |
|---|
\GROUPThe usergroup to apply to.
\?MEMBERThe member applying (null: current member).
cns_member_choose_avatar(\URLPATH $avatar_url, \?MEMBER $member_id = null)
| package | core_cns |
|---|
\URLPATHThe new avatar URL.
\?MEMBERThe member (null: the current member).
cns_member_choose_photo(\ID_TEXT $param_name, \ID_TEXT $upload_name, \?MEMBER $member_id = null)
| package | core_cns |
|---|
\ID_TEXTThe identifier for the name of the posted URL field.
\ID_TEXTThe identifier for the name of the posted upload.
\?MEMBERThe member (null: the current member).
cns_member_choose_photo_concrete(\URLPATH $url, \URLPATH $thumb_url, \?MEMBER $member_id = null)
| package | core_cns |
|---|
\URLPATHURL to photo.
\URLPATHURL to thumbnail photo.
\?MEMBERThe member (null: the current member).
cns_member_choose_signature(\LONG_TEXT $new_signature, \?MEMBER $member_id = null)
| package | core_cns |
|---|
\LONG_TEXTThe new signature.
\?MEMBERThe member (null: the current member).
cns_member_choose_title(\SHORT_TEXT $new_title, \?MEMBER $member_id = null)
| package | core_cns |
|---|
\SHORT_TEXTThe new title.
\?MEMBERThe member (null: the current member).
cns_member_external_linker(\SHORT_TEXT $username, \SHORT_TEXT $password, \ID_TEXT $type, boolean $email_check= true, string $email_address= '', \?integer $dob_day= null, \?integer $dob_month= null, \?integer $dob_year= null, \?ID_TEXT $timezone= null, \?ID_TEXT $language= null, \?URLPATH $avatar_url= null, \URLPATH $photo_url= '', \URLPATH $photo_thumb_url= '') : \MEMBER
| package | core_cns |
|---|
\SHORT_TEXTThe username for the member profile.
\SHORT_TEXTThe password for the member profile.
\ID_TEXTThe type of member profile we are finishing off.
booleanWhether to check for duplicated email addresses.
stringAuto-detected e-mail address (blank: none)
\?integerAuto-detected DOB day (null: unknown)
\?integerAuto-detected DOB month (null: unknown)
\?integerAuto-detected DOB year (null: unknown)
\?ID_TEXTAuto-detected Timezone (null: unknown)
\?ID_TEXTAuto-detected Language (null: unknown)
\?URLPATHThe URL to the member's avatar (blank: none) (null: choose one automatically).
\URLPATHThe URL to the member's photo (blank: none).
\URLPATHThe URL to the member's photo thumbnail (blank: none).
\MEMBERThe member ID for the finished off profile.cns_member_external_linker_ask(\SHORT_TEXT $username, \ID_TEXT $type, string $email_address= '', \?integer $dob_day= null, \?integer $dob_month= null, \?integer $dob_year= null, \?ID_TEXT $timezone= null, \?ID_TEXT $language= null) : \Tempcode
| package | core_cns |
|---|
\SHORT_TEXTThe username for the member profile.
\ID_TEXTThe type of member profile we are finishing off.
stringAuto-detected e-mail address (blank: none)
\?integerAuto-detected DOB day (null: unknown)
\?integerAuto-detected DOB month (null: unknown)
\?integerAuto-detected DOB year (null: unknown)
\?ID_TEXTAuto-detected Timezone (null: unknown)
\?ID_TEXTAuto-detected Language (null: unknown)
\TempcodeThe form.cns_member_handle_promotion(\?MEMBER $member_id = null)
cns_member_leave_group(\GROUP $group_id, \?MEMBER $member_id = null)
| package | core_cns |
|---|
\GROUPThe usergroup to remove from.
\?MEMBERThe member leaving (null: current member).
cns_member_validate_into_group(\GROUP $group_id, \MEMBER $prospective_member_id, boolean $decline= false, string $reason= '')
| package | core_cns |
|---|
\GROUPThe usergroup.
\MEMBERThe prospective member.
booleanWhether the member is being declined membership.
stringThe reason given for declining.
cns_mod_log_it(\ID_TEXT $the_type, \SHORT_TEXT $param_a= '', \SHORT_TEXT $param_b= '', \LONG_TEXT $reason= '', \?MEMBER $by= null, \?TIME $date_and_time= null)
| package | core_cns |
|---|
\ID_TEXTThe type of moderation.
\SHORT_TEXTFirst detailing parameter.
\SHORT_TEXTSecond detailing parameter.
\LONG_TEXTThe reason for the moderation (may be blank).
\?MEMBERThe member performing the moderation (null: current member).
\?TIMEThe time of the moderation (null: just now).
cns_move_posts(\AUTO_LINK $from_topic_id, \?AUTO_LINK $to_topic_id, array $posts, \LONG_TEXT $reason, \?AUTO_LINK $to_forum_id= null, boolean $delete_if_empty= false, \?SHORT_TEXT $title= null) : boolean
| package | core_cns |
|---|
\AUTO_LINKThe ID of the source topic.
\?AUTO_LINKThe ID of the destination topic (null: move to new topic in $forum_id).
arrayA list of post IDs to move.
\LONG_TEXTThe reason for this action.
\?AUTO_LINKThe forum the destination topic is in (null: find from DB).
booleanWhether to delete the topic if all posts in it have been moved.
\?SHORT_TEXTThe title for the new topic (null: work out / irrelevant).
booleanWhether the topic was deleted.cns_move_topics(\AUTO_LINK $from, \AUTO_LINK $to, \?array $topics= null, boolean $check_perms= true)
| package | core_cns |
|---|
\AUTO_LINKThe forum the topics are currently in.
\AUTO_LINKThe forum the topics are being moved to.
\?arrayA list of the topic IDs to move (null: move all topics from source forum).
booleanWhether to check permissions.
cns_organise_into_tree(array $all_forums, \AUTO_LINK $forum_id) : array
| package | core_cns |
|---|
arrayThe list of all forum rows (be aware that this will get modified for performance reasons).
\AUTO_LINKThe forum row that we are taking as the root of our current recursion.
arrayThe child list of $forum_id.cns_perform_multi_moderation(\AUTO_LINK $id, \AUTO_LINK $topic_id, \LONG_TEXT $reason, \LONG_TEXT $post_text= '', \BINARY $is_emphasised= 1, \BINARY $skip_sig= 0)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the multi moderation we are performing.
\AUTO_LINKThe ID of the topic we are performing the multi moderation on.
\LONG_TEXTThe reason for performing the multi moderation (may be blank).
\LONG_TEXTThe post text for a post to be added to the topic (blank: do not add a post).
\BINARYWhether the post is marked emphasised.
\BINARYWhether to skip showing the posters signature in the post.
cns_ping_forum_read_all(\AUTO_LINK $forum_id)
cns_ping_forum_unread_all(\AUTO_LINK $forum_id)
cns_ping_topic_read(\AUTO_LINK $topic_id, \?MEMBER $member_id = null)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the topic to mark as read.
\?MEMBERThe member to do this for (null: current member).
cns_poll_get_results(\AUTO_LINK $poll_id, boolean $request_results = true) : array
| package | core_cns |
|---|
\AUTO_LINKThe poll.
booleanWhether we must record that the current member is requesting the results, blocking future voting for them.
arrayThe map of results.cns_read_in_custom_fields(array $custom_fields, \?MEMBER $member_id = null) : array
| package | core_cns |
|---|
arrayThe CPF field rows that we'll be reading in the member's values for.
\?MEMBERMember involved (null: new member)
arrayThe CPF data.cns_read_in_member_profile(\MEMBER $member_id, boolean $lite = true) : array
| package | core_cns |
|---|
\MEMBERThe member to get details of.
booleanWhether to get a 'lite' version (contains less detail, therefore less costly).
arrayA map of details.cns_send_topic_notification(\URLPATH $url, \AUTO_LINK $topic_id, \?AUTO_LINK $forum_id, \MEMBER $sender_member_id, boolean $is_starter, \LONG_TEXT $post, \SHORT_TEXT $topic_title, \?MEMBER $_limit_to= null, boolean $is_pt= false, \?ID_TEXT $no_notify_for__notification_code= null, \?SHORT_TEXT $no_notify_for__code_category= null)
| package | core_cns |
|---|
\URLPATHThe URL to view the new post.
\AUTO_LINKThe ID of the topic that got posted in.
\?AUTO_LINKThe forum that the topic is in (null: find out from the DB).
\MEMBERThe member that made the post triggering this tracking notification.
booleanWhether the post started a new topic.
\LONG_TEXTThe post, in Comcode format.
\SHORT_TEXTThe topic title (blank: look it up from the $topic_id). If non-blank we must use it as it is implying the database might not have the correct value yet.
\?MEMBEROnly send the notification to this member (null: no such limit).
booleanWhether this is for a Private Topic.
\?ID_TEXTDO NOT send notifications to: The notification code (null: no restriction)
\?SHORT_TEXTDO NOT send notifications to: The category within the notification code (null: none / no restriction)
cns_set_context_forum(\AUTO_LINK $forum_id)
cns_set_custom_field(\MEMBER $member_id, \AUTO_LINK $field, mixed $value, \?ID_TEXT $type= null, boolean $defer= false) : \?array
| package | core_cns |
|---|
\MEMBERThe member.
\AUTO_LINKThe field being set.
mixedThe value of the field. For a trans-type field, this can be either a lang-ID to be copied (from forum DB), or an actual string.
\?ID_TEXTThe field type (null: look it up).
booleanWhether to defer the change, by returning a result change rather than doing it right away.
\?arrayMapping change (null: none / can't defer).cns_unban_member(\AUTO_LINK $member_id)
cns_validate_post(\AUTO_LINK $post_id, \?AUTO_LINK $topic_id= null, \?AUTO_LINK $forum_id= null, \?MEMBER $poster= null, \?LONG_TEXT $post= null) : \AUTO_LINK
| package | core_cns |
|---|
\AUTO_LINKThe ID of the post.
\?AUTO_LINKThe ID of the topic that contains the post (null: find out from the DB).
\?AUTO_LINKThe forum that the topic containing the post is in (null: find out from the DB).
\?MEMBERThe member that made the post being validated (null: find out from the DB).
\?LONG_TEXTThe post, in Comcode format (null: It'll have to be looked-up).
\AUTO_LINKThe ID of the topic (whilst this could be known without calling this function, as we've gone to effort and grabbed it from the DB, it might turn out useful for something).cns_vote_in_poll(\AUTO_LINK $poll_id, array $votes, \?MEMBER $member_id= null, \?array $topic_info= null)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the poll we're voting in.
arrayA list of poll answers that are being voted for.
\?MEMBERThe member that's voting (null: current member).
\?arrayThe row of the topic the poll is for (null: get it from the DB).
create_selection_list_forum_tree(\?MEMBER $member_id= null, \?AUTO_LINK $base_forum= null, \?array $selected_forum= null, boolean $use_compound_list= false, \?integer $levels= null, \?TIME $updated_since= null) : \Tempcode
| package | core_cns |
|---|
\?MEMBERThe member that the view privileges are done for (null: current member).
\?AUTO_LINKThe forum we are starting from (null: capture the whole tree).
\?arrayThe forum(s) to select by default (null: no preference). Only applies if !$topics_too. An array of AUTO_LINK's (for IDs) or strings (for names).
booleanWhether to generate a compound list (a list of all the ancesters, for each point in the forum tree) as well as the tree.
\?integerThe number of recursive levels to search (null: all)
\?TIMETime from which content must be updated (null: no limit).
\TempcodeForum selection list.create_selection_list_timezone_list(\?string $timezone = null) : \Tempcode
| package | core_cns |
|---|
\?stringCurrent timezone to select (null: server default)
\TempcodeList of timezonesfind_cpf_field_id(\SHORT_TEXT $title) : \?AUTO_LINK
| package | core_cns |
|---|
\SHORT_TEXTThe title.
\?AUTO_LINKThe ID (null: could not find).find_usergroup_id(\SHORT_TEXT $title) : \?AUTO_LINK
| package | core_cns |
|---|
\SHORT_TEXTThe title.
\?AUTO_LINKThe ID (null: could not find).generate_notifications(\MEMBER $member_id) : array
| package | core_cns |
|---|
\MEMBERMember to look up for.
arrayA pair: Number of notifications, Rendered notifications.get_cpf_storage_for(\ID_TEXT $type) : array
| package | core_cns |
|---|
\ID_TEXTThe field type.
arrayA pair: the DB field type, whether to index.get_first_default_group() : \GROUP
get_forum_access_sql(\ID_TEXT $field) : string
get_group_colour(\GROUP $gid) : string
get_member_title(\MEMBER $member_id) : string
get_username_from_human_name(\SHORT_TEXT $username) : \SHORT_TEXT
| package | core_cns |
|---|
\SHORT_TEXTThe desired human name for the member profile.
\SHORT_TEXTA unique username.handle_topic_ticket_reply(\AUTO_LINK $forum_id, \AUTO_LINK $topic_id, \SHORT_TEXT $topic_title, \LONG_TEXT $post)
| package | core_cns |
|---|
\AUTO_LINKForum ID
\AUTO_LINKTopic ID
\SHORT_TEXTTopic title
\LONG_TEXTPost made
import_custom_emoticons(boolean $remove_old_core = false)
Not used by default, but useful when coding projects to do hot-changes to a separate live site.
| package | core_cns |
|---|
booleanMake some of the old core emoticons non-core (level 1).
install_cns(\?float $upgrade_from = null)
member_field_is_required(\?MEMBER $member_id, string $field_class, \?string $current_value= null, \?MEMBER $editing_member= null) : boolean
| package | core_cns |
|---|---|
| set | email_address dob required_cpfs |
\?MEMBERThe member being edited (null: new member).
stringSpecial code representing what kind of field it is.
\?stringThe value the field has now (null: lookup from member record; cannot do this for a CPF).
\?MEMBERThe member doing the adding/editing operation (null: current member).
booleanWhether the field must be filled in.member_get_csv_headings() : array
| package | core_cns |
|---|
arrayA map of heading information (human name to field name/encoding details)member_password_expired(\MEMBER $member_id) : boolean
member_password_too_old(\MEMBER $member_id) : boolean
not_like_spacer_posts(\ID_TEXT $field) : string
render_forum_box(array $row, \ID_TEXT $zone= '_SEARCH', boolean $give_context= true, boolean $include_breadcrumbs= true, \?AUTO_LINK $root= null, \ID_TEXT $guid= '') : \Tempcode
| package | core_cns |
|---|
arrayForum row
\ID_TEXTZone to link through to
booleanWhether to include context (i.e. say WHAT this is, not just show the actual content)
booleanWhether to include breadcrumbs (if there are any)
\?AUTO_LINKVirtual root to use (null: none)
\ID_TEXTOverridden GUID to send to templates (blank: none)
\TempcodeThe forum boxrender_group_box(array $row, \ID_TEXT $zone= '_SEARCH', boolean $give_context= true, \ID_TEXT $guid= '') : \Tempcode
| package | core_cns |
|---|
arrayUsergroup row
\ID_TEXTZone to link through to
booleanWhether to include context (i.e. say WHAT this is, not just show the actual content)
\ID_TEXTOverridden GUID to send to templates (blank: none)
\TempcodeThe usergroup boxrender_member_box(mixed $poster_details, boolean $preview= false, \?array $hooks= null, \?array $hook_objects= null, boolean $show_avatar= true, \?array $extra_fields= null, boolean $give_context= true, \ID_TEXT $guid= '') : \Tempcode
| package | core_cns |
|---|
mixedEither a member ID or an array containing: ip_address, poster_num_warnings, poster, poster_posts, poster_points, poster_join_date_string, primary_group_name.
booleanWhether only to show 'preview' details
\?arrayAn array of hooks. (null: lookup)
\?arrayAn array of hook objects that allow us to collect additional mouse-over member information. (null: lookup)
booleanWhether to show the avatar
\?arrayMap of extra fields to show (null: none)
booleanWhether to include context (i.e. say WHAT this is, not just show the actual content)
\ID_TEXTOverridden GUID to send to templates (blank: none)
\TempcodeThe member boxrender_post_box(array $row, boolean $use_post_title= false, boolean $give_context= true, boolean $include_breadcrumbs= true, \?AUTO_LINK $root= null, \ID_TEXT $guid= '') : \Tempcode
| package | core_cns |
|---|
arrayThe post row.
booleanWhether to include context (i.e. say WHAT this is, not just show the actual content). Also uses the post title, as opposed to the post's topic's title.
booleanWhether to embed a link to the topic.
booleanWhether to include breadcrumbs (if there are any)
\?AUTO_LINKVirtual root to use (null: none)
\ID_TEXTOverridden GUID to send to templates (blank: none)
\TempcodeThe isolated post.render_profile_tabset(\Tempcode $title, \MEMBER $member_id_of, \?MEMBER $member_id_viewing= null, \?ID_TEXT $username= null) : \Tempcode
| package | core_cns |
|---|
\TempcodeScreen title
\MEMBERThe ID of the member who is being viewed
\?MEMBERThe ID of the member who is doing the viewing (null: current member)
\?ID_TEXTThe username of the member who is being viewed (null: work out from member_id_of)
\TempcodeThe rendered profilerender_topic_box(array $row, \ID_TEXT $zone= '_SEARCH', boolean $give_context= true, boolean $include_breadcrumbs= true, \?AUTO_LINK $root= null, \ID_TEXT $guid= '') : \Tempcode
| package | core_cns |
|---|
arrayTopic row
\ID_TEXTZone to link through to
booleanWhether to include context (i.e. say WHAT this is, not just show the actual content)
booleanWhether to include breadcrumbs (if there are any)
\?AUTO_LINKVirtual root to use (null: none)
\ID_TEXTOverridden GUID to send to templates (blank: none)
\TempcodeThe topic boxsend_pt_notification(\AUTO_LINK $post_id, \SHORT_TEXT $subject, \AUTO_LINK $topic_id, \MEMBER $to_id, \?MEMBER $from_id= null, \?string $post_comcode= null, boolean $mark_unread= false)
| package | core_cns |
|---|
\AUTO_LINKThe ID of the post made
\SHORT_TEXTPT title
\AUTO_LINKID of the topic
\MEMBERMember getting the PT
\?MEMBERMember posting the PT (null: current member)
\?stringPost text (null: unknown, lookup from $post_id)
booleanWhether to also mark the topic as unread
update_member_username_caching(\MEMBER $member_id, \ID_TEXT $username)
| package | core_cns |
|---|
\MEMBERThe member ID.
\ID_TEXTThe new username that is being set for them.