Changeset 5157
- Timestamp:
- 11/20/2013 08:44:58 PM (10 years ago)
- Location:
- trunk/includes
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/includes/admin/tools.php
r5133 r5157 159 159 function bbp_admin_repair_list() { 160 160 $repair_list = array( 161 0 => array( 'bbp-sync-topic-meta', __( 'Recalculate the parent topic for each post', 'bbpress' ), 'bbp_admin_repair_topic_meta' ), 162 5 => array( 'bbp-sync-forum-meta', __( 'Recalculate the parent forum for each post', 'bbpress' ), 'bbp_admin_repair_forum_meta' ), 163 10 => array( 'bbp-sync-forum-visibility', __( 'Recalculate private and hidden forums', 'bbpress' ), 'bbp_admin_repair_forum_visibility' ), 164 15 => array( 'bbp-sync-all-topics-forums', __( 'Recalculate last activity in each topic and forum', 'bbpress' ), 'bbp_admin_repair_freshness' ), 165 20 => array( 'bbp-sync-all-topics-sticky', __( 'Recalculate the sticky relationship of each topic', 'bbpress' ), 'bbp_admin_repair_sticky' ), 166 25 => array( 'bbp-group-forums', __( 'Repair BuddyPress Group Forum relationships', 'bbpress' ), 'bbp_admin_repair_group_forum_relationship' ), 167 30 => array( 'bbp-forum-topics', __( 'Count topics in each forum', 'bbpress' ), 'bbp_admin_repair_forum_topic_count' ), 168 35 => array( 'bbp-forum-replies', __( 'Count replies in each forum', 'bbpress' ), 'bbp_admin_repair_forum_reply_count' ), 169 40 => array( 'bbp-topic-replies', __( 'Count replies in each topic', 'bbpress' ), 'bbp_admin_repair_topic_reply_count' ), 170 45 => array( 'bbp-topic-voices', __( 'Count voices in each topic', 'bbpress' ), 'bbp_admin_repair_topic_voice_count' ), 171 50 => array( 'bbp-topic-hidden-replies', __( 'Count spammed & trashed replies in each topic', 'bbpress' ), 'bbp_admin_repair_topic_hidden_reply_count' ), 172 55 => array( 'bbp-user-topics', __( 'Count topics for each user', 'bbpress' ), 'bbp_admin_repair_user_topic_count' ), 173 60 => array( 'bbp-user-replies', __( 'Count replies for each user', 'bbpress' ), 'bbp_admin_repair_user_reply_count' ), 174 65 => array( 'bbp-user-favorites', __( 'Remove trashed topics from user favorites', 'bbpress' ), 'bbp_admin_repair_user_favorites' ), 175 70 => array( 'bbp-user-subscriptions', __( 'Remove trashed topics from user subscriptions', 'bbpress' ), 'bbp_admin_repair_user_subscriptions' ), 176 75 => array( 'bbp-user-role-map', __( 'Remap existing users to default forum roles', 'bbpress' ), 'bbp_admin_repair_user_roles' ) 161 0 => array( 'bbp-sync-topic-meta', __( 'Recalculate the parent topic for each post', 'bbpress' ), 'bbp_admin_repair_topic_meta' ), 162 5 => array( 'bbp-sync-forum-meta', __( 'Recalculate the parent forum for each post', 'bbpress' ), 'bbp_admin_repair_forum_meta' ), 163 10 => array( 'bbp-sync-forum-visibility', __( 'Recalculate private and hidden forums', 'bbpress' ), 'bbp_admin_repair_forum_visibility' ), 164 15 => array( 'bbp-sync-all-topics-forums', __( 'Recalculate last activity in each topic and forum', 'bbpress' ), 'bbp_admin_repair_freshness' ), 165 20 => array( 'bbp-sync-all-topics-sticky', __( 'Recalculate the sticky relationship of each topic', 'bbpress' ), 'bbp_admin_repair_sticky' ), 166 25 => array( 'bbp-group-forums', __( 'Repair BuddyPress Group Forum relationships', 'bbpress' ), 'bbp_admin_repair_group_forum_relationship' ), 167 30 => array( 'bbp-forum-topics', __( 'Count topics in each forum', 'bbpress' ), 'bbp_admin_repair_forum_topic_count' ), 168 35 => array( 'bbp-forum-replies', __( 'Count replies in each forum', 'bbpress' ), 'bbp_admin_repair_forum_reply_count' ), 169 40 => array( 'bbp-topic-replies', __( 'Count replies in each topic', 'bbpress' ), 'bbp_admin_repair_topic_reply_count' ), 170 45 => array( 'bbp-topic-voices', __( 'Count voices in each topic', 'bbpress' ), 'bbp_admin_repair_topic_voice_count' ), 171 50 => array( 'bbp-topic-hidden-replies', __( 'Count spammed & trashed replies in each topic', 'bbpress' ), 'bbp_admin_repair_topic_hidden_reply_count' ), 172 55 => array( 'bbp-user-topics', __( 'Count topics for each user', 'bbpress' ), 'bbp_admin_repair_user_topic_count' ), 173 60 => array( 'bbp-user-replies', __( 'Count replies for each user', 'bbpress' ), 'bbp_admin_repair_user_reply_count' ), 174 65 => array( 'bbp-user-favorites', __( 'Remove trashed topics from user favorites', 'bbpress' ), 'bbp_admin_repair_user_favorites' ), 175 70 => array( 'bbp-user-topic-subscriptions', __( 'Remove trashed topics from user subscriptions', 'bbpress' ), 'bbp_admin_repair_user_topic_subscriptions' ), 176 75 => array( 'bbp-user-forum-subscriptions', __( 'Remove trashed forums from user subscriptions', 'bbpress' ), 'bbp_admin_repair_user_forum_subscriptions' ), 177 80 => array( 'bbp-user-role-map', __( 'Remap existing users to default forum roles', 'bbpress' ), 'bbp_admin_repair_user_roles' ) 177 178 ); 178 179 ksort( $repair_list ); … … 647 648 648 649 /** 649 * Clean the users' subscriptions650 * Clean the users' topic subscriptions 650 651 * 651 652 * @since bbPress (r2668) … … 656 657 * @return array An array of the status code and the message 657 658 */ 658 function bbp_admin_repair_user_ subscriptions() {659 function bbp_admin_repair_user_topic_subscriptions() { 659 660 global $wpdb; 660 661 … … 677 678 678 679 $subscriptions = array_intersect( $topics, explode( ',', $user->subscriptions ) ); 680 if ( empty( $subscriptions ) || !is_array( $subscriptions ) ) 681 continue; 682 683 $subscriptions_joined = implode( ',', $subscriptions ); 684 $values[] = "('{$user->user_id}', '{$key}', '{$subscriptions_joined}')"; 685 686 // Cleanup 687 unset( $subscriptions, $subscriptions_joined ); 688 } 689 690 if ( !count( $values ) ) { 691 $result = __( 'Nothing to remove!', 'bbpress' ); 692 return array( 0, sprintf( $statement, $result ) ); 693 } 694 695 $sql_delete = "DELETE FROM `{$wpdb->usermeta}` WHERE `meta_key` = '{$key}';"; 696 if ( is_wp_error( $wpdb->query( $sql_delete ) ) ) 697 return array( 4, sprintf( $statement, $result ) ); 698 699 foreach ( array_chunk( $values, 10000 ) as $chunk ) { 700 $chunk = "\n" . implode( ",\n", $chunk ); 701 $sql_insert = "INSERT INTO `{$wpdb->usermeta}` (`user_id`, `meta_key`, `meta_value`) VALUES $chunk;"; 702 if ( is_wp_error( $wpdb->query( $sql_insert ) ) ) { 703 return array( 5, sprintf( $statement, $result ) ); 704 } 705 } 706 707 return array( 0, sprintf( $statement, __( 'Complete!', 'bbpress' ) ) ); 708 } 709 710 /** 711 * Clean the users' forum subscriptions 712 * 713 * @since bbPress (r5155) 714 * 715 * @uses bbp_get_forum_post_type() To get the topic post type 716 * @uses wpdb::query() To run our recount sql queries 717 * @uses is_wp_error() To check if the executed query returned {@link WP_Error} 718 * @return array An array of the status code and the message 719 */ 720 function bbp_admin_repair_user_forum_subscriptions() { 721 global $wpdb; 722 723 $statement = __( 'Removing trashed forums from user subscriptions… %s', 'bbpress' ); 724 $result = __( 'Failed!', 'bbpress' ); 725 $key = $wpdb->prefix . '_bbp_forum_subscriptions'; 726 $users = $wpdb->get_results( "SELECT `user_id`, `meta_value` AS `subscriptions` FROM `{$wpdb->usermeta}` WHERE `meta_key` = '{$key}';" ); 727 728 if ( is_wp_error( $users ) ) 729 return array( 1, sprintf( $statement, $result ) ); 730 731 $forums = $wpdb->get_col( "SELECT `ID` FROM `{$wpdb->posts}` WHERE `post_type` = '" . bbp_get_forum_post_type() . "' AND `post_status` = '" . bbp_get_public_status_id() . "';" ); 732 if ( is_wp_error( $forums ) ) 733 return array( 2, sprintf( $statement, $result ) ); 734 735 $values = array(); 736 foreach ( $users as $user ) { 737 if ( empty( $user->subscriptions ) || !is_string( $user->subscriptions ) ) 738 continue; 739 740 $subscriptions = array_intersect( $forums, explode( ',', $user->subscriptions ) ); 679 741 if ( empty( $subscriptions ) || !is_array( $subscriptions ) ) 680 742 continue; -
trunk/includes/common/functions.php
r5156 r5157 1119 1119 * if there are, send notifications 1120 1120 * 1121 * @since bbPress (r xxxx)1121 * @since bbPress (r5156) 1122 1122 * 1123 1123 * @param int $topic_id ID of the newly made reply -
trunk/includes/extend/buddypress/notifications.php
r5155 r5157 57 57 * for notifying topic and hierarchical reply authors of topic replies. 58 58 * 59 * @since bbPress (r xxxx)59 * @since bbPress (r5156) 60 60 * 61 61 * @param int $reply_id -
trunk/includes/forums/functions.php
r5156 r5157 967 967 * Remove a deleted forum from all users' subscriptions 968 968 * 969 * @since bbPress (r xxxx)969 * @since bbPress (r5156) 970 970 * 971 971 * @param int $forum_id Get the forum ID to remove -
trunk/includes/forums/template.php
r5156 r5157 795 795 * Output the forum subscription link 796 796 * 797 * @since bbPress (r xxxx)797 * @since bbPress (r5156) 798 798 * 799 799 * @uses bbp_get_forum_subscription_link() … … 808 808 * A custom wrapper for bbp_get_user_subscribe_link() 809 809 * 810 * @since bbPress (r xxxx)810 * @since bbPress (r5156) 811 811 * 812 812 * @uses bbp_parse_args() … … 2215 2215 * Output checked value of forum subscription 2216 2216 * 2217 * @since bbPress (r xxxx)2217 * @since bbPress (r5156) 2218 2218 * 2219 2219 * @uses bbp_get_form_forum_subscribed() To get the subscribed checkbox value … … 2225 2225 * Return checked value of forum subscription 2226 2226 * 2227 * @since bbPress (r xxxx)2227 * @since bbPress (r5156) 2228 2228 * 2229 2229 * @uses bbp_is_forum_edit() To check if it's the forum edit page -
trunk/includes/topics/template.php
r5156 r5157 1813 1813 * Output the topic subscription link 1814 1814 * 1815 * @since bbPress (r xxxx)1815 * @since bbPress (r5156) 1816 1816 * 1817 1817 * @uses bbp_get_topic_subscription_link() … … 1826 1826 * A custom wrapper for bbp_get_user_subscribe_link() 1827 1827 * 1828 * @since bbPress (r xxxx)1828 * @since bbPress (r5156) 1829 1829 * 1830 1830 * @uses bbp_parse_args() … … 1858 1858 * Output the topic favorite link 1859 1859 * 1860 * @since bbPress (r xxxx)1860 * @since bbPress (r5156) 1861 1861 * 1862 1862 * @uses bbp_get_topic_favorite_link() … … 1871 1871 * A custom wrapper for bbp_get_user_favorite_link() 1872 1872 * 1873 * @since bbPress (r xxxx)1873 * @since bbPress (r5156) 1874 1874 * 1875 1875 * @uses bbp_parse_args() -
trunk/includes/users/functions.php
r5156 r5157 515 515 * Get the users who have subscribed to the forum 516 516 * 517 * @since bbPress (r xxxx)517 * @since bbPress (r5156) 518 518 * 519 519 * @param int $forum_id Optional. forum id … … 571 571 * @since bbPress (r2668) 572 572 * 573 * @deprecated since bbPress (r xxxx)573 * @deprecated since bbPress (r5156) 574 574 * 575 575 * @param int $user_id Optional. User id … … 617 617 * Get a user's subscribed forums 618 618 * 619 * @since bbPress (r xxxx)619 * @since bbPress (r5156) 620 620 * 621 621 * @param int $user_id Optional. User id … … 648 648 * Get a user's subscribed forum ids 649 649 * 650 * @since bbPress (r xxxx)650 * @since bbPress (r5156) 651 651 * 652 652 * @param int $user_id Optional. User id … … 694 694 * Check if a topic or forum is in user's subscription list or not 695 695 * 696 * @since bbPress (r xxxx)696 * @since bbPress (r5156) 697 697 * 698 698 * @param int $user_id Optional. User id … … 748 748 * Check if a forum is in user's subscription list or not 749 749 * 750 * @since bbPress (r xxxx)750 * @since bbPress (r5156) 751 751 * 752 752 * @param int $user_id Optional. User id … … 805 805 * Check if a topic is in user's subscription list or not 806 806 * 807 * @since bbPress (r xxxx)807 * @since bbPress (r5156) 808 808 * 809 809 * @param int $user_id Optional. User id … … 862 862 * Add a topic to user's subscriptions 863 863 * 864 * @since bbPress (r xxxx)864 * @since bbPress (r5156) 865 865 * 866 866 * @param int $user_id Optional. User id … … 908 908 * Add a forum to user's subscriptions 909 909 * 910 * @since bbPress (r xxxx)910 * @since bbPress (r5156) 911 911 * 912 912 * @param int $user_id Optional. User id … … 1028 1028 * Remove a forum from user's subscriptions 1029 1029 * 1030 * @since bbPress (r xxxx)1030 * @since bbPress (r5156) 1031 1031 * 1032 1032 * @param int $user_id Optional. User id … … 1075 1075 * Remove a topic from user's subscriptions 1076 1076 * 1077 * @since bbPress (r xxxx)1077 * @since bbPress (r5156) 1078 1078 * 1079 1079 * @param int $user_id Optional. User id … … 1122 1122 * Handles the front end subscribing and unsubscribing forums 1123 1123 * 1124 * @since bbPress (r xxxx)1124 * @since bbPress (r5156) 1125 1125 * 1126 1126 * @param string $action The requested action to compare this function to
Note: See TracChangeset
for help on using the changeset viewer.