BUG Using Session::set() for DB::set_alternative_database_name()

Setting session directly through $_SESSION relies on
session_autostart which might not be set on every environment,
and isn't consistent with other framework use.
This commit is contained in:
Ingo Schommer 2012-10-15 20:40:38 +02:00
parent 574c53d5ba
commit 35da873ad9

View File

@ -65,14 +65,14 @@ class DB {
* Set it to null to revert to the main database. * Set it to null to revert to the main database.
*/ */
public static function set_alternative_database_name($dbname) { public static function set_alternative_database_name($dbname) {
$_SESSION["alternativeDatabaseName"] = $dbname; Session::set("alternativeDatabaseName", $dbname);
} }
/** /**
* Get the name of the database in use * Get the name of the database in use
*/ */
public static function get_alternative_database_name() { public static function get_alternative_database_name() {
return $_SESSION["alternativeDatabaseName"]; return Session::get("alternativeDatabaseName");
} }
/** /**
@ -84,8 +84,8 @@ class DB {
*/ */
public static function connect($databaseConfig) { public static function connect($databaseConfig) {
// This is used by TestRunner::startsession() to test up a test session using an alt // This is used by TestRunner::startsession() to test up a test session using an alt
if(isset($_SESSION) && !empty($_SESSION['alternativeDatabaseName'])) { if($name = Session::get('alternativeDatabaseName')) {
$databaseConfig['database'] = $_SESSION['alternativeDatabaseName']; $databaseConfig['database'] = $name;
} }
if(!isset($databaseConfig['type']) || empty($databaseConfig['type'])) { if(!isset($databaseConfig['type']) || empty($databaseConfig['type'])) {