/** * Return recent project activities by user * * @param Project $project * @param User $user * @param integer $count * @return array */ function findProjectActivitiesByUser($project, $user, $count = 30) { $type_filter = ProjectUsers::getVisibleTypesfilterByProject($user, $project); if ($type_filter) { $objects_table = TABLE_PREFIX . 'project_objects'; $logs_table = TABLE_PREFIX . 'activity_logs'; $count = (int) $count; if ($count < 1) { $count = 30; } // if return ActivityLogs::findBySQL("SELECT {$logs_table}.* FROM {$logs_table}, {$objects_table} WHERE {$logs_table}.object_id = {$objects_table}.id AND {$type_filter} AND {$objects_table}.state >= ? AND {$objects_table}.visibility >= ? ORDER BY {$logs_table}.created_on DESC LIMIT 0, {$count}", array(STATE_DELETED, $user->getVisibility())); } else { return null; } // if }