public function get_activities_by_project($projectID, array $groups = null)
{
$projectID = MySQL::SQLValue($projectID, MySQL::SQLVALUE_NUMBER);
$p = $this->kga['server_prefix'];
if (empty($groups)) {
$query = "SELECT activity.*, p_a.budget, p_a.approved, p_a.effort\n FROM {$p}activities AS activity\n LEFT JOIN {$p}projects_activities AS p_a USING(activityID)\n WHERE activity.trash=0\n AND (projectID = {$projectID} OR projectID IS NULL)\n ORDER BY visible DESC, name;";
} else {
$query = "SELECT DISTINCT activity.*, p_a.budget, p_a.approved, p_a.effort\n FROM {$p}activities AS activity\n JOIN {$p}groups_activities USING(activityID)\n LEFT JOIN {$p}projects_activities p_a USING(activityID)\n WHERE `{$p}groups_activities`.`groupID` IN (" . implode($groups, ',') . ")\n AND activity.trash=0\n AND (projectID = {$projectID} OR projectID IS NULL)\n ORDER BY visible DESC, name;";
}
$result = $this->conn->Query($query);
if ($result == false) {
$this->logLastError('get_activities_by_project');
return false;
}
$arr = array();
if ($this->conn->RowCount()) {
$this->conn->MoveFirst();
while (!$this->conn->EndOfSeek()) {
$row = $this->conn->Row();
$arr[$row->activityID]['activityID'] = $row->activityID;
$arr[$row->activityID]['name'] = $row->name;
$arr[$row->activityID]['visible'] = $row->visible;
$arr[$row->activityID]['budget'] = $row->budget;
$arr[$row->activityID]['approved'] = $row->approved;
$arr[$row->activityID]['effort'] = $row->effort;
}
return $arr;
}
return array();
}