X-Git-Url: https://git-public.kairo.at/?a=blobdiff_plain;ds=sidebyside;f=app%2Fauthsystem.inc.php;h=59d65cc4df0f04161fb1d9a3ac31d7ac090273b4;hb=74b24877f2b3e75aa00e7788b4ed23209e81991d;hp=39e43f00a2f6945ceda991dc532aa17c90ab1f19;hpb=4e765d998029d80d9fd78ce08671cee3f985438d;p=authserver.git diff --git a/app/authsystem.inc.php b/app/authsystem.inc.php index 39e43f0..59d65cc 100644 --- a/app/authsystem.inc.php +++ b/app/authsystem.inc.php @@ -18,32 +18,32 @@ $dbdata = json_decode(file_get_contents('/etc/kairo/auth_db.json'), true); if (!is_array($dbdata)) { trigger_error('DB configuration not found', E_USER_ERROR); } $settings = json_decode(file_get_contents('/etc/kairo/auth_settings.json'), true); if (!is_array($settings)) { trigger_error('Auth settings not found', E_USER_ERROR); } +$settings['dbdata'] = $dbdata; // Extended DOM document class -require_once('../php-utility-classes/classes/document.php-class'); -// Class for sending emails -require_once('../php-utility-classes/classes/email.php-class'); +require_once(__DIR__.'/../php-utility-classes/classes/document.php-class'); // Class for sending emails +require_once(__DIR__.'/../php-utility-classes/classes/email.php-class'); +// Composer-provided libraries (oauth2-server-php, doctrine DBAL) +require_once(__DIR__.'/../vendor/autoload.php'); +// Authentication utilities require_once(__DIR__.'/authutils.php-class'); +// Instantiate server utils. +try { + $utils = new AuthUtils($settings); + $db = $utils->db; +} +catch (Exception $e) { + $utils = null; +} -// Connect to our MySQL DB -$db = new PDO($dbdata['dsn'], $dbdata['username'], $dbdata['password']); -// Instantiate auth utils. -$utils = new AuthUtils($settings, $db); - -// This is an array of locale tags in browser style mapping to unix system locale codes to use with gettext. -$supported_locales = array( - 'en-US' => 'en_US', - 'de' => 'de_DE', -); +$utils->setUpL10n(); -$textdomain = 'kairo_auth'; -$textlocale = $utils->negotiateLocale(array_keys($supported_locales)); -putenv('LC_ALL='.$supported_locales[$textlocale]); -$selectedlocale = setlocale(LC_ALL, $supported_locales[$textlocale]); -bindtextdomain($textdomain, '../locale'); -bind_textdomain_codeset($textdomain, 'utf-8'); -textdomain($textdomain); +// Sanitize settings. +$settings['piwik_enabled'] = (@$settings['piwik_enabled']) ? true : false; +$settings['piwik_site_id'] = intval(@$settings['piwik_site_id']); +$settings['piwik_url'] = strlen(@$settings['piwik_url']) ? $settings['piwik_url'] : '/piwik/'; +$settings['piwik_tracker_path'] = strlen(@$settings['piwik_tracker_path']) ? $settings['piwik_tracker_path'] : '../vendor/piwik/piwik-php-tracker/'; /* Creating the DB tables: CREATE TABLE `auth_sessions` ( @@ -79,6 +79,6 @@ CREATE TABLE `auth_log` ( ); */ -// include our OAuth2 Server object -require_once(__DIR__.'/server.inc.php'); +// Set up our OAuth2 Server object +$server = $utils->getOAuthServer(); ?>