blob: dfdbbf96a7d00b94e3549f464dcd951d018d39d4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<?php
include_once("confparser.inc.php");
class DB {
/**
* A database object
*/
private static $dbh = null;
/**
* Return an already existing database object or newly instantiated object
*
* @return \PDO A database connection using PDO
*/
public static function connect() {
if (self::$dbh === null) {
try {
$backend = config_get('database', 'backend');
$host = config_get('database', 'host');
$socket = config_get('database', 'socket');
$name = config_get('database', 'name');
$user = config_get('database', 'user');
$password = config_get('database', 'password');
if ($backend == "mysql") {
$dsn = $backend .
':host=' . $host .
';unix_socket=' . $socket .
';dbname=' . $name;
self::$dbh = new PDO($dsn, $user, $password);
self::$dbh->exec("SET NAMES 'utf8' COLLATE 'utf8_general_ci';");
} else if ($backend == "sqlite") {
$dsn = $backend .
":" . $name;
self::$dbh = new PDO($dsn, null, null);
} else {
die("Error - " . $backend . " is not supported by aurweb");
}
} catch (PDOException $e) {
die('Error - Could not connect to AUR database');
}
}
return self::$dbh;
}
}
|