<?php

global $wpdb, $bp, $current_user;

do_action( 'bp_before_activity_loop' );

$actQuery = "select * from wp_bp_activity where (component = 'activity' or component = 'blogs') and content like '%@" . $bp->displayed_user->userdata->user_login . "%' or content like '%@" . $bp->displayed_user->userdata->user_nicename . "%' order by date_recorded DESC";

$list     = $wpdb->get_results($actQuery);

$cont = 0;
foreach ($list as $item) {
    
    $current_mood = '';
    $privacity    = '';
    $results      = $wpdb->get_results("SELECT meta_key, meta_value FROM ".$tablename2." WHERE activity_id = ". $item->id);
    
    /**
     * Esto sirve para coger las meta privacity y current_mood
     **/
    foreach ($results as $metaval) {
        
        if ($metaval->meta_key == 'privacity') {
            $privacity    = $metaval->meta_value;
        } elseif ($metaval->meta_key == 'current_mood') {
            $current_mood = $metaval->meta_value;
        }
    }

    // debug
    /*
    if ($item->user_id == $ant_secondary_item_id && $item->secondary_item_id == $ant_user_id) { echo '!!'; }
    echo '<br /><b>este</b> -> user_id: '.$item->user_id.' sec_id: '. $item->secondary_item_id.' <b>ant</b> ->  user_id: ' . $ant_user_id . ' sec_id: ' . $ant_secondary_item_id;
    */
    
    /**
     * Si no es privado, miramos si es solo para amigos y el filtro por estado
     **/
    if ($privacity != 'privado') {
         /**
          * Solo para amigos
          **/
        
        if ($privacity == 'amigos') {
            
            if (in_array($item->user_id, $afriend_list) || $item->user_id == bp_loggedin_user_id()) {
                
                /**
                 * Filtro por estado (bolitas)
                 */
                if ($filter && $current_mood == $filter) {
                    
                    /**
                     * Quitamos los new_friendship repetidos
                     */
                    if ($item->type=='friendship_created') {
                        
                        if ($item->user_id != $ant_secondary_item_id && $item->secondary_item_id != $ant_user_id) {
                            
                            /**
                             * Los usuarios que esten como privados no ven esto
                             */
                            if (!check_private_profile(bp_loggedin_user_id())) {
                                $includelist .= $item->id.",";
                            }
                        }
                    } elseif ($item->type=='created_group' || $item->type=='created_event' || $item->type=='new_blog_post' || $item->type=='new_achievement') {
                    /**
                     * SI SON CREACIONES DE GRUPOS, EVENTOS, TESTIMONIOS, ETC. MOSTRAMOS
                     * SOLO LOS DE NUESTROS AMIGOS y LO NUESTRO, A PESAR DE ESTAR EN "TODOS"
                     */
                        
                        if (in_array($item->user_id, $afriend_list) || $item->user_id == bp_loggedin_user_id()) {
                            
                            if (!check_private_profile(bp_loggedin_user_id())) {
                                $includelist .= $item->id.",";
                            }
                        }
                    }
                    else {
                        $includelist .= $item->id.",";
                    }
                }
                /**
                 * Sin filtro por estado (bolitas)
                 */
                elseif (!$filter) {
                    /**
                     * Quitamos los new_friendship repetidos
                     */
                    if ($item->type=='friendship_created') {
                        if ($item->user_id != $ant_secondary_item_id && $item->secondary_item_id != $ant_user_id) {
                            /**
                             * Los usuarios que esten como privados no ven esto
                             */
                             if (!check_private_profile(bp_loggedin_user_id())) {
                                $includelist .= $item->id.",";
                            }
                        }
                    } elseif ($item->type=='created_group' || $item->type=='created_event' || $item->type=='new_blog_post' || $item->type=='new_achievement') {
                        /**
                         * SI SON CREACIONES DE GRUPOS, EVENTOS, TESTIMONIOS, ETC. MOSTRAMOS
                         * SOLO LOS DE NUESTROS AMIGOS y LO NUESTRO, A PESAR DE ESTAR EN "TODOS"
                         */
                        if (in_array($item->user_id, $afriend_list) || $item->user_id == bp_loggedin_user_id()) {
                            /**
                             * Los usuarios que esten como privados no ven esto
                             */
                            if (!check_private_profile(bp_loggedin_user_id())) {
                                $includelist .= $item->id.",";
                            }
                        }
                    }
                    else {
                        $includelist .= $item->id.",";
                    }
                }
            }
        }
        else {
            // Filtro por estado (bolitas)
            if ($filter && $current_mood == $filter) {
                // Quitamos los new_friendship repetidos
                if ($item->type=='friendship_created') {
                    if ($item->user_id != $ant_secondary_item_id && $item->secondary_item_id != $ant_user_id) {
                        // Los usuarios que esten como privados no ven esto
                        if (!check_private_profile(bp_loggedin_user_id())) {
                            $includelist .= $item->id.",";
                        }
                    }
                }
                // SI SON CREACIONES DE GRUPOS, EVENTOS, TESTIMONIOS, ETC. MOSTRAMOS
                // SOLO LOS DE NUESTROS AMIGOS y LO NUESTRO, A PESAR DE ESTAR EN "TODOS"
                elseif ($item->type=='created_group' || $item->type=='created_event' || $item->type=='new_blog_post' || $item->type=='new_achievement') {
                    if (in_array($item->user_id, $afriend_list) || $item->user_id == bp_loggedin_user_id()) {
                        // Los usuarios que esten como privados no ven esto
                        if (!check_private_profile(bp_loggedin_user_id())) {
                            $includelist .= $item->id.",";
                        }
                    }
                }
                else {
                    $includelist .= $item->id.",";
                }
            }
            // Sin filtro por estado (bolitas)
            elseif (!$filter) {
                // Quitamos los new_friendship repetidos
                if ($item->type=='friendship_created') {
                    if ($item->user_id != $ant_secondary_item_id && $item->secondary_item_id != $ant_user_id) {
                        // Los usuarios que esten como privados no ven esto
                        if (!check_private_profile(bp_loggedin_user_id())) {
                            $includelist .= $item->id.",";
                        }
                    }
                }
                // SI SON CREACIONES DE GRUPOS, EVENTOS, TESTIMONIOS, ETC. MOSTRAMOS
                // SOLO LOS DE NUESTROS AMIGOS y LO NUESTRO, A PESAR DE ESTAR EN "TODOS"
                elseif ($item->type=='created_group' || $item->type=='created_event' || $item->type=='new_blog_post' || $item->type=='new_achievement') {
                    if (in_array($item->user_id, $afriend_list) || $item->user_id == bp_loggedin_user_id()) {
                        // Los usuarios que esten como privados no ven esto
                        if (!check_private_profile(bp_loggedin_user_id())) {
                            $includelist .= $item->id.",";
                        }
                    }
                }
                else {
                    $includelist .= $item->id.",";
                }
            }
        }
    }
    // Si es privado, el autor del post lo puede ver
    // En version beta esta feature no se usa
    elseif ( $privacity == 'privado' && $item->user_id == bp_loggedin_user_id() ) {
        // Filtro por estado
        if ($filter && $current_mood == $filter) {
            $includelist .= $item->id.",";
        }
        elseif (!$filter) {
            $includelist .= $item->id.",";
        }
    }
    
    // Si es impar recogemos el valor
    // para poder compararlo despues
    $cont++;
    if ($cont%2!=0) { $ant_user_id=$item->user_id; $ant_secondary_item_id=$item->secondary_item_id; }
    else { $ant_user_id=''; $ant_secondary_item_id=''; }
}

// Por defecto no incluimos nada (cuando un usuario no tiene amigos ni updates hechos,
// tenemos que pasar siempre alg�n id por include, sino mostrar� la activity completa)
$queryinc='&include=-1';

// Quitamos la ultima coma del listado
$includelist=substr($includelist,0,strlen($includelist)-1);

// Pasamos el includelist a la consulta bp_has_activities
// asi wordpress se ocupa de todo lo demas, como la paginacion
if ($includelist) { $queryinc='&include='.$includelist; }


    if ( bp_has_activities( bp_ajax_querystring( 'activity' ) . $queryscope . $queryinc . $querypags . $queryaction ) ) : ?>

    <?php /* Show pagination if JS is not enabled, since the "Load More" link will do nothing */ ?>
    <input type="hidden" name="mentions" value="mentions-true" />
    <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 include( locate_template( array( 'activity/mentions-entry.php' ), false ) ) ?>

    <?php endwhile; ?>

    <?php if ( bp_get_activity_count() == bp_get_activity_per_page() ) : ?>
        <li class="load-more">
            <img src="<?php echo get_stylesheet_directory_uri() .'/_inc/images/down-arrow.gif'; ?>">
            <a href="#more"><?php _e( 'Load More', 'buddypress' ) ?></a> &nbsp; <span class="ajax-loader"></span>
        </li>
    <?php endif; ?>

    <?php if ( empty( $_POST['page'] ) ) : ?>
        </ul>
    <?php endif; ?>

<?php else : ?>
    <div id="message" class="info">
        <p><?php _e( 'No se ha encontrado nada, prueba una b&uacute;squeda diferente.', '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>
