function activity_buddy_activity in Activity 5.2
Same name and namespace in other branches
- 5 activity.module \activity_buddy_activity()
function to get all buddy activity @returns array of activity
2 calls to activity_buddy_activity()
- activity_feed in ./
activity.module - menu callback to return a feed of a signed in user's activity page
- activity_page in ./
activity.module - Menu callback to display the records in a page
File
- ./
activity.module, line 159 - Activity module: Allow users to see their friends' activity on the site.
Code
function activity_buddy_activity($account_id) {
global $user;
$buddies = array();
$buddy_activity = array();
// took activity_account from here
$account = activity_account($account_id);
switch ($_GET['who']) {
case 'me':
$me['uid'] = $user->uid;
$me['name'] = $user->name;
$me['mail'] = $user->mail;
$me['online'] = 1;
array_push($buddies, $me);
break;
case 'friends':
// find who current user's buddies are = obj
// $account must be int
$buddies = buddylist_get_buddies($account);
break;
default:
// find who current or viewed user's buddies are = obj
$buddies = buddylist_get_buddies($account);
// if looking at own friend activities, include own activities
$q = explode('/', $_GET['q']);
if (!is_numeric($q[1]) || $q[1] == $user->uid) {
// add current user to list of buddies
$me['uid'] = $user->uid;
$me['name'] = $user->name;
$me['mail'] = $user->mail;
$me['online'] = 1;
$buddies[$user->uid] = $me;
}
break;
}
// see what activity each buddy has done
if (!empty($buddies)) {
foreach ($buddies as $buddy) {
$query = db_query(db_rewrite_sql("SELECT * FROM {activity} a WHERE a.uid = %d ORDER BY a.timestamp DESC", 'a', 'aid', array(
'uid' => $buddy['uid'],
)), $buddy['uid']);
while ($row = db_fetch_object($query)) {
// appending count to make the time stamp unique for sorting purposes
$buddy_activity[$row->timestamp . $count] = $row;
$count++;
}
}
}
return $buddy_activity;
}