if (!is_array($settings)) { trigger_error('Auth settings not found', E_USER_ERROR); }
// Extended DOM document class
-require_once('../kairo-utils/document.php-class');
+require_once(__DIR__.'/../php-utility-classes/classes/document.php-class');
// Class for sending emails
-require_once('../kairo-utils/email.php-class');
-// Class for sending emails
-require_once(__DIR__.'/authutils.php-class');
-
+require_once(__DIR__.'/../php-utility-classes/classes/email.php-class');
+// Composer-provided libraries (oauth2-server-php, doctrine DBAL)
+require_once(__DIR__.'/../vendor/autoload.php');
// Connect to our MySQL DB
$db = new PDO($dbdata['dsn'], $dbdata['username'], $dbdata['password']);
-// Instantiate auth utils.
-$utils = new AuthUtils($settings, $db);
+// Authentication utilities
+require_once(__DIR__.'/authutils.php-class');
+// Instantiate server utils.
+try {
+ $utils = new AuthUtils($settings, $db);
+}
+catch (Exception $e) {
+ $utils = null;
+}
+
+// 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('en', 'de'));
-putenv('LC_ALL='.$textlocale);
+$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` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT ,