| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | 
							- <?php
 
- /**
 
-  * Code for displaying server selection
 
-  */
 
- declare(strict_types=1);
 
- namespace PhpMyAdmin\Server;
 
- use PhpMyAdmin\Template;
 
- use PhpMyAdmin\Url;
 
- use PhpMyAdmin\Util;
 
- use function count;
 
- use function implode;
 
- use function is_array;
 
- use function str_contains;
 
- /**
 
-  * Displays the MySQL servers choice form
 
-  */
 
- class Select
 
- {
 
-     /**
 
-      * Renders the server selection in list or selectbox form, or option tags only
 
-      *
 
-      * @param bool $not_only_options whether to include form tags or not
 
-      * @param bool $omit_fieldset    whether to omit fieldset tag or not
 
-      *
 
-      * @return string
 
-      */
 
-     public static function render($not_only_options, $omit_fieldset)
 
-     {
 
-         // Show as list?
 
-         if ($not_only_options) {
 
-             $list = $GLOBALS['cfg']['DisplayServersList'];
 
-             $not_only_options = ! $list;
 
-         } else {
 
-             $list = false;
 
-         }
 
-         $form_action = '';
 
-         if ($not_only_options) {
 
-             $form_action = Util::getScriptNameForOption($GLOBALS['cfg']['DefaultTabServer'], 'server');
 
-         }
 
-         $servers = [];
 
-         foreach ($GLOBALS['cfg']['Servers'] as $key => $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);
 
-     }
 
- }
 
 
  |