get_data_updates();
//ToDo: Add rendering for data.
}
private function get_data_updates() {
$actions_table = $this->table;
$version = $this->request->get_version();
$user = $this->request->get_user();
$select_actions = "SELECT DATAID, TYPE, USER FROM {$actions_table}";
$select_actions .= " WHERE {$actions_table}.ID > '{$version}' AND {$actions_table}.USER <> '{$user}'";
$output = array();
$index = 0;
$actions_query = $this->sql->query($select_actions);
while($action_data=$this->sql->get_next($actions_query)){
$action_type = $action_data["TYPE"];
$type_parts = explode("#", $action_type);
$action_mode = $type_parts[1];
if($action_mode == "links") {
$data = $this->select_links_for_action($action_data["DATAID"]);
$data = new DataItemUpdate($data, $this->config, $index, $this->item_class);
}
else {
$data = $this->select_task_for_action($action_data["DATAID"]);
$data = new DataItemUpdate($data, $this->config, $index, $this->item_class);
}
array_push($output, $data);
$index++;
}
return $output;
}
protected function select_task_for_action($taskId) {
$tasks_table = $this->request->get_source();
$field_task_id = $this->config->id['db_name'];
$select_actions_tasks = "SELECT * FROM {$tasks_table} WHERE {$taskId} = {$tasks_table}.{$field_task_id}";
return $this->sql->get_next($this->sql->query($select_actions_tasks));
}
protected function select_links_for_action($taskId) {
$links_connector_options = $this->options["connector"]->get_options();
$links_table = $links_connector_options["links"]->get_request()->get_source();
$field_task_id = $this->config->id['db_name'];
$select_actions_tasks = "SELECT * FROM {$links_table} WHERE {$taskId} = {$links_table}.{$field_task_id}";
return $this->sql->get_next($this->sql->query($select_actions_tasks));
}
}