Skip to:
Content
Pages
Categories
Search
Top
Bottom

Duplicate Avatars in Activity Stream


  • Uncle Jimmy
    Participant

    @uncle-jimmy

    My Site
    ChristianiTees
    This is the Problem

    Here’s What I’m Using

    • WordPress 3.6
    • BuddyPress 1.8.1
    • Gantry Theme for WordPress – By RocketTheme, LLCVersion 4.0.6 [Basic default Gantry theme for WordPress]
    • Gantry BuddyPress – Version 1.3 | By RocketTheme, LLC
    • Gantry Template Framework – Version 4.0.7 | By RocketTheme

    Prior Issues With gantry-buddypress Plugin

    <p>This Plugin has been responsible for all other issues with BuddyPress that I’ve had, e.g., [[Resolved] Registration/Activation Brokenand[Resolved] Duplicate Profile Meta Error]

    I believe the present issue is within this plugin somewhere here, not sure.</p>
    <p></p>
    The entry.php file code is;
    <p> </p>

    
    <?php
    /**
     * @version   1.3 November 8, 2012
     * @author    RocketTheme, LLC http://www.rockettheme.com
     * @copyright Copyright © 2007 - 2012 RocketTheme, LLC
     * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
     */
    
    /**
     * BuddyPress - Activity Stream (Single Item)
     *
     * This template is used by activity-loop.php and AJAX functions to show
     * each activity.
     *
     * @package BuddyPress
     * @subpackage bp-default
     */
    
    ?>
    
    <?php do_action( 'bp_before_activity_entry' ); ?>
    
    <li class="<?php bp_activity_css_class(); ?>" id="activity-<?php bp_activity_id(); ?>">
    	<div class="activity-avatar">
    		">
    
    			<?php bp_activity_avatar(); ?>
    
    		
    	</div>
    
    	<div class="activity-content">
    
    		<div class="activity-header">
    
    			<?php bp_activity_action(); ?>
    
    		</div>
    
    		<?php if ( 'activity_comment' == bp_get_activity_type() ) : ?>
    
    			<div class="activity-inreplyto">
    				<?php _e( 'In reply to: ', 'buddypress' ); ?><?php bp_activity_parent_content(); ?> " class="view" title="<?php _e( 'View Thread / Permalink', 'buddypress' ); ?>"><?php _e( 'View', 'buddypress' ); ?>
    			</div>
    
    		<?php endif; ?>
    
    		<?php if ( bp_activity_has_content() ) : ?>
    
    			<div class="activity-inner">
    
    				<?php bp_activity_content_body(); ?>
    
    			</div>
    
    		<?php endif; ?>
    
    		<?php do_action( 'bp_activity_entry_content' ); ?>
    
    		<?php if ( is_user_logged_in() ) : ?>
    
    			<div class="activity-meta">
    
    				<?php if ( bp_activity_can_comment() ) : ?>
    
    					" class="button acomment-reply bp-primary-action" id="acomment-comment-<?php bp_activity_id(); ?>"><?php printf( __( 'Comment <span>%s</span>', 'buddypress' ), bp_activity_get_comment_count() ); ?>
    
    				<?php endif; ?>
    
    				<?php if ( bp_activity_can_favorite() ) : ?>
    
    					<?php if ( !bp_get_activity_is_favorite() ) : ?>
    
    						" class="button fav bp-secondary-action" title="<?php esc_attr_e( 'Mark as Favorite', 'buddypress' ); ?>"><?php _e( 'Favorite', 'buddypress' ); ?>
    
    					<?php else : ?>
    
    						" class="button unfav bp-secondary-action" title="<?php esc_attr_e( 'Remove Favorite', 'buddypress' ); ?>"><?php _e( 'Remove Favorite', 'buddypress' ); ?>
    
    					<?php endif; ?>
    
    				<?php endif; ?>
    
    				<?php if ( bp_activity_user_can_delete() ) bp_activity_delete_link(); ?>
    
    				<?php do_action( 'bp_activity_entry_meta' ); ?>
    
    			</div>
    
    		<?php endif; ?>
    
    	</div>
    
    	<?php do_action( 'bp_before_activity_entry_comments' ); ?>
    
    	<?php if ( ( is_user_logged_in() && bp_activity_can_comment() ) || bp_activity_get_comment_count() ) : ?>
    
    		<div class="activity-comments">
    
    			<?php bp_activity_comments(); ?>
    
    			<?php if ( is_user_logged_in() ) : ?>
    
    				<form action="<?php bp_activity_comment_form_action(); ?>" method="post" id="ac-form-<?php bp_activity_id(); ?>" class="ac-form"<?php bp_activity_comment_form_nojs_display(); ?>>
    					<div class="ac-reply-avatar"><?php bp_loggedin_user_avatar( 'width=' . BP_AVATAR_THUMB_WIDTH . '&height=' . BP_AVATAR_THUMB_HEIGHT ); ?></div>
    					<div class="ac-reply-content">
    						<div class="ac-textarea">
    							<textarea id="ac-input-<?php bp_activity_id(); ?>" class="ac-input" name="ac_input_<?php bp_activity_id(); ?>"></textarea>
    						</div>
    						<input type="submit" name="ac_form_submit" value="<?php _e( 'Post', 'buddypress' ); ?>" />   <?php _e( 'or press esc to cancel.', 'buddypress' ); ?>
    						<input type="hidden" name="comment_form_id" value="<?php bp_activity_id(); ?>" />
    					</div>
    
    					<?php do_action( 'bp_activity_entry_comments' ); ?>
    
    					<?php wp_nonce_field( 'new_activity_comment', '_wpnonce_new_activity_comment' ); ?>
    
    				</form>
    
    			<?php endif; ?>
    
    		</div>
    
    	<?php endif; ?>
    
    	<?php do_action( 'bp_after_activity_entry_comments' ); ?>
    
    
    
    <?php do_action( 'bp_after_activity_entry' ); ?>
    
    
    

    The activity-loop.php file code is;

    
    <?php
    /**
     * @version   1.3 November 8, 2012
     * @author    RocketTheme, LLC http://www.rockettheme.com
     * @copyright Copyright © 2007 - 2012 RocketTheme, LLC
     * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
     */
    
    /**
     * BuddyPress - Activity Loop
     *
     * Querystring is set via AJAX in _inc/ajax.php - bp_dtheme_object_filter()
     *
     * @package BuddyPress
     * @subpackage bp-default
     */
    
    ?>
    
    <?php do_action( 'bp_before_activity_loop' ); ?>
    
    <?php if ( bp_has_activities( bp_ajax_querystring( 'activity' ) ) ) : ?>
    
    	<?php /* Show pagination if JS is not enabled, since the "Load More" link will do nothing */ ?>
    	<noscript>
    		<div class="pagination">
    			<div class="pag-count"><?php bp_activity_pagination_count(); ?></div>
    			<div class="pagination-links"><?php bp_activity_pagination_links(); ?></div>
    		</div>
    	</noscript>
    
    	<?php if ( empty( $_POST['page'] ) ) : ?>
    
    		<ul id="activity-stream" class="activity-list item-list">
    
    	<?php endif; ?>
    
    	<?php while ( bp_activities() ) : bp_the_activity(); ?>
    
    		<?php gantry_bp_locate_type( array( 'activity/entry.php' ), true, false ); ?>
    
    	<?php endwhile; ?>
    
    	<?php if ( bp_activity_has_more_items() ) : ?>
    
    		<li class="load-more">
    			<?php _e( 'Load More', 'buddypress' ); ?>
    		
    
    	<?php endif; ?>
    
    	<?php if ( empty( $_POST['page'] ) ) : ?>
    
    		
    
    	<?php endif; ?>
    
    <?php else : ?>
    
    	<div id="message" class="info">
    		<p><?php _e( 'Sorry, there was no activity found. Please try a different filter.', 'buddypress' ); ?></p>
    	</div>
    
    <?php endif; ?>
    
    <?php do_action( 'bp_after_activity_loop' ); ?>
    
    <form action="" name="activity-loop-form" id="activity-loop-form" method="post">
    
    	<?php wp_nonce_field( 'activity_filter', '_wpnonce_activity_filter' ); ?>
    
    </form>
    
    

    Any help resolving this issue is greatly appreciated, I will post the resolution here even if I recieve no response, so either BuddyPress Support or Users can benefit from these Gantry-BuddyPress Plugin Issues/Resolutions.

    Thank you in advance for your time.

Viewing 1 replies (of 1 total)

  • Uncle Jimmy
    Participant

    @uncle-jimmy

    @Shanebp and @mercime [RESOLVED]

    The following file was responsible. Comments marked !!!IMPORTANT!!! are where I made changes.

    wp-content/plugins/gantry-buddypress/bpt-functions.php

    <?php
    /**
     * @version   1.3 November 8, 2012
     * @author    RocketTheme, LLC http://www.rockettheme.com
     * @copyright Copyright © 2007 - 2012 RocketTheme, LLC
     * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
     */
    
    // Sets up WordPress theme for BuddyPress support.
    function gantry_bp_tpack_theme_setup() {
    	global $bp, $gantry_bp_path;
    
    	// Load the default BuddyPress AJAX functions if it isn't explicitly disabled
    	require_once( $gantry_bp_path . '/_inc/ajax.php' );
    
    	if ( !is_admin() ) {
    		///!!!IMPORTANT!!!/// COMMENTED OUT BY UNCLEJIMMY [[FIXED MEMBER HEADER DUPLICATE BUTTONS Friends/Public Message/Private Message]] ///!!!IMPORTANT!!!///
    		///!!!IMPORTANT!!!/// [[ALSO REDUCED QUADRUPAL MESSAGES/COMMENTS/REPLIES TO DUPLICATES]] ///!!!IMPORTANT!!!///
    		// Register buttons for the relevant component templates
    		// Friends button
    		//if ( bp_is_active( 'friends' ) )
    			//add_action( 'bp_member_header_actions',    'bp_add_friend_button' );
    
    		// Activity button
    		//if ( bp_is_active( 'activity' ) )
    			//add_action( 'bp_member_header_actions',    'bp_send_public_message_button' );
    
    		// Messages button
    		//if ( bp_is_active( 'messages' ) )
    			//add_action( 'bp_member_header_actions',    'bp_send_private_message_button' );
    
    		// Group buttons
    		if ( bp_is_active( 'groups' ) ) {
    			///!!!IMPORTANT!!!/// COMMENTED OUT BY UNCLEJIMMY [[FIXED DUPLICATE GROUP BUTTON Join/Leave ]] ///!!!IMPORTANT!!!///
    			//add_action( 'bp_group_header_actions',     'bp_group_join_button' );
    			add_action( 'bp_group_header_actions',     'bp_group_new_topic_button' );
    			add_action( 'bp_directory_groups_actions', 'bp_group_join_button' );
    		}
    
    		// Blog button
    		if ( bp_is_active( 'blogs' ) )
    			add_action( 'bp_directory_blogs_actions',  'bp_blogs_visit_blog_button' );
    	}
    }
    
    add_action( 'after_setup_theme', 'gantry_bp_tpack_theme_setup', 11 );
    
    // Enqueues BuddyPress JS and related AJAX functions
    function gantry_bp_enqueue_scripts() {
    
    	// Enqueue the global JS - Ajax will not work without it
    	wp_enqueue_script( 'dtheme-ajax-js', get_template_directory_uri() . '/_inc/global.js', array( 'jquery' ), bp_get_version() );
    
    	// Add words that we need to use in JS to the end of the page so they can be translated and still used.
    	$params = array(
    		'my_favs'           => __( 'My Favorites', 'buddypress' ),
    		'accepted'          => __( 'Accepted', 'buddypress' ),
    		'rejected'          => __( 'Rejected', 'buddypress' ),
    		'show_all_comments' => __( 'Show all comments for this thread', 'buddypress' ),
    		'show_x_comments'   => __( 'Show all %d comments', 'buddypress' ),
    		'show_all'          => __( 'Show all', 'buddypress' ),
    		'comments'          => __( 'comments', 'buddypress' ),
    		'close'             => __( 'Close', 'buddypress' ),
    		'view'              => __( 'View', 'buddypress' ),
    		'mark_as_fav'	    => __( 'Favorite', 'buddypress' ),
    		'remove_fav'	    => __( 'Remove Favorite', 'buddypress' ),
    		'unsaved_changes'   => __( 'Your profile has unsaved changes. If you leave the page, the changes will be lost.', 'buddypress' ),
    	);
    	wp_localize_script( 'dtheme-ajax-js', 'BP_DTheme', $params );
    
    	// Maybe enqueue comment reply JS
    	if ( is_singular() && bp_is_blog_page() && get_option( 'thread_comments' ) )
    		wp_enqueue_script( 'comment-reply' );
    }
    
    add_action('wp_enqueue_scripts', 'gantry_bp_enqueue_scripts');
    
    // Enqueues BuddyPress basic styles
    function gantry_bp_enqueue_styles() {
        global $gantry_bp_url;
    
    	// Do not enqueue CSS if it's disabled
    	if (get_option( 'gantry_bp_disable_css' ))
    		return;
    
    	// BP 1.5+
    	if ( version_compare( BP_VERSION, '1.3', '>' ) ) {
    		$stylesheet = 'bp.css';
    
    		// Bump this when changes are made to bust cache
    		$version    = '20110918';
    	}
    
    	// Add the wireframe BP page styles
    	wp_enqueue_style( 'bp', $gantry_bp_url . '/' . $stylesheet, array(), $version );
    
    	// Enqueue RTL styles for BP 1.5+
    	if ( version_compare( BP_VERSION, '1.3', '>' ) && is_rtl() )
    		wp_enqueue_style( 'bp-rtl',  $gantry_bp_url . '/' . 'bp-rtl.css', array( 'bp' ), $version );
    }
    
    add_action('wp_enqueue_scripts', 'gantry_bp_enqueue_styles');
    
    // Gantry BuddyPress plugin doesn't use bp-default's built-in sidebar login block,
    // so during no access requests, we need to redirect them to wp-login for
    // authentication.
    if (!function_exists('gantry_bp_use_wplogin')) {
        function gantry_bp_use_wplogin() {
    	    // returning 2 will automatically use wp-login
    	    return 2;
        }
    
        add_filter('bp_no_access_mode', 'gantry_bp_use_wplogin' );
    }
    
    // Hooks into the 'bp_get_activity_action_pre_meta' action to add secondary activity avatar support
    function gantry_bp_activity_secondary_avatars( $action, $activity ) {
    	// sanity check - some older versions of BP do not utilize secondary activity avatars
    	if ( function_exists( 'bp_get_activity_secondary_avatar' ) ) :
    		switch ( $activity->component ) {
    			case 'groups' :
    			case 'friends' :
    				// Only insert avatar if one exists
    				if ( $secondary_avatar = bp_get_activity_secondary_avatar() ) {
    					$reverse_content = strrev( $action );
    					$position        = strpos( $reverse_content, 'a<' );
    					$action          = substr_replace( $action, $secondary_avatar, -$position - 2, 0 );
    				}
    				break;
    		}
    	endif;
    
    	return $action;
    }
    
    ///!!!IMPORTANT!!!/// COMMENTED OUT BY UNCLEJIMMY [[FIXED DUPLICATE AVTIVITY STREAM AVATARS]] ///!!!IMPORTANT!!!///
    ///!!!IMPORTANT!!!/// [[ALSO FIXED DUPLICATE MESSAGES/COMMENTS/REPLIES]] ///!!!IMPORTANT!!!///
    //add_filter('bp_get_activity_action_pre_meta', 'gantry_bp_activity_secondary_avatars', 10, 2);

    Thank you for your time and attention, please let me know if I could’ve done this better.

    God Bless

Viewing 1 replies (of 1 total)
  • The topic ‘Duplicate Avatars in Activity Stream’ is closed to new replies.
Skip to toolbar