flash.moe/makai.php

56 lines
1.7 KiB
PHP
Raw Normal View History

2022-02-04 20:30:52 +00:00
<?php
namespace Makai;
2022-02-06 01:36:05 +00:00
use ErrorException;
2022-02-04 20:30:52 +00:00
use Index\Autoloader;
2022-02-05 03:35:42 +00:00
use Index\Data\ConnectionFailedException;
use Index\Data\MariaDB\MariaDBBackend;
use Index\Data\MariaDB\MariaDBConnectionInfo;
2022-02-06 01:36:05 +00:00
use Index\Data\NullDb\NullDbBackend;
use Index\Data\NullDb\NullDbConnectionInfo;
2022-02-04 20:30:52 +00:00
define('MKI_STARTUP', microtime(true));
define('MKI_ROOT', __DIR__);
define('MKI_DEBUG', is_file(MKI_ROOT . '/.debug'));
define('MKI_DIR_SRC', MKI_ROOT . '/src');
define('MKI_DIR_LIB', MKI_ROOT . '/lib');
define('MKI_DIR_PUB', MKI_ROOT . '/public');
2022-02-05 03:35:42 +00:00
define('MKI_DIR_PAGES', MKI_ROOT . '/pages');
2022-02-06 01:36:05 +00:00
define('MKI_DIR_CONFIG', MKI_ROOT . '/config');
2022-02-04 20:30:52 +00:00
if(MKI_DEBUG) {
ini_set('display_errors', 'on');
error_reporting(-1);
} else {
ini_set('display_errors', 'off');
error_reporting(0);
}
require_once MKI_DIR_LIB . '/index/index.php';
Autoloader::addNamespace(__NAMESPACE__, MKI_DIR_SRC);
2022-02-05 03:35:42 +00:00
try {
2022-02-06 01:36:05 +00:00
$dbConfig = parse_ini_file(MKI_DIR_CONFIG . DIRECTORY_SEPARATOR . 'database.ini');
} catch(ErrorException $ex) {
$dbConfig = null;
2022-02-05 03:35:42 +00:00
}
2022-02-06 01:36:05 +00:00
if(!empty($dbConfig))
try {
$db = (new MariaDBBackend)->createConnection(MariaDBConnectionInfo::create(
$dbConfig['host'] ?? '',
$dbConfig['user'] ?? '',
$dbConfig['pass'] ?? '',
$dbConfig['name'] ?? '',
$dbConfig['char'] ?? 'utf8mb4',
'SET SESSION time_zone = \'+00:00\', sql_mode = \'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION\'',
));
} catch(ConnectionFailedException $ex) {
//echo '<h3>Unable to connect to database</h3>';
//die($ex->getMessage());
}
if(empty($db))
$db = (new NullDbBackend)->createConnection(new NullDbConnectionInfo);