Example #1
0
	<?php 
    while (bp_activities()) {
        bp_the_activity();
        ?>

		<?php 
        include locate_template(array('activity/entry.php'), false);
        ?>

	<?php 
    }
    ?>

	<?php 
    if (bp_get_activity_count() == bp_get_activity_per_page()) {
        ?>
		<li class="load-more">
			<a href="#more"><?php 
        _e('Load More', 'buddypress');
        ?>
</a> &nbsp; <span class="ajax-loader"></span>
		</li>
	<?php 
    }
    ?>

	<?php 
    if (empty($_POST['page'])) {
        ?>
		</ul>
 /**
  * GET WALL ACTIVITES
  */
 function get_wall_activities($page = 0, $per_page = 20)
 {
     global $bp, $wpdb;
     $min = $page > 0 ? ($page - 1) * $per_page : 0;
     $max = ($page + 1) * $per_page;
     $per_page = bp_get_activity_per_page();
     buddy_boss_log(" per page {$per_page}");
     if (isset($bp->loggedin_user) && isset($bp->loggedin_user->id) && $bp->displayed_user->id == $bp->loggedin_user->id) {
         $myprofile = true;
     } else {
         $myprofile = false;
     }
     $wpdb->show_errors = BUDDY_BOSS_DEBUG;
     $user_id = $bp->displayed_user->id;
     buddy_boss_log("Looking at {$user_id}");
     $filter = addslashes($bp->displayed_user->fullname);
     $friend_ids = friends_get_friend_user_ids($user_id);
     $admin_ids = array();
     //buddyboss_users_by_role( 'administrator' );
     $friend_ids = array_merge($friend_ids, $admin_ids);
     // var_dump($friend_ids);
     buddy_boss_log($friend_ids);
     if (!empty($friend_ids)) {
         $friend_id_list = implode(",", $friend_ids);
     }
     buddy_boss_log($friend_id_list);
     $table = $wpdb->prefix . bp_activity;
     $table2 = $wpdb->prefix . bp_activity_meta;
     // Group Display code
     if (array_search("groups", $bp->active_components)) {
         $groups = BP_Groups_Member::get_group_ids($user_id);
     }
     //var_dump($groups);
     $valid_groups = array();
     if (!empty($groups)) {
         foreach ($groups['groups'] as $id) {
             $group = new BP_Groups_Group($id);
             //var_dump($group);
             if ("public" == $group->status) {
                 //echo $group->slug;
                 $valid_groups[] = $id;
             }
             $user_group[] = $group->slug;
         }
     }
     $group_modifier = "OR ( {$table}.user_id = {$user_id} AND {$table}.component = 'groups' ) ";
     $group_mentions = "OR ( {$table}.component = 'groups' AND ({$table}.content LIKE '%@{$filter}%'))";
     $friendships = "OR ( {$table}.user_id = {$user_id} AND {$table}.component = 'friends' )";
     $mentions_modifier = "OR ( {$table}.component = 'activity' AND {$table}.action LIKE '%@{$filter}%' ) ";
     //$mem_slugs = $bp->members->slug;
     $friends_modifier = "OR ( {$table2}.meta_value LIKE '%{$filter}%' AND {$table}.type!='activity_comment') ";
     $qry = "SELECT {$table}.id FROM {$table} LEFT JOIN {$table2} ON {$table}.id={$table2}.activity_id\r\n\t\t\tWHERE ( {$table}.user_id = {$user_id} AND {$table}.type!='activity_comment' AND {$table}.type!='friends' )\r\n\t\t\t{$friends_modifier}\r\n\t\t\t{$group_modifier}\r\n\t\t\t{$group_mentions}\r\n\t\t\t{$friendships}\r\n\t\t\t{$mentions_modifier}\r\n\t\t\tORDER BY date_recorded DESC LIMIT {$min}, 30";
     //echo $qry;
     $activities = $wpdb->get_results($qry, ARRAY_A);
     //var_dump($wpdb->print_error());
     buddy_boss_log($qry);
     buddy_boss_log($activities);
     if (empty($activities)) {
         return null;
     }
     $tmp = array();
     foreach ($activities as $a) {
         $tmp[] = $a["id"];
     }
     $activity_list = implode(",", $tmp);
     return $activity_list;
 }
/**
 * Outputs the number of activities per page
 *
 * @since 1.2.0
 *
 * @uses bp_get_activity_per_page()
 */
function bp_activity_per_page()
{
    echo bp_get_activity_per_page();
}
 /**
  * GET FEED ACTIVITES
  */
 function get_feed_activities($page = 0, $per_page = 20)
 {
     global $bp, $wpdb, $buddyboss_ajax_qs;
     $min = $page > 0 ? ($page - 1) * $per_page : 0;
     $max = ($page + 1) * $per_page;
     $per_page = bp_get_activity_per_page();
     buddyboss_log("per page: {$per_page}");
     if (isset($bp->loggedin_user) && isset($bp->loggedin_user->id) && $bp->displayed_user->id == $bp->loggedin_user->id) {
         $myprofile = true;
     } else {
         $myprofile = false;
     }
     $wpdb->show_errors = BUDDYBOSS_DEBUG;
     $user_id = $bp->displayed_user->id;
     $user_name = $bp->displayed_user->userdata->user_login;
     $filter = $bp->displayed_user->domain;
     buddyboss_log("Looking at {$user_id}");
     // Get friend's user IDs
     $user_ids = friends_get_friend_user_ids($user_id, false, false);
     // Add logged in user to news feed results
     // $user_ids[] = $user_id;
     $user_list = implode(',', $user_ids);
     // buddyboss_log( $friend_id_list );
     $table = bp_core_get_table_prefix() . 'bp_activity';
     $table2 = bp_core_get_table_prefix() . 'bp_activity_meta';
     // Default WHERE
     $where = "WHERE ( {$table}.user_id IN ({$user_list}) AND {$table}.type != 'activity_comment' )";
     // Add when user joined a group
     $group_modifier = "OR ( {$table}.user_id = {$user_id} AND {$table}.component = 'groups' ) ";
     // If we have a filter enabled, let's handle that
     $ajax_qs = !empty($buddyboss_ajax_qs) ? wp_parse_args($buddyboss_ajax_qs) : false;
     if (is_array($ajax_qs) && isset($ajax_qs['action'])) {
         // Clear group modifier
         $group_modifier = '';
         $filter_qs = $ajax_qs['action'];
         // Check for commas and adjust
         if (strpos($filter_qs, ',')) {
             $filters = explode(',', $filter_qs);
         } else {
             $filters = (array) $filter_qs;
         }
         // Clean each filter
         $filters_clean = array();
         foreach ($filters as $filter) {
             $filters_clean[] = $wpdb->escape($filter);
         }
         $filter_sql = "AND ( {$table}.type='" . implode("' OR {$table}.type='", $filters_clean) . "' )";
         $where = "WHERE ( {$table}.user_id IN ({$user_list}) {$filter_sql} )";
     }
     // Filter where SQL
     $where_filtered = apply_filters('buddyboss_wall_query_feed_activity_ids_where', $where);
     // Filter modifier SQL
     $group_filtered = apply_filters('buddyboss_wall_query_feed_activity_ids_groups', $group_modifier);
     // Build Query
     $query_sql = "SELECT DISTINCT {$table}.id FROM {$table} LEFT JOIN {$table2} ON {$table}.id = {$table2}.activity_id\n\t\t\t{$where_filtered}\n\t\t\t{$group_filtered}\n\t\t\tORDER BY date_recorded DESC LIMIT {$min}, 40";
     // Filter full query SQL
     $query_filtered = apply_filters('buddyboss_wall_query_feed_activity_ids_full', $query_sql);
     // Run query
     $activities = $wpdb->get_results($query_filtered, ARRAY_A);
     buddyboss_log($query_filtered);
     buddyboss_log($activities);
     if (empty($activities)) {
         return null;
     }
     $tmp = array();
     foreach ($activities as $a) {
         $tmp[] = $a["id"];
     }
     $activity_list = implode(",", $tmp);
     return $activity_list;
 }