/** * @covers ::bbp_decrease_user_reply_count */ public function test_bbp_decrease_user_reply_count() { $u = $this->factory->user->create(); $int_value = 3; $integer = true; bbp_update_user_reply_count($u, $int_value); $count = bbp_get_user_reply_count($u, $integer); $this->assertSame($int_value, $count); $t = $this->factory->topic->create(); $r = $this->factory->reply->create(array('post_parent' => $t, 'post_author' => $u, 'reply_meta' => array('topic_id' => $t))); // Minus 1 bbp_decrease_user_reply_count($r); $count = bbp_get_user_reply_count($u, $integer); $this->assertSame($int_value - 1, $count); // Minus 2 bbp_decrease_user_reply_count($r); $count = bbp_get_user_reply_count($u, $integer); $this->assertSame($int_value - 2, $count); }
/** * Bump the reply count for a user by a certain amount. * * @since 2.6.0 bbPress (r5309) * * @param int $user_id * @param int $difference * @uses bbp_get_user_reply_count() To get the users current reply count * @uses bbp_set_user_reply_count() To set the users new reply count */ function bbp_bump_user_reply_count($user_id = 0, $difference = 1) { // Bail if no bump if (empty($difference)) { return false; } // Validate user ID $user_id = bbp_get_user_id($user_id); if (empty($user_id)) { return false; } // Check meta for count, or query directly if not found $count = bbp_get_user_reply_count($user_id, true); if (empty($count)) { $count = bbp_get_user_reply_count_raw($user_id); } $difference = (int) $difference; $user_reply_count = (int) ($count + $difference); // Add them up and filter them $new_count = (int) apply_filters('bbp_bump_user_reply_count', $user_reply_count, $user_id, $difference, $count); return bbp_update_user_reply_count($user_id, $new_count); }