Changeset 4332
- Timestamp:
- 11/06/2016 09:35:21 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-bbp-term-subscription/inc/class-plugin.php
r4048 r4332 21 21 'taxonomy' => 'topic-tag', 22 22 'labels' => array( 23 'receipt' => __( 'You are receiving this email because you are subscribed to a topic tag.', 'wporg-forums'), 23 'subscribed_header' => __( 'Subscribed Topic Tags', 'wporg-forums' ), 24 'subscribed_user_notice' => __( 'You are not currently subscribed to any topic tags.', 'wporg-forums' ), 25 'subscribed_anon_notice' => __( 'This user is not currently subscribed to any topic tags.', 'wporg-forums' ), 26 'receipt' => __( 'You are receiving this email because you are subscribed to a topic tag.', 'wporg-forums'), 24 27 ), 25 28 ) ); … … 50 53 add_action( 'bbp_new_topic', array( $this, 'notify_term_subscribers_of_new_topic' ), 10, 4 ); 51 54 add_action( 'bbp_new_reply', array( $this, 'notify_term_subscribers_of_new_reply' ), 10, 5 ); 55 56 add_action( 'bbp_template_after_user_subscriptions', array( $this, 'user_subscriptions' ) ); 52 57 } 53 58 … … 123 128 } 124 129 130 // Redirect 131 if ( bbp_is_subscriptions() ) { 132 $redirect = bbp_get_subscriptions_permalink( $user_id ); 133 } else { 134 $redirect = get_term_link( $term_id ); 135 } 136 125 137 // Success! 126 138 if ( true === $success ) { 127 $redirect = get_term_link( $term_id );128 139 bbp_redirect( $redirect ); 129 140 } elseif ( true === $is_subscribed && 'wporg_bbp_subscribe_term' === $action ) { … … 327 338 328 339 /** 340 * Add a term subscription block to the user's profile. 341 */ 342 public function user_subscriptions() { 343 $user_id = bbp_get_user_id(); 344 if ( empty( $user_id ) ) { 345 return; 346 } 347 $terms = self::get_user_taxonomy_subscriptions( $user_id, $this->taxonomy ); 348 ?> 349 350 <div class="bbp-user-subscriptions"> 351 <h2 class="entry-title"><?php echo esc_html( $this->labels['subscribed_header'] ); ?></h2> 352 <div class="bbp-user-section"> 353 <?php 354 if ( $terms ) { 355 echo '<p id="bbp-term-' . esc_attr( $this->taxonomy ) . '">' . "\n"; 356 foreach ( $terms as $term ) { 357 echo '<a href="' . esc_url( get_term_link( $term->term_id ) ) . '">' . esc_html( $term->slug ) . '</a>'; 358 if ( get_current_user_id() == $user_id ) { 359 $url = self::get_subscription_url( $user_id, $term->term_id, $this->taxonomy ); 360 echo ' (<a href="' . esc_url( self::get_subscription_url( $user_id, $term->term_id, $this->taxonomy ) ) . '">' . esc_html( 'Unsubscribe', 'wporg-forums' ) . '</a>)'; 361 } 362 echo "</br>\n"; 363 } 364 echo "</p>\n"; 365 } else { 366 if ( bbp_get_user_id() == get_current_user_id() ) { 367 echo '<p>' . esc_html( $this->labels['subscribed_user_notice'] ) . '</p>'; 368 } else { 369 echo '<p>' . esc_html( $this->labels['subscribed_anon_notice'] ) . '</p>'; 370 } 371 } 372 ?> 373 </div> 374 </div> 375 376 <?php 377 } 378 379 /** 329 380 * Get the user's subscriptions for a given taxonomy; defaults to 'topic-tag'. 330 381 * … … 434 485 435 486 /** 436 * Create the link for subscribing to/unsubscribing from a given term. 437 * 438 * @param string $action The action 487 * Create the url for subscribing to/unsubscribing from a given term. 488 * 439 489 * @param int $user_id The user id 440 490 * @param int $term_id The term id 491 * @param int $taxonomy The taxonomy 441 492 * @return string 442 493 */ 443 public static function get_subscription_link( $args = array() ) { 494 public static function get_subscription_url( $user_id = 0, $term_id, $taxonomy ) { 495 if ( empty( $user_id ) ) { 496 $user_id = bbp_get_user_id(); 497 } 498 499 if ( empty( $user_id ) ) { 500 return false; 501 } 502 503 $term = get_term( $term_id, $taxonomy ); 504 if ( ! $term ) { 505 return false; 506 } 507 508 if ( self::is_user_subscribed_to_term( $user_id, $term_id ) ) { 509 $query_args = array( 'action' => 'wporg_bbp_unsubscribe_term', 'term_id' => $term_id, 'taxonomy' => $taxonomy ); 510 } else { 511 $query_args = array( 'action' => 'wporg_bbp_subscribe_term', 'term_id' => $term_id, 'taxonomy' => $taxonomy ); 512 } 513 514 if ( bbp_is_subscriptions() ) { 515 $permalink = bbp_get_subscriptions_permalink( $user_id ); 516 } else { 517 $permalink = get_term_link( $term_id ); 518 } 519 520 $url = esc_url( wp_nonce_url( add_query_arg( $query_args, $permalink ), 'toggle-term-subscription_' . $user_id . '_' . $term_id . '_' . $taxonomy ) ); 521 return $url; 522 } 523 524 public static function get_subscription_link( $args ) { 444 525 if ( ! current_user_can( 'spectate' ) ) { 445 526 return false; … … 456 537 return false; 457 538 } 539 458 540 $user_id = $r['user_id']; 459 541 $term_id = $r['term_id']; 460 542 $taxonomy = $r['taxonomy']; 461 543 462 $term = get_term( $term_id, $taxonomy ); 463 if ( ! $term ) { 464 return false; 465 } 466 467 if ( self::is_user_subscribed_to_term( $user_id, $term_id ) ) { 544 $url = self::get_subscription_url( $r['user_id'], $r['term_id'], $r['taxonomy'] ); 545 $text = $r['subscribe']; 546 if ( self::is_user_subscribed_to_term( $r['user_id'], $r['term_id'] ) ) { 468 547 $text = $r['unsubscribe']; 469 $query_args = array( 'action' => 'wporg_bbp_unsubscribe_term', 'term_id' => $term_id, 'taxonomy' => $taxonomy ); 470 } else { 471 $text = $r['subscribe']; 472 $query_args = array( 'action' => 'wporg_bbp_subscribe_term', 'term_id' => $term_id, 'taxonomy' => $taxonomy ); 473 } 474 475 $permalink = get_term_link( $term_id ); 476 477 $url = esc_url( wp_nonce_url( add_query_arg( $query_args, $permalink ), 'toggle-term-subscription_' . $user_id . '_' . $term_id . '_' . $taxonomy ) ); 548 } 478 549 return sprintf( "<div class='wporg-bbp-term-subscription'><a href='%s'>%s</a></div>", 479 550 $url,
Note: See TracChangeset
for help on using the changeset viewer.