/** * The different fields for setting sections * * @package WP Idea Stream * @subpackage admin/settings * * @since 2.0.0 * * @uses wp_idea_stream_is_pretty_links() to check if the permalink structure is custom * @uses apply_filters() call 'wp_idea_stream_get_settings_fields' to add/edit/remove sections * @return array the settings fields */ function wp_idea_stream_get_settings_fields() { $setting_fields = array('ideastream_settings_core' => array('_ideastream_archive_title' => array('title' => __('IdeaStream archive page', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_archive_title_setting_callback', 'sanitize_callback' => 'sanitize_text_field', 'args' => array()), '_ideastream_submit_status' => array('title' => __('New ideas status', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_submit_status_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_status', 'args' => array()), '_ideastream_editor_image' => array('title' => __('Images', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_editor_image_setting_callback', 'sanitize_callback' => 'absint', 'args' => array()), '_ideastream_featured_images' => array('title' => __('Featured images', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_editor_featured_images_setting_callback', 'sanitize_callback' => 'wp_idea_stream_editor_featured_images_sanitize', 'args' => array()), '_ideastream_editor_link' => array('title' => __('Links', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_editor_link_setting_callback', 'sanitize_callback' => 'absint', 'args' => array()), '_ideastream_moderation_message' => array('title' => __('Moderation message', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_moderation_message_setting_callback', 'sanitize_callback' => 'sanitize_text_field', 'args' => array()), '_ideastream_login_message' => array('title' => __('Not logged in message', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_login_message_setting_callback', 'sanitize_callback' => 'sanitize_text_field', 'args' => array()), '_ideastream_hint_list' => array('title' => __('Rating stars hover captions', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_hint_list_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_hint_list', 'args' => array()), '_ideastream_sticky_ideas' => array('title' => __('Sticky ideas', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_sticky_ideas_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sticky_sanitize', 'args' => array()), '_ideastream_disjoin_comments' => array('title' => __('Idea comments', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_disjoin_comments_setting_callback', 'sanitize_callback' => 'absint', 'args' => array()), '_ideastream_allow_comments' => array('title' => __('Comments', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_allow_comments_setting_callback', 'sanitize_callback' => 'absint', 'args' => array()), '_ideastream_embed_profile' => array('title' => __('Embed Profile', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_embed_profile_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_embed_profile', 'args' => array()))); if (wp_idea_stream_is_pretty_links()) { /** Rewrite Section ***********************************************************/ $setting_fields['ideastream_settings_rewrite'] = array('_ideastream_root_slug' => array('title' => __('IdeaStream root slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_root_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_idea_slug' => array('title' => __('Single idea slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_idea_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_category_slug' => array('title' => __('Category slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_category_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_tag_slug' => array('title' => __('Tag slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_tag_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_user_slug' => array('title' => __('User slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_user_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_user_comments_slug' => array('title' => __('User comments slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_user_comments_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_cpage_slug' => array('title' => __('User comments paging slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_cpage_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_comments_page_slug', 'args' => array()), '_ideastream_user_rates_slug' => array('title' => __('User ratings slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_user_rates_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_signup_slug' => array('title' => __('Sign-up slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_signup_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_action_slug' => array('title' => __('Action slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_action_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_addnew_slug' => array('title' => __('New form slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_addnew_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array()), '_ideastream_edit_slug' => array('title' => __('Edit form slug', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_edit_slug_setting_callback', 'sanitize_callback' => 'wp_idea_stream_sanitize_slug', 'args' => array())); } if (is_multisite()) { /** Multisite Section *********************************************************/ $setting_fields['ideastream_settings_multisite'] = array(); if (wp_idea_stream_is_signup_allowed()) { $setting_fields['ideastream_settings_multisite']['_ideastream_allow_signups'] = array('title' => __('Sign-ups', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_allow_signups_setting_callback', 'sanitize_callback' => 'absint', 'args' => array()); } $setting_fields['ideastream_settings_multisite']['_ideastream_user_new_idea_set_role'] = array('title' => __('Default role for network users', 'wp-idea-stream'), 'callback' => 'wp_idea_stream_user_new_idea_set_role_setting_callback', 'sanitize_callback' => 'absint', 'args' => array()); } /** * Used internally to add the BuddyPress settings fields * @see buddypress/settings for an example of use. * * @param array $setting_fields the setting fields */ return (array) apply_filters('wp_idea_stream_get_settings_fields', $setting_fields); }
/** * Checks wether signups are allowed for current blog * * @package WP Idea Stream * @subpackage core/functions * * @since 2.2.0 * * @return bool true if signups are allowed for current site, false otherwise */ function wp_idea_stream_is_signup_allowed_for_current_blog() { $signups_allowed = wp_idea_stream_is_signup_allowed(); if (!is_multisite()) { return $signups_allowed; } return apply_filters('wp_idea_stream_is_signup_allowed_for_current_blog', wp_idea_stream_allow_signups()); }