--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/plugins/bbpress/includes/admin/metaboxes.php Tue Dec 04 18:43:10 2012 -0800
@@ -0,0 +1,495 @@
+<?php
+
+/**
+ * bbPress Admin Metaboxes
+ *
+ * @package bbPress
+ * @subpackage Administration
+ */
+
+/** Dashboard *****************************************************************/
+
+/**
+ * bbPress Dashboard Right Now Widget
+ *
+ * Adds a dashboard widget with forum statistics
+ *
+ * @since bbPress (r2770)
+ *
+ * @uses bbp_get_version() To get the current bbPress version
+ * @uses bbp_get_statistics() To get the forum statistics
+ * @uses current_user_can() To check if the user is capable of doing things
+ * @uses bbp_get_forum_post_type() To get the forum post type
+ * @uses bbp_get_topic_post_type() To get the topic post type
+ * @uses bbp_get_reply_post_type() To get the reply post type
+ * @uses get_admin_url() To get the administration url
+ * @uses add_query_arg() To add custom args to the url
+ * @uses do_action() Calls 'bbp_dashboard_widget_right_now_content_table_end'
+ * below the content table
+ * @uses do_action() Calls 'bbp_dashboard_widget_right_now_table_end'
+ * below the discussion table
+ * @uses do_action() Calls 'bbp_dashboard_widget_right_now_discussion_table_end'
+ * below the discussion table
+ * @uses do_action() Calls 'bbp_dashboard_widget_right_now_end' below the widget
+ */
+function bbp_dashboard_widget_right_now() {
+
+ // Get the statistics and extract them
+ extract( bbp_get_statistics(), EXTR_SKIP ); ?>
+
+ <div class="table table_content">
+
+ <p class="sub"><?php _e( 'Discussion', 'bbpress' ); ?></p>
+
+ <table>
+
+ <tr class="first">
+
+ <?php
+ $num = $forum_count;
+ $text = _n( 'Forum', 'Forums', $forum_count, 'bbpress' );
+ if ( current_user_can( 'publish_forums' ) ) {
+ $link = add_query_arg( array( 'post_type' => bbp_get_forum_post_type() ), get_admin_url( null, 'edit.php' ) );
+ $num = '<a href="' . $link . '">' . $num . '</a>';
+ $text = '<a href="' . $link . '">' . $text . '</a>';
+ }
+ ?>
+
+ <td class="first b b-forums"><?php echo $num; ?></td>
+ <td class="t forums"><?php echo $text; ?></td>
+
+ </tr>
+
+ <tr>
+
+ <?php
+ $num = $topic_count;
+ $text = _n( 'Topic', 'Topics', $topic_count, 'bbpress' );
+ if ( current_user_can( 'publish_topics' ) ) {
+ $link = add_query_arg( array( 'post_type' => bbp_get_topic_post_type() ), get_admin_url( null, 'edit.php' ) );
+ $num = '<a href="' . $link . '">' . $num . '</a>';
+ $text = '<a href="' . $link . '">' . $text . '</a>';
+ }
+ ?>
+
+ <td class="first b b-topics"><?php echo $num; ?></td>
+ <td class="t topics"><?php echo $text; ?></td>
+
+ </tr>
+
+ <tr>
+
+ <?php
+ $num = $reply_count;
+ $text = _n( 'Reply', 'Replies', $reply_count, 'bbpress' );
+ if ( current_user_can( 'publish_replies' ) ) {
+ $link = add_query_arg( array( 'post_type' => bbp_get_reply_post_type() ), get_admin_url( null, 'edit.php' ) );
+ $num = '<a href="' . $link . '">' . $num . '</a>';
+ $text = '<a href="' . $link . '">' . $text . '</a>';
+ }
+ ?>
+
+ <td class="first b b-replies"><?php echo $num; ?></td>
+ <td class="t replies"><?php echo $text; ?></td>
+
+ </tr>
+
+ <?php if ( bbp_allow_topic_tags() ) : ?>
+
+ <tr>
+
+ <?php
+ $num = $topic_tag_count;
+ $text = _n( 'Topic Tag', 'Topic Tags', $topic_tag_count, 'bbpress' );
+ if ( current_user_can( 'manage_topic_tags' ) ) {
+ $link = add_query_arg( array( 'taxonomy' => bbp_get_topic_tag_tax_id(), 'post_type' => bbp_get_topic_post_type() ), get_admin_url( null, 'edit-tags.php' ) );
+ $num = '<a href="' . $link . '">' . $num . '</a>';
+ $text = '<a href="' . $link . '">' . $text . '</a>';
+ }
+ ?>
+
+ <td class="first b b-topic_tags"><span class="total-count"><?php echo $num; ?></span></td>
+ <td class="t topic_tags"><?php echo $text; ?></td>
+
+ </tr>
+
+ <?php endif; ?>
+
+ <?php do_action( 'bbp_dashboard_widget_right_now_content_table_end' ); ?>
+
+ </table>
+
+ </div>
+
+
+ <div class="table table_discussion">
+
+ <p class="sub"><?php _e( 'Users & Moderation', 'bbpress' ); ?></p>
+
+ <table>
+
+ <tr class="first">
+
+ <?php
+ $num = $user_count;
+ $text = _n( 'User', 'Users', $user_count, 'bbpress' );
+ if ( current_user_can( 'edit_users' ) ) {
+ $link = get_admin_url( null, 'users.php' );
+ $num = '<a href="' . $link . '">' . $num . '</a>';
+ $text = '<a href="' . $link . '">' . $text . '</a>';
+ }
+ ?>
+
+ <td class="b b-users"><span class="total-count"><?php echo $num; ?></span></td>
+ <td class="last t users"><?php echo $text; ?></td>
+
+ </tr>
+
+ <?php if ( isset( $topic_count_hidden ) ) : ?>
+
+ <tr>
+
+ <?php
+ $num = $topic_count_hidden;
+ $text = _n( 'Hidden Topic', 'Hidden Topics', $topic_count_hidden, 'bbpress' );
+ $link = add_query_arg( array( 'post_type' => bbp_get_topic_post_type() ), get_admin_url( null, 'edit.php' ) );
+ if ( '0' != $num ) {
+ $link = add_query_arg( array( 'post_status' => bbp_get_spam_status_id() ), $link );
+ }
+ $num = '<a href="' . $link . '" title="' . esc_attr( $hidden_topic_title ) . '">' . $num . '</a>';
+ $text = '<a class="waiting" href="' . $link . '" title="' . esc_attr( $hidden_topic_title ) . '">' . $text . '</a>';
+ ?>
+
+ <td class="b b-hidden-topics"><?php echo $num; ?></td>
+ <td class="last t hidden-replies"><?php echo $text; ?></td>
+
+ </tr>
+
+ <?php endif; ?>
+
+ <?php if ( isset( $reply_count_hidden ) ) : ?>
+
+ <tr>
+
+ <?php
+ $num = $reply_count_hidden;
+ $text = _n( 'Hidden Reply', 'Hidden Replies', $reply_count_hidden, 'bbpress' );
+ $link = add_query_arg( array( 'post_type' => bbp_get_reply_post_type() ), get_admin_url( null, 'edit.php' ) );
+ if ( '0' != $num ) {
+ $link = add_query_arg( array( 'post_status' => bbp_get_spam_status_id() ), $link );
+ }
+ $num = '<a href="' . $link . '" title="' . esc_attr( $hidden_reply_title ) . '">' . $num . '</a>';
+ $text = '<a class="waiting" href="' . $link . '" title="' . esc_attr( $hidden_reply_title ) . '">' . $text . '</a>';
+ ?>
+
+ <td class="b b-hidden-replies"><?php echo $num; ?></td>
+ <td class="last t hidden-replies"><?php echo $text; ?></td>
+
+ </tr>
+
+ <?php endif; ?>
+
+ <?php if ( bbp_allow_topic_tags() && isset( $empty_topic_tag_count ) ) : ?>
+
+ <tr>
+
+ <?php
+ $num = $empty_topic_tag_count;
+ $text = _n( 'Empty Topic Tag', 'Empty Topic Tags', $empty_topic_tag_count, 'bbpress' );
+ $link = add_query_arg( array( 'taxonomy' => bbp_get_topic_tag_tax_id(), 'post_type' => bbp_get_topic_post_type() ), get_admin_url( null, 'edit-tags.php' ) );
+ $num = '<a href="' . $link . '">' . $num . '</a>';
+ $text = '<a class="waiting" href="' . $link . '">' . $text . '</a>';
+ ?>
+
+ <td class="b b-hidden-topic-tags"><?php echo $num; ?></td>
+ <td class="last t hidden-topic-tags"><?php echo $text; ?></td>
+
+ </tr>
+
+ <?php endif; ?>
+
+ <?php do_action( 'bbp_dashboard_widget_right_now_discussion_table_end' ); ?>
+
+ </table>
+
+ </div>
+
+ <?php do_action( 'bbp_dashboard_widget_right_now_table_end' ); ?>
+
+ <div class="versions">
+
+ <span id="wp-version-message">
+ <?php printf( __( 'You are using <span class="b">bbPress %s</span>.', 'bbpress' ), bbp_get_version() ); ?>
+ </span>
+
+ </div>
+
+ <br class="clear" />
+
+ <?php
+
+ do_action( 'bbp_dashboard_widget_right_now_end' );
+}
+
+/** Forums ********************************************************************/
+
+/**
+ * Forum metabox
+ *
+ * The metabox that holds all of the additional forum information
+ *
+ * @since bbPress (r2744)
+ *
+ * @uses bbp_is_forum_closed() To check if a forum is closed or not
+ * @uses bbp_is_forum_category() To check if a forum is a category or not
+ * @uses bbp_is_forum_private() To check if a forum is private or not
+ * @uses bbp_dropdown() To show a dropdown of the forums for forum parent
+ * @uses do_action() Calls 'bbp_forum_metabox'
+ */
+function bbp_forum_metabox() {
+
+ // Post ID
+ $post_id = get_the_ID();
+ $post_parent = bbp_get_global_post_field( 'post_parent', 'raw' );
+ $menu_order = bbp_get_global_post_field( 'menu_order', 'edit' );
+
+ /** Type ******************************************************************/
+
+ ?>
+
+ <p>
+ <strong class="label"><?php _e( 'Type:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_forum_type_select"><?php _e( 'Type:', 'bbpress' ) ?></label>
+ <?php bbp_form_forum_type_dropdown( $post_id ); ?>
+ </p>
+
+ <?php
+
+ /** Status ****************************************************************/
+
+ ?>
+
+ <p>
+ <strong class="label"><?php _e( 'Status:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_forum_status_select"><?php _e( 'Status:', 'bbpress' ) ?></label>
+ <?php bbp_form_forum_status_dropdown( $post_id ); ?>
+ </p>
+
+ <?php
+
+ /** Visibility ************************************************************/
+
+ ?>
+
+ <p>
+ <strong class="label"><?php _e( 'Visibility:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_forum_visibility_select"><?php _e( 'Visibility:', 'bbpress' ) ?></label>
+ <?php bbp_form_forum_visibility_dropdown( $post_id ); ?>
+ </p>
+
+ <hr />
+
+ <?php
+
+ /** Parent ****************************************************************/
+
+ ?>
+
+ <p>
+ <strong class="label"><?php _e( 'Parent:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="parent_id"><?php _e( 'Forum Parent', 'bbpress' ); ?></label>
+ <?php bbp_dropdown( array(
+ 'post_type' => bbp_get_forum_post_type(),
+ 'selected' => $post_parent,
+ 'child_of' => '0',
+ 'numberposts' => -1,
+ 'orderby' => 'title',
+ 'order' => 'ASC',
+ 'walker' => '',
+ 'exclude' => $post_id,
+
+ // Output-related
+ 'select_id' => 'parent_id',
+ 'tab' => bbp_get_tab_index(),
+ 'options_only' => false,
+ 'show_none' => __( '— No parent —', 'bbpress' ),
+ 'none_found' => false,
+ 'disable_categories' => false,
+ 'disabled' => ''
+ ) ); ?>
+ </p>
+
+ <p>
+ <strong class="label"><?php _e( 'Order:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="menu_order"><?php _e( 'Forum Order', 'bbpress' ); ?></label>
+ <input name="menu_order" type="number" step="1" size="4" id="menu_order" value="<?php echo esc_attr( $menu_order ); ?>" />
+ </p>
+
+ <?php
+ wp_nonce_field( 'bbp_forum_metabox_save', 'bbp_forum_metabox' );
+ do_action( 'bbp_forum_metabox', $post_id );
+}
+
+/** Topics ********************************************************************/
+
+/**
+ * Topic metabox
+ *
+ * The metabox that holds all of the additional topic information
+ *
+ * @since bbPress (r2464)
+ *
+ * @uses bbp_get_topic_forum_id() To get the topic forum id
+ * @uses do_action() Calls 'bbp_topic_metabox'
+ */
+function bbp_topic_metabox() {
+
+ // Post ID
+ $post_id = get_the_ID(); ?>
+
+ <p>
+ <strong class="label"><?php _e( 'Type:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_stick_topic"><?php _e( 'Topic Type', 'bbpress' ); ?></label>
+ <?php bbp_topic_type_select( array( 'topic_id' => $post_id ) ); ?>
+ </p>
+
+ <p>
+ <strong class="label"><?php _e( 'Forum:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="parent_id"><?php _e( 'Forum', 'bbpress' ); ?></label>
+ <?php bbp_dropdown( array(
+ 'post_type' => bbp_get_forum_post_type(),
+ 'selected' => bbp_get_topic_forum_id( $post_id ),
+ 'child_of' => '0',
+ 'numberposts' => -1,
+ 'orderby' => 'title',
+ 'order' => 'ASC',
+ 'walker' => '',
+ 'exclude' => '',
+
+ // Output-related
+ 'select_id' => 'parent_id',
+ 'tab' => bbp_get_tab_index(),
+ 'options_only' => false,
+ 'show_none' => __( '— No parent —', 'bbpress' ),
+ 'none_found' => false,
+ 'disable_categories' => current_user_can( 'edit_forums' ),
+ 'disabled' => ''
+ ) ); ?>
+ </p>
+
+ <?php
+ wp_nonce_field( 'bbp_topic_metabox_save', 'bbp_topic_metabox' );
+ do_action( 'bbp_topic_metabox', $post_id );
+}
+
+/** Replies *******************************************************************/
+
+/**
+ * Reply metabox
+ *
+ * The metabox that holds all of the additional reply information
+ *
+ * @since bbPress (r2464)
+ *
+ * @uses bbp_get_topic_post_type() To get the topic post type
+ * @uses do_action() Calls 'bbp_reply_metabox'
+ */
+function bbp_reply_metabox() {
+
+ // Post ID
+ $post_id = get_the_ID();
+
+ // Get some meta
+ $reply_topic_id = bbp_get_reply_topic_id( $post_id );
+ $reply_forum_id = bbp_get_reply_forum_id( $post_id );
+
+ // Allow individual manipulation of reply forum
+ if ( current_user_can( 'edit_others_replies' ) || current_user_can( 'moderate' ) ) : ?>
+
+ <p>
+ <strong class="label"><?php _e( 'Forum:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_forum_id"><?php _e( 'Forum', 'bbpress' ); ?></label>
+ <?php bbp_dropdown( array(
+ 'post_type' => bbp_get_forum_post_type(),
+ 'selected' => $reply_forum_id,
+ 'child_of' => '0',
+ 'numberposts' => -1,
+ 'orderby' => 'title',
+ 'order' => 'ASC',
+ 'walker' => '',
+ 'exclude' => '',
+
+ // Output-related
+ 'select_id' => 'bbp_forum_id',
+ 'tab' => bbp_get_tab_index(),
+ 'options_only' => false,
+ 'show_none' => __( '— No parent —', 'bbpress' ),
+ 'none_found' => false,
+ 'disable_categories' => current_user_can( 'edit_forums' ),
+ 'disabled' => ''
+ ) ); ?>
+ </p>
+
+ <?php endif; ?>
+
+ <p>
+ <strong class="label"><?php _e( 'Topic:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="parent_id"><?php _e( 'Topic', 'bbpress' ); ?></label>
+ <input name="parent_id" id="bbp_topic_id" type="text" value="<?php echo esc_attr( $reply_topic_id ); ?>" />
+ </p>
+
+ <?php
+ wp_nonce_field( 'bbp_reply_metabox_save', 'bbp_reply_metabox' );
+ do_action( 'bbp_reply_metabox', $post_id );
+}
+
+/** Users *********************************************************************/
+
+/**
+ * Anonymous user information metabox
+ *
+ * @since bbPress (r2828)
+ *
+ * @uses bbp_is_reply_anonymous() To check if reply is anonymous
+ * @uses bbp_is_topic_anonymous() To check if topic is anonymous
+ * @uses get_the_ID() To get the global post ID
+ * @uses get_post_meta() To get the author user information
+ */
+function bbp_author_metabox() {
+
+ // Post ID
+ $post_id = get_the_ID();
+
+ // Show extra bits if topic/reply is anonymous
+ if ( bbp_is_reply_anonymous( $post_id ) || bbp_is_topic_anonymous( $post_id ) ) : ?>
+
+ <p>
+ <strong class="label"><?php _e( 'Name:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_anonymous_name"><?php _e( 'Name', 'bbpress' ); ?></label>
+ <input type="text" id="bbp_anonymous_name" name="bbp_anonymous_name" value="<?php echo esc_attr( get_post_meta( $post_id, '_bbp_anonymous_name', true ) ); ?>" />
+ </p>
+
+ <p>
+ <strong class="label"><?php _e( 'Email:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_anonymous_email"><?php _e( 'Email', 'bbpress' ); ?></label>
+ <input type="text" id="bbp_anonymous_email" name="bbp_anonymous_email" value="<?php echo esc_attr( get_post_meta( $post_id, '_bbp_anonymous_email', true ) ); ?>" />
+ </p>
+
+ <p>
+ <strong class="label"><?php _e( 'Website:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_anonymous_website"><?php _e( 'Website', 'bbpress' ); ?></label>
+ <input type="text" id="bbp_anonymous_website" name="bbp_anonymous_website" value="<?php echo esc_attr( get_post_meta( $post_id, '_bbp_anonymous_website', true ) ); ?>" />
+ </p>
+
+ <?php endif; ?>
+
+ <p>
+ <strong class="label"><?php _e( 'IP:', 'bbpress' ); ?></strong>
+ <label class="screen-reader-text" for="bbp_author_ip_address"><?php _e( 'IP Address', 'bbpress' ); ?></label>
+ <input type="text" id="bbp_author_ip_address" name="bbp_author_ip_address" value="<?php echo esc_attr( get_post_meta( $post_id, '_bbp_author_ip', true ) ); ?>" disabled="disabled" />
+ </p>
+
+ <?php
+
+ do_action( 'bbp_author_metabox', $post_id );
+}