mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Replace web/lib/config.inc.php with an INI-style configuration file. This allows us to get rid of several globals and makes it easier to use the same configuration file in external scripts. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
41 lines
986 B
PHP
41 lines
986 B
PHP
<?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 {
|
|
$dsn_prefix = config_get('database', 'dsn_prefix');
|
|
$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');
|
|
|
|
$dsn = $dsn_prefix .
|
|
':host=' . $host .
|
|
';unix_socket=' . $socket .
|
|
';dbname=' . $name;
|
|
|
|
self::$dbh = new PDO($dsn, $user, $password);
|
|
self::$dbh->exec("SET NAMES 'utf8' COLLATE 'utf8_general_ci';");
|
|
} catch (PDOException $e) {
|
|
die('Error - Could not connect to AUR database');
|
|
}
|
|
}
|
|
|
|
return self::$dbh;
|
|
}
|
|
}
|