Index: admin/system_presets/simple/users_u.php =================================================================== --- admin/system_presets/simple/users_u.php (revision 14902) +++ admin/system_presets/simple/users_u.php (working copy) @@ -71,7 +71,7 @@ $hidden_fields = Array ( /* 'PortalUserId', 'Username', 'Password', 'FirstName','LastName', 'Company', 'Email', 'CreatedOn', 'Phone', 'Fax', 'Street', 'Street2', 'City', 'State' , 'Zip', 'Country', 'ResourceId', 'Status', - 'Modified', 'dob', 'tz',*/ 'IPAddress', /*'IsBanned', 'PwResetConfirm', 'PwRequestTime',*/ 'IPRestrictions', + 'Modified', 'dob',*/ 'TimeZone', 'IPAddress', /*'IsBanned', 'PwResetConfirm', 'PwRequestTime',*/ 'IPRestrictions', ); // virtual fields to hide Index: core/admin_templates/config/custom_variables.tpl =================================================================== --- core/admin_templates/config/custom_variables.tpl (revision 14952) +++ core/admin_templates/config/custom_variables.tpl (working copy) @@ -18,13 +18,11 @@ var $target = $( jq('#, #config[]') ); $target.hide().empty(); + $target.append(''); if ($timezone_group == '') { return ; } - else { - $target.append(''); - } for (var $i = 0; $i < $timezones[$timezone_group].length; $i++) { var $timezone = $timezones[$timezone_group][$i]; Index: core/admin_templates/incs/form_blocks.tpl =================================================================== --- core/admin_templates/incs/form_blocks.tpl (revision 14952) +++ core/admin_templates/incs/form_blocks.tpl (working copy) @@ -191,6 +191,90 @@ + + + + + + + +    + + + + + + Index: core/admin_templates/users/admins_edit.tpl =================================================================== --- core/admin_templates/users/admins_edit.tpl (revision 14952) +++ core/admin_templates/users/admins_edit.tpl (working copy) @@ -75,12 +75,14 @@ - + + + Index: core/admin_templates/users/users_edit.tpl =================================================================== --- core/admin_templates/users/users_edit.tpl (revision 14952) +++ core/admin_templates/users/users_edit.tpl (working copy) @@ -83,8 +83,9 @@ - + + @@ -93,6 +94,7 @@ + Index: core/install/english.lang =================================================================== --- core/install/english.lang (revision 14952) +++ core/install/english.lang (working copy) @@ -627,6 +627,7 @@ VGhvdXNhbmRzIFNlcGFyYXRvcg== VGltZSBGb3JtYXQ= VGltZW91dA== + VGltZSBab25l VGl0bGU= VG8= VG8gRS1tYWls Index: core/install/install_data.sql =================================================================== --- core/install/install_data.sql (revision 14952) +++ core/install/install_data.sql (working copy) @@ -947,7 +947,7 @@ INSERT INTO SearchConfig VALUES ('PortalUser', 'PortalUserId', -1, 0, 'lu_fielddesc_user_portaluserid', 'lu_field_portaluserid', 'In-Portal', 'la_text_user', 0, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO SearchConfig VALUES ('PortalUser', 'Username', -1, 0, 'lu_fielddesc_user_login', 'lu_field_login', 'In-Portal', 'la_text_user', 1, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO SearchConfig VALUES ('PortalUser', 'Password', -1, 0, 'lu_fielddesc_user_password', 'lu_field_password', 'In-Portal', 'la_text_user', 2, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('PortalUser', 'tz', -1, 0, 'lu_fielddesc_user_tz', 'lu_field_tz', 'In-Portal', 'la_text_user', 17, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO SearchConfig VALUES ('PortalUser', 'TimeZone', -1, 0, 'lu_fielddesc_user_tz', 'lu_field_tz', 'In-Portal', 'la_text_user', 17, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO SearchConfig VALUES ('PortalUser', 'dob', -1, 0, 'lu_fielddesc_user_dob', 'lu_field_dob', 'In-Portal', 'la_text_user', 16, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO SearchConfig VALUES ('PortalUser', 'Modified', -1, 0, 'lu_fielddesc_user_modified', 'lc_field_modified', 'In-Portal', 'la_text_user', 15, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO SearchConfig VALUES ('PortalUser', 'Status', -1, 0, 'lu_fielddesc_user_status', 'lc_field_status', 'In-Portal', 'la_text_user', 14, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); Index: core/install/install_schema.sql =================================================================== --- core/install/install_schema.sql (revision 14952) +++ core/install/install_schema.sql (working copy) @@ -263,7 +263,7 @@ `Status` tinyint(4) NOT NULL DEFAULT '1', Modified int(11) DEFAULT NULL, dob int(11) DEFAULT NULL, - tz int(11) DEFAULT NULL, + TimeZone varchar(255) NOT NULL DEFAULT '', IPAddress varchar(15) NOT NULL, IsBanned tinyint(1) NOT NULL DEFAULT '0', PwResetConfirm varchar(255) NOT NULL, Index: core/install/upgrades.sql =================================================================== --- core/install/upgrades.sql (revision 14952) +++ core/install/upgrades.sql (working copy) @@ -2493,3 +2493,9 @@ UPDATE ConfigurationValues SET DisplayOrder = DisplayOrder - 0.01 WHERE VariableName IN ('Search_MinKeyword_Length', 'ExcludeTemplateSectionsFromSearch'); + +UPDATE SearchConfig +SET FieldName = 'TimeZone' +WHERE FieldName = 'tz' AND TableName = 'PortalUser'; + +ALTER TABLE PortalUser CHANGE `tz` `TimeZone` VARCHAR(255) NOT NULL DEFAULT ''; \ No newline at end of file Index: core/kernel/application.php =================================================================== --- core/kernel/application.php (revision 14952) +++ core/kernel/application.php (working copy) @@ -1735,6 +1735,11 @@ // normal users + root $this->LoadPersistentVars(); } + + $user_timezone = $this->RecallVar('TimeZone'); + if ($user_timezone) { + putenv('TZ='.$user_timezone); + } } /** Index: core/units/helpers/user_helper.php =================================================================== --- core/units/helpers/user_helper.php (revision 14952) +++ core/units/helpers/user_helper.php (working copy) @@ -163,6 +163,7 @@ $groups = $this->Application->RecallVar('UserGroups'); $this->Application->Session->SetField('GroupId', reset( explode(',', $groups) )); $this->Application->Session->SetField('GroupList', $groups); + $this->Application->StoreVar('TimeZone', $object->GetDBField('TimeZone')); } $this->Application->LoadPersistentVars(); Index: core/units/users/users_config.php =================================================================== --- core/units/users/users_config.php (revision 14952) +++ core/units/users/users_config.php (working copy) @@ -384,7 +384,7 @@ ), 'Modified' => Array ('formatter' => 'kDateFormatter', 'default' => NULL), 'dob' => Array ('formatter' => 'kDateFormatter', 'default' => NULL), - 'tz' => Array ('default' => NULL), + 'TimeZone' => Array ('default' => ''), 'IPAddress' => Array ('default' => ''), 'IsBanned' => Array ('default' => 0), 'PwResetConfirm' => Array ('default' => ''), @@ -535,11 +535,12 @@ 'Status' => Array ('type' => 'int', 'not_null' => 1), 'Modified' => Array ('type' => 'int'), 'dob' => Array ('type' => 'int'), - 'tz' => Array ('type' => 'int'), + 'TimeZone' => Array ('type' => 'string', 'not_null' => 1), 'IPAddress' => Array ('type' => 'string', 'not_null' => 1), 'IsBanned' => Array ('type' => 'int', 'not_null' => 1), 'PwResetConfirm' => Array ('type' => 'string', 'not_null' => 1), 'PwRequestTime' => Array ('type' => 'int'), + 'FrontLanguage' => Array ('type' => 'int'), 'AdminLanguage' => Array ('type' => 'int'), 'DisplayToPublic' => Array ('type' => 'string'), 'UserType' => Array ('type' => 'int', 'not_null' => 1),