Skip to:
Content

BuddyPress.org

Changeset 2343


Ignore:
Timestamp:
01/18/2010 08:00:33 PM (17 years ago)
Author:
johnjamesjacoby
Message:

Remove all references to Wire component (addresses #1618). This code has been moved to backpat.

Location:
trunk
Files:
1 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-activity.php

    r2331 r2343  
    396396                 *      'user_id' => false, // user_id to filter on
    397397                 *      'object' => false, // object to filter on e.g. groups, profile, status, friends
    398                  *      'action' => false, // action to filter on e.g. new_wire_post, new_forum_post, profile_updated
     398                 *      'action' => false, // action to filter on e.g. new_wire_post, profile_updated
    399399                 *      'primary_id' => false, // object ID to filter on e.g. a group_id or forum_id or blog_id etc.
    400400                 *      'secondary_id' => false, // secondary object ID to filter on e.g. a post_id
    … …  
    438438
    439439                'user_id' => $bp->loggedin_user->id, // Optional: The user to record the activity for, can be false if this activity is not for a user.
    440                 'item_id' => false, // Optional: The ID of the specific item being recorded, e.g. a blog_id, or wire_post_id
     440                'item_id' => false, // Optional: The ID of the specific item being recorded, e.g. a blog_id
    441441                'secondary_item_id' => false, // Optional: A second ID used to further filter e.g. a comment_id
    442442                'recorded_time' => time(), // The time that this activity was recorded
  • trunk/bp-core.php

    r2335 r2343  
    342342         */
    343343        if ( !function_exists( 'xprofile_install' ) ) {
    344                 /* Fallback wire values if xprofile is disabled */
     344                /* Fallback values if xprofile is disabled */
    345345                $bp->core->profile->slug = 'profile';
    346346                $bp->active_components[$bp->core->profile->slug] = $bp->core->profile->slug;
  • trunk/bp-core/bp-core-templatetags.php

    r2325 r2343  
    10351035}
    10361036
    1037 function bp_profile_wire_can_post() {
    1038         global $bp;
    1039 
    1040         if ( bp_is_home() )
    1041                 return true;
    1042 
    1043         if ( function_exists('friends_install') ) {
    1044                 if ( friends_check_friendship( $bp->loggedin_user->id, $bp->displayed_user->id ) )
    1045                         return true;
    1046                 else
    1047                         return false;
    1048         }
    1049 
    1050         return true;
    1051 }
    1052 
    10531037function bp_nav_items() {
    10541038        global $bp;
    … …  
    13951379}
    13961380
    1397 function bp_is_wire_component() {
    1398         global $bp;
    1399 
    1400         if ( BP_WIRE_SLUG == $bp->current_action || in_array( BP_WIRE_SLUG, (array)$bp->action_variables ) )
    1401                 return true;
    1402 
    1403         return false;
    1404 }
    1405 
    14061381function bp_is_messages_component() {
    14071382        global $bp;
    … …  
    15031478}
    15041479
    1505 function bp_is_profile_wire() {
    1506         global $bp;
    1507 
    1508         if ( BP_XPROFILE_SLUG == $bp->current_component && 'wire' == $bp->current_action )
    1509                 return true;
    1510 
    1511         return false;
    1512 }
    1513 
    15141480function bp_is_user_groups() {
    15151481        global $bp;
    … …  
    15531519
    15541520        if ( BP_GROUPS_SLUG == $bp->current_component && $bp->is_single_item && 'admin' == $bp->current_action )
    1555                 return true;
    1556 
    1557         return false;
    1558 }
    1559 
    1560 function bp_is_group_wire() {
    1561         global $bp;
    1562 
    1563         if ( BP_GROUPS_SLUG == $bp->current_component && $bp->is_single_item && 'wire' == $bp->current_action )
    15641521                return true;
    15651522
    … …  
    17961753                        $bp_classes[] = 'blogs';
    17971754
    1798                 if ( bp_is_wire_component() && !bp_is_blog_page()  )
    1799                         $bp_classes[] = 'wire';
    1800 
    18011755                if ( bp_is_messages_component() && !bp_is_blog_page()  )
    18021756                        $bp_classes[] = 'messages';
    … …  
    18651819                        $bp_classes[] = 'group-forum';
    18661820
    1867                 if ( bp_is_group_wire() )
    1868                         $bp_classes[] = 'group-wire';
    1869 
    18701821                if ( bp_is_group_admin_page() )
    18711822                        $bp_classes[] = 'group-admin';
    … …  
    18761827                if ( bp_is_group_home() )
    18771828                        $bp_classes[] = 'group-home';
    1878 
    1879                 if ( bp_is_profile_wire() )
    1880                         $bp_classes[] = 'profile-wire';
    18811829
    18821830                if ( bp_is_change_avatar() )
  • trunk/bp-groups.php

    r2339 r2343  
    2424                        slug varchar(100) NOT NULL,
    2525                        description longtext NOT NULL,
    26                         news longtext NOT NULL,
    2726                        status varchar(10) NOT NULL DEFAULT 'public',
    28                         enable_wire tinyint(1) NOT NULL DEFAULT '1',
    2927                        enable_forum tinyint(1) NOT NULL DEFAULT '1',
    3028                        date_created datetime NOT NULL,
    … …  
    6664        dbDelta($sql);
    6765
    68         if ( function_exists('bp_wire_install') )
    69                 groups_wire_install();
     66        do_action( 'groups_install' );
    7067
    7168        update_site_option( 'bp-groups-db-version', BP_GROUPS_DB_VERSION );
    72 }
    73 
    74 function groups_wire_install() {
    75         global $wpdb, $bp;
    76 
    77         if ( !empty($wpdb->charset) )
    78                 $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
    79 
    80         $sql[] = "CREATE TABLE {$bp->groups->table_name_wire} (
    81                         id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    82                         item_id bigint(20) NOT NULL,
    83                         user_id bigint(20) NOT NULL,
    84                         parent_id bigint(20) NOT NULL,
    85                         content longtext NOT NULL,
    86                         date_posted datetime NOT NULL,
    87                         KEY item_id (item_id),
    88                         KEY user_id (user_id),
    89                         KEY parent_id (parent_id)
    90                    ) {$charset_collate};";
    91 
    92         require_once(ABSPATH . 'wp-admin/upgrade-functions.php');
    93         dbDelta($sql);
    9469}
    9570
    … …  
    10883        /* Register this in the active components array */
    10984        $bp->active_components[$bp->groups->slug] = $bp->groups->id;
    110 
    111         if ( function_exists('bp_wire_install') )
    112                 $bp->groups->table_name_wire = $wpdb->base_prefix . 'bp_groups_wire';
    11385
    11486        $bp->groups->forbidden_names = apply_filters( 'groups_forbidden_names', array( 'my-groups', 'group-finder', 'create', 'invites', 'delete', 'add', 'admin', 'request-membership' ) );
    … …  
    239211                                bp_core_new_subnav_item( array( 'name' => __( 'Forum', 'buddypress' ), 'slug' => 'forum', 'parent_url' => $group_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => 'groups_screen_group_forum', 'position' => 40, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'forums' ) );
    240212
    241                         if ( $bp->groups->current_group->enable_wire && function_exists('bp_wire_install') )
    242                                 bp_core_new_subnav_item( array( 'name' => __( 'Wire', 'buddypress' ), 'slug' => BP_WIRE_SLUG, 'parent_url' => $group_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => 'groups_screen_group_wire', 'position' => 50, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'wire'  ) );
    243 
    244213                        bp_core_new_subnav_item( array( 'name' => __( 'Members', 'buddypress' ), 'slug' => 'members', 'parent_url' => $group_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => 'groups_screen_group_members', 'position' => 60, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'members'  ) );
    245214
    … …  
    593562
    594563                        bp_core_load_template( apply_filters( 'groups_template_group_forum', 'groups/single/home' ) );
    595                 }
    596         }
    597 }
    598 
    599 function groups_screen_group_wire() {
    600         global $bp;
    601 
    602         $wire_action = $bp->action_variables[0];
    603 
    604         if ( $bp->is_single_item ) {
    605                 if ( 'post' == $wire_action && ( is_site_admin() || groups_is_user_member( $bp->loggedin_user->id, $bp->groups->current_group->id ) ) ) {
    606                         /* Check the nonce first. */
    607                         if ( !check_admin_referer( 'bp_wire_post' ) )
    608                                 return false;
    609 
    610                         if ( !groups_new_wire_post( $bp->groups->current_group->id, $_POST['wire-post-textarea'] ) )
    611                                 bp_core_add_message( __('Wire message could not be posted.', 'buddypress'), 'error' );
    612                         else
    613                                 bp_core_add_message( __('Wire message successfully posted.', 'buddypress') );
    614 
    615                         if ( !strpos( wp_get_referer(), $bp->wire->slug ) )
    616                                 bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) );
    617                         else
    618                                 bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) . $bp->wire->slug );
    619 
    620                 } else if ( 'delete' == $wire_action && ( is_site_admin() || groups_is_user_member( $bp->loggedin_user->id, $bp->groups->current_group->id ) ) ) {
    621                         $wire_message_id = $bp->action_variables[1];
    622 
    623                         /* Check the nonce first. */
    624                         if ( !check_admin_referer( 'bp_wire_delete_link' ) )
    625                                 return false;
    626 
    627                         if ( !groups_delete_wire_post( $wire_message_id, $bp->groups->table_name_wire ) )
    628                                 bp_core_add_message( __('There was an error deleting the wire message.', 'buddypress'), 'error' );
    629                         else
    630                                 bp_core_add_message( __('Wire message successfully deleted.', 'buddypress') );
    631 
    632                         if ( !strpos( wp_get_referer(), $bp->wire->slug ) )
    633                                 bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) );
    634                         else
    635                                 bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) . $bp->wire->slug );
    636 
    637                 } else if ( ( !$wire_action || 'latest' == $bp->action_variables[1] ) ) {
    638                         bp_core_load_template( apply_filters( 'groups_template_group_wire', 'groups/single/wire' ) );
    639                 } else {
    640                         bp_core_load_template( apply_filters( 'groups_template_group_home', 'groups/single/home' ) );
    641564                }
    642565        }
    … …  
    10921015                        <td class="no"><input type="radio" name="notifications[notification_groups_group_updated]" value="no" <?php if ( 'no' == get_usermeta( $current_user->id, 'notification_groups_group_updated') ) { ?>checked="checked" <?php } ?>/></td>
    10931016                </tr>
    1094                 <?php if ( function_exists('bp_wire_install') ) { ?>
    1095                 <tr>
    1096                         <td></td>
    1097                         <td><?php _e( 'A member posts on the wire of a group you belong to', 'buddypress' ) ?></td>
    1098                         <td class="yes"><input type="radio" name="notifications[notification_groups_wire_post]" value="yes" <?php if ( !get_usermeta( $current_user->id, 'notification_groups_wire_post') || 'yes' == get_usermeta( $current_user->id, 'notification_groups_wire_post') ) { ?>checked="checked" <?php } ?>/></td>
    1099                         <td class="no"><input type="radio" name="notifications[notification_groups_wire_post]" value="no" <?php if ( 'no' == get_usermeta( $current_user->id, 'notification_groups_wire_post') ) { ?>checked="checked" <?php } ?>/></td>
    1100                 </tr>
    1101                 <?php } ?>
    11021017                <tr>
    11031018                        <td></td>
    … …  
    13901305        bp_activity_set_action( $bp->groups->id, 'created_group', __( 'Created a group', 'buddypress' ) );
    13911306        bp_activity_set_action( $bp->groups->id, 'joined_group', __( 'Joined a group', 'buddypress' ) );
    1392         bp_activity_set_action( $bp->groups->id, 'new_wire_post', __( 'New group wire post', 'buddypress' ) );
    13931307        bp_activity_set_action( $bp->groups->id, 'new_forum_topic', __( 'New group forum topic', 'buddypress' ) );
    13941308        bp_activity_set_action( $bp->groups->id, 'new_forum_post', __( 'New group forum post', 'buddypress' ) );
    … …  
    14311345        groups_update_groupmeta( $group_id, 'last_activity', time() );
    14321346}
    1433 add_action( 'groups_deleted_wire_post', 'groups_update_last_activity' );
    1434 add_action( 'groups_new_wire_post', 'groups_update_last_activity' );
    14351347add_action( 'groups_joined_group', 'groups_update_last_activity' );
    14361348add_action( 'groups_leave_group', 'groups_update_last_activity' );
    … …  
    15791491                $group = new BP_Groups_Group;
    15801492
    1581         if ( $creator_id ) {
     1493        if ( $creator_id )
    15821494                $group->creator_id = $creator_id;
    1583         } else {
     1495        else
    15841496                $group->creator_id = $bp->loggedin_user->id;
    1585         }
    15861497
    15871498        if ( isset( $name ) )
    … …  
    20121923
    20131924        return $activity_id;
    2014 }
    2015 
    2016 /*** Group Wire [DEPRECATED] ****************************************************************/
    2017 
    2018 function groups_new_wire_post( $group_id, $content ) {
    2019         global $bp;
    2020 
    2021         if ( !function_exists( 'bp_wire_new_post' ) )
    2022                 return false;
    2023 
    2024         if ( $wire_post = bp_wire_new_post( $group_id, $content, 'groups' ) ) {
    2025 
    2026                 /* Post an email notification if settings allow */
    2027                 require_once ( BP_PLUGIN_DIR . '/bp-groups/bp-groups-notifications.php' );
    2028                 groups_notification_new_wire_post( $group_id, $wire_post->id );
    2029 
    2030                 /* Record this in activity streams */
    2031                 $activity_content = sprintf( __( '%s wrote on the wire of the group %s:', 'buddypress'), bp_core_get_userlink( $bp->loggedin_user->id ), '<a href="' . bp_get_group_permalink( $bp->groups->current_group ) . '">' . attribute_escape( $bp->groups->current_group->name ) . '</a>' );
    2032                 $activity_content .= '<blockquote>' . bp_create_excerpt( $content ) . '</blockquote>';
    2033 
    2034                 groups_record_activity( array(
    2035                         'content' => apply_filters( 'groups_activity_new_wire_post', $activity_content ),
    2036                         'primary_link' => apply_filters( 'groups_activity_new_wire_post_primary_link', bp_get_group_permalink( $bp->groups->current_group ) ),
    2037                         'component_action' => 'new_wire_post',
    2038                         'item_id' => $bp->groups->current_group->id,
    2039                         'secondary_item_id' => $wire_post->item_id
    2040                 ) );
    2041 
    2042                 do_action( 'groups_new_wire_post', $group_id, $wire_post->id );
    2043 
    2044                 return true;
    2045         }
    2046 
    2047         return false;
    2048 }
    2049 
    2050 function groups_delete_wire_post( $wire_post_id, $table_name ) {
    2051         if ( bp_wire_delete_post( $wire_post_id, 'groups', $table_name ) ) {
    2052                 /* Delete the activity stream item */
    2053                 if ( function_exists( 'bp_activity_delete_by_item_id' ) ) {
    2054                         bp_activity_delete_by_item_id( array( 'item_id' => $wire_post_id, 'component_name' => 'groups', 'component_action' => 'new_wire_post' ) );
    2055                 }
    2056 
    2057                 do_action( 'groups_deleted_wire_post', $wire_post_id );
    2058                 return true;
    2059         }
    2060 
    2061         return false;
    20621925}
    20631926
    … …  
    27162579
    27172580// List actions to clear super cached pages on, if super cache is installed
    2718 add_action( 'groups_new_wire_post', 'bp_core_clear_cache' );
    2719 add_action( 'groups_deleted_wire_post', 'bp_core_clear_cache' );
    27202581add_action( 'groups_join_group', 'bp_core_clear_cache' );
    27212582add_action( 'groups_leave_group', 'bp_core_clear_cache' );
  • trunk/bp-groups/bp-groups-classes.php

    r2339 r2343  
    205205                }
    206206
    207                 // Delete the wire posts for this group if the wire is installed
    208                 if ( function_exists('bp_wire_install') ) {
    209                         BP_Wire_Post::delete_all_for_item( $this->id, $bp->groups->table_name_wire );
    210                 }
     207                do_action( 'bp_groups_delete_group', $this );
    211208
    212209                // Finally remove the group entry from the DB
  • trunk/bp-groups/bp-groups-notifications.php

    r2120 r2343  
    11<?php
    2 
    3 function groups_notification_new_wire_post( $group_id, $wire_post_id ) {
    4         global $bp;
    5 
    6         if ( !isset( $_POST['wire-post-email-notify'] ) )
    7                 return false;
    8 
    9         $wire_post = new BP_Wire_Post( $bp->groups->table_name_wire, $wire_post_id );
    10         $group = new BP_Groups_Group( $group_id, false, true );
    11 
    12         $poster_name = bp_core_get_user_displayname( $wire_post->user_id );
    13         $poster_profile_link = bp_core_get_user_domain( $wire_post->user_id );
    14 
    15         $subject = '[' . get_blog_option( BP_ROOT_BLOG, 'blogname' ) . '] ' . sprintf( __( 'New wire post on group: %s', 'buddypress' ), stripslashes( attribute_escape( $group->name ) ) );
    16 
    17         foreach ( $group->user_dataset as $user ) {
    18                 if ( 'no' == get_usermeta( $user->user_id, 'notification_groups_wire_post' ) ) continue;
    19 
    20                 $ud = get_userdata( $user->user_id );
    21 
    22                 // Set up and send the message
    23                 $to = $ud->user_email;
    24 
    25                 $wire_link = site_url( $bp->groups->slug . '/' . $group->slug . '/wire/' );
    26                 $group_link = site_url( $bp->groups->slug . '/' . $group->slug . '/' );
    27                 $settings_link = bp_core_get_user_domain( $user->user_id ) . 'settings/notifications/';
    28 
    29                 $message = sprintf( __(
    30 '%s posted on the wire of the group "%s":
    31 
    32 "%s"
    33 
    34 To view the group wire: %s
    35 
    36 To view the group home: %s
    37 
    38 To view %s\'s profile page: %s
    39 
    40 ---------------------
    41 ', 'buddypress' ), $poster_name, stripslashes( attribute_escape( $group->name ) ), stripslashes($wire_post->content), $wire_link, $group_link, $poster_name, $poster_profile_link );
    42 
    43                 $message .= sprintf( __( 'To disable these notifications please log in and go to: %s', 'buddypress' ), $settings_link );
    44 
    45                 // Send it
    46                 wp_mail( $to, $subject, $message );
    47 
    48                 unset( $message, $to );
    49         }
    50 }
    512
    523function groups_notification_group_updated( $group_id ) {
  • trunk/bp-groups/bp-groups-templatetags.php

    r2339 r2343  
    711711        }
    712712
    713 function bp_group_show_wire_setting( $group = false ) {
    714         global $groups_template;
    715 
    716         if ( !$group )
    717                 $group =& $groups_template->group;
    718 
    719         if ( $group->enable_wire )
    720                 echo ' checked="checked"';
    721 }
    722 
    723 function bp_group_is_wire_enabled( $group = false ) {
    724         global $groups_template;
    725 
    726         if ( !$group )
    727                 $group =& $groups_template->group;
    728 
    729         if ( $group->enable_wire )
    730                 return true;
    731 
    732         return false;
    733 }
    734 
    735713function bp_group_forum_permalink( $deprecated = false ) {
    736714        echo bp_get_group_forum_permalink();
    … …  
    16131591                global $bp;
    16141592                return apply_filters( 'bp_get_new_group_news', $bp->groups->current_group->news );
    1615         }
    1616 
    1617 function bp_new_group_enable_wire() {
    1618         echo bp_get_new_group_enable_wire();
    1619 }
    1620         function bp_get_new_group_enable_wire() {
    1621                 global $bp;
    1622                 return (int) apply_filters( 'bp_get_new_group_enable_wire', $bp->groups->current_group->enable_wire );
    16231593        }
    16241594
  • trunk/bp-xprofile.php

    r2333 r2343  
    1010require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-filters.php' );
    1111require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-templatetags.php' );
    12 require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-notifications.php' );
    1312require ( BP_PLUGIN_DIR . '/bp-xprofile/bp-xprofile-cssjs.php' );
    1413
    … …  
    9089        dbDelta($sql);
    9190
    92         if ( function_exists('bp_wire_install') )
    93                 xprofile_wire_install();
     91        do_action( 'xprofile_install' );
    9492
    9593        update_site_option( 'bp-xprofile-db-version', BP_XPROFILE_DB_VERSION );
    96 }
    97 
    98 function xprofile_wire_install() {
    99         global $bp, $wpdb;
    100 
    101         if ( !empty($wpdb->charset) )
    102                 $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
    103 
    104         $sql[] = "CREATE TABLE {$bp->profile->table_name_wire} (
    105                            id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    106                            item_id bigint(20) NOT NULL,
    107                            user_id bigint(20) NOT NULL,
    108                            parent_id bigint(20) NOT NULL,
    109                            content longtext NOT NULL,
    110                            date_posted datetime NOT NULL,
    111                            KEY item_id (item_id),
    112                        KEY user_id (user_id),
    113                        KEY parent_id (parent_id)
    114                        ) {$charset_collate};";
    115 
    116         require_once( ABSPATH . 'wp-admin/upgrade-functions.php' );
    117         dbDelta($sql);
    11894}
    11995
    … …  
    146122        /* Set the support field type ids */
    147123        $bp->profile->field_types = apply_filters( 'xprofile_field_types', array( 'textbox', 'textarea', 'radio', 'checkbox', 'selectbox', 'multiselectbox', 'datebox' ) );
    148 
    149         if ( function_exists( 'bp_wire_install' ) )
    150                 $bp->profile->table_name_wire = $wpdb->base_prefix . 'bp_xprofile_wire';
    151124
    152125        do_action( 'xprofile_setup_globals' );
    … …  
    420393}
    421394
    422 /**
    423  * xprofile_screen_notification_settings()
    424  *
    425  * Loads the notification settings for the xprofile component.
    426  * Settings are hooked into the function: bp_core_screen_notification_settings_content()
    427  * in bp-core/bp-core-settings.php
    428  *
    429  * @package BuddyPress Xprofile
    430  * @global $current_user WordPress global variable containing current logged in user information
    431  */
    432 function xprofile_screen_notification_settings() {
    433         global $current_user; ?>
    434         <?php if ( function_exists('bp_wire_install') ) { ?>
    435         <table class="notification-settings" id="profile-notification-settings">
    436                 <tr>
    437                         <th class="icon"></th>
    438                         <th class="title"><?php _e( 'Profile', 'buddypress' ) ?></th>
    439                         <th class="yes"><?php _e( 'Yes', 'buddypress' ) ?></th>
    440                         <th class="no"><?php _e( 'No', 'buddypress' )?></th>
    441                 </tr>
    442 
    443                 <tr>
    444                         <td></td>
    445                         <td><?php _e( 'A member posts on your wire', 'buddypress' ) ?></td>
    446                         <td class="yes"><input type="radio" name="notifications[notification_profile_wire_post]" value="yes" <?php if ( !get_usermeta( $current_user->id, 'notification_profile_wire_post' ) || 'yes' == get_usermeta( $current_user->id, 'notification_profile_wire_post' ) ) { ?>checked="checked" <?php } ?>/></td>
    447                         <td class="no"><input type="radio" name="notifications[notification_profile_wire_post]" value="no" <?php if ( 'no' == get_usermeta( $current_user->id, 'notification_profile_wire_post' ) ) { ?>checked="checked" <?php } ?>/></td>
    448                 </tr>
    449 
    450                 <?php do_action( 'xprofile_screen_notification_settings' ) ?>
    451         </table>
    452         <?php } ?>
    453 <?php
    454 }
    455 add_action( 'bp_notification_settings', 'xprofile_screen_notification_settings', 1 );
    456 
    457 
    458395/********************************************************************************
    459396 * Action Functions
    … …  
    499436add_action( 'wp', 'xprofile_action_delete_avatar', 3 );
    500437
    501 /**
    502  * xprofile_action_new_wire_post()
    503  *
    504  * Posts a new wire post to the users profile wire.
    505  *
    506  * @package BuddyPress XProfile
    507  * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals()
    508  * @uses bp_wire_new_post() Adds a new wire post to a specific wire using the ID of the item passed and the table name.
    509  * @uses bp_core_add_message() Adds an error/success message to the session to be displayed on the next page load.
    510  * @uses bp_core_redirect() Safe redirects to a new page using the wp_redirect() function
    511  */
    512 function xprofile_action_new_wire_post() {
    513         global $bp;
    514 
    515         if ( $bp->current_component != $bp->wire->slug )
    516                 return false;
    517 
    518         if ( 'post' != $bp->current_action )
    519                 return false;
    520 
    521         /* Check the nonce */
    522         if ( !check_admin_referer( 'bp_wire_post' ) )
    523                 return false;
    524 
    525         if ( !$wire_post = bp_wire_new_post( $bp->displayed_user->id, $_POST['wire-post-textarea'], $bp->profile->id ) ) {
    526                 bp_core_add_message( __( 'Wire message could not be posted. Please try again.', 'buddypress' ), 'error' );
    527         } else {
    528                 bp_core_add_message( __( 'Wire message successfully posted.', 'buddypress' ) );
    529 
    530                 /* Record the notification for the reciever if it's not on their own wire */
    531                 if ( !bp_is_home() )
    532                         bp_core_add_notification( $bp->loggedin_user->id, $bp->displayed_user->id, $bp->profile->id, 'new_wire_post' );
    533 
    534                 /* Record this on the poster's activity screen */
    535                 if ( ( $wire_post->item_id == $bp->loggedin_user->id && $wire_post->user_id == $bp->loggedin_user->id ) || ( $wire_post->item_id == $bp->displayed_user->id && $wire_post->user_id == $bp->displayed_user->id ) ) {
    536                         $from_user_link = bp_core_get_userlink($wire_post->user_id);
    537                         $content = sprintf( __('%s wrote on their own wire', 'buddypress'), $from_user_link ) . ': <span class="time-since">%s</span>';
    538                         $primary_link = bp_core_get_userlink( $wire_post->user_id, false, true );
    539                 } else if ( ( $wire_post->item_id != $bp->loggedin_user->id && $wire_post->user_id == $bp->loggedin_user->id ) || ( $wire_post->item_id != $bp->displayed_user->id && $wire_post->user_id == $bp->displayed_user->id ) ) {
    540                         $from_user_link = bp_core_get_userlink($wire_post->user_id);
    541                         $to_user_link = bp_core_get_userlink( $wire_post->item_id, false, false, true, true );
    542                         $content = sprintf( __('%s wrote on %s wire', 'buddypress'), $from_user_link, $to_user_link ) . ': <span class="time-since">%s</span>';
    543                         $primary_link = bp_core_get_userlink( $wire_post->item_id, false, true );
    544                 }
    545 
    546                 $content .= '<blockquote>' . bp_create_excerpt($wire_post->content) . '</blockquote>';
    547 
    548                 /* Now write the values */
    549                 xprofile_record_activity( array(
    550                         'user_id' => $bp->loggedin_user->id,
    551                         'content' => apply_filters( 'xprofile_activity_new_wire_post', $content, &$wire_post ),
    552                         'primary_link' => apply_filters( 'xprofile_activity_new_wire_post_primary_link', $primary_link ),
    553                         'component_action' => 'new_wire_post',
    554                         'item_id' => $wire_post->id
    555                 ) );
    556 
    557                 do_action( 'xprofile_new_wire_post', &$wire_post );
    558         }
    559 
    560         if ( !strpos( wp_get_referer(), $bp->wire->slug ) ) {
    561                 bp_core_redirect( $bp->displayed_user->domain );
    562         } else {
    563                 bp_core_redirect( $bp->displayed_user->domain . $bp->wire->slug );
    564         }
    565 }
    566 add_action( 'wp', 'xprofile_action_new_wire_post', 3 );
    567 
    568 /**
    569  * xprofile_action_delete_wire_post()
    570  *
    571  * Deletes a wire post from the users profile wire.
    572  *
    573  * @package BuddyPress XProfile
    574  * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals()
    575  * @uses bp_wire_delete_post() Deletes a wire post for a specific wire using the ID of the item passed and the table name.
    576  * @uses xprofile_delete_activity() Deletes an activity item for the xprofile component and a particular user.
    577  * @uses bp_core_add_message() Adds an error/success message to the session to be displayed on the next page load.
    578  * @uses bp_core_redirect() Safe redirects to a new page using the wp_redirect() function
    579  */
    580 function xprofile_action_delete_wire_post() {
    581         global $bp;
    582 
    583         if ( $bp->current_component != $bp->wire->slug )
    584                 return false;
    585 
    586         if ( $bp->current_action != 'delete' )
    587                 return false;
    588 
    589         if ( !check_admin_referer( 'bp_wire_delete_link' ) )
    590                 return false;
    591 
    592         $wire_post_id = $bp->action_variables[0];
    593 
    594         if ( bp_wire_delete_post( $wire_post_id, $bp->profile->slug, $bp->profile->table_name_wire ) ) {
    595                 bp_core_add_message( __('Wire message successfully deleted.', 'buddypress') );
    596 
    597                 /* Delete the post from activity streams */
    598                 xprofile_delete_activity( array( 'item_id' => $wire_post_id, 'component_action' => 'new_wire_post' ) );
    599 
    600                 do_action( 'xprofile_delete_wire_post', $wire_post_id );
    601         } else {
    602                 bp_core_add_message( __('Wire post could not be deleted, please try again.', 'buddypress'), 'error' );
    603         }
    604 
    605         if ( !strpos( wp_get_referer(), $bp->wire->slug ) ) {
    606                 bp_core_redirect( $bp->displayed_user->domain );
    607         } else {
    608                 bp_core_redirect( $bp->displayed_user->domain. $bp->wire->slug );
    609         }
    610 }
    611 add_action( 'wp', 'xprofile_action_delete_wire_post', 3 );
    612 
    613 
    614438/********************************************************************************
    615439 * Activity & Notification Functions
    … …  
    628452        bp_activity_set_action( $bp->profile->id, 'new_member', __( 'New member registered', 'buddypress' ) );
    629453        bp_activity_set_action( $bp->profile->id, 'updated_profile', __( 'Updated Profile', 'buddypress' ) );
    630         bp_activity_set_action( $bp->profile->id, 'new_wire_post', __( 'New profile wire post', 'buddypress' ) );
    631454
    632455        do_action( 'xprofile_register_activity_actions' );
    … …  
    696519
    697520        return apply_filters( 'xprofile_register_activity_action', bp_activity_set_action( $bp->profile->id, $key, $value ), $key, $value );
    698 }
    699 
    700 /**
    701  * xprofile_format_notifications()
    702  *
    703  * Format notifications into something that can be read and displayed
    704  *
    705  * @package BuddyPress Xprofile
    706  * @param $item_id The ID of the specific item for which the activity is recorded (could be a wire post id, user id etc)
    707  * @param $action The component action name e.g. 'new_wire_post' or 'updated_profile'
    708  * @param $total_items The total number of identical notification items (used for grouping)
    709  * @global $bp The global BuddyPress settings variable created in bp_core_setup_globals()
    710  * @uses bp_core_global_user_fullname() Returns the display name for the user
    711  * @return The readable notification item
    712  */
    713 function xprofile_format_notifications( $action, $item_id, $secondary_item_id, $total_items ) {
    714         global $bp;
    715 
    716         if ( 'new_wire_post' == $action ) {
    717                 if ( (int)$total_items > 1 ) {
    718                         return apply_filters( 'bp_xprofile_multiple_new_wire_post_notification', '<a href="' . $bp->loggedin_user->domain . $bp->wire->slug . '" title="' . __( 'Wire', 'buddypress' ) . '">' . sprintf( __( 'You have %d new posts on your wire', 'buddypress' ), (int)$total_items ) . '</a>', $total_items );
    719                 } else {
    720                         $user_fullname = bp_core_get_user_displayname( $item_id );
    721                         return apply_filters( 'bp_xprofile_single_new_wire_post_notification', '<a href="' . $bp->loggedin_user->domain . $bp->wire->slug . '" title="' . __( 'Wire', 'buddypress' ) . '">' . sprintf( __( '%s posted on your wire', 'buddypress' ), $user_fullname ) . '</a>', $user_fullname );
    722                 }
    723         }
    724 
    725         do_action( 'xprofile_format_notifications', $action, $item_id, $secondary_item_id, $total_items );
    726 
    727         return false;
    728521}
    729522
    … …  
    1089882
    1090883        bp_core_delete_notifications_for_user_by_type( $bp->loggedin_user->id, $bp->profile->id, 'new_at_mention' );
    1091         bp_core_delete_notifications_for_user_by_type( $bp->loggedin_user->id, $bp->profile->id, 'new_wire_post' );
    1092 }
    1093 add_action( 'bp_wire_screen_latest', 'xprofile_remove_screen_notifications' );
     884}
    1094885add_action( 'bp_activity_screen_my_activity', 'xprofile_remove_screen_notifications' );
    1095886add_action( 'bp_activity_screen_single_activity_permalink', 'xprofile_remove_screen_notifications' );
Note: See TracChangeset for help on using the changeset viewer.