Дозаливка
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||
/**
|
||||
* Creates the database interface required for database interctions
|
||||
* and add it to GLOBALS.
|
||||
*
|
||||
* @package PhpMyAdmin-DBI
|
||||
*/
|
||||
if (! defined('PHPMYADMIN')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
require_once './libraries/DatabaseInterface.class.php';
|
||||
|
||||
$extension = null;
|
||||
if (defined('TESTSUITE')) {
|
||||
/**
|
||||
* For testsuite we use dummy driver which can fake some queries.
|
||||
*/
|
||||
include_once './libraries/dbi/DBIDummy.class.php';
|
||||
$extension = new PMA_DBI_Dummy();
|
||||
} else {
|
||||
|
||||
/**
|
||||
* check for requested extension
|
||||
*/
|
||||
$extensionName = $GLOBALS['cfg']['Server']['extension'];
|
||||
if (! PMA_DatabaseInterface::checkDbExtension($extensionName)) {
|
||||
|
||||
// if it fails try alternative extension ...
|
||||
// and display an error ...
|
||||
$docurl = PMA_Util::getDocuLink('faq', 'faqmysql');
|
||||
$doclink = sprintf(
|
||||
__('See %sour documentation%s for more information.'),
|
||||
'[a@' . $docurl . '@documentation]',
|
||||
'[/a]'
|
||||
);
|
||||
|
||||
/**
|
||||
* @todo add different messages for alternative extension
|
||||
* and complete fail (no alternative extension too)
|
||||
*/
|
||||
PMA_warnMissingExtension(
|
||||
$extensionName,
|
||||
false,
|
||||
$doclink
|
||||
);
|
||||
|
||||
if ($extensionName === 'mysql') {
|
||||
$alternativ_extension = 'mysqli';
|
||||
} else {
|
||||
$alternativ_extension = 'mysql';
|
||||
}
|
||||
|
||||
if (! PMA_DatabaseInterface::checkDbExtension($alternativ_extension)) {
|
||||
// if alternative fails too ...
|
||||
PMA_warnMissingExtension(
|
||||
$extensionName,
|
||||
true,
|
||||
$doclink
|
||||
);
|
||||
}
|
||||
|
||||
$GLOBALS['cfg']['Server']['extension'] = $alternativ_extension;
|
||||
unset($alternativ_extension);
|
||||
}
|
||||
|
||||
/**
|
||||
* Including The DBI Plugin
|
||||
*/
|
||||
switch($GLOBALS['cfg']['Server']['extension']) {
|
||||
case 'mysql' :
|
||||
include_once './libraries/dbi/DBIMysql.class.php';
|
||||
$extension = new PMA_DBI_Mysql();
|
||||
break;
|
||||
case 'mysqli' :
|
||||
include_once './libraries/dbi/DBIMysqli.class.php';
|
||||
$extension = new PMA_DBI_Mysqli();
|
||||
break;
|
||||
case 'drizzle' :
|
||||
include_once './libraries/dbi/DBIDrizzle.class.php';
|
||||
$extension = new PMA_DBI_Drizzle();
|
||||
break;
|
||||
}
|
||||
}
|
||||
$GLOBALS['dbi'] = new PMA_DatabaseInterface($extension);
|
||||
?>
|
||||
Reference in New Issue
Block a user