$server) { if (empty($server['host'])) { continue; } if (! empty($GLOBALS['server']) && (int) $GLOBALS['server'] === (int) $key) { $selected = 1; } else { $selected = 0; } if (! empty($server['verbose'])) { $label = $server['verbose']; } else { $label = $server['host']; if (! empty($server['port'])) { $label .= ':' . $server['port']; } } if (! empty($server['only_db'])) { if (! is_array($server['only_db'])) { $label .= ' - ' . $server['only_db']; // try to avoid displaying a too wide selector } elseif (count($server['only_db']) < 4) { $label .= ' - ' . implode(', ', $server['only_db']); } } if (! empty($server['user']) && $server['auth_type'] === 'config') { $label .= ' (' . $server['user'] . ')'; } if ($list) { if ($selected) { $servers['list'][] = [ 'selected' => true, 'label' => $label, ]; } else { $scriptName = Util::getScriptNameForOption($GLOBALS['cfg']['DefaultTabServer'], 'server'); $href = $scriptName . Url::getCommon( ['server' => $key], ! str_contains($scriptName, '?') ? '?' : '&' ); $servers['list'][] = [ 'href' => $href, 'label' => $label, ]; } } else { $servers['select'][] = [ 'value' => $key, 'selected' => $selected, 'label' => $label, ]; } } $renderDetails = [ 'not_only_options' => $not_only_options, 'omit_fieldset' => $omit_fieldset, 'servers' => $servers, ]; if ($not_only_options) { $renderDetails['form_action'] = $form_action; } $template = new Template(); return $template->render('server/select/index', $renderDetails); } }