Skip to:
Content

bbPress.org

Ticket #1694: counters.php

File counters.php, 2.2 KB (added by anointed, 12 years ago)

topic and reply counter functions

Line 
1/*---------------------------------------------------------------------------------*/
2/* COUNTERS - functions to count user topics and replies
3/*---------------------------------------------------------------------------------*/
4
5                                /**
6                                * Return the author id used within the loop
7                                *
8                                * could not find bbpress function to return ID
9                                *
10                                * my whole intent is to get ID so I can use it elsewhere
11                                */
12                                function tumble_reply_author_id( $reply_id = 0 ) {
13                                        echo tumble_get_reply_author_id( $reply_id );
14                                }
15                                        /**
16                                         * Return the author id of the reply
17                                         *
18                                         */
19
20                                         // JJ seems to use the reply_id equals zero everywhere, so I might as well also lol
21                                        function tumble_get_reply_author_id( $reply_id = 0 ) {
22                                                $reply_id = bbp_get_reply_id( $reply_id );
23
24                                                // have to handle anonymous here or within template?
25                                                if ( !bbp_is_reply_anonymous( $reply_id ) )
26                                                        $author = get_the_author_meta( 'ID', bbp_get_reply_author_id( $reply_id ) );
27
28                                                // Cant think of a good else to use as if anonymous I dont want to print anything
29                                                else
30                                                        $author = get_post_meta( $reply_id, '0', true );
31
32                                                // dont laugh, if I am using this wrong, then I will learn
33                                                return apply_filters( 'tumble_get_reply_author_id', $author, $reply_id );
34                                        }
35
36
37                                /**
38                                * Used to print out the custom post-type counts
39                                *
40                                * uses tumble_get_reply_author_id() to get ID
41                                *
42                                * User inputs the post-type desired
43                                */
44                                function tumble_user_posts_by_type( $post_type ) {
45                                        echo tumble_get_user_posts_by_type( $post_type );
46                                }
47                                        /**
48                                        * Return the count of supplied post-type
49                                        *
50                                        * uses tumble_get_reply_author_id() to get ID
51                                        *
52                                        */
53                                        function tumble_get_user_posts_by_type($post_type) {
54
55                                                // why do i have to call the global here, is it not already called globaly?
56                                                global $wpdb;
57
58                                                $userid = bbp_get_reply_author_id(  );
59                                                $where = get_posts_by_author_sql($post_type, TRUE, $userid);
60
61                                                $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
62
63                                                return apply_filters('get_usernumposts', $count, $userid);
64                                        }