Changeset 8073
- Timestamp:
- 03/06/2014 09:02:22 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-blogs/bp-blogs-functions.php
r8042 r8073 260 260 * See #4090, #3746, #2546 for background. 261 261 * 262 * @since BuddyPress ( 1.9.0)262 * @since BuddyPress (2.0.0) 263 263 * 264 264 * @param string $new_status New status for the post. … … 266 266 * @param object $post Post data. 267 267 */ 268 function bp_blogs_catch_ published_post( $new_status, $old_status, $post ) {269 270 // Only record published posts271 if ( 'publish' !== $new_status ) {268 function bp_blogs_catch_transition_post_status( $new_status, $old_status, $post ) { 269 270 // Do nothing for edits 271 if ( $new_status === $old_status ) { 272 272 return; 273 273 } 274 274 275 // Don't record edits (publish -> publish) 276 if ( 'publish' === $old_status ) { 277 return; 278 } 279 280 return bp_blogs_record_post( $post->ID, $post ); 281 } 282 add_action( 'transition_post_status', 'bp_blogs_catch_published_post', 10, 3 ); 275 // Publishing a previously unpublished post 276 if ( 'publish' === $new_status ) { 277 return bp_blogs_record_post( $post->ID, $post ); 278 279 // Unpublishing a previously published post 280 } else if ( 'publish' === $old_status ) { 281 return bp_blogs_remove_post( $post->ID ); 282 } 283 } 284 add_action( 'transition_post_status', 'bp_blogs_catch_transition_post_status', 10, 3 ); 283 285 284 286 /** -
trunk/bp-core/deprecated/2.0.php
r7854 r8073 1 1 <?php 2 /** 3 * Deprecated Functions 4 * 5 * @package BuddyPress 6 * @subpackage Core 7 * @deprecated 2.0.0 8 */ 9 10 // Exit if accessed directly 11 if ( !defined( 'ABSPATH' ) ) exit; 2 12 3 13 /** … … 7 17 _deprecated_function( __FUNCTION__, '2.0.0', 'Use WP metadata API instead' ); 8 18 } 19 20 /** 21 * @deprecated BuddyPress (2.0.0) 22 */ 23 function bp_blogs_catch_published_post() { 24 _deprecated_function( __FUNCTION__, '2.0', 'bp_blogs_catch_transition_post_status()' ); 25 } -
trunk/tests/testcases/blogs/functions.php
r7887 r8073 266 266 $this->assertNotEmpty( bp_blogs_add_blogmeta( 1, 'foo', 'baz' ) ); 267 267 } 268 269 /** 270 * @group bp_blogs_catch_transition_post_status 271 */ 272 public function test_transition_post_status_publish_to_publish() { 273 $post_id = $this->factory->post->create( array( 274 'post_status' => 'publish', 275 'post_type' => 'post', 276 ) ); 277 $post = get_post( $post_id ); 278 279 // 'publish' => 'publish' 280 $this->assertTrue( $this->activity_exists_for_post( $post_id ), 'Published post should have activity' ); 281 282 $post->post_status = 'publish'; 283 $post->post_content .= ' foo'; 284 285 wp_update_post( $post ); 286 287 $this->assertTrue( $this->activity_exists_for_post( $post_id ), 'Published post should have activity (no change)' ); 288 } 289 290 /** 291 * @group bp_blogs_catch_transition_post_status 292 */ 293 public function test_transition_post_status_draft_to_draft() { 294 $post_id = $this->factory->post->create( array( 295 'post_status' => 'draft', 296 'post_type' => 'post', 297 ) ); 298 $post = get_post( $post_id ); 299 300 $this->assertFalse( $this->activity_exists_for_post( $post_id ), 'Unpublished post should not have activity' ); 301 302 $post->post_status = 'draft'; 303 $post->post_content .= ' foo'; 304 305 wp_update_post( $post ); 306 307 $this->assertFalse( $this->activity_exists_for_post( $post_id ), 'Unpublished post should not have activity (no change)' ); 308 } 309 310 /** 311 * @group bp_blogs_catch_transition_post_status 312 */ 313 public function test_transition_post_status_draft_to_publish() { 314 $post_id = $this->factory->post->create( array( 315 'post_status' => 'draft', 316 'post_type' => 'post', 317 ) ); 318 $post = get_post( $post_id ); 319 320 $this->assertFalse( $this->activity_exists_for_post( $post_id ), 'Unpublished post should not have activity' ); 321 322 $post->post_status = 'publish'; 323 $post->post_content .= ' foo'; 324 325 wp_update_post( $post ); 326 327 $this->assertTrue( $this->activity_exists_for_post( $post_id ), 'Published post should have activity' ); 328 } 329 330 /** 331 * @group bp_blogs_catch_transition_post_status 332 */ 333 public function test_transition_post_status_publish_to_draft() { 334 $post_id = $this->factory->post->create( array( 335 'post_status' => 'publish', 336 'post_type' => 'post', 337 ) ); 338 $post = get_post( $post_id ); 339 340 $this->assertTrue( $this->activity_exists_for_post( $post_id ), 'Published post should have activity' ); 341 342 $post->post_status = 'draft'; 343 $post->post_content .= ' foo'; 344 345 wp_update_post( $post ); 346 347 $this->assertFalse( $this->activity_exists_for_post( $post_id ), 'Unpublished post should not have activity' ); 348 } 349 350 /** 351 * @group bp_blogs_catch_transition_post_status 352 */ 353 public function test_transition_post_status_wp_delete_post() { 354 $post_id = $this->factory->post->create( array( 355 'post_status' => 'publish', 356 'post_type' => 'post', 357 ) ); 358 $post = get_post( $post_id ); 359 360 $this->assertTrue( $this->activity_exists_for_post( $post_id ), 'Published post should have activity' ); 361 362 wp_delete_post( $post->ID ); 363 364 $this->assertFalse( $this->activity_exists_for_post( $post_id ), 'Unpublished post should not have activity' ); 365 } 366 367 /** 368 * @group bp_blogs_catch_transition_post_status 369 */ 370 public function test_transition_post_status_wp_trash_post() { 371 $post_id = $this->factory->post->create( array( 372 'post_status' => 'publish', 373 'post_type' => 'post', 374 ) ); 375 $post = get_post( $post_id ); 376 377 $this->assertTrue( $this->activity_exists_for_post( $post_id ), 'Published post should have activity' ); 378 379 wp_trash_post( $post->ID ); 380 381 $this->assertFalse( $this->activity_exists_for_post( $post_id ), 'Unpublished post should not have activity' ); 382 } 383 384 protected function activity_exists_for_post( $post_id ) { 385 $a = bp_activity_get( array( 386 'component' => buddypress()->blogs->id, 387 'action' => 'new_blog_post', 388 'item_id' => get_current_blog_id(), 389 'secondary_item_id' => $post_id, 390 ) ); 391 392 return ! empty( $a['total'] ); 393 } 268 394 }
Note: See TracChangeset
for help on using the changeset viewer.