load config.php sooner

This commit is contained in:
Shish 2009-08-09 13:10:59 +01:00
parent d95855411d
commit 1e8e5adbbf
2 changed files with 36 additions and 41 deletions

View file

@ -222,53 +222,47 @@ class Database {
* stored in config.php in the root shimmie folder
*/
public function Database() {
if(is_readable("config.php")) {
require_once "config.php";
global $database_dsn;
if(substr($database_dsn, 0, 5) == "mysql") {
$this->engine = new MySQL();
}
else if(substr($database_dsn, 0, 5) == "pgsql") {
$this->engine = new PostgreSQL();
}
else if(substr($database_dsn, 0, 6) == "sqlite") {
$this->engine = new SQLite();
}
if(substr($database_dsn, 0, 5) == "mysql") {
$this->engine = new MySQL();
}
else if(substr($database_dsn, 0, 5) == "pgsql") {
$this->engine = new PostgreSQL();
}
else if(substr($database_dsn, 0, 6) == "sqlite") {
$this->engine = new SQLite();
}
$this->db = @NewADOConnection($database_dsn);
$this->db = @NewADOConnection($database_dsn);
if(isset($cache)) {
$matches = array();
preg_match("#(memcache)://(.*)#", $cache, $matches);
if($matches[1] == "memcache") {
$this->cache = new MemCache($matches[2]);
}
}
else {
$this->cache = new NoCache();
}
if($this->db) {
$this->db->SetFetchMode(ADODB_FETCH_ASSOC);
$this->engine->init($this->db);
}
else {
$version = VERSION;
print "
<html>
<head>
<title>Internal error - Shimmie-$version</title>
</head>
<body>
Internal error: Could not connect to database
</body>
</html>
";
exit;
if(isset($cache)) {
$matches = array();
preg_match("#(memcache)://(.*)#", $cache, $matches);
if($matches[1] == "memcache") {
$this->cache = new MemCache($matches[2]);
}
}
else {
header("Location: install.php");
$this->cache = new NoCache();
}
if($this->db) {
$this->db->SetFetchMode(ADODB_FETCH_ASSOC);
$this->engine->init($this->db);
}
else {
$version = VERSION;
print "
<html>
<head>
<title>Internal error - Shimmie-$version</title>
</head>
<body>
Internal error: Could not connect to database
</body>
</html>
";
exit;
}
}

View file

@ -61,6 +61,7 @@ if(!file_exists("config.php")) {
exit;
}
require_once "config.php";
require_once "core/util.inc.php";
_version_check();
_sanitise_environment();