KaiRo bug 415 - Consolidate some more setup code into the utilities class
[authserver.git] / app / authsystem.inc.php
index d098af07e76c320a1a4c706b4da8ad813a634c6b..59d65cc4df0f04161fb1d9a3ac31d7ac090273b4 100644 (file)
@@ -18,32 +18,26 @@ $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',
-);
-
-$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);
+$utils->setUpL10n();
 
 // Sanitize settings.
 $settings['piwik_enabled'] = (@$settings['piwik_enabled']) ? true : false;
@@ -85,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();
 ?>