// and there is nothing in the verbose server name // or the host field, then generate a name for the server // in the form of "Server 2", localized of course! if ($each_server['connect_type'] == 'socket' && empty($each_server['host']) && empty($each_server['verbose'])) { $each_server['verbose'] = sprintf(__('Server %d'), $server_index); } $new_servers[$server_index] = $each_server; } $cfg['Servers'] = $new_servers; unset($new_servers, $server_index, $each_server); } // Cleanup unset($default_server); /******************************************************************************/ /* setup themes LABEL_theme_setup */ ThemeManager::initializeTheme(); if (!defined('PMA_MINIMUM_COMMON')) { /** * Character set conversion. */ include_once './libraries/charset_conversion.lib.php'; /** * Lookup server by name * (see FAQ 4.8) */ if (!empty($_REQUEST['server']) && is_string($_REQUEST['server']) && !is_numeric($_REQUEST['server'])) { foreach ($cfg['Servers'] as $i => $server) { $verboseToLower = mb_strtolower($server['verbose']); $serverToLower = mb_strtolower($_REQUEST['server']); if ($server['host'] == $_REQUEST['server'] || $server['verbose'] == $_REQUEST['server'] || $verboseToLower == $serverToLower || md5($verboseToLower) === $serverToLower) { $_REQUEST['server'] = $i;
/** * Test for getFallBackTheme * * @return void */ public function testGetFallBackTheme() { $tm = new ThemeManager(); $this->assertInstanceOf('PMA\\libraries\\Theme', $tm->getFallBackTheme()); }
echo '<input type="hidden" name="import_merge" value="1" />'; } if ($return_url) { echo '<input type="hidden" name="return_url" value="', htmlspecialchars($return_url), '" />'; } echo '<p>'; echo __('Do you want to import remaining settings?'); echo '</p>'; echo '<input type="submit" name="submit_import" value="', __('Yes'), '" />'; echo '<input type="submit" name="submit_ignore" value="', __('No'), '" />'; echo '</form>'; exit; } // check for ThemeDefault and fontsize $params = array(); $tmanager = ThemeManager::getInstance(); if (isset($config['ThemeDefault']) && $tmanager->theme->getId() != $config['ThemeDefault'] && $tmanager->checkTheme($config['ThemeDefault'])) { $tmanager->setActiveTheme($config['ThemeDefault']); $tmanager->setThemeCookie(); } if (isset($config['fontsize']) && $config['fontsize'] != $GLOBALS['PMA_Config']->get('fontsize')) { $params['set_fontsize'] = $config['fontsize']; } if (isset($config['lang']) && $config['lang'] != $GLOBALS['lang']) { $params['lang'] = $config['lang']; } if (isset($config['collation_connection']) && $config['collation_connection'] != $GLOBALS['collation_connection']) { $params['collation_connection'] = $config['collation_connection']; } // save settings $result = PMA_saveUserprefs($cf->getConfigArray());
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Displays list of themes. * * @package PhpMyAdmin */ use PMA\libraries\ThemeManager; /** * get some globals */ require './libraries/common.inc.php'; $response = PMA\libraries\Response::getInstance(); $response->getFooter()->setMinimal(); $header = $response->getHeader(); $header->setBodyId('bodythemes'); $header->setTitle('phpMyAdmin - ' . __('Theme')); $header->disableMenuAndConsole(); $hash = '#pma_' . preg_replace('/([0-9]*)\\.([0-9]*)\\..*/', '\\1_\\2', PMA_VERSION); $url = PMA_linkURL('https://www.phpmyadmin.net/themes/') . $hash; $output = '<h1>phpMyAdmin - ' . __('Theme') . '</h1>'; $output .= '<p>'; $output .= '<a href="' . $url . '" rel="noopener noreferrer" target="_blank">'; $output .= __('Get more themes!'); $output .= '</a>'; $output .= '</p>'; $output .= ThemeManager::getInstance()->getPrintPreviews(); $response->addHTML($output);
$cfg['Server'] = $cfg['Servers'][$GLOBALS['server']]; } else { $GLOBALS['server'] = 0; $cfg['Server'] = array(); } } $GLOBALS['url_params']['server'] = $GLOBALS['server']; /** * save some settings in cookies * @todo should be done in PMA\libraries\Config */ $GLOBALS['PMA_Config']->setCookie('pma_lang', $GLOBALS['lang']); if (isset($GLOBALS['collation_connection'])) { $GLOBALS['PMA_Config']->setCookie('pma_collation_connection', $GLOBALS['collation_connection']); } ThemeManager::getInstance()->setThemeCookie(); if (!empty($cfg['Server'])) { /** * Loads the proper database interface for this server */ include_once './libraries/database_interface.inc.php'; // get LoginCookieValidity from preferences cache // no generic solution for loading preferences from cache as some settings // need to be kept for processing in // PMA\libraries\Config::loadUserPreferences() $cache_key = 'server_' . $GLOBALS['server']; if (isset($_SESSION['cache'][$cache_key]['userprefs']['LoginCookieValidity'])) { $value = $_SESSION['cache'][$cache_key]['userprefs']['LoginCookieValidity']; $GLOBALS['PMA_Config']->set('LoginCookieValidity', $value); $GLOBALS['cfg']['LoginCookieValidity'] = $value; unset($value);
echo '</ul>'; echo '</div>'; } echo '<div class="group">'; echo '<h2>', __('Appearance settings'), '</h2>'; echo ' <ul>'; // Displays language selection combo if (empty($cfg['Lang'])) { echo '<li id="li_select_lang" class="no_bullets">'; echo PMA\libraries\Util::getImage('s_lang.png'), " ", LanguageManager::getInstance()->getSelectorDisplay(); echo '</li>'; } // ThemeManager if available if ($GLOBALS['cfg']['ThemeManager']) { echo '<li id="li_select_theme" class="no_bullets">'; echo PMA\libraries\Util::getImage('s_theme.png'), " ", ThemeManager::getInstance()->getHtmlSelectBox(); echo '</li>'; } echo '<li id="li_select_fontsize">'; echo PMA\libraries\Config::getFontsizeForm(); echo '</li>'; echo '</ul>'; // User preferences if ($server > 0) { echo '<ul>'; PMA_printListItem(PMA\libraries\Util::getImage('b_tblops.png') . " " . __('More settings'), 'li_user_preferences', 'prefs_manage.php' . $common_url_query, null, null, null, "no_bullets"); echo '</ul>'; } echo '</div>'; echo '</div>'; echo '<div id="main_pane_right">';
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Main stylesheet loader * * @package PhpMyAdmin */ use PMA\libraries\OutputBuffering; use PMA\libraries\ThemeManager; /** * */ define('PMA_MINIMUM_COMMON', true); require_once 'libraries/common.inc.php'; $buffer = OutputBuffering::getInstance(); $buffer->start(); register_shutdown_function(function () { echo OutputBuffering::getInstance()->getContents(); }); // Send correct type: header('Content-Type: text/css; charset=UTF-8'); // Cache output in client - the nocache query parameter makes sure that this // file is reloaded when config changes header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT'); ThemeManager::getInstance()->printCss();