| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691 | 
							- <?php
 
- /* vim: set expandtab sw=4 ts=4 sts=4: */
 
- /**
 
-  * Main loader script
 
-  *
 
-  * @package PhpMyAdmin
 
-  */
 
- use PhpMyAdmin\Charsets;
 
- use PhpMyAdmin\Config;
 
- use PhpMyAdmin\Core;
 
- use PhpMyAdmin\Display\GitRevision;
 
- use PhpMyAdmin\LanguageManager;
 
- use PhpMyAdmin\Message;
 
- use PhpMyAdmin\RecentFavoriteTable;
 
- use PhpMyAdmin\Relation;
 
- use PhpMyAdmin\Response;
 
- use PhpMyAdmin\Sanitize;
 
- use PhpMyAdmin\Server\Select;
 
- use PhpMyAdmin\ThemeManager;
 
- use PhpMyAdmin\Url;
 
- use PhpMyAdmin\Util;
 
- use PhpMyAdmin\UserPreferences;
 
- /**
 
-  * Gets some core libraries and displays a top message if required
 
-  */
 
- require_once 'libraries/common.inc.php';
 
- /**
 
-  * pass variables to child pages
 
-  */
 
- $drops = array(
 
-     'lang',
 
-     'server',
 
-     'collation_connection',
 
-     'db',
 
-     'table'
 
- );
 
- foreach ($drops as $each_drop) {
 
-     if (array_key_exists($each_drop, $_GET)) {
 
-         unset($_GET[$each_drop]);
 
-     }
 
- }
 
- unset($drops, $each_drop);
 
- /*
 
-  * Black list of all scripts to which front-end must submit data.
 
-  * Such scripts must not be loaded on home page.
 
-  *
 
-  */
 
- $target_blacklist = array (
 
-     'import.php', 'export.php'
 
- );
 
- // If we have a valid target, let's load that script instead
 
- if (! empty($_REQUEST['target'])
 
-     && is_string($_REQUEST['target'])
 
-     && ! preg_match('/^index/', $_REQUEST['target'])
 
-     && ! in_array($_REQUEST['target'], $target_blacklist)
 
-     && Core::checkPageValidity($_REQUEST['target'], [], true)
 
- ) {
 
-     include $_REQUEST['target'];
 
-     exit;
 
- }
 
- if (isset($_REQUEST['ajax_request']) && ! empty($_REQUEST['access_time'])) {
 
-     exit;
 
- }
 
- // user selected font size
 
- if (isset($_POST['set_fontsize']) && preg_match('/^[0-9.]+(px|em|pt|\%)$/', $_POST['set_fontsize'])) {
 
-     $GLOBALS['PMA_Config']->setUserValue(
 
-         null,
 
-         'FontSize',
 
-         $_POST['set_fontsize'],
 
-         '82%'
 
-     );
 
-     header('Location: index.php' . Url::getCommonRaw());
 
-     exit();
 
- }
 
- // if user selected a theme
 
- if (isset($_POST['set_theme'])) {
 
-     $tmanager = ThemeManager::getInstance();
 
-     $tmanager->setActiveTheme($_POST['set_theme']);
 
-     $tmanager->setThemeCookie();
 
-     $userPreferences = new UserPreferences();
 
-     $prefs = $userPreferences->load();
 
-     $prefs["config_data"]["ThemeDefault"] = $_POST['set_theme'];
 
-     $userPreferences->save($prefs["config_data"]);
 
-     header('Location: index.php' . Url::getCommonRaw());
 
-     exit();
 
- }
 
- // Change collation connection
 
- if (isset($_POST['collation_connection'])) {
 
-     $GLOBALS['PMA_Config']->setUserValue(
 
-         null,
 
-         'DefaultConnectionCollation',
 
-         $_POST['collation_connection'],
 
-         'utf8mb4_unicode_ci'
 
-     );
 
-     header('Location: index.php' . Url::getCommonRaw());
 
-     exit();
 
- }
 
- // See FAQ 1.34
 
- if (! empty($_REQUEST['db'])) {
 
-     $page = null;
 
-     if (! empty($_REQUEST['table'])) {
 
-         $page = Util::getScriptNameForOption(
 
-             $GLOBALS['cfg']['DefaultTabTable'], 'table'
 
-         );
 
-     } else {
 
-         $page = Util::getScriptNameForOption(
 
-             $GLOBALS['cfg']['DefaultTabDatabase'], 'database'
 
-         );
 
-     }
 
-     include $page;
 
-     exit;
 
- }
 
- $response = Response::getInstance();
 
- /**
 
-  * Check if it is an ajax request to reload the recent tables list.
 
-  */
 
- if ($response->isAjax() && ! empty($_REQUEST['recent_table'])) {
 
-     $response->addJSON(
 
-         'list',
 
-         RecentFavoriteTable::getInstance('recent')->getHtmlList()
 
-     );
 
-     exit;
 
- }
 
- if ($GLOBALS['PMA_Config']->isGitRevision()) {
 
-     // If ajax request to get revision
 
-     if (isset($_REQUEST['git_revision']) && $response->isAjax()) {
 
-         GitRevision::display();
 
-         exit;
 
-     }
 
-     // Else show empty html
 
-     echo '<div id="is_git_revision"></div>';
 
- }
 
- // Handles some variables that may have been sent by the calling script
 
- $GLOBALS['db'] = '';
 
- $GLOBALS['table'] = '';
 
- $show_query = '1';
 
- // Any message to display?
 
- if (! empty($message)) {
 
-     echo Util::getMessage($message);
 
-     unset($message);
 
- }
 
- if (isset($_SESSION['partial_logout'])) {
 
-     Message::success(
 
-         __('You were logged out from one server, to logout completely from phpMyAdmin, you need to logout from all servers.')
 
-     )->display();
 
-     unset($_SESSION['partial_logout']);
 
- }
 
- $common_url_query =  Url::getCommon();
 
- $mysql_cur_user_and_host = '';
 
- // when $server > 0, a server has been chosen so we can display
 
- // all MySQL-related information
 
- if ($server > 0) {
 
-     include 'libraries/server_common.inc.php';
 
-     // Use the verbose name of the server instead of the hostname
 
-     // if a value is set
 
-     $server_info = '';
 
-     if (! empty($cfg['Server']['verbose'])) {
 
-         $server_info .= htmlspecialchars($cfg['Server']['verbose']);
 
-         if ($GLOBALS['cfg']['ShowServerInfo']) {
 
-             $server_info .= ' (';
 
-         }
 
-     }
 
-     if ($GLOBALS['cfg']['ShowServerInfo'] || empty($cfg['Server']['verbose'])) {
 
-         $server_info .= $GLOBALS['dbi']->getHostInfo();
 
-     }
 
-     if (! empty($cfg['Server']['verbose']) && $GLOBALS['cfg']['ShowServerInfo']) {
 
-         $server_info .= ')';
 
-     }
 
-     $mysql_cur_user_and_host = $GLOBALS['dbi']->fetchValue('SELECT USER();');
 
-     // should we add the port info here?
 
-     $short_server_info = (!empty($GLOBALS['cfg']['Server']['verbose'])
 
-                 ? $GLOBALS['cfg']['Server']['verbose']
 
-                 : $GLOBALS['cfg']['Server']['host']);
 
- }
 
- echo '<div id="maincontainer">' , "\n";
 
- // Anchor for favorite tables synchronization.
 
- echo RecentFavoriteTable::getInstance('favorite')->getHtmlSyncFavoriteTables();
 
- echo '<div id="main_pane_left">';
 
- if ($server > 0 || count($cfg['Servers']) > 1
 
- ) {
 
-     if ($cfg['DBG']['demo']) {
 
-         echo '<div class="group">';
 
-         echo '<h2>' , __('phpMyAdmin Demo Server') , '</h2>';
 
-         echo '<p class="cfg_dbg_demo">';
 
-         printf(
 
-             __(
 
-                 'You are using the demo server. You can do anything here, but '
 
-                 . 'please do not change root, debian-sys-maint and pma users. '
 
-                 . 'More information is available at %s.'
 
-             ),
 
-             '<a href="url.php?url=https://demo.phpmyadmin.net/" target="_blank" rel="noopener noreferrer">demo.phpmyadmin.net</a>'
 
-         );
 
-         echo '</p>';
 
-         echo '</div>';
 
-     }
 
-     echo '<div class="group">';
 
-     echo '<h2>' , __('General settings') , '</h2>';
 
-     echo '<ul>';
 
-     /**
 
-      * Displays the MySQL servers choice form
 
-      */
 
-     if ($cfg['ServerDefault'] == 0
 
-         || (! $cfg['NavigationDisplayServers']
 
-         && (count($cfg['Servers']) > 1
 
-         || ($server == 0 && count($cfg['Servers']) == 1)))
 
-     ) {
 
-         echo '<li id="li_select_server" class="no_bullets" >';
 
-         echo Util::getImage('s_host') , " "
 
-             , Select::render(true, true);
 
-         echo '</li>';
 
-     }
 
-     /**
 
-      * Displays the mysql server related links
 
-      */
 
-     if ($server > 0) {
 
-         include_once 'libraries/check_user_privileges.inc.php';
 
-         // Logout for advanced authentication
 
-         if ($cfg['Server']['auth_type'] != 'config') {
 
-             if ($cfg['ShowChgPassword']) {
 
-                 $conditional_class = 'ajax';
 
-                 Core::printListItem(
 
-                     Util::getImage('s_passwd') . " " . __(
 
-                         'Change password'
 
-                     ),
 
-                     'li_change_password',
 
-                     'user_password.php' . $common_url_query,
 
-                     null,
 
-                     null,
 
-                     'change_password_anchor',
 
-                     "no_bullets",
 
-                     $conditional_class
 
-                 );
 
-             }
 
-         } // end if
 
-         echo '    <li id="li_select_mysql_collation" class="no_bullets" >';
 
-         echo '        <form class="disableAjax" method="post" action="index.php">' , "\n"
 
-            . Url::getHiddenInputs(null, null, 4, 'collation_connection')
 
-            . '            <label for="select_collation_connection">' . "\n"
 
-            . '                ' . Util::getImage('s_asci')
 
-             . " " . __('Server connection collation') . "\n"
 
-            // put the doc link in the form so that it appears on the same line
 
-            . Util::showMySQLDocu('Charset-connection')
 
-            . ': ' .  "\n"
 
-            . '            </label>' . "\n"
 
-            . Charsets::getCollationDropdownBox(
 
-                $GLOBALS['dbi'],
 
-                $GLOBALS['cfg']['Server']['DisableIS'],
 
-                'collation_connection',
 
-                'select_collation_connection',
 
-                $collation_connection,
 
-                true,
 
-                true
 
-            )
 
-            . '        </form>' . "\n"
 
-            . '    </li>' . "\n";
 
-     } // end of if ($server > 0)
 
-     echo '</ul>';
 
-     echo '</div>';
 
- }
 
- echo '<div class="group">';
 
- echo '<h2>' , __('Appearance settings') , '</h2>';
 
- echo '  <ul>';
 
- // Displays language selection combo
 
- $language_manager = LanguageManager::getInstance();
 
- if (empty($cfg['Lang']) && $language_manager->hasChoice()) {
 
-     echo '<li id="li_select_lang" class="no_bullets">';
 
-     echo Util::getImage('s_lang') , " "
 
-         , $language_manager->getSelectorDisplay();
 
-     echo '</li>';
 
- }
 
- // ThemeManager if available
 
- if ($GLOBALS['cfg']['ThemeManager']) {
 
-     echo '<li id="li_select_theme" class="no_bullets">';
 
-     echo Util::getImage('s_theme') , " "
 
-             ,  ThemeManager::getInstance()->getHtmlSelectBox();
 
-     echo '</li>';
 
- }
 
- echo '<li id="li_select_fontsize">';
 
- echo Config::getFontsizeForm();
 
- echo '</li>';
 
- echo '</ul>';
 
- // User preferences
 
- if ($server > 0) {
 
-     echo '<ul>';
 
-     Core::printListItem(
 
-         Util::getImage('b_tblops') . " " . __(
 
-             '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">';
 
- if ($server > 0 && $GLOBALS['cfg']['ShowServerInfo']) {
 
-     echo '<div class="group">';
 
-     echo '<h2>' , __('Database server') , '</h2>';
 
-     echo '<ul>' , "\n";
 
-     Core::printListItem(
 
-         __('Server:') . ' ' . $server_info,
 
-         'li_server_info'
 
-     );
 
-     Core::printListItem(
 
-         __('Server type:') . ' ' . Util::getServerType(),
 
-         'li_server_type'
 
-     );
 
-     Core::printListItem(
 
-         __('Server connection:') . ' ' . Util::getServerSSL(),
 
-         'li_server_type'
 
-     );
 
-     Core::printListItem(
 
-         __('Server version:')
 
-         . ' '
 
-         . $GLOBALS['dbi']->getVersionString() . ' - ' . $GLOBALS['dbi']->getVersionComment(),
 
-         'li_server_version'
 
-     );
 
-     Core::printListItem(
 
-         __('Protocol version:') . ' ' . $GLOBALS['dbi']->getProtoInfo(),
 
-         'li_mysql_proto'
 
-     );
 
-     Core::printListItem(
 
-         __('User:') . ' ' . htmlspecialchars($mysql_cur_user_and_host),
 
-         'li_user_info'
 
-     );
 
-     echo '    <li id="li_select_mysql_charset">';
 
-     echo '        ' , __('Server charset:') , ' '
 
-        . '        <span lang="en" dir="ltr">';
 
-     $charset = Charsets::getServerCharset($GLOBALS['dbi']);
 
-     $charsets = Charsets::getMySQLCharsetsDescriptions(
 
-         $GLOBALS['dbi'],
 
-         $GLOBALS['cfg']['Server']['DisableIS']
 
-     );
 
-     echo '           ' , (isset($charsets[$charset]) ? $charsets[$charset] : '') , ' (' . $charset, ')';
 
-     echo '        </span>'
 
-        . '    </li>'
 
-        . '  </ul>'
 
-        . ' </div>';
 
- }
 
- if ($GLOBALS['cfg']['ShowServerInfo'] || $GLOBALS['cfg']['ShowPhpInfo']) {
 
-     echo '<div class="group">';
 
-     echo '<h2>' , __('Web server') , '</h2>';
 
-     echo '<ul>';
 
-     if ($GLOBALS['cfg']['ShowServerInfo']) {
 
-         Core::printListItem($_SERVER['SERVER_SOFTWARE'], 'li_web_server_software');
 
-         if ($server > 0) {
 
-             $client_version_str = $GLOBALS['dbi']->getClientInfo();
 
-             if (preg_match('#\d+\.\d+\.\d+#', $client_version_str)) {
 
-                 $client_version_str = 'libmysql - ' . $client_version_str;
 
-             }
 
-             Core::printListItem(
 
-                 __('Database client version:') . ' ' . $client_version_str,
 
-                 'li_mysql_client_version'
 
-             );
 
-             $php_ext_string = __('PHP extension:') . ' ';
 
-             $extensions = Util::listPHPExtensions();
 
-             foreach ($extensions as $extension) {
 
-                 $php_ext_string  .= '  ' . $extension
 
-                     . Util::showPHPDocu('book.' . $extension . '.php');
 
-             }
 
-             Core::printListItem(
 
-                 $php_ext_string,
 
-                 'li_used_php_extension'
 
-             );
 
-             $php_version_string = __('PHP version:') . ' ' . phpversion();
 
-             Core::printListItem(
 
-                 $php_version_string,
 
-                 'li_used_php_version'
 
-             );
 
-         }
 
-     }
 
-     if ($cfg['ShowPhpInfo']) {
 
-         Core::printListItem(
 
-             __('Show PHP information'),
 
-             'li_phpinfo',
 
-             'phpinfo.php' . $common_url_query,
 
-             null,
 
-             '_blank'
 
-         );
 
-     }
 
-     echo '  </ul>';
 
-     echo ' </div>';
 
- }
 
- echo '<div class="group pmagroup">';
 
- echo '<h2>phpMyAdmin</h2>';
 
- echo '<ul>';
 
- $class = null;
 
- if ($GLOBALS['cfg']['VersionCheck']) {
 
-     $class = 'jsversioncheck';
 
- }
 
- Core::printListItem(
 
-     __('Version information:') . ' <span class="version">' . PMA_VERSION . '</span>',
 
-     'li_pma_version',
 
-     null,
 
-     null,
 
-     null,
 
-     null,
 
-     $class
 
- );
 
- Core::printListItem(
 
-     __('Documentation'),
 
-     'li_pma_docs',
 
-     Util::getDocuLink('index'),
 
-     null,
 
-     '_blank'
 
- );
 
- // does not work if no target specified, don't know why
 
- Core::printListItem(
 
-     __('Official Homepage'),
 
-     'li_pma_homepage',
 
-     Core::linkURL('https://www.phpmyadmin.net/'),
 
-     null,
 
-     '_blank'
 
- );
 
- Core::printListItem(
 
-     __('Contribute'),
 
-     'li_pma_contribute',
 
-     Core::linkURL('https://www.phpmyadmin.net/contribute/'),
 
-     null,
 
-     '_blank'
 
- );
 
- Core::printListItem(
 
-     __('Get support'),
 
-     'li_pma_support',
 
-     Core::linkURL('https://www.phpmyadmin.net/support/'),
 
-     null,
 
-     '_blank'
 
- );
 
- Core::printListItem(
 
-     __('List of changes'),
 
-     'li_pma_changes',
 
-     'changelog.php' . Url::getCommon(),
 
-     null,
 
-     '_blank'
 
- );
 
- Core::printListItem(
 
-     __('License'),
 
-     'li_pma_license',
 
-     'license.php' . Url::getCommon(),
 
-     null,
 
-     '_blank'
 
- );
 
- echo '    </ul>';
 
- echo ' </div>';
 
- echo '</div>';
 
- echo '</div>';
 
- /**
 
-  * mbstring is used for handling multibytes inside parser, so it is good
 
-  * to tell user something might be broken without it, see bug #1063149.
 
-  */
 
- if (! extension_loaded('mbstring')) {
 
-     trigger_error(
 
-         __(
 
-             'The mbstring PHP extension was not found and you seem to be using'
 
-             . ' a multibyte charset. Without the mbstring extension phpMyAdmin'
 
-             . ' is unable to split strings correctly and it may result in'
 
-             . ' unexpected results.'
 
-         ),
 
-         E_USER_WARNING
 
-     );
 
- }
 
- /**
 
-  * Missing functionality
 
-  */
 
- if (! extension_loaded('curl') && ! ini_get('allow_url_fopen')) {
 
-     trigger_error(
 
-         __(
 
-             'The curl extension was not found and allow_url_fopen is '
 
-             . 'disabled. Due to this some features such as error reporting '
 
-             . 'or version check are disabled.'
 
-         )
 
-     );
 
- }
 
- if ($cfg['LoginCookieValidityDisableWarning'] == false) {
 
-     /**
 
-      * Check whether session.gc_maxlifetime limits session validity.
 
-      */
 
-     $gc_time = (int)ini_get('session.gc_maxlifetime');
 
-     if ($gc_time < $GLOBALS['cfg']['LoginCookieValidity'] ) {
 
-         trigger_error(
 
-             __(
 
-                 'Your PHP parameter [a@https://secure.php.net/manual/en/session.' .
 
-                 'configuration.php#ini.session.gc-maxlifetime@_blank]session.' .
 
-                 'gc_maxlifetime[/a] is lower than cookie validity configured ' .
 
-                 'in phpMyAdmin, because of this, your login might expire sooner ' .
 
-                 'than configured in phpMyAdmin.'
 
-             ),
 
-             E_USER_WARNING
 
-         );
 
-     }
 
- }
 
- /**
 
-  * Check whether LoginCookieValidity is limited by LoginCookieStore.
 
-  */
 
- if ($GLOBALS['cfg']['LoginCookieStore'] != 0
 
-     && $GLOBALS['cfg']['LoginCookieStore'] < $GLOBALS['cfg']['LoginCookieValidity']
 
- ) {
 
-     trigger_error(
 
-         __(
 
-             'Login cookie store is lower than cookie validity configured in ' .
 
-             'phpMyAdmin, because of this, your login will expire sooner than ' .
 
-             'configured in phpMyAdmin.'
 
-         ),
 
-         E_USER_WARNING
 
-     );
 
- }
 
- /**
 
-  * Check if user does not have defined blowfish secret and it is being used.
 
-  */
 
- if (! empty($_SESSION['encryption_key'])) {
 
-     if (empty($GLOBALS['cfg']['blowfish_secret'])) {
 
-         trigger_error(
 
-             __(
 
-                 'The configuration file now needs a secret passphrase (blowfish_secret).'
 
-             ),
 
-             E_USER_WARNING
 
-         );
 
-     } elseif (strlen($GLOBALS['cfg']['blowfish_secret']) < 32) {
 
-         trigger_error(
 
-             __(
 
-                 'The secret passphrase in configuration (blowfish_secret) is too short.'
 
-             ),
 
-             E_USER_WARNING
 
-         );
 
-     }
 
- }
 
- /**
 
-  * Check for existence of config directory which should not exist in
 
-  * production environment.
 
-  */
 
- if (@file_exists('config')) {
 
-     trigger_error(
 
-         __(
 
-             'Directory [code]config[/code], which is used by the setup script, ' .
 
-             'still exists in your phpMyAdmin directory. It is strongly ' .
 
-             'recommended to remove it once phpMyAdmin has been configured. ' .
 
-             'Otherwise the security of your server may be compromised by ' .
 
-             'unauthorized people downloading your configuration.'
 
-         ),
 
-         E_USER_WARNING
 
-     );
 
- }
 
- $relation = new Relation();
 
- if ($server > 0) {
 
-     $cfgRelation = $relation->getRelationsParam();
 
-     if (! $cfgRelation['allworks']
 
-         && $cfg['PmaNoRelation_DisableWarning'] == false
 
-     ) {
 
-         $msg_text = __(
 
-             'The phpMyAdmin configuration storage is not completely '
 
-             . 'configured, some extended features have been deactivated. '
 
-             . '%sFind out why%s. '
 
-         );
 
-         if ($cfg['ZeroConf'] == true) {
 
-             $msg_text .= '<br>' .
 
-                 __(
 
-                     'Or alternately go to \'Operations\' tab of any database '
 
-                     . 'to set it up there.'
 
-                 );
 
-         }
 
-         $msg = Message::notice($msg_text);
 
-         $msg->addParamHtml('<a href="./chk_rel.php" data-post="' . $common_url_query . '">');
 
-         $msg->addParamHtml('</a>');
 
-         /* Show error if user has configured something, notice elsewhere */
 
-         if (!empty($cfg['Servers'][$server]['pmadb'])) {
 
-             $msg->isError(true);
 
-         }
 
-         $msg->display();
 
-     } // end if
 
- }
 
- /**
 
-  * Warning about Suhosin only if its simulation mode is not enabled
 
-  */
 
- if ($cfg['SuhosinDisableWarning'] == false
 
-     && ini_get('suhosin.request.max_value_length')
 
-     && ini_get('suhosin.simulation') == '0'
 
- ) {
 
-     trigger_error(
 
-         sprintf(
 
-             __(
 
-                 'Server running with Suhosin. Please refer to %sdocumentation%s ' .
 
-                 'for possible issues.'
 
-             ),
 
-             '[doc@faq1-38]',
 
-             '[/doc]'
 
-         ),
 
-         E_USER_WARNING
 
-     );
 
- }
 
- /* Missing template cache */
 
- if (is_null($GLOBALS['PMA_Config']->getTempDir('twig'))) {
 
-     trigger_error(
 
-         sprintf(
 
-             __('The $cfg[\'TempDir\'] (%s) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.'),
 
-             $GLOBALS['PMA_Config']->get('TempDir')
 
-         ),
 
-         E_USER_WARNING
 
-     );
 
- }
 
- /**
 
-  * Warning about incomplete translations.
 
-  *
 
-  * The data file is created while creating release by ./scripts/remove-incomplete-mo
 
-  */
 
- if (@file_exists('libraries/language_stats.inc.php')) {
 
-     include 'libraries/language_stats.inc.php';
 
-     /*
 
-      * This message is intentionally not translated, because we're
 
-      * handling incomplete translations here and focus on english
 
-      * speaking users.
 
-      */
 
-     if (isset($GLOBALS['language_stats'][$lang])
 
-         && $GLOBALS['language_stats'][$lang] < $cfg['TranslationWarningThreshold']
 
-     ) {
 
-         trigger_error(
 
-             'You are using an incomplete translation, please help to make it '
 
-             . 'better by [a@https://www.phpmyadmin.net/translate/'
 
-             . '@_blank]contributing[/a].',
 
-             E_USER_NOTICE
 
-         );
 
-     }
 
- }
 
 
  |