/**
* @param int $id
*/
public function xListTasksAction($id = 0)
{
$sql = "\n SELECT bt.*, (SELECT EXISTS (SELECT 1 FROM servers WHERE server_id = bt.server_id)) as server_exists\n FROM bundle_tasks AS bt\n LEFT JOIN farms AS f ON f.id = bt.farm_id\n WHERE bt.env_id = ?\n AND :FILTER:\n AND (bt.farm_id IS NULL OR bt.farm_id IS NOT NULL AND {$this->request->getFarmSqlQuery()})\n ";
$args = [$this->getEnvironmentId()];
if ($id) {
$sql .= " AND bt.id = ?";
$args[] = $id;
}
$response = $this->buildResponseFromSql2($sql, ['id', 'server_id', 'rolename', 'status', 'os_family', 'dtadded', 'dtstarted', 'created_by_email'], ['bt.id', 'rolename'], $args);
foreach ($response["data"] as &$row) {
$row['dtadded'] = Scalr_Util_DateTime::convertTz($row['dtadded']);
if (!$row['bundle_type']) {
$row['bundle_type'] = "*";
}
if ($row['dtfinished'] && $row['dtstarted']) {
$row['duration'] = Scalr_Util_DateTime::getDateTimeDiff($row['dtfinished'], $row['dtstarted']);
}
if ($row['dtfinished']) {
$row['dtfinished'] = Scalr_Util_DateTime::convertTz($row['dtfinished']);
}
if ($row['dtstarted']) {
$row['dtstarted'] = Scalr_Util_DateTime::convertTz($row['dtstarted']);
}
}
$this->response->data($response);
}