protected function initContent() { $this->setTitle('Projects'); $projects = $this->getAction()->getData(); $html = '<blockquote><p>Below is an overview of all registered projects,' . ' sorted alphabetically by name.</p></blockquote>' . '<table class="table table-striped">' . '<thead><tr>' . '<th>Project name</th>' . '<th class="span4">Latest job</th>' . '</tr></thead>' . '<tbody>'; foreach ($projects as $project) { $job = $project['job']; $html .= '<tr>' . '<td><a href="' . htmlspecialchars(swarmpath("project/{$project['id']}")) . '">' . htmlspecialchars($project['displayTitle']) . '</a></td>'; if (!$job) { $html .= '<td>N/A</td>'; } else { $html .= '<td class="swarm-status-cell swarm-jobstatus-cell"><div class="swarm-status swarm-status-' . $job['summary'] . '">' . JobPage::getStatusIconHtml($job['summary']) . html_tag('a', array('href' => $job['info']['viewUrl'], 'title' => $job['info']['nameText']), 'Job #' . $job['info']['id']) . '</div></td>'; } $html .= '</tr>'; } $html .= '</tbody></table>'; return $html; }
/** * @param Array $data Details data from ClientsAction * @return string: HTML */ protected function showDetails($data) { $html = '<div class="row">'; foreach ($data['clients'] as $client) { $displayInfo = $client['uaData']['displayInfo']; $html .= '<div class="span4 swarm-client"><div class="well">' . '<div class="swarm-client-icon">' . BrowserInfo::buildIconHtml($displayInfo, array('wrap' => false)) . '</div>' . '<div class="swarm-client-info">' . '<p class="swarm-client-title">' . htmlspecialchars($displayInfo['title']) . '</p>' . '<table class="table table-condensed">' . '<tbody>' . '<tr><th>Last ping</th><td>' . self::getPrettyDateHtml($client, 'pinged') . '</td></tr>' . '<tr><th>Run</th>' . (!$client['lastResult'] ? '<td><span class="muted">Waiting for runs...</span></td>' : '<td class="swarm-status-' . $client['lastResult']['status'] . '">' . html_tag_open('a', array('href' => $client['lastResult']['viewUrl'])) . htmlspecialchars("#{$client['lastResult']['id']}") . ' ' . JobPage::getStatusIconHtml($client['lastResult']['status']) . '</a></td>') . '</tr>' . '<tr><th>Connected</th><td>' . self::getPrettyDateHtml($client, 'connected') . '</td></tr>' . '</tbody>' . '</table>' . '</div>' . '<div class="clearfix"><a href="' . htmlspecialchars($client['viewUrl']) . '" class="pull-right">Details »</a></div>' . '</div></div>'; } return $html . '</div>'; }