diff options
29 files changed, 109 insertions, 95 deletions
diff --git a/libraries/DatabaseInterface.class.php b/libraries/DatabaseInterface.class.php index 63a3ba0145..3df3d7292a 100644 --- a/libraries/DatabaseInterface.class.php +++ b/libraries/DatabaseInterface.class.php @@ -1,7 +1,7 @@ <?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** - * Common Option Constants For DBI Functions + * Main interface for database interactions * * @package PhpMyAdmin-DBI */ @@ -9,73 +9,6 @@ if (! defined('PHPMYADMIN')) { exit; } -$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 ... - - /** - * @todo add different messages for alternative extension - * and complete fail (no alternative extension too) - */ - PMA_warnMissingExtension( - $extensionName, - false, - PMA_Util::showDocu('faq', 'faqmysql') - ); - - if ($extensionName === 'mysql') { - $alternativ_extension = 'mysqli'; - } else { - $alternativ_extension = 'mysql'; - } - - if (! PMA_DatabaseInterface::checkDbExtension($alternativ_extension)) { - // if alternative fails too ... - PMA_warnMissingExtension( - $extensionName, - true, - PMA_Util::showDocu('faq', 'faqmysql') - ); - } - - $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); - /** * Main interface for database interactions * diff --git a/libraries/common.inc.php b/libraries/common.inc.php index 0075c71424..a3ce8c8f6b 100644 --- a/libraries/common.inc.php +++ b/libraries/common.inc.php @@ -816,7 +816,7 @@ if (! defined('PMA_MINIMUM_COMMON')) { /** * Loads the proper database interface for this server */ - include_once './libraries/DatabaseInterface.class.php'; + include_once './libraries/database_interface.inc.php'; include_once './libraries/logging.lib.php'; diff --git a/libraries/database_interface.inc.php b/libraries/database_interface.inc.php new file mode 100644 index 0000000000..5434bf642f --- /dev/null +++ b/libraries/database_interface.inc.php @@ -0,0 +1,81 @@ +<?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 ... + + /** + * @todo add different messages for alternative extension + * and complete fail (no alternative extension too) + */ + PMA_warnMissingExtension( + $extensionName, + false, + PMA_Util::showDocu('faq', 'faqmysql') + ); + + if ($extensionName === 'mysql') { + $alternativ_extension = 'mysqli'; + } else { + $alternativ_extension = 'mysql'; + } + + if (! PMA_DatabaseInterface::checkDbExtension($alternativ_extension)) { + // if alternative fails too ... + PMA_warnMissingExtension( + $extensionName, + true, + PMA_Util::showDocu('faq', 'faqmysql') + ); + } + + $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); +?>
\ No newline at end of file diff --git a/test/classes/PMA_DBQbe_test.php b/test/classes/PMA_DBQbe_test.php index 269bfe3622..fd0a8fc15c 100644 --- a/test/classes/PMA_DBQbe_test.php +++ b/test/classes/PMA_DBQbe_test.php @@ -13,7 +13,7 @@ require_once 'libraries/DBQbe.class.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Util.class.php'; require_once 'libraries/core.lib.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/relation.lib.php'; diff --git a/test/classes/PMA_DbSearch_test.php b/test/classes/PMA_DbSearch_test.php index 36e25915f1..cf29cafe17 100644 --- a/test/classes/PMA_DbSearch_test.php +++ b/test/classes/PMA_DbSearch_test.php @@ -15,7 +15,7 @@ require_once 'libraries/Util.class.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/core.lib.php'; require_once 'libraries/Theme.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; /** diff --git a/test/classes/PMA_Header_test.php b/test/classes/PMA_Header_test.php index 9149af08da..64a5af057f 100644 --- a/test/classes/PMA_Header_test.php +++ b/test/classes/PMA_Header_test.php @@ -13,7 +13,7 @@ require_once 'libraries/sanitizing.lib.php'; require_once 'libraries/core.lib.php'; require_once 'libraries/Header.class.php'; require_once 'libraries/Table.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/Util.class.php'; require_once 'libraries/Config.class.php'; diff --git a/test/classes/PMA_Menu_test.php b/test/classes/PMA_Menu_test.php index ef07768ec3..aa07a75fc5 100644 --- a/test/classes/PMA_Menu_test.php +++ b/test/classes/PMA_Menu_test.php @@ -13,7 +13,7 @@ require_once 'libraries/sanitizing.lib.php'; require_once 'libraries/core.lib.php'; require_once 'libraries/Menu.class.php'; require_once 'libraries/Table.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/Util.class.php'; require_once 'libraries/Theme.class.php'; diff --git a/test/classes/PMA_StorageEngine_test.php b/test/classes/PMA_StorageEngine_test.php index dff0f8deb5..58b9fd77fd 100644 --- a/test/classes/PMA_StorageEngine_test.php +++ b/test/classes/PMA_StorageEngine_test.php @@ -12,7 +12,7 @@ require_once 'libraries/StorageEngine.class.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Util.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; /** diff --git a/test/classes/PMA_Table_test.php b/test/classes/PMA_Table_test.php index 7383574ded..1e36a79bd5 100644 --- a/test/classes/PMA_Table_test.php +++ b/test/classes/PMA_Table_test.php @@ -11,7 +11,7 @@ require_once 'libraries/Table.class.php'; require_once 'libraries/Util.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/Theme.class.php'; diff --git a/test/classes/PMA_Types_Drizzle_test.php b/test/classes/PMA_Types_Drizzle_test.php index 71ebe15cb1..2b8aff6780 100644 --- a/test/classes/PMA_Types_Drizzle_test.php +++ b/test/classes/PMA_Types_Drizzle_test.php @@ -11,7 +11,7 @@ require_once 'libraries/Types.class.php'; require_once 'libraries/php-gettext/gettext.inc'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_Types_Drizzle_Test extends PHPUnit_Framework_TestCase diff --git a/test/classes/navigation/PMA_Node_test.php b/test/classes/navigation/PMA_Node_test.php index b58b1af873..856a1e3803 100644 --- a/test/classes/navigation/PMA_Node_test.php +++ b/test/classes/navigation/PMA_Node_test.php @@ -9,7 +9,7 @@ require_once 'libraries/navigation/NodeFactory.class.php'; require_once 'libraries/Util.class.php'; require_once 'libraries/Theme.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; class Node_Test extends PHPUnit_Framework_TestCase diff --git a/test/engines/PMA_StorageEngine_bdb_test.php b/test/engines/PMA_StorageEngine_bdb_test.php index 41d5f151fb..649f4d3c13 100644 --- a/test/engines/PMA_StorageEngine_bdb_test.php +++ b/test/engines/PMA_StorageEngine_bdb_test.php @@ -12,7 +12,7 @@ require_once 'libraries/StorageEngine.class.php'; require_once 'libraries/engines/bdb.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_StorageEngine_bdb_Test extends PHPUnit_Framework_TestCase diff --git a/test/engines/PMA_StorageEngine_binlog_test.php b/test/engines/PMA_StorageEngine_binlog_test.php index ba2daaf711..23c5c8daef 100644 --- a/test/engines/PMA_StorageEngine_binlog_test.php +++ b/test/engines/PMA_StorageEngine_binlog_test.php @@ -11,7 +11,7 @@ require_once 'libraries/StorageEngine.class.php'; require_once 'libraries/engines/binlog.lib.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_StorageEngine_binlog_Test extends PHPUnit_Framework_TestCase diff --git a/test/engines/PMA_StorageEngine_innodb_test.php b/test/engines/PMA_StorageEngine_innodb_test.php index 91b6bc0de0..8cef646dbb 100644 --- a/test/engines/PMA_StorageEngine_innodb_test.php +++ b/test/engines/PMA_StorageEngine_innodb_test.php @@ -13,7 +13,7 @@ require_once 'libraries/StorageEngine.class.php'; require_once 'libraries/engines/innodb.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Util.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_StorageEngine_innodb_Test extends PHPUnit_Framework_TestCase diff --git a/test/engines/PMA_StorageEngine_memory_test.php b/test/engines/PMA_StorageEngine_memory_test.php index b9789e606d..242fcc8aad 100644 --- a/test/engines/PMA_StorageEngine_memory_test.php +++ b/test/engines/PMA_StorageEngine_memory_test.php @@ -12,7 +12,7 @@ require_once 'libraries/StorageEngine.class.php'; require_once 'libraries/engines/memory.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_StorageEngine_memory_Test extends PHPUnit_Framework_TestCase diff --git a/test/engines/PMA_StorageEngine_mrg_myisam_test.php b/test/engines/PMA_StorageEngine_mrg_myisam_test.php index 639797fec9..ddd6a4aad3 100644 --- a/test/engines/PMA_StorageEngine_mrg_myisam_test.php +++ b/test/engines/PMA_StorageEngine_mrg_myisam_test.php @@ -11,7 +11,7 @@ require_once 'libraries/StorageEngine.class.php'; require_once 'libraries/engines/mrg_myisam.lib.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_StorageEngine_mrg_myisam_Test extends PHPUnit_Framework_TestCase diff --git a/test/engines/PMA_StorageEngine_myisam_test.php b/test/engines/PMA_StorageEngine_myisam_test.php index f397e330b9..b7e06f0dd2 100644 --- a/test/engines/PMA_StorageEngine_myisam_test.php +++ b/test/engines/PMA_StorageEngine_myisam_test.php @@ -12,7 +12,7 @@ require_once 'libraries/StorageEngine.class.php'; require_once 'libraries/engines/myisam.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_StorageEngine_myisam_Test extends PHPUnit_Framework_TestCase diff --git a/test/engines/PMA_StorageEngine_ndbcluster_test.php b/test/engines/PMA_StorageEngine_ndbcluster_test.php index e88d5590c4..0df165dd33 100644 --- a/test/engines/PMA_StorageEngine_ndbcluster_test.php +++ b/test/engines/PMA_StorageEngine_ndbcluster_test.php @@ -12,7 +12,7 @@ require_once 'libraries/StorageEngine.class.php'; require_once 'libraries/engines/ndbcluster.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_StorageEngine_ndbcluster_Test extends PHPUnit_Framework_TestCase diff --git a/test/engines/PMA_StorageEngine_pbxt_test.php b/test/engines/PMA_StorageEngine_pbxt_test.php index fa81c3fbe3..f2610abc23 100644 --- a/test/engines/PMA_StorageEngine_pbxt_test.php +++ b/test/engines/PMA_StorageEngine_pbxt_test.php @@ -14,7 +14,7 @@ require_once 'libraries/engines/pbxt.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/Util.class.php'; require_once 'libraries/core.lib.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; class PMA_StorageEngine_pbxt_Test extends PHPUnit_Framework_TestCase diff --git a/test/libraries/PMA_bookmark_test.php b/test/libraries/PMA_bookmark_test.php index 85d04a3125..43a0b3607e 100644 --- a/test/libraries/PMA_bookmark_test.php +++ b/test/libraries/PMA_bookmark_test.php @@ -11,7 +11,7 @@ */ require_once 'libraries/Util.class.php'; require_once 'libraries/php-gettext/gettext.inc'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/relation.lib.php'; diff --git a/test/libraries/PMA_build_html_for_db_test.php b/test/libraries/PMA_build_html_for_db_test.php index 3b6b56b4c5..44428c64af 100644 --- a/test/libraries/PMA_build_html_for_db_test.php +++ b/test/libraries/PMA_build_html_for_db_test.php @@ -16,7 +16,7 @@ require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/build_html_for_db.lib.php'; require_once 'libraries/js_escape.lib.php'; require_once 'libraries/Theme.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/Types.class.php'; require_once 'libraries/mysql_charsets.lib.php'; diff --git a/test/libraries/PMA_operations_test.php b/test/libraries/PMA_operations_test.php index 970c53b382..4ae570959a 100644 --- a/test/libraries/PMA_operations_test.php +++ b/test/libraries/PMA_operations_test.php @@ -17,7 +17,7 @@ require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/relation.lib.php'; require_once 'libraries/Util.class.php'; require_once 'libraries/Theme.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/mysql_charsets.lib.php'; diff --git a/test/libraries/PMA_transformation_test.php b/test/libraries/PMA_transformation_test.php index 8a319dc803..87d87bf58a 100644 --- a/test/libraries/PMA_transformation_test.php +++ b/test/libraries/PMA_transformation_test.php @@ -11,7 +11,7 @@ */ require_once 'libraries/transformations.lib.php'; require_once 'libraries/Util.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/relation.lib.php'; require_once 'libraries/Theme.class.php'; diff --git a/test/libraries/core/PMA_getTableCount_test_dis.php b/test/libraries/core/PMA_getTableCount_test_dis.php index 4a445f21ac..51be938320 100644 --- a/test/libraries/core/PMA_getTableCount_test_dis.php +++ b/test/libraries/core/PMA_getTableCount_test_dis.php @@ -25,7 +25,7 @@ require_once 'libraries/Config.class.php'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/Table.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'config.sample.inc.php'; diff --git a/test/libraries/database_interface_test.php b/test/libraries/database_interface_test.php index 838fdb140b..48912e8337 100644 --- a/test/libraries/database_interface_test.php +++ b/test/libraries/database_interface_test.php @@ -10,7 +10,7 @@ * Include to test. */ require_once 'libraries/php-gettext/gettext.inc'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; /** diff --git a/test/libraries/rte/PMA_RTN_getEditorForm_test.php b/test/libraries/rte/PMA_RTN_getEditorForm_test.php index 6160555bb2..90f92ff0b8 100644 --- a/test/libraries/rte/PMA_RTN_getEditorForm_test.php +++ b/test/libraries/rte/PMA_RTN_getEditorForm_test.php @@ -11,7 +11,7 @@ require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/url_generating.lib.php'; require_once './libraries/Types.class.php'; require_once 'libraries/Theme.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; require_once 'libraries/mysql_charsets.lib.php'; /* diff --git a/test/libraries/rte/PMA_RTN_getExecuteForm_test.php b/test/libraries/rte/PMA_RTN_getExecuteForm_test.php index f0c4f2044f..c24f5458f3 100644 --- a/test/libraries/rte/PMA_RTN_getExecuteForm_test.php +++ b/test/libraries/rte/PMA_RTN_getExecuteForm_test.php @@ -11,7 +11,7 @@ require_once 'libraries/sqlparser.lib.php'; require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/url_generating.lib.php'; require_once './libraries/Types.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; /* * Include to test. diff --git a/test/libraries/rte/PMA_TRI_getEditorForm_test.php b/test/libraries/rte/PMA_TRI_getEditorForm_test.php index 4a44b337d7..062ed6bf2a 100644 --- a/test/libraries/rte/PMA_TRI_getEditorForm_test.php +++ b/test/libraries/rte/PMA_TRI_getEditorForm_test.php @@ -8,7 +8,7 @@ require_once 'libraries/php-gettext/gettext.inc'; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/Util.class.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; /* * Include to test. diff --git a/test/libraries/rte/PMA_TRI_getQueryFromRequest_test.php b/test/libraries/rte/PMA_TRI_getQueryFromRequest_test.php index cf22832d60..aa03eb4a91 100644 --- a/test/libraries/rte/PMA_TRI_getQueryFromRequest_test.php +++ b/test/libraries/rte/PMA_TRI_getQueryFromRequest_test.php @@ -20,7 +20,7 @@ require_once 'libraries/php-gettext/gettext.inc'; * Include to test. */ require_once 'libraries/rte/rte_triggers.lib.php'; -require_once 'libraries/DatabaseInterface.class.php'; +require_once 'libraries/database_interface.inc.php'; require_once 'libraries/Tracker.class.php'; |