groupsactivity.inc in Heartbeat 6.4
File
modules/og_activity/groupsactivity.inc
View source
<?php
heartbeat_include('HeartbeatAccess');
class GroupsActivity extends HeartbeatAccess {
public function skipActiveUser() {
return FALSE;
}
protected function prepareStream() {
global $user, $language;
$this->stream->offset_sql = $this->_offset_sql;
if (empty($this->stream->language)) {
$this->stream->language = $language->language;
}
$this->stream->sql_start = "SELECT\n hm.hid AS 'hid', hm.message AS 'message_orig',\n hm.message_concat AS 'message_concat_orig',\n hm.attachments AS 'attachments', hm.concat_args,\n hm.custom AS 'custom', hm.description as 'description',\n hm.perms, hm.variables AS 'variables_orig',\n ua.*,\n 1 AS 'count'\n FROM {heartbeat_activity} ua\n LEFT JOIN {heartbeat_messages} hm ON ua.message_id = hm.message_id\n LEFT JOIN {users} ua_users ON ua.uid = ua_users.uid\n LEFT JOIN {users} ua_target_users ON ua.uid_target = ua_target_users.uid\n WHERE\n ua.in_group = 1\n AND ua.language = '%s'\n AND (ua_users.uid = 0 OR ua_users.status = 1)\n AND (ua_target_users.uid = 0 OR ua_target_users.status = 1)\n ";
if ($this->stream->latest_uaid > 0) {
$this->stream->sql_start .= "AND (ua.uaid > %d ) ";
}
else {
$this->stream->sql_start .= "AND (ua.timestamp < %d ";
if ($this->stream->oldest_date) {
$this->stream->sql_start .= "AND ua.timestamp > %d ";
}
$this->stream->sql_start .= ")";
}
$this
->checkDeniedMessages();
$this->stream->sql_end = " ORDER BY timestamp DESC";
$heartbeat = $this
->createHeartbeatParser();
return $heartbeat;
}
public function dressUpMessages(HeartbeatParser $heartbeat) {
$heartbeat->raw_messages = $this
->resultSql();
return $heartbeat;
}
public function addViewQuery(&$view) {
$view->query
->set_where_group('and', 'andgroup');
$view->query
->add_where('andgroup', "{$view->table_alias}.in_group = %d ", 1);
}
}
Classes
Name |
Description |
GroupsActivity |
Class GroupsActivity
Concrete class to prepare messages for activity in groups |