示例#1
0
    /**
     * Renders a single service's row.
     *
     * @param string $serviceKey The service key to access the service.
     * @param array $serviceInformation registration information of the service.
     * @return string HTML row for the service.
     */
    protected function renderServiceRow($serviceKey, $serviceInformation)
    {
        $serviceDescription = '
			<p class="service-header">
				<span class="service-title">' . $serviceInformation['title'] . '</span> (' . $serviceInformation['extKey'] . ': ' . $serviceKey . ')
			</p>';
        if (!empty($serviceInformation['description'])) {
            $serviceDescription .= '<p class="service-description">' . $serviceInformation['description'] . '</p>';
        }
        $serviceSubtypes = $serviceInformation['serviceSubTypes'] ? implode(', ', $serviceInformation['serviceSubTypes']) : '-';
        $serviceOperatingSystem = $serviceInformation['os'] ?: $this->getLanguageService()->getLL('any');
        $serviceRequiredExecutables = $serviceInformation['exec'] ?: '-';
        $serviceAvailabilityClass = 'danger';
        $serviceAvailable = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_common.xlf:no');
        try {
            $serviceDetails = ExtensionManagementUtility::findServiceByKey($serviceKey);
            if ($serviceDetails['available']) {
                $serviceAvailabilityClass = 'success';
                $serviceAvailable = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_common.xlf:yes');
            }
        } catch (Exception $e) {
        }
        $serviceRow = '
			<tr class="service ' . $serviceAvailabilityClass . '">
				<td class="first-cell">' . $serviceDescription . '</td>
				<td class="cell">' . $serviceInformation['priority'] . '</td>
				<td class="cell">' . $serviceInformation['quality'] . '</td>
				<td class="cell">' . $serviceSubtypes . '</td>
				<td class="cell">' . $serviceOperatingSystem . '</td>
				<td class="cell">' . $serviceRequiredExecutables . '</td>
				<td class="last-cell">' . $serviceAvailable . '</td>
			</tr>';
        return $serviceRow;
    }