/** * @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); }
public function xListTasksAction() { $this->request->defineParams(array('bundleTaskId' => array('type' => 'int'), 'sort' => array('type' => 'string', 'default' => 'id'), 'dir' => array('type' => 'string', 'default' => 'DESC'))); $sql = "SELECT * FROM bundle_tasks WHERE env_id = '" . $this->getEnvironmentId() . "'"; if ($this->getParam('id') > 0) { $sql .= " AND id = " . $this->db->qstr($this->getParam('bundleTaskId')); } $response = $this->buildResponseFromSql($sql, array("server_id", "rolename", "failure_reason", "snapshot_id", "id")); foreach ($response["data"] as &$row) { $row['server_exists'] = DBServer::IsExists($row['server_id']); $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); }
public function xListTasksAction() { $this->request->defineParams(array('bundleTaskId' => array('type' => 'int'), 'sort' => array('type' => 'json', 'default' => array('property' => 'id', 'direction' => 'DESC')))); $sql = "SELECT * FROM bundle_tasks WHERE env_id = ?"; $args = array($this->getEnvironmentId()); if ($this->getParam('id') > 0) { $sql .= " AND id = ?"; $args[] = $this->getParam('bundleTaskId'); } $response = $this->buildResponseFromSql2($sql, array('id', 'server_id', 'rolename', 'status', 'os_family', 'dtadded', 'dtstarted', 'created_by_email'), array(), $args); foreach ($response["data"] as &$row) { $row['server_exists'] = DBServer::IsExists($row['server_id']); $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); }
/** * @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 = ? AND :FILTER:\n "; $args = [$this->getEnvironmentId()]; if ($id) { $sql .= " AND bt.id = ?"; $args[] = $id; } if (!$this->request->isAllowed(Acl::RESOURCE_FARMS)) { $q = ["f.id IS NULL"]; if ($this->request->isAllowed(Acl::RESOURCE_TEAM_FARMS)) { $t = array_map(function ($t) { return $t['id']; }, $this->user->getTeams()); if (count($t)) { $q[] = "f.team_id IN(" . join(',', $t) . ")"; } } if ($this->request->isAllowed(Acl::RESOURCE_OWN_FARMS)) { $q[] = "f.created_by_id = ?"; $args[] = $this->user->getId(); } $sql .= ' AND (' . join(' OR ', $q) . ')'; } $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); }