function activity_user in Activity 5.4
Same name and namespace in other branches
- 6.2 activity.module \activity_user()
- 6 activity.module \activity_user()
Implementation of hook_user().
File
- ./
activity.module, line 296 - activity.module
Code
function activity_user($op, &$edit, &$account, $category = NULL) {
switch ($op) {
// View activity on user profile page.
case 'view':
if (user_access('view public activity') && variable_get('activity_user_profile_records', 5) != 0) {
$activity = activity_get_activity($account->uid, NULL, variable_get('activity_user_profile_records', 5));
$activities = array();
foreach ($activity as $item) {
$activities[] = theme('activity', activity_token_replace($item), $item);
}
$items['activity'] = array(
'value' => theme('activity_user_profile_activity', $activities),
);
return array(
t('Activity') => $items,
);
}
break;
// Provide a privacy setting to users to opt-out of appearing in activity pages.
case 'form':
if ($category == 'account' && variable_get('activity_user_optout', 0)) {
$form['activity'] = array(
'#type' => 'fieldset',
'#title' => t('Activity privacy settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#weight' => 6,
);
$form['activity']['activity_optout'] = array(
'#type' => 'checkbox',
'#title' => t('Do not record my site activity'),
'#description' => t('If you wish keep your site activity from appearing in the <a href="@activity">activity</a> pages, check the box.', array(
'@activity' => url('activity'),
)),
'#default_value' => isset($edit['activity_optout']) ? $edit['activity_optout'] : '',
);
}
return $form;
break;
case 'delete':
// Delete activity records directly generated by the deleted user
db_query('DELETE FROM {activity_targets} WHERE aid IN (SELECT aid FROM {activity} WHERE uid = %d)', $account->uid);
db_query('DELETE FROM {activity} WHERE uid = %d', $account->uid);
// Delete activity records related to user but not generated by the deleted user
db_query('DELETE FROM {activity} WHERE aid IN (SELECT aid FROM {activity_targets} WHERE target_uid = %d)', $account->uid);
db_query('DELETE FROM {activity_targets} WHERE target_uid = %d', $account->uid);
break;
}
}