Ticket #7592: 7592.01.patch
File 7592.01.patch, 4.4 KB (added by , 7 years ago) |
---|
-
src/bp-blogs/bp-blogs-activity.php
1148 1148 1149 1149 $allow_comments = bp_blogs_comments_open( $activity ); 1150 1150 $thread_depth = bp_blogs_get_blogmeta( $activity->item_id, 'thread_comments_depth' ); 1151 $moderation = bp_blogs_get_blogmeta( $activity->item_id, 'comment_moderation' ); 1151 1152 1152 1153 // Initialize a local object so we won't have to query this again in the 1153 1154 // comment loop. … … 1157 1158 if ( empty( buddypress()->blogs->thread_depth ) ) { 1158 1159 buddypress()->blogs->thread_depth = array(); 1159 1160 } 1161 if ( empty( buddypress()->blogs->comment_moderation ) ) { 1162 buddypress()->blogs->comment_moderation = array(); 1163 } 1160 1164 1161 // Cache comment settings in the buddypress() singleton to reference later in 1162 // the activity comment loop 1163 // @see bp_blogs_disable_activity_replies() 1164 // 1165 // thread_depth is keyed by activity ID instead of blog ID because when we're 1166 // in a comment loop, we don't have access to the blog ID... 1167 // should probably object cache these values instead... 1168 buddypress()->blogs->allow_comments[ $activity->id ] = $allow_comments; 1169 buddypress()->blogs->thread_depth[ $activity->id ] = $thread_depth; 1165 /* 1166 * Cache comment settings in the buddypress() singleton for later reference. 1167 * 1168 * See bp_blogs_disable_activity_commenting() / bp_blogs_can_comment_reply(). 1169 * 1170 * thread_depth is keyed by activity ID instead of blog ID because when we're 1171 * in an actvity comment loop, we don't have access to the blog ID... 1172 * 1173 * Should probably object cache these values instead... 1174 */ 1175 buddypress()->blogs->allow_comments[ $activity->id ] = $allow_comments; 1176 buddypress()->blogs->thread_depth[ $activity->id ] = $thread_depth; 1177 buddypress()->blogs->comment_moderation[ $activity->id ] = $moderation; 1170 1178 } 1171 1179 1172 1180 /** … … 1231 1239 if ( empty( buddypress()->blogs->allow_comments[ bp_get_activity_id() ] ) ) { 1232 1240 $retval = false; 1233 1241 } 1242 1243 // If comments need moderation, disable activity commenting. 1244 if ( ! empty( buddypress()->blogs->comment_moderation[ bp_get_activity_id() ] ) ) { 1245 $retval = false; 1246 } 1234 1247 // The activity type does not support comments or replies 1235 1248 } else { 1236 1249 $retval = false; … … 1314 1327 } 1315 1328 } 1316 1329 1330 // If comments need moderation, disable activity commenting. 1331 if ( ! empty( buddypress()->blogs->comment_moderation[$comment->item_id] ) ) { 1332 $retval = false; 1333 } 1334 1317 1335 return $retval; 1318 1336 } 1319 1337 add_filter( 'bp_activity_can_comment_reply', 'bp_blogs_can_comment_reply', 10, 2 ); -
src/bp-blogs/bp-blogs-functions.php
362 362 $description = get_blog_option( $blog_id, 'blogdescription' ); 363 363 $close_old_posts = get_blog_option( $blog_id, 'close_comments_for_old_posts' ); 364 364 $close_days_old = get_blog_option( $blog_id, 'close_comments_days_old' ); 365 $moderation = get_blog_option( $blog_id, 'comment_moderation' ); 365 366 366 367 $thread_depth = get_blog_option( $blog_id, 'thread_comments' ); 367 368 if ( ! empty( $thread_depth ) ) { … … 384 385 bp_blogs_update_blogmeta( $recorded_blog->blog_id, 'close_comments_for_old_posts', $close_old_posts ); 385 386 bp_blogs_update_blogmeta( $recorded_blog->blog_id, 'close_comments_days_old', $close_days_old ); 386 387 bp_blogs_update_blogmeta( $recorded_blog->blog_id, 'thread_comments_depth', $thread_depth ); 388 bp_blogs_update_blogmeta( $recorded_blog->blog_id, 'comment_moderation', $moderation ); 387 389 388 390 $is_private = !empty( $_POST['blog_public'] ) && (int) $_POST['blog_public'] ? false : true; 389 391 … … 525 527 } 526 528 add_action( 'update_option_thread_comments_depth', 'bp_blogs_update_option_thread_comments_depth', 10, 2 ); 527 529 530 /** 531 * When updating comment moderation, mirror value in blogmeta table. 532 * 533 * @since 3.0.0 534 * 535 * @param string $oldvalue Value before save. Passed by do_action() but unused here. 536 * @param string $newvalue Value to change meta to. 537 */ 538 function bp_blogs_update_option_comment_moderation( $oldvalue, $newvalue ) { 539 bp_blogs_update_blogmeta( $GLOBALS['wpdb']->blogid, 'comment_moderation', $newvalue ); 540 } 541 add_action( 'update_option_comment_moderation', 'bp_blogs_update_option_comment_moderation', 10, 2 ); 542 528 543 /** 529 544 * Syncs site icon URLs to blogmeta. 530 545 *