--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/plugins/bbpress/includes/core/options.php Tue Dec 04 18:43:10 2012 -0800
@@ -0,0 +1,514 @@
+<?php
+
+/**
+ * bbPress Options
+ *
+ * @package bbPress
+ * @subpackage Options
+ */
+
+// Exit if accessed directly
+if ( !defined( 'ABSPATH' ) ) exit;
+
+/**
+ * Get the default site options and their values.
+ *
+ * These option
+ *
+ * @since bbPress (r3421)
+ * @return array Filtered option names and values
+ */
+function bbp_get_default_options() {
+
+ // Default options
+ return apply_filters( 'bbp_get_default_options', array(
+
+ /** DB Version ********************************************************/
+
+ '_bbp_db_version' => bbpress()->db_version,
+
+ /** Settings **********************************************************/
+
+ '_bbp_edit_lock' => 5, // Lock post editing after 5 minutes
+ '_bbp_throttle_time' => 10, // Throttle post time to 10 seconds
+ '_bbp_enable_favorites' => 1, // Favorites
+ '_bbp_enable_subscriptions' => 1, // Subscriptions
+ '_bbp_allow_topic_tags' => 1, // Topic Tags
+ '_bbp_allow_anonymous' => 0, // Allow anonymous posting
+ '_bbp_allow_global_access' => 1, // Users from all sites can post
+ '_bbp_use_wp_editor' => 1, // Use the WordPress editor if available
+ '_bbp_use_autoembed' => 0, // Allow oEmbed in topics and replies
+ '_bbp_theme_package_id' => 'default', // The ID for the current theme package.
+ '_bbp_default_role' => bbp_get_participant_role(), // Default forums role
+
+ /** Per Page **********************************************************/
+
+ '_bbp_topics_per_page' => 15, // Topics per page
+ '_bbp_replies_per_page' => 15, // Replies per page
+ '_bbp_forums_per_page' => 50, // Forums per page
+ '_bbp_topics_per_rss_page' => 25, // Topics per RSS page
+ '_bbp_replies_per_rss_page' => 25, // Replies per RSS page
+
+ /** Page For **********************************************************/
+
+ '_bbp_page_for_forums' => 0, // Page for forums
+ '_bbp_page_for_topics' => 0, // Page for forums
+ '_bbp_page_for_login' => 0, // Page for login
+ '_bbp_page_for_register' => 0, // Page for register
+ '_bbp_page_for_lost_pass' => 0, // Page for lost-pass
+
+ /** Archive Slugs *****************************************************/
+
+ '_bbp_root_slug' => 'forums', // Forum archive slug
+ '_bbp_topic_archive_slug' => 'topics', // Topic archive slug
+
+ /** Single Slugs ******************************************************/
+
+ '_bbp_include_root' => 1, // Include forum-archive before single slugs
+ '_bbp_forum_slug' => 'forum', // Forum slug
+ '_bbp_topic_slug' => 'topic', // Topic slug
+ '_bbp_reply_slug' => 'reply', // Reply slug
+ '_bbp_topic_tag_slug' => 'topic-tag', // Topic tag slug
+
+ /** User Slugs ********************************************************/
+
+ '_bbp_user_slug' => 'users', // User profile slug
+ '_bbp_user_favs_slug' => 'favorites', // User favorites slug
+ '_bbp_user_subs_slug' => 'subscriptions', // User subscriptions slug
+
+ /** Other Slugs *******************************************************/
+
+ '_bbp_view_slug' => 'view', // View slug
+
+ /** Topics ************************************************************/
+
+ '_bbp_title_max_length' => 80, // Title Max Length
+ '_bbp_super_sticky_topics' => '', // Super stickies
+
+ /** Forums ************************************************************/
+
+ '_bbp_private_forums' => '', // Private forums
+ '_bbp_hidden_forums' => '', // Hidden forums
+
+ /** BuddyPress ********************************************************/
+
+ '_bbp_enable_group_forums' => 1, // Enable BuddyPress Group Extension
+ '_bbp_group_forums_root_id' => 0, // Group Forums parent forum id
+
+ /** Akismet ***********************************************************/
+
+ '_bbp_enable_akismet' => 1 // Users from all sites can post
+
+ ) );
+}
+
+/**
+ * Add default options
+ *
+ * Hooked to bbp_activate, it is only called once when bbPress is activated.
+ * This is non-destructive, so existing settings will not be overridden.
+ *
+ * @since bbPress (r3421)
+ * @uses bbp_get_default_options() To get default options
+ * @uses add_option() Adds default options
+ * @uses do_action() Calls 'bbp_add_options'
+ */
+function bbp_add_options() {
+
+ // Add default options
+ foreach ( bbp_get_default_options() as $key => $value )
+ add_option( $key, $value );
+
+ // Allow previously activated plugins to append their own options.
+ do_action( 'bbp_add_options' );
+}
+
+/**
+ * Delete default options
+ *
+ * Hooked to bbp_uninstall, it is only called once when bbPress is uninstalled.
+ * This is destructive, so existing settings will be destroyed.
+ *
+ * @since bbPress (r3421)
+ * @uses bbp_get_default_options() To get default options
+ * @uses delete_option() Removes default options
+ * @uses do_action() Calls 'bbp_delete_options'
+ */
+function bbp_delete_options() {
+
+ // Add default options
+ foreach ( array_keys( bbp_get_default_options() ) as $key )
+ delete_option( $key );
+
+ // Allow previously activated plugins to append their own options.
+ do_action( 'bbp_delete_options' );
+}
+
+/**
+ * Add filters to each bbPress option and allow them to be overloaded from
+ * inside the $bbp->options array.
+ *
+ * @since bbPress (r3451)
+ * @uses bbp_get_default_options() To get default options
+ * @uses add_filter() To add filters to 'pre_option_{$key}'
+ * @uses do_action() Calls 'bbp_add_option_filters'
+ */
+function bbp_setup_option_filters() {
+
+ // Add filters to each bbPress option
+ foreach ( array_keys( bbp_get_default_options() ) as $key )
+ add_filter( 'pre_option_' . $key, 'bbp_pre_get_option' );
+
+ // Allow previously activated plugins to append their own options.
+ do_action( 'bbp_setup_option_filters' );
+}
+
+/**
+ * Filter default options and allow them to be overloaded from inside the
+ * $bbp->options array.
+ *
+ * @since bbPress (r3451)
+ * @param bool $value Optional. Default value false
+ * @return mixed false if not overloaded, mixed if set
+ */
+function bbp_pre_get_option( $value = '' ) {
+
+ // Remove the filter prefix
+ $option = str_replace( 'pre_option_', '', current_filter() );
+
+ // Check the options global for preset value
+ if ( isset( bbpress()->options[$option] ) )
+ $value = bbpress()->options[$option];
+
+ // Always return a value, even if false
+ return $value;
+}
+
+/** Active? *******************************************************************/
+
+/**
+ * Checks if favorites feature is enabled.
+ *
+ * @since bbPress (r2658)
+ * @param $default bool Optional.Default value true
+ * @uses get_option() To get the favorites option
+ * @return bool Is favorites enabled or not
+ */
+function bbp_is_favorites_active( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_is_favorites_active', (bool) get_option( '_bbp_enable_favorites', $default ) );
+}
+
+/**
+ * Checks if subscription feature is enabled.
+ *
+ * @since bbPress (r2658)
+ * @param $default bool Optional.Default value true
+ * @uses get_option() To get the subscriptions option
+ * @return bool Is subscription enabled or not
+ */
+function bbp_is_subscriptions_active( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_is_subscriptions_active', (bool) get_option( '_bbp_enable_subscriptions', $default ) );
+}
+
+/**
+ * Are topic tags allowed
+ *
+ * @since bbPress (r4097)
+ * @param $default bool Optional. Default value true
+ * @uses get_option() To get the allow tags
+ * @return bool Are tags allowed?
+ */
+function bbp_allow_topic_tags( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_allow_topic_tags', (bool) get_option( '_bbp_allow_topic_tags', $default ) );
+}
+
+/**
+ * Are topic and reply revisions allowed
+ *
+ * @since bbPress (r3412)
+ * @param $default bool Optional. Default value true
+ * @uses get_option() To get the allow revisions
+ * @return bool Are revisions allowed?
+ */
+function bbp_allow_revisions( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_allow_revisions', (bool) get_option( '_bbp_allow_revisions', $default ) );
+}
+
+/**
+ * Is the anonymous posting allowed?
+ *
+ * @since bbPress (r2659)
+ * @param $default bool Optional. Default value
+ * @uses get_option() To get the allow anonymous option
+ * @return bool Is anonymous posting allowed?
+ */
+function bbp_allow_anonymous( $default = 0 ) {
+ return apply_filters( 'bbp_allow_anonymous', (bool) get_option( '_bbp_allow_anonymous', $default ) );
+}
+
+/**
+ * Is this forum available to all users on all sites in this installation?
+ *
+ * @since bbPress (r3378)
+ * @param $default bool Optional. Default value false
+ * @uses get_option() To get the global access option
+ * @return bool Is global access allowed?
+ */
+function bbp_allow_global_access( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_allow_global_access', (bool) get_option( '_bbp_allow_global_access', $default ) );
+}
+
+/**
+ * Is this forum available to all users on all sites in this installation?
+ *
+ * @since bbPress (r4294)
+ * @param $default string Optional. Default value empty
+ * @uses get_option() To get the default forums role option
+ * @return string The default forums user role
+ */
+function bbp_get_default_role( $default = 'bbp_participant' ) {
+ return apply_filters( 'bbp_get_default_role', get_option( '_bbp_default_role', $default ) );
+}
+
+/**
+ * Use the WordPress editor if available
+ *
+ * @since bbPress (r3386)
+ * @param $default bool Optional. Default value true
+ * @uses get_option() To get the WP editor option
+ * @return bool Use WP editor?
+ */
+function bbp_use_wp_editor( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_use_wp_editor', (bool) get_option( '_bbp_use_wp_editor', $default ) );
+}
+
+/**
+ * Use WordPress's oEmbed API
+ *
+ * @since bbPress (r3752)
+ * @param $default bool Optional. Default value true
+ * @uses get_option() To get the oEmbed option
+ * @return bool Use oEmbed?
+ */
+function bbp_use_autoembed( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_use_autoembed', (bool) get_option( '_bbp_use_autoembed', $default ) );
+}
+
+/**
+ * Get the current theme package ID
+ *
+ * @since bbPress (r3829)
+ * @param $default string Optional. Default value 'default'
+ * @uses get_option() To get the subtheme option
+ * @return string ID of the subtheme
+ */
+function bbp_get_theme_package_id( $default = 'default' ) {
+ return apply_filters( 'bbp_get_theme_package_id', get_option( '_bbp_theme_package_id', $default ) );
+}
+
+/**
+ * Output the maximum length of a title
+ *
+ * @since bbPress (r3246)
+ * @param $default bool Optional. Default value 80
+ */
+function bbp_title_max_length( $default = 80 ) {
+ echo bbp_get_title_max_length( $default );
+}
+ /**
+ * Return the maximum length of a title
+ *
+ * @since bbPress (r3246)
+ * @param $default bool Optional. Default value 80
+ * @uses get_option() To get the maximum title length
+ * @return int Is anonymous posting allowed?
+ */
+ function bbp_get_title_max_length( $default = 80 ) {
+ return (int) apply_filters( 'bbp_get_title_max_length', (int) get_option( '_bbp_title_max_length', $default ) );
+ }
+
+/**
+ * Output the grop forums root parent forum id
+ *
+ * @since bbPress (r3575)
+ * @param $default int Optional. Default value
+ */
+function bbp_group_forums_root_id( $default = 0 ) {
+ echo bbp_get_group_forums_root_id( $default );
+}
+ /**
+ * Return the grop forums root parent forum id
+ *
+ * @since bbPress (r3575)
+ * @param $default bool Optional. Default value 0
+ * @uses get_option() To get the root group forum ID
+ * @return int The post ID for the root forum
+ */
+ function bbp_get_group_forums_root_id( $default = 0 ) {
+ return (int) apply_filters( 'bbp_get_group_forums_root_id', (int) get_option( '_bbp_group_forums_root_id', $default ) );
+ }
+
+/**
+ * Checks if BuddyPress Group Forums are enabled
+ *
+ * @since bbPress (r3575)
+ * @param $default bool Optional. Default value true
+ * @uses get_option() To get the group forums option
+ * @return bool Is group forums enabled or not
+ */
+function bbp_is_group_forums_active( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_is_group_forums_active', (bool) get_option( '_bbp_enable_group_forums', $default ) );
+}
+
+/**
+ * Checks if Akismet is enabled
+ *
+ * @since bbPress (r3575)
+ * @param $default bool Optional. Default value true
+ * @uses get_option() To get the Akismet option
+ * @return bool Is Akismet enabled or not
+ */
+function bbp_is_akismet_active( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_is_akismet_active', (bool) get_option( '_bbp_enable_akismet', $default ) );
+}
+
+/** Slugs *********************************************************************/
+
+/**
+ * Return the root slug
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_get_root_slug( $default = 'forums' ) {
+ return apply_filters( 'bbp_get_root_slug', get_option( '_bbp_root_slug', $default ) );
+}
+
+/**
+ * Are we including the root slug in front of forum pages?
+ *
+ * @since bbPress (r3759)
+ * @return bool
+ */
+function bbp_include_root_slug( $default = 1 ) {
+ return (bool) apply_filters( 'bbp_include_root_slug', (bool) get_option( '_bbp_include_root', $default ) );
+}
+
+/**
+ * Maybe return the root slug, based on whether or not it's included in the url
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_maybe_get_root_slug() {
+ $retval = '';
+
+ if ( bbp_get_root_slug() && bbp_include_root_slug() )
+ $retval = trailingslashit( bbp_get_root_slug() );
+
+ return apply_filters( 'bbp_maybe_get_root_slug', $retval );
+}
+
+/**
+ * Return the single forum slug
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_get_forum_slug( $default = 'forum' ) {;
+ return apply_filters( 'bbp_get_root_slug', bbp_maybe_get_root_slug() . get_option( '_bbp_forum_slug', $default ) );
+}
+
+/**
+ * Return the topic archive slug
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_get_topic_archive_slug( $default = 'topics' ) {
+ return apply_filters( 'bbp_get_topic_archive_slug', get_option( '_bbp_topic_archive_slug', $default ) );
+}
+
+/**
+ * Return the single topic slug
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_get_topic_slug( $default = 'topic' ) {
+ return apply_filters( 'bbp_get_topic_slug', bbp_maybe_get_root_slug() . get_option( '_bbp_topic_slug', $default ) );
+}
+
+/**
+ * Return the topic-tag taxonomy slug
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_get_topic_tag_tax_slug( $default = 'topic-tag' ) {
+ return apply_filters( 'bbp_get_topic_tag_tax_slug', bbp_maybe_get_root_slug() . get_option( '_bbp_topic_tag_slug', $default ) );
+}
+
+/**
+ * Return the single reply slug (used mostly for editing)
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_get_reply_slug( $default = 'reply' ) {
+ return apply_filters( 'bbp_get_reply_slug', bbp_maybe_get_root_slug() . get_option( '_bbp_reply_slug', $default ) );
+}
+
+/**
+ * Return the single user slug
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_get_user_slug( $default = 'user' ) {
+ return apply_filters( 'bbp_get_user_slug', bbp_maybe_get_root_slug() . get_option( '_bbp_user_slug', $default ) );
+}
+
+/**
+ * Return the single user favorites slug
+ *
+ * @since bbPress (r4187)
+ * @return string
+ */
+function bbp_get_user_favorites_slug( $default = 'favorites' ) {
+ return apply_filters( 'bbp_get_user_favorites_slug', get_option( '_bbp_user_favs_slug', $default ) );
+}
+
+/**
+ * Return the single user subscriptions slug
+ *
+ * @since bbPress (r4187)
+ * @return string
+ */
+function bbp_get_user_subscriptions_slug( $default = 'subscriptions' ) {
+ return apply_filters( 'bbp_get_user_subscriptions_slug', get_option( '_bbp_user_subs_slug', $default ) );
+}
+
+/**
+ * Return the topic view slug
+ *
+ * @since bbPress (r3759)
+ * @return string
+ */
+function bbp_get_view_slug( $default = 'view' ) {
+ return apply_filters( 'bbp_get_view_slug', bbp_maybe_get_root_slug() . get_option( '_bbp_view_slug', $default ) );
+}
+
+/** Legacy ********************************************************************/
+
+/**
+ * Checks if there is a previous BuddyPress Forum configuration
+ *
+ * @since bbPress (r3790)
+ * @param $default string Optional. Default empty string
+ * @uses get_option() To get the old bb-config.php location
+ * @return string The location of the bb-config.php file, if any
+ */
+function bbp_get_config_location( $default = '' ) {
+ return apply_filters( 'bbp_get_config_location', get_option( 'bb-config-location', $default ) );
+}