if (empty($this->issueList)) { return array(); } $formatedBugidString = implode(', ', array_keys($this->issueList)); // TODO cache results ! $query = "SELECT * FROM `codev_timetracking_table` " . "WHERE bugid IN (" . $formatedBugidString . ") "; if (NULL != $useridList) { $formatedUseridString = implode(', ', $useridList); $query .= 'AND userid IN (' . $formatedUseridString . ') '; } if (NULL != $startTimestamp) { $query .= "AND date >= {$startTimestamp} "; } if (NULL != $endTimestamp) { $query .= "AND date <= {$endTimestamp} "; } $query .= ' ORDER BY bugid'; $result = SqlWrapper::getInstance()->sql_query($query); if (!$result) { echo '<span style="color:red">ERROR: Query FAILED</span>'; exit; } $timeTracks = array(); while ($row = SqlWrapper::getInstance()->sql_fetch_object($result)) { $timeTracks[$row->id] = TimeTrackCache::getInstance()->getTimeTrack($row->id, $row); } return $timeTracks; } } IssueSelection::staticInit();