mince/mince.php
2022-07-03 22:07:00 +00:00

47 lines
1.4 KiB
PHP

<?php
namespace Mince;
use Index\Autoloader;
use Index\Environment;
use Index\Data\ConnectionFailedException;
use Index\Data\DbTools;
define('MCR_STARTUP', microtime(true));
define('MCR_ROOT', __DIR__);
define('MCR_DEBUG', is_file(MCR_ROOT . '/.debug'));
define('MCR_DIR_SRC', MCR_ROOT . '/src');
define('MCR_DIR_LIB', MCR_ROOT . '/lib');
define('MCR_DIR_PUB', MCR_ROOT . '/public');
define('MCR_DIR_PRV', MCR_ROOT . '/private');
define('MCR_DIR_CFG', MCR_ROOT . '/config');
require_once MCR_DIR_LIB . '/index/index.php';
Autoloader::addNamespace(__NAMESPACE__, MCR_DIR_SRC);
Environment::setDebug(MCR_DEBUG);
$config = parse_ini_file(MCR_DIR_CFG . '/config.ini');
if($config === false)
die('Config sux.');
try {
$db = DbTools::create($config['dsn']);
} catch(ConnectionFailedException $ex) {
echo '<h3>Unable to connect to database</h3>';
die($ex->getMessage());
}
Remote::setUrl($config['remote_url']);
Remote::setSecret($config['remote_secret']);
if(empty($_COOKIE['mc_random'])) {
$sVerification = Utils::generatePassKey(32);
setcookie('mc_random', $sVerification, strtotime('1 day'), '/', $_SERVER['HTTP_HOST']);
} else
$sVerification = (string)filter_input(INPUT_COOKIE, 'mc_random');
$sVerification = hash('sha256', $sVerification);
// replace this with id.flashii.net shit
$userInfo = ChatAuth::attempt($db, $config['chat_endpoint'], $config['chat_secret'], (string)filter_input(INPUT_COOKIE, 'msz_auth'));