123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- <?php
- /* vim: set expandtab sw=4 ts=4 sts=4: */
- /**
- * Config Authentication plugin for phpMyAdmin
- *
- * @package PhpMyAdmin-Authentication
- * @subpackage Config
- */
- if (! defined('PHPMYADMIN')) {
- exit;
- }
- /* Get the authentication interface */
- require_once 'libraries/plugins/AuthenticationPlugin.class.php';
- /**
- * Handles the config authentication method
- *
- * @package PhpMyAdmin-Authentication
- */
- class AuthenticationConfig extends AuthenticationPlugin
- {
- /**
- * Displays authentication form
- *
- * @return boolean always true
- */
- public function auth()
- {
- return true;
- }
- /**
- * Gets advanced authentication settings
- *
- * @return boolean always true
- */
- public function authCheck()
- {
- return true;
- }
- /**
- * Set the user and password after last checkings if required
- *
- * @return boolean always true
- */
- public function authSetUser()
- {
- return true;
- }
- /**
- * User is not allowed to login to MySQL -> authentication failed
- *
- * @global string the MySQL error message PHP returns
- * @global string the connection type (persistent or not)
- * @global string the MySQL server port to use
- * @global string the MySQL socket port to use
- * @global array the current server settings
- * @global string the font face to use in case of failure
- * @global string the default font size to use in case of failure
- * @global string the big font size to use in case of failure
- * @global boolean tell the "PMA_mysqlDie()" function headers have been
- * sent
- *
- * @return boolean always true (no return indeed)
- */
- public function authFails()
- {
- $conn_error = PMA_DBI_getError();
- if (! $conn_error) {
- $conn_error = __('Cannot connect: invalid settings.');
- }
- /* HTML header */
- $response = PMA_Response::getInstance();
- $response->getFooter()->setMinimal();
- $header = $response->getHeader();
- $header->setBodyId('loginform');
- $header->setTitle(__('Access denied'));
- $header->disableMenu();
- echo '<br /><br />
- <center>
- <h1>';
- echo sprintf(__('Welcome to %s'), ' phpMyAdmin ');
- echo '</h1>
- </center>
- <br />
- <table cellpadding="0" cellspacing="3" style="margin: 0 auto" width="80%">
- <tr>
- <td>';
- if (isset($GLOBALS['allowDeny_forbidden'])
- && $GLOBALS['allowDeny_forbidden']
- ) {
- trigger_error(__('Access denied'), E_USER_NOTICE);
- } else {
- // Check whether user has configured something
- if ($GLOBALS['PMA_Config']->source_mtime == 0) {
- echo '<p>' . sprintf(
- __(
- 'You probably did not create a configuration file.'
- . ' You might want to use the %1$ssetup script%2$s to'
- . ' create one.'
- ),
- '<a href="setup/">',
- '</a>'
- ) . '</p>' . "\n";
- } elseif (! isset($GLOBALS['errno'])
- || (isset($GLOBALS['errno']) && $GLOBALS['errno'] != 2002)
- && $GLOBALS['errno'] != 2003
- ) {
- // if we display the "Server not responding" error, do not confuse
- // users by telling them they have a settings problem
- // (note: it's true that they could have a badly typed host name,
- // but anyway the current message tells that the server
- // rejected the connection, which is not really what happened)
- // 2002 is the error given by mysqli
- // 2003 is the error given by mysql
- trigger_error(
- __(
- 'phpMyAdmin tried to connect to the MySQL server, and the'
- . ' server rejected the connection. You should check the'
- . ' host, username and password in your configuration and'
- . ' make sure that they correspond to the information given'
- . ' by the administrator of the MySQL server.'
- ), E_USER_WARNING
- );
- }
- echo PMA_Util::mysqlDie(
- $conn_error, '', true, '', false
- );
- }
- $GLOBALS['error_handler']->dispUserErrors();
- echo '</td>
- </tr>
- <tr>
- <td>' . "\n";
- echo '<a href="'
- . $GLOBALS['cfg']['DefaultTabServer']
- . PMA_generate_common_url(array()) . '" class="button disableAjax">'
- . __('Retry to connect')
- . '</a>' . "\n";
- echo '</td>
- </tr>' . "\n";
- if (count($GLOBALS['cfg']['Servers']) > 1) {
- // offer a chance to login to other servers if the current one failed
- include_once './libraries/select_server.lib.php';
- echo '<tr>' . "\n";
- echo ' <td>' . "\n";
- echo PMA_selectServer(true, true);
- echo ' </td>' . "\n";
- echo '</tr>' . "\n";
- }
- echo '</table>' . "\n";
- exit;
- return true;
- }
- /**
- * This method is called when any PluginManager to which the observer
- * is attached calls PluginManager::notify()
- *
- * @param SplSubject $subject The PluginManager notifying the observer
- * of an update.
- *
- * @return void
- */
- public function update (SplSubject $subject)
- {
- }
- }
|