mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
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:
parent
574c53d5ba
commit
35da873ad9
@ -65,14 +65,14 @@ class DB {
|
||||
* Set it to null to revert to the main database.
|
||||
*/
|
||||
public static function set_alternative_database_name($dbname) {
|
||||
$_SESSION["alternativeDatabaseName"] = $dbname;
|
||||
Session::set("alternativeDatabaseName", $dbname);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the database in use
|
||||
*/
|
||||
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) {
|
||||
// This is used by TestRunner::startsession() to test up a test session using an alt
|
||||
if(isset($_SESSION) && !empty($_SESSION['alternativeDatabaseName'])) {
|
||||
$databaseConfig['database'] = $_SESSION['alternativeDatabaseName'];
|
||||
if($name = Session::get('alternativeDatabaseName')) {
|
||||
$databaseConfig['database'] = $name;
|
||||
}
|
||||
|
||||
if(!isset($databaseConfig['type']) || empty($databaseConfig['type'])) {
|
||||
|
Loading…
Reference in New Issue
Block a user