Changeset 3826 for branches/plugin/bbp-includes/bbp-forum-functions.php
- Timestamp:
- 03/26/2012 07:36:47 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/plugin/bbp-includes/bbp-forum-functions.php
r3799 r3826 951 951 } 952 952 953 /** Count Bumpers *************************************************************/ 954 955 /** 956 * Bump the total topic count of a forum 957 * 958 * @since bbPress (r3825) 959 * 960 * @param int $forum_id Optional. Forum id. 961 * @param int $difference Optional. Default 1 962 * @param bool $update_ancestors Optional. Default true 963 * @uses bbp_get_forum_id() To get the forum id 964 * @uses update_post_meta() To update the forum's topic count meta 965 * @uses apply_filters() Calls 'bbp_bump_forum_topic_count' with the topic 966 * count, forum id, and difference 967 * @return int Forum topic count 968 */ 969 function bbp_bump_forum_topic_count( $forum_id = 0, $difference = 1, $update_ancestors = true ) { 970 971 // Get some counts 972 $forum_id = bbp_get_forum_id( $forum_id ); 973 $topic_count = bbp_get_forum_topic_count( $forum_id, false ); 974 $total_topic_count = bbp_get_forum_topic_count( $forum_id, true ); 975 976 // Update this forum id 977 update_post_meta( $forum_id, '_bbp_topic_count', (int) $topic_count + (int) $difference ); 978 update_post_meta( $forum_id, '_bbp_total_topic_count', (int) $total_topic_count + (int) $difference ); 979 980 // Check for ancestors 981 if ( true === $update_ancestors ) { 982 983 // Get post ancestors 984 $forum = get_post( $forum_id ); 985 $ancestors = get_post_ancestors( $forum ); 986 987 // If has ancestors, loop through them... 988 if ( !empty( $ancestors ) ) { 989 foreach ( (array) $ancestors as $parent_forum_id ) { 990 991 // Get forum counts 992 $parent_topic_count = bbp_get_forum_topic_count( $parent_forum_id, false ); 993 $parent_total_topic_count = bbp_get_forum_topic_count( $parent_forum_id, true ); 994 995 // Update counts 996 update_post_meta( $parent_forum_id, '_bbp_topic_count', (int) $parent_topic_count + (int) $difference ); 997 update_post_meta( $parent_forum_id, '_bbp_total_topic_count', (int) $parent_total_topic_count + (int) $difference ); 998 } 999 } 1000 } 1001 1002 return (int) apply_filters( 'bbp_bump_forum_topic_count', (int) $total_topic_count + (int) $difference, $forum_id, (int) $difference, (bool) $update_ancestors ); 1003 } 1004 1005 /** 1006 * Bump the total hidden topic count of a forum 1007 * 1008 * @since bbPress (r3825) 1009 * 1010 * @param int $forum_id Optional. Forum id. 1011 * @param int $difference Optional. Default 1 1012 * @uses bbp_get_forum_id() To get the forum id 1013 * @uses update_post_meta() To update the forum's topic count meta 1014 * @uses apply_filters() Calls 'bbp_bump_forum_topic_count_hidden' with the 1015 * topic count, forum id, and difference 1016 * @return int Forum hidden topic count 1017 */ 1018 function bbp_bump_forum_topic_count_hidden( $forum_id = 0, $difference = 1 ) { 1019 1020 // Get some counts 1021 $forum_id = bbp_get_forum_id( $forum_id ); 1022 $topic_count = bbp_get_forum_topic_count_hidden( $forum_id, false ); 1023 $new_count = (int) $topic_count + (int) $difference; 1024 1025 // Update this forum id 1026 update_post_meta( $forum_id, '_bbp_topic_count_hidden', (int) $new_count ); 1027 1028 return (int) apply_filters( 'bbp_bump_forum_topic_count_hidden', (int) $new_count, $forum_id, (int) $difference ); 1029 } 1030 1031 /** 1032 * Bump the total topic count of a forum 1033 * 1034 * @since bbPress (r3825) 1035 * 1036 * @param int $forum_id Optional. Forum id. 1037 * @param int $difference Optional. Default 1 1038 * @param bool $update_ancestors Optional. Default true 1039 * @uses bbp_get_forum_id() To get the forum id 1040 * @uses update_post_meta() To update the forum's topic count meta 1041 * @uses apply_filters() Calls 'bbp_bump_forum_reply_count' with the topic 1042 * count, forum id, and difference 1043 * @return int Forum topic count 1044 */ 1045 function bbp_bump_forum_reply_count( $forum_id = 0, $difference = 1, $update_ancestors = true ) { 1046 1047 // Get some counts 1048 $forum_id = bbp_get_forum_id( $forum_id ); 1049 $topic_count = bbp_get_forum_reply_count( $forum_id, false ); 1050 $total_reply_count = bbp_get_forum_reply_count( $forum_id, true ); 1051 1052 // Update this forum id 1053 update_post_meta( $forum_id, '_bbp_reply_count', (int) $topic_count + (int) $difference ); 1054 update_post_meta( $forum_id, '_bbp_total_reply_count', (int) $total_reply_count + (int) $difference ); 1055 1056 // Check for ancestors 1057 if ( true === $update_ancestors ) { 1058 1059 // Get post ancestors 1060 $forum = get_post( $forum_id ); 1061 $ancestors = get_post_ancestors( $forum ); 1062 1063 // If has ancestors, loop through them... 1064 if ( !empty( $ancestors ) ) { 1065 foreach ( (array) $ancestors as $parent_forum_id ) { 1066 1067 // Get forum counts 1068 $parent_topic_count = bbp_get_forum_reply_count( $parent_forum_id, false ); 1069 $parent_total_reply_count = bbp_get_forum_reply_count( $parent_forum_id, true ); 1070 1071 // Update counts 1072 update_post_meta( $parent_forum_id, '_bbp_reply_count', (int) $parent_topic_count + (int) $difference ); 1073 update_post_meta( $parent_forum_id, '_bbp_total_reply_count', (int) $parent_total_reply_count + (int) $difference ); 1074 } 1075 } 1076 } 1077 1078 return (int) apply_filters( 'bbp_bump_forum_reply_count', (int) $total_reply_count + (int) $difference, $forum_id, (int) $difference, (bool) $update_ancestors ); 1079 } 1080 953 1081 /** Forum Updaters ************************************************************/ 954 1082
Note: See TracChangeset
for help on using the changeset viewer.