Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
12/02/2008 09:04:12 PM (17 years ago)
Author:
apeatling
Message:

Added profile field filters
Added RSS feeds to site wide, personal and friend feeds
Small fixes on blog, member and group directories

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-activity/bp-activity-classes.php

    r591 r601  
    55    var $item_id;
    66    var $user_id;
     7    var $primary_link;
    78    var $component_name;
    89    var $component_action;
     
    5960           
    6061            // Add the cached version of the activity to the cached activity table.
    61             $activity_cached = $wpdb->query( $wpdb->prepare( "INSERT INTO " . $this->table_name_cached . " ( content, component_name, date_cached, date_recorded, is_private ) VALUES ( %s, %s, FROM_UNIXTIME(%d), FROM_UNIXTIME(%d), %d )", $activity_content, $this->component_name, time(), $this->date_recorded, $this->is_private ) );
     62            $activity_cached = $wpdb->query( $wpdb->prepare( "INSERT INTO " . $this->table_name_cached . " ( content, primary_link, component_name, date_cached, date_recorded, is_private ) VALUES ( %s, %s, %s, FROM_UNIXTIME(%d), FROM_UNIXTIME(%d), %d )", $activity_content['content'], $activity_content['primary_link'], $this->component_name, time(), $this->date_recorded, $this->is_private ) );
    6263       
    6364            // Add the cached version of the activity to the cached activity table.
    64             $sitewide_cached = $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['activity']['table_name_sitewide'] . " ( user_id, content, component_name, date_cached, date_recorded ) VALUES ( %d, %s, %s, FROM_UNIXTIME(%d), FROM_UNIXTIME(%d) )", $bp['loggedin_userid'], $activity_content, $this->component_name, time(), $this->date_recorded ) );
     65            $sitewide_cached = $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['activity']['table_name_sitewide'] . " ( user_id, content, primary_link, component_name, date_cached, date_recorded ) VALUES ( %d, %s, %s, %s, FROM_UNIXTIME(%d), FROM_UNIXTIME(%d) )", $bp['loggedin_userid'], $activity_content['content'], $activity_content['primary_link'], $this->component_name, time(), $this->date_recorded ) );
    6566           
    6667            if ( $activity && $activity_cached )
     
    110111            for ( $i = 0; $i < count( $activities ); $i++ ) {
    111112                $activities_formatted[$i]['content'] = $activities[$i]->content;
     113                $activities_formatted[$i]['primary_link'] = $activities[$i]->primary_link;
    112114                $activities_formatted[$i]['date_recorded'] = $activities[$i]->date_recorded;
    113115                $activities_formatted[$i]['component_name'] = $activities[$i]->component_name;
     
    127129                        continue;
    128130                       
    129                     $activities_formatted[$i]['content'] = $content;
     131                    $activities_formatted[$i]['content'] = $content['content'];
     132                    $activities_formatted[$i]['primary_link'] = $content['primary_link'];
    130133                    $activities_formatted[$i]['date_recorded'] = $activities[$i]->date_recorded;
    131134                    $activities_formatted[$i]['component_name'] = $activities[$i]->component_name;
     
    145148    }
    146149   
    147     function get_activity_for_friends( $user_id = null, $limit = 30, $since = '-1 week' ) {
     150    function get_activity_for_friends( $user_id = null, $limit = 30, $since = '-3 days' ) {
    148151        global $wpdb, $bp;
    149152       
     
    168171            for ( $i = 0; $i < count( $activities ); $i++ ) {
    169172                $activities_formatted[$i]['content'] = $activities[$i]->content;
     173                $activities_formatted[$i]['primary_link'] = $activities[$i]->primary_link;
    170174                $activities_formatted[$i]['date_recorded'] = $activities[$i]->date_recorded;
    171175                $activities_formatted[$i]['component_name'] = $activities[$i]->component_name;
     
    191195                for ( $j = 0; $j < count( $activities[$i]['activity']); $j++ ) {
    192196                    $activities[$i]['activity'][$j]->content = bp_activity_content_filter( $activities[$i]['activity'][$j]->content, $activities[$i]['activity'][$j]->date_recorded, $activities[$i]['full_name'], false, false, false );
    193                     $activities_formatted[] = array( 'user_id' => $friend_ids[$i], 'content' => $activities[$i]['activity'][$j]->content, 'date_recorded' => $activities[$i]['activity'][$j]->date_recorded, 'component_name' => $activities[$i]['activity'][$j]->component_name );
     197                    $activities_formatted[] = array( 'user_id' => $friend_ids[$i], 'content' => $activities[$i]['activity'][$j]->content, 'primary_link' => $activities[$i]['activity'][$j]->primary_link, 'date_recorded' => $activities[$i]['activity'][$j]->date_recorded, 'component_name' => $activities[$i]['activity'][$j]->component_name );
    194198                }
    195199            }
     
    211215            $limit_sql = $wpdb->prepare( " LIMIT %d", $limit );
    212216       
    213         /* Remove entries that are older than 1 week */
    214         $wpdb->query( $wpdb->prepare( "DELETE FROM " . $bp['activity']['table_name_sitewide'] . " WHERE DATE_ADD(date_recorded, INTERVAL 1 WEEK) <= NOW()" ) );
     217        /* Remove entries that are older than 6 months */
     218        $wpdb->query( $wpdb->prepare( "DELETE FROM " . $bp['activity']['table_name_sitewide'] . " WHERE DATE_ADD(date_recorded, INTERVAL 6 MONTHS) <= NOW()" ) );
    215219       
    216220        $activities = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM " . $bp['activity']['table_name_sitewide'] . " ORDER BY date_recorded DESC $limit_sql" ) );
     
    218222        for ( $i = 0; $i < count( $activities ); $i++ ) {
    219223            $activities_formatted[$i]['content'] = $activities[$i]->content;
     224            $activities_formatted[$i]['primary_link'] = $activities[$i]->primary_link;
    220225            $activities_formatted[$i]['date_recorded'] = $activities[$i]->date_recorded;
    221226            $activities_formatted[$i]['component_name'] = $activities[$i]->component_name;
     
    225230    }
    226231   
     232    function get_sitewide_items_for_feed( $limit = 35 ) {
     233        global $wpdb, $bp;
     234       
     235        $activities = BP_Activity_Activity::get_sitewide_activity( $limit );
     236        for ( $i = 0; $i < count($activities); $i++ ) {
     237                $title = explode( '<span', $activities[$i]['content'] );
     238
     239                $activity_feed[$i]['title'] = trim( strip_tags( $title[0] ) );
     240                $activity_feed[$i]['link'] = $activities[$i]['primary_link'];
     241                $activity_feed[$i]['description'] = sprintf ( $activities[$i]['content'], '' );
     242                $activity_feed[$i]['pubdate'] = $activities[$i]['date_recorded'];
     243        }
     244
     245        return $activity_feed; 
     246    }
     247   
    227248    function cache_friends_activities( $activity_array ) {
    228249        global $wpdb, $bp;
     
    233254        for ( $i = 0; $i < count($activity_array); $i++ ) {
    234255            // Cache that sucka...
    235             $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['activity']['table_name_loggedin_user_friends_cached'] . " ( user_id, content, component_name, date_cached, date_recorded ) VALUES ( %d, %s, %s, FROM_UNIXTIME(%d), %s )", $activity_array[$i]['user_id'], $activity_array[$i]['content'], $activity_array[$i]['component_name'], time(), $activity_array[$i]['date_recorded'] ) );
     256            $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['activity']['table_name_loggedin_user_friends_cached'] . " ( user_id, content, primary_link, component_name, date_cached, date_recorded ) VALUES ( %d, %s, %s, %s, FROM_UNIXTIME(%d), %s )", $activity_array[$i]['user_id'], $activity_array[$i]['content'], $activity_array[$i]['primary_link'], $activity_array[$i]['component_name'], time(), $activity_array[$i]['date_recorded'] ) );
    236257        }
    237258       
     
    252273           
    253274            // Cache that sucka...
    254             $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['activity']['table_name_current_user_cached'] . " ( content, component_name, date_cached, date_recorded, is_private ) VALUES ( %s, %s, FROM_UNIXTIME(%d), %s, %d )", $activity_array[$i]['content'], $activity_array[$i]['component_name'], time(), $activity_array[$i]['date_recorded'], $activity_array[$i]['is_private'] ) );
     275            $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['activity']['table_name_current_user_cached'] . " ( content, primary_link, component_name, date_cached, date_recorded, is_private ) VALUES ( %s, %s, FROM_UNIXTIME(%d), %s, %d )", $activity_array[$i]['content'], $activity_array[$i]['primary_link'], $activity_array[$i]['component_name'], time(), $activity_array[$i]['date_recorded'], $activity_array[$i]['is_private'] ) );
    255276           
    256277            // Add to the sitewide activity stream
    257278            if ( !$activity_array[$i]['is_private'] )
    258                 $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['activity']['table_name_sitewide'] . " ( user_id, content, component_name, date_cached, date_recorded ) VALUES ( %d, %s, %s, FROM_UNIXTIME(%d), %s )", $user_id, $activity_array[$i]['content'], $activity_array[$i]['component_name'], time(), $activity_array[$i]['date_recorded'] ) );
     279                $wpdb->query( $wpdb->prepare( "INSERT INTO " . $bp['activity']['table_name_sitewide'] . " ( user_id, content, primary_link, component_name, date_cached, date_recorded ) VALUES ( %d, %s, %s, FROM_UNIXTIME(%d), %s )", $user_id, $activity_array[$i]['content'], $activity_array[$i]['primary_link'], $activity_array[$i]['component_name'], time(), $activity_array[$i]['date_recorded'] ) );
    259280        }
    260281       
     
    262283    }
    263284   
     285    function get_last_updated() {
     286        global $bp, $wpdb;
     287       
     288        return $wpdb->get_var( $wpdb->prepare( "SELECT date_recorded FROM " . $bp['activity']['table_name_sitewide'] . " ORDER BY date_recorded ASC LIMIT 1" ) );
     289    }
     290   
    264291
    265292}
Note: See TracChangeset for help on using the changeset viewer.