X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=initialize.php;h=5dcd6fffde274cb27359f164c10df1a6055a9c11;hb=c138ab042a599beb780895e5a5f54a1b287d67ae;hp=5f8a76037d2287fef1ea0ced46013606aa8660db;hpb=139889a67699143cce59a4f3136b3158058b9ce2;p=timetracker.git diff --git a/initialize.php b/initialize.php index 5f8a7603..5dcd6fff 100644 --- a/initialize.php +++ b/initialize.php @@ -74,7 +74,6 @@ $smarty = new Smarty; $smarty->use_sub_dirs = false; $smarty->template_dir = TEMPLATE_DIR; $smarty->compile_dir = TEMPLATE_DIR.'_c'; -$GLOBALS['SMARTY'] = &$smarty; // Note: these 3 settings below used to be in .htaccess file. Moved them here to eliminate "error 500" problems // with some shared hostings that do not have AllowOverride Options or AllowOverride All in their apache configurations. @@ -84,6 +83,12 @@ session_cache_expire(1); $phpsessid_ttl = defined('PHPSESSID_TTL') ? PHPSESSID_TTL : 60*60*24; // Set lifetime for garbage collection. ini_set('session.gc_maxlifetime', $phpsessid_ttl); +// Set PHP session path, if defined to avoid garbage collection interference from other scripts. +if (defined('PHP_SESSION_PATH')) { + ini_set('session.save_path', PHP_SESSION_PATH); + ini_set('session.gc_probability', 1); +} + // Set session cookie lifetime. session_set_cookie_params($phpsessid_ttl); if (isset($_COOKIE['tt_PHPSESSID'])) { @@ -120,10 +125,12 @@ define('TYPE_ALL', 0); // Time record can be specified with either duration or s define('TYPE_START_FINISH', 1); // Time record has start and finish times. define('TYPE_DURATION', 2); // Time record has only duration, no start and finish times. -// Definitions of types for uncompleted time entries. -define('ENTRIES_NONE', 0); // Do not show uncompleted time entries anywhere. -define('ENTRIES_USERS_PAGE', 1); // Show uncompleted time entries on the users page. - +// TODO: redesign of user rights and roles is currently ongoing. +// As we run our of bits for sure at some point, rights should be strings instead, +// for example: "data_entry". +// Also, we need rights editor page and team-customized roles. +// Move this stuff from here to ttUser class. +// // User access rights - bits that collectively define an access mask to the system (a role). // We'll have some bits here (1,2, etc...) reserved for future use. define('right_data_entry', 4); // Right to enter work hours and expenses. @@ -191,9 +198,13 @@ if (!$lang) { // Load i18n file. $i18n->load($lang); -$GLOBALS['I18N'] = &$i18n; -$GLOBALS['USER'] = &$user; +// Temporary code to assign role_id to users who don't yet have it. +if ($user->login && !$user->role_id) { + $user->migrateLegacyRole(); // Note: this requires initialized $i18n. + // Recycle User object, now with proper role_id. + $user = new ttUser(null, $auth->getUserId()); +} // Assign things for smarty to use in template files. $smarty->assign('i18n', $i18n->keys);