/** * @brief get status var and store successfulAgents * @param string $agentName * @return mixed[] */ protected function scanAgentStatus($agentName) { $successfulAgents = $this->agentDao->getSuccessfulAgentEntries($agentName, $this->uploadId); $vars['successfulAgents'] = $successfulAgents; $vars['uploadId'] = $this->uploadId; $vars['agentName'] = $agentName; if (!count($successfulAgents)) { $vars['isAgentRunning'] = count($this->agentDao->getRunningAgentIds($this->uploadId, $agentName)) > 0; return $vars; } $latestSuccessfulAgent = $successfulAgents[0]; $currentAgentRef = $this->agentDao->getCurrentAgentRef($agentName); $vars['currentAgentId'] = $currentAgentRef->getAgentId(); $vars['currentAgentRev'] = $currentAgentRef->getAgentRevision(); if ($currentAgentRef->getAgentId() != $latestSuccessfulAgent['agent_id']) { $runningJobs = $this->agentDao->getRunningAgentIds($this->uploadId, $agentName); $vars['isAgentRunning'] = in_array($currentAgentRef->getAgentId(), $runningJobs); } foreach ($successfulAgents as $agent) { $this->successfulScanners[$agentName][] = new AgentRef($agent['agent_id'], $agentName, $agent['agent_rev']); } return $vars; }